@layer app{.surface.r9-sign-in-view{--tex-walnut:url(/assets/design/tex/walnut-sign-in.f199d6.webp);box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:20px 16px 16vh;overflow-y:auto}.surface.r9-sign-in-view>*{z-index:2;position:relative}.r9-auth-card{background:radial-gradient(circle at 50% 0%, #d6ae6a2e, transparent 170px), linear-gradient(180deg, #2a1f17f0, #0d0906fa), var(--tex-walnut);background-blend-mode:normal,normal,multiply;width:min(100%,430px);box-shadow:var(--shadow-candle);color:var(--surface-parchment);text-align:center;isolation:isolate;background-size:cover,cover,340px;border:1px solid #b08742ad;border-radius:12px;justify-items:center;gap:12px;padding:18px 14px 14px;display:grid;position:relative}.r9-auth-card:after{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;animation:3s ease-in-out infinite thresholdGlow;position:absolute;inset:0;box-shadow:0 0 24px 2px #b087422e}@keyframes thresholdGlow{0%,to{opacity:0}50%{opacity:1}}.r9-auth-card:before{content:"";background:var(--ornament-corner) center/contain no-repeat;opacity:.48;pointer-events:none;width:54px;height:54px;position:absolute;top:6px;right:6px;transform:scaleX(-1)}.r9-auth-crest,.r9-admin-hero-icon{background:radial-gradient(circle at 32% 24%, var(--accent-brass-light), var(--accent-brass-dark) 62%, var(--surface-stone-mid) 100%), var(--tex-walnut);background-blend-mode:normal,multiply;width:46px;height:46px;color:var(--surface-parchment);background-size:cover,220px;border:1px solid #d6ae6a80;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffdca02e,0 8px 20px #00000057}.r9-auth-card .eyebrow,.r9-admin-view .eyebrow{color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:10px}.r9-auth-card h1{color:var(--surface-parchment);font-family:var(--font-display);margin:0;font-size:30px;line-height:1.04}.r9-auth-inset{width:100%;color:var(--surface-parchment);background:oklch(11% .008 275/.85);border:1px solid oklch(48% .095 75);border-radius:8px;gap:10px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px oklch(62% .115 78/.06)}.r9-auth-inset p{color:var(--surface-parchment);margin:0;font-size:16px;line-height:1.38}.r9-sign-in-form{box-shadow:none;text-align:left;background:0 0;border:0;gap:9px;margin:0;padding:0;display:grid}.r9-auth-modes{background:#2a1f1714;border:1px solid #7a5a2652;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.r9-auth-modes button{color:#f1e3c7a8;min-height:44px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;font-size:11px;transition:color .14s,border-color .14s}.r9-auth-modes button:hover{color:var(--surface-parchment)}@media (width<=420px){.r9-auth-modes button{letter-spacing:.02em;padding:6px 2px;font-size:10px}}.r9-auth-modes button[aria-selected=true]{color:var(--accent-brass-light);background:#b0874229;border-color:#b0874280;box-shadow:inset 0 1px #b0874233}.r9-otp-stack{gap:12px;display:grid}.r9-sign-in-form label{color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px}.r9-sign-in-form input{width:100%;min-height:48px;color:var(--surface-stone-mid);font-family:var(--font-body);background:#fff8e5eb;border:1px solid #7a5a2680;border-radius:8px;padding:9px 10px;font-size:16px}.r9-sign-in-form input::placeholder{color:#2a1f17a3}.r9-sign-in-form button,.r9-auth-link,.r9-google-sign-in{border:1px solid var(--accent-brass-dark);background:linear-gradient(180deg,var(--accent-brass),var(--accent-brass-dark));min-height:48px;color:var(--walnut-950);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffdca047,0 2px 8px #0000003d}.r9-google-sign-in{cursor:pointer;width:100%}.r9-auth-inset .r9-auth-status{color:#bcdfb0}.r9-auth-inset .r9-auth-error{color:#e9a094}.r9-invite-meta{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent-brass-light);font-size:13px}.r9-invite-premise{font-family:var(--font-body);color:var(--surface-parchment);font-size:16px;font-style:italic;line-height:1.5}.r9-invite-card .r9-auth-link{width:100%}.r9-auth-quiet{min-height:44px;color:var(--accent-brass-light);font-family:var(--font-body);letter-spacing:0;text-transform:none;text-underline-offset:3px;justify-self:center;align-items:center;font-size:15px;text-decoration:underline;display:inline-flex}.r9-auth-quiet:hover,.r9-auth-quiet:focus-visible{color:var(--surface-parchment)}@media (prefers-reduced-motion:reduce){.r9-auth-card:after{animation:none}}.r9-invite-accept:disabled{opacity:.62;cursor:wait}.r9-auth-magic-link{text-align:center;background:linear-gradient(#4a34202e,#140f0a6b);border:1px solid #d6ae6a8c;border-radius:10px;gap:10px;padding:14px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffdca014}.r9-auth-magic-link-eyebrow{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-brass-light);margin:0;font-size:10px}.r9-auth-magic-link-primary{background:radial-gradient(circle at 30% 24%, var(--accent-brass-light), var(--accent-brass-dark) 70%);color:#1a120a;min-height:48px;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;border:1px solid #d6ae6ad9;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 6px 20px #0000006b,inset 0 0 0 1px #ffecc866}.r9-auth-magic-link-primary:hover,.r9-auth-magic-link-primary:focus-visible{transform:translateY(-1px);box-shadow:0 10px 24px #00000080,inset 0 0 0 1px #fff0d28c}.r9-auth-magic-link-primary:active{transform:translateY(0)}.r9-auth-magic-link-copy{min-height:44px;color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #b0874259;border-radius:99px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:6px 12px;font-size:10px;display:inline-flex}.r9-auth-magic-link-copy:hover{color:var(--surface-parchment);border-color:#d6ae6a99}.r9-auth-magic-link button{min-height:44px;color:var(--surface-parchment);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#2a1f17eb;border:1px solid #7a5a26a8;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:11px;display:inline-flex}.r9-auth-magic-link .r9-auth-otp-code{letter-spacing:.2em;border-radius:8px;justify-self:center;min-height:54px;padding:6px 18px;font-size:22px}@font-face{font-display:swap;font-family:Cinzel;font-style:normal;font-weight:400 900;src:url(/fonts/Cinzel-latin.woff2)format("woff2")}@font-face{font-display:swap;font-family:Spectral;font-style:normal;font-weight:400;src:url(/fonts/spectral-400.woff2)format("woff2")}@font-face{font-display:swap;font-family:Spectral;font-style:normal;font-weight:600;src:url(/fonts/spectral-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:Spectral;font-style:italic;font-weight:400;src:url(/fonts/spectral-400-italic.woff2)format("woff2")}:root{--ink:oklch(27% .022 58);--ink-soft:oklch(42% .024 62);--ink-faint:oklch(55% .02 66);--ink-ghost:oklch(67% .016 70);--vellum:oklch(87.8% .018 78);--vellum-2:oklch(85% .02 75);--vellum-3:oklch(81.2% .022 72);--vellum-edge:oklch(76% .024 67);--walnut-950:oklch(17% .022 46);--walnut-900:oklch(21.5% .028 48);--walnut-800:oklch(26.5% .032 50);--walnut-700:oklch(32.5% .036 52);--walnut-600:oklch(39% .04 54);--iron-950:oklch(16.5% .012 252);--iron-900:oklch(20.5% .013 252);--iron-800:oklch(25.5% .014 253);--iron-700:oklch(31.5% .016 254);--slate:oklch(37% .028 250);--slate-lite:oklch(46% .026 250);--brass-deep:oklch(49% .092 74);--brass:oklch(65% .105 78);--brass-lit:oklch(76% .112 81);--brass-glow:oklch(86% .108 84);--brass-ink:oklch(43% .082 70);--silver-deep:oklch(60% .01 252);--silver:oklch(78% .008 250);--silver-lit:oklch(88% .006 248);--arcane:oklch(58% .115 300);--arcane-lit:oklch(72% .11 302);--on:oklch(66% .135 150);--idle:oklch(78% .135 88);--off:oklch(58% .175 28);--off-lit:oklch(72% .14 30);--serif:"Spectral", Georgia, "Times New Roman", serif;--display:"Cinzel", Georgia, serif;--shadow-deep:0 24px 60px -20px #000000b3, 0 8px 22px -12px #0009;--shadow-rail:0 14px 40px -18px #000000a6;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--font-display:"Cinzel", serif;--font-body:"Spectral", "EB Garamond", Georgia, serif;--bg-void:oklch(9% .008 280);--surface-stone:oklch(16% .01 275);--surface-stone-mid:oklch(23.5% .012 275);--rim-stone:oklch(33% .015 275);--ink-iron:oklch(42% .01 260);--ink-mist:oklch(62% .008 270);--accent-brass:var(--brass);--accent-brass-light:var(--brass-lit);--accent-brass-dark:var(--brass-deep);--accent-ember:oklch(55% .13 55);--surface-parchment:oklch(89% .035 82);--surface-parchment-warm:oklch(84% .04 80);--ink-parchment:oklch(35% .055 70);--accent-arcane:oklch(35% .08 305);--accent-ghost:oklch(48% .065 225);--alert-crit:oklch(32% .105 25);--accent-forest:oklch(38% .065 150);--tex-parchment:url(/assets/design/tex/parchment.3bafe3.webp);--tex-walnut:url(/assets/design/tex/walnut.b33753.webp);--tex-grunge:url(/assets/design/tex/grunge.11e64a.webp);--tex-vignette:url(/assets/design/tex/vignette.png);--tex-stone:var(--tex-grunge);--texture-walnut:var(--tex-walnut);--ornament-compass:url(/assets/ui-ornaments/compass-rose.png);--ornament-corner:url(/assets/ui-ornaments/corner-filigree-brass.png);--ornament-divider:url(/assets/ui-ornaments/divider-filigree.png);--step-xs:.72rem;--step-sm:.86rem;--step-md:1rem;--step-lg:1.25rem;--radius-card:.35rem;--radius-panel:.5rem;--shadow-candle:0 1rem 2.25rem oklch(4% .008 280/.55);--shadow-ember:0 .35rem 1.1rem oklch(4% .008 280/.6);--touch-target:48px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--surface-parchment);background:var(--bg-void);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:inherit}#root{width:100%;min-height:100vh}.ambient{z-index:0;pointer-events:none;background:radial-gradient(60% 40% at 50% 0%, #b087421a, transparent 70%), radial-gradient(50% 60% at 80% 90%, #3a5a781f, transparent 70%), radial-gradient(80% 60% at 50% 100%, #8b1a1a14, transparent 70%), var(--tex-stone), var(--bg-void);background-blend-mode:normal, normal, normal, multiply, normal;background-size:cover,cover,cover,420px,auto;position:fixed;inset:0}.phone{width:402px;height:874px;box-shadow:0 60px 140px #000000b3, 0 0 0 2px var(--bg-void), 0 0 0 4px var(--surface-stone-mid), 0 0 0 6px var(--bg-void), inset 0 0 0 1px #b087421a;background:#000;border-radius:54px;padding:8px;position:relative}.dynamic-island{z-index:80;background:#000;border-radius:20px;width:124px;height:34px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.surface{background: radial-gradient(120% 60% at 50% 0%, #b0874238, transparent 62%), radial-gradient(80% 70% at 50% 100%, #140f0a, #140f0a00 70%), linear-gradient(180deg, var(--surface-stone), var(--bg-void)), var(--tex-stone);background-blend-mode:normal,normal,normal,multiply;background-size:cover,cover,cover,360px;flex-direction:column;min-height:100vh;padding:54px 0 34px;display:flex;position:relative;overflow:hidden}.surface:after{content:"";pointer-events:none;background:var(--tex-vignette) center/cover no-repeat;opacity:.65;mix-blend-mode:multiply;position:absolute;inset:0}.r9-loading-screen{justify-content:center;align-items:center;min-height:100vh;padding:28px}.r9-loading-card{z-index:2;background:radial-gradient(120% 90% at 50% 0%, #b0874229, transparent 62%), linear-gradient(180deg, #201811f0, #0e0a07fa), var(--tex-walnut);background-blend-mode:normal, normal, multiply;width:min(100%,360px);color:var(--surface-parchment);text-align:center;background-size:cover,cover,340px;border:1px solid #b0874280;border-radius:10px;justify-items:center;gap:12px;padding:28px 24px;display:grid;position:relative;box-shadow:0 18px 42px #00000094,inset 0 0 0 1px #d6ae6a1a}.r9-loading-card .eyebrow{color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:10px}.r9-loading-card h1{color:var(--surface-parchment);font-family:var(--font-display);margin:0;font-size:24px;line-height:1.15}.r9-loading-card p:not(.eyebrow){color:#f1e3c7c2;max-width:30ch;margin:0;font-size:15px;line-height:1.38}.r9-loading-progress{background:#090705b8;border:1px solid #b0874259;border-radius:99px;width:100%;height:8px;margin-top:8px;position:relative;overflow:hidden}.r9-loading-progress span{background:linear-gradient(90deg, #b087422e, var(--accent-brass-light), #b0874252);border-radius:99px;width:42%;animation:1.35s cubic-bezier(.22,1,.36,1) infinite r9LoadingBar;position:absolute;top:1px;bottom:1px;left:-42%;box-shadow:0 0 14px #d6ae6a66}@keyframes r9LoadingBar{0%{transform:translate(0)}to{transform:translate(340%)}}.r9-message-screen{justify-content:center;align-items:center;min-height:100vh;padding:28px}.r9-message-card{z-index:2;background:radial-gradient(120% 90% at 50% 0%, #b0874229, transparent 62%), linear-gradient(180deg, var(--surface-stone-mid), var(--bg-void)), var(--tex-stone);background-blend-mode:normal, normal, multiply;width:min(100%,420px);color:var(--surface-parchment);text-align:center;background-size:cover,cover,340px;border:1px solid #b0874280;border-radius:10px;justify-items:center;gap:14px;padding:32px 28px;display:grid;position:relative;box-shadow:0 18px 42px #00000094,inset 0 0 0 1px #d6ae6a1a}.r9-message-card .eyebrow{color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:10.5px}.r9-message-card h1{color:var(--surface-parchment);font-family:var(--font-display);margin:0;font-size:26px;line-height:1.15}.r9-message-card p:not(.eyebrow){max-width:36ch;color:var(--ink-mist);margin:0;font-size:15px;line-height:1.45}.r9-message-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px;display:flex}.r9-message-cta{min-height:44px;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;padding:10px 22px;font-size:12px;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.r9-message-cta--primary{border:1px solid var(--accent-brass);background:linear-gradient(180deg, var(--accent-brass), var(--accent-brass-dark));color:var(--bg-void);box-shadow:inset 0 1px #fff0c840,0 4px 14px #00000073}.r9-message-cta--primary:hover{background:linear-gradient(180deg, var(--accent-brass-light), var(--accent-brass))}.r9-message-cta--secondary{border:1px solid var(--rim-stone);color:var(--surface-parchment);background:0 0}.r9-message-cta--secondary:hover{border-color:var(--accent-brass);color:var(--accent-brass-light)}@media (prefers-reduced-motion:reduce){.r9-loading-progress span{width:55%;animation:none;left:0}}.topbar{z-index:3;justify-content:space-between;align-items:center;padding:8px 14px 10px;display:flex;position:relative}.topbar .scene{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.topbar .crest{background:radial-gradient(circle at 30% 30%, var(--accent-brass-light), var(--accent-brass-dark) 65%, #3a2912 100%);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 0 0 1px #ffdca066,0 2px 6px #0009}.topbar .crest svg{width:22px;height:22px}.topbar .scene-meta{flex-direction:column;flex:auto;min-width:0;display:flex}.topbar .scene-meta .eyebrow{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-brass-light);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.topbar .scene-meta .title{font-family:var(--font-display);color:var(--surface-parchment);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;line-height:1.1;overflow:hidden}.icon-btn{background:linear-gradient(180deg,var(--surface-stone-mid),var(--bg-void));cursor:pointer;width:44px;height:44px;color:var(--accent-brass-light);border:1px solid #b0874280;border-radius:10px;place-items:center;display:grid}.icon-btn svg{width:18px;height:18px}.scene-strip{background:linear-gradient(180deg, #1c150fd9, #0f0b08d9), var(--tex-walnut);background-blend-mode:normal, multiply;z-index:2;box-shadow:inset 0 0 0 1px #b0874214, var(--shadow-ember);background-size:cover,280px;border:1px solid #b0874273;border-radius:10px;align-items:center;gap:10px;margin:0 12px 8px;padding:10px 12px;display:flex;position:relative}.scene-strip .clock-icon{background:var(--surface-stone);width:40px;height:40px;color:var(--accent-brass-light);border:1px solid #b0874273;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.scene-strip .clock-icon svg{width:22px;height:22px}.scene-strip .clock-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-strip .clock-body .row1{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-brass-light);font-size:11px}.scene-strip .clock-body .row2{font-family:var(--font-body);color:var(--surface-parchment);font-size:14px}.scene-strip .clock-body .row2.place{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scene-strip .chip{font-family:var(--font-display);color:#bcd5ec;letter-spacing:.08em;text-transform:uppercase;background:#3a5a782e;border:1px solid #78a0c866;border-radius:99px;flex-shrink:0;padding:5px 9px;font-size:10.5px}.scene-strip .chip.combat{color:#f3b8a4;background:#8b1a1a33;border-color:#dc505080}.scene-strip .chip.travel{color:#cce7c2;background:#3e5b3a40;border-color:#78aa6e73}.chronicle{z-index:2;scrollbar-width:thin;scrollbar-color:#b0874266 transparent;flex-direction:column;flex:1;gap:10px;padding:4px 12px 12px;display:flex;position:relative;overflow-y:auto}.chronicle::-webkit-scrollbar{width:4px}.chronicle::-webkit-scrollbar-thumb{background:#b0874266;border-radius:99px}.beat{flex-direction:column;gap:6px;animation:.4s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.narration{background:linear-gradient(180deg, #f1e3c7f7, #dcc8a5f7), var(--tex-parchment);background-blend-mode:normal, multiply;color:var(--surface-stone-mid);border:1px solid var(--accent-brass);box-shadow:0 1px 0 #fff6 inset, 0 0 0 1px #b0874240 inset, var(--shadow-ember);font-family:var(--font-body);text-wrap:pretty;background-size:cover,320px;border-radius:6px;padding:14px 16px 16px;font-size:16.5px;line-height:1.55;position:relative}.narration:before,.narration:after{content:"";background:var(--ornament-corner) center/contain no-repeat;opacity:.55;width:28px;height:28px;position:absolute}.narration:before{top:4px;left:4px}.narration:after{top:4px;right:4px;transform:scaleX(-1)}.narration .dm-eyebrow{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-brass-dark);align-items:center;gap:8px;margin-bottom:8px;font-size:10.5px;display:flex}.narration .dm-eyebrow .dot{background:var(--accent-brass);border-radius:99px;width:6px;height:6px;box-shadow:0 0 6px #b08742b3}.narration p{margin:0 0 8px}.narration p:last-child{margin-bottom:0}.narration em{color:var(--ink-parchment);font-style:italic}.ruling{color:#eadfc8;font-family:var(--font-body);background:linear-gradient(#241c14f0,#18130ff5);border:1px solid #b08742a6;border-radius:6px;padding:11px 13px;font-size:13.5px;line-height:1.45;position:relative;box-shadow:inset 0 0 0 1px #ffffff0a}.ruling .dm-eyebrow{color:var(--accent-brass-light);font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:6px;font-size:10px;display:flex}.ruling .dm-eyebrow .dot{background:#d1a849;border-radius:99px;width:6px;height:6px;box-shadow:0 0 6px #d1a849b3}.ruling p{margin:0}.narration-card{background:linear-gradient(180deg, #f1e3c7f7, #dcc8a5f7), var(--tex-parchment);background-blend-mode:normal, multiply;color:var(--surface-stone-mid);border:1px solid var(--accent-brass);box-shadow:0 1px 0 #fff6 inset, 0 0 0 1px #b0874240 inset, var(--shadow-ember);font-family:var(--font-body);background-size:cover,320px;border-radius:6px;padding:12px 14px 14px;font-size:15px;line-height:1.45;position:relative}.scene-card__image{aspect-ratio:16/9;background:var(--surface-stone);border:1px solid #7a5a268c;border-radius:5px;margin:0 0 10px;overflow:hidden}.scene-card__image img{object-fit:cover;width:100%;height:100%;display:block}.narration-card__header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.narration-card__header .eyebrow{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-brass-dark);margin:0;font-size:10px}.narration-card__text{margin:0 0 10px}.narration-card__header-controls{align-items:center;gap:12px;display:inline-flex}.tts-budget-badge{border:1px solid var(--accent-brass-dark);color:var(--accent-brass-dark);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:9px;display:inline-flex}.tts-budget-badge--exhausted{color:#9a3b2f;border-color:#9a3b2f}.tts-toggle{min-height:44px;color:var(--ink-parchment);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;display:inline-flex}.tts-toggle input{accent-color:var(--accent-brass-dark)}.dialogue-beats{flex-direction:column;gap:8px;display:flex}.dialogue-beat{background:#2a1f1712;border:1px solid #7a5a2647;border-radius:6px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.dialogue-beat__speaker{background:radial-gradient(circle at 30% 30%, var(--accent-brass-light), var(--accent-brass-dark) 64%, #3a2912);width:38px;height:38px;color:var(--surface-parchment);font-family:var(--font-display);border:1px solid #7a5a2685;border-radius:50%;place-items:center;font-size:12px;transition:border-color .2s,box-shadow .2s;display:grid;overflow:hidden}.dialogue-beat__speaker img{object-fit:cover;width:100%;height:100%;transition:opacity .2s,filter .2s}.dialogue-beat--inactive .dialogue-beat__speaker img,.dialogue-beat--inactive .dialogue-beat__speaker span,.dialogue-beats:hover .dialogue-beat:not(:hover) .dialogue-beat__speaker img,.dialogue-beats:hover .dialogue-beat:not(:hover) .dialogue-beat__speaker span{opacity:.55;filter:grayscale(.4)}.dialogue-beats:hover .dialogue-beat:hover .dialogue-beat__speaker img,.dialogue-beats:hover .dialogue-beat:hover .dialogue-beat__speaker span{opacity:1;filter:none}.dialogue-beats:hover .dialogue-beat:hover .dialogue-beat__speaker{border-color:var(--accent-brass-light);box-shadow:0 0 8px #d6ae6a73}.dialogue-beat__body{min-width:0}.dialogue-beat__body strong{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-brass-dark);font-size:10px;display:block}.dialogue-beat__body p{color:var(--surface-stone-mid);margin:2px 0 6px}.dialogue-beat audio{grid-column:1/-1;width:100%;min-height:34px}.intent{background:linear-gradient(180deg, var(--surface-stone-mid), var(--bg-void)), var(--tex-walnut);background-blend-mode:normal, multiply;max-width:84%;color:var(--surface-parchment);font-family:var(--font-body);box-shadow:var(--shadow-ember);background-size:cover,280px;border:1px solid #b087428c;border-radius:14px 14px 4px;align-self:flex-end;padding:9px 13px;font-size:14.5px;line-height:1.4;position:relative}.intent .who{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-brass-light);margin-bottom:3px;font-size:10px;display:block}.whisper{background:linear-gradient(180deg, #3a5a7840, #22344859), var(--tex-grunge);background-blend-mode:normal, multiply;color:#dde8f2;font-family:var(--font-body);box-shadow:0 0 0 1px #78a0c81f inset, var(--shadow-ember);background-size:cover,220px;border:1px solid #78a0c88c;border-radius:8px;padding:11px 14px;font-size:14.5px;line-height:1.45;position:relative}.whisper .who{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:oklch(72% .045 225);align-items:center;gap:6px;margin-bottom:4px;font-size:10px;display:flex}.whisper .who svg{width:13px;height:13px}.whisper em{color:#8da9c1;font-style:italic}.portrait-chip{justify-items:center;gap:5px;min-width:0;margin:0;display:grid}.portrait-chip--small{width:56px}.portrait-chip--card{width:112px}.portrait-chip__image,.portrait-chip__fallback{aspect-ratio:1;border:1.5px solid var(--accent-brass);background:linear-gradient(180deg,var(--surface-stone-mid),var(--bg-void));width:100%;color:var(--accent-brass-light);object-fit:cover;border-radius:10px;place-items:center;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #00000073,0 4px 10px #00000057}.portrait-chip__caption{width:100%;min-width:0;color:var(--surface-parchment);font-family:var(--font-display);text-align:center;gap:1px;font-size:9.5px;line-height:1.05;display:grid}.portrait-chip__caption strong,.portrait-chip__caption span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-badge{border:1.5px solid var(--accent-brass);background:radial-gradient(circle at 34% 24%, #f5d38bc7, #7c5623f5 64%), var(--tex-walnut);background-size:cover,220px;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 2px 7px #00000073,0 0 0 1px #0000005c}.class-badge--large{width:58px;height:58px}.class-badge img{object-fit:cover;width:100%;height:100%;display:block}.prompt-mic{cursor:pointer;color:#6a4617;background:linear-gradient(#f5e8ccf2,#cbae7beb);border:1.5px solid #7a5a26b8;border-radius:50%;flex-shrink:0;align-self:center;place-items:center;width:44px;height:44px;transition:transform .15s,color .15s,background .15s;display:grid;box-shadow:inset 0 0 0 1px #fff5dc73,0 2px 4px #00000047}.prompt-mic:active{transform:scale(.94)}.prompt-mic.recording{color:var(--surface-parchment);border-color:var(--accent-brass);background:linear-gradient(#8e3222,#4a1711);animation:1.4s ease-in-out infinite recordingPulse}@keyframes recordingPulse{0%,to{box-shadow:inset 0 0 0 1px #fff5dc73,0 2px 4px #00000047,0 0 #b0874280}50%{box-shadow:inset 0 0 0 1px #fff5dc73,0 2px 4px #00000047,0 0 12px 4px #b0874259}}.prompt-mic:disabled{opacity:.45;cursor:not-allowed}.prompt-mic svg{width:18px;height:18px}.suggested{scrollbar-width:none;z-index:4;gap:6px;padding:0 12px 8px;display:flex;position:relative;overflow-x:auto}.suggested::-webkit-scrollbar{display:none}.suggested .chip{min-height:44px;font-family:var(--font-body);color:var(--surface-parchment-warm);cursor:pointer;background:#140f0ab3;border:1px solid #b0874273;border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:7px 11px;font-size:13px;display:inline-flex}.suggested .chip svg{width:13px;height:13px;color:var(--accent-brass-light)}.suggested .chip:hover{background:#281e14d9}.tabbar{background:linear-gradient(180deg, #1e1610d9, #0f0b08f2), var(--tex-walnut);background-blend-mode:normal,multiply;z-index:3;background-size:cover,280px;border-top:1px solid #b0874273;grid-template-columns:repeat(4,1fr);gap:0;padding:8px 14px;display:grid;position:relative}.tab{cursor:pointer;color:#f1e3c7bf;border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;transition:color .2s;display:flex;position:relative}.tab.active{color:var(--accent-brass-light)}.tab:before{content:"";background:var(--accent-brass);opacity:0;border-radius:99px;width:32px;height:2px;transition:opacity .25s;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #b0874299}.tab.active:before{opacity:1}.tab svg{width:22px;height:22px}.tab .label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;font-size:9.5px}.tab .pip{background:var(--alert-crit);border-radius:99px;width:6px;height:6px;position:absolute;top:2px;right:14px}.drawer-backdrop{z-index:40;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .25s;position:absolute;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{z-index:50;background:linear-gradient(180deg, #1f1710, #110b07), var(--tex-stone);background-blend-mode:normal,multiply;border-top:1px solid var(--accent-brass);background-size:cover,320px;border-radius:18px 18px 0 0;flex-direction:column;max-height:84%;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%);box-shadow:0 -16px 40px #0009,inset 0 -2px #b0874266}.drawer.open{transform:translateY(0)}.drawer-handle{background:#b087428c;border-radius:99px;flex-shrink:0;width:54px;height:5px;margin:10px auto 6px}.drawer-head{border-bottom:1px solid #b087424d;justify-content:space-between;align-items:center;gap:8px;padding:6px 14px 8px;display:flex}.drawer-head h2{font-family:var(--font-display);color:var(--surface-parchment);letter-spacing:.04em;margin:0;font-size:18px;font-weight:700}.drawer-body{scrollbar-width:thin;scrollbar-color:#b0874266 transparent;flex:1;padding:10px 12px 22px;overflow-y:auto}.drawer-body::-webkit-scrollbar{width:4px}.drawer-body::-webkit-scrollbar-thumb{background:#b0874266;border-radius:99px}.eyebrow-row{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-brass-light);align-items:center;gap:8px;margin:8px 0 6px;font-size:10.5px;display:flex}.eyebrow-row .line{background:linear-gradient(90deg,#b0874273,#b0874200);flex:1;height:1px}.segmented{background:#140f0acc;border:1px solid #b0874273;border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;padding:3px;display:grid}.segmented button{color:#f1e3c7b8;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:44px;padding:8px 6px;font-size:11px;font-weight:700}.segmented button.active{background:linear-gradient(180deg,var(--surface-stone-mid),var(--surface-stone));color:var(--accent-brass-light);border:1px solid #b0874273;box-shadow:inset 0 1px #b0874233}.pcard{background:linear-gradient(180deg, #f1e3c7f5, #dcc8a5f5), var(--tex-parchment);background-blend-mode:normal,multiply;border:1px solid var(--accent-brass);color:var(--surface-stone-mid);box-shadow:var(--shadow-ember);background-size:cover,320px;border-radius:6px;padding:11px 13px}.party-list{flex-direction:column;gap:8px;display:flex}.spell-slot-row{background:#140f0aa6;border:1px solid #b0874259;border-radius:8px;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;display:flex}.spell-slot-row .lvl{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-brass-light);font-size:10.5px}.spell-slot-row .pips{flex:1;gap:5px;display:flex}.pip{background:radial-gradient(circle at 30% 30%,var(--accent-brass-light),var(--accent-brass-dark) 65%,#3a2912);border:1px solid #ffdca066;border-radius:50%;width:14px;height:14px;box-shadow:0 0 6px #d6ae6a80}.pip.spent{background:var(--bg-void);border-color:#d6ae6a61;box-shadow:inset 0 1px 2px #000000b3}.spell-grid{grid-template-columns:1fr;gap:8px;display:grid}.spell-card{cursor:pointer;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.spell-card .glyph{background:linear-gradient(180deg,var(--surface-stone-mid),var(--bg-void));width:42px;height:42px;color:var(--accent-brass-light);border:1px solid #b0874280;border-radius:8px;place-items:center;display:grid}.asset-image{width:100%;height:100%;color:inherit;place-items:center;display:grid}.asset-image img{object-fit:contain;filter:drop-shadow(0 4px 7px #00000080);width:100%;height:100%;display:block}.asset-image--creatures img{object-fit:cover}.spell-card .glyph svg{width:22px;height:22px}.spell-card .glyph .asset-image img{width:32px;height:32px}.spell-card .glyph .asset-image--creatures img{border-radius:6px}.spell-card .body{flex-direction:column;min-width:0;display:flex}.spell-card .name{font-family:var(--font-display);color:var(--surface-stone-mid);font-size:14.5px;font-weight:700}.spell-card .meta{color:var(--ink-parchment);font-size:12px;font-style:italic}.spell-card .cast{appearance:none;border:1px solid var(--accent-brass-dark);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(180deg,var(--accent-brass),var(--accent-brass-dark));color:var(--surface-parchment);cursor:pointer;border-radius:6px;padding:7px 10px;font-size:10px}.spell-card .cast.ritual{color:oklch(72% .045 225);background:#3a5a7833;border-color:#3a5a7899}.gold-bar{background:linear-gradient(#b0874226,#7a5a2614);border:1px solid #b0874280;border-radius:8px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.gold-bar .coin{background:radial-gradient(circle at 30% 30%,#ead07a,var(--accent-brass) 60%,#5a3a10);width:30px;height:30px;color:var(--surface-stone-mid);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffdca066}.gold-bar .totals{flex:1;gap:14px;display:flex}.gold-bar .totals .t{flex-direction:column;padding-left:13px;display:flex;position:relative}.gold-bar .totals .t:before{content:"";background:var(--coin-tone,var(--accent-brass));border-radius:50%;width:8px;height:8px;position:absolute;top:3px;left:0;box-shadow:inset 0 0 0 1px #140f0a80,0 0 3px #0006}.gold-bar .totals .t[data-coin=gp]{--coin-tone:#d8a83c}.gold-bar .totals .t[data-coin=sp]{--coin-tone:#b9c2cc}.gold-bar .totals .t[data-coin=cp]{--coin-tone:#b0723e}.gold-bar .totals .t[data-coin=ep]{--coin-tone:#8fa38e}.gold-bar .totals .t[data-coin=pp]{--coin-tone:#cfd6e4}.gold-bar .totals .t b{font-family:var(--font-display);color:var(--surface-parchment);font-size:14px;font-weight:700}.gold-bar .totals .t span{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-brass-light);font-size:9.5px}.gold-bar .enc{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-brass-light);font-size:10.5px}.hex-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.hex-slot{aspect-ratio:1;background:linear-gradient(180deg,var(--surface-stone-mid),var(--bg-void));color:var(--accent-brass-light);cursor:pointer;border:1px solid #b0874273;border-radius:10px;place-items:center;display:grid;position:relative}.hex-slot.equipped{border-color:var(--accent-brass-light);box-shadow:inset 0 0 0 1px #d6ae6a66,0 0 12px #b0874240}.hex-slot .slot-label{text-align:center;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#f1e3c7b8;text-overflow:clip;white-space:normal;overflow-wrap:break-word;min-height:16px;padding:0 4px;font-size:7.5px;line-height:1.05;position:absolute;bottom:4px;left:0;right:0;overflow:visible}.hex-slot svg{width:26px;height:26px}.hex-slot .asset-image{align-self:center;width:68%;height:68%;transform:translateY(-4px)}.hex-slot .asset-image img{width:100%;height:100%}.hex-slot.magic{color:#c9aae0;background:linear-gradient(#2a1b3a,#1a1024);border-color:#a078c899;box-shadow:inset 0 0 0 1px #b48cdc4d,0 0 12px #7850b440}.hex-slot.empty{color:#b08742b8;background:0 0;border-style:dashed;border-color:#b087424d}.hex-slot .qty{font-family:var(--font-display);color:var(--surface-parchment);text-shadow:0 1px 2px #000000b3;font-size:10px;font-weight:800;position:absolute;top:2px;right:4px}.item-list{flex-direction:column;gap:6px;display:flex}.item-row{cursor:pointer;background:#140f0a8c;border:1px solid #b087424d;border-radius:6px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.item-row .icon{background:linear-gradient(180deg,var(--surface-stone-mid),var(--bg-void));width:36px;height:36px;color:var(--accent-brass-light);border:1px solid #b0874273;border-radius:6px;place-items:center;display:grid}.item-row .icon svg{width:20px;height:20px}.item-row .icon .asset-image{width:30px;height:30px}.item-row .body{flex-direction:column;min-width:0;display:flex}.item-row .name{font-family:var(--font-display);color:var(--surface-parchment);font-size:13.5px;font-weight:700;line-height:1.1}.item-row .meta{color:#f1e3c7bf;margin-top:2px;font-size:12px;font-style:italic;line-height:1.2}.item-row .qty-pill{font-family:var(--font-display);color:var(--accent-brass-light);background:#b087422e;border:1px solid #b0874280;border-radius:99px;padding:3px 8px;font-size:10.5px}.item-row.magic .name{color:#d6b0e8}.item-row.magic{border-color:#a078c880}.sheet-hero{background:linear-gradient(180deg, var(--surface-stone-mid), var(--bg-void)), var(--tex-walnut);background-blend-mode:normal,multiply;border:1px solid var(--accent-brass);color:var(--surface-parchment);background-size:cover,280px;border-radius:10px;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid;position:relative;overflow:hidden}.sheet-hero:before{content:"";background:var(--ornament-corner) center/contain no-repeat;opacity:.4;pointer-events:none;width:60px;height:60px;position:absolute;top:-4px;right:-4px;transform:scaleX(-1)}.sheet-hero .portrait-arch{background:var(--surface-stone);border:1.5px solid var(--accent-brass);border-radius:35px 35px 6px 6px;flex-shrink:0;width:70px;height:80px;overflow:hidden}.sheet-hero .portrait-arch img{object-fit:cover;width:100%;height:100%;display:block}.sheet-hero .info .eyebrow{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-brass-light);font-size:10px}.sheet-hero .info h1{font-family:var(--font-display);letter-spacing:.02em;color:var(--surface-parchment);margin:0;font-size:20px;font-weight:700}.sheet-hero .info .kind{color:#f1e3c7bf;margin-top:1px;font-size:13.5px;font-style:italic}.sheet-hero .class-medal{background:linear-gradient(180deg,var(--surface-stone),var(--bg-void));border:1.5px solid var(--accent-brass);border-radius:50%;place-items:center;width:54px;height:54px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #b087424d}.sheet-hero .class-medal img{width:42px;height:42px}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.stat-block{text-align:center;background:linear-gradient(180deg, #f1e3c7f5, #dcc8a5f7), var(--tex-parchment);background-blend-mode:normal,multiply;border:1px solid var(--accent-brass);color:var(--surface-stone-mid);background-size:cover,320px;border-radius:6px;flex-direction:column;gap:2px;padding:8px;display:flex}.stat-block .icon{height:24px;color:var(--accent-brass-dark);place-items:center;display:grid}.stat-block .icon svg{width:20px;height:20px}.stat-block .lbl{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-brass-dark);font-size:9.5px}.stat-block .num{font-family:var(--font-display);color:var(--surface-stone-mid);font-size:22px;font-weight:800;line-height:1}.stat-block .sub{font-family:var(--font-display);color:var(--ink-parchment);font-size:10.5px}.ability-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ability{text-align:center;background:linear-gradient(180deg, #f1e3c7f2, #dcc8a5f5), var(--tex-parchment);background-blend-mode:normal,multiply;color:var(--surface-stone-mid);background-size:cover,320px;border:1px solid #b0874299;border-radius:6px;align-content:center;justify-items:center;gap:0;padding:7px;display:grid}.ability .lbl{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--accent-brass-dark);font-size:9px}.ability .mod{font-family:var(--font-display);margin-top:2px;font-size:22px;font-weight:800;line-height:1.05}.ability .score{font-family:var(--font-display);color:var(--ink-parchment);border-top:1px solid #7a5a2659;margin-top:2px;padding-top:2px;font-size:10px}.cond-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cond{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;border-radius:99px;padding:4px 9px;font-size:10px}.cond.blessed{color:var(--accent-brass-light);background:#b087422e;border:1px solid #b087428c}.cond.hex{color:oklch(72% .045 225);background:#3a5a782e;border:1px solid #3a5a788c}.cond.bloodied{color:#e9a094;background:#8b1a1a2e;border:1px solid #8b1a1a8c}.cond.poison{color:#bcdfb0;background:#3e5b3a33;border:1px solid #6ea06480}button.cond{appearance:none;cursor:pointer;font:inherit;align-items:center;display:inline-flex;position:relative}.cond.cond--info:after{content:"";opacity:.55;background:currentColor;border-radius:99px;flex:none;width:5px;height:5px;margin-left:6px}.cond-popover{z-index:40;opacity:0;pointer-events:none;text-align:left;text-transform:none;letter-spacing:normal;width:max-content;max-width:min(280px,100vw - 32px);color:var(--surface-parchment);font-family:var(--font-body);background:linear-gradient(#21170f,#120c08);border:1px solid #b08742a6;border-radius:9px;flex-direction:column;gap:5px;padding:9px 11px;font-size:12px;line-height:1.3;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 14px 26px #00000075}.cond:hover .cond-popover,.cond:focus-visible .cond-popover,.cond[data-open=true] .cond-popover{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.cond-popover__name{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-brass-light);font-size:11px}.cond-popover__summary{color:var(--surface-parchment);opacity:.92}.cond-popover__rules{opacity:.85;flex-direction:column;gap:3px;margin:0;padding-left:16px;display:flex}.cond-popover__rules li{font-size:11.5px}.cond-popover__levels{border-collapse:collapse;opacity:.85;margin-top:2px;font-size:11px}.cond-popover__levels th{text-align:left;color:var(--accent-brass-light);padding:1px 8px 1px 0;font-weight:600}.cond-popover__levels td{padding:1px 0}@media (prefers-reduced-motion:reduce){.cond-popover{transition:none;transform:translate(-50%)}.cond:hover .cond-popover,.cond:focus-visible .cond-popover,.cond[data-open=true] .cond-popover{transform:translate(-50%)}}.map-card{border:1px solid #b087428c;border-radius:8px;padding:0;position:relative;overflow:hidden}.map-card img{object-fit:cover;filter:saturate(.9)brightness(.85);width:100%;height:140px;display:block}.r9-map-preview-empty{min-height:140px;color:var(--accent-brass-light);background:linear-gradient(135deg,#2a1f17f0,#15110cf5);place-items:center;display:grid}.map-card .map-overlay{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--surface-parchment);background:linear-gradient(#0000 35%,#0a0807d9);justify-content:space-between;align-items:flex-end;padding:8px 10px;font-size:11px;display:flex;position:absolute;inset:0}.map-card .map-overlay .open{color:var(--accent-brass-light);background:#140f0ab3;border:1px solid #b0874280;border-radius:99px;padding:5px 10px;font-size:10px}.intro{z-index:50;color:#f1e3c7bf;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;pointer-events:none;align-items:center;gap:14px;font-size:10px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.intro .dot{background:var(--accent-brass);border-radius:99px;width:5px;height:5px}.ornament-divider{grid-template-columns:minmax(18px,1fr) 72px minmax(18px,1fr);align-items:center;gap:10px;margin:12px 0;display:grid}.ornament-divider:before,.ornament-divider:after{content:"";background:linear-gradient(90deg,#0000,#b087428c,#0000);height:1px}.ornament-divider__mark{background:var(--ornament-divider) center/contain no-repeat;opacity:.82;width:72px;height:18px;display:block}.skeleton{background:linear-gradient(90deg,#b087421f 25%,#b0874238 50%,#b087421f 75%) 0 0/200% 100%;border-radius:4px;animation:1.6s ease-in-out infinite skeletonShimmer}.skeleton-circle{border-radius:50%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-view{gap:8px}.skeleton-home-head{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.skeleton-campaign-list{flex-direction:column;gap:8px;padding:0 12px 12px;display:flex}.skeleton-campaign-card{background:linear-gradient(180deg, #f1e3c7f5, #dcc8a5f5), var(--tex-parchment);background-blend-mode:normal,multiply;border:1px solid var(--accent-brass);background-size:cover,320px;border-radius:6px;flex-direction:column;gap:6px;padding:11px 13px;display:flex}.skeleton-campaign-card .skeleton{background:#2a1f171f}.r9-home-view.skeleton-view .skeleton,.r9-home-view.skeleton-view .skeleton-campaign-card .skeleton{background:linear-gradient(90deg,oklch(28% .012 275) 25%,oklch(40% .018 80) 50%,oklch(28% .012 275) 75%) 0 0/200% 100%;animation:1.6s ease-in-out infinite skeletonShimmer}.r9-home-view.skeleton-view .skeleton-campaign-card{background:linear-gradient(180deg, var(--surface-stone-mid), var(--surface-stone));border-color:var(--rim-stone)}@media (prefers-reduced-motion:reduce){.r9-home-view.skeleton-view .skeleton{animation:none}}.skeleton-sheet-hero{align-items:center;gap:12px;padding:12px 14px;display:flex}.skeleton-sheet-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.skeleton-sheet-sections{flex-direction:column;flex:1;gap:12px;padding:0 12px 12px;display:flex;overflow-y:auto}.skeleton-sheet-section{flex-direction:column;gap:8px;display:flex}.skeleton-sheet-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.skeleton-drawer-head{border-bottom:1px solid #b087424d;justify-content:space-between;align-items:center;gap:8px;padding:6px 14px 8px;display:flex}.skeleton-drawer-body{flex-direction:column;flex:1;gap:8px;padding:10px 12px 12px;display:flex;overflow-y:auto}.skeleton-drawer-row{background:linear-gradient(180deg, #f1e3c7f5, #dcc8a5f5), var(--tex-parchment);background-blend-mode:normal,multiply;border:1px solid var(--accent-brass);background-size:cover,320px;border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.skeleton-drawer-row .skeleton{background:#2a1f171f}button.spell-card{appearance:none;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}button.spell-card:focus-visible{outline:2px solid var(--accent-brass-light);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-text-scale=large] body{zoom:1.25}@media (width<=520px){:root[data-text-scale=large] .scene-strip{grid-template-columns:40px minmax(0,1fr);align-items:center;display:grid}:root[data-text-scale=large] .scene-strip .chip{text-align:center;grid-column:1/-1;justify-self:stretch}:root[data-text-scale=large] .jump-to-now{bottom:calc(148px + env(safe-area-inset-bottom,0px))}}:root[data-high-contrast=true] body{--surface-parchment:#fff7e6}:root[data-high-contrast=true]{filter:contrast(1.12)}:root[data-high-contrast=true] .surface,:root[data-high-contrast=true] .panel,:root[data-high-contrast=true] .card{border-color:#f1e3c78c!important}[data-theme=stone]{--bg-void:oklch(8% .01 280);--surface-stone:oklch(14% .012 275);--surface-stone-mid:oklch(20% .014 275);--surface-stone-high:oklch(26% .016 275);--rim-stone:oklch(34% .018 275);--rim-stone-strong:oklch(44% .022 270);--ink-iron:oklch(48% .012 260);--ink-mist:oklch(64% .01 270);--ink-bone:oklch(86% .02 80);--firelight:var(--brass);--firelight-soft:var(--brass-lit);--firelight-deep:var(--brass-deep);--firelight-glow:oklch(62% .135 60/.18);--arcane:oklch(58% .135 305);--blood-iron:oklch(48% .155 28);--tex-stone-noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='360'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.18  0 0 0 0 0.22  0 0 0 0.16 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}[data-theme=stone] body{background:var(--bg-void);color:var(--ink-bone)}[data-theme=stone] .surface:after{opacity:.55}[data-theme=stone]{--hyb-void:oklch(9% .012 274);--hyb-stone-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n' x='0' y='0' width='1' height='1'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.62  0 0 0 0 0.62  0 0 0 0 0.68  0.24 0 0 0 -0.09'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--hyb-stone-mottle:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='900'><filter id='n' x='0' y='0' width='1' height='1'><feTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='4' seed='7' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.42  0 0 0 0 0.43  0 0 0 0 0.48  0.4 0 0 0 -0.16'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--hyb-walnut-hi:oklch(27% .04 58);--hyb-walnut-lo:oklch(18% .03 56);--hyb-leather-hi:oklch(26% .034 50);--hyb-leather-lo:oklch(17% .026 48);--hyb-brass:var(--brass-lit);--hyb-brass-lo:var(--brass-deep);--hyb-brass-hi:var(--brass-glow);--hyb-cream:oklch(91% .028 84);--hyb-drop:0 22px 48px oklch(3% .01 280/.62);--hyb-drop-sm:0 10px 24px oklch(3% .01 280/.5);--hyb-firelight-glow:oklch(66% .135 64/.2);--hyb-frame:inset 0 1px 0 oklch(72% .05 76/.18), inset 0 -30px 54px oklch(5% .01 280/.38), var(--hyb-drop);--hyb-frame-sm:inset 0 1px 0 oklch(72% .05 76/.16), var(--hyb-drop-sm)}[data-theme=stone] body{background:var(--hyb-stone-grain), var(--hyb-stone-mottle), var(--hyb-void);color:var(--hyb-cream);background-size:240px 240px,900px 900px,auto}[data-theme=stone] .ambient{background:radial-gradient(80% 42% at 50% -6%, var(--hyb-firelight-glow), transparent 60%), radial-gradient(70% 60% at 85% 108%, oklch(34% .09 305/.1), transparent 70%), url(/assets/design/tex/grunge.11e64a.webp), linear-gradient(176deg, oklch(15% .014 272), oklch(9% .011 274) 64%, oklch(7% .009 276));background-blend-mode:screen, screen, overlay, normal;background-size:cover,cover,520px 520px,cover}[data-theme=stone] .surface{background:radial-gradient(120% 46% at 50% -2%, var(--hyb-firelight-glow), transparent 58%), var(--hyb-stone-grain), var(--hyb-stone-mottle), linear-gradient(180deg, oklch(14% .014 272), oklch(10% .012 274) 52%, oklch(7.5% .01 276));background-blend-mode:screen, normal, normal, normal;background-size:cover,240px 240px,900px 900px,cover}[data-theme=stone] .surface:after{opacity:.8;mix-blend-mode:multiply;background:url(/assets/design/tex/vignette.png) 50%/cover no-repeat}}@layer overrides;
