/* 群相网站设计令牌。仅记载原方案参数，不定义页面或业务行为。
   当前值按完整设计拆解方案 §4.1、r4 房间表和 demos/pm-house.css 校准。
   分组对应 T-01 至 T-13；T-12 的断点由页面规则使用，不可作为 CSS 自定义属性。 */
:root {
  /* T-01 门楣，两态恒定 */
  --pm-lintel: #171B1C;
  --pm-lintel-ink: #EDE6D6;
  --pm-lintel-ink-2: #B9B09E;
  --pm-brass: #A8894F;
  --pm-brass-hi: #D3B474;

  /* T-02 房间，默认门厅；其余房间在下方按 r4 名称逐一覆盖 */
  --pm-scene: #3E3830;
  --pm-accent: #EBCB8E;
  --h-accent-ink: #5E4526;
  --h-wall-img: url("../assets/house/stone.webp");
  --h-wall-size: 800px;
  --h-wall-dim: rgb(22 18 14 / .66);

  /* T-03 醒：纸、羊皮纸、文字、输入和承诺按钮 */
  --pm-paper: #E8DEC7;
  --pm-paper-2: #E2D5B8;
  --pm-card: #F6EFDE;
  --pm-field: #FBF6EA;
  --pm-field-line: #857661;
  --pm-line: #CDBE9C;
  --pm-ink: #221D17;
  --pm-ink-2: #554A3E;
  --pm-ink-3: #5E5347;
  --pm-on-scene: #F2EADA;
  --pm-on-scene-2: #4A4136;
  --pm-link: #1D5560;
  --pm-btn: linear-gradient(180deg, #ECD397 0%, #C9A866 36%, #B08E4E 72%, #A0803F 100%);
  --pm-btn-line: #5E4520;
  --pm-btn-press: #9A7C46;
  --pm-btn-ink: #15110A;
  --pm-btn-off: #E0D7C4;
  --pm-btn-off-ink: #5E574C;
  --pm-core: radial-gradient(circle at 50% 0%, #2C322F, #161A18);
  --pm-core-ink: #EDE6D6;
  --h-on: #F2EADA;
  --h-on-2: #DED2BA;
  --h-candle: 255 206 128;
  --h-moon: 168 214 222;
  --h-vellum: #EADFC6;
  --h-vellum-edge: #C9B48C;
  --h-bronze: linear-gradient(135deg, #8A6A3A 0%, #E2C78A 22%, #9C7B44 46%, #5E4520 70%, #B8975A 100%);
  --h-gilt: linear-gradient(160deg, #F1DDA4 0%, #C9A866 30%, #7A5C2C 55%, #D3B474 78%, #6E5428 100%);
  --h-gilt-plate: linear-gradient(170deg, #F6E6B4 0%, #E2C78A 40%, #CDAE6C 75%, #BE9D5C 100%);

  /* T-04 梦：墙外夜色；纸面正文继续使用可读的浅色阅读纸 */
  --pm-table: #16292B;
  --pm-table-line: #24403F;
  --pm-card-frame: #0E1E20;
  --pm-plate: #F3EBD8;
  --pm-btn-ghost-line: #6E8E8F;
  --pm-btn-ghost-ink: #D5E4E2;

  /* T-05 字体与字号 */
  --pm-font-serif: "EB Garamond", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --pm-font-sans: "Segoe UI", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --pm-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --pm-fs-display: 2.5rem;
  --pm-fs-h1: 2rem;
  --pm-fs-h2: 1.5rem;
  --pm-fs-h3: 1.1875rem;
  --pm-fs-read: 1.0625rem;
  --pm-fs-ui: 0.9375rem;
  --pm-fs-sm: 0.8125rem;
  --pm-fs-micro: 0.75rem;

  /* T-06 间距 */
  --pm-s-1: 4px; --pm-s-2: 8px; --pm-s-3: 12px; --pm-s-4: 16px; --pm-s-5: 24px;
  --pm-s-6: 32px; --pm-s-7: 48px; --pm-s-8: 64px; --pm-s-9: 96px;

  /* T-07 圆角与线宽 */
  --pm-r-sheet: 12px; --pm-r-ctl: 8px; --pm-r-sm: 4px; --pm-r-pill: 999px;
  --pm-w-hair: 1px; --pm-w-mid: 2px; --pm-w-bold: 4px;

  /* T-08 光源、层次与投影 */
  --pm-light-x: 3px;
  --pm-light-y: 10px;
  --pm-e-sheet: inset 0 1px 0 rgb(255 250 236 / .5), 1px 2px 3px rgb(40 28 12 / .18), 3px 22px 40px -20px rgb(40 28 12 / .6);
  --pm-e-object: 0 1px 1px rgb(40 28 12 / .2), 3px 10px 18px -10px rgb(40 28 12 / .5);
  --pm-e-object-hover: 0 2px 3px rgb(40 28 12 / .18), 4.5px 17px 30px -12px rgb(40 28 12 / .55);
  --pm-e-object-night: 0 0 0 1px rgb(168 137 79 / .35), 0 16px 26px -10px rgb(0 0 0 / .65);
  --pm-e-overlay: 0 2px 4px rgb(10 8 4 / .25), 0 34px 64px -20px rgb(10 8 4 / .65);
  --pm-e-press: inset 0 2px 4px rgb(40 28 12 / .38), inset 0 -1px 0 rgb(255 250 236 / .25);
  --pm-e-well: inset 0 2px 3px rgb(40 28 12 / .28), inset 0 0 0 1px rgb(40 28 12 / .08), 0 1px 0 rgb(255 250 236 / .6);
  --pm-e-drag: 0 18px 30px -12px rgb(0 0 0 / .45);

  /* T-09 焦点、匹配与语义色 */
  --pm-focus-in: #1A1A1A;
  --pm-focus-out: #FFFDF8;
  --pm-match: #0F6F7C;
  --pm-match-tint: rgb(17 128 142 / .12);
  --pm-danger: #922218;
  --pm-success: #2A5E33;
  --pm-warning: #744B00;
  --pm-info: #1D5560;

  /* T-10 材质值见 T-02、T-03：墙、纸、铜与灯不另造一套变量 */

  /* T-11 动效时长与缓动 */
  --pm-t-cut: 0ms; --pm-t-fast: 100ms; --pm-t-ctl: 160ms; --pm-t-open: 200ms;
  --pm-t-close: 120ms; --pm-t-move: 240ms; --pm-t-return: 320ms;
  --pm-t-room: 600ms; --pm-t-scene: 1200ms;
  --pm-ease-out: cubic-bezier(.2, .7, .2, 1);
  --pm-ease-in: cubic-bezier(.4, 0, 1, 1);
  --pm-ease-line: linear;

  /* T-12 断点：宽屏≥1200；桌面900–1199；平板600–899；窄屏<600。由页面规则使用，CSS变量不能用于媒体条件。 */

  /* T-13 类型色，只用于方形徽章 */
  --pm-kind-persona: #E58A9E; --pm-kind-skill: #8FC25A; --pm-kind-tool: #5B8DEF;
  --pm-cat-work: #E9D8A6; --pm-cat-longform: #C9A2E8; --pm-cat-shortform: #9FD8E8;
  --pm-cat-study: #E7C24F; --pm-cat-visual: #F08C5A; --pm-cat-project: #6FCF97;
  --pm-cat-chapter: #D6A06A; --pm-cat-index: #A9B4C2;
}

/* T-02 r4：房间键、可见小签、墙材与房间色。 */
[data-room="foyer"] { --pm-scene:#3E3830; --pm-accent:#EBCB8E; --h-accent-ink:#5E4526; --h-wall-img:url("../assets/house/stone.webp"); --h-wall-size:800px; --h-wall-dim:rgb(22 18 14 / .66); }
[data-room="mirrors"] { --pm-scene:#1A3229; --pm-accent:#B4D4BA; --h-accent-ink:#2F4A3C; --h-wall-img:url("../assets/house/velvet-green.webp"); --h-wall-size:256px; --h-wall-dim:rgb(8 16 12 / .30); }
[data-room="seals"] { --pm-scene:#33231A; --pm-accent:#9ACDBC; --h-accent-ink:#2A5248; --h-wall-img:url("../assets/house/walnut.webp"); --h-wall-size:512px; --h-wall-dim:rgb(20 12 6 / .46); }
[data-room="cabinet"] { --pm-scene:#272226; --pm-accent:#B3CAEA; --h-accent-ink:#2C4662; --h-wall-img:url("../assets/house/walnut.webp"); --h-wall-size:512px; --h-wall-dim:rgb(10 12 20 / .55); }
[data-room="lodge"] { --pm-scene:#3D342A; --pm-accent:#F0C8A0; --h-accent-ink:#5F3F28; --h-wall-img:url("../assets/house/stone.webp"); --h-wall-size:640px; --h-wall-dim:rgb(26 18 10 / .66); }
[data-room="reading"] { --pm-scene:#2C251A; --pm-accent:#CFD6A6; --h-accent-ink:#3C4A36; --h-wall-img:url("../assets/house/walnut.webp"); --h-wall-size:512px; --h-wall-dim:rgb(16 14 8 / .58); }
[data-room="desk"] { --pm-scene:#2B2A27; --pm-accent:#C2D0D4; --h-accent-ink:#3A4246; --h-wall-img:url("../assets/house/oak.webp"); --h-wall-size:512px; --h-wall-dim:rgb(14 16 18 / .70); }
[data-room="lost"] { --pm-scene:#0E1416; --pm-accent:#C8D0CC; --h-accent-ink:#3E4644; --h-wall-img:url("../assets/house/forest-near.webp"); --h-wall-size:auto 100%; --h-wall-dim:rgb(10 14 16 / .55); }
html[data-state="dream"] {
  --pm-light-x: 0px; --pm-light-y: 16px;
  --pm-scene: linear-gradient(180deg, #0D1719 0%, #132326 100%);
  --pm-table:#16292B; --pm-table-line:#24403F; --pm-card-frame:#0E1E20; --pm-plate:#F3EBD8;
  --pm-paper:#F2EBDC; --pm-ink:#1F1A14; --pm-ink-2:#5B5143;
  --pm-on-scene:#DCE7E5; --pm-on-scene-2:#A9C1C0;
  --pm-btn:#EDE4CF; --pm-btn-ink:#2A2214;
  --pm-btn-ghost-line:#6E8E8F; --pm-btn-ghost-ink:#D5E4E2;
  --pm-match:#6FD6E3; --pm-match-tint:rgb(111 214 227 / .16); --pm-danger:#FF7A6B; --pm-success:#8FD49B; --pm-warning:#F2C46B; --pm-info:#9FD8E8;
  --pm-focus-in:#F4E9CC; --pm-focus-out:#0D1719;
}
html[data-state="dream"] body[data-room] { --pm-scene:linear-gradient(180deg, #0D1719 0%, #132326 100%); --pm-accent:#9FD8E8; --h-accent-ink:#5E4526; }
[data-surface="dark"] { --pm-focus-in:#F4E9CC; --pm-focus-out:#0D1719; }
html.pm-motion-off { --pm-t-fast:0ms; --pm-t-ctl:0ms; --pm-t-open:0ms; --pm-t-close:0ms; --pm-t-move:0ms; --pm-t-return:0ms; --pm-t-room:0ms; --pm-t-scene:0ms; }
@media (prefers-reduced-motion: reduce) {
  :root { --pm-t-fast:0ms; --pm-t-ctl:0ms; --pm-t-open:0ms; --pm-t-close:0ms; --pm-t-move:0ms; --pm-t-return:0ms; --pm-t-room:0ms; --pm-t-scene:0ms; }
}