/* 雪巷 · 五周年 —— v27 设计令牌（DESIGN.md 详述）。
   气质：温柔安静的冬日纪念册。留白、细线、克制的小装饰；不用大色块与廉价渐变。
   颜色由 mood-tokens.js 按 palette.js（黄昏 / 雪夜 + 世界暖偏移）写入 :root；这里是静态默认值（黄昏）。
   字体：霞鹜文楷（叙事 / 标题）与思源黑体 Noto Sans SC（正文 / 按键），均为 OFL 1.1，按游戏实际用字子集化（assets/ui/fonts/）。 */
@font-face{font-family:"Snowtown WenKai";src:url("../../../assets/ui/fonts/lxgw-wenkai-subset.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Snowtown WenKai";src:url("../../../assets/ui/fonts/lxgw-wenkai-medium-subset.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Snowtown Sans";src:url("../../../assets/ui/fonts/noto-sans-sc-400-subset.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Snowtown Sans";src:url("../../../assets/ui/fonts/noto-sans-sc-500-subset.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}

:root{
 /* —— 字体 */
 --font-story:"Snowtown WenKai","LXGW WenKai","LXGW WenKai Screen","Kaiti SC","STKaiti",serif;
 --font-ui:"Snowtown Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
 /* —— 字号阶梯（1280×720 基准；≥1600 宽时整体 ×1.125，见底部） */
 --fs-micro:11px;--fs-caption:12px;--fs-body:13px;--fs-ui:15px;--fs-lead:18px;--fs-title:22px;--fs-display:32px;--fs-hero:44px;
 --lh-tight:1.25;--lh-body:1.6;--lh-story:1.75;
 --track-label:.32em;--track-title:.16em;--track-story:.06em;
 /* —— 间距（4 / 8 网格） */
 --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;
 --edge:24px; /* 屏幕安全边距 */
 /* —— 圆角 / 描边 */
 --r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;
 --hair:1px;
 /* —— 颜色（黄昏默认；mood-tokens.js 覆盖） */
 --c-ink:#f7f0e3;            /* 主文字：暖象牙 */
 --c-ink-2:#e2d6c4;          /* 次级文字（≥4.5:1 于 glass） */
 --c-ink-3:#b7aa98;          /* 辅助 / 禁用说明（≥3:1 于 glass，仅用于 ≥12px 非关键信息） */
 --c-accent:#ffcf9e;         /* = palette.highlightWarm */
 --c-accent-ink:#ffdcb5;     /* 文字用强调色（更亮，保证对比） */
 --c-accent-rgb:255,207,158;
 --c-cool:#a9a6e0;           /* = palette.shadowCool 提亮，用于冷色点缀（雪 / 锁） */
 --c-glass:rgba(30,26,44,.74);      /* 卡片底：shadowCool 压暗 */
 --c-glass-strong:rgba(24,21,36,.9);
 --c-glass-soft:rgba(30,26,44,.46);
 --c-scrim:rgba(14,12,22,.56);      /* 全屏遮罩 */
 --c-line:rgba(255,207,158,.34);    /* 金色细线 */
 --c-line-soft:rgba(247,240,227,.14);
 --c-line-strong:rgba(255,207,158,.62);
 --c-glow:rgba(255,207,158,.30);
 --c-success:#cfe3b8;
 --c-disabled:rgba(247,240,227,.38);
 /* —— 阴影 / 层级（z） */
 --shadow-1:0 1px 0 rgba(255,255,255,.06) inset,0 6px 18px rgba(8,6,16,.28);
 --shadow-2:0 1px 0 rgba(255,255,255,.07) inset,0 18px 48px rgba(8,6,16,.42);
 --text-shadow:0 1px 2px rgba(8,6,16,.55),0 0 12px rgba(8,6,16,.35);
 --blur-1:blur(10px) saturate(1.15);
 --blur-2:blur(18px) saturate(1.1);
 --z-world:20;--z-hud:30;--z-panel:40;--z-overlay:60;--z-card:70;--z-loading:90;
 /* —— 动效：三档时长 + 三条缓动 */
 --t-fast:140ms;--t-base:280ms;--t-slow:700ms;
 --ease-out:cubic-bezier(.2,.8,.2,1);     /* 进入 */
 --ease-in:cubic-bezier(.4,0,1,1);        /* 退出 */
 --ease-soft:cubic-bezier(.34,1.32,.64,1);/* 强调（轻微回弹） */
 --dist:8px;                              /* 进入位移（减少动态时为 0） */
}
:root[data-mood="night"]{
 --c-ink:#f3f1ec;--c-ink-2:#d9dbe6;--c-ink-3:#a8adc2;
 --c-accent:#ffd2a0;--c-accent-ink:#ffe0bd;--c-accent-rgb:255,210,160;--c-cool:#b9c6ff;
 --c-glass:rgba(13,19,38,.76);--c-glass-strong:rgba(10,15,30,.92);--c-glass-soft:rgba(13,19,38,.48);--c-scrim:rgba(6,9,20,.6);
 --c-line:rgba(255,210,160,.32);--c-line-soft:rgba(220,228,255,.14);--c-line-strong:rgba(255,210,160,.6);--c-glow:rgba(255,210,160,.26);
}
/* 减少动态：无位移、无缩放，只保留 ≤120ms 的透明度渐变 */
:root[data-reduced-motion]{--t-fast:80ms;--t-base:120ms;--t-slow:120ms;--dist:0px}
:root[data-reduced-motion] .ui-anim,:root[data-reduced-motion] [class^="ui-"],:root[data-reduced-motion] [class*=" ui-"]{animation-duration:120ms!important;animation-iteration-count:1!important}
/* 低画质：不用 backdrop-filter，回退为更实的底色 */
:root[data-quality="low"]{--blur-1:none;--blur-2:none;--c-glass:rgba(30,26,44,.9);--c-glass-soft:rgba(30,26,44,.78)}
:root[data-quality="low"][data-mood="night"]{--c-glass:rgba(13,19,38,.92);--c-glass-soft:rgba(13,19,38,.8)}
@media (min-width:1600px){:root{--fs-micro:12px;--fs-caption:13px;--fs-body:14px;--fs-ui:16px;--fs-lead:20px;--fs-title:24px;--fs-display:36px;--fs-hero:50px;--edge:32px}}
@media (max-width:900px){:root{--edge:16px}}
