
/* ==========================================================================
   AURELIA POKER — "NOIR CONSOLE" redesign
   --------------------------------------------------------------------------
   One clean design system replacing the legacy layered CSS.
   Contract preserved:
   · every id/class/data-attribute the runtime JS queries or toggles
   · CSS vars set from JS: --font-scale, --bg-image, --bg-dim, --bg-blur,
     --custom-bg-image, --raise-progress, --pause-button-top,
     --drawer-drag-y, --drawer-preopen-y, --drawer-preopen-opacity,
     --seat-name-color, --story-player-name-color, --relation-panel-*,
     --dialogue-width
   · themes: body[data-theme=midnight|royal|tavern|harbor|carbon]
   · breakpoints mirrored from JS: ≤1000px drawer/rail, ≤700px phone,
     ≤960px coarse-pointer, landscape phones
   ========================================================================== */

/* ---------- self-hosted fonts (no external requests; latin/digits only, ----
   CJK falls through to the system stack exactly as with the old @import) ---- */
@font-face{
  font-family:'Chakra Petch';font-style:normal;font-weight:500;font-display:swap;
  src:url(../../data/fonts/chakra-petch-500.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:'Chakra Petch';font-style:normal;font-weight:600;font-display:swap;
  src:url(../../data/fonts/chakra-petch-600.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:'Chakra Petch';font-style:normal;font-weight:700;font-display:swap;
  src:url(../../data/fonts/chakra-petch-700.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:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;
  src:url(../../data/fonts/manrope-var.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;
}

/* ---------- design tokens ------------------------------------------------ */
:root{
  --font-scale:1;
  /* 电脑端字体放大时固定像素布局（侧栏/座位卡/操作台列）同步加宽，
     避免“标准”以上字号显示不全；紧凑(≤1)与手机端恒为 1，版式不变 */
  --ui-widen:1;

  /* type */
  --font-ui:"Manrope","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --font-display:"Chakra Petch","Manrope","PingFang SC","Microsoft YaHei",sans-serif;
  --font-num:"Chakra Petch","Manrope","PingFang SC","Microsoft YaHei",sans-serif;

  /* ink & surfaces (theme-independent skeleton) */
  --ink-0:#06080b;
  --ink-1:#0a0d12;
  --ink-2:#10141b;
  --ink-3:#161b24;
  --ink-4:#1d2430;
  --panel:rgba(16,20,27,.86);
  --panel-solid:#10141b;
  --panel-2:rgba(24,30,40,.72);
  --glass:blur(14px) saturate(1.25);

  --line-1:rgba(255,255,255,.065);
  --line-2:rgba(255,255,255,.115);
  --line-3:rgba(255,255,255,.20);

  --tx-1:#eef2f6;
  --tx-2:#a5b0bd;
  --tx-3:#69748a;
  --tx-on-accent:#131720;

  /* semantic actions — constant across themes for a stable muscle memory */
  --gold:#edae49;
  --gold-deep:#c8892c;
  --gold-soft:rgba(237,174,73,.14);
  --red:#e05863;
  --red-deep:#b03a45;
  --red-soft:rgba(224,88,99,.13);
  --green:#2fb579;
  --green-deep:#1d8a5c;
  --green-soft:rgba(47,181,121,.14);
  --blue:#62a9e8;
  --blue-soft:rgba(98,169,232,.13);
  --live:#ffd166;

  /* theme accent (overridden per theme below) */
  --accent:#b7c68a;
  --accent-2:#7c8b58;
  --accent-soft:rgba(183,198,138,.13);
  --accent-line:rgba(183,198,138,.45);
  --accent-glow:rgba(183,198,138,.22);
  --on-accent:#15200d;

  /* felt */
  --felt-1:#2c5a46;
  --felt-2:#12281f;
  --felt-rim:#4a3a24;

  /* environment background artwork */
  --custom-bg-image:none;
  --theme-bg-image-desktop:url("../../data/bg/midnight-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/midnight-portrait.webp?v=release1-bg1");
  --active-bg-image:var(--theme-bg-image-desktop);
  --active-bg-position:center center;
  --bg-image:var(--active-bg-image);
  --bg-dim:.62;
  /* 背景遮罩设置只驱动区域底衬（顶栏/座位栏/信息卡等）的磨砂浓度：
     各表面 alpha = 原始值 × scrim-scale，默认 .58 时保持原样，0 时完全透明 */
  --scrim-scale:calc(var(--bg-dim) * 1.724);
  --bg-blur:0px;
  --overlay-rgb:5,6,9;

  /* shape & depth */
  --r-lg:22px;
  --r-md:16px;
  --r-sm:11px;
  --r-xs:8px;
  --shadow-1:0 10px 30px rgba(0,0,0,.34);
  --shadow-2:0 24px 70px rgba(0,0,0,.5);
  --shadow-pop:0 40px 110px rgba(0,0,0,.62);

  /* motion */
  --ease-out:cubic-bezier(.22,.9,.3,1);
  --ease-spring:cubic-bezier(.34,1.45,.44,1);
  --t-fast:.14s;
  --t-med:.24s;

  color-scheme:dark;
}

/* ---------- theme palettes (re-tint accent + felt + artwork) ------------- */
body[data-theme="midnight"]{
  --accent:#b7c68a;--accent-2:#7c8b58;--accent-soft:rgba(183,198,138,.13);
  --accent-line:rgba(183,198,138,.45);--accent-glow:rgba(183,198,138,.22);--on-accent:#15200d;
  --felt-1:#55623c;--felt-2:#232a17;--felt-rim:#6f4e2a;
  --theme-bg-image-desktop:url("../../data/bg/midnight-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/midnight-portrait.webp?v=release1-bg1");
  --overlay-rgb:5,4,2;
}
body[data-theme="royal"]{
  --accent:#d08a80;--accent-2:#8a4a44;--accent-soft:rgba(208,138,128,.13);
  --accent-line:rgba(208,138,128,.48);--accent-glow:rgba(208,138,128,.22);--on-accent:#240e10;
  --felt-1:#723136;--felt-2:#331619;--felt-rim:#a7814c;
  --theme-bg-image-desktop:url("../../data/bg/royal-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/royal-portrait.webp?v=release1-bg1");
  --overlay-rgb:10,4,5;
}
body[data-theme="tavern"]{
  --accent:#e2a15a;--accent-2:#9b4d24;--accent-soft:rgba(226,161,90,.13);
  --accent-line:rgba(226,161,90,.48);--accent-glow:rgba(226,161,90,.22);--on-accent:#2a1205;
  --felt-1:#9a4626;--felt-2:#421a0e;--felt-rim:#7f4d28;
  --theme-bg-image-desktop:url("../../data/bg/tavern-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/tavern-portrait.webp?v=release1-bg1");
  --overlay-rgb:12,5,2;
}
body[data-theme="harbor"]{
  --accent:#5cc6d4;--accent-2:#2389a8;--accent-soft:rgba(92,198,212,.13);
  --accent-line:rgba(92,198,212,.48);--accent-glow:rgba(92,198,212,.22);--on-accent:#052126;
  --felt-1:#0f7a88;--felt-2:#073f4a;--felt-rim:#9b663c;
  --theme-bg-image-desktop:url("../../data/bg/harbor-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/harbor-portrait.webp?v=release1-bg1");
  --overlay-rgb:2,7,15;
}
body[data-theme="carbon"]{
  --accent:#aebcf0;--accent-2:#7788b2;--accent-soft:rgba(174,188,240,.12);
  --accent-line:rgba(174,188,240,.45);--accent-glow:rgba(174,188,240,.2);--on-accent:#0b1020;
  --felt-1:#4d5059;--felt-2:#26282f;--felt-rim:#777884;
  --theme-bg-image-desktop:url("../../data/bg/carbon-desktop.webp?v=release1-bg1");
  --theme-bg-image-portrait:url("../../data/bg/carbon-portrait.webp?v=release1-bg1");
  --overlay-rgb:3,4,8;
}
html[data-custom-background="true"],body[data-custom-background="true"]{
  --active-bg-image:var(--custom-bg-image);
  --active-bg-position:center center;
}

/* ---------- reset & atmosphere ------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{height:100%;font-size:calc(16.5px * var(--font-scale));-webkit-text-size-adjust:100%}
