/* PLAYDESIRE.ai 角色系统：Sakura Mizuno。由 packages/design-system/scripts/build.ts 生成。 */
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("../fonts/m-plus-rounded-1c-latin-500-normal.9a7980fa96.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/m-plus-rounded-1c-latin-700-normal.1688f14412.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("../fonts/m-plus-rounded-1c-latin-800-normal.69a2ee93cd.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("../fonts/m-plus-rounded-1c-latin-ext-500-normal.a6a6c4889b.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/m-plus-rounded-1c-latin-ext-700-normal.eeea363aad.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "M PLUS Rounded 1c";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("../fonts/m-plus-rounded-1c-latin-ext-800-normal.0c04adc9b6.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/nunito-latin-400-normal.a5906e15ce.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/nunito-latin-600-normal.45f437de32.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/nunito-latin-700-normal.fa89300b9b.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/nunito-latin-ext-400-normal.67250a41de.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/nunito-latin-ext-600-normal.a7ba5f4fa4.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/nunito-latin-ext-700-normal.0a4e4a02e1.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/nunito-cyrillic-400-normal.e44e669fac.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/nunito-cyrillic-600-normal.e61eb97bb5.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/nunito-cyrillic-700-normal.8fcefcc970.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/nunito-vietnamese-400-normal.2a75561626.woff2") format("woff2");
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/nunito-vietnamese-600-normal.cf95b95d71.woff2") format("woff2");
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/nunito-vietnamese-700-normal.0e29c28c9a.woff2") format("woff2");
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
  font-family: "Yomogi";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/yomogi-latin-400-normal.d45d8563b3.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Yomogi";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/yomogi-latin-ext-400-normal.fcc07e52b1.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root[data-character="sakura"],
[data-character="sakura"] {
  color-scheme: dark;
  --color-void: #15131F;
  --color-bg: #1C1A2B;
  --color-surface: #262338;
  --color-raised: #312C48;
  --color-border: #4A4268;
  --color-control: #4A4268;
  --color-text: #F7F2FB;
  --color-text-secondary: #D3CAE6;
  --color-text-tertiary: #A096BC;
  --color-muted: #A096BC;
  --color-primary: #B9A6F0;
  --color-primary-hover: #C9B9F6;
  --color-primary-pressed: #A08CDF;
  --color-primary-text: #B9A6F0;
  --color-on-primary: #1E1733;
  --color-primary-tint: rgba(185, 166, 240, 0.16);
  --color-primary-line: rgba(185, 166, 240, 0.55);
  --color-primary-deep: #6E5BB0;
  --color-primary-rim: #8F7ACF;
  --color-focus-ring: #E2D8FF;
  --color-scrim: rgba(21, 19, 31, 0.82);
  --font-display: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Arial Rounded MT Bold", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
  --font-sans: "Nunito", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
  --font-signature: "Yomogi", "Segoe Print", cursive;
  --text-caption: 12px;
  --text-label: 14px;
  --text-body: 16px;
  --text-lead: 18px;
  --text-heading: 28px;
  --text-title: 36px;
  --text-display: 54px;
  --text-signature: 34px;
  --leading-heading: 1.06;
  --leading-ui: 1.3;
  --leading-body: 1.55;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-bubble: 20px;
  --shadow-lift: 0 2px 6px rgba(10, 6, 24, 0.35);
  --shadow-float: 0 8px 24px rgba(10, 6, 24, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --shadow-modal: 0 18px 48px rgba(10, 6, 24, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --border-width: 2px;
  --heading-weight: 800;
  --heading-tracking: 0.02em;
  --heading-case: none;
  --label-weight: 700;
  --label-tracking: 0.12em;
  --label-case: uppercase;
  --signature-ink: #F0628F;
  --signature-rotate: -6deg;
  --color-background: var(--color-bg);
  --color-foreground: var(--color-text);
  --color-card: var(--color-surface);
  --color-card-foreground: var(--color-text);
  --color-popover: var(--color-surface);
  --color-popover-foreground: var(--color-text);
  --color-primary-foreground: var(--color-on-primary);
  --color-secondary: var(--color-surface);
  --color-secondary-foreground: var(--color-text);
  --color-muted-foreground: var(--color-text-secondary);
  --color-accent-foreground: var(--color-on-accent);
  --color-destructive-foreground: var(--color-bg);
  --color-input: var(--color-control);
  --color-ring: var(--color-primary);
  --color-primary-20: color-mix(in srgb, var(--color-primary) 20%, transparent);
  --color-primary-40: color-mix(in srgb, var(--color-primary) 40%, transparent);
  --color-accent-20: color-mix(in srgb, var(--color-accent) 20%, transparent);
  --color-accent-40: color-mix(in srgb, var(--color-accent) 40%, transparent);
  --color-surface-80: color-mix(in srgb, var(--color-surface) 80%, transparent);
  --background: var(--color-bg);
  --foreground: var(--color-text);
  --card: var(--color-surface);
  --card-foreground: var(--color-text);
  --popover: var(--color-surface);
  --popover-foreground: var(--color-text);
  --primary: var(--color-primary);
  --primary-foreground: var(--color-on-primary);
  --secondary: var(--color-surface);
  --secondary-foreground: var(--color-text);
  --muted: var(--color-surface);
  --muted-foreground: var(--color-text-secondary);
  --accent: var(--color-accent);
  --accent-foreground: var(--color-on-accent);
  --destructive: var(--color-destructive);
  --destructive-foreground: var(--color-bg);
  --border: var(--color-border);
  --input: var(--color-control);
  --ring: var(--color-primary);
  --radius: var(--radius-md);
  --label-font: var(--font-display);
}
