@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=Spectral:ital,wght@0,400;0,600;1,500&display=swap";:root{--bg-0: #04070d;--bg-1: #09111b;--bg-2: #0e1c2a;--bg-3: #14293b;--ink-0: #ebf7ff;--ink-1: #9cb4c8;--ink-2: #70879c;--accent: #82d6ff;--accent-soft: #c3efff;--accent-cold: #3ba3d7;--accent-steel: #90a4b8;--warning: #f18b95;--panel: rgba(8, 14, 22, .78);--panel-strong: rgba(5, 10, 18, .9);--line: rgba(122, 171, 201, .22);--line-strong: rgba(139, 215, 255, .34);--shadow: 0 30px 80px rgba(0, 0, 0, .52);--hero-shadow: 0 0 28px rgba(122, 220, 255, .28);--body-radial-0: radial-gradient(circle at 50% 0%, rgba(104, 211, 255, .1) 0%, transparent 28%);--body-radial-1: radial-gradient(circle at 12% 18%, rgba(70, 134, 184, .22) 0%, transparent 25%);--body-radial-2: radial-gradient(circle at 88% 12%, rgba(150, 201, 235, .12) 0%, transparent 20%);--body-sheen: linear-gradient(180deg, rgba(177, 233, 255, .06) 0, transparent 160px);--body-gradient: linear-gradient(160deg, var(--bg-0), var(--bg-1) 36%, var(--bg-2) 68%, #060b12 100%);--frame-border: rgba(151, 212, 242, .16);--frame-glow-a: rgba(145, 214, 255, .08);--frame-glow-b: rgba(131, 181, 211, .08);--ring-border: rgba(139, 210, 245, .1);--ring-dash: rgba(173, 233, 255, .18);--glow-a-color: rgba(108, 216, 255, .68);--glow-b-color: rgba(73, 131, 189, .5);--hero-top: rgba(166, 228, 255, .08);--hero-a: rgba(11, 23, 35, .96);--hero-b: rgba(7, 13, 22, .82);--hero-border: rgba(125, 173, 205, .18);--hero-inset: rgba(42, 88, 119, .18);--panel-top: rgba(186, 237, 255, .04);--panel-a: rgba(9, 17, 27, .94);--panel-b: rgba(8, 14, 22, .78);--button-top: rgba(173, 233, 255, .12);--button-a: rgba(27, 67, 98, .92);--button-b: rgba(8, 18, 29, .98);--button-border: rgba(145, 205, 232, .32);--button-shadow: rgba(39, 117, 173, .18);--ghost-top: rgba(124, 181, 214, .05);--ghost-bg: rgba(18, 33, 48, .45);--menu-top: rgba(133, 200, 234, .07);--menu-bg: rgba(18, 33, 48, .85);--menu-active-top: rgba(129, 219, 255, .28);--menu-active-mid: rgba(45, 101, 146, .78);--menu-active-base-a: rgba(19, 43, 63, .95);--menu-active-base-b: rgba(7, 14, 24, .98);--menu-active-border: rgba(170, 234, 255, .65);--menu-active-shadow: rgba(44, 114, 158, .22);--callout-top: rgba(130, 209, 255, .05);--callout-a: rgba(6, 12, 20, .74);--callout-b: rgba(8, 19, 31, .85);--callout-border: rgba(118, 165, 194, .22);--surface-strong: #0b1117;--current-chip-border: #8bdfff;--ready-chip-border: rgba(143, 203, 237, .5);--ready-chip-a: rgba(70, 139, 179, .16);--ready-chip-b: rgba(244, 184, 96, .09);--ready-chip-c: rgba(39, 75, 94, .45);--ready-text: #eaf7ff;--picker-ready-border: rgba(150, 205, 235, .3);--picker-ready-glow-a: rgba(132, 219, 255, .14);--picker-ready-glow-b: rgba(86, 167, 212, .14);--picker-ready-base: rgba(255, 244, 226, .02);--picker-ready-text: #d6f5ff;--status-ok: rgba(150, 205, 235, .42);--status-ok-bg: rgba(8, 24, 40, .94);--ornament-line: rgba(161, 220, 245, .16);--ornament-a: rgba(117, 210, 255, .12);--ornament-b: rgba(82, 132, 196, .12);--banner-top: rgba(180, 236, 255, .07);--banner-a: rgba(10, 19, 29, .86);--banner-b: rgba(8, 15, 24, .94);--banner-border: rgba(145, 208, 233, .22);--glyph-line: rgba(181, 236, 255, .22);--glyph-core: rgba(131, 221, 255, .18);--glyph-shadow: rgba(62, 121, 176, .2)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{overflow-x:hidden}img{max-width:100%}.page-shell,.layout-grid,.panel,.panel-wide,.stack,.grid-two,.actions,.row-inline,.story-block,.cards-list li,.journal-list li,.report-grid article,label,input,textarea,select,button{min-width:0}body{margin:0;font-family:IBM Plex Sans,sans-serif;background:var(--body-radial-0),var(--body-radial-1),var(--body-radial-2),var(--body-sheen),var(--body-gradient);color:var(--ink-0);min-height:100vh}body[data-player-theme=frost-king]{--ink-0: #ebf7ff;--ink-1: #9cb4c8;--ink-2: #70879c;--accent: #82d6ff;--accent-soft: #c3efff;--line: rgba(122, 171, 201, .22);--hero-shadow: 0 0 28px rgba(122, 220, 255, .28)}body[data-player-theme=ember-necropolis]{--bg-0: #0d0607;--bg-1: #1a0d0d;--bg-2: #291313;--bg-3: #3c1d19;--ink-0: #fff0e7;--ink-1: #d3b4a4;--ink-2: #9e8071;--accent: #f5a86f;--accent-soft: #ffe3c1;--accent-cold: #d96c3d;--accent-steel: #b98d7d;--warning: #ff8d8d;--line: rgba(194, 135, 104, .24);--line-strong: rgba(245, 181, 118, .4);--hero-shadow: 0 0 28px rgba(255, 147, 91, .22);--body-radial-0: radial-gradient(circle at 48% 0%, rgba(255, 152, 103, .13) 0%, transparent 28%);--body-radial-1: radial-gradient(circle at 10% 18%, rgba(157, 54, 39, .26) 0%, transparent 25%);--body-radial-2: radial-gradient(circle at 88% 10%, rgba(218, 128, 83, .15) 0%, transparent 22%);--body-sheen: linear-gradient(180deg, rgba(255, 189, 145, .08) 0, transparent 170px);--body-gradient: linear-gradient(160deg, var(--bg-0), var(--bg-1) 34%, var(--bg-2) 68%, #11090a 100%);--frame-border: rgba(202, 129, 104, .18);--frame-glow-a: rgba(255, 152, 103, .09);--frame-glow-b: rgba(143, 65, 49, .11);--ring-border: rgba(229, 157, 121, .14);--ring-dash: rgba(255, 213, 178, .16);--glow-a-color: rgba(255, 131, 69, .58);--glow-b-color: rgba(144, 61, 44, .52);--hero-top: rgba(255, 193, 150, .08);--hero-a: rgba(33, 16, 15, .96);--hero-b: rgba(20, 9, 10, .84);--hero-border: rgba(198, 122, 97, .22);--hero-inset: rgba(121, 56, 38, .18);--panel-top: rgba(255, 198, 153, .04);--panel-a: rgba(27, 12, 13, .94);--panel-b: rgba(22, 10, 11, .82);--button-top: rgba(255, 194, 143, .12);--button-a: rgba(106, 46, 28, .92);--button-b: rgba(34, 13, 13, .98);--button-border: rgba(217, 153, 122, .34);--button-shadow: rgba(148, 71, 38, .22);--ghost-top: rgba(205, 144, 113, .07);--ghost-bg: rgba(52, 24, 22, .5);--menu-top: rgba(238, 171, 127, .08);--menu-bg: rgba(44, 20, 20, .88);--menu-active-top: rgba(247, 176, 120, .3);--menu-active-mid: rgba(153, 63, 42, .8);--menu-active-base-a: rgba(60, 24, 19, .95);--menu-active-base-b: rgba(25, 10, 12, .98);--menu-active-border: rgba(255, 207, 156, .55);--menu-active-shadow: rgba(147, 72, 41, .22);--callout-top: rgba(255, 187, 138, .05);--callout-a: rgba(28, 11, 11, .78);--callout-b: rgba(26, 12, 13, .88);--callout-border: rgba(191, 127, 99, .22);--surface-strong: #150d0d;--current-chip-border: #ffcf9c;--ready-chip-border: rgba(242, 171, 116, .5);--ready-chip-a: rgba(153, 84, 48, .16);--ready-chip-b: rgba(255, 207, 134, .09);--ready-chip-c: rgba(90, 48, 34, .45);--ready-text: #fff1e6;--picker-ready-border: rgba(217, 149, 113, .3);--picker-ready-glow-a: rgba(255, 183, 131, .14);--picker-ready-glow-b: rgba(169, 87, 58, .16);--picker-ready-base: rgba(255, 233, 210, .03);--picker-ready-text: #ffe4cf;--status-ok: rgba(255, 191, 141, .42);--status-ok-bg: rgba(43, 17, 15, .94);--ornament-line: rgba(218, 151, 113, .16);--ornament-a: rgba(255, 162, 107, .12);--ornament-b: rgba(146, 63, 44, .14);--banner-top: rgba(255, 198, 153, .07);--banner-a: rgba(31, 13, 12, .88);--banner-b: rgba(21, 10, 10, .94);--banner-border: rgba(216, 151, 115, .22);--glyph-line: rgba(255, 212, 167, .24);--glyph-core: rgba(255, 175, 111, .18);--glyph-shadow: rgba(149, 74, 40, .2)}body[data-player-theme=verdant-vault]{--bg-0: #06100d;--bg-1: #0b1713;--bg-2: #13231d;--bg-3: #1a3026;--ink-0: #eefcf2;--ink-1: #a8c6b2;--ink-2: #6f9582;--accent: #86ddb2;--accent-soft: #d7f6de;--accent-cold: #4aa27e;--accent-steel: #8aa792;--warning: #f2a48e;--line: rgba(118, 168, 138, .24);--line-strong: rgba(144, 224, 184, .38);--hero-shadow: 0 0 28px rgba(112, 218, 162, .24);--body-radial-0: radial-gradient(circle at 50% 0%, rgba(124, 223, 170, .1) 0%, transparent 28%);--body-radial-1: radial-gradient(circle at 12% 20%, rgba(66, 131, 98, .24) 0%, transparent 24%);--body-radial-2: radial-gradient(circle at 86% 12%, rgba(186, 192, 115, .12) 0%, transparent 22%);--body-sheen: linear-gradient(180deg, rgba(181, 238, 195, .06) 0, transparent 160px);--body-gradient: linear-gradient(160deg, var(--bg-0), var(--bg-1) 38%, var(--bg-2) 68%, #08100d 100%);--frame-border: rgba(127, 191, 157, .16);--frame-glow-a: rgba(126, 223, 171, .08);--frame-glow-b: rgba(171, 172, 87, .07);--ring-border: rgba(133, 212, 174, .12);--ring-dash: rgba(210, 235, 183, .18);--glow-a-color: rgba(109, 218, 164, .54);--glow-b-color: rgba(90, 132, 87, .48);--hero-top: rgba(191, 244, 206, .07);--hero-a: rgba(12, 25, 20, .96);--hero-b: rgba(9, 18, 15, .84);--hero-border: rgba(124, 185, 152, .18);--hero-inset: rgba(58, 109, 86, .17);--panel-top: rgba(187, 241, 196, .04);--panel-a: rgba(10, 20, 17, .94);--panel-b: rgba(9, 17, 14, .8);--button-top: rgba(194, 245, 201, .11);--button-a: rgba(29, 82, 61, .92);--button-b: rgba(10, 24, 18, .98);--button-border: rgba(134, 201, 164, .34);--button-shadow: rgba(50, 117, 87, .18);--ghost-top: rgba(145, 191, 154, .06);--ghost-bg: rgba(22, 42, 33, .45);--menu-top: rgba(160, 226, 182, .07);--menu-bg: rgba(17, 35, 29, .85);--menu-active-top: rgba(133, 225, 182, .28);--menu-active-mid: rgba(55, 110, 80, .78);--menu-active-base-a: rgba(18, 45, 35, .95);--menu-active-base-b: rgba(8, 18, 15, .98);--menu-active-border: rgba(193, 237, 183, .48);--menu-active-shadow: rgba(49, 110, 74, .18);--callout-top: rgba(155, 223, 176, .05);--callout-a: rgba(8, 17, 14, .76);--callout-b: rgba(10, 22, 18, .86);--callout-border: rgba(108, 165, 134, .22);--surface-strong: #0b1411;--current-chip-border: #bce8c0;--ready-chip-border: rgba(156, 216, 176, .48);--ready-chip-a: rgba(69, 133, 101, .16);--ready-chip-b: rgba(217, 189, 104, .08);--ready-chip-c: rgba(43, 88, 65, .45);--ready-text: #eefcf1;--picker-ready-border: rgba(136, 199, 162, .3);--picker-ready-glow-a: rgba(145, 225, 180, .13);--picker-ready-glow-b: rgba(180, 180, 101, .1);--picker-ready-base: rgba(233, 244, 214, .03);--picker-ready-text: #e2f7e6;--status-ok: rgba(145, 225, 181, .4);--status-ok-bg: rgba(10, 30, 23, .94);--ornament-line: rgba(152, 211, 176, .16);--ornament-a: rgba(141, 223, 179, .11);--ornament-b: rgba(180, 179, 101, .1);--banner-top: rgba(191, 244, 206, .07);--banner-a: rgba(11, 22, 18, .88);--banner-b: rgba(8, 17, 14, .94);--banner-border: rgba(143, 202, 168, .22);--glyph-line: rgba(214, 238, 181, .22);--glyph-core: rgba(132, 221, 175, .17);--glyph-shadow: rgba(64, 112, 80, .18)}.page-shell{width:min(1240px,100% - 2.4rem);margin:2.2rem auto 4rem;position:relative;padding-top:.6rem}.frost-frame{position:absolute;top:-.35rem;right:-.35rem;bottom:-.35rem;left:-.35rem;z-index:0;border-radius:28px;border:1px solid var(--frame-border);background:linear-gradient(135deg,var(--frame-glow-a),transparent 30%),linear-gradient(315deg,var(--frame-glow-b),transparent 26%);box-shadow:inset 0 0 0 1px #cbefff08,0 0 0 1px #12283bb3,0 48px 120px #0000006b;pointer-events:none}.frost-runic-ring{position:absolute;z-index:0;pointer-events:none;border-radius:999px;border:1px solid var(--ring-border);opacity:.55;mix-blend-mode:screen}.frost-runic-ring:before{content:"";position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:inherit;border:1px dashed var(--ring-dash)}.frost-runic-ring-a{width:300px;height:300px;top:-70px;right:-80px;transform:rotate(14deg)}.frost-runic-ring-b{width:220px;height:220px;left:-90px;bottom:110px;transform:rotate(-12deg)}.ambient-glow{position:absolute;pointer-events:none;border-radius:999px;filter:blur(70px);opacity:.45;z-index:0}.glow-a{width:320px;height:320px;background:var(--glow-a-color);top:-70px;right:4%;animation:floatA 6s ease-in-out infinite}.glow-b{width:360px;height:360px;background:var(--glow-b-color);top:340px;left:-150px;animation:floatB 8s ease-in-out infinite}.hero,.panel,.error-banner,.loading-indicator{position:relative;z-index:2}.hero{margin-bottom:1.15rem;padding:1.2rem 1.35rem 1.4rem;border:1px solid var(--hero-border);border-radius:24px;background:linear-gradient(180deg,var(--hero-top),transparent 32%),linear-gradient(145deg,var(--hero-a),var(--hero-b));box-shadow:inset 0 1px #dbf7ff14,inset 0 0 36px var(--hero-inset),var(--shadow);animation:appear .45s ease-out both}.hero-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.hero-copy{min-width:0}.hero-kicker{margin:0 0 .45rem;color:var(--accent);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600}.hero h1{margin:0;font-family:Cinzel,serif;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:.06em;text-transform:uppercase;color:#eefaff;text-shadow:var(--hero-shadow)}.hero p{margin-top:.5rem;color:var(--ink-1);max-width:64ch}.theme-switcher{display:grid;gap:.55rem;width:min(320px,100%);flex:0 0 320px}.theme-pill{display:grid;gap:.14rem;justify-items:flex-start;text-align:left;padding:.7rem .8rem;border-radius:14px}.theme-pill small{color:var(--ink-1);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}.theme-pill.active{border-color:var(--menu-active-border);box-shadow:inset 0 0 0 1px #f0f8ff14,0 12px 28px var(--menu-active-shadow)}.layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.layout-grid>*{grid-column:1 / -1}.panel{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-top),transparent 22%),linear-gradient(145deg,var(--panel-a),var(--panel-b));border-radius:22px;padding:1rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:appear .5s ease both}.themed-panel{position:relative;overflow:hidden}.themed-panel>*:not(.panel-ornament){position:relative;z-index:1}.panel-ornament{position:absolute;pointer-events:none;z-index:0;border-radius:999px;opacity:.9}.panel-ornament-a{top:-92px;right:-64px;width:240px;height:240px;background:radial-gradient(circle at 50% 50%,transparent 53%,var(--ornament-line) 54%,transparent 58%),radial-gradient(circle at 50% 50%,transparent 67%,var(--ornament-a) 68%,transparent 73%),radial-gradient(circle at 50% 50%,var(--ornament-b),transparent 70%)}.panel-ornament-b{left:-56px;bottom:-68px;width:180px;height:180px;background:linear-gradient(135deg,transparent 38%,var(--ornament-line) 39%,transparent 40%),linear-gradient(225deg,transparent 38%,var(--ornament-line) 39%,transparent 40%),radial-gradient(circle at 50% 50%,var(--ornament-a),transparent 65%);opacity:.65}.theme-scene-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border-radius:18px;border:1px solid var(--banner-border);background:linear-gradient(180deg,var(--banner-top),transparent 46%),linear-gradient(145deg,var(--banner-a),var(--banner-b));box-shadow:inset 0 1px #eff9ff0d,0 12px 28px #00000024}.theme-scene-banner-copy{display:grid;gap:.18rem;min-width:0}.theme-scene-kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-weight:700}.theme-scene-glyph{flex:0 0 88px;width:88px;height:88px;border-radius:18px;border:1px solid var(--glyph-line);background:radial-gradient(circle at 50% 50%,var(--glyph-core),transparent 58%),linear-gradient(145deg,#ffffff08,#00000014);box-shadow:inset 0 0 0 1px #f3faff0a,0 14px 24px var(--glyph-shadow);position:relative}.theme-scene-glyph:before,.theme-scene-glyph:after{content:"";position:absolute}.theme-scene-glyph-war:before{top:14px;right:14px;bottom:14px;left:14px;border-radius:14px;border:1px solid var(--glyph-line);clip-path:polygon(50% 0%,61% 34%,100% 50%,61% 66%,50% 100%,39% 66%,0% 50%,39% 34%)}.theme-scene-glyph-war:after{top:22px;right:22px;bottom:22px;left:22px;clip-path:polygon(50% 6%,70% 50%,50% 94%,30% 50%);background:linear-gradient(180deg,transparent 0%,var(--glyph-line) 50%,transparent 100%)}.theme-scene-glyph-map:before{top:14px;right:14px;bottom:14px;left:14px;border-radius:14px;border:1px solid var(--glyph-line);clip-path:polygon(16% 20%,50% 8%,84% 20%,72% 82%,50% 92%,28% 82%)}.theme-scene-glyph-map:after{top:21px;right:21px;bottom:21px;left:21px;border-radius:12px;background:linear-gradient(90deg,transparent 32%,var(--glyph-line) 33%,transparent 34%,transparent 66%,var(--glyph-line) 67%,transparent 68%),linear-gradient(180deg,transparent 32%,var(--glyph-line) 33%,transparent 34%,transparent 66%,var(--glyph-line) 67%,transparent 68%)}.theme-scene-glyph-scene:before{top:13px;right:13px;bottom:13px;left:13px;border-radius:16px;border:1px solid var(--glyph-line);clip-path:polygon(12% 70%,30% 32%,50% 50%,68% 18%,88% 74%,68% 86%,34% 82%)}.theme-scene-glyph-scene:after{top:24px;right:24px;bottom:24px;left:24px;border-radius:999px;border:1px solid var(--glyph-line);box-shadow:0 0 0 8px transparent,0 0 0 0 var(--glyph-line)}.theme-scene-glyph-roster:before{top:10px;right:10px;bottom:10px;left:10px;border-radius:50% 50% 45% 45%;border:2px solid var(--glyph-line);background:radial-gradient(ellipse 60% 30% at 50% 0%,var(--glyph-line) 0%,transparent 100%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.15) 100%)}.theme-scene-glyph-roster:after{top:20px;right:20px;bottom:20px;left:20px;background:radial-gradient(circle at 35% 38%,var(--glyph-line) 0 11%,transparent 13%),radial-gradient(circle at 65% 38%,var(--glyph-line) 0 11%,transparent 13%),radial-gradient(circle at 50% 36%,transparent 17%,var(--glyph-line) 18% 20%,transparent 22%),linear-gradient(180deg,transparent 52%,var(--glyph-line) 53%,var(--glyph-line) 55%,transparent 56%),linear-gradient(90deg,transparent 40%,var(--glyph-line) 41%,var(--glyph-line) 59%,transparent 60%)}.theme-scene-glyph-hero:before{top:12px;right:12px;bottom:12px;left:12px;border-radius:4px;background:linear-gradient(45deg,transparent 44%,var(--glyph-line) 45%,var(--glyph-line) 55%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--glyph-line) 45%,var(--glyph-line) 55%,transparent 56%),linear-gradient(90deg,transparent 46%,var(--glyph-line) 47%,var(--glyph-line) 53%,transparent 54%)}.theme-scene-glyph-hero:after{top:8px;right:8px;bottom:8px;left:8px;background:radial-gradient(circle at 50% 20%,var(--glyph-line) 0 8%,transparent 10%),radial-gradient(circle at 50% 50%,transparent 18%,var(--glyph-line) 19% 22%,transparent 24%),linear-gradient(180deg,transparent 18%,var(--glyph-line) 19%,var(--glyph-line) 80%,transparent 82%),linear-gradient(90deg,transparent 46%,var(--glyph-line) 47%,var(--glyph-line) 53%,transparent 54%)}.panel-settings{margin-bottom:1rem;position:relative;overflow:hidden}.panel-settings:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(136,212,255,.08),transparent);transform:translate(-100%);animation:frostSweep 12s linear infinite;pointer-events:none}.top-menu{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;position:relative;z-index:2}.menu-item{border-color:#7dabc542;background:linear-gradient(180deg,var(--menu-top),rgba(11,20,31,.86)),var(--menu-bg);color:var(--ink-1);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600}.menu-item.active{background:linear-gradient(135deg,var(--menu-active-top),var(--menu-active-mid)),linear-gradient(180deg,var(--menu-active-base-a),var(--menu-active-base-b));border-color:var(--menu-active-border);color:#f2fcff;box-shadow:0 0 0 1px #b1eeff1f inset,0 8px 24px var(--menu-active-shadow)}.panel-wide{grid-column:span 2}h2{margin-top:0;margin-bottom:.75rem;font-size:1.16rem;color:var(--accent-soft);letter-spacing:.08em;text-transform:uppercase}h3,h4{margin:0 0 .5rem;font-family:Cinzel,serif;color:#f0fbff;letter-spacing:.04em}label{display:grid;gap:.35rem;font-size:.9rem;color:var(--ink-1)}.field-label-inline{position:relative;display:inline-flex;align-items:center;gap:.38rem;flex-wrap:wrap;width:fit-content;max-width:100%}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;background:linear-gradient(180deg,#a2dfff0a,#070d14eb),#070e14c2;color:var(--ink-0);border:1px solid rgba(132,177,204,.24);border-radius:12px;padding:.58rem .7rem;box-shadow:inset 0 1px #d2f4ff0a}textarea{resize:vertical}button{border:1px solid var(--button-border);background:linear-gradient(180deg,var(--button-top),rgba(19,43,62,.9)),linear-gradient(135deg,var(--button-a),var(--button-b));color:#effaff;border-radius:11px;padding:.6rem .9rem;cursor:pointer;transition:transform .15s ease,filter .15s ease,border-color .15s ease,box-shadow .15s ease;box-shadow:inset 0 1px #e2f8ff14,0 8px 18px #00000038}button:hover{transform:translateY(-1px);filter:brightness(1.07);border-color:#b3eaff80;box-shadow:inset 0 1px #ebfbff1f,0 12px 28px var(--button-shadow)}button:disabled{opacity:.6;cursor:default}.button-ghost{background:linear-gradient(180deg,var(--ghost-top),rgba(7,14,21,.75)),var(--ghost-bg);color:#d6ebf7}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.stack{display:grid;gap:.75rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}.row-inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.row-inline input[type=number]{width:92px}.item-chip{background:#182b3db8;border:1px solid rgba(112,169,201,.32);padding:.42rem .62rem;border-radius:999px}.roll-display{width:62px;height:62px;border-radius:14px;border:1px solid rgba(146,215,248,.42);display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(141,219,255,.18),transparent 45%),#0a1623d1;font-family:Cinzel,serif;font-size:1.5rem;color:#eff8ff;box-shadow:inset 0 0 24px #4582b038}.roll-display.rolling{animation:dieRollTumbleMini .62s cubic-bezier(.24,.76,.3,1) infinite,dieRollPulseMini .82s ease-in-out infinite;transform-style:preserve-3d;filter:saturate(1.08) brightness(1.04)}.turn-dice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 50% 50%,#08121e2e,#03080e5c)}.turn-dice-overlay-card{width:min(540px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);border-radius:24px;padding:1rem 1.1rem 1.15rem;overflow:hidden;border:1px solid rgba(154,212,241,.26);background:radial-gradient(circle at 20% 0%,rgba(134,205,240,.16),transparent 42%),linear-gradient(180deg,#0c1a28f5,#07111bf0);box-shadow:0 18px 48px #01070d6b,inset 0 0 0 1px #ddf1fc0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.turn-dice-overlay-card.tone-attack{border-color:#d67a5c57}.turn-dice-overlay-card.tone-heal{border-color:#84cea25c}.turn-dice-overlay-card.tone-spell{border-color:#78a6e25c}.turn-dice-overlay-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.turn-dice-overlay-head h3{margin:.15rem 0 0;font-size:1.25rem}.turn-dice-overlay-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#d4eaf6c7}.turn-dice-overlay-notation{white-space:nowrap;padding:.3rem .6rem;border-radius:999px;border:1px solid rgba(148,210,239,.22);background:#ffffff0a;color:#ecf7ff;font-family:Cinzel,serif}.turn-dice-overlay-subtitle{margin:.65rem 0 0;color:#dceef8d1}.turn-dice-overlay-dice{display:grid;justify-content:center;gap:.85rem;margin-top:clamp(.65rem,1.6vh,1rem);perspective:900px;transform-style:preserve-3d}.turn-dice-overlay-dice-1{grid-template-columns:minmax(0,260px)}.turn-dice-overlay-dice-2{grid-template-columns:repeat(2,minmax(0,118px))}.turn-dice-overlay-dice-3{grid-template-columns:repeat(3,minmax(0,102px))}.turn-die3d-wrap{position:relative;width:min(58vw,34vh,260px);max-width:260px;aspect-ratio:1;margin:0 auto;overflow:hidden}.turn-die3d-canvas{width:100%;height:100%;background:transparent;border:none;box-shadow:none}.turn-die3d-canvas canvas{display:block;width:100%!important;height:100%!important}.turn-dice-overlay-faces{margin:.6rem 0 0;text-align:center;color:#ffe3c6e6;font-family:Cinzel,serif}.turn-dice-face{aspect-ratio:1;display:grid;place-items:center;position:relative;border-radius:8px;border:1px solid rgba(176,220,244,.42);background:linear-gradient(155deg,#d2eeff33,#68a2c50f 38%),linear-gradient(180deg,#19354ef5,#0c1a28fa);box-shadow:inset 0 -10px 20px #040e1870,inset 0 1px #e0f3ff40,0 12px 18px #00000061;transform-origin:50% 60%;will-change:transform,box-shadow,filter;overflow:visible}.turn-dice-face:before,.turn-dice-face:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(150,207,236,.28);display:none}.turn-dice-face-d6:before{left:9%;right:9%;top:-15%;height:17%;border-bottom:none;border-radius:7px 7px 0 0;transform:skew(-28deg);background:linear-gradient(180deg,#c6ecff3d,#5c93b614);display:block}.turn-dice-face-d6:after{top:8%;bottom:8%;right:-14%;width:16%;border-left:none;border-radius:0 7px 7px 0;transform:skewY(-28deg);background:linear-gradient(90deg,#47729257,#11223166);display:block}.turn-dice-face-d4{clip-path:polygon(50% 2%,96% 92%,4% 92%);border-radius:0}.turn-dice-face-d4 span{transform:translateY(10%)}.turn-dice-face-d6{border-radius:8px}.turn-dice-face-d8{clip-path:polygon(50% 2%,95% 50%,50% 98%,5% 50%);border-radius:0}.turn-dice-face-d10{clip-path:polygon(50% 2%,84% 17%,96% 50%,80% 91%,20% 91%,4% 50%,16% 17%);border-radius:0}.turn-dice-face-d12{clip-path:polygon(50% 2%,76% 10%,93% 28%,93% 72%,76% 90%,50% 98%,24% 90%,7% 72%,7% 28%,24% 10%);border-radius:0}.turn-dice-face-d20{clip-path:polygon(50% 1%,75% 9%,92% 24%,98% 50%,92% 76%,75% 91%,50% 99%,25% 91%,8% 76%,2% 50%,8% 24%,25% 9%);border-radius:0}.turn-dice-motion{will-change:transform;transform-style:preserve-3d}.turn-dice-motion.rolling{animation:dieProjectilePath .76s cubic-bezier(.2,.74,.28,1) infinite}.turn-dice-face span{font-family:Cinzel,serif;font-size:clamp(1.8rem,4vw,2.7rem);color:#f7fbff;text-shadow:0 1px 0 rgba(8,20,32,.9),0 0 12px rgba(166,221,248,.2);z-index:1}.turn-dice-face.rolling{animation:dieSpinRoll .42s linear infinite,dieRollPulse .68s ease-in-out infinite;transform-style:preserve-3d;filter:saturate(1.08) brightness(1.02)}.turn-dice-face.rolling:nth-child(2){animation-duration:.48s,.74s;animation-delay:-90ms,-70ms}.turn-dice-face.rolling:nth-child(3){animation-duration:.52s,.78s;animation-delay:-.15s,-.11s}.turn-dice-face.rolling span{opacity:.09;filter:blur(1.6px)}.turn-dice-overlay-card.resolved .turn-dice-face{animation:dieSettle .3s cubic-bezier(.22,.8,.24,1) both}.turn-dice-overlay-card.resolved .turn-dice-motion{animation:diePathSettle .26s ease-out both}.turn-dice-overlay-card.resolved .turn-dice-face:nth-child(2){animation-delay:26ms}.turn-dice-overlay-card.resolved .turn-dice-face:nth-child(3){animation-delay:52ms}.turn-dice-overlay-status{margin:clamp(.55rem,1.6vh,.95rem) 0 0;text-align:center;color:#ecf5fbe0}.hint{color:var(--ink-2);margin:0}.scenario-step-complete-badge{display:inline-block;margin-top:.35rem;padding:.18rem .55rem;border-radius:999px;border:1px solid rgba(150,205,235,.42);background:linear-gradient(120deg,#4d97bf2e,#7ce8ff1a),#0f223073;color:#e8f6ff;box-shadow:inset 0 0 0 1px #cbe8f714,0 6px 16px #08141f2e}.item-chip-current{border-color:var(--current-chip-border);font-weight:700}.scenario-transition-chip-ready{border-color:var(--ready-chip-border);background:linear-gradient(120deg,var(--ready-chip-a),var(--ready-chip-b)),var(--ready-chip-c);color:var(--ready-text);box-shadow:0 0 0 1px #78bee21f inset,0 8px 18px #050f181a}.scenario-location-picker-ready{border-radius:12px;padding:.55rem;border:1px solid var(--picker-ready-border);background:radial-gradient(circle at 100% 0%,var(--picker-ready-glow-a),transparent 46%),radial-gradient(circle at 0% 0%,var(--picker-ready-glow-b),transparent 54%),var(--picker-ready-base);box-shadow:0 0 0 1px #6eb7df1c,0 10px 22px #00000024}.scenario-location-picker-ready-text{color:var(--picker-ready-text);font-weight:600;text-shadow:0 0 14px rgba(87,162,208,.18)}.tooltip-anchor{position:relative;display:inline-flex;width:1.15rem;height:1.15rem;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(150,220,251,.4);color:var(--accent);cursor:help;font-size:.78rem;margin-top:0;flex:0 0 auto}.tooltip-anchor-text{width:auto;height:auto;border:none;margin-top:0;padding:0;color:inherit;font-size:inherit;align-items:baseline;justify-content:flex-start}.tooltip-anchor-field{position:static}.tooltip-popup{position:absolute;left:1.45rem;top:-.3rem;width:min(360px,70vw);padding:.55rem .65rem;background:#060c13f7;border:1px solid rgba(144,211,243,.35);border-radius:10px;color:var(--ink-0);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease;z-index:6;pointer-events:none}.tooltip-anchor-field .tooltip-popup{left:0;right:auto;top:auto;bottom:calc(100% + .45rem);width:min(360px,calc(100vw - 2rem))}.tooltip-anchor[data-tooltip-side=end] .tooltip-popup,.storyteller-archetype-chip[data-tooltip-side=end] .storyteller-archetype-tooltip{left:auto;right:0}.tooltip-anchor:hover .tooltip-popup,.tooltip-anchor:focus .tooltip-popup{opacity:1;visibility:visible;transform:translateY(0)}.actor-name-inline{display:inline;font-weight:600}.actor-input{font-size:1.08rem;font-weight:600}.callout,.story-block{border:1px solid var(--callout-border);border-radius:16px;padding:.8rem;background:linear-gradient(180deg,var(--callout-top),var(--callout-a)),var(--callout-b);box-shadow:inset 0 0 30px #4975961f}.callout-error{border-color:#f8919d61;background:linear-gradient(180deg,#75202a33,#370c12e6),#370c12f0;box-shadow:inset 0 0 30px #a42d4029}.turn-status-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.65rem 0 1rem;padding:.85rem 1rem;border:1px solid rgba(142,207,240,.3);border-radius:18px;background:radial-gradient(circle at 10% 0%,rgba(135,210,247,.16),transparent 42%),linear-gradient(135deg,#0e212feb,#08111ceb);box-shadow:0 14px 34px #02080e38,inset 0 0 24px #65b0d71a;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}.turn-status-card strong{display:block;margin-top:.1rem;color:#f4fbff;font-family:Cinzel,serif;font-size:clamp(1.15rem,2.1vw,1.55rem)}.turn-status-card p{margin:.2rem 0 0;color:#daecf7d1}.turn-status-kicker{display:block;color:#bfdcebc7;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.turn-status-side{flex:0 0 auto;padding:.42rem .7rem;border:1px solid rgba(190,226,245,.28);border-radius:999px;color:#edf8ff;background:#ffffff0b;font-weight:800}.turn-status-card-active{border-color:#7be6af6b;background:radial-gradient(circle at 10% 0%,rgba(123,230,175,.18),transparent 42%),linear-gradient(135deg,#0c2e25eb,#08121aeb)}.turn-status-card-waiting{border-color:#d8b56861}.turn-status-card-npc{border-color:#81a9e461;background:radial-gradient(circle at 10% 0%,rgba(129,169,228,.18),transparent 42%),linear-gradient(135deg,#0d1d31eb,#08111ceb)}.turn-status-card-finished{border-color:#d67a5c6b;background:radial-gradient(circle at 10% 0%,rgba(214,122,92,.18),transparent 42%),linear-gradient(135deg,#2d1518eb,#08111ceb)}.team-play-panel{display:grid;gap:.85rem;margin-bottom:1rem;padding:.9rem;border:1px solid rgba(232,209,145,.3);border-radius:18px;background:radial-gradient(circle at 0% 0%,rgba(232,209,145,.16),transparent 34%),linear-gradient(135deg,#281e0eeb,#061019f0);box-shadow:0 16px 38px #01080e38,inset 0 0 28px #e8d19114}.team-play-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.team-play-head strong{display:block;color:var(--ink-0);font-family:Cinzel,serif;font-size:clamp(1.08rem,2vw,1.45rem)}.team-play-head p{margin:.16rem 0 0;color:var(--ink-3)}.team-play-kicker{color:#e8d191d1;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.team-play-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(150px,1fr));gap:.65rem}.team-play-card{display:grid;align-content:start;gap:.28rem;min-width:0;padding:.72rem;border:1px solid rgba(232,209,145,.2);border-radius:14px;background:#0510188c}.team-play-card small{color:var(--ink-3);font-size:.72rem;font-weight:900;text-transform:uppercase}.team-play-card strong{color:var(--ink-0);font-size:1rem;overflow-wrap:anywhere}.team-play-card span,.team-play-card code{color:var(--ink-2);overflow-wrap:anywhere}.team-play-card code{padding:.32rem .42rem;border:1px solid rgba(188,223,224,.16);border-radius:10px;background:#020a1194}.team-play-card-warning{border-color:#d67a5c6b;background:radial-gradient(circle at 20% 0%,rgba(214,122,92,.15),transparent 48%),#2a121085}.scene-master-screen{display:grid;gap:.75rem;margin:.8rem 0;padding:.85rem;border:1px solid rgba(31,191,124,.28);border-radius:18px;background:radial-gradient(circle at 8% 0%,rgba(31,191,124,.15),transparent 36%),linear-gradient(145deg,#071b1beb,#051018e6);box-shadow:inset 0 0 34px #1fbf7c14,0 16px 34px #00000038}.scene-master-head{display:grid;gap:.25rem}.scene-master-head h3{margin:0;color:var(--ink-0)}.scene-master-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.62rem}.scenario-progress-checklist{display:grid;gap:.65rem;grid-column:1 / -1;padding:.78rem;border:1px solid rgba(232,209,145,.24);border-radius:16px;background:radial-gradient(circle at 0% 0%,rgba(232,209,145,.13),transparent 35%),#020a1180}.scenario-progress-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.scenario-progress-head small,.scenario-progress-grid article small{color:#e8d191e0;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.scenario-progress-head strong,.scenario-progress-grid article strong{color:var(--ink-0)}.scenario-progress-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:.5rem}.scenario-progress-grid article{display:grid;align-content:start;gap:.35rem;min-width:0;padding:.62rem;border:1px solid rgba(188,223,224,.13);border-radius:13px;background:#06161f8a}.scenario-progress-grid article span,.scenario-check-list li{color:var(--ink-2)}.scenario-check-list{margin:0}.scenario-check-done::marker{color:#1fbf7cf2}.scenario-check-left::marker{color:#e8d191f2}.scene-master-card{display:grid;align-content:start;gap:.45rem;min-width:0;padding:.72rem;border:1px solid rgba(188,223,224,.14);border-radius:15px;background:#020a1180}.scene-master-card small{color:#e8d191e0;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.scene-master-card strong{color:var(--ink-0);font-size:1.02rem}.scene-master-card span,.scene-master-card li{color:var(--ink-2)}.scene-master-card-primary{border-color:#1fbf7c3d;background:radial-gradient(circle at 10% 0%,rgba(31,191,124,.13),transparent 40%),#020a1185}.scene-master-card-danger{border-color:#d67a5c59;background:radial-gradient(circle at 10% 0%,rgba(214,122,92,.14),transparent 42%),#200c0e8f}.party-memory-panel{display:grid;gap:.8rem;border-color:#5fb3ff42;background:radial-gradient(circle at 0% 0%,rgba(95,179,255,.14),transparent 32%),radial-gradient(circle at 100% 0%,rgba(232,209,145,.1),transparent 34%),#020a11a3}.party-memory-head{display:grid;gap:.25rem}.party-memory-head h3{margin:0;color:var(--ink-0)}.party-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.6rem}.party-memory-grid article{display:grid;align-content:start;gap:.42rem;min-width:0;padding:.72rem;border:1px solid rgba(188,223,224,.13);border-radius:15px;background:#030e1694}.party-memory-grid article small{color:#5fb3ffeb;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.party-memory-grid li{color:var(--ink-2)}.party-memory-grid li strong{color:var(--ink-0)}.team-play-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.team-play-player{display:grid;gap:.5rem;min-width:0;padding:.68rem;border:1px solid rgba(188,223,224,.18);border-radius:14px;background:#05101875}.team-play-player-active{border-color:#7be6af70;background:radial-gradient(circle at 20% 0%,rgba(123,230,175,.16),transparent 48%),#09262085}.team-play-player-afk{border-color:#e8d19157}.team-play-player strong{display:block;color:var(--ink-0);overflow-wrap:anywhere}.team-play-player small{display:block;color:var(--ink-3);overflow-wrap:anywhere}.team-play-player-chips{display:flex;flex-wrap:wrap;gap:.35rem}.team-play-player-chips span{max-width:100%;padding:.26rem .48rem;border:1px solid rgba(188,223,224,.18);border-radius:999px;color:var(--ink-1);background:#030d1570;font-size:.76rem;font-weight:800;overflow-wrap:anywhere}.character-hud-panel,.initiative-hud-panel{display:grid;gap:.85rem;margin-bottom:1rem;padding:.9rem;border:1px solid rgba(127,203,188,.3);border-radius:18px;background:radial-gradient(circle at 0% 0%,rgba(127,203,188,.16),transparent 34%),linear-gradient(135deg,#082025e6,#060e18f0);box-shadow:0 16px 38px #01080e3d,inset 0 0 28px #7fcbbc14}.character-hud-panel{grid-template-columns:minmax(180px,.8fr) minmax(280px,1.8fr);align-items:stretch}.character-hud-identity{display:grid;align-content:center;gap:.2rem;min-width:0;padding:.8rem;border:1px solid rgba(232,209,145,.24);border-radius:15px;background:radial-gradient(circle at 10% 0%,rgba(232,209,145,.18),transparent 48%),#0510188f}.character-hud-identity strong{color:var(--ink-0);font-family:Cinzel,serif;font-size:clamp(1.35rem,2.6vw,2rem);overflow-wrap:anywhere}.character-hud-identity small{color:var(--ink-2);font-weight:800}.character-hud-kicker{color:#c1e1dec7;font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.character-hud-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.character-hud-stat{display:grid;gap:.16rem;min-width:0;padding:.65rem;border:1px solid rgba(175,220,219,.18);border-radius:13px;background:#030d156b}.character-hud-stat small{color:var(--ink-3);font-size:.72rem;font-weight:800;text-transform:uppercase}.character-hud-stat strong{color:var(--ink-0);font-size:.98rem;overflow-wrap:anywhere}.character-hud-stat-hp{border-color:#7be6af57;background:linear-gradient(135deg,#0f523859,#030d1580)}.character-hud-row{grid-column:1 / -1;display:grid;grid-template-columns:.75fr 1fr 1.25fr;gap:.65rem}.character-hud-row>div{display:grid;gap:.45rem;min-width:0}.character-hud-chips,.initiative-hud-track{display:flex;flex-wrap:wrap;gap:.35rem}.character-hud-chip,.initiative-hud-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.34rem .58rem;border:1px solid rgba(188,223,224,.2);border-radius:999px;color:var(--ink-1);background:#05101899;font-size:.82rem;font-weight:800;overflow-wrap:anywhere}.character-hud-chip-effect{border-color:#e8d19157;color:#f4dc9f;background:#3f2f1261}.character-hud-chip-item{border-color:#7be6af4d;color:#d9f8df;background:radial-gradient(circle at 20% 0%,rgba(123,230,175,.16),transparent 42%),#09302370}.character-hud-chip-item-equipped{border-color:#e8d19170;color:#f4dc9f}.character-hud-chip-muted,.initiative-hud-chip-muted{color:var(--ink-3)}.character-hud-chip-spell{border-color:#b694f057;color:#dcc8f8;background:#2812466b}.death-save-track{display:flex;flex-direction:column;gap:.2rem;margin-top:.35rem}.death-save-row{display:flex;gap:.3rem;align-items:center}.death-save-pip{width:.7rem;height:.7rem;border-radius:50%;border:1.5px solid rgba(188,223,224,.35);background:#05101899;flex-shrink:0}.death-save-pip--success.death-save-pip--filled{border-color:#7be6afb3;background:#7be6af8c}.death-save-pip--failure.death-save-pip--filled{border-color:#e66464b3;background:#e664648c}.combat-log-panel{display:grid;gap:.55rem;padding:.9rem 1rem;border:1px solid rgba(188,223,224,.14);border-radius:var(--radius, .6rem);background:#050c14b3}.combat-log-list{list-style:none;margin:0;padding:0;max-height:10rem;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.combat-log-entry{font-size:.82rem;color:var(--ink-2, #bcd8e0);border-left:2px solid rgba(142,207,240,.28);padding-left:.5rem;line-height:1.45}.combat-log-entry:first-child{color:var(--ink-1, #e8f4f8);border-left-color:#8ecff08c}.initiative-hud-panel{border-color:#8ecff042;background:radial-gradient(circle at 100% 0%,rgba(142,207,240,.14),transparent 34%),linear-gradient(135deg,#07182ae6,#060e18f0)}.initiative-hud-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.initiative-hud-summary span{display:grid;gap:.18rem;padding:.7rem;border:1px solid rgba(142,207,240,.2);border-radius:14px;background:#05101885}.initiative-hud-summary small,.initiative-hud-chip small{color:var(--ink-3);font-size:.72rem;font-weight:800;text-transform:uppercase}.initiative-hud-summary strong{color:var(--ink-0);font-family:Cinzel,serif;font-size:1.05rem}.initiative-hud-chip{border-radius:14px}.initiative-hud-chip em{color:var(--accent-2);font-style:normal;font-size:.72rem;text-transform:uppercase}.initiative-hud-chip-current{border-color:#7be6af75;color:#effff8;background:radial-gradient(circle at 20% 0%,rgba(123,230,175,.2),transparent 50%),#092a22ad}.streamed-narration{white-space:pre-wrap}.turn-outcome-panel{display:grid;gap:.85rem;padding:.9rem;border:1px solid rgba(215,193,142,.3);border-radius:16px;background:linear-gradient(135deg,#2a1b21e6,#0f202de0 54%,#192e27d6),#0a121cf0;box-shadow:0 18px 45px #01080f47,inset 0 0 34px #d4b2651c}.turn-outcome-dock{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.75rem .85rem;border:1px solid rgba(232,209,145,.22);border-radius:16px;background:radial-gradient(circle at 0% 0%,rgba(232,209,145,.12),transparent 35%),linear-gradient(135deg,#0d1c29eb,#050f18f0);box-shadow:0 14px 34px #02080e38}.turn-outcome-dock>div{display:grid;gap:.16rem;min-width:0}.turn-outcome-dock strong{color:var(--ink-0);overflow-wrap:anywhere}.turn-outcome-dock small{color:var(--ink-2)}.turn-outcome-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:clamp(.8rem,2vw,1.5rem);background:radial-gradient(circle at 50% 20%,rgba(30,64,90,.28),transparent 42%),#01070cc2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.turn-outcome-modal{position:relative;width:min(1040px,100%);max-height:min(88vh,920px);overflow:auto;border:1px solid rgba(232,209,145,.28);border-radius:24px;box-shadow:0 30px 90px #0000008c}.turn-outcome-modal .turn-outcome-panel{border-radius:24px}.turn-outcome-modal-close{position:absolute;top:.9rem;right:.9rem;z-index:2;min-height:36px;padding:.35rem .7rem;border:1px solid rgba(232,209,145,.34);border-radius:999px;background:#050f18e0;color:var(--ink-0);font-weight:800}.turn-outcome-modal-close:hover,.turn-outcome-modal-close:focus-visible{border-color:#e8d191b3;background:#1e3644f2}.turn-outcome-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;min-width:0}.turn-outcome-hero h3{margin:.15rem 0 0;font-family:Cinzel,serif;letter-spacing:0}.turn-outcome-kicker,.turn-outcome-card-label{margin:0;color:#f0c96f;font-size:.72rem;font-weight:700;text-transform:uppercase}.turn-outcome-location{margin:.2rem 0 0;color:var(--ink-3);font-size:.88rem}.turn-outcome-next{flex:0 0 min(280px,42%);display:grid;gap:.18rem;padding:.68rem .75rem;border:1px solid rgba(232,209,145,.28);border-radius:14px;background:#0b161e9e;box-shadow:inset 0 0 22px #f0c96f14}.turn-outcome-next span{color:var(--ink-3);font-size:.78rem}.turn-outcome-next strong{color:var(--ink-0);overflow-wrap:anywhere}.turn-outcome-storyteller{margin:0}.turn-outcome-narration{white-space:pre-wrap;color:var(--ink-0);line-height:1.62;padding:.8rem .85rem;border-left:3px solid rgba(240,201,111,.58);border-radius:12px;background:linear-gradient(90deg,#f0c96f17,#5994800f),#08121a6b}.turn-outcome-result-summary{display:grid;gap:.62rem;padding:.78rem .85rem;border:1px solid rgba(109,206,158,.28);border-radius:14px;background:radial-gradient(circle at 0% 0%,rgba(109,206,158,.16),transparent 42%),linear-gradient(135deg,#0a1f24e0,#09121de6)}.turn-outcome-result-summary strong{color:var(--ink-0);font-family:Cinzel,serif}.turn-outcome-result-summary div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.turn-outcome-result-summary span{min-width:0;padding:.48rem .55rem;border:1px solid rgba(184,215,206,.18);border-radius:12px;color:var(--ink-1);background:#040d1561;overflow-wrap:anywhere}.turn-outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.turn-outcome-card{min-width:0;padding:.78rem;border:1px solid rgba(184,215,206,.22);border-radius:14px;background:linear-gradient(180deg,#12262fd1,#0d1822e6),#09121adb;box-shadow:inset 0 0 24px #49948b14}.turn-outcome-card strong{display:block;margin-top:.32rem;color:var(--ink-0);overflow-wrap:anywhere}.turn-outcome-card p,.turn-outcome-card>span:last-child{margin:.34rem 0 0;color:var(--ink-3);font-size:.86rem}.turn-outcome-healing{border-color:#6dce9e57;background:linear-gradient(180deg,#1f4334c7,#0c191ce6),#091418db}.turn-outcome-events{display:grid;gap:.42rem;margin:.48rem 0 0;padding-left:1.05rem;color:var(--ink-1)}.turn-outcome-events li{overflow-wrap:anywhere}.turn-outcome-participants{grid-column:span 1}.turn-outcome-participant-list{display:grid;gap:.5rem;margin-top:.5rem}.turn-outcome-participant{display:grid;gap:.36rem;padding:.54rem;border:1px solid rgba(179,216,225,.18);border-radius:12px;background:#08121b80}.turn-outcome-participant>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:.55rem;min-width:0}.turn-outcome-participant strong,.turn-outcome-participant span{overflow-wrap:anywhere}.turn-outcome-participant>div:first-child span{flex:0 0 auto;color:var(--ink-3);font-size:.82rem}.turn-outcome-chip-list{display:flex;flex-wrap:wrap;gap:.28rem}.turn-outcome-chip{max-width:100%;padding:.16rem .42rem;border:1px solid rgba(232,209,145,.25);border-radius:999px;color:#f4dc9f;background:#392b1557;font-size:.7rem;font-weight:700;overflow-wrap:anywhere}.quick-action-bar{display:grid;gap:.7rem;margin-top:.85rem;padding:.75rem;border:1px solid rgba(151,213,241,.26);border-radius:14px;background:linear-gradient(135deg,#214358c7,#0b1927e6),#0a1724db;box-shadow:inset 0 0 28px #4e8bb024}.action-helper-panel{display:grid;gap:.7rem;margin-top:.7rem;padding:.75rem;border:1px solid rgba(232,209,145,.28);border-radius:14px;background:linear-gradient(135deg,#483414c2,#13181eeb),#14191fe0;box-shadow:inset 0 0 28px #e8d1911f}.action-builder-panel{display:grid;gap:.78rem;padding:.85rem;border:1px solid rgba(109,206,158,.32);border-radius:16px;background:radial-gradient(circle at 0% 0%,rgba(109,206,158,.16),transparent 42%),linear-gradient(135deg,#0c2d2bd1,#09121ceb);box-shadow:0 16px 34px #02091033,inset 0 0 28px #6dce9e1a}.action-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.action-builder-head strong{display:block;color:var(--ink-0);font-family:Cinzel,serif;font-size:1.05rem}.action-builder-head span{display:block;margin-top:.16rem;color:var(--ink-3);font-size:.86rem}.action-builder-types{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.action-builder-type{min-height:50px;padding:.52rem .58rem;border:1px solid rgba(184,215,206,.24);border-radius:12px;color:var(--ink-1);background:#05101894;font-weight:800}.action-builder-type-active,.action-builder-type:hover:not(:disabled),.action-builder-type:focus-visible{border-color:#6dce9ead;color:var(--ink-0);background:radial-gradient(circle at 20% 0%,rgba(109,206,158,.22),transparent 48%),#0b2a26d1}.action-builder-summary{display:grid;gap:.2rem;padding:.66rem .76rem;border:1px solid rgba(232,209,145,.25);border-radius:13px;background:#040d146b}.action-builder-summary span{color:var(--accent-2);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.action-builder-summary strong{color:var(--ink-0);font-size:1rem;overflow-wrap:anywhere}.quick-action-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.quick-action-bar-head strong{font-family:Cinzel,serif;letter-spacing:0}.quick-action-bar-head span{color:var(--ink-3);font-size:.82rem}.quick-action-bar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.quick-action-button{min-height:78px;padding:.62rem;border-radius:12px;border:1px solid rgba(154,218,247,.32);background:radial-gradient(circle at 20% 0%,rgba(151,218,248,.18),transparent 42%),#0e1f2fe6;color:var(--ink-0);text-align:left;display:grid;align-content:start;gap:.28rem;box-shadow:0 10px 26px #02091038}.quick-action-button:hover:not(:disabled),.quick-action-button:focus-visible{border-color:#bdebff9e;background:radial-gradient(circle at 20% 0%,rgba(151,218,248,.28),transparent 42%),#142e44f5}.quick-action-button:disabled{cursor:not-allowed;opacity:.48}.quick-action-button span{color:var(--accent-2);font-size:.72rem;font-weight:700;text-transform:uppercase}.quick-action-button strong{font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.world-map-panel{display:grid;gap:.85rem;padding:.85rem;border-radius:16px;border:1px solid rgba(132,199,230,.26);background:linear-gradient(135deg,#0d202deb,#0f1d2bd6),#09121ce6;box-shadow:inset 0 0 30px #4181a31f}.world-map-head,.world-map-layout,.world-map-npcs{min-width:0}.world-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.world-map-head h3{margin:.1rem 0 0;font-family:Cinzel,serif;letter-spacing:0}.world-map-head>span{flex:0 0 auto;color:var(--ink-3);font-size:.82rem}.world-map-kicker{margin:0;color:var(--accent-2);font-size:.72rem;font-weight:700;text-transform:uppercase}.world-map-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.4fr);gap:.75rem;align-items:stretch}.world-map-current{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;min-width:0;padding:.72rem;border:1px solid rgba(181,224,244,.28);border-radius:14px;background:radial-gradient(circle at 0% 0%,rgba(169,224,249,.16),transparent 46%),#0b1926e0}.world-map-current>span{width:34px;height:34px;border-radius:50%;border:2px solid rgba(220,245,255,.9);background:radial-gradient(circle,#7ed3f7f2,#25638759);box-shadow:0 0 20px #65ccf752}.world-map-current small,.world-map-route small,.world-map-npc-chip small{color:var(--ink-3);font-size:.72rem}.world-map-current strong{display:block;font-size:1rem}.world-map-current p{margin:.25rem 0 0;color:var(--ink-2);line-height:1.35}.world-map-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.world-map-route{min-height:96px;display:grid;align-content:start;gap:.18rem;padding:.62rem;border-radius:12px;border:1px solid rgba(123,169,195,.26);background:#111f2ebd;color:var(--ink-0);text-align:left}.world-map-route-available{border-color:#7ed2f880;background:radial-gradient(circle at 12% 0%,rgba(126,210,248,.2),transparent 45%),#11273ae6}.world-map-route:disabled{cursor:not-allowed;opacity:.52}.world-map-route:hover:not(:disabled),.world-map-route:focus-visible{border-color:#caefffb8}.world-map-route span,.world-map-route em{color:var(--ink-2);font-style:normal;overflow-wrap:anywhere}.world-map-npcs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.world-map-npc-chip{display:inline-flex;gap:.35rem;align-items:center;max-width:100%;padding:.32rem .55rem;border-radius:999px;border:1px solid rgba(139,205,240,.25);background:#14283abd}.waiting-turn-panel{display:grid;gap:.85rem;padding:.95rem;border-radius:16px;border:1px solid rgba(242,198,128,.34);background:radial-gradient(circle at 8% 0%,rgba(242,198,128,.18),transparent 34%),linear-gradient(135deg,#261d18f0,#12222ae0);box-shadow:inset 0 0 34px #f2c6801a}.waiting-turn-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center}.waiting-turn-kicker{margin:0;color:#f2c680;font-size:.72rem;font-weight:800;text-transform:uppercase}.waiting-turn-hero h3{margin:.08rem 0 .3rem;font-family:Cinzel,serif;letter-spacing:0}.waiting-turn-hero p{margin:0;color:var(--ink-2);line-height:1.45}.waiting-turn-hero p span{color:#f2c680;font-weight:700}.waiting-turn-actor{display:grid;justify-items:center;gap:.18rem;min-width:118px;padding:.72rem;border-radius:14px;border:1px solid rgba(242,198,128,.32);background:#0e141c9e}.waiting-turn-actor>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#1a1512;font-weight:900;background:linear-gradient(135deg,#f2c680,#86d3d1)}.waiting-turn-actor strong,.waiting-turn-card strong{overflow-wrap:anywhere}.waiting-turn-actor small,.waiting-turn-card small,.waiting-turn-party small,.waiting-turn-queue small{color:var(--ink-3)}.waiting-turn-grid{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(180px,.9fr);gap:.7rem}.waiting-turn-card{display:grid;align-content:start;gap:.48rem;min-width:0;padding:.72rem;border-radius:14px;border:1px solid rgba(189,220,220,.24);background:#09121c94}.waiting-turn-card-scene{min-height:148px}.waiting-turn-card p{margin:0;color:var(--ink-2);line-height:1.42}.waiting-turn-card ul{display:grid;gap:.3rem;margin:.15rem 0 0;padding-left:1rem;color:var(--ink-2)}.waiting-turn-mapline{display:inline-grid;grid-template-columns:auto auto minmax(0,1fr);gap:.38rem;align-items:center;width:fit-content;max-width:100%;padding:.34rem .5rem;border-radius:999px;border:1px solid rgba(134,211,209,.28);background:#102d3085}.waiting-turn-mapline span{color:#86d3d1;font-size:.72rem;font-weight:800;text-transform:uppercase}.waiting-turn-mapline strong{color:var(--ink-0)}.waiting-turn-queue,.waiting-turn-hints,.waiting-turn-party{display:grid;gap:.42rem}.waiting-turn-queue span,.waiting-turn-party span,.waiting-turn-hints button{min-width:0;border-radius:10px;border:1px solid rgba(139,205,240,.2);background:#111f2ead}.waiting-turn-queue span,.waiting-turn-party span{display:grid;gap:.08rem;padding:.48rem .55rem}.waiting-turn-queue-current{border-color:#f2c6808c!important;background:linear-gradient(135deg,#f2c68024,#1b363ea8)!important}.waiting-turn-queue em{color:#f2c680;font-size:.68rem;font-style:normal;font-weight:800;text-transform:uppercase}.waiting-turn-hints{grid-template-columns:repeat(2,minmax(0,1fr))}.waiting-turn-hints button{padding:.5rem .56rem;color:var(--ink-1);cursor:pointer;font-weight:700;line-height:1.25;text-align:left;overflow-wrap:anywhere;transition:border-color .18s ease,background .18s ease,transform .18s ease}.waiting-turn-hints button:hover:not(:disabled),.waiting-turn-hints button:focus-visible{border-color:#f2c68094;background:#1e3644d6;transform:translateY(-1px)}.waiting-turn-hints button:disabled{cursor:not-allowed;opacity:.62}.scene-npc-panel{display:grid;gap:.85rem;padding:.85rem;border:1px solid rgba(185,215,197,.28);border-radius:16px;background:linear-gradient(135deg,#112c26e6,#1c1f2fdb),#09121ce6;box-shadow:inset 0 0 30px #63a6891c}.scene-npc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.scene-npc-head h3{margin:.1rem 0 0;font-family:Cinzel,serif;letter-spacing:0}.scene-npc-head>span{flex:0 0 auto;color:var(--ink-3);font-size:.82rem}.scene-npc-kicker{margin:0;color:#9fe2ba;font-size:.72rem;font-weight:700;text-transform:uppercase}.scene-npc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.scene-npc-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:.75rem;min-width:0;padding:.72rem;border:1px solid rgba(192,224,210,.24);border-radius:14px;background:linear-gradient(180deg,#12272adb,#0c1720eb),#08111ae6;box-shadow:0 12px 30px #02080e3d}.scene-npc-portrait-wrap{min-width:0}.scene-npc-portrait{width:92px;height:118px;display:grid;place-items:center;border:1px solid rgba(218,235,214,.28);border-radius:12px;object-fit:cover;background:radial-gradient(circle at 35% 20%,rgba(159,226,186,.22),transparent 44%),#0b191deb;color:#d7f2dc;font-family:Cinzel,serif;font-size:2rem;font-weight:700}.scene-npc-body{display:grid;gap:.45rem;min-width:0}.scene-npc-title{display:grid;gap:.12rem}.scene-npc-title strong{color:var(--ink-0);overflow-wrap:anywhere}.scene-npc-title span,.scene-npc-stats{color:var(--ink-3);font-size:.82rem}.scene-npc-stats,.scene-npc-motive{margin:0}.scene-npc-state{display:grid;gap:.32rem;padding:.5rem;border:1px solid rgba(159,226,186,.18);border-radius:12px;background:#040f156b}.scene-npc-state-row{display:flex;flex-wrap:wrap;gap:.28rem}.scene-npc-state-chip{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .48rem;border:1px solid rgba(192,224,210,.2);border-radius:999px;background:#0d2027d1;color:var(--ink-1);font-size:.74rem;font-weight:800}.scene-npc-state-life-alive{border-color:#1fbf7c61;color:#adf0c8}.scene-npc-state-life-dead{border-color:#ef44446b;color:#fecaca}.scene-npc-state-hp{color:#f3d79c}.scene-npc-state p{margin:0;color:var(--ink-2);font-size:.78rem;line-height:1.32;overflow-wrap:anywhere}.scene-npc-motive{min-height:2.5em;color:var(--ink-1);line-height:1.35;overflow-wrap:anywhere}.scene-npc-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.1rem}.scene-npc-action{min-height:34px;padding:.32rem .55rem;border-radius:999px;border:1px solid rgba(159,226,186,.32);background:#102c25c7;color:var(--ink-0);font-size:.8rem;font-weight:700}.scene-npc-action:hover:not(:disabled),.scene-npc-action:focus-visible{border-color:#c4f1d5ad;background:#1c4c3deb}.scene-npc-action:disabled{cursor:not-allowed;opacity:.48}.stream-cursor{display:inline-block;margin-left:2px;animation:streamCursorBlink .7s steps(1,end) infinite}.cards-list,.journal-list{display:grid;gap:.6rem;padding:0;margin:0;list-style:none}.cards-list li,.journal-list li{border:1px solid rgba(116,166,196,.28);border-radius:16px;padding:.75rem;background:linear-gradient(180deg,#83d7ff0a,#070e16d6),#081b2899}.cards-list li em{display:block;color:#9fe5ff;margin-top:.3rem}.journal-list li header{display:flex;gap:.4rem;align-items:baseline}.journal-list li p{margin:.35rem 0 0;color:#e3f0f8}.journal-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.journal-section{display:grid;align-content:start;gap:.6rem;min-width:0;padding:.75rem;border:1px solid rgba(116,166,196,.22);border-radius:18px;background:radial-gradient(circle at 0% 0%,rgba(129,212,255,.08),transparent 38%),#05111c7a}.journal-section-results{border-color:#e8d19142}.journal-section-narrative{border-color:#9ec2ff3d}.journal-section-system{border-color:#abb8c438}.journal-section-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.journal-section-head h3{margin:0;color:var(--ink-0);font-family:Cinzel,serif;font-size:1.05rem}.journal-section-head p{margin:.15rem 0 0;color:var(--ink-3);font-size:.82rem}.journal-section-head>span{flex:0 0 auto;min-width:2rem;padding:.18rem .45rem;border:1px solid rgba(184,215,206,.22);border-radius:999px;color:var(--ink-1);background:#0510189e;text-align:center;font-weight:900}.journal-list-sectioned{gap:.48rem}.journal-entry{position:relative}.journal-entry-results{border-color:#e8d19152;background:linear-gradient(180deg,#e8d19112,#070e16d6),#2a1d0b6b}.journal-entry-system{opacity:.9}.journal-entry-empty{border-style:dashed;color:var(--ink-3)}.journal-event-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.journal-event-badge{display:inline-flex;align-items:center;gap:.24rem;padding:.2rem .46rem;border:1px solid rgba(188,223,224,.2);border-radius:999px;color:var(--ink-1);background:#051018a3;font-size:.74rem;font-weight:900}.journal-event-badge-roll{border-color:#8ecff057;color:#bcecff}.journal-event-badge-damage{border-color:#ee685b80;color:#ffb2a9;background:#53141275}.journal-event-badge-heal{border-color:#7be6af6b;color:#b9ffd7;background:#0f432970}.journal-event-badge-death{border-color:#be495c8c;color:#ffd0d8;background:#3a0b1494}.journal-event-badge-item{border-color:#e8d19175;color:#f4dc9f;background:#3f2f126b}.journal-summary{display:grid;gap:.24rem;margin:.65rem 0;padding:.7rem .82rem;border:1px solid rgba(123,230,175,.3);border-radius:14px;background:radial-gradient(circle at 0% 0%,rgba(123,230,175,.14),transparent 44%),#071b1abd}.journal-summary strong{color:var(--ink-0);font-family:Cinzel,serif}.journal-summary span{color:var(--ink-1)}.report-grid{display:grid;gap:.7rem;grid-template-columns:repeat(3,minmax(0,1fr))}.report-grid article{border:1px solid rgba(118,173,206,.28);background:linear-gradient(180deg,#81d4ff0d,#070e15d1),#09121cc2;border-radius:16px;padding:.8rem}.error-banner,.loading-indicator{position:fixed;right:1rem;bottom:1rem;border-radius:10px;padding:.7rem .9rem;border:1px solid rgba(248,145,157,.38);background:#370c12f0;max-width:min(420px,92vw)}.loading-indicator{bottom:4.8rem;border-color:var(--status-ok);background:var(--status-ok-bg)}.game-notification-controls{position:fixed;z-index:28;top:1rem;right:1rem;display:flex;justify-content:flex-end;pointer-events:none}.notification-sound-toggle{pointer-events:auto;display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(134,200,230,.28);border-radius:999px;padding:.5rem .72rem;color:var(--ink-1);background:linear-gradient(180deg,#b0e0ff14,#060e18e0),#08111dd6;box-shadow:0 14px 34px #00000047;font-size:.82rem;font-weight:800;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.notification-sound-toggle.active{color:var(--ink-0);border-color:#6de3af73}.notification-sound-dot{width:.55rem;height:.55rem;border-radius:999px;background:#7a8ca0eb;box-shadow:0 0 0 4px #7a8ca01f}.notification-sound-toggle.active .notification-sound-dot{background:var(--status-ok);box-shadow:0 0 0 4px #4dd68b24,0 0 18px #4dd68b6b}.game-toast{position:fixed;z-index:30;top:4rem;right:1rem;width:min(380px,calc(100vw - 2rem));border:1px solid rgba(136,204,235,.34);border-radius:20px;padding:.9rem 1rem .95rem;color:var(--ink-0);background:radial-gradient(circle at 16% 0%,rgba(139,220,255,.18),transparent 34%),linear-gradient(145deg,#0d1f2ff5,#050c15f5);box-shadow:inset 0 1px #e7f9ff14,0 24px 70px #00000070;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:toastSlideIn .22s ease-out both}.game-toast:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border-left:4px solid rgba(124,207,255,.75);pointer-events:none}.game-toast-chat:before{border-left-color:#5fc6ffdb}.game-toast-turn:before{border-left-color:#56e69ae6}.game-toast-npc:before{border-left-color:#ffaa62e6}.game-toast-system:before{border-left-color:#bea0ffe0}.game-toast-kicker{display:block;margin-bottom:.2rem;color:var(--ink-2);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.game-toast strong{display:block;font-family:Cinzel,serif;font-size:1.05rem;letter-spacing:.02em}.game-toast p{margin:.34rem 0 0;color:var(--ink-1);line-height:1.45}@keyframes toastSlideIn{0%{opacity:0;transform:translate3d(14px,-8px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floatA{0%,to{transform:translate(0)}50%{transform:translate(-16px,10px)}}@keyframes floatB{0%,to{transform:translate(0)}50%{transform:translate(12px,-12px)}}@keyframes dieRollShake{0%{transform:rotate(0) scale(1)}25%{transform:rotate(5deg) scale(1.03)}50%{transform:rotate(-5deg) scale(.98)}75%{transform:rotate(3deg) scale(1.02)}to{transform:rotate(0) scale(1)}}@keyframes dieProjectilePath{0%,to{transform:translateZ(0)}}@keyframes dieRollTumbleMini{0%{transform:perspective(460px) rotateX(0) rotateY(0) rotate(0) translateZ(0) scale(1.01,.99)}18%{transform:perspective(460px) rotateX(24deg) rotateY(-28deg) rotate(-9deg) translate3d(-3px,-9px,0) scale(.97,1.04)}34%{transform:perspective(460px) rotateX(-14deg) rotateY(18deg) rotate(7deg) translate3d(3px,-5px,0) scale(1.03,.97)}56%{transform:perspective(460px) rotateX(12deg) rotateY(-16deg) rotate(-4deg) translate3d(-1px,1px,0) scale(.99,1.01)}76%{transform:perspective(460px) rotateX(-6deg) rotateY(9deg) rotate(2deg) translate3d(1px,-2px,0) scale(1.01,.99)}to{transform:perspective(460px) rotateX(0) rotateY(0) rotate(0) translateZ(0) scale(1)}}@keyframes dieRollPulseMini{0%,to{box-shadow:inset 0 0 24px #4582b038}45%{box-shadow:inset 0 0 30px #60aedd47}70%{box-shadow:inset 0 0 19px #3a70982e}}@keyframes dieSpinRoll{0%{transform:perspective(560px) rotateX(16deg) rotateY(-24deg) rotate(-10deg) scale(1)}24%{transform:perspective(560px) rotateX(200deg) rotateY(-280deg) rotate(-26deg) scale(.98,1.02)}52%{transform:perspective(560px) rotateX(420deg) rotateY(-600deg) rotate(8deg) scale(1.02,.98)}76%{transform:perspective(560px) rotateX(560deg) rotateY(-780deg) rotate(12deg) scale(.99,1.01)}to{transform:perspective(560px) rotateX(720deg) rotateY(-1020deg) rotate(0) scale(1)}}@keyframes diePathSettle{0%{transform:translate3d(9px,-6px,0)}65%{transform:translate3d(-2px,2px,0)}to{transform:translateZ(0)}}@keyframes dieRollPulse{0%,to{box-shadow:inset 0 0 24px #5296c52e,0 10px 22px #00000052}50%{box-shadow:inset 0 0 30px #60aedd42,0 14px 28px #0006}}@keyframes dieSettle{0%{transform:perspective(560px) rotateX(26deg) rotateY(-34deg) rotate(11deg) translate3d(4px,-14px,0) scale(.94,1.06)}42%{transform:perspective(560px) rotateX(-12deg) rotateY(18deg) rotate(-5deg) translate3d(-2px,2px,0) scale(1.03,.97)}72%{transform:perspective(560px) rotateX(4deg) rotateY(-6deg) rotate(2deg) translate3d(1px,-1px,0) scale(.99,1.01)}88%{transform:perspective(560px) rotateX(-2deg) rotateY(2deg) rotate(-1deg) translate3d(0,1px,0) scale(1.01,.99)}to{transform:perspective(560px) rotateX(0) rotateY(0) rotate(0) translateZ(0) scale(1)}}@keyframes streamCursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width: 980px){.layout-grid,.grid-two,.journal-sections,.report-grid{grid-template-columns:1fr}.panel-wide{grid-column:span 1}.page-shell{width:min(1240px,calc(100% - 1rem))}.storyteller-preview-card,.storyteller-turn-card{grid-template-columns:1fr}.storyteller-preview-image{width:100%;max-width:240px;height:auto;aspect-ratio:4 / 5}}.callout-spaced{margin-top:.5rem}.panel-inset{border:1px solid rgba(150,209,239,.12);border-radius:16px;padding:12px;background:linear-gradient(180deg,#9bddff0a,#050b1285)}.panel-inset h3,.tight-heading{margin:0}.stack-tight{display:grid;gap:.35rem}.stack-compact{display:grid;gap:.5rem}.stack-loose{display:grid;gap:.75rem}.list-item-spaced{margin-top:.5rem}.row-inline-tight{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.small-button{padding:.25rem .55rem;font-size:.78rem}.row-inline-loose{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.row-inline-top{align-items:flex-start}.row-inline-stretch{align-items:stretch}.align-start{align-self:flex-start}.field-compact{width:min(180px,100%)}.field-span-first{grid-column:1 / 2}.field-span-full{grid-column:1 / -1}.inline-pre-wrap{white-space:pre-wrap;margin:0}.media-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.6rem}.storyteller-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}.storyteller-preset-card{display:grid;gap:.45rem;align-content:start;text-align:left;padding:.42rem;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(180deg,#bae9ff0f,#08111beb),#080f17db}.storyteller-preset-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.18;pointer-events:none}.storyteller-preset-card.is-selected{border-color:#ffd9a1cc;box-shadow:0 0 0 1px #ffd9a152 inset,0 14px 28px #0000003d}.storyteller-preset-image{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block;position:relative;z-index:1;border-radius:12px;border:1px solid rgba(133,191,223,.3);background:var(--surface-strong)}.storyteller-preset-name{font-family:Cinzel,serif;color:var(--ink-0);letter-spacing:.03em;position:relative;z-index:1}.storyteller-preset-copy{color:var(--ink-2);line-height:1.35;position:relative;z-index:1}.storyteller-archetype-list{display:flex;flex-wrap:wrap;gap:.45rem}.storyteller-archetype-chip{position:relative;padding:.45rem .7rem;border-radius:999px;text-align:left}.storyteller-archetype-chip.is-selected{border-color:#ffd9a1cc;box-shadow:0 0 0 1px #ffd9a147 inset}.storyteller-archetype-tooltip{position:absolute;left:0;top:auto;bottom:calc(100% + .45rem);width:min(280px,68vw);padding:.55rem .65rem;border-radius:10px;border:1px solid rgba(144,211,243,.35);background:#060c13f7;color:var(--ink-0);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease;pointer-events:none;z-index:8;text-transform:none;letter-spacing:normal;line-height:1.4;white-space:normal}.storyteller-archetype-chip:hover .storyteller-archetype-tooltip,.storyteller-archetype-chip:focus-visible .storyteller-archetype-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.media-picker-button{padding:.35rem}.media-picker-button.is-selected{border-color:#ffd9a1cc;box-shadow:0 0 0 1px #ffd9a159 inset}.media-preview-image,.avatar-image,.token-image{display:block;border-radius:10px;background:var(--surface-strong);object-fit:cover;border:1px solid rgba(132,188,221,.24);box-shadow:0 0 0 1px #9be6ff0d inset}.media-preview-image-lg{border-radius:12px;background:var(--surface-strong);object-fit:cover;border:1px solid rgba(132,188,221,.24)}.media-picker-caption{display:block;margin-top:.25rem}.image-button-reset{padding:0;border:none;background:transparent}.image-button-compact{padding:.25rem}.storyteller-preview-card,.storyteller-turn-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:center;border:1px solid rgba(137,197,227,.22);border-radius:16px;padding:.7rem;background:linear-gradient(180deg,#b2e7ff0f,#070e15db),#09131ed1}.storyteller-preview-image{width:118px;height:146px;object-fit:cover;border-radius:14px;display:block;border:1px solid rgba(151,209,238,.28);background:var(--surface-strong)}.storyteller-preview-visual{position:relative;width:118px;height:146px}.storyteller-preview-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:14px;opacity:.28;filter:saturate(.85);border:1px solid rgba(151,209,238,.14)}.storyteller-preview-visual .storyteller-preview-image{position:absolute;right:-10px;bottom:-8px;width:92px;height:118px;box-shadow:0 10px 24px #00000047}.storyteller-turn-image{width:76px;height:76px;object-fit:cover;border-radius:16px;display:block;border:1px solid rgba(151,209,238,.28);background:var(--surface-strong)}.storyteller-preview-copy,.storyteller-turn-copy{display:grid;gap:.18rem;min-width:0}.storyteller-preview-copy strong,.storyteller-turn-copy strong{font-family:Cinzel,serif;letter-spacing:.03em;color:#f2fbff}.storyteller-preview-copy span,.storyteller-turn-copy span{color:var(--ink-1)}.storyteller-preview-copy small,.storyteller-turn-copy small{color:var(--ink-2);line-height:1.35}.storyteller-identity-card{display:grid;gap:.28rem;margin-top:.38rem;padding:.55rem .7rem;border-radius:12px;border:1px solid rgba(142,208,240,.18);background:linear-gradient(180deg,#a9e5ff0a,#081018d1),#070e14b3}.storyteller-identity-row{display:grid;gap:.1rem}.storyteller-identity-row strong{font-family:Cinzel,serif;color:#f4fbff;font-size:.82rem;letter-spacing:.04em}.storyteller-identity-row span{color:var(--ink-1);font-size:.84rem}.storyteller-turn-card-queue{max-width:420px}.player-join-preview-card{margin-bottom:.2rem}.player-gender-field{display:grid;gap:.4rem}.player-gender-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;width:100%}.player-gender-chip{display:inline-flex;align-items:center;gap:.55rem;width:100%;min-width:0;padding:.4rem .65rem .4rem .4rem;border-radius:999px;background:linear-gradient(180deg,#b6e8ff0f,#081018e6),#080f17d6}.player-gender-chip-image{width:42px;height:42px;flex:0 0 42px;border-radius:999px;object-fit:cover;border:1px solid rgba(133,191,223,.3);background:var(--surface-strong)}.player-gender-chip-name{color:var(--ink-0);font-size:.92rem;line-height:1.2}.player-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:.55rem}.player-option-card{display:grid;gap:.35rem;justify-items:center;align-content:start;padding:.42rem;min-height:100%;border-radius:16px;text-align:center;background:linear-gradient(180deg,#b6e8ff0f,#081018e6),#080f17d6}.player-option-image{width:100%;max-width:92px;aspect-ratio:1 / 1;display:block;border-radius:14px;object-fit:cover;border:1px solid rgba(133,191,223,.3);background:var(--surface-strong)}.player-option-name{color:var(--ink-0);font-size:.88rem;line-height:1.2}.player-option-meta{color:var(--ink-2);font-size:.74rem;line-height:1.2}.portrait-placeholder,.media-placeholder{width:72px;height:72px;border-radius:10px;background:linear-gradient(135deg,#8ed6ff14,#0b131de0),#121a24;border:1px solid rgba(129,182,214,.22)}.warning-text{color:#f7a8b4}.scenario-transition-row,.trigger-status-row,.scenario-step-row{justify-content:space-between}.scenario-step-card{gap:.25rem;padding:10px 12px;border-radius:14px;border:1px solid rgba(132,188,217,.16);background:#03080e38}.scenario-step-card.is-current{border-color:#8cddff75;background:#427aa129;box-shadow:0 0 0 1px #96e2ff14 inset}.scenario-step-card.is-completed{background:#46748c29}.scenario-step-card.is-available{background:#2c4f702e}.journal-actions-row{margin-top:.5rem}.top-menu{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:.25rem;scrollbar-width:thin}.top-menu::-webkit-scrollbar{height:6px}.top-menu::-webkit-scrollbar-thumb{background:#8bcdf03d;border-radius:999px}.top-menu .menu-item{flex:0 0 auto}@media (max-width: 1080px){.page-shell{width:min(1280px,calc(100% - 1.25rem))}}@media (max-width: 980px){.actions,.row-inline,.row-inline-tight,.row-inline-loose{align-items:stretch}.row-inline>*,.row-inline-tight>*,.row-inline-loose>*{min-width:0}.tooltip-popup{left:0;top:1.55rem;width:min(320px,82vw)}.tooltip-anchor-field .tooltip-popup{top:auto;bottom:calc(100% + .4rem);width:min(320px,calc(100vw - 1.5rem))}}@media (max-width: 720px){.page-shell{width:calc(100% - .9rem);margin:1rem auto 2rem}.panel{padding:.85rem;border-radius:16px}.hero h1{font-size:clamp(1.6rem,8vw,2.2rem)}.hero{padding:1rem 1rem 1.15rem}.hero-head{flex-direction:column}.theme-switcher{width:100%;flex:1 1 auto}.theme-scene-banner{flex-direction:column;align-items:flex-start}.theme-scene-glyph{width:100%;max-width:110px;align-self:flex-end}.quick-action-bar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.turn-outcome-hero{display:grid}.turn-outcome-next{width:100%;flex-basis:auto}.turn-outcome-grid,.turn-outcome-result-summary div,.world-map-layout,.waiting-turn-hero,.waiting-turn-grid{grid-template-columns:1fr}.waiting-turn-actor{justify-items:start;grid-template-columns:auto minmax(0,1fr);align-items:center}.waiting-turn-actor small{grid-column:2}.scene-npc-grid,.scene-master-grid,.party-memory-grid{grid-template-columns:1fr}.scenario-progress-head{display:grid}.scenario-progress-grid{grid-template-columns:1fr}.frost-frame{top:-.2rem;right:-.2rem;bottom:-.2rem;left:-.2rem;border-radius:22px}.actions,.row-inline,.row-inline-tight,.row-inline-loose{flex-direction:column;align-items:stretch}.actions>*,.row-inline>*,.row-inline-tight>*,.row-inline-loose>*{width:100%}.field-compact,.row-inline input[type=number]{width:100%;max-width:none}.media-picker-grid{grid-template-columns:1fr}.journal-list li header{flex-wrap:wrap}.error-banner,.loading-indicator{left:.5rem;right:.5rem;max-width:none}}@media (max-width: 480px){input,textarea,select,button{font-size:16px}.callout,.story-block{padding:.7rem}.quick-action-bar{padding:.62rem}.turn-outcome-panel{padding:.7rem}.turn-outcome-participant>div:first-child{display:grid}.quick-action-bar-head{display:grid}.quick-action-bar-grid,.action-builder-types{grid-template-columns:1fr}.team-play-head{display:grid}.team-play-grid,.character-hud-panel,.character-hud-row,.initiative-hud-summary{grid-template-columns:1fr}.character-hud-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action-button{min-height:64px}.world-map-head,.scene-npc-head,.scene-npc-card{display:grid}.scene-npc-card{grid-template-columns:72px minmax(0,1fr)}.scene-npc-portrait{width:72px;height:92px}.world-map-routes,.waiting-turn-hints{grid-template-columns:1fr}}@keyframes frostSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.page-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.25;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}.page-background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--bg-0) 0%,transparent 40%,var(--bg-0) 100%)}.corner-ornament{position:absolute;width:120px;height:120px;pointer-events:none;opacity:.15;z-index:1}.corner-ornament img{width:100%;height:100%;object-fit:contain}.corner-ornament-tl{top:-1px;left:-1px;transform:rotate(0)}.corner-ornament-tr{top:-1px;right:-1px;transform:rotate(90deg)}.corner-ornament-bl{bottom:-1px;left:-1px;transform:rotate(-90deg)}.corner-ornament-br{bottom:-1px;right:-1px;transform:rotate(180deg)}.portrait-frame{position:relative;display:inline-block;border-radius:16px;overflow:hidden;border:2px solid rgba(130,216,255,.3);box-shadow:0 0 20px #82d8ff33,inset 0 0 20px #82d8ff1a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.portrait-frame:hover{transform:scale(1.05);box-shadow:0 0 30px #82d8ff59,inset 0 0 30px #82d8ff26;border-color:#82d8ff80}.portrait-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:1}.portrait-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.portrait-frame:hover .portrait-image{transform:scale(1.08)}.character-card{display:flex;gap:1rem;padding:1rem;border-radius:16px;background:linear-gradient(135deg,#14283c99,#0a141ecc),var(--panel-b);border:1px solid rgba(130,180,220,.2);position:relative;overflow:hidden}.character-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent)}.character-portrait{flex:0 0 80px;width:80px;height:80px;border-radius:12px;overflow:hidden;border:2px solid rgba(130,216,255,.25);box-shadow:0 4px 12px #0000004d}.character-portrait img{width:100%;height:100%;object-fit:cover}.character-info{flex:1;min-width:0}.character-name{font-family:Cinzel,serif;font-size:1.2rem;color:var(--accent-soft);margin:0 0 .25rem;text-shadow:0 0 10px rgba(130,216,255,.3)}.character-meta{font-size:.85rem;color:var(--ink-1);margin:.15rem 0}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.5rem;margin-top:.5rem}.inventory-slot{position:relative;aspect-ratio:1;border-radius:10px;border:1px solid rgba(130,180,220,.25);background:linear-gradient(135deg,#1e3246cc,#0f1923e6);cursor:pointer;transition:all .15s ease;overflow:hidden}.inventory-slot:hover{border-color:#82d8ff80;box-shadow:0 0 15px #82d8ff33;transform:translateY(-2px)}.inventory-slot.equipped{border-color:#64ff9680;box-shadow:0 0 15px #64ff9633}.inventory-slot img{width:100%;height:100%;object-fit:cover}.inventory-slot-quantity{position:absolute;bottom:2px;right:4px;font-size:.7rem;font-weight:700;color:var(--ink-0);text-shadow:0 0 4px rgba(0,0,0,.8)}.inventory-slot-equipped-badge{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#64ff964d;border:1px solid rgba(100,255,150,.6)}.action-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:.5rem;vertical-align:middle;object-fit:contain}.item-preview-card{display:flex;gap:.75rem;padding:.75rem;border-radius:12px;background:#0f192399;border:1px solid rgba(130,180,220,.2);transition:all .15s ease}.item-preview-card:hover{background:#142332b3;border-color:#82d8ff4d}.item-preview-image{width:56px;height:56px;border-radius:10px;border:1px solid rgba(130,180,220,.25);object-fit:cover;background:#0a141ecc}.item-preview-info{flex:1;min-width:0}.item-preview-name{font-weight:600;color:var(--ink-0);margin-bottom:.25rem}.item-preview-details{font-size:.8rem;color:var(--ink-1)}.npc-card{display:flex;gap:1rem;padding:1rem;border-radius:14px;background:linear-gradient(135deg,#19232db3,#0c1218d9);border:1px solid rgba(130,180,220,.18);margin-bottom:.75rem}.npc-portrait{flex:0 0 96px;width:96px;height:96px;border-radius:12px;overflow:hidden;border:2px solid rgba(180,140,100,.3);box-shadow:0 4px 16px #0006}.npc-portrait img{width:100%;height:100%;object-fit:cover}.npc-portrait.hostile{border-color:#ff646466;box-shadow:0 4px 16px #ff646433}.npc-portrait.friendly{border-color:#64ff9666;box-shadow:0 4px 16px #64ff9633}.npc-info{flex:1}.npc-name{font-family:Cinzel,serif;font-size:1.1rem;color:var(--ink-0);margin:0 0 .35rem}.npc-meta{font-size:.85rem;color:var(--ink-1);margin:.2rem 0}.npc-hostility-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-top:.35rem}.npc-hostility-badge.hostile{background:#ff646433;color:#f88;border:1px solid rgba(255,100,100,.3)}.npc-hostility-badge.neutral{background:#ffc86433;color:#fc8;border:1px solid rgba(255,200,100,.3)}.npc-hostility-badge.friendly{background:#64ff9633;color:#8fa;border:1px solid rgba(100,255,150,.3)}.scene-background{position:relative;padding:1.5rem;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0a141ed9,#050a0ff2);border:1px solid rgba(130,180,220,.15)}.scene-background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.15;filter:blur(2px)}.scene-content{position:relative;z-index:1}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-fade-in{animation:imageFadeIn .4s ease-out both}.image-loading{position:relative;background:#141e2899;border-radius:10px;overflow:hidden}.image-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(130,216,255,.2),transparent);animation:loadingShimmer 1.5s infinite}@keyframes loadingShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.image-tooltip{position:relative}.image-tooltip-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.5rem;background:#050a0ffa;border:1px solid rgba(130,216,255,.3);border-radius:12px;box-shadow:0 8px 24px #00000080;opacity:0;visibility:hidden;transition:all .2s ease;z-index:10;pointer-events:none}.image-tooltip:hover .image-tooltip-popup{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.image-tooltip[data-tooltip-side=start] .image-tooltip-popup{left:0;right:auto;transform:translate(0) translateY(-8px)}.image-tooltip[data-tooltip-side=start]:hover .image-tooltip-popup{transform:translate(0) translateY(-4px)}.image-tooltip[data-tooltip-side=end] .image-tooltip-popup{left:auto;right:0;transform:translate(0) translateY(-8px)}.image-tooltip[data-tooltip-side=end]:hover .image-tooltip-popup{transform:translate(0) translateY(-4px)}.image-tooltip-popup img{display:block;max-width:200px;border-radius:8px}.item-type-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.item-type-badge.weapon{background:#ff646426;color:#f99;border:1px solid rgba(255,100,100,.3)}.item-type-badge.armor{background:#6496ff26;color:#9bf;border:1px solid rgba(100,150,255,.3)}.item-type-badge.consumable{background:#64ff9626;color:#8fa;border:1px solid rgba(100,255,150,.3)}.item-type-badge.magic{background:#c864ff26;color:#c9f;border:1px solid rgba(200,100,255,.3)}.rarity-common{border-color:#c8c8c84d!important}.rarity-uncommon{border-color:#64ff644d!important}.rarity-rare{border-color:#6496ff66!important}.rarity-very-rare{border-color:#c864ff66!important}.rarity-epic{border-color:#ff963266!important}.rarity-legendary{border-color:#ffd70080!important;box-shadow:0 0 20px #ffd70033}@media (max-width: 720px){.character-card{flex-direction:column;align-items:center;text-align:center}.character-portrait{width:100px;height:100px}.npc-card{flex-direction:column;align-items:center;text-align:center}.npc-portrait{width:80px;height:80px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}}.tactical-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tactical-map-container{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:12px;width:90vw;max-width:900px;height:80vh;max-height:700px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.tactical-map-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.tactical-map-header h3{margin:0;font-family:Cinzel,serif;color:var(--accent);font-size:16px}.tactical-map-close{background:transparent;border:1px solid var(--line);color:var(--ink-1);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s}.tactical-map-close:hover{background:var(--bg-3)}.tactical-map-controls{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--line)}.tactical-map-controls button{background:var(--bg-3);border:1px solid var(--line);color:var(--ink-0);width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s}.tactical-map-controls button:hover{background:var(--accent-cold)}.zoom-label{color:var(--ink-2);font-size:12px;margin-left:4px}.tactical-map-svg{flex:1;background:var(--bg-0);cursor:grab;-webkit-user-select:none;user-select:none;min-height:300px}.tactical-map-svg:active{cursor:grabbing}.tactical-map-legend{display:flex;flex-wrap:wrap;gap:12px;padding:8px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-1)}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.player{background:#3b82f6}.legend-dot.npc{background:#22c55e}.legend-dot.monster{background:#ef4444}.legend-dot.melee{background:#3b82f6;opacity:.3}.legend-dot.ranged{background:#eab308;opacity:.3}.tactical-map-btn{font-size:13px;padding:4px 10px}.action-preview-panel{padding:8px 12px;border-radius:6px;margin-top:4px;font-size:13px;border:1px solid var(--line);background:var(--bg-2)}.action-preview-panel.valid{border-color:#22c55e;background:#22c55e14}.action-preview-panel.invalid{border-color:#ef4444;background:#ef444414}.action-errors,.action-warnings{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.action-error{color:#fca5a5;font-size:12px}.action-warning{color:#fbbf24;font-size:12px}.action-preview{margin-top:4px}.action-preview-title{font-weight:600;color:var(--accent);font-size:13px;margin-bottom:2px}.action-preview-details{margin:0;padding-left:16px;color:var(--ink-1);font-size:12px}.action-preview-details li{margin-bottom:1px}.action-submit-blocked{margin-top:6px;color:#f87171;font-size:12px;font-weight:500}.action-textarea-invalid{border-color:#ef4444!important}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tutorial-card{background:var(--bg-1);border:1px solid var(--accent);border-radius:12px;padding:24px 28px;max-width:480px;width:90%;box-shadow:0 0 40px #82d6ff26}.tutorial-progress{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:12px;color:var(--ink-2)}.tutorial-progress-bar{height:4px;background:var(--bg-3);border-radius:2px;overflow:hidden}.tutorial-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.tutorial-title{margin:0 0 8px;font-family:Cinzel,serif;color:var(--accent);font-size:18px}.tutorial-description{margin:0 0 12px;color:var(--ink-0);font-size:14px;line-height:1.5}.tutorial-tip{background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:6px;padding:8px 12px;font-size:12px;color:#fbbf24;margin-bottom:16px}.tutorial-actions{display:flex;gap:8px;align-items:center}.tutorial-btn{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--line);transition:background .15s,border-color .15s}.tutorial-btn.primary{background:var(--accent-cold);border-color:var(--accent);color:var(--bg-0);font-weight:600}.tutorial-btn.primary:hover{background:var(--accent)}.tutorial-btn.secondary{background:var(--bg-3);color:var(--ink-0)}.tutorial-btn.secondary:hover{background:var(--bg-2)}.tutorial-btn.skip{background:transparent;color:var(--ink-2);border:none;font-size:12px}.tutorial-btn.skip:hover{color:var(--ink-1)}.tutorial-hint-btn{position:fixed;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;background:var(--accent-cold);border:2px solid var(--accent);color:var(--bg-0);font-size:20px;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006;transition:transform .15s}.tutorial-hint-btn:hover{transform:scale(1.1)}@media (max-width: 1024px){.layout-grid,.panel-settings .grid-two,.game-tab .grid-two{grid-template-columns:1fr}.combat-state,.initiative-ladder{flex-wrap:wrap}.row-inline{flex-wrap:wrap;gap:4px}}@media (max-width: 768px){.page-shell{padding:8px}.hero{padding:12px}.hero h1{font-size:20px}.hero-kicker{font-size:12px}.theme-switcher{flex-wrap:wrap;gap:4px}.theme-pill{padding:4px 10px;font-size:12px}.top-menu{overflow-x:auto;-webkit-overflow-scrolling:touch}.top-menu nav{flex-wrap:nowrap;min-width:max-content}.top-menu button{padding:6px 12px;font-size:13px;white-space:nowrap}.panel{padding:12px}.panel h2{font-size:16px}.panel-settings .grid-two,.game-tab .grid-two,.players-tab .grid-two,.scene-tab .grid-two{grid-template-columns:1fr}.panel-settings input,.panel-settings select,.panel-settings textarea{width:100%}.actions{flex-wrap:wrap}.actions button{flex:1 1 auto;min-width:120px}.combat-participant-card{flex:1 1 100%}.initiative-ladder .item-chip{font-size:11px;padding:2px 6px}.quick-actions{flex-wrap:wrap}.quick-actions button,.action-chip{font-size:12px;padding:4px 8px;min-height:44px;min-width:44px}.journal-entry{padding:8px;font-size:13px}.player-card{flex-direction:column;align-items:center;text-align:center}.player-card .portrait{width:80px;height:80px}.npc-card{flex-direction:column;align-items:center;text-align:center;padding:8px}.npc-card .npc-portrait{width:60px;height:60px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.spell-card,.scenario-step-card{padding:8px;font-size:12px}.turn-form textarea,.turn-form input{font-size:14px}.suggested-actions{flex-wrap:wrap;gap:4px}.suggested-actions button{font-size:12px;min-height:44px}.economy-tabs{flex-wrap:wrap}.economy-tab-btn{flex:1 1 auto;min-width:60px}.attack-draft,.heal-target-selector{flex-direction:column}}@media (max-width: 480px){.page-shell{padding:4px}.hero h1{font-size:16px}.panel{padding:8px}.panel h2{font-size:14px}.top-menu button{padding:4px 8px;font-size:11px}body{font-size:13px}.hint{font-size:11px}.actions button{width:100%;min-width:unset}.combat-state{gap:4px}.combat-participant-card{padding:6px;font-size:11px}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:4px}.inventory-item{padding:4px;font-size:11px}.tactical-map-btn{width:100%;text-align:center}.action-preview-panel{font-size:12px;padding:6px 8px}.tutorial-card{padding:16px;max-width:95%}.tutorial-title{font-size:16px}.tutorial-description{font-size:13px}.tutorial-btn{padding:6px 12px;font-size:12px}.scenario-transition-btn{width:100%;text-align:center;padding:8px}.npc-hostility-selector{flex-direction:column}}@media (hover: none) and (pointer: coarse){button,input,select,textarea,.action-chip,.item-chip,.theme-pill,.top-menu button{min-height:44px}button:hover{background:inherit}button:active{background:var(--bg-3)}}.shop-tab{padding:12px}.shop-weight-indicator{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-2);border-radius:6px;margin-bottom:12px;font-size:13px}.shop-weight-indicator.overencumbered{background:#ef44441a;border:1px solid #ef4444}.overencumbered-badge{background:#ef4444;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.wallet-amount{margin-left:auto;color:#fbbf24;font-weight:600}.shop-tabs{display:flex;gap:4px;margin-bottom:12px}.shop-tab-btn{flex:1;padding:8px 16px;border-radius:6px;background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);cursor:pointer;font-size:13px;transition:background .15s}.shop-tab-btn.active{background:var(--accent-cold);border-color:var(--accent);color:var(--bg-0);font-weight:600}.shop-filters{display:flex;gap:8px;margin-bottom:12px}.shop-search,.shop-category-select{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-0);font-size:13px}.shop-catalog,.shop-inventory{display:flex;flex-direction:column;gap:8px}.shop-item-card{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:12px}.shop-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.shop-item-header h4{margin:0;font-size:14px;color:var(--accent)}.shop-item-price{color:#fbbf24;font-weight:600;font-size:13px}.shop-item-category{font-size:11px;color:var(--ink-2);background:var(--bg-3);padding:2px 6px;border-radius:4px}.shop-item-desc{margin:6px 0;font-size:12px;color:var(--ink-1);line-height:1.4}.shop-item-details{display:flex;gap:12px;font-size:12px;color:var(--ink-2);margin-bottom:8px}.shop-item-actions{display:flex;gap:8px;align-items:center}.shop-amount-input{width:60px;padding:4px 8px;border-radius:4px;border:1px solid var(--line);background:var(--bg-1);color:var(--ink-0);font-size:13px;text-align:center}.shop-buy-btn,.shop-sell-btn{flex:1;padding:6px 16px;border-radius:6px;background:var(--accent-cold);border:1px solid var(--accent);color:var(--bg-0);font-weight:600;cursor:pointer;font-size:13px}.shop-buy-btn:disabled,.shop-sell-btn:disabled{opacity:.5;cursor:not-allowed}.shop-inventory-item{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.shop-inventory-info{display:flex;flex-direction:column;gap:2px}.shop-inventory-name{font-size:13px;color:var(--ink-0);font-weight:500}.shop-inventory-qty{font-size:11px;color:var(--ink-2)}.shop-inventory-price{font-size:12px;color:#22c55e}.shop-inventory-actions{display:flex;gap:8px;align-items:center}.shop-empty{text-align:center;color:var(--ink-2);padding:24px;font-size:14px}.rest-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1500;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.rest-modal{background:var(--bg-1);border:1px solid var(--line-strong);border-radius:12px;padding:20px 24px;max-width:500px;width:90%;box-shadow:var(--shadow)}.rest-modal h3{margin:0 0 12px;font-family:Cinzel,serif;color:var(--accent);font-size:18px}.rest-description{color:var(--ink-1);font-size:14px;margin:0 0 16px;line-height:1.5}.rest-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.rest-option-btn{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:12px;cursor:pointer;text-align:left;transition:border-color .15s}.rest-option-btn:hover:not(:disabled){border-color:var(--accent)}.rest-option-btn:disabled{opacity:.5;cursor:not-allowed}.rest-option-title{font-weight:600;color:var(--ink-0);font-size:14px;margin-bottom:4px}.rest-option-desc{font-size:12px;color:var(--ink-2);line-height:1.4}.rest-close-btn{width:100%;padding:8px;border-radius:6px;background:transparent;border:1px solid var(--line);color:var(--ink-1);cursor:pointer;font-size:13px}.rest-players{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.rest-player-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-2);border-radius:6px;font-size:13px}.rest-player-name{flex:1;color:var(--ink-0);font-weight:500}.rest-player-hp{color:var(--ink-2);font-size:12px}.rest-player-dice{color:#fbbf24;font-size:12px;font-weight:600}.rest-dice-input{width:50px;padding:4px;border-radius:4px;border:1px solid var(--line);background:var(--bg-1);color:var(--ink-0);text-align:center;font-size:13px}.rest-dice-label{color:var(--ink-2);font-size:12px}.rest-actions{display:flex;gap:8px}.rest-confirm-btn{flex:1;padding:8px 16px;border-radius:6px;background:var(--accent-cold);border:1px solid var(--accent);color:var(--bg-0);font-weight:600;cursor:pointer;font-size:13px}.rest-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.rest-cancel-btn{padding:8px 16px;border-radius:6px;background:transparent;border:1px solid var(--line);color:var(--ink-1);cursor:pointer;font-size:13px}.rest-warning{background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:6px;padding:12px;font-size:13px;color:#fbbf24;margin-bottom:16px;line-height:1.5}.rest-result{margin-top:12px;padding:8px 12px;background:#22c55e1a;border:1px solid #22c55e;border-radius:6px;color:#22c55e;font-size:13px;text-align:center}.chat-panel{position:fixed;bottom:16px;right:16px;z-index:900;font-size:13px}.chat-collapsed{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent-cold);border:2px solid var(--accent);border-radius:20px;cursor:pointer;color:var(--bg-0);font-weight:600;font-size:13px;box-shadow:0 4px 12px #0006;transition:transform .15s}.chat-collapsed:hover{transform:scale(1.05)}.chat-collapsed-icon{font-size:16px}.chat-unread-badge{background:#ef4444;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.chat-expanded{width:320px;max-height:400px;background:var(--bg-1);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.chat-header h4{margin:0;font-size:14px;color:var(--accent)}.chat-collapse-btn{background:transparent;border:none;color:var(--ink-1);cursor:pointer;font-size:18px;padding:2px 6px;border-radius:4px}.chat-collapse-btn:hover{background:var(--bg-3)}.chat-messages{flex:1;overflow-y:auto;padding:8px;max-height:280px;min-height:150px}.chat-empty{text-align:center;color:var(--ink-2);padding:16px;font-size:12px}.chat-message{padding:6px 8px;margin-bottom:4px;border-radius:6px;background:var(--bg-2)}.chat-message-header{display:flex;justify-content:space-between;margin-bottom:2px}.chat-message-sender{font-weight:600;color:var(--accent);font-size:12px}.chat-message-time{color:var(--ink-2);font-size:10px}.chat-message-text{margin:0;color:var(--ink-0);font-size:13px;line-height:1.4;word-break:break-word}.chat-error{padding:4px 8px;color:#fca5a5;font-size:11px;text-align:center}.chat-input-area{display:flex;gap:4px;padding:8px;border-top:1px solid var(--line)}.chat-input{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-0);font-size:13px}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-send-btn{padding:6px 12px;border-radius:6px;background:var(--accent-cold);border:1px solid var(--accent);color:var(--bg-0);cursor:pointer;font-size:16px;font-weight:700}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-game-tabs{display:none}@media (max-width: 768px){.game-mobile-shell{padding-bottom:88px}.mobile-game-tabs{position:fixed;left:.55rem;right:.55rem;bottom:calc(.55rem + env(safe-area-inset-bottom,0px));z-index:940;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;padding:.45rem;border:1px solid rgba(132,202,236,.28);border-radius:22px;background:linear-gradient(180deg,#0f2335f0,#050c15f5),#050c15f5;box-shadow:inset 0 1px #e7f9ff14,0 22px 60px #00000080;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-game-tab{min-width:0;min-height:48px;border:1px solid transparent;border-radius:16px;padding:.45rem .25rem;color:var(--ink-2);background:#ffffff08;font-size:.78rem;font-weight:900;letter-spacing:-.01em}.mobile-game-tab.active{color:var(--ink-0);border-color:#6fdcff75;background:radial-gradient(circle at 50% 0%,rgba(111,220,255,.22),transparent 58%),#35749647;box-shadow:inset 0 0 18px #6fdcff1f}.game-mobile-active-turn>.mobile-character-content,.game-mobile-active-turn .game-panel .mobile-character-content,.game-mobile-active-turn .game-panel .mobile-scene-content{display:none!important}.game-mobile-active-journal>.panel:not(.mobile-journal-content),.game-mobile-active-journal .game-panel,.game-mobile-active-journal>.mobile-character-content{display:none!important}.game-mobile-active-journal>.mobile-journal-content{display:block!important}.game-mobile-active-character>.panel:not(.game-panel):not(.mobile-character-content),.game-mobile-active-character .game-panel>:not(.mobile-character-content){display:none!important}.game-mobile-active-character .game-panel>.mobile-character-content{display:grid!important}.game-mobile-active-scene>.panel:not(.game-panel),.game-mobile-active-scene .game-panel>:not(.stack),.game-mobile-active-scene .game-panel>.stack>:not(.mobile-scene-content){display:none!important}.game-mobile-active-scene .game-panel>.stack{display:grid!important;gap:.85rem}.game-mobile-active-scene .game-panel .mobile-scene-content{display:block!important}.game-mobile-shell .chat-panel{display:none}.game-mobile-active-chat>.panel{display:none!important}.game-mobile-active-chat .chat-panel{position:relative;right:auto;bottom:auto;z-index:1;display:block;width:100%;margin:0}.game-mobile-active-chat .chat-expanded{width:100%;max-height:calc(100dvh - 150px);min-height:min(620px,calc(100dvh - 150px))}.game-mobile-active-chat .chat-messages{max-height:none}.game-mobile-active-chat .chat-collapse-btn{display:none}}.portal-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 10%,rgba(196,133,38,.2),transparent 35%),radial-gradient(circle at 80% 0%,rgba(34,88,125,.2),transparent 30%),#0d1117;color:#f5efe2}.portal-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1117c7;border-bottom:1px solid rgba(212,173,102,.24)}.portal-header-inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.portal-logo{display:flex;align-items:center;gap:9px;font-family:Cinzel,Times New Roman,serif;font-size:1.15rem;letter-spacing:.06em;color:#f0e8d4;text-decoration:none;transition:opacity .18s}.portal-logo:hover{opacity:.82}.portal-logo-mark{flex-shrink:0;transition:filter .22s}.portal-logo:hover .portal-logo-mark{filter:drop-shadow(0 0 5px rgba(212,168,75,.55))}.portal-logo-text{line-height:1}.portal-nav{display:flex;gap:8px;flex-wrap:wrap}.portal-nav-link{color:#d6d2c8;text-decoration:none;border:1px solid transparent;border-radius:999px;padding:7px 12px;font-size:.92rem}.portal-nav-link.active,.portal-nav-link:hover{color:#fef8ea;border-color:#d4ad6680;background:#d4ad6624}.portal-userbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#f8e4b4;font-size:.9rem}.portal-link-button{border:1px solid rgba(212,173,102,.45);background:#d4ad6614;color:#fef8ea;border-radius:999px;padding:7px 12px;cursor:pointer}.portal-main{width:min(1200px,100%);margin:0 auto;padding:24px 20px 40px;flex:1}.portal-page{display:flex;flex-direction:column;gap:18px}.portal-lobby-page{gap:20px}.portal-lobby-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:16px;align-items:stretch;border:1px solid rgba(212,173,102,.26);border-radius:18px;padding:24px;background:radial-gradient(circle at 18% 6%,rgba(212,173,102,.18),transparent 34%),linear-gradient(135deg,#141b24eb,#080d14bd);box-shadow:0 24px 70px #00000047}.portal-lobby-hero h1{margin:0;max-width:780px;font-size:clamp(2rem,5vw,4rem)}.portal-lobby-hero p{max-width:720px;color:#d7d0c0;font-size:1.05rem}.portal-lobby-hero-card{display:grid;align-content:end;gap:8px;min-height:180px;border:1px solid rgba(212,173,102,.24);border-radius:14px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 36%),#ffffff09}.portal-lobby-hero-card strong{font:700 1.45rem Cinzel,serif;color:#fff3cf}.portal-lobby-hero-card p{margin:0}.portal-lobby-layout{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:14px;align-items:start}.portal-start-flow{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:16px;overflow:hidden;background:radial-gradient(circle at 2% 4%,rgba(123,230,175,.15),transparent 34%),linear-gradient(135deg,#152028c7,#0a0f16db)}.portal-start-flow h2{margin:0;color:#fff3cf}.portal-start-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.portal-start-steps li{display:grid;gap:8px;min-height:150px;border:1px solid rgba(212,173,102,.17);border-radius:13px;padding:12px;background:linear-gradient(180deg,rgba(212,173,102,.1),transparent 52%),#ffffff07}.portal-start-steps li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#102016;background:#7be6af;font-weight:900}.portal-start-steps strong{color:#fff3cf}.portal-start-steps small{color:#cfd4d8;line-height:1.38}.portal-page-heading,.portal-section-head,.portal-filter-bar,.portal-pager{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.portal-page-narrow{max-width:760px}.portal-hero{border:1px solid rgba(212,173,102,.25);background:#141b24b8;border-radius:18px;padding:28px}.portal-eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#d4ad66;margin-bottom:10px}.portal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.portal-home-page{gap:18px;min-width:0;overflow:hidden}.portal-home-page *{min-width:0}.portal-home-hero{min-height:560px;display:grid;align-content:end;gap:28px;overflow:hidden;border:1px solid rgba(212,173,102,.24);border-radius:18px;padding:44px;background-position:center;background-size:cover;box-shadow:0 24px 80px #0000004d}.portal-home-hero-copy{max-width:760px}.portal-home-hero h1{margin:0;color:#fff3cf;font-size:4.4rem;line-height:.95}.portal-home-hero p{max-width:720px;margin:18px 0 0;color:#f0eadb;font-size:1.16rem;line-height:1.55;overflow-wrap:break-word}.portal-home-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:860px;margin:0}.portal-home-hero-stats div{border:1px solid rgba(255,243,207,.16);border-radius:12px;padding:12px;background:#0a0f1694;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portal-home-hero-stats dt{color:#b8c0c8;font-size:.78rem}.portal-home-hero-stats dd{margin:4px 0 0;color:#fff3cf;font-weight:800}.portal-home-band,.portal-home-scenarios,.portal-home-play,.portal-home-report{border:1px solid rgba(212,173,102,.2);border-radius:16px;background:#141b249e;padding:24px}.portal-home-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-home-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1px solid rgba(212,173,102,.16);border-radius:12px;padding:14px;background:#0a0f166b}.portal-home-step span{width:34px;aspect-ratio:1 / 1;display:grid;place-items:center;border-radius:10px;color:#102016;background:#7be6af;font-weight:900}.portal-home-step h3,.portal-home-atmosphere-card h3,.portal-home-action-card h3{margin:0;color:#fff3cf}.portal-home-step p,.portal-home-atmosphere-card p,.portal-home-action-card p,.portal-home-play-copy p,.portal-home-report p,.portal-home-atmospheres>div>p{margin:6px 0 0;color:#d7d0c0;line-height:1.48}.portal-home-atmospheres{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:18px;align-items:stretch}.portal-home-atmospheres>div:first-child{border-left:3px solid rgba(123,230,175,.7);padding-left:18px;align-self:center}.portal-home-atmospheres h2,.portal-home-play h2,.portal-home-report h2,.portal-home-band h2{margin:0;color:#fff3cf;font-size:2rem;line-height:1.08;letter-spacing:0;text-transform:none}.portal-home-atmosphere-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.portal-home-atmosphere-card{min-height:320px;display:grid;align-content:end;overflow:hidden;position:relative;border:1px solid rgba(212,173,102,.18);border-radius:14px;padding:14px;background:#111820}.portal-home-atmosphere-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(8,12,18,.9) 82%);pointer-events:none}.portal-home-atmosphere-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top}.portal-home-atmosphere-card h3,.portal-home-atmosphere-card p,.portal-home-atmosphere-card>span{position:relative}.portal-home-atmosphere-card>span{justify-self:start;border:1px solid rgba(255,243,207,.22);border-radius:999px;padding:4px 8px;color:#fff3cf;font-size:.76rem;font-weight:700;background:#080d1494}.portal-home-scenarios{display:grid;gap:16px;background:linear-gradient(135deg,#141b24b3,#1e272d9e),#0a0f16bd}.portal-home-scenarios h2{margin:0;color:#fff3cf;font-size:2rem;line-height:1.08}.portal-home-scenario-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.portal-gallery-scenario-card{display:grid;grid-template-rows:136px minmax(0,1fr);overflow:hidden;border:1px solid rgba(212,173,102,.18);border-radius:14px;background:#0a0f167a}.portal-gallery-scenario-cover{position:relative;display:grid;align-items:end;padding:12px;background:radial-gradient(circle at 25% 18%,rgba(255,243,207,.22),transparent 20%),linear-gradient(135deg,#d4ad6659,#7be6af1f),#080d14eb}.portal-gallery-scenario-cover:after{content:"";position:absolute;inset:18px 22px auto auto;width:72px;aspect-ratio:1 / 1;border:1px solid rgba(255,243,207,.22);border-radius:50%;background:linear-gradient(45deg,transparent 46%,rgba(255,243,207,.28) 47% 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,rgba(255,243,207,.2) 47% 53%,transparent 54%)}.portal-gallery-scenario-cover span{position:relative;justify-self:start;border:1px solid rgba(255,243,207,.2);border-radius:999px;padding:5px 9px;color:#fff3cf;font-size:.78rem;background:#080d14a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-gallery-scenario-body{display:grid;gap:12px;padding:14px}.portal-gallery-scenario-body h3{margin:0;color:#fff3cf;font:700 1.08rem Cinzel,serif}.portal-gallery-scenario-body p{margin:7px 0 0;color:#d7d0c0;line-height:1.42}.portal-gallery-scenario-body dl,.portal-scenario-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.portal-gallery-scenario-body dl div,.portal-scenario-meta div{border:1px solid rgba(212,173,102,.14);border-radius:10px;padding:8px;background:#ffffff07}.portal-gallery-scenario-body dt,.portal-scenario-meta dt{color:#9fa9b2;font-size:.72rem}.portal-gallery-scenario-body dd,.portal-scenario-meta dd{margin:4px 0 0;color:#f5efe2;font-weight:700;line-height:1.24}.portal-gallery-scenario-card.accent-emerald .portal-gallery-scenario-cover,.portal-scenario-card.accent-emerald{background:linear-gradient(180deg,rgba(123,230,175,.12),transparent 42%),#ffffff07}.portal-gallery-scenario-card.accent-rose .portal-gallery-scenario-cover,.portal-scenario-card.accent-rose{background:linear-gradient(180deg,rgba(234,136,171,.14),transparent 42%),#ffffff07}.portal-gallery-scenario-card.accent-blue .portal-gallery-scenario-cover,.portal-scenario-card.accent-blue{background:linear-gradient(180deg,rgba(109,145,191,.15),transparent 42%),#ffffff07}.portal-gallery-scenario-card.accent-violet .portal-gallery-scenario-cover,.portal-scenario-card.accent-violet{background:linear-gradient(180deg,rgba(160,126,208,.14),transparent 42%),#ffffff07}.portal-home-play{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:18px;align-items:center;border-color:#ea88ab3d}.portal-home-action-strip{display:grid;gap:10px}.portal-home-action-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;border:1px solid rgba(212,173,102,.16);border-radius:12px;padding:10px;background:#0a0f1675}.portal-home-action-card img{width:92px;aspect-ratio:1 / 1;border-radius:10px;object-fit:cover}.portal-home-report{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:18px;align-items:center;background:linear-gradient(135deg,#141b24bd,#12261f9e),#0a0f16bd}.portal-home-report-preview{border:1px solid rgba(123,230,175,.28);border-radius:14px;padding:18px;background:#0a0f1680}.portal-home-report-preview span{color:#7be6af;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.portal-home-report-preview strong{display:block;margin-top:8px;color:#fff3cf;font-size:1.1rem}.portal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.portal-card{border:1px solid rgba(212,173,102,.24);border-radius:14px;background:#141b24b8;padding:18px;display:flex;flex-direction:column;gap:10px}.portal-create-card{gap:16px}.portal-create-card h2,.portal-atmosphere-panel h2,.portal-scenario-showcase h2,.portal-latest-games h2,.portal-campaign-card h3{margin:0}.portal-auth-card{gap:14px}.portal-button{border:1px solid rgba(212,173,102,.7);background:linear-gradient(120deg,#c7963d,#9b5a22);color:#fff8e8;border-radius:10px;padding:10px 14px;font-weight:600;text-decoration:none;cursor:pointer}.portal-button-wide{width:100%}.portal-button:disabled{opacity:.65;cursor:default}.portal-button-ghost{background:#ffffff08;color:#f5efe2}.portal-button-danger{border-color:#ff8787b8;background:linear-gradient(120deg,#8f2f2f,#5d1d1d);color:#fff3f3}.portal-button-sm{padding:.35rem .85rem;font-size:.78rem}.portal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.portal-form-grid input,.portal-form-grid select,.portal-card input,.portal-card select,.portal-filter-bar input,.portal-filter-bar select{margin-top:6px}.portal-preset-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(212,173,102,.18);border-radius:12px;padding:12px;background:#ffffff08}.portal-preset-strip img{width:84px;aspect-ratio:1 / 1;object-fit:cover;border-radius:10px;border:1px solid rgba(212,173,102,.24)}.portal-preset-strip p{margin:4px 0 0;color:#d7d0c0}.portal-atmosphere-panel{gap:16px}.portal-atmosphere-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.portal-atmosphere-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto auto;gap:10px;min-height:360px;overflow:hidden;text-align:left;border:1px solid rgba(212,173,102,.18);border-radius:14px;padding:12px;color:#f5efe2;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 50%),#ffffff07;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.portal-atmosphere-card:hover,.portal-atmosphere-card.selected{transform:translateY(-2px);border-color:#d4ad6699;background:linear-gradient(180deg,rgba(212,173,102,.15),transparent 48%),#ffffff0a}.portal-atmosphere-card:disabled{cursor:default;opacity:.58}.portal-atmosphere-card:disabled:hover{transform:none;border-color:#d4ad662e}.portal-atmosphere-visual{display:block;overflow:hidden;width:100%;aspect-ratio:4 / 5;border:1px solid rgba(212,173,102,.2);border-radius:12px;background:#080d14b8}.portal-atmosphere-visual img{width:100%;height:100%;object-fit:cover;object-position:center top}.portal-atmosphere-state{justify-self:start;border:1px solid rgba(212,173,102,.24);border-radius:999px;padding:4px 8px;color:#ffe2a7;font-size:.78rem;background:#080d148a}.portal-atmosphere-card strong{font:700 1.08rem Cinzel,serif;color:#fff3cf}.portal-atmosphere-tone,.portal-atmosphere-quote{color:#cfd4d8;line-height:1.42}.portal-atmosphere-quote{display:block;border-left:2px solid rgba(212,173,102,.42);padding-left:10px;color:#f1d6a3;font-style:italic}.portal-atmosphere-card .portal-tag-row{margin-top:0}.portal-atmosphere-card.tone-rose{background:linear-gradient(180deg,rgba(205,93,132,.16),transparent 48%),#ffffff07}.portal-atmosphere-card.tone-blue,.portal-atmosphere-card.tone-cyan{background:linear-gradient(180deg,rgba(109,145,191,.16),transparent 48%),#ffffff07}.portal-atmosphere-card.tone-green{background:linear-gradient(180deg,rgba(88,156,112,.16),transparent 48%),#ffffff07}.portal-atmosphere-card.tone-violet{background:linear-gradient(180deg,rgba(160,126,208,.16),transparent 48%),#ffffff07}.portal-atmosphere-card.tone-red{background:linear-gradient(180deg,rgba(168,67,67,.18),transparent 48%),#ffffff07}.portal-atmosphere-card.tone-slate{background:linear-gradient(180deg,rgba(97,111,126,.18),transparent 48%),#ffffff07}.portal-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.portal-tag-row span{border:1px solid rgba(212,173,102,.24);border-radius:999px;padding:4px 8px;color:#f3ddad;font-size:.78rem;background:#d4ad6614}.portal-scenario-showcase{gap:14px}.portal-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.portal-scenario-card{display:grid;gap:9px;text-align:left;min-height:220px;border:1px solid rgba(212,173,102,.18);border-radius:14px;padding:14px;color:#f5efe2;background:linear-gradient(180deg,rgba(212,173,102,.08),transparent 42%),#ffffff07;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.portal-scenario-card:hover,.portal-scenario-card.selected{transform:translateY(-2px);border-color:#d4ad668f;background:linear-gradient(180deg,rgba(212,173,102,.16),transparent 44%),#ffffff0a}.portal-scenario-card span{justify-self:start;border:1px solid rgba(212,173,102,.22);border-radius:999px;padding:4px 8px;color:#ffe2a7;font-size:.78rem}.portal-scenario-card strong{font:700 1.15rem Cinzel,serif;color:#fff3cf}.portal-scenario-card p,.portal-scenario-card em{margin:0;color:#cfd4d8;line-height:1.45}.portal-scenario-card em{color:#f1d6a3;font-style:normal}.portal-filter-bar{align-items:end;border:1px solid rgba(212,173,102,.22);border-radius:14px;padding:14px;background:#141b248c}.portal-filter-bar label{flex:1 1 220px}.portal-list-controls{display:flex;align-items:end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.portal-list-controls label{min-width:180px}.portal-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:39px}.portal-checkbox input{width:auto;margin:0}.portal-profile-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border:1px solid rgba(212,173,102,.24);border-radius:16px;background:linear-gradient(135deg,#d4ad6624,#141b24bd);padding:16px}.portal-avatar{width:74px;height:74px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:#d4ad662e;border:1px solid rgba(212,173,102,.38);color:#f8e4b4;font:700 2rem Cinzel,serif}.portal-avatar img{width:100%;height:100%;object-fit:cover}.portal-games-section{gap:14px}.portal-games-list{display:grid;gap:12px}.portal-latest-games{min-height:100%}.portal-campaign-card{display:grid;gap:14px;border:1px solid rgba(212,173,102,.2);border-radius:14px;padding:15px;background:radial-gradient(circle at 0% 0%,rgba(212,173,102,.13),transparent 34%),#ffffff08}.portal-campaign-card h3{margin-top:8px;color:#fff3cf;font:700 1.35rem Cinzel,serif}.portal-game-landing-page{min-height:min(760px,calc(100vh - 180px));justify-content:center}.portal-game-landing-card{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);overflow:hidden;border:1px solid rgba(212,173,102,.26);border-radius:18px;background:radial-gradient(circle at 16% 4%,rgba(212,173,102,.16),transparent 34%),#141b24cc;box-shadow:0 24px 70px #0000004d}.portal-game-cover{position:relative;min-height:520px;background:#080d14c7}.portal-game-cover img{width:100%;height:100%;object-fit:cover}.portal-game-cover .portal-status-pill{position:absolute;left:18px;top:18px;background:#080d14b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-game-landing-content{display:grid;align-content:center;gap:18px;padding:28px}.portal-game-landing-content h1{margin:0;color:#fff3cf;font-size:clamp(2rem,5vw,3.8rem)}.portal-game-landing-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.portal-game-landing-details div,.portal-game-last-event{border:1px solid rgba(212,173,102,.17);border-radius:12px;padding:12px;background:#0a0f167a}.portal-game-landing-details dt{color:#b8c0c8;font-size:.78rem}.portal-game-landing-details dd{display:grid;gap:4px;margin:5px 0 0;color:#fff3cf;font-weight:700}.portal-game-landing-details dd span,.portal-game-last-event span{color:#cfd4d8;font-weight:400}.portal-game-last-event{display:grid;gap:6px}.portal-game-last-event .portal-eyebrow{margin:0}.portal-game-last-event strong{color:#fff3cf}.portal-game-last-event p{margin:0;color:#e5e1d5;line-height:1.48}.portal-game-landing-actions{display:flex;gap:10px;flex-wrap:wrap}.portal-game-player-card{display:grid;gap:6px;padding:12px;border:1px solid rgba(212,173,102,.22);border-radius:12px;background:#0a0f167a}.portal-game-player-card strong{color:#fff3cf;font-size:1rem}.portal-game-player-card>span{color:#cfd4d8;font-size:.82rem}.portal-game-player-hp{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.portal-game-player-hp-bar{height:100%;border-radius:3px;transition:width .4s ease,background .4s ease}.portal-game-turn-indicator{padding:10px 14px;border-radius:10px;background:#d4ad661f;border:1px solid rgba(212,173,102,.3);color:#fff3cf;font-weight:600;font-size:.92rem;text-align:center;animation:portal-turn-pulse 2s ease-in-out infinite}@keyframes portal-turn-pulse{0%,to{box-shadow:0 0 #d4ad6600}50%{box-shadow:0 0 12px 2px #d4ad6640}}.portal-game-turn-indicator-active{background:#d4ad6638;border-color:#d4ad6699;font-size:1.05rem;letter-spacing:.03em}.portal-game-turn-indicator-waiting{background:#8ca0b414;border-color:#8ca0b440;color:#b8c0c8;animation:none}.portal-invite-page{gap:18px}.portal-invite-hero{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);overflow:hidden;border:1px solid rgba(212,173,102,.26);border-radius:18px;background:radial-gradient(circle at 18% 0%,rgba(212,173,102,.16),transparent 36%),#141b24cc;box-shadow:0 24px 70px #0000004d}.portal-invite-cover{position:relative;min-height:500px;background:#080d14c7}.portal-invite-cover img{width:100%;height:100%;object-fit:cover}.portal-invite-cover .portal-status-pill{position:absolute;left:18px;top:18px;background:#080d14b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-invite-copy{display:grid;align-content:center;gap:18px;padding:30px}.portal-invite-copy h1{margin:0;color:#fff3cf;font-size:clamp(2rem,5vw,3.7rem)}.portal-invite-copy p{margin:0;color:#e5e1d5;line-height:1.5}.portal-invite-goal{border-left:3px solid rgba(212,173,102,.58);padding-left:12px;color:#f1d6a3!important}.portal-invite-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.portal-invite-facts div{border:1px solid rgba(212,173,102,.17);border-radius:12px;padding:12px;background:#0a0f167a}.portal-invite-facts dt{color:#b8c0c8;font-size:.78rem}.portal-invite-facts dd{display:grid;gap:4px;margin:5px 0 0;color:#fff3cf;font-weight:700}.portal-invite-facts dd span{color:#cfd4d8;font-weight:400}.portal-invite-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px}.portal-invite-start-panel{display:grid;grid-template-columns:minmax(240px,.46fr) minmax(0,1fr);gap:14px;background:radial-gradient(circle at 100% 0%,rgba(212,173,102,.18),transparent 32%),linear-gradient(135deg,#141b24c7,#091017e6)}.portal-invite-start-panel h2{margin:0;color:#fff3cf}.portal-invite-start-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.portal-invite-start-steps span{border:1px solid rgba(212,173,102,.2);border-radius:999px;padding:10px 12px;color:#ffe2a7;text-align:center;background:#0a0f1680}.portal-invite-section{gap:14px}.portal-invite-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.portal-invite-role-card{min-height:150px;display:grid;align-content:start;gap:8px;text-align:left;border:1px solid rgba(212,173,102,.18);border-radius:12px;padding:13px;color:#f5efe2;background:linear-gradient(180deg,rgba(212,173,102,.08),transparent 48%),#ffffff08;cursor:pointer}.portal-invite-role-card:hover,.portal-invite-role-card.selected{border-color:#d4ad6694;background:linear-gradient(180deg,rgba(212,173,102,.16),transparent 48%),#ffffff0b}.portal-invite-role-card span{justify-self:start;border:1px solid rgba(212,173,102,.24);border-radius:999px;padding:4px 8px;color:#ffe2a7;font-size:.78rem}.portal-invite-role-card strong{color:#fff3cf;font:700 1.08rem Cinzel,serif}.portal-invite-role-card small{color:#cfd4d8;line-height:1.35}.portal-invite-participants{display:grid;gap:10px}.portal-invite-participant{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(212,173,102,.16);border-radius:12px;padding:10px;background:#0a0f1670}.portal-invite-participant>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff3cf;background:#d4ad6629;border:1px solid rgba(212,173,102,.3);font:700 1.2rem Cinzel,serif}.portal-invite-participant strong{color:#fff3cf}.portal-invite-participant small{display:block;margin-top:3px;color:#cfd4d8}.portal-invite-participant em{justify-self:end;border:1px solid rgba(123,230,175,.28);border-radius:999px;padding:4px 8px;color:#7be6af;font-size:.78rem;font-style:normal;font-weight:800;background:#7be6af14}.portal-invite-join-form{gap:16px}.portal-invite-ability-grid{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:10px}.portal-invite-total{color:#ffb9a8}.portal-invite-total.ok{color:#7be6af}.portal-ready-checkbox{justify-content:flex-start;border:1px solid rgba(123,230,175,.22);border-radius:12px;padding:11px 12px;color:#f5efe2;background:#7be6af12}.portal-chronicle-page{gap:18px}.portal-chronicle-hero{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:20px;overflow:hidden;border:1px solid rgba(212,173,102,.26);border-radius:18px;background:radial-gradient(circle at 18% 0%,rgba(212,173,102,.16),transparent 36%),#141b24c7}.portal-chronicle-hero img{width:100%;height:100%;min-height:330px;object-fit:cover}.portal-chronicle-hero>div{display:grid;align-content:center;gap:14px;padding:28px 28px 28px 0}.portal-chronicle-hero h1{margin:0;color:#fff3cf;font-size:clamp(2rem,5vw,4rem)}.portal-chronicle-hero p{margin:0;color:#d7d0c0}.portal-chronicle-section{gap:14px}.portal-chronicle-chapters,.portal-chronicle-event-grid,.portal-chronicle-artifacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.portal-chronicle-chapter,.portal-chronicle-event,.portal-chronicle-artifact,.portal-chronicle-person,.portal-chronicle-finale-grid article{border:1px solid rgba(212,173,102,.17);border-radius:12px;padding:12px;background:#0a0f167a}.portal-chronicle-chapter>span,.portal-chronicle-event>span{color:#d4ad66;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.portal-chronicle-chapter h3,.portal-chronicle-finale-grid h3{margin:6px 0 10px;color:#fff3cf}.portal-chronicle-chapter ol{display:grid;gap:10px;margin:0;padding-left:18px}.portal-chronicle-chapter li::marker{color:#d4ad66}.portal-chronicle-chapter strong,.portal-chronicle-event strong,.portal-chronicle-artifact strong,.portal-chronicle-person strong{color:#fff3cf}.portal-chronicle-chapter p,.portal-chronicle-event p,.portal-chronicle-artifact p,.portal-chronicle-person p,.portal-chronicle-finale-grid p{margin:4px 0 0;color:#e5e1d5;line-height:1.45}.portal-chronicle-event{display:grid;gap:6px}.portal-chronicle-event small,.portal-chronicle-artifact small,.portal-chronicle-person small{color:#b8c0c8}.portal-chronicle-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-chronicle-portrait-list{display:grid;gap:10px}.portal-chronicle-person,.portal-chronicle-artifact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.portal-chronicle-person img,.portal-chronicle-person>span,.portal-chronicle-artifact img,.portal-chronicle-artifact>span{width:64px;aspect-ratio:1 / 1;border-radius:10px;border:1px solid rgba(212,173,102,.24);object-fit:cover;background:#d4ad661f}.portal-chronicle-person>span,.portal-chronicle-artifact>span{display:grid;place-items:center;color:#fff3cf;font:700 1.5rem Cinzel,serif}.portal-chronicle-finale{border-color:#7be6af47}.portal-chronicle-finale-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-public-report-page{gap:18px}.portal-public-report-hero{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:22px;overflow:hidden;border:1px solid rgba(212,173,102,.28);border-radius:18px;background:linear-gradient(135deg,#141b24f2,#1c191fdb),radial-gradient(circle at 85% 16%,rgba(123,230,175,.16),transparent 34%);box-shadow:0 24px 80px #00000047}.portal-public-report-hero img{width:100%;height:100%;min-height:380px;object-fit:cover}.portal-public-report-hero>div{display:grid;align-content:center;gap:14px;padding:30px 30px 30px 0}.portal-public-report-hero h1{margin:0;color:#fff3cf;font-size:3.4rem;line-height:1}.portal-public-report-hero p{margin:0;color:#d7d0c0}.portal-public-report-goal{max-width:680px;color:#eef0df!important;line-height:1.5}.portal-public-report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 0}.portal-public-report-stats div{border:1px solid rgba(212,173,102,.18);border-radius:10px;padding:11px;background:#0a0f166b}.portal-public-report-stats dt{color:#b8c0c8;font-size:.78rem}.portal-public-report-stats dd{margin:3px 0 0;color:#fff3cf;font-weight:800}.portal-public-report-section{gap:14px}.portal-public-report-finale{border-color:#7be6af4d;background:linear-gradient(135deg,#141b24e0,#12261f94),#0a0f16bd}.portal-public-report-finale-grid,.portal-public-report-chapters,.portal-public-report-events,.portal-public-report-artifacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.portal-public-report-finale-grid article,.portal-public-report-chapter,.portal-public-report-event,.portal-public-report-artifact,.portal-public-report-person{border:1px solid rgba(212,173,102,.17);border-radius:12px;padding:12px;background:#0a0f167a}.portal-public-report-song{border-color:#ea88ab47!important;background:#3616275c!important}.portal-public-report-chapter>span,.portal-public-report-event>span{color:#d4ad66;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.portal-public-report-finale-grid h3,.portal-public-report-chapter h3{margin:6px 0 10px;color:#fff3cf}.portal-public-report-chapter ol{display:grid;gap:10px;margin:0;padding-left:18px}.portal-public-report-chapter li::marker{color:#d4ad66}.portal-public-report-finale-grid p,.portal-public-report-chapter p,.portal-public-report-event p,.portal-public-report-artifact p,.portal-public-report-person p{margin:4px 0 0;color:#e5e1d5;line-height:1.45}.portal-public-report-finale-grid strong,.portal-public-report-chapter strong,.portal-public-report-event strong,.portal-public-report-artifact strong,.portal-public-report-person strong{color:#fff3cf}.portal-public-report-event{display:grid;gap:6px}.portal-public-report-event small,.portal-public-report-artifact small,.portal-public-report-person small{color:#b8c0c8}.portal-public-report-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-public-report-portraits{display:grid;gap:10px}.portal-public-report-person,.portal-public-report-artifact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.portal-public-report-person img,.portal-public-report-person>span,.portal-public-report-artifact img,.portal-public-report-artifact>span{width:64px;aspect-ratio:1 / 1;border-radius:10px;border:1px solid rgba(212,173,102,.24);object-fit:cover;background:#d4ad661f}.portal-public-report-person>span,.portal-public-report-artifact>span{display:grid;place-items:center;color:#fff3cf;font:700 1.5rem Cinzel,serif}.portal-campaign-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.portal-campaign-stats div{border:1px solid rgba(212,173,102,.16);border-radius:10px;padding:9px;background:#0a0f1680}.portal-campaign-stats dt{color:#b8c0c8;font-size:.78rem}.portal-campaign-stats dd{margin:4px 0 0;color:#fff3cf;font-weight:700}.portal-game-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(212,173,102,.18);border-radius:12px;padding:14px;background:#ffffff06}.portal-game-row code{display:block;margin-top:5px;color:#d9caa6;white-space:normal;overflow-wrap:anywhere}.portal-game-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.portal-status-pill{border:1px solid rgba(123,230,175,.35);color:#a7f0c8;border-radius:999px;padding:6px 10px;font-size:.8rem}.portal-status-pill--myturn{border-color:#d4a84b99;color:#ffe2a7;background:#d4a84b1f;animation:myturn-pulse 2s ease-in-out infinite}@keyframes myturn-pulse{0%,to{box-shadow:0 0 #d4a84b00}50%{box-shadow:0 0 0 4px #d4a84b2e}}.portal-notify-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;background:#5a82a02e;color:#8ab4cc;border:1px solid rgba(90,130,160,.35);transition:background .18s,border-color .18s}.portal-notify-badge:hover{background:#5a82a04d;border-color:#5a82a08c;color:#b8d8ed}.portal-notify-badge--turn{background:#d4a84b2e;color:#ffe2a7;border-color:#d4a84b8c;animation:myturn-pulse 2s ease-in-out infinite}.portal-notify-badge--turn:hover{background:#d4a84b4d}.portal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#05080cc2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portal-modal-card{width:min(760px,100%);max-height:min(86vh,900px);overflow:auto;border:1px solid rgba(212,173,102,.38);border-radius:18px;background:radial-gradient(circle at 12% 0%,rgba(212,173,102,.2),transparent 34%),linear-gradient(145deg,#141b24fa,#0a0f16fa);box-shadow:0 24px 70px #0000007a;padding:22px;color:#f5efe2}.portal-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.portal-finish-report-grid{display:grid;gap:12px}.portal-finish-report-grid section{border:1px solid rgba(212,173,102,.2);border-radius:14px;padding:14px;background:#ffffff09}.portal-finish-report-grid h3,.portal-finish-report-grid p{margin:0}.portal-finish-report-grid p{margin-top:8px;white-space:pre-wrap}.portal-steps{margin:0;padding-left:20px;display:grid;gap:8px}.portal-note{color:#bcc5cf}.portal-note a{color:#d4ad66f2;text-decoration:underline;text-decoration-color:#d4ad6666;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.portal-note a:hover{color:#f0ca76;text-decoration-color:#f0ca76b3}.portal-error{color:#ff8787}.input-error{border-color:#ff6464b3!important;box-shadow:0 0 0 2px #ff646426,inset 0 1px #ff64640f!important}.portal-success{color:#7be6af}.portal-recent{border-top:1px solid rgba(212,173,102,.2);padding-top:12px}.portal-recent-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.portal-recent-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-footer{border-top:1px solid rgba(212,173,102,.24);color:#bcc5cf;padding:14px 20px 24px;text-align:center}.portal-admin-page{gap:0}.howto-page{gap:20px}.howto-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:center}.howto-hero-copy{display:grid;gap:10px}.howto-hero-image{width:100%;height:100%;min-height:220px;max-height:320px;border-radius:14px;border:1px solid rgba(212,173,102,.35);object-fit:cover;box-shadow:inset 0 0 0 1px #ffffff0a}.howto-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.howto-menu{position:sticky;top:92px;display:grid;gap:8px;border:1px solid rgba(212,173,102,.24);border-radius:14px;background:#141b24b8;padding:12px}.howto-menu a{color:#f2eee3;text-decoration:none;border:1px solid rgba(212,173,102,.16);border-radius:10px;padding:9px 11px;font-size:.95rem;transition:border-color .18s ease,background-color .18s ease}.howto-menu a:hover{border-color:#d4ad6673;background:#d4ad661f}.howto-content{display:grid;gap:14px}.howto-section{scroll-margin-top:96px}.howto-section h2,.howto-section h3{margin:0}.howto-rule-grid,.howto-role-grid,.howto-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.howto-rule-grid article,.howto-role-grid article,.howto-faq article{border:1px solid rgba(212,173,102,.2);border-radius:12px;background:#0c121a99;padding:12px;display:grid;gap:8px}.howto-reference-block{display:grid;gap:12px}.howto-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.howto-reference-card{display:grid;gap:8px;align-content:start;border:1px solid rgba(151,188,209,.24);border-radius:12px;background:linear-gradient(145deg,#0d161fd1,#1f1b15b3);padding:12px}.howto-reference-card h4{margin:0;color:#ffe2a7}.howto-reference-card p{margin:0}.howto-rule-detail-list{display:grid;gap:12px}.howto-rule-detail-card{display:grid;gap:10px;border:1px solid rgba(212,173,102,.22);border-radius:12px;background:linear-gradient(145deg,#10171fc2,#1e17129e);padding:14px}.howto-rule-detail-card ul{margin:0;padding-left:1.2rem;display:grid;gap:7px}.howto-rule-summary{margin:0;color:#f3ddad;font-weight:700}.howto-rule-example{margin:0;border:1px solid rgba(151,188,209,.22);border-radius:10px;background:#12222c94;padding:10px;color:#dce8ef}.howto-turn-flow{display:grid;gap:12px}.howto-turn-card{display:grid;gap:10px;border:1px solid rgba(212,173,102,.22);border-left:4px solid rgba(212,173,102,.72);border-radius:12px;background:#0c121aad;padding:14px}.howto-turn-card ul{margin:0;padding-left:1.2rem;display:grid;gap:7px}.howto-turn-summary{margin:0;color:#f3ddad;font-weight:700}.howto-turn-example{margin:0;border:1px solid rgba(151,188,209,.22);border-radius:10px;background:#12222c94;padding:10px;color:#dce8ef}.howto-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:20px}.howto-action-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#ffffff0a;border:1px solid rgba(212,173,102,.18);border-radius:12px;text-align:center}.howto-action-card img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid rgba(212,173,102,.22)}.howto-action-card strong{font-size:.82rem;color:var(--color-gold)}.howto-action-card p{font-size:.75rem;color:#dcc8a0b3;margin:0;line-height:1.3}.howto-turn-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.howto-turn-card-header h3{margin:0}.howto-turn-icon{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid rgba(212,173,102,.22);flex-shrink:0}.howto-portrait-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:28px}.howto-portrait-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.howto-portrait-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:10px;border:1px solid rgba(212,173,102,.28)}.howto-portrait-card strong{font-size:.82rem;color:var(--color-gold)}.howto-portrait-card span{font-size:.72rem;color:#dcc8a099;line-height:1.3}.howto-items-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.howto-item-figure{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}.howto-item-figure img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid rgba(212,173,102,.22);background:#080d14cc}.howto-item-figure figcaption{font-size:.72rem;color:#dcc8a0a6}.howto-image-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.howto-image-row img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px;border:1px solid rgba(212,173,102,.28);background:#080d14e6}@media (max-width: 768px){.portal-header-inner{flex-direction:column;align-items:flex-start}.portal-main{padding:20px 14px 32px}.portal-hero{padding:20px}.portal-home-hero{min-height:520px;padding:24px}.portal-home-hero h1{font-size:2.8rem}.portal-home-hero-copy,.portal-home-band .portal-section-head>div,.portal-home-atmospheres>div,.portal-home-play-copy,.portal-home-report>div{min-width:0;max-width:calc(100vw - 76px)}.portal-home-hero p{font-size:1rem;max-width:calc(100vw - 76px)}.portal-home-atmospheres h2,.portal-home-play h2,.portal-home-report h2,.portal-home-band h2{font-size:1.68rem;overflow-wrap:break-word}.portal-home-hero-stats,.portal-home-journey,.portal-home-atmospheres,.portal-home-atmosphere-rail,.portal-home-play,.portal-home-report{grid-template-columns:1fr}.portal-home-band,.portal-home-play,.portal-home-report{padding:18px}.portal-home-atmosphere-card{min-height:0;align-content:start;padding:0}.portal-home-atmosphere-card:before{display:none}.portal-home-atmosphere-card img{position:static;display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain;object-position:center center;padding:10px;background:radial-gradient(circle at 50% 24%,rgba(255,243,207,.12),transparent 34%),#080d14b8}.portal-home-atmosphere-card>span,.portal-home-atmosphere-card h3,.portal-home-atmosphere-card p{margin-left:14px;margin-right:14px}.portal-home-atmosphere-card>span{margin-top:14px}.portal-home-atmosphere-card h3{margin-top:8px}.portal-home-atmosphere-card p{margin-bottom:14px}.portal-home-action-card{grid-template-columns:72px minmax(0,1fr)}.portal-home-action-card img{width:72px}.portal-home-step p,.portal-home-action-card p,.portal-home-report p{overflow-wrap:break-word}.portal-lobby-hero,.portal-lobby-layout,.portal-start-flow,.portal-start-steps,.portal-atmosphere-grid,.portal-home-scenario-gallery{grid-template-columns:1fr}.portal-lobby-hero{padding:20px}.portal-campaign-stats,.portal-game-landing-card{grid-template-columns:1fr}.portal-game-cover{min-height:320px}.portal-game-landing-content{padding:20px}.portal-game-landing-details,.portal-invite-hero,.portal-invite-grid,.portal-invite-start-panel,.portal-invite-start-steps,.portal-chronicle-hero,.portal-chronicle-two-column,.portal-chronicle-finale-grid,.portal-public-report-hero,.portal-public-report-two-column,.portal-public-report-finale-grid{grid-template-columns:1fr}.portal-invite-cover{min-height:320px}.portal-invite-copy{padding:20px}.portal-invite-facts,.portal-invite-ability-grid{grid-template-columns:1fr}.portal-chronicle-hero>div,.portal-public-report-hero>div{padding:0 20px 20px}.portal-public-report-hero h1{font-size:2.25rem}.portal-public-report-stats,.howto-hero,.howto-layout{grid-template-columns:1fr}.howto-menu{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.howto-image-row{grid-template-columns:1fr}}.turn-dice-placeholder{width:100%;min-height:180px;display:grid;place-items:center;color:#c7d0dc;font-size:.9rem;border:1px dashed rgba(183,206,233,.28);border-radius:12px;background:#10182180}.action-form-wrapper{position:relative}.action-form-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#080d14b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:12px;display:flex;align-items:center;justify-content:center;pointer-events:all}.action-form-overlay-inner{text-align:center;color:#b8c0c8;padding:16px}.action-form-overlay-inner strong{display:block;color:#fff3cf;font-size:1.1rem;margin-bottom:6px}.game-bottom-bar{position:sticky;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0e141cf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(212,173,102,.2);margin-top:8px}.game-bottom-bar-status{display:flex;flex-direction:column;gap:2px;min-width:0}.game-bottom-bar-status strong{color:#fff3cf;font-size:.95rem}.game-bottom-bar-status small{color:#8a9ab0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.turn-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.turn-status-dot-active{background:#4ade80;box-shadow:0 0 6px #4ade80}.turn-status-dot-waiting{background:#94a3b8}.turn-status-dot-npc{background:#60a5fa}.turn-status-dot-finished{background:#f87171}.game-bottom-bar-submit{flex-shrink:0;min-width:160px}.mobile-game-tab{position:relative}.mobile-tab-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 5px #4ade80;animation:portal-turn-pulse 1.5s ease-in-out infinite}.mobile-tab-badge{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;pointer-events:none}.gm-expander{border:1px solid rgba(212,173,102,.15);border-radius:10px;margin:8px 0}.gm-expander-toggle{padding:10px 14px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;color:#b8c0c8;font-size:.85rem;gap:8px}.gm-expander-toggle::-webkit-details-marker{display:none}.gm-expander-toggle:after{content:"▸";flex-shrink:0;transition:transform .2s ease}.gm-expander[open] .gm-expander-toggle{color:#fff3cf}.gm-expander[open] .gm-expander-toggle:after{transform:rotate(90deg)}.gm-expander>*+section{padding:0 14px 14px}.action-builder-tabs{display:flex;gap:6px;margin-bottom:12px}.action-builder-tabs button{padding:5px 14px;border:1px solid rgba(212,173,102,.25);border-radius:20px;background:transparent;color:#8a9ab0;font-size:.82rem;cursor:pointer;transition:all .2s ease}.action-builder-tabs button.active{background:#d4ad662e;border-color:#d4ad6680;color:#fff3cf}.action-preview-confirm{display:grid;gap:10px;padding:16px;border:1px solid rgba(212,173,102,.3);border-radius:12px;background:#0a0f1699}.action-preview-confirm small{color:#8a9ab0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.action-preview-confirm strong{color:#fff3cf;font-size:1.05rem}.action-preview-confirm p{color:#e5e1d5;line-height:1.5;margin:0}.action-preview-confirm span{color:#8a9ab0;font-size:.85rem}.player-skills-list{margin-top:12px}.player-skills-list h3{font-size:13px;color:#b0b8c8;margin-bottom:8px;font-weight:600;letter-spacing:.04em}.player-skills-class-hint{color:#d4ad66b3;font-weight:400;font-size:11px}.player-skills-list ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 6px}.skill-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#b4bed2bf;padding:2px 4px;border-radius:4px;transition:background .1s}.skill-item:hover{background:#ffffff0a}.skill-item--key{color:#e6d296f2;background:#d4ad660f;border-left:2px solid rgba(212,173,102,.5);padding-left:4px}.skill-item--key:hover{background:#d4ad661f}.skill-name{flex:1;display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-ability-tag{font-size:9px;color:#8c96aa99;background:#ffffff0d;border-radius:3px;padding:0 3px;flex-shrink:0}.skill-key-badge{font-size:9px;color:#d4ad66e6;text-shadow:0 0 6px rgba(212,173,102,.5);cursor:help;flex-shrink:0;line-height:1}.skill-bonus{font-size:11px;font-weight:700;min-width:26px;text-align:right;padding:1px 4px;border-radius:4px;flex-shrink:0;font-variant-numeric:tabular-nums}.skill-bonus--pos{color:#6bcf88;background:#6bcf881a}.skill-bonus--neg{color:#e07878;background:#e078781a}.skill-bonus--zero{color:#b4bed280;background:transparent}.player-saves{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;font-size:11px}.player-saves-label{color:#96a0b4b3;flex-shrink:0}.player-save-badge{background:#648cdc26;border:1px solid rgba(100,140,220,.3);color:#a0bef0e6;border-radius:4px;padding:0 5px;font-size:10px;font-weight:600}.portal-ac-badge{display:inline-block;padding:2px 8px;background:#2a2a3e;color:#fff;border-radius:4px;font-size:12px;margin-left:8px}.skill-check-builder{display:flex;flex-direction:column;gap:12px}.skill-check-hint{font-size:13px;color:#999}.turn-budget-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.budget-chip{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;border:1px solid transparent}.budget-chip--available{background:#82d6ff2e;color:var(--accent, #82d6ff);border-color:#82d6ff66}.budget-chip--used{background:#ffffff0d;color:var(--ink-2, #70879c);text-decoration:line-through}.budget-chip--movement{background:#64b4ff26;color:var(--accent-soft, #c3efff);border-color:#64b4ff4d}.projected-state-panel{border:1px solid var(--line, rgba(122, 171, 201, .22));border-radius:.5rem;padding:.75rem 1rem;background:var(--panel, rgba(8, 14, 22, .78));display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.projected-state-panel--error{border-color:#f18b9580;background:#f18b9514}.projected-state-error{color:var(--warning, #f18b95);font-weight:600}.projected-participant{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem}.projected-dice-events{border-top:1px solid var(--line, rgba(122, 171, 201, .22));padding-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.projected-dice-event{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink-1, #9cb4c8)}.dice-hit-label{font-weight:600;font-size:.8rem}.dice-hit-label--hit{color:var(--accent, #82d6ff)}.dice-hit-label--miss{color:var(--ink-2, #70879c)}.reaction-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.reaction-overlay{background:var(--bg-2, #0e1c2a);border:2px solid var(--warning, #f18b95);border-radius:.75rem;padding:1.5rem 2rem;min-width:280px;max-width:400px;display:flex;flex-direction:column;gap:1rem;text-align:center;box-shadow:0 0 40px #f18b9540}.reaction-overlay-title{font-size:1rem;font-weight:700;color:var(--ink-0, #ebf7ff);margin:0}.reaction-overlay-countdown{font-size:2.5rem;font-weight:800;color:var(--warning, #f18b95);margin:0}.reaction-overlay-actions{display:flex;gap:.75rem;justify-content:center}.undo-btn{font-size:.82rem;padding:.2rem .65rem;align-self:flex-start;margin-top:.25rem;opacity:.85}.undo-btn:not(:disabled):hover{opacity:1}.player-game-view{display:flex;flex-direction:column;gap:.75rem}.player-status-strip{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#7be6af14;border:1px solid rgba(123,230,175,.2);border-radius:6px;font-size:.85rem;flex-wrap:wrap}.player-status-name{font-weight:700;color:#7be6af}.player-status-hp{background:#7be6af26;border-radius:4px;padding:.1rem .45rem;font-weight:800;color:#7be6af}.player-turn-indicator{text-align:center;padding:.45rem .75rem;border-radius:6px;font-weight:700;font-size:.9rem;border:1px solid rgba(142,207,240,.25);background:#8ecff012;color:#8ecff0}.player-turn-indicator--active{background:#8ecff026;border-color:#8ecff073;color:#c8e8fc}.action-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.action-tile{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .4rem;border-radius:6px;border:1px solid transparent;cursor:pointer;font-weight:700;font-size:.8rem;background:none;transition:filter .15s}.action-tile:hover{filter:brightness(1.15)}.action-tile--selected{outline:2px solid rgba(255,255,255,.35);outline-offset:1px}.action-tile--attack{background:#e6646426;border-color:#e664644d;color:#f09090}.action-tile--magic{background:#b694f01f;border-color:#b694f047;color:#dcc8f8}.action-tile--defend{background:#7be6af1a;border-color:#7be6af40;color:#7be6af}.action-tile--item{background:#f0c8641a;border-color:#f0c86440;color:#f0c864}.action-tile--move{background:#64b4f01a;border-color:#64b4f040;color:#64b4f0}.action-tile--other{background:#96969614;border-color:#96969633;color:#aaa}.action-tile--inspect{background:#64c8be1a;border-color:#64c8be40;color:#64c8be}.action-tile--talk{background:#f0aa501a;border-color:#f0aa5040;color:#f0aa50}.action-quick-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.action-quick-chip{padding:.3rem .75rem;border-radius:999px;border:1px solid var(--accent, #c8a95b);background:transparent;color:var(--accent, #c8a95b);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.action-quick-chip:hover:not(:disabled){background:var(--accent, #c8a95b);color:#1a1a1a}.action-quick-chip:disabled{opacity:.45;cursor:not-allowed}.action-tile-emoji{font-size:1.3rem}.action-tile-label{font-size:.72rem}.action-tile-panel{padding:.75rem;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.action-tile-panel label{font-size:.78rem;color:#aaa;display:flex;flex-direction:column;gap:.2rem}.action-tile-panel select,.action-tile-panel input,.action-tile-panel textarea{width:100%;font-size:.82rem;padding:.3rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#0000004d;color:inherit;box-sizing:border-box}.dm-game-view{display:flex;flex-direction:column;gap:.75rem}.dm-party-tracker{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.dm-party-card{display:flex;flex-direction:column;gap:.2rem;padding:.4rem .6rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;font-size:.8rem}.dm-party-card--active{border-color:#8ecff073;background:#8ecff014}.dm-party-card--down{border-color:#e6646466;background:#e6646414}.dm-party-card-name{font-weight:700;color:#e0f0e8}.dm-party-card-hp{font-size:.75rem;color:#aaa}.dm-hp-bar{height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden;margin-top:2px}.dm-hp-bar__fill{height:100%;border-radius:2px;transition:width .3s}.dm-hp-bar__fill.hp--high{background:#7be6af}.dm-hp-bar__fill.hp--mid{background:#f0c864}.dm-hp-bar__fill.hp--low{background:#f09090}.dm-monster-control{padding:.6rem .75rem;background:#e6646414;border:1px solid rgba(230,100,100,.25);border-radius:6px;display:flex;flex-direction:column;gap:.5rem}.dm-monster-control-title{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.dm-monster-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.lobby-express{display:flex;flex-direction:column;gap:1.5rem}.lobby-express-title{font-size:1.6rem;font-weight:700;margin:0}.lobby-express-subtitle{color:var(--text-secondary, #aaa);margin:.25rem 0 0}.lobby-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.preset-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--card-bg, #1e1e2e);border:2px solid transparent;border-radius:.75rem;cursor:pointer;text-align:center;transition:border-color .15s}.preset-card:hover{border-color:var(--accent, #7c6af7)}.preset-card--selected{border-color:var(--accent, #7c6af7);background:var(--accent-bg, #2a2540)}.preset-card-portrait{width:64px;height:64px;border-radius:50%;object-fit:cover}.preset-card-name{font-size:1rem;font-weight:600}.preset-card-summary{font-size:.8rem;color:var(--text-secondary, #aaa)}.preset-card-desc{font-size:.75rem;color:var(--text-secondary, #aaa);margin:0}.lobby-express-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.lobby-switch-link{background:none;border:none;color:var(--accent, #7c6af7);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.lobby-recent-games{display:flex;flex-direction:column;gap:.75rem}@media (max-width: 600px){.lobby-preset-grid{grid-template-columns:1fr 1fr}}.lobby-advanced{display:flex;flex-direction:column;gap:1rem}.lobby-advanced-header{display:flex;align-items:center;gap:1rem}.lobby-advanced-layout{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;align-items:start}.lobby-advanced-form{display:flex;flex-direction:column;gap:1rem}.lobby-advanced-preview{position:sticky;top:1rem;display:flex;flex-direction:column;gap:1rem;background:var(--card-bg, #1e1e2e);border-radius:.75rem;padding:1.25rem}.lobby-preview-storyteller{display:flex;align-items:center;gap:.75rem}.lobby-preview-portrait{width:56px;height:56px;border-radius:50%;object-fit:cover}.lobby-preview-scenario{display:flex;flex-direction:column;gap:.25rem}.lobby-preview-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:0}.lobby-preview-warning{color:#f59e0b;font-size:.85rem;margin:0}.lobby-accordion-section{border:1px solid var(--border, #2a2540);border-radius:.5rem;overflow:hidden}.lobby-accordion-section summary{padding:.75rem 1rem;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none;list-style:none}.lobby-accordion-section summary::-webkit-details-marker{display:none}.lobby-accordion-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--border, #2a2540)}@media (max-width: 700px){.lobby-advanced-layout{grid-template-columns:1fr}.lobby-advanced-preview{display:none}}.news-page{max-width:800px;margin:2rem auto;padding:0 1rem}.news-card{border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;margin-bottom:1.5rem;background:#ffffff08}.news-card-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.news-card-body{padding:1rem 1.25rem}.news-card-date{font-size:.8rem;color:var(--muted, #888);display:block;margin-bottom:.25rem}.news-card-title{margin:0 0 .5rem;font-size:1.25rem}.news-card-summary{color:var(--text-secondary, #aaa);margin-bottom:.75rem;line-height:1.5}.news-card-full{padding:0 1.25rem 1.25rem;border-top:1px solid rgba(255,255,255,.08);margin-top:.5rem}.news-rich-body{line-height:1.7}.news-rich-body h2{font-size:1.2rem;margin:1rem 0 .5rem}.news-rich-body h3{font-size:1rem;margin:.75rem 0 .4rem}.news-rich-body p{margin:.5rem 0}.news-rich-body ul,.news-rich-body ol{padding-left:1.5rem}.news-rich-body img{max-width:100%;border-radius:4px}.news-rich-body a{color:var(--accent, #c8a95b)}.news-rich-body blockquote{border-left:3px solid var(--accent, #c8a95b);padding-left:1rem;color:var(--muted, #888);margin:.5rem 0}.news-detail-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;margin-bottom:1rem;display:block}.news-detail-title{font-size:1.75rem;margin:.5rem 0}.schedule-page__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.schedule-page__tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.schedule-page__tab{background:#ffffff09;border:1px solid rgba(212,173,102,.2);border-radius:6px;padding:.45rem 1rem;color:#d7d0c0;cursor:pointer;font-size:.88rem}.schedule-page__tab--active{border-color:#d4ad66a6;color:#fff3cf;font-weight:600}.schedule-page__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.calendar-view{max-width:520px;margin:0 auto}.calendar-view__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calendar-view__nav button{background:#ffffff0a;border:1px solid rgba(212,173,102,.22);border-radius:6px;color:#f5efe2;cursor:pointer;padding:.3rem .65rem;font-size:.9rem}.calendar-view__month{font-weight:600;font-size:.95rem}.calendar-view__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-view__day-header{font-size:.72rem;color:#8a9ab0;padding:4px 0;font-weight:600}.calendar-view__day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.82rem;border-radius:8px;border:none;background:none;color:#f5efe2;cursor:pointer;position:relative}.calendar-view__day:hover:not(.calendar-view__day--outside){background:#d4ad661a}.calendar-view__day--outside{color:#3a4558;cursor:default}.calendar-view__day--outside:hover{background:none}.calendar-view__day--today{border:1.5px solid rgba(212,173,102,.75);color:#fff3cf;font-weight:700}.calendar-view__day--selected{background:#d4ad66d1;color:#1a1520;font-weight:700}.calendar-view__day--has-games:after{content:"";position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:#4a9f74}.calendar-view__dot{display:none}.calendar-view__day-list{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(212,173,102,.15)}.calendar-view__day-title{font-size:.82rem;color:#8a9ab0;margin-bottom:.5rem}.calendar-view__entry{display:flex;justify-content:space-between;align-items:center;background:#ffffff09;border:1px solid rgba(212,173,102,.15);border-radius:6px;padding:.5rem .75rem;font-size:.82rem;text-decoration:none;color:#f5efe2;margin-bottom:.4rem}.calendar-view__entry:hover{border-color:#d4ad6659;background:#ffffff0e}.calendar-view__entry-title{font-weight:500}.calendar-view__entry-meta{color:#8a9ab0;font-size:.75rem}.notification-bell{position:relative}.notification-bell__button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;position:relative;color:#f5efe2}.notification-bell__badge{position:absolute;top:-2px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:flex;align-items:center;justify-content:center;pointer-events:none}.invitation-dropdown{background:#0a0f16f7;border:1px solid rgba(212,173,102,.28);border-radius:10px;min-width:280px;max-width:360px;box-shadow:0 8px 28px #0009;position:absolute;right:0;top:calc(100% + 6px);z-index:200}.invitation-dropdown__header{padding:.6rem 1rem;font-weight:600;font-size:.85rem;border-bottom:1px solid rgba(212,173,102,.15);color:#fff3cf}.invitation-dropdown__empty{padding:.75rem 1rem;font-size:.82rem;color:#8a9ab0}.invitation-dropdown__item{padding:.75rem 1rem;border-bottom:1px solid rgba(212,173,102,.1)}.invitation-dropdown__item--reminder{border-left:3px solid #c05621}.invitation-dropdown__title{font-weight:600;font-size:.88rem;margin-bottom:.25rem;color:#f5efe2}.invitation-dropdown__meta{font-size:.78rem;color:#8a9ab0;margin-bottom:.25rem}.invitation-dropdown__date{font-size:.78rem;color:#8a9ab0;margin-bottom:.4rem}.invitation-dropdown__actions{display:flex;gap:.5rem;margin-top:.4rem}.invitation-dropdown__accept{background:linear-gradient(120deg,#c7963d,#9b5a22);border:1px solid rgba(212,173,102,.5);color:#fff8e8;border-radius:5px;padding:.3rem .75rem;cursor:pointer;font-size:.78rem;font-weight:600}.invitation-dropdown__decline{background:none;border:1px solid rgba(212,173,102,.2);color:#8a9ab0;border-radius:5px;padding:.3rem .75rem;cursor:pointer;font-size:.78rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#05080cc2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{width:min(480px,100%);max-height:min(86vh,860px);overflow:auto;border:1px solid rgba(212,173,102,.38);border-radius:14px;background:linear-gradient(145deg,#141b24fa,#0a0f16fa);box-shadow:0 24px 70px #0000007a;padding:22px;color:#f5efe2}.modal-content h2{margin:0 0 1.25rem;font-size:1.15rem}.form-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.form-field label{font-size:.82rem;color:#8a9ab0}.form-field input,.form-field select{background:#ffffff0a;border:1px solid rgba(212,173,102,.25);border-radius:6px;padding:.55rem .75rem;color:#f5efe2;font-size:.9rem;width:100%;box-sizing:border-box}.form-field input:focus,.form-field select:focus{outline:none;border-color:#d4ad6699}.form-error{color:#ff8787;font-size:.82rem;margin:.25rem 0}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.form-actions button{background:#ffffff0a;border:1px solid rgba(212,173,102,.25);border-radius:6px;padding:.5rem 1.1rem;color:#d7d0c0;cursor:pointer;font-size:.88rem}.form-actions button[type=submit]{background:linear-gradient(120deg,#c7963d,#9b5a22);border-color:#d4ad6699;color:#fff8e8;font-weight:600}.date-picker{position:relative;display:inline-block;width:100%}.date-picker__trigger{width:100%;box-sizing:border-box;background:#ffffff0a;border:1px solid rgba(212,173,102,.5);border-radius:6px;padding:.55rem .75rem;color:#f5efe2;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}.date-picker__trigger-placeholder{color:#4a566a}.date-picker__trigger-icon{color:#d4ad66cc;font-size:.95rem}.date-picker__popup{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#0a0f16fa;border:1px solid rgba(212,173,102,.3);border-radius:10px;padding:.75rem;box-shadow:0 8px 28px #000000a6;min-width:240px}.date-picker__nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.date-picker__nav-btn{background:none;border:none;color:#d4ad66cc;cursor:pointer;font-size:.85rem;padding:0 .3rem}.date-picker__month-label{font-size:.82rem;font-weight:600;color:#f5efe2}.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.date-picker__day-hdr{font-size:.64rem;color:#8a9ab0;padding:2px 0}.date-picker__day{font-size:.76rem;padding:5px 0;border-radius:5px;cursor:pointer;border:none;background:none;color:#f5efe2;width:100%}.date-picker__day--outside{color:#2e3a4a}.date-picker__day--disabled{color:#2e3a4a;cursor:not-allowed}.date-picker__day--today{color:#fff3cf;font-weight:700}.date-picker__day--selected{background:#d4ad66d1;color:#1a1520;border-radius:50%;font-weight:700}.date-picker__day:hover:not(.date-picker__day--outside):not(.date-picker__day--disabled):not(.date-picker__day--selected){background:#d4ad661f}.calendar-view__entry-body{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.calendar-view__entry-description{font-size:.75rem;color:#8a9ab0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitation-dropdown__description{font-size:.78rem;color:#8a9ab0;margin-bottom:.25rem;line-height:1.4}.form-field textarea{background:#ffffff0a;border:1px solid rgba(212,173,102,.25);border-radius:6px;padding:.55rem .75rem;color:#f5efe2;font-size:.9rem;width:100%;box-sizing:border-box;resize:vertical;font-family:inherit}.form-field textarea:focus{outline:none;border-color:#d4ad6699}.level-up-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:levelUpFadeIn .4s ease;cursor:pointer}.level-up-overlay__card{display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:levelUpScale .4s ease;transform-origin:center;text-align:center}.level-up-overlay__kicker{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#d4ad66cc}.level-up-overlay__level{font-size:8rem;font-weight:700;line-height:1;color:#d4ad66;text-shadow:0 0 40px rgba(212,173,102,.5)}.level-up-overlay__name{font-size:1.2rem;color:#f5efe2;margin:0}@keyframes levelUpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes levelUpScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.xp-bar-strip{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:#8a9ab0;padding:.25rem 0;flex-wrap:wrap}.xp-bar-wallet{color:#d4ad66e6;font-weight:500}.xp-bar-level{color:#f5efe2;font-weight:600}.xp-bar-progress{flex:1;min-width:60px;max-width:120px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;background:#ffffff1a;border:none}.xp-bar-progress::-webkit-progress-bar{background:#ffffff1a;border-radius:3px}.xp-bar-progress::-webkit-progress-value{background:linear-gradient(90deg,#d4ad66b3,#d4ad66);border-radius:3px;transition:width .3s ease}.xp-bar-progress::-moz-progress-bar{background:#d4ad66e6;border-radius:3px}.game-toast-xp{border-left-color:#6c5ce7;background:#6c5ce71f}.game-toast-loot{border-left-color:#d4ad66;background:#d4ad661f}.star-rating{display:inline-flex;gap:2px}.star-rating__star{color:#d4ad6640;font-size:1rem;line-height:1;-webkit-user-select:none;user-select:none}.star-rating__star--filled{color:#d4ad66}.star-rating--interactive .star-rating__star{cursor:pointer;transition:color .1s}.star-rating--interactive .star-rating__star:hover{color:#ffd264}.scenario-rating-row{display:flex;align-items:center;gap:.4rem;font-size:.75rem;margin-top:.5rem;flex-wrap:wrap}.scenario-rating-avg{color:#d4ad66e6;font-weight:600}.scenario-rating-count{color:#ffffff73;margin-left:2px}.scenario-rating-personal{display:flex;align-items:center;gap:.25rem;color:#fff9;font-size:.72rem}.scenario-sort-bar{display:flex;gap:.5rem;margin-bottom:1rem}.scenario-sort-bar button{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#fff9;border-radius:6px;padding:.3rem .75rem;font-size:.78rem;cursor:pointer;transition:border-color .15s,color .15s}.scenario-sort-bar button.active,.scenario-sort-bar button:hover{border-color:#d4ad6699;color:#d4ad66}.report-rating-block{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;font-size:.85rem;color:#ffffffbf}.scenario-fav-btn{background:none;border:none;cursor:pointer;color:#ffffff4d;font-size:1rem;padding:0 2px;line-height:1;transition:color .15s,transform .1s}.scenario-fav-btn:hover{color:#dc5050cc;transform:scale(1.2)}.scenario-fav-btn--active{color:#dc5050}.scenario-fav-btn--active:hover{color:#dc5050b3}.scenario-empty-fav{color:#fff6;font-size:.85rem;padding:1rem 0}.scenario-search-bar{position:relative;margin-bottom:.75rem}.scenario-search-bar__input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f5efe2;font-size:.85rem;padding:.5rem 2rem .5rem .75rem;outline:none;transition:border-color .15s;box-sizing:border-box}.scenario-search-bar__input:focus{border-color:#d4ad6680}.scenario-search-bar__input::placeholder{color:#ffffff59}.scenario-search-bar__clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff6;cursor:pointer;font-size:1rem;padding:0 .25rem;line-height:1}.scenario-search-bar__clear:hover{color:#ffffffb3}.scenario-pager{display:flex;align-items:center;gap:.25rem;justify-content:center;margin-top:1rem}.scenario-pager__btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#fff9;border-radius:6px;padding:.3rem .65rem;font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s;min-width:2rem}.scenario-pager__btn:disabled{opacity:.3;cursor:default}.scenario-pager__btn--active{border-color:#d4ad6699;color:#d4ad66}.scenario-pager__btn:not(:disabled):hover{border-color:#d4ad6666;color:#d4ad66cc}.scenario-pager__ellipsis{color:#ffffff4d;padding:0 .25rem;font-size:.82rem}.scenario-plays-total{color:#ffffff80;font-size:.72rem}.scenario-plays-my{color:#d4ad66b3;font-size:.72rem}.scenario-tag-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.scenario-tag-chip{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#fff9;border-radius:12px;padding:.2rem .65rem;font-size:.75rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.scenario-tag-chip:hover{border-color:#d4ad6666;color:#d4ad66e6}.scenario-tag-chip--active{background:#d4ad6626;border-color:#d4ad66b3;color:#d4ad66}.scenario-tag-chip--clear{border-color:#ff64644d;color:#ff9696b3}.scenario-tag-chip--clear:hover{border-color:#ff646499;color:#ff9696}.scenario-card-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.scenario-tag-chip--card{padding:.15rem .5rem;font-size:.68rem}.scenario-badge-new{display:inline-block;background:linear-gradient(120deg,#1a8a5a,#0f6b42);color:#e0fff0;border-radius:4px;padding:.1rem .45rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin-left:.4rem}.scenario-badge-played{display:inline-block;background:linear-gradient(120deg,#1a5a8a,#0f426b);color:#e0f0ff;border-radius:4px;padding:.1rem .45rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;margin-left:.4rem}.scroll-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#04060ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:scrollBackdropIn .35s ease}@keyframes scrollBackdropIn{0%{opacity:0}to{opacity:1}}.scroll-modal{position:relative;width:min(680px,100%);max-height:88vh;overflow-y:auto;overflow-x:hidden;animation:scrollUnfurl .5s cubic-bezier(.22,1,.36,1);background:radial-gradient(ellipse 60% 25% at 50% 0%,rgba(15,8,2,.92) 0%,transparent 100%),radial-gradient(ellipse 60% 25% at 50% 100%,rgba(15,8,2,.92) 0%,transparent 100%),radial-gradient(ellipse 25% 60% at 0% 50%,rgba(20,10,3,.78) 0%,transparent 100%),radial-gradient(ellipse 25% 60% at 100% 50%,rgba(20,10,3,.78) 0%,transparent 100%),radial-gradient(ellipse 35% 35% at 0% 0%,rgba(8,4,1,.95) 0%,transparent 100%),radial-gradient(ellipse 35% 35% at 100% 0%,rgba(8,4,1,.95) 0%,transparent 100%),radial-gradient(ellipse 35% 35% at 0% 100%,rgba(8,4,1,.95) 0%,transparent 100%),radial-gradient(ellipse 35% 35% at 100% 100%,rgba(8,4,1,.95) 0%,transparent 100%),radial-gradient(ellipse 40% 30% at 30% 40%,rgba(180,130,60,.12) 0%,transparent 100%),radial-gradient(ellipse 30% 40% at 70% 60%,rgba(160,110,50,.1) 0%,transparent 100%),linear-gradient(160deg,#c8a96e,#d4b57a,#e2c88e 30%,#d8bc84,#c9a96b 70%,#b8935c,#a07840);box-shadow:0 0 0 1px #3c1405cc,0 0 0 2px #b4781e66,0 0 20px #8c3cb459,0 0 50px #641e8c40,0 0 90px #5014782e,inset 0 0 60px #00000073,0 30px 80px #0009;border:2px solid rgba(80,40,10,.8);border-radius:4px;color:#2a1a08;scrollbar-color:rgba(100,60,20,.5) transparent}@keyframes scrollUnfurl{0%{opacity:0;transform:scaleY(.3) scaleX(.9);filter:blur(4px)}to{opacity:1;transform:scaleY(1) scaleX(1);filter:blur(0)}}.scroll-cap{position:relative;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#3c1e08f2,#5a320fe6 40%,#6e4114d9);border-bottom:1px solid rgba(180,120,40,.4);overflow:hidden}.scroll-cap--bottom{border-bottom:none;border-top:1px solid rgba(180,120,40,.4);background:linear-gradient(0deg,#3c1e08f2,#5a320fe6 40%,#6e4114d9)}.scroll-cap:before,.scroll-cap:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:40%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,173,102,.5),transparent)}.scroll-cap:before{left:0}.scroll-cap:after{right:0}.scroll-cap-rune{font-size:.75rem;letter-spacing:.5rem;color:#d4ad66cc;text-shadow:0 0 8px rgba(180,80,220,.6);position:relative;z-index:1}.scroll-body{padding:24px 32px;position:relative}.scroll-body:before{content:"";position:absolute;top:10%;right:8%;width:80px;height:80px;background:radial-gradient(ellipse,rgba(40,20,5,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.scroll-header{position:relative;text-align:center;padding-bottom:4px}.scroll-close-btn{position:absolute;top:0;right:0;background:none;border:1px solid rgba(80,40,10,.4);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#3c1e08b3;font-size:.75rem;transition:all .15s}.scroll-close-btn:hover{background:#3c1e081f;color:#3c1e08}.scroll-eyebrow{font-size:.7rem;letter-spacing:.25rem;text-transform:uppercase;color:#64370fd9;margin:0 0 6px;font-weight:600;text-shadow:0 0 12px rgba(180,80,220,.3)}.scroll-title{font-size:1.5rem;font-weight:800;color:#1a0c04;margin:0 0 6px;text-shadow:0 1px 0 rgba(212,173,102,.4),0 0 20px rgba(140,60,180,.2);letter-spacing:.02em}.scroll-subtitle{font-size:.82rem;color:#3c1e08b3;margin:0;font-style:italic}.scroll-divider{text-align:center;margin:16px 0;position:relative;color:#64370f99;font-size:1.1rem}.scroll-divider:before,.scroll-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:linear-gradient(90deg,transparent,rgba(100,55,15,.4),rgba(100,55,15,.2),transparent)}.scroll-divider:before{left:0}.scroll-divider:after{right:0}.scroll-sections{display:grid;gap:14px}.scroll-section{background:#0000000f;border:1px solid rgba(80,40,10,.25);border-radius:6px;padding:14px 16px;position:relative;overflow:hidden}.scroll-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 60%);pointer-events:none}.scroll-section-title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#50280ad9;margin:0 0 8px}.scroll-section-text{font-size:.9rem;line-height:1.65;color:#2a1a08;margin:0;white-space:pre-wrap}.scroll-bard-song{font-style:italic;color:#3c1950d9}.scroll-timestamp{text-align:center;font-size:.72rem;color:#50280a8c;margin:4px 0 0;font-style:italic}.scroll-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.scroll-btn{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:9px 20px;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .18s}.scroll-btn--primary{background:linear-gradient(135deg,#5c3010,#3d1f08);color:#e8c87a;border:1px solid rgba(212,173,102,.5);box-shadow:0 0 12px #8c3cb440}.scroll-btn--primary:hover{background:linear-gradient(135deg,#6d3a14,#4a2510);box-shadow:0 0 20px #8c3cb473;color:#f0d88a}.scroll-btn--ghost{background:#50280a1a;color:#3c1e08cc;border:1px solid rgba(80,40,10,.3)}.scroll-btn--ghost:hover{background:#50280a2e;color:#3c1e08}.dm-player-turn-panel{display:flex;flex-direction:column;gap:10px;padding:14px;background:#ffffff08;border:1px solid rgba(212,173,102,.2);border-radius:10px;margin-top:8px}.dm-player-quick-chips{display:flex;flex-wrap:wrap;gap:6px}.dm-player-quick-chip{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#ffffffa6;border-radius:16px;padding:4px 12px;font-size:.75rem;cursor:pointer;transition:all .15s;text-align:left}.dm-player-quick-chip:hover:not(:disabled){border-color:#d4ad6680;color:#d4ad66e6;background:#d4ad6614}.dm-player-quick-chip:disabled{opacity:.4;cursor:default}.dm-player-action-label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;color:#b4bed2b3}.dm-player-action-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#f5efe2;font-size:.85rem;padding:8px 10px;resize:vertical;outline:none;transition:border-color .15s;box-sizing:border-box}.dm-player-action-input:focus{border-color:#d4ad6680}.dm-player-action-input::placeholder{color:#ffffff40}.dm-player-action-preview{font-size:.78rem;color:#d4ad66cc;margin:0;padding:6px 8px;background:#d4ad660f;border-radius:6px;border-left:2px solid rgba(212,173,102,.4)}.session-readonly-view{display:flex;flex-direction:column;gap:16px}.session-readonly-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session-status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 14px;font-size:.8rem;font-weight:700;letter-spacing:.03em}.session-status-in_progress{background:#64c87826;color:#6bcf88;border:1px solid rgba(100,200,120,.3)}.session-status-finished{background:#96a0b41f;color:#b4bed2cc;border:1px solid rgba(150,160,180,.2)}.session-status-scheduled{background:#648cdc1f;color:#a0bef0e6;border:1px solid rgba(100,140,220,.25)}.session-uuid{color:#96a0b480;font-size:.72rem;font-family:monospace}.session-readonly-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.session-readonly-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.session-readonly-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#96a0b499;font-weight:600}.session-readonly-dim{font-size:.75rem;color:#96a0b48c}.session-readonly-storyteller{display:flex;align-items:center;gap:10px}.session-readonly-storyteller>div{display:flex;flex-direction:column;gap:2px;font-size:.82rem}.session-readonly-portrait{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}.session-readonly-story{display:flex;flex-direction:column;gap:14px;padding:14px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px}.session-readonly-story p{margin:4px 0 0;font-size:.85rem;line-height:1.6;color:#dce1ebcc}.chat-sender-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--accent);font-weight:600;font-size:inherit;text-decoration:none;transition:opacity .12s}.chat-sender-btn:hover{opacity:.75;text-decoration:underline}.chat-emoji-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 6px;border-radius:6px;transition:background .12s;flex-shrink:0}.chat-emoji-btn:hover{background:#ffffff1a}.chat-emoji-picker{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--panel-bg, #1a2030);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;z-index:9999;box-shadow:0 8px 24px #00000080;width:240px}.chat-emoji-item{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;padding:4px;border-radius:4px;transition:background .1s;text-align:center}.chat-emoji-item:hover{background:#ffffff1f}.dm-check-panel{padding:12px;background:#ffffff08;border:1px solid rgba(212,173,102,.2);border-radius:8px;margin-top:10px}.dm-check-form{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-top:8px}.dm-check-form select,.dm-check-form input{font-size:.78rem;padding:4px 6px;border-radius:4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#f5efe2;outline:none}.dm-check-form select:focus,.dm-check-form input:focus{border-color:#d4ad6680}.dm-check-dc-label,.dm-check-small-label{display:flex;align-items:center;gap:4px;font-size:.74rem;color:#b4bed2b3}.dm-check-dc-input{width:48px;text-align:center}.dm-check-dice-input{width:52px}.dm-check-result{margin-top:8px;padding:8px 10px;border-radius:6px;font-size:.8rem;line-height:1.5}.dm-check-result p{margin:2px 0}.dm-check-success{background:#6bcf881a;border:1px solid rgba(107,207,136,.3);color:#c8f5d8}.dm-check-failure{background:#e078781a;border:1px solid rgba(224,120,120,.3);color:#f5c8c8}.dm-check-player-strip{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px}.dm-check-player-card{flex:1 1 120px;min-width:108px;max-width:180px;display:flex;flex-direction:column;gap:3px;padding:7px 9px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;color:#e8dfc8}.dm-check-player-card:hover:not(:disabled){background:#d4ad6614;border-color:#d4ad6659}.dm-check-player-card-active{background:#d4ad661f;border-color:#d4ad668c}.dm-check-player-card-current{border-color:#64dc9680}.dm-check-player-card-active.dm-check-player-card-current{border-color:#64dc96b3;background:#64dc9614}.dm-check-player-card:disabled{opacity:.55;cursor:not-allowed}.dm-check-player-name{display:flex;align-items:center;gap:5px;font-size:.82rem;font-weight:700;color:#f5efe2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-check-player-turn-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80}.dm-check-player-meta{font-size:.68rem;color:#b4bed28c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-check-player-hp-row{display:flex;align-items:center;gap:5px;margin-top:2px}.dm-check-player-hp-bar-wrap{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.dm-check-player-hp-bar{height:100%;border-radius:2px;transition:width .4s}.dm-check-player-hp-label{font-size:.66rem;color:#b4bed28c;font-variant-numeric:tabular-nums;white-space:nowrap}.dm-check-player-conds{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px}.dm-check-player-cond-chip{font-size:.6rem;padding:1px 5px;border-radius:999px;background:#e0787826;border:1px solid rgba(224,120,120,.3);color:#f5c8c8}.dm-check-skill-preview{display:flex;align-items:center;gap:10px;width:100%;margin-top:8px;padding:8px 12px;background:#d4ad6612;border:1px solid rgba(212,173,102,.28);border-radius:8px;cursor:pointer;text-align:left;color:#f5efe2;transition:background .15s,border-color .15s}.dm-check-skill-preview:hover:not(:disabled){background:#d4ad6621;border-color:#d4ad6680}.dm-check-skill-preview:disabled{opacity:.55;cursor:not-allowed}.dm-check-skill-preview-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.dm-check-skill-preview-text{flex:1;min-width:0;display:flex;flex-direction:column}.dm-check-skill-preview-text strong{font-size:.88rem;font-weight:800}.dm-check-skill-preview-text span{font-size:.7rem;color:#b4bed299;margin-top:1px}.dm-check-skill-preview-mod{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}.dm-check-mod-value{font-size:1.1rem;font-weight:900;line-height:1}.dm-check-mod-pos{color:#4ade80}.dm-check-mod-neg{color:#f87171}.dm-check-skill-preview-mod small{font-size:.58rem;color:#b4bed280}.dm-check-skill-preview-arrow{font-size:.65rem;color:#d4ad6680;flex-shrink:0}.dm-check-shop{margin-top:6px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:10px;background:#050c14f2;border:1px solid rgba(212,173,102,.22);border-radius:10px;scrollbar-width:thin;scrollbar-color:rgba(212,173,102,.3) transparent}.dm-check-shop-group-label{margin:0 0 6px;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#d4ad668c}.dm-check-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.dm-check-shop-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px 7px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:8px;cursor:pointer;text-align:center;color:#e8dfc8;transition:background .12s,border-color .12s,transform .1s;position:relative}.dm-check-shop-card:hover{background:#d4ad661a;border-color:#d4ad6659;transform:translateY(-1px)}.dm-check-shop-card-selected{background:#d4ad6629;border-color:#d4ad6699;box-shadow:0 0 0 1px #d4ad664d}.dm-check-shop-icon{font-size:1.5rem;line-height:1;margin-bottom:1px}.dm-check-shop-name{font-size:.68rem;font-weight:800;line-height:1.2;color:#f5efe2}.dm-check-shop-ability{font-size:.6rem;font-weight:600;color:#d4ad66b3;background:#d4ad6614;border-radius:4px;padding:0 4px}.dm-check-shop-desc{font-size:.6rem;color:#b4bed280;line-height:1.3}.dm-check-shop-mod{margin-top:2px;font-size:.95rem;font-weight:900;line-height:1}.dm-check-cond-toggle{margin-top:6px}.dm-check-cond-panel{margin-top:6px;display:flex;flex-direction:column;gap:12px;padding:10px;background:#050c14f2;border:1px solid rgba(212,173,102,.22);border-radius:10px;max-height:420px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(212,173,102,.3) transparent}.dm-check-cond-grid{display:flex;flex-direction:column;gap:6px}.dm-check-cond-card{padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:border-color .15s}.dm-check-cond-card-active{border-width:1.5px}.dm-check-cond-critical{border-color:#f871718c;background:#f8717112}.dm-check-cond-major{border-color:#fbbf2473;background:#fbbf240f}.dm-check-cond-situational{border-color:#64a0dc66;background:#64a0dc0d}.dm-check-cond-card-head{display:flex;align-items:center;gap:8px}.dm-check-cond-icon{font-size:1.2rem;flex-shrink:0;line-height:1}.dm-check-cond-card-info{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.dm-check-cond-card-info strong{font-size:.82rem;font-weight:800;color:#f5efe2}.dm-check-cond-badge{font-size:.62rem;font-weight:700;padding:1px 5px;border-radius:4px;background:#f8717133;border:1px solid rgba(248,113,113,.4);color:#fca5a5}.dm-check-cond-toggle-btn{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#ffffffb3;font-size:.85rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.dm-check-cond-toggle-btn:hover:not(:disabled){background:#d4ad6633;border-color:#d4ad6680;color:#f5efe2}.dm-check-cond-toggle-btn.active{background:#f8717133;border-color:#f8717180;color:#fca5a5}.dm-check-cond-toggle-btn:disabled{opacity:.45;cursor:not-allowed}.dm-check-cond-desc{margin:4px 0 0;font-size:.68rem;color:#b4bed280;line-height:1.4;padding-left:28px}.dm-check-exhaustion-row{display:flex;align-items:center;gap:4px;margin-top:6px;padding-left:28px;font-size:.68rem;color:#b4bed28c}.dm-check-exhaustion-lvl{width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#e8dfc8;font-size:.74rem;font-weight:700;cursor:pointer;transition:background .1s,border-color .1s}.dm-check-exhaustion-lvl:hover{background:#d4ad6626;border-color:#d4ad6666}.dm-check-exhaustion-lvl.selected{background:#fbbf2440;border-color:#fbbf2499;color:#fde68a}.dm-check-exhaustion-lvl.danger{border-color:#f8717159}.dm-check-exhaustion-lvl.danger.selected{background:#f8717140;border-color:#f87171b3;color:#fca5a5}.dm-check-dice-backdrop{z-index:140}.dm-check-dice-modal{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;width:min(380px,92vw);padding:2rem 1.6rem 1.6rem;background:linear-gradient(160deg,#0d1a24,#0a1118);border:1px solid rgba(212,173,102,.3);border-radius:20px;box-shadow:0 24px 72px #000000b3,inset 0 0 60px #d4ad6608;animation:dm-check-modal-in .22s ease-out both}@keyframes dm-check-modal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.dm-check-dice-header{text-align:center}.dm-check-dice-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#d4ad6699}.dm-check-dice-title{margin:.2rem 0 0;font-size:1.15rem;font-weight:800;color:#f5efe2;display:flex;align-items:center;gap:.5rem;justify-content:center}.dm-check-dice-dc{font-size:.82rem;font-weight:600;color:#d4ad66cc;background:#d4ad6614;border:1px solid rgba(212,173,102,.22);border-radius:999px;padding:1px 8px}.dm-check-dice-target{margin:.15rem 0 0;font-size:.8rem;color:#b4bed2a6}.dm-check-dice-3d{width:min(200px,52vw);aspect-ratio:1}.dm-check-dice-3d .turn-die3d-wrap{width:100%;max-width:100%}.dm-check-dice-placeholder{font-size:3rem;text-align:center;line-height:1;padding:1rem}.dm-check-dice-status{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:#d4ad66bf;min-height:1.2em}.dm-check-dice-result{width:100%;border-radius:10px;padding:.9rem 1rem;animation:dm-check-result-in .3s ease-out both}@keyframes dm-check-result-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dm-check-dice-formula{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:.7rem}.dm-check-dice-d20{font-size:1.5rem;font-weight:900;color:inherit}.dm-check-dice-mod{font-size:1rem;font-weight:700;opacity:.75}.dm-check-dice-eq{font-size:1rem;opacity:.5}.dm-check-dice-total{font-size:2rem;font-weight:900;line-height:1}.dm-check-dice-vs{font-size:.78rem;opacity:.65;align-self:center}.dm-check-dice-effects{display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem}.dm-check-dice-effect{display:flex;align-items:center;gap:.5rem;font-size:.82rem;padding:.35rem .6rem;border-radius:6px;background:#ffffff0d}.dm-check-dice-effect span:first-child{opacity:.65;min-width:4rem}.dm-check-dice-effect strong{flex:1;font-weight:800}.dm-check-hp-track{font-size:.74rem;opacity:.55;font-variant-numeric:tabular-nums}.dm-check-dice-noeffect{margin:.35rem 0 0;font-size:.78rem;text-align:center;opacity:.6}.dm-check-dice-close{margin-top:.4rem;position:static}
