{
  "$description": "CashPlan brand tokens v1.0 (2026-10-21). Format: W3C Design Tokens (DTCG) style. Source of truth for web (CSS vars), app, admin and email (use hex values directly in email).",
  "color": {
    "brand": {
      "green": {
        "$type": "color",
        "$value": "#09CC7C",
        "$description": "캐시 그린. 심볼 잎, 주 버튼 바탕(글자는 ink), 큰 면. 흰 바탕 위 글자·아이콘 색으로 쓰지 않는다(2.11:1)."
      },
      "green-deep": {
        "$type": "color",
        "$value": "#057A4B",
        "$description": "흰 바탕 위 초록 글자·링크·선택 표시(5.40:1). 흰 글자 버튼 바탕(5.40:1)."
      },
      "green-tint": {
        "$type": "color",
        "$value": "#E8F8F0",
        "$description": "초록 강조 면(무료 포인트 상자, 선택된 카드 바탕)."
      },
      "ink": {
        "$type": "color",
        "$value": "#0C1A14",
        "$description": "먹색. 본문 글자, 심볼 고리, 어두운 면."
      },
      "paper": {
        "$type": "color",
        "$value": "#F1F6F3",
        "$description": "어두운 바탕 위 심볼 고리·워드마크."
      },
      "gold": {
        "$type": "color",
        "$value": "#FFC93C",
        "$description": "포인트 골드. 유저 앱의 포인트·코인 표시에만. 버튼·링크에 쓰지 않는다."
      }
    },
    "gray": {
      "0": {
        "$type": "color",
        "$value": "#FFFFFF"
      },
      "50": {
        "$type": "color",
        "$value": "#F5F7F6"
      },
      "100": {
        "$type": "color",
        "$value": "#EDF1EF"
      },
      "200": {
        "$type": "color",
        "$value": "#DDE3E0"
      },
      "300": {
        "$type": "color",
        "$value": "#C3CCC8"
      },
      "400": {
        "$type": "color",
        "$value": "#98A39E"
      },
      "500": {
        "$type": "color",
        "$value": "#687470"
      },
      "600": {
        "$type": "color",
        "$value": "#5E6A65"
      },
      "700": {
        "$type": "color",
        "$value": "#37413D"
      },
      "800": {
        "$type": "color",
        "$value": "#222B27"
      },
      "900": {
        "$type": "color",
        "$value": "#0C1A14"
      }
    },
    "status": {
      "success": {
        "$type": "color",
        "$value": "#057A4B"
      },
      "success-bg": {
        "$type": "color",
        "$value": "#E8F8F0"
      },
      "warning": {
        "$type": "color",
        "$value": "#A15C00"
      },
      "warning-bg": {
        "$type": "color",
        "$value": "#FFF4D6"
      },
      "danger": {
        "$type": "color",
        "$value": "#C4261B"
      },
      "danger-bg": {
        "$type": "color",
        "$value": "#FDECEA"
      },
      "info": {
        "$type": "color",
        "$value": "#2563EB"
      },
      "info-bg": {
        "$type": "color",
        "$value": "#EAF1FE"
      }
    }
  },
  "theme": {
    "light": {
      "bg": {
        "$type": "color",
        "$value": "#FFFFFF"
      },
      "surface": {
        "$type": "color",
        "$value": "#F5F7F6"
      },
      "card": {
        "$type": "color",
        "$value": "#FFFFFF"
      },
      "text": {
        "$type": "color",
        "$value": "#0C1A14"
      },
      "text-sub": {
        "$type": "color",
        "$value": "#5E6A65"
      },
      "text-faint": {
        "$type": "color",
        "$value": "#687470",
        "$description": "placeholder·비활성. 본문에 쓰지 않는다(4.86:1)."
      },
      "line": {
        "$type": "color",
        "$value": "#DDE3E0"
      },
      "line-strong": {
        "$type": "color",
        "$value": "#C3CCC8"
      },
      "accent": {
        "$type": "color",
        "$value": "#09CC7C"
      },
      "accent-text": {
        "$type": "color",
        "$value": "#057A4B"
      },
      "on-accent": {
        "$type": "color",
        "$value": "#0C1A14"
      },
      "accent-tint": {
        "$type": "color",
        "$value": "#E8F8F0"
      },
      "focus": {
        "$type": "color",
        "$value": "#057A4B"
      },
      "success": {
        "$type": "color",
        "$value": "#057A4B"
      },
      "success-bg": {
        "$type": "color",
        "$value": "#E8F8F0"
      },
      "warning": {
        "$type": "color",
        "$value": "#A15C00"
      },
      "warning-bg": {
        "$type": "color",
        "$value": "#FFF4D6"
      },
      "danger": {
        "$type": "color",
        "$value": "#C4261B"
      },
      "danger-bg": {
        "$type": "color",
        "$value": "#FDECEA"
      },
      "info": {
        "$type": "color",
        "$value": "#2563EB"
      },
      "info-bg": {
        "$type": "color",
        "$value": "#EAF1FE"
      }
    },
    "dark": {
      "bg": {
        "$type": "color",
        "$value": "#0A120E"
      },
      "surface": {
        "$type": "color",
        "$value": "#111B16"
      },
      "card": {
        "$type": "color",
        "$value": "#17231D"
      },
      "text": {
        "$type": "color",
        "$value": "#EEF4F1"
      },
      "text-sub": {
        "$type": "color",
        "$value": "#A3B1AA"
      },
      "text-faint": {
        "$type": "color",
        "$value": "#7C8883"
      },
      "line": {
        "$type": "color",
        "$value": "#24302A"
      },
      "line-strong": {
        "$type": "color",
        "$value": "#34423B"
      },
      "accent": {
        "$type": "color",
        "$value": "#2BDB92"
      },
      "accent-text": {
        "$type": "color",
        "$value": "#4BE3A4"
      },
      "on-accent": {
        "$type": "color",
        "$value": "#0C1A14"
      },
      "accent-tint": {
        "$type": "color",
        "$value": "#12301F"
      },
      "focus": {
        "$type": "color",
        "$value": "#4BE3A4"
      },
      "success": {
        "$type": "color",
        "$value": "#4BE3A4"
      },
      "success-bg": {
        "$type": "color",
        "$value": "#12301F"
      },
      "warning": {
        "$type": "color",
        "$value": "#FBBF24"
      },
      "warning-bg": {
        "$type": "color",
        "$value": "#2E2410"
      },
      "danger": {
        "$type": "color",
        "$value": "#F87171"
      },
      "danger-bg": {
        "$type": "color",
        "$value": "#331614"
      },
      "info": {
        "$type": "color",
        "$value": "#60A5FA"
      },
      "info-bg": {
        "$type": "color",
        "$value": "#142338"
      }
    }
  },
  "font": {
    "family": {
      "$type": "fontFamily",
      "$value": [
        "Pretendard Variable",
        "Pretendard",
        "-apple-system",
        "BlinkMacSystemFont",
        "Apple SD Gothic Neo",
        "Noto Sans KR",
        "sans-serif"
      ]
    },
    "weight": {
      "regular": {
        "$type": "fontWeight",
        "$value": 400
      },
      "medium": {
        "$type": "fontWeight",
        "$value": 500
      },
      "semibold": {
        "$type": "fontWeight",
        "$value": 600
      },
      "bold": {
        "$type": "fontWeight",
        "$value": 700
      },
      "heavy": {
        "$type": "fontWeight",
        "$value": 800
      }
    }
  },
  "type": {
    "display": {
      "$type": "typography",
      "$value": {
        "fontSize": "56px",
        "lineHeight": 1.15,
        "fontWeight": 800,
        "letterSpacing": "-0.035em"
      },
      "$description": "PC 랜딩 첫 화면 제목. 모바일 36px."
    },
    "h1": {
      "$type": "typography",
      "$value": {
        "fontSize": "40px",
        "lineHeight": 1.2,
        "fontWeight": 800,
        "letterSpacing": "-0.03em"
      },
      "$description": "모바일 28px."
    },
    "h2": {
      "$type": "typography",
      "$value": {
        "fontSize": "28px",
        "lineHeight": 1.3,
        "fontWeight": 700,
        "letterSpacing": "-0.025em"
      }
    },
    "h3": {
      "$type": "typography",
      "$value": {
        "fontSize": "20px",
        "lineHeight": 1.4,
        "fontWeight": 700,
        "letterSpacing": "-0.02em"
      }
    },
    "body-lg": {
      "$type": "typography",
      "$value": {
        "fontSize": "18px",
        "lineHeight": 1.6,
        "fontWeight": 400,
        "letterSpacing": "-0.01em"
      }
    },
    "body": {
      "$type": "typography",
      "$value": {
        "fontSize": "16px",
        "lineHeight": 1.6,
        "fontWeight": 400,
        "letterSpacing": "-0.01em"
      }
    },
    "label": {
      "$type": "typography",
      "$value": {
        "fontSize": "14px",
        "lineHeight": 1.45,
        "fontWeight": 600,
        "letterSpacing": "-0.01em"
      }
    },
    "small": {
      "$type": "typography",
      "$value": {
        "fontSize": "14px",
        "lineHeight": 1.5,
        "fontWeight": 400,
        "letterSpacing": "-0.005em"
      }
    },
    "caption": {
      "$type": "typography",
      "$value": {
        "fontSize": "12px",
        "lineHeight": 1.5,
        "fontWeight": 500,
        "letterSpacing": "0"
      }
    },
    "number": {
      "$type": "typography",
      "$value": {
        "fontSize": "inherit",
        "fontWeight": 700,
        "fontFeature": "tnum"
      },
      "$description": "금액·건수·포인트는 tabular 숫자."
    }
  },
  "space": {
    "1": {
      "$type": "dimension",
      "$value": "4px"
    },
    "2": {
      "$type": "dimension",
      "$value": "8px"
    },
    "3": {
      "$type": "dimension",
      "$value": "12px"
    },
    "4": {
      "$type": "dimension",
      "$value": "16px"
    },
    "5": {
      "$type": "dimension",
      "$value": "20px"
    },
    "6": {
      "$type": "dimension",
      "$value": "24px"
    },
    "8": {
      "$type": "dimension",
      "$value": "32px"
    },
    "10": {
      "$type": "dimension",
      "$value": "40px"
    },
    "14": {
      "$type": "dimension",
      "$value": "56px"
    },
    "18": {
      "$type": "dimension",
      "$value": "72px"
    },
    "24": {
      "$type": "dimension",
      "$value": "96px"
    },
    "32": {
      "$type": "dimension",
      "$value": "128px"
    }
  },
  "radius": {
    "xs": {
      "$type": "dimension",
      "$value": "6px",
      "$description": "배지·칩"
    },
    "sm": {
      "$type": "dimension",
      "$value": "8px",
      "$description": "작은 버튼·체크박스 묶음"
    },
    "md": {
      "$type": "dimension",
      "$value": "12px",
      "$description": "버튼·입력칸"
    },
    "lg": {
      "$type": "dimension",
      "$value": "16px",
      "$description": "카드"
    },
    "xl": {
      "$type": "dimension",
      "$value": "24px",
      "$description": "큰 패널·모달·폰 목업"
    },
    "icon": {
      "$type": "dimension",
      "$value": "22.37%",
      "$description": "앱 아이콘 모서리(변 길이 대비)"
    }
  },
  "shadow": {
    "sm": {
      "$type": "shadow",
      "$value": "0 1px 2px rgba(12,26,20,0.06), 0 1px 1px rgba(12,26,20,0.04)"
    },
    "md": {
      "$type": "shadow",
      "$value": "0 4px 12px -2px rgba(12,26,20,0.08), 0 2px 4px rgba(12,26,20,0.04)"
    },
    "lg": {
      "$type": "shadow",
      "$value": "0 18px 40px -12px rgba(12,26,20,0.18), 0 4px 10px rgba(12,26,20,0.05)"
    },
    "focus": {
      "$type": "shadow",
      "$value": "0 0 0 3px rgba(9,204,124,0.35)"
    }
  },
  "motion": {
    "duration": {
      "micro": {
        "$type": "duration",
        "$value": "120ms",
        "$description": "누름·호버"
      },
      "ui": {
        "$type": "duration",
        "$value": "200ms",
        "$description": "열기·닫기·탭 전환"
      },
      "enter": {
        "$type": "duration",
        "$value": "320ms",
        "$description": "화면 요소 등장"
      },
      "brand": {
        "$type": "duration",
        "$value": "900ms",
        "$description": "심볼 등장·포인트 적립 같은 브랜드 순간. 한 화면에 하나"
      }
    },
    "easing": {
      "out": {
        "$type": "cubicBezier",
        "$value": [
          0.2,
          0.8,
          0.2,
          1
        ]
      },
      "in-out": {
        "$type": "cubicBezier",
        "$value": [
          0.65,
          0,
          0.35,
          1
        ]
      },
      "sprout": {
        "$type": "cubicBezier",
        "$value": [
          0.34,
          1.56,
          0.64,
          1
        ],
        "$description": "잎이 돋는 순간에만. 다른 곳에 쓰지 않는다"
      }
    },
    "stagger": {
      "$type": "duration",
      "$value": "60ms"
    }
  },
  "logo": {
    "x-unit": {
      "$description": "x = 심볼 고리 두께 = 심볼 높이 × 0.237"
    },
    "clear-space": {
      "$description": "로고 네 변 1x"
    },
    "min-size": {
      "$description": "가로 로고 화면 높이 20px(인쇄 6mm). 심볼만 16px. 그보다 작으면 파비콘 판"
    }
  }
}