@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Lora:ital,wght@0,400;0,700;1,400&family=Inter:wght@400;500;700&display=swap);:root{--light-bg:#f4e4bc;--light-surface:#fff9eb;--light-primary:#5d4037;--light-accent:#c0a080;--light-text:#2c1e1a;--light-text-secondary:#5d4037cc;--light-border:#d4c4a8;--light-shadow:#5d403726;--light-inventory-shelf-bg:#5d4037;--dark-bg:#121212;--dark-surface:#1e1e1e;--dark-primary:#d4af37;--dark-accent:#8e44ad;--dark-text:#e0e0e0;--dark-text-secondary:#b0b0b0;--dark-border:#333;--dark-shadow:#00000080;--dark-inventory-shelf-bg:#0a0a0a;--font-header:"Cinzel",serif;--font-body:"Lora",serif;--font-ui:"Inter",sans-serif;--surface-soft:#e9ecef;--border-soft:#d7dce1;--ink-strong:#2c3e50;--state-success:#2ecc71;--state-success-strong:#27ae60;--state-danger:#e74c3c;--state-danger-strong:#c0392b;--state-danger-bright:#ff5252;--state-danger-bright-10:#ff52521a;--state-danger-bright-30:#ff52524d;--state-warning:#f39c12;--state-warning-strong:#e67e22;--state-info:#3498db;--state-info-strong:#2980b9;--state-muted:#95a5a6;--state-muted-strong:#7f8c8d;--state-muted-faint:#bdc3c7;--state-highlight:#f1c40f;--state-success-deep:#229954;--state-warning-deep:#d35400;--state-violet:#6c5ce7;--state-violet-soft:#a29bfe;--control-text:#495057;--control-border:#ced4da;--control-hover:#dee2e6;--text-secondary-soft:#6c757d;--surface-game:#e8edf0;--shadow-black-10:#0000001a;--shadow-black-20:#0003;--shadow-black-30:#0000004d;--shadow-black-40:#0006;--glow-success-40:#27ae6066;--glow-success-60:#27ae6099;--glow-success-90:#27ae60e6;--glow-info-60:#3498db99;--glow-info-90:#3498dbe6;--glow-danger-30:#e74c3c4d;--glow-danger-60:#e74c3c99;--glow-highlight-60:#f1c40f99;--glow-info-30:#3498db4d;--shadow-black-08:#00000014;--shadow-black-15:#00000026;--overlay-dark-60:#0009;--on-dark:#fff;--primary-tint-05:#d4af370d;--primary-tint-10:#d4af371a;--encounter-luck-start:#00b894;--encounter-luck-end:#00cec9;--encounter-danger-start:#d63031;--encounter-danger-end:#e17055;--encounter-violet-glow-30:#6c5ce74d;--encounter-violet-glow-40:#6c5ce766;--encounter-violet-glow-50:#6c5ce780;--danger-tint-10:#e74c3c1a;--danger-tint-20:#e74c3c33;--danger-strong-tint-10:#c0392b1a;--danger-strong-tint-20:#c0392b33;--warning-tint-10:#f39c121a;--warning-strong-tint-10:#e67e221a;--success-tint-20:#27ae6033;--success-strong-tint-20:#2ecc7133;--success:var(--state-success-strong);--warning:var(--state-warning);--surface-light:var(--surface)}[data-theme=light-fantasy]{--bg:var(--light-bg);--surface:var(--light-surface);--primary:var(--light-primary);--accent:var(--light-accent);--text:var(--light-text);--text-secondary:var(--light-text-secondary);--border:var(--light-border);--shadow:var(--light-shadow);--inventory-shelf-bg:var(--light-inventory-shelf-bg);--header-font:var(--font-header);--body-font:var(--font-body)}[data-theme=dark-fantasy]{--bg:var(--dark-bg);--surface:var(--dark-surface);--primary:var(--dark-primary);--accent:var(--dark-accent);--text:var(--dark-text);--text-secondary:var(--dark-text-secondary);--border:var(--dark-border);--shadow:var(--dark-shadow);--inventory-shelf-bg:var(--dark-inventory-shelf-bg);--header-font:var(--font-header);--body-font:var(--font-body)}[data-theme=redesign]{--ground:#0e0d13;--ground-2:#131019;--surface-2:#221c2e;--line:#2e2740;--line-soft:#221d30;--gold:#d8a64e;--gold-bright:#e2be7f;--purple:#8e44ad;--purple-bright:#b46fd4;--muted:#a29caf;--muted-2:#7d778c;--parchment:#f4e4bc;--parchment-ink:#3a2c1e;--parchment-ink-soft:#6a5238;--font-display:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--wrap:1120px;--step:clamp(4.5rem,9vw,8rem);--bg:var(--ground);--surface:#1a1622;--primary:var(--gold);--accent:var(--purple,#8e44ad);--text:#ece7e0;--text-secondary:var(--muted);--border:var(--line);--shadow:#00000080;--success:#57c07f;--inventory-shelf-bg:#0a0a0a;--header-font:var(--font-display);--body-font:var(--font-body)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);font-family:var(--body-font),serif;line-height:1.6;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}code{background-color:#e9ecef;background-color:var(--surface-soft);border-radius:3px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:.2em .4em}h1,h2,h3,h4,h5,h6{color:var(--primary);font-family:var(--header-font);letter-spacing:.01em;margin-bottom:.8em;margin-top:1.5em}h1{font-size:2.22rem}h2{font-size:1.88rem}h3{font-size:1.55rem}button{background-color:#ecb44f;border:1px solid #f0c564;border-radius:6px;box-shadow:inset 0 1px 0 #ffffff4d,0 6px 18px -10px #e3a93fb3;color:#1d1505;cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font-ui);font-size:.92rem;font-weight:600;letter-spacing:.01em;padding:10px 22px;transition:filter .2s ease,transform .15s ease,border-color .2s ease,background .2s ease}button:hover{filter:brightness(1.07)}.secondary-button{background-color:var(--surface);border-color:var(--line,var(--border));box-shadow:none;color:var(--text)}.secondary-button:hover{border-color:var(--gold,var(--primary));color:var(--primary);color:var(--gold,var(--primary));filter:none}.danger-button{background-color:#b9414a;border-color:#d4555f;box-shadow:none;color:#fff}button:active{transform:translateY(1px)}button:disabled{background-color:var(--surface);background-color:var(--surface-2,var(--surface));border-color:var(--line,var(--border));box-shadow:none;color:var(--text-secondary);color:var(--muted-2,var(--text-secondary));cursor:not-allowed;filter:none;opacity:.8}input[type=number],input[type=password],input[type=text],select,textarea{background-color:var(--surface);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text);font-family:var(--ui-font),sans-serif;font-size:1rem;margin-bottom:20px;padding:12px;transition:border-color .2s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--shadow);outline:none}label{color:var(--text-secondary);display:block;font-family:var(--header-font);font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px}.container{margin:20px auto;max-width:1200px;padding:0 20px}a{border-bottom:1px solid #0000;color:var(--primary);text-decoration:none;transition:all .2s ease}a:hover{border-bottom-color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.error-message{background-color:#ff52521a;background-color:var(--state-danger-bright-10);border:1px solid #ff52524d;border:1px solid var(--state-danger-bright-30);border-radius:4px;color:#ff5252;color:var(--state-danger-bright);font-family:var(--ui-font),sans-serif;font-size:.9rem;margin-top:10px;padding:12px}[data-theme=redesign] .btn{align-items:center;border:1px solid #0000;border-radius:2px;cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.95rem;font-weight:600;gap:.55rem;padding:.85rem 1.5rem;text-decoration:none;transition:transform .15s ease,background .2s ease,border-color .2s ease}[data-theme=redesign] .btn-primary{background:linear-gradient(160deg,#f6d27a,#e3a93f);border-color:#f0c564;box-shadow:inset 0 1px 0 #ffffff59,0 10px 30px -10px #e3a93fbf;color:#1d1505}[data-theme=redesign] .btn-primary:hover{filter:brightness(1.07);transform:translateY(-2px)}[data-theme=redesign] .btn-primary:disabled,[data-theme=redesign] .btn-primary[aria-disabled=true]{background:var(--surface-2);border-color:var(--line);box-shadow:none;color:var(--muted-2);cursor:not-allowed;filter:none;opacity:1;transform:none}[data-theme=redesign] .btn-ghost{background:#ffffff05;border-color:var(--line);color:var(--text)}[data-theme=redesign] .btn-ghost:hover{border-color:var(--gold)}[data-theme=redesign] .rd-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--ground) 82%,#0000);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:40}[data-theme=redesign] .rd-nav-inner{align-items:center;display:flex;height:68px;justify-content:space-between;margin:0 auto;max-width:var(--wrap);padding-inline:clamp(1.15rem,4vw,2.5rem)}[data-theme=redesign] .rd-wordmark{align-items:center;color:var(--text);display:inline-flex;font-family:var(--font-display);font-size:1.2rem;font-weight:700;gap:.6rem;letter-spacing:.18em;text-decoration:none;text-transform:uppercase}[data-theme=redesign] .rd-wordmark .rune{color:var(--gold)}[data-theme=redesign] .rd-logo{display:block;height:38px;width:auto}[data-theme=redesign] .rd-nav-cluster,[data-theme=redesign] .rd-nav-links{align-items:center;display:flex;gap:2rem}[data-theme=redesign] .rd-nav-links{color:var(--muted);font-family:var(--font-ui);font-size:.9rem;list-style:none;margin:0;padding:0}[data-theme=redesign] .rd-nav-cta{align-items:center;display:flex;gap:1.2rem}[data-theme=redesign] .rd-nav-cta .btn{padding:.6rem 1.15rem}[data-theme=redesign] .rd-link{color:var(--muted);font-family:var(--font-ui);font-size:.9rem;font-weight:600;text-decoration:none}[data-theme=redesign] .rd-link:hover,[data-theme=redesign] .rd-profile .nav-dropdown-toggle{color:var(--text)}[data-theme=redesign] .rd-nav .nav-dropdown-toggle{align-items:center;background:#0000;border:none;color:var(--muted);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.9rem;font-weight:500;gap:.35rem;padding:0}[data-theme=redesign] .rd-nav .nav-dropdown-toggle:hover{color:var(--text)}[data-theme=redesign] .rd-nav .dropdown-arrow{font-size:.6rem}[data-theme=redesign] .rd-nav .nav-dropdown-menu{background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 20px 50px -20px #000000d9;list-style:none;margin:.6rem 0 0;min-width:190px;padding:.4rem;position:absolute;z-index:45}[data-theme=redesign] .rd-nav .nav-dropdown-action,[data-theme=redesign] .rd-nav .nav-dropdown-menu a{background:#0000;border:none;border-radius:5px;color:var(--muted);cursor:pointer;display:block;font-family:var(--font-ui);font-size:.88rem;padding:.55rem .7rem;text-align:left;text-decoration:none;width:100%}[data-theme=redesign] .rd-nav .nav-dropdown-action:hover,[data-theme=redesign] .rd-nav .nav-dropdown-menu a:hover{background:var(--surface-2);color:var(--text)}[data-theme=redesign] .rd-burger{display:none}@media (max-width:760px){[data-theme=redesign] .rd-burger{align-items:center;background:#0000;border:1px solid var(--line-soft);border-radius:4px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1.1rem;height:38px;justify-content:center;width:38px}[data-theme=redesign] .rd-nav-cluster{align-items:flex-start;background:var(--ground-2);border-bottom:1px solid var(--line-soft);display:none;flex-direction:column;gap:1rem;left:0;padding:1rem clamp(1.15rem,4vw,2.5rem) 1.4rem;position:absolute;right:0;top:68px;z-index:39}[data-theme=redesign] .rd-nav-cluster.open{display:flex}[data-theme=redesign] .rd-nav-cta,[data-theme=redesign] .rd-nav-links{align-items:flex-start;flex-direction:column;gap:1rem;width:100%}}[data-theme=redesign] .main-content.redesign-bleed{max-width:none;padding:0}[data-theme=redesign] .rd-page{text-align:left}[data-theme=redesign] .rd-page h1,[data-theme=redesign] .rd-page h2,[data-theme=redesign] .rd-page h3,[data-theme=redesign] .rd-page h4{color:var(--text);font-family:var(--font-display);font-weight:700;letter-spacing:normal;margin:0;text-transform:none}[data-theme=redesign] .rd-page :is(h1,h2){text-wrap:balance}[data-theme=redesign] .rd-page ul{list-style:none;margin:0;padding:0}[data-theme=redesign] .rd-page a:not(.btn){color:inherit;text-decoration:none}[data-theme=redesign] .rd-page .wrap{margin-inline:auto;max-width:var(--wrap);padding-inline:clamp(1.15rem,4vw,2.5rem);width:100%}[data-theme=redesign] .rd-page .band{padding-block:var(--step)}[data-theme=redesign] .rd-page .band-alt{background:linear-gradient(180deg,var(--ground-2),var(--ground));border-block:1px solid var(--line-soft)}[data-theme=redesign] .rd-page .eyebrow{color:var(--gold);font-family:var(--font-ui);font-size:.95rem;font-weight:600;letter-spacing:.2em;margin:0 0 .9rem;text-transform:uppercase}[data-theme=redesign] .rd-page .page-header .eyebrow{font-size:1.02rem}[data-theme=redesign] .rd-page .eyebrow.purple{color:var(--purple-bright)}[data-theme=redesign] .rd-page .section-head{margin-bottom:clamp(2rem,4vw,3.2rem);max-width:60ch}[data-theme=redesign] .rd-page .section-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.12}[data-theme=redesign] .rd-page .section-head p{color:var(--muted);font-size:1.08rem;margin:1rem 0 0}[data-theme=redesign] .rd-page .learn{align-items:center;border:1px solid color-mix(in srgb,var(--gold) 55%,#0000);border-radius:6px;color:var(--gold);display:inline-flex;font-family:var(--font-ui);font-size:1.05rem;font-weight:700;gap:.4rem;margin-top:1.6rem;padding:.55rem 1rem;transition:gap .2s ease,background .2s ease}[data-theme=redesign] .rd-page .learn:hover{background:color-mix(in srgb,var(--gold) 12%,#0000);gap:.65rem}[data-theme=redesign] .rd-page .learn:after{content:"\2192"}[data-theme=redesign] :is(.rd-home,.rd-overview,.rd-engine,.rd-membership,.rd-guide) .section-head{margin-inline:auto;max-width:50rem;text-align:center}[data-theme=redesign] :is(.rd-home,.rd-overview,.rd-engine,.rd-membership,.rd-guide) .section-head :is(h2,p){text-wrap:balance}[data-theme=redesign] :is(.rd-home,.rd-overview,.rd-engine,.rd-membership,.rd-guide) .head-split .section-head{margin-inline:0;max-width:none;text-align:left}[data-theme=redesign] :is(.rd-home,.rd-overview,.rd-engine,.rd-membership,.rd-guide) .wrap>.learn{display:flex;margin-inline:auto;width:-moz-fit-content;width:fit-content}[data-theme=redesign] .rd-page a.learn{color:var(--gold)}[data-theme=redesign] .rd-page p .learn{border:0;font-size:inherit;margin-top:0;padding:0;text-decoration:underline;text-underline-offset:3px}[data-theme=redesign] .rd-page p .learn:hover{background:none}[data-theme=redesign] .rd-page .hero{align-items:center;display:flex;min-height:max(640px,82vh);overflow:hidden;padding-block:clamp(2.5rem,5vw,4rem);position:relative}[data-theme=redesign] .rd-page .hero-photo{background-position:76%;background-repeat:no-repeat;background-size:cover;inset:0;position:absolute;z-index:0}[data-theme=redesign] .rd-page .hero-scrim{background:linear-gradient(100deg,var(--ground) 6%,color-mix(in srgb,var(--ground) 84%,#0000) 32%,color-mix(in srgb,var(--ground) 32%,#0000) 55%,#0000 74%),linear-gradient(0deg,var(--ground) 3%,#0000 32%);inset:0;pointer-events:none;position:absolute;z-index:1}[data-theme=redesign] .rd-page .hero-inner{padding-inline:clamp(1.25rem,5vw,4.5rem);position:relative;width:100%;z-index:2}[data-theme=redesign] .rd-page .hero-copy{max-width:40rem}[data-theme=redesign] .rd-page .hero h1{text-wrap:normal;font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.01em;line-height:1.12}[data-theme=redesign] .rd-page .hero h1 .accent{color:var(--gold);font-style:normal}[data-theme=redesign] .rd-page .lede{color:#cdc7d3;font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.6;margin:1.4rem 0 2rem;max-width:36rem}[data-theme=redesign] .rd-page .hero-actions{display:flex;flex-direction:column;gap:.9rem;margin-top:2.4rem;max-width:36rem}[data-theme=redesign] .rd-page .hero-actions .btn{font-size:1rem;justify-content:center;padding:.95rem 1.5rem}[data-theme=redesign] .rd-page .hero-note{align-items:center;color:var(--muted-2);display:flex;font-family:var(--font-ui);font-size:.92rem;gap:.5rem;margin-top:1.6rem}[data-theme=redesign] .rd-page .hero-note .dot{background:var(--success);border-radius:50%;box-shadow:0 0 10px var(--success);height:7px;width:7px}[data-theme=redesign] .rd-page .hero-inner .roll-card{margin-top:2.2rem;max-width:430px}[data-theme=redesign] .rd-page .roll-card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:8px;box-shadow:0 30px 80px -40px #000000e6,inset 0 1px 0 #ffffff08;padding:1.5rem 1.6rem 1.7rem}[data-theme=redesign] .rd-page .roll-head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;margin-bottom:1.1rem}[data-theme=redesign] .rd-page .roll-tag{border:1px solid color-mix(in srgb,var(--gold) 40%,#0000);border-radius:2px;color:var(--gold);font-family:var(--font-ui);font-size:.76rem;letter-spacing:.18em;padding:.28rem .6rem;text-transform:uppercase}[data-theme=redesign] .rd-page .roll-quest{color:var(--muted);font-family:var(--font-ui);font-size:.92rem}[data-theme=redesign] .rd-page .roll-body{align-items:center;display:flex;gap:1.3rem}[data-theme=redesign] .rd-page .d20{display:grid;flex:0 0 auto;height:92px;place-items:center;position:relative;width:92px}[data-theme=redesign] .rd-page .d20 svg{height:100%;inset:0;position:absolute;width:100%}[data-theme=redesign] .rd-page .d20 .val{font-feature-settings:"tnum";color:var(--text);font-family:var(--font-display);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700;position:relative}[data-theme=redesign] .rd-page .roll-math{flex:1 1;min-width:0}[data-theme=redesign] .rd-page .math-row{align-items:baseline;color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:.9rem;gap:.5rem .7rem}[data-theme=redesign] .rd-page .math-row b{font-feature-settings:"tnum";color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}[data-theme=redesign] .rd-page .math-row .op{color:var(--muted-2)}[data-theme=redesign] .rd-page .math-total{align-items:center;display:flex;font-family:var(--font-ui);gap:.8rem;margin-top:.85rem}[data-theme=redesign] .rd-page .total-num{font-feature-settings:"tnum";color:var(--gold-bright);font-family:var(--font-display);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700}[data-theme=redesign] .rd-page .vs{color:var(--muted-2);font-size:.92rem;white-space:nowrap}[data-theme=redesign] .rd-page .pill-success{background:color-mix(in srgb,var(--success) 12%,#0000);border:1px solid color-mix(in srgb,var(--success) 45%,#0000);border-radius:2px;color:var(--success);font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.1em;margin-left:auto;padding:.3rem .7rem;text-transform:uppercase}[data-theme=redesign] .rd-page .roll-foot{border-top:1px solid var(--line-soft);color:var(--muted);font-family:var(--font-ui);font-size:.9rem;line-height:1.55;margin-top:1.25rem;padding-top:1.1rem}[data-theme=redesign] .rd-page .roll-foot .code{color:var(--gold);font-weight:600}[data-theme=redesign] .rd-page .cards-3{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:820px){[data-theme=redesign] .rd-page .cards-3{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .feat{background:var(--surface);border:1px solid var(--line-soft);border-radius:7px;padding:1.6rem 1.5rem 1.7rem;position:relative;transition:border-color .2s ease,transform .2s ease}[data-theme=redesign] .rd-page .feat:hover{border-color:var(--line);transform:translateY(-3px)}[data-theme=redesign] .rd-page .feat .mark{background:linear-gradient(160deg,var(--gold-bright),var(--gold));border-radius:6px;color:var(--ground);display:grid;height:40px;margin-bottom:1.1rem;place-items:center;width:40px}[data-theme=redesign] .rd-page .feat .mark svg{height:22px;width:22px}[data-theme=redesign] .rd-page .feat h3{font-size:1.22rem;margin-bottom:.55rem}[data-theme=redesign] .rd-page .feat p{color:var(--muted);font-size:.96rem;margin:0}[data-theme=redesign] .rd-page .feat .foot{color:var(--gold);font-family:var(--font-ui);font-size:.88rem;letter-spacing:.04em;margin-top:1rem}[data-theme=redesign] .rd-page .feat .foot a{font-size:.92rem;font-weight:700;letter-spacing:0;text-decoration:underline;text-underline-offset:3px}[data-theme=redesign] .rd-page .world-grid{grid-gap:clamp(1.4rem,3vw,2.4rem);align-items:stretch;display:grid;gap:clamp(1.4rem,3vw,2.4rem);grid-template-columns:1fr auto}@media (max-width:880px){[data-theme=redesign] .rd-page .world-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .scroll-card{background:radial-gradient(120% 100% at 0 0,#ffffff80,#0000 60%),var(--parchment);border:1px solid #d8c290;border-radius:6px;box-shadow:0 24px 60px -34px #000c;color:var(--parchment-ink);display:flex;flex-direction:column;padding:1.7rem 1.8rem;position:relative}[data-theme=redesign] .rd-page .scroll-card .who{color:var(--parchment-ink-soft);font-family:var(--font-ui);font-size:.8rem;letter-spacing:.16em;margin-bottom:.9rem;text-transform:uppercase}[data-theme=redesign] .rd-page .scroll-card .prose{font-size:1.06rem;line-height:1.7}[data-theme=redesign] .rd-page .scroll-card .prose .say{color:#5a2f14}[data-theme=redesign] .rd-page .scroll-card .stamp{align-items:center;color:var(--parchment-ink-soft);display:flex;font-family:var(--font-ui);font-size:.88rem;gap:.5rem;margin-top:auto;padding-top:1.2rem}[data-theme=redesign] .rd-page .scroll-card .stamp b{color:#2f6b3f;font-weight:700}[data-theme=redesign] .rd-page .map-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:.8rem;justify-content:center;padding:1rem}[data-theme=redesign] .rd-page code{background:#0000;border-radius:0;color:var(--gold);font-size:.88em;padding:0}[data-theme=redesign] .rd-page .realmap-wrap{display:flex;justify-content:center;overflow-x:auto}[data-theme=redesign] .rd-page .realmap{border:2px solid color-mix(in srgb,var(--gold) 80%,#0000);border-radius:4px;box-shadow:0 18px 50px -30px #000c;overflow:hidden}[data-theme=redesign] .rd-page .map-caption{color:var(--muted);font-family:var(--font-ui);font-size:.88rem;line-height:1.5;max-width:400px;text-align:center}[data-theme=redesign] .rd-page .chain{align-items:stretch;border:1px solid var(--line-soft);border-radius:7px;display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(1.6rem,3vw,2.4rem);overflow:hidden}[data-theme=redesign] .rd-page .step{background:var(--surface);border-right:1px solid var(--line-soft);flex:1 1 180px;padding:1.05rem 1.15rem;position:relative}[data-theme=redesign] .rd-page .step:last-child{border-right:none}[data-theme=redesign] .rd-page .step .k{align-items:center;color:var(--muted-2);display:flex;font-family:var(--font-ui);font-size:.76rem;gap:.4rem;letter-spacing:.14em;margin-bottom:.45rem;text-transform:uppercase}[data-theme=redesign] .rd-page .step .t{font-family:var(--font-body);font-size:1rem;line-height:1.35}[data-theme=redesign] .rd-page .step.done{background:color-mix(in srgb,var(--success) 8%,var(--surface))}[data-theme=redesign] .rd-page .step.done .k{color:var(--success)}[data-theme=redesign] .rd-page .step.active{background:color-mix(in srgb,var(--gold) 10%,var(--surface))}[data-theme=redesign] .rd-page .step.active .k{color:var(--gold)}[data-theme=redesign] .rd-page .step.locked .t{color:var(--muted-2)}[data-theme=redesign] .rd-page .tick{height:14px;width:14px}[data-theme=redesign] .rd-page .heroes-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}@media (max-width:880px){[data-theme=redesign] .rd-page .heroes-row{grid-template-columns:repeat(2,1fr)}}[data-theme=redesign] .rd-page .hero-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 70%,#0000);border-radius:7px;overflow:hidden;transition:border-color .2s ease,transform .2s ease}[data-theme=redesign] .rd-page .hero-card:hover{border-color:var(--gold);transform:translateY(-3px)}[data-theme=redesign] .rd-page .portrait{aspect-ratio:3/4;background-color:#14101c;background-position:50% 22%;background-size:cover;display:block;position:relative;width:100%}[data-theme=redesign] .rd-page .hero-card .label{padding:.7rem .85rem .85rem}[data-theme=redesign] .rd-page .hero-card .label .cls{font-family:var(--font-display);font-size:1rem;font-weight:600}[data-theme=redesign] .rd-page .hero-card .label .sub{color:var(--muted);font-family:var(--font-ui);font-size:.82rem}[data-theme=redesign] .rd-page .price-row{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:820px){[data-theme=redesign] .rd-page .price-row{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .price{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.6rem 1.5rem;position:relative}[data-theme=redesign] .rd-page .price.feature{border-color:var(--gold);box-shadow:0 24px 60px -40px #d4af3780}[data-theme=redesign] .rd-page .price-badge{border-radius:2px;font-family:var(--font-ui);font-size:.74rem;font-weight:700;left:1.5rem;letter-spacing:.1em;padding:.22rem .6rem;position:absolute;text-transform:uppercase;top:-11px}[data-theme=redesign] .rd-page .price-badge-gold{background:var(--gold);color:#211a0a}[data-theme=redesign] .rd-page .price-badge-muted{background:var(--ground-2);border:1px solid var(--line);color:var(--muted)}[data-theme=redesign] .rd-page .btn.btn-disabled{background:#0000;border:1px dashed var(--line);box-shadow:none;color:var(--muted-2);cursor:default}[data-theme=redesign] .rd-page .btn.btn-disabled:hover{border-color:var(--line);transform:none}[data-theme=redesign] .rd-page .price .tier{font-family:var(--font-display);font-size:1.3rem}[data-theme=redesign] .rd-page .price .cost{font-family:var(--font-ui)}[data-theme=redesign] .rd-page .price .cost .amt{color:var(--text);font-size:1.9rem;font-weight:700}[data-theme=redesign] .rd-page .price .cost .per{color:var(--muted);font-size:.9rem}[data-theme=redesign] .rd-page .price ul{color:var(--muted);display:flex;flex-direction:column;font-size:.92rem;gap:.6rem}[data-theme=redesign] .rd-page .price li{align-items:flex-start;display:flex;gap:.55rem}[data-theme=redesign] .rd-page .price li .tick{color:var(--gold);flex:0 0 auto;height:16px;margin-top:.28rem;width:16px}[data-theme=redesign] .rd-page .price .btn{justify-content:center;margin-top:auto}[data-theme=redesign] .rd-page .price-note{color:var(--muted-2);font-family:var(--font-ui);font-size:.9rem;margin-top:1.4rem;text-align:center}[data-theme=redesign] .rd-page .final{text-align:center}[data-theme=redesign] .rd-page .final h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;margin-inline:auto;max-width:20ch}[data-theme=redesign] .rd-page .final p{color:var(--muted);margin:1.1rem auto 2rem;max-width:44ch}[data-theme=redesign] .rd-page .dash-grid{grid-gap:1.2rem;align-items:start;display:grid;gap:1.2rem;grid-template-columns:1.7fr 1fr;margin-top:1.6rem}@media (max-width:820px){[data-theme=redesign] .rd-page .dash-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .quick{display:flex;flex-direction:column;gap:.7rem}[data-theme=redesign] .rd-page .quick-item{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;color:var(--text);display:flex;font-family:var(--font-ui);font-weight:600;gap:.8rem;padding:.95rem 1.15rem;transition:border-color .2s ease,transform .2s ease}[data-theme=redesign] .rd-page .quick-item:hover{border-color:var(--gold);transform:translateX(3px)}[data-theme=redesign] .rd-page .quick-item svg{color:var(--gold);flex:0 0 auto}[data-theme=redesign] .rd-page .page-header{background:linear-gradient(180deg,var(--ground-2),var(--ground));border-bottom:1px solid var(--line-soft);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,2.5rem)}[data-theme=redesign] .rd-page .page-header h1{font-size:clamp(2rem,4vw,3rem);line-height:1.08;max-width:20ch}[data-theme=redesign] .rd-page .page-header .lede{color:#cdc7d3;font-size:clamp(1.05rem,1.5vw,1.2rem);margin-top:1.1rem;max-width:60ch}[data-theme=redesign] .rd-page .crumb{align-items:center;color:var(--muted);display:inline-flex;font-family:var(--font-ui);font-size:.95rem;gap:.4rem;margin-bottom:1.4rem}[data-theme=redesign] .rd-page .crumb a:hover{color:var(--gold)}[data-theme=redesign] .rd-page .flow{display:flex;flex-direction:column;gap:0;max-width:60ch}[data-theme=redesign] .rd-page .flow-step{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:40px 1fr;padding-bottom:1.8rem;position:relative}[data-theme=redesign] .rd-page .flow-step:not(:last-child):before{background:var(--line);bottom:0;content:"";left:19px;position:absolute;top:40px;width:2px}[data-theme=redesign] .rd-page .flow-num{background:var(--surface-2);border:1px solid var(--line);border-radius:50%;color:var(--gold);display:grid;font-family:var(--font-display);font-weight:700;height:40px;place-items:center;width:40px;z-index:1}[data-theme=redesign] .rd-page .flow-step.engine .flow-num{background:linear-gradient(160deg,var(--gold-bright),var(--gold));border-color:#0000;color:#211a0a}[data-theme=redesign] .rd-page .flow-step .actor{border:1px solid var(--line);border-radius:3px;color:var(--muted);display:inline-block;font-family:var(--font-ui);font-size:.76rem;font-weight:700;letter-spacing:.12em;margin-bottom:.4rem;padding:.12rem .5rem;text-transform:uppercase}[data-theme=redesign] .rd-page .flow-step .actor.engine{background:var(--gold);border-color:#0000;color:#211a0a}[data-theme=redesign] .rd-page .flow-step.ai .flow-num{background:color-mix(in srgb,var(--purple-bright) 22%,var(--surface-2));border-color:color-mix(in srgb,var(--purple-bright) 60%,#0000);color:var(--purple-bright)}[data-theme=redesign] .rd-page .flow-step .actor.ai{background:color-mix(in srgb,var(--purple-bright) 12%,#0000);border-color:color-mix(in srgb,var(--purple-bright) 60%,#0000);color:var(--purple-bright)}[data-theme=redesign] .rd-page .flow-step h3{font-size:1.15rem;margin-bottom:.35rem}[data-theme=redesign] .rd-page .flow-step p{color:var(--muted);font-size:.96rem;margin:0}[data-theme=redesign] .rd-page .flow-step .tag{color:var(--gold);display:inline-block;font-family:var(--font-ui);font-size:.84rem;letter-spacing:.04em;margin-top:.5rem}[data-theme=redesign] .rd-page .flow-step .tag.muted{color:var(--muted-2)}[data-theme=redesign] .rd-page .code-block{background:#0b0a12;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 50px -30px #000000d9;overflow:hidden}[data-theme=redesign] .rd-page .code-head{align-items:center;background:var(--surface);border-bottom:1px solid var(--line-soft);color:var(--muted);display:flex;font-family:var(--font-ui);font-size:.84rem;gap:.6rem;padding:.7rem 1rem}[data-theme=redesign] .rd-page .code-head .dot{background:var(--line);border-radius:50%;height:9px;width:9px}[data-theme=redesign] .rd-page .code-head .file{color:var(--gold);margin-left:.3rem}[data-theme=redesign] .rd-page .code-block pre{background:#0000;color:#d7d2e0;font-family:SFMono-Regular,ui-monospace,Cascadia Code,Fira Code,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.7;margin:0;overflow-x:auto;padding:1.2rem 1.3rem}[data-theme=redesign] .rd-page .code-block .cm{color:#6f6a82;font-style:italic}[data-theme=redesign] .rd-page .code-block .kw{color:var(--purple-bright)}[data-theme=redesign] .rd-page .code-block .fn{color:var(--gold-bright)}[data-theme=redesign] .rd-page .code-note{color:var(--muted-2);font-family:var(--font-ui);font-size:.9rem;margin-top:.9rem}[data-theme=redesign] .rd-page .claims{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:1fr 1fr}@media (max-width:720px){[data-theme=redesign] .rd-page .claims{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .claim{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;padding:1.5rem}[data-theme=redesign] .rd-page .claim.do{background:color-mix(in srgb,var(--success) 7%,var(--surface));border-color:color-mix(in srgb,var(--success) 50%,#0000)}[data-theme=redesign] .rd-page .claim h3{align-items:center;display:flex;font-size:1.05rem;gap:.5rem;margin-bottom:.9rem}[data-theme=redesign] .rd-page .claim.do h3{color:var(--success)}[data-theme=redesign] .rd-page .claim.dont h3{color:var(--muted)}[data-theme=redesign] .rd-page .claim ul{display:flex;flex-direction:column;gap:.6rem;list-style:none;margin:0;padding:0}[data-theme=redesign] .rd-page .claim li{color:var(--muted);display:flex;font-size:.92rem;gap:.55rem;line-height:1.5}[data-theme=redesign] .rd-page .claim li svg{flex:0 0 auto;margin-top:.25rem}[data-theme=redesign] .rd-page .claim.do li svg{color:var(--success)}[data-theme=redesign] .rd-page .claim.dont{background:#0000;border:1px dashed var(--line)}[data-theme=redesign] .rd-page .claim.dont li svg{color:var(--muted-2)}[data-theme=redesign] .rd-page .rules-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:760px){[data-theme=redesign] .rd-page .rules-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){[data-theme=redesign] .rd-page .rules-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .rule{background:var(--surface);border:1px solid var(--line-soft);border-radius:7px;padding:1.2rem 1.3rem}[data-theme=redesign] .rd-page .rule .mark{background:linear-gradient(160deg,var(--gold-bright),var(--gold));border-radius:6px;color:var(--ground);display:grid;height:34px;margin-bottom:.8rem;place-items:center;width:34px}[data-theme=redesign] .rd-page .rule .mark svg{height:19px;width:19px}[data-theme=redesign] .rd-page .rule .k{color:var(--text);font-family:var(--font-display);font-size:1.05rem;margin-bottom:.3rem}[data-theme=redesign] .rd-page .rule .v{color:var(--muted);font-family:var(--font-ui);font-size:.94rem;line-height:1.5}[data-theme=redesign] .rd-page .rule .v code{color:var(--gold);font-size:.85em}[data-theme=redesign] .rd-page .head-split{grid-gap:clamp(1.5rem,4vw,3rem);align-items:center;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1.1fr 1fr;margin-bottom:clamp(2rem,4vw,3.2rem)}[data-theme=redesign] .rd-page .head-split .section-head{margin-bottom:0;max-width:none}[data-theme=redesign] .rd-page .band-art{aspect-ratio:16/10;background-position:50%;background-size:cover;border:1px solid color-mix(in srgb,var(--gold) 70%,#0000);border-radius:8px;box-shadow:0 22px 55px -30px #000c;overflow:hidden}@media (max-width:760px){[data-theme=redesign] .rd-page .head-split{grid-template-columns:1fr}[data-theme=redesign] .rd-page .band-art{aspect-ratio:16/9}}[data-theme=redesign] .rd-page .step-num{border:1px solid;border-radius:3px;display:inline-block;letter-spacing:.08em;margin-right:.5rem;padding:.1rem .45rem}[data-theme=redesign] .rd-page .head-split.reverse{grid-template-columns:1fr 1.1fr}[data-theme=redesign] .rd-page .portrait-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(3,1fr)}[data-theme=redesign] .rd-page .realm-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}[data-theme=redesign] .rd-page .realm{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden;transition:border-color .2s ease,transform .2s ease}[data-theme=redesign] .rd-page .realm:hover{border-color:var(--line);transform:translateY(-3px)}[data-theme=redesign] .rd-page .realm .art{aspect-ratio:16/9;background-position:50%;background-size:cover;position:relative}[data-theme=redesign] .rd-page .realm .art .price-badge{bottom:.7rem;left:.8rem;top:auto}[data-theme=redesign] .rd-page .realm .body{padding:1rem 1.15rem 1.2rem}[data-theme=redesign] .rd-page .realm h3{font-size:1.12rem;margin-bottom:.4rem}[data-theme=redesign] .rd-page .realm p{color:var(--muted);font-size:.92rem;line-height:1.5;margin:0}[data-theme=redesign] .rd-page .fight-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:1fr 1fr 1.3fr}[data-theme=redesign] .rd-page .fight{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 70%,#0000);border-radius:8px;margin:0;overflow:hidden}[data-theme=redesign] .rd-page .fight.boss{border-color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold),0 22px 50px -28px #d4af378c}[data-theme=redesign] .rd-page .fight .art{aspect-ratio:4/3;background-position:50%;background-size:cover}[data-theme=redesign] .rd-page .fight.boss .art{aspect-ratio:auto;background-position:center 25%;height:calc(100% - 2.9rem);min-height:12rem}[data-theme=redesign] .rd-page .fight figcaption{align-items:center;display:flex;font-family:var(--font-display);font-size:1rem;gap:.6rem;padding:.75rem 1rem}[data-theme=redesign] .rd-page .fight figcaption .price-badge{position:static}@media (max-width:820px){[data-theme=redesign] .rd-page .fight-grid,[data-theme=redesign] .rd-page .head-split.reverse,[data-theme=redesign] .rd-page .realm-grid{grid-template-columns:1fr}[data-theme=redesign] .rd-page .head-split.reverse .head-map{order:2}}[data-theme=redesign] .rd-page .head-map{align-items:center;display:flex;flex-direction:column;gap:.8rem}@media (min-width:1000px){[data-theme=redesign] .rd-page .head-map .realmap{zoom:1.3}}[data-theme=redesign] .rd-page .price .summary{color:var(--muted);font-family:var(--font-ui);font-size:.94rem;line-height:1.45;margin:-.4rem 0 0}[data-theme=redesign] .rd-page .price-row-2{grid-template-columns:repeat(2,1fr);margin-inline:auto;max-width:52rem}@media (max-width:820px){[data-theme=redesign] .rd-page .price-row-2{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .price.roadmap{border-style:dashed}[data-theme=redesign] .rd-page .price.roadmap :is(.tier,.cost .amt){color:var(--muted)}[data-theme=redesign] .rd-page .price.roadmap li .tick{color:var(--muted-2)}[data-theme=redesign] .rd-page .btn.btn-active{background:color-mix(in srgb,var(--success) 10%,#0000);border-color:color-mix(in srgb,var(--success) 55%,#0000);color:var(--success);cursor:default;justify-content:center}[data-theme=redesign] .rd-page .faq-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:1fr 1fr}@media (max-width:720px){[data-theme=redesign] .rd-page .faq-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .faq{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;padding:1.4rem 1.5rem}[data-theme=redesign] .rd-page .faq h3{font-size:1.05rem;margin-bottom:.55rem}[data-theme=redesign] .rd-page .faq p{color:var(--muted);font-size:.94rem;line-height:1.55;margin:0}[data-theme=redesign] .rd-page .rules-grid.two{grid-template-columns:repeat(2,1fr)}@media (max-width:480px){[data-theme=redesign] .rd-page .rules-grid.two{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .first-steps{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}[data-theme=redesign] .rd-page .first-step{background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;display:flex;flex-direction:column;gap:.8rem;padding:1.5rem}[data-theme=redesign] .rd-page .first-step h3{font-size:1.2rem}[data-theme=redesign] .rd-page .first-step p{color:var(--muted);font-size:.96rem;line-height:1.55;margin:0}[data-theme=redesign] .rd-page .first-step .btn{justify-content:center;margin-top:auto}[data-theme=redesign] .rd-page .shot-placeholder{align-items:center;aspect-ratio:4/1;background:repeating-linear-gradient(135deg,#0000 0 14px,color-mix(in srgb,var(--line-soft) 45%,#0000) 14px 15px);border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:flex;flex-direction:column;font-family:var(--font-ui);gap:.4rem;justify-content:center;margin-bottom:1.4rem}[data-theme=redesign] .rd-page .shot-placeholder span{font-size:1rem;font-weight:600}[data-theme=redesign] .rd-page .shot-placeholder small{color:var(--muted-2);font-size:.88rem}[data-theme=redesign] .rd-page .fight-grid.even{grid-template-columns:repeat(3,1fr);margin-top:1.4rem}[data-theme=redesign] .rd-page .fight figcaption .sub{color:var(--muted);font-family:var(--font-ui);font-size:.88rem;margin-left:auto}@media (max-width:820px){[data-theme=redesign] .rd-page .fight-grid.even,[data-theme=redesign] .rd-page .first-steps{grid-template-columns:1fr}}[data-theme=redesign] .rd-page .wrap{width:auto}[data-theme=redesign] .rd-page .hero-inner{box-sizing:border-box}@media (max-width:768px){[data-theme=redesign] .main-content.redesign-bleed{padding:0!important}}[data-theme=redesign] .rd-page :is(.world-grid,.head-split)>*{min-width:0}@media (max-width:480px){[data-theme=redesign] .rd-page .realmap{zoom:.8}}[data-theme=redesign] .rd-app .app-header{padding-block:clamp(1.8rem,4vw,2.8rem) clamp(1.2rem,3vw,1.8rem)}[data-theme=redesign] .rd-app .app-header .eyebrow{margin-bottom:.6rem}[data-theme=redesign] .rd-app .app-header h1{font-size:clamp(1.7rem,3.2vw,2.4rem);max-width:none}[data-theme=redesign] .rd-app .app-header .lede{margin-top:.5rem;max-width:none}[data-theme=redesign] .rd-app .app-header-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}[data-theme=redesign] .rd-app .band{padding-block:clamp(1.6rem,4vw,2.6rem) clamp(3rem,6vw,4.5rem)}[data-theme=redesign] .rd-app .app-status{color:var(--muted);font-family:var(--font-ui)}[data-theme=redesign] .rd-app .app-status.error{color:#e88}[data-theme=redesign] .rd-app .app-empty{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;margin:1rem auto;max-width:34rem;padding:2.4rem 1.8rem;text-align:center}[data-theme=redesign] .rd-app .app-empty-icon{font-size:2.2rem;margin-bottom:.6rem}[data-theme=redesign] .rd-app .app-empty h2{font-size:1.4rem;margin-bottom:.6rem}[data-theme=redesign] .rd-app .app-empty p{color:var(--muted);margin:0 0 1.4rem}[data-theme=redesign] .rd-app .icon-button{background:#0000;border:1px solid var(--line);border-radius:6px;color:var(--muted);cursor:pointer;display:inline-grid;flex:0 0 auto;height:38px;padding:0;place-items:center;transition:color .2s ease,border-color .2s ease,background .2s ease;width:38px}[data-theme=redesign] .rd-app .icon-button:hover{border-color:var(--gold);color:var(--gold)}[data-theme=redesign] .rd-app .icon-button.danger:hover{background:#ef6b6b14;border-color:#ef6b6b;color:#ef6b6b}[data-theme=redesign] .rd-app .save-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr)}@media (max-width:860px){[data-theme=redesign] .rd-app .save-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-app .save-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease}[data-theme=redesign] .rd-app .save-card:hover{border-color:color-mix(in srgb,var(--gold) 55%,#0000)}[data-theme=redesign] .rd-app .save-art{aspect-ratio:16/6;background-position:50%;background-size:cover;border-bottom:1px solid color-mix(in srgb,var(--gold) 50%,#0000);position:relative}[data-theme=redesign] .rd-app .save-art:after{background:linear-gradient(180deg,#0000 40%,#0e0d13bf);content:"";inset:0;pointer-events:none;position:absolute}[data-theme=redesign] .rd-app .save-badges{display:flex;flex-wrap:wrap;gap:.4rem;left:.8rem;position:absolute;top:.7rem;z-index:1}[data-theme=redesign] .rd-app .save-badges .price-badge{position:static}[data-theme=redesign] .rd-app .save-party{bottom:-22px;display:flex;left:1rem;position:absolute;z-index:1}[data-theme=redesign] .rd-app .save-party img{background:var(--surface);border:2px solid var(--gold);border-radius:50%;box-shadow:0 6px 14px -6px #000c;height:48px;margin-right:-10px;object-fit:cover;width:48px}[data-theme=redesign] .rd-app .save-body{display:flex;flex:1 1;flex-direction:column;gap:.55rem;padding:2rem 1.3rem 1.3rem}[data-theme=redesign] .rd-app .save-title-row{align-items:flex-start;display:flex;gap:.6rem}[data-theme=redesign] .rd-app .save-title-row h3{flex:1 1;font-size:1.15rem;line-height:1.3}[data-theme=redesign] .rd-app .save-title-row .icon-button{height:32px;width:32px}[data-theme=redesign] .rd-app .save-rename{display:flex;flex-wrap:wrap;gap:.5rem}[data-theme=redesign] .rd-app .save-rename input{background:var(--ground);border:1px solid var(--line);border-radius:6px;color:var(--text);flex:1 1 12rem;font:inherit;min-width:0;padding:.6rem .8rem}[data-theme=redesign] .rd-app .save-rename input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,#0000);outline:none}[data-theme=redesign] .rd-app .save-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:.88rem;gap:.3rem 1rem;margin:0}[data-theme=redesign] .rd-app .save-meta span:first-child{color:var(--gold);font-weight:600}[data-theme=redesign] .rd-app .save-progress p{color:var(--muted);font-size:.92rem;line-height:1.45;margin:.45rem 0 0}[data-theme=redesign] .rd-app .save-progress b{color:var(--text)}[data-theme=redesign] .rd-app .save-progress-bar{background:var(--ground-2);border-radius:3px;height:6px;overflow:hidden}[data-theme=redesign] .rd-app .save-progress-bar span{background:linear-gradient(90deg,var(--gold),var(--gold-bright));display:block;height:100%}[data-theme=redesign] .rd-app .save-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--muted);display:-webkit-box;font-size:.94rem;line-height:1.5;margin:0;overflow:hidden}[data-theme=redesign] .rd-app .save-heroes{color:var(--muted-2);font-family:var(--font-ui);font-size:.88rem;margin:0}[data-theme=redesign] .rd-app .save-actions{align-items:center;display:flex;gap:.6rem;margin-top:auto;padding-top:.6rem}[data-theme=redesign] .rd-app .save-actions .icon-button{margin-left:auto}[data-theme=redesign] .rd-app .app-header-actions{display:flex;flex-wrap:wrap;gap:.6rem}[data-theme=redesign] .rd-app .app-callout{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--font-ui);gap:.8rem 1.4rem;justify-content:space-between;margin-bottom:1.4rem;padding:1rem 1.2rem}[data-theme=redesign] .rd-app .app-callout b{color:var(--text)}[data-theme=redesign] .rd-app .app-callout.success{background:color-mix(in srgb,var(--success) 7%,var(--surface));border-color:color-mix(in srgb,var(--success) 50%,#0000)}[data-theme=redesign] .rd-app .inline-link{background:none;border:0;color:var(--gold);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}[data-theme=redesign] .rd-app .roster-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}@media (max-width:1000px){[data-theme=redesign] .rd-app .roster-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){[data-theme=redesign] .rd-app .roster-grid{gap:.8rem;grid-template-columns:repeat(2,1fr)}}[data-theme=redesign] .rd-app .roster-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 55%,#0000);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease,transform .2s ease}[data-theme=redesign] .rd-app .roster-card:hover{border-color:var(--gold);transform:translateY(-2px)}[data-theme=redesign] .rd-app .roster-portrait{aspect-ratio:4/4.2;background:var(--ground-2);overflow:hidden;position:relative}[data-theme=redesign] .rd-app .roster-portrait img{display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}[data-theme=redesign] .rd-app .roster-portrait .price-badge{bottom:.6rem;left:.6rem;top:auto}[data-theme=redesign] .rd-app .roster-body{display:flex;flex:1 1;flex-direction:column;gap:.45rem;padding:.9rem 1rem 1rem}[data-theme=redesign] .rd-app .roster-body h3{font-size:1.08rem;line-height:1.25}[data-theme=redesign] .rd-app .roster-sub{color:var(--gold);font-family:var(--font-ui);font-size:.88rem;margin:0}[data-theme=redesign] .rd-app .roster-stats{grid-gap:.3rem;display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr);margin:.2rem 0 0}[data-theme=redesign] .rd-app .roster-stats>div{align-items:center;background:var(--ground-2);border-radius:5px;display:flex;flex-direction:column;padding:.3rem 0}[data-theme=redesign] .rd-app .roster-stats dt{color:var(--muted-2);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}[data-theme=redesign] .rd-app .roster-stats dd{color:var(--text);font-family:var(--font-ui);font-size:.95rem;font-weight:700;margin:0}[data-theme=redesign] .rd-app .roster-stats dd small{color:var(--muted);font-size:.76rem;font-weight:500;margin-left:.2rem}[data-theme=redesign] .rd-app .roster-hp{color:var(--muted);font-family:var(--font-ui);font-size:.88rem;margin:0}[data-theme=redesign] .rd-app .roster-actions{align-items:center;display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}[data-theme=redesign] .rd-app .roster-actions .btn{flex:1 1;justify-content:center;padding:.6rem .8rem;white-space:nowrap}[data-theme=redesign] .rd-app .roster-new{background:#0000;border-color:var(--line);border-style:dashed}[data-theme=redesign] .rd-app .roster-new button{align-items:center;background:none;border:0;color:var(--muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--font-ui);font-size:1rem;font-weight:600;gap:.4rem;justify-content:center;letter-spacing:normal;min-height:14rem;padding:1rem;text-transform:none}[data-theme=redesign] .rd-app .roster-new button:hover{color:var(--gold)}[data-theme=redesign] .rd-app .roster-new .plus{border:1px dashed;border-radius:50%;display:grid;font-size:1.8rem;height:52px;line-height:1;place-items:center;width:52px}[data-theme=redesign] .rd-app .roster-new small{color:var(--muted-2);font-size:.88rem;font-weight:400}[data-theme=redesign] .rd-app .pregen-section{margin-top:clamp(2rem,5vw,3rem)}[data-theme=redesign] .rd-app .pregen-section.primary{margin-top:0}[data-theme=redesign] .rd-app .pregen-section-head{margin-bottom:1.1rem}[data-theme=redesign] .rd-app .pregen-section-head h2{font-size:1.35rem}[data-theme=redesign] .rd-app .pregen-section.primary .pregen-section-head h2{font-size:clamp(1.5rem,2.6vw,1.9rem)}[data-theme=redesign] .rd-app .pregen-section-head p{color:var(--muted);margin:.4rem 0 0}[data-theme=redesign] .rd-app .roster-card.ready{border-color:var(--line-soft)}[data-theme=redesign] .rd-app .roster-card.ready:hover{border-color:color-mix(in srgb,var(--gold) 55%,#0000)}[data-theme=redesign] .rd-app.login-screen{align-items:center;background-position:50%;background-size:cover;display:flex;min-height:70vh}[data-theme=redesign] .rd-app.login-screen>.band{width:100%}[data-theme=redesign] .rd-app .login-card{align-items:center;background:color-mix(in srgb,var(--surface) 92%,#0000);border:1px solid color-mix(in srgb,var(--gold) 55%,#0000);border-radius:12px;box-shadow:0 30px 70px -35px #000000e6;display:flex;flex-direction:column;gap:.9rem;margin-inline:auto;max-width:30rem;padding:clamp(1.8rem,5vw,2.6rem);text-align:center}[data-theme=redesign] .rd-app .login-card .eyebrow{margin:0}[data-theme=redesign] .rd-app .login-card h1{font-size:clamp(1.6rem,3.4vw,2rem);line-height:1.15}[data-theme=redesign] .rd-app .login-perks{color:var(--muted);display:flex;flex-direction:column;font-size:.98rem;gap:.55rem;margin:.3rem 0 .4rem;text-align:left}[data-theme=redesign] .rd-app .login-perks li{align-items:flex-start;display:flex;gap:.6rem}[data-theme=redesign] .rd-app .login-perks svg{color:var(--gold);flex:0 0 auto;margin-top:.3rem}[data-theme=redesign] .rd-app .login-cta{justify-content:center;padding-block:.95rem;width:100%}[data-theme=redesign] .rd-app .login-note{color:var(--muted-2);font-family:var(--font-ui);font-size:.88rem;line-height:1.5;margin:0}[data-theme=redesign] .rd-app .login-note b{color:var(--muted)}[data-theme=redesign] .rd-app .login-links{border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:.95rem;gap:1.4rem;justify-content:center;margin-top:.2rem;padding-top:.9rem;width:100%}[data-theme=redesign] .rd-app .login-links a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}[data-theme=redesign] .rd-app .play-title{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:.4rem}[data-theme=redesign] .rd-app .play-feature{background-color:var(--surface);background-position:50%;background-size:cover;border:1px solid var(--gold);border-radius:12px;box-shadow:0 26px 64px -42px #d4af3773;display:flex;flex-direction:column;gap:.7rem;min-height:22rem;padding:clamp(1.4rem,3vw,2rem)}[data-theme=redesign] .rd-app .play-feature.loading{align-items:center;justify-content:center}[data-theme=redesign] .rd-app .play-feature .who{color:var(--gold);font-family:var(--font-ui);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}[data-theme=redesign] .rd-app .play-feature h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;max-width:28ch}[data-theme=redesign] .rd-app .play-meta{color:#cdc7d3;display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:.9rem;gap:.3rem 1rem;margin:0}[data-theme=redesign] .rd-app .play-meta span:first-child{color:var(--gold);font-weight:600}[data-theme=redesign] .rd-app .play-blurb{color:#cdc7d3;margin:0;max-width:40ch}[data-theme=redesign] .rd-app .play-party{align-items:center;display:flex;flex-wrap:wrap;gap:0}[data-theme=redesign] .rd-app .play-party img{background:var(--surface);border:2px solid var(--gold);border-radius:50%;height:44px;margin-right:-8px;object-fit:cover;width:44px}[data-theme=redesign] .rd-app .play-party span{color:#cdc7d3;font-family:var(--font-ui);font-size:.9rem;margin-left:1rem}[data-theme=redesign] .rd-app .play-feature .save-progress{max-width:30rem}[data-theme=redesign] .rd-app .play-feature .save-progress p{color:#cdc7d3}[data-theme=redesign] .rd-app .play-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.6rem}[data-theme=redesign] .rd-app .onboarding-steps{display:flex;gap:0;list-style:none;margin:0 0 1.4rem;max-width:34rem;padding:0}[data-theme=redesign] .rd-app .onboarding-step{align-items:center;color:var(--muted-2);display:flex;flex:1 1;flex-direction:column;font-family:var(--font-ui);font-size:.82rem;gap:.4rem;position:relative;text-align:center}[data-theme=redesign] .rd-app .onboarding-step-connector{background:var(--line);height:2px;left:50%;position:absolute;top:15px;width:100%;z-index:0}[data-theme=redesign] .rd-app .onboarding-step-marker{background:var(--surface);border:1px solid var(--line);border-radius:50%;color:var(--muted);display:grid;font-weight:700;height:32px;place-items:center;position:relative;width:32px;z-index:1}[data-theme=redesign] .rd-app .onboarding-step.active{color:var(--text);font-weight:600}[data-theme=redesign] .rd-app .onboarding-step.active .onboarding-step-marker{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,#0000);color:var(--gold)}[data-theme=redesign] .rd-app .onboarding-step.done .onboarding-step-marker{background:var(--gold);border-color:#0000;color:#211a0a}[data-theme=redesign] .rd-app .onboarding-step.done .onboarding-step-connector{background:var(--gold)}[data-theme=redesign] .rd-app .crumb-button{background:none;border:0;box-shadow:none;cursor:pointer;font-family:var(--font-ui);letter-spacing:normal;min-height:0;padding:0;text-transform:none}[data-theme=redesign] .rd-app .crumb-button:hover{color:var(--gold)}[data-theme=redesign] .rd-app .app-callout.warning{background:#c98a2c1a;border-color:#c98a2c}[data-theme=redesign] .rd-app .app-callout.warning b{color:#e8a94a}[data-theme=redesign] .rd-app .campaign-name{color:var(--gold);font-weight:600}[data-theme=redesign] .rd-app.party-page .band{padding-bottom:7rem}[data-theme=redesign] .rd-app .roster-card.pickable{cursor:pointer;position:relative}[data-theme=redesign] .rd-app .roster-card.pickable:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[data-theme=redesign] .rd-app .roster-card.selected{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold),0 20px 46px -26px #d4af3799}[data-theme=redesign] .rd-app .roster-card.at-limit{opacity:.5}[data-theme=redesign] .rd-app .roster-card.at-limit:hover{transform:none}[data-theme=redesign] .rd-app .pick-check{background:var(--gold);border-radius:50%;box-shadow:0 4px 10px #00000080;color:#211a0a;display:grid;font-weight:800;height:30px;place-items:center;position:absolute;right:.6rem;top:.6rem;width:30px}[data-theme=redesign] .rd-app .pick-state{border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-family:var(--font-ui);font-size:.9rem;font-weight:600;margin-top:auto;padding:.5rem .7rem;text-align:center}[data-theme=redesign] .rd-app .roster-card.pickable:hover .pick-state{border-color:var(--gold);color:var(--gold)}[data-theme=redesign] .rd-app .pick-state.on,[data-theme=redesign] .rd-app .roster-card.pickable:hover .pick-state.on{background:var(--gold);border-color:var(--gold);border-style:solid;color:#211a0a}[data-theme=redesign] .rd-app .roster-card.just-added{animation:rd-pop .5s ease-out}@keyframes rd-pop{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:none}}[data-theme=redesign] .rd-app .pick-ready{background:none;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font:inherit;letter-spacing:normal;padding:0;text-align:left;text-transform:none;width:100%}[data-theme=redesign] .rd-app .pick-ready:disabled{cursor:default}[data-theme=redesign] .rd-app .party-dock{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--ground) 92%,#0000);border-top:1px solid color-mix(in srgb,var(--gold) 45%,#0000);bottom:0;left:0;position:fixed;right:0;z-index:30}[data-theme=redesign] .rd-app .party-dock-inner{align-items:center;display:flex;gap:1rem;padding-block:.8rem}[data-theme=redesign] .rd-app .party-slots{display:flex;flex:0 0 auto;gap:.5rem;list-style:none;margin:0;padding:0}[data-theme=redesign] .rd-app .party-slots .slot{background:var(--surface);border:1px dashed var(--line);border-radius:50%;height:48px;width:48px}[data-theme=redesign] .rd-app .party-slots .slot.filled{border:2px solid var(--gold);overflow:hidden}[data-theme=redesign] .rd-app .party-slots .slot button{background:none;border:0;cursor:pointer;height:100%;padding:0;width:100%}[data-theme=redesign] .rd-app .party-slots .slot img{display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}[data-theme=redesign] .rd-app .party-dock-text{color:var(--muted);flex:1 1;font-family:var(--font-ui);font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=redesign] .rd-app .party-dock-text b{color:var(--text);margin-right:.4rem}[data-theme=redesign] .rd-app .party-error{color:#ef8b8b;white-space:normal}[data-theme=redesign] .rd-app .party-start{flex:0 0 auto;padding-inline:1.6rem}@media (max-width:600px){[data-theme=redesign] .rd-app .party-dock-inner{flex-wrap:wrap;gap:.4rem .6rem;padding-block:.6rem}[data-theme=redesign] .rd-app .party-slots{gap:.35rem}[data-theme=redesign] .rd-app .party-slots .slot{height:40px;width:40px}[data-theme=redesign] .rd-app .party-dock-text{display:none}[data-theme=redesign] .rd-app .party-dock-text:has(.party-error){display:block;flex-basis:100%;font-size:.88rem;order:3;white-space:normal}[data-theme=redesign] .rd-app .party-start{margin-left:auto;padding-inline:1.2rem}[data-theme=redesign] .rd-app .onboarding-step-label{font-size:.74rem}}[data-theme=redesign] .rd-app.new-game-page .band{padding-bottom:7rem}[data-theme=redesign] .rd-app .ng-tabs{background:var(--ground);border:1px solid var(--line);border-radius:9px;display:inline-flex;gap:.3rem;margin-top:1.3rem;padding:.3rem}[data-theme=redesign] .rd-app .ng-tabs button{background:#0000;border:0;border-radius:6px;box-shadow:none;color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:.95rem;font-weight:600;letter-spacing:normal;min-height:0;padding:.55rem 1.3rem;text-transform:none}[data-theme=redesign] .rd-app .ng-tabs button.on{background:var(--gold);color:#211a0a}[data-theme=redesign] .rd-app .ng-panel,[data-theme=redesign] .rd-app .ng-tabs button:not(.on):hover{color:var(--text)}[data-theme=redesign] .rd-app .ng-panel+.ng-panel{margin-top:2.4rem}[data-theme=redesign] .rd-app .ng-intro{color:var(--muted);margin:0 0 1.2rem}[data-theme=redesign] .rd-app .ng-note{color:var(--muted);font-size:.94rem;margin:0 0 1rem}[data-theme=redesign] .rd-app .ng-panel .app-callout{margin-top:1.4rem}[data-theme=redesign] .rd-app .arc-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:1000px){[data-theme=redesign] .rd-app .arc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){[data-theme=redesign] .rd-app .arc-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-app .arc-section{margin-top:clamp(2rem,4vw,2.8rem)}[data-theme=redesign] .rd-app .arc-section-head{align-items:center;display:flex;gap:.7rem;margin-bottom:.6rem}[data-theme=redesign] .rd-app .arc-section-head h2{font-size:1.35rem}[data-theme=redesign] .rd-app .arc-section-head .price-badge{position:static}[data-theme=redesign] .rd-app .arc-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}[data-theme=redesign] .rd-app .arc-card:hover{border-color:color-mix(in srgb,var(--gold) 55%,#0000);transform:translateY(-2px)}[data-theme=redesign] .rd-app .arc-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[data-theme=redesign] .rd-app .arc-card.selected{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold),0 22px 50px -28px #d4af378c}[data-theme=redesign] .rd-app .arc-card.locked .arc-art{filter:grayscale(.45) brightness(.8)}[data-theme=redesign] .rd-app .arc-card.soon{cursor:default}[data-theme=redesign] .rd-app .arc-art{aspect-ratio:16/8;background-position:50%;background-size:cover;border-bottom:1px solid color-mix(in srgb,var(--gold) 45%,#0000);position:relative}[data-theme=redesign] .rd-app .arc-art .price-badge{left:.7rem;top:.7rem}[data-theme=redesign] .rd-app .arc-span{background:#0e0d13c7;border-radius:4px;bottom:.6rem;color:#e6e1ea;font-family:var(--font-ui);font-size:.8rem;padding:.2rem .55rem;position:absolute;right:.6rem}[data-theme=redesign] .rd-app .arc-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.1rem}[data-theme=redesign] .rd-app .arc-title-row{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}[data-theme=redesign] .rd-app .arc-title-row h3{font-size:1.12rem}[data-theme=redesign] .rd-app .arc-title-row .inline-link{box-shadow:none;font-family:var(--font-ui);font-size:.88rem;letter-spacing:normal;min-height:0;text-transform:none;white-space:nowrap}[data-theme=redesign] .rd-app .arc-tagline{color:var(--muted);font-size:.94rem;line-height:1.5;margin:0}[data-theme=redesign] .rd-app .arc-chapters{border-top:1px solid var(--line-soft);counter-reset:ch;display:flex;flex-direction:column;gap:.3rem;list-style:none;margin:.2rem 0 0;padding:.6rem 0 0}[data-theme=redesign] .rd-app .arc-chapters li{align-items:baseline;color:var(--text);counter-increment:ch;display:flex;font-family:var(--font-ui);font-size:.88rem;gap:.5rem}[data-theme=redesign] .rd-app .arc-chapters li:before{color:var(--muted-2);content:counter(ch) "."}[data-theme=redesign] .rd-app .arc-chapters .name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=redesign] .rd-app .arc-chapters .chip{color:var(--muted);white-space:nowrap}[data-theme=redesign] .rd-app .arc-chapters li.soon{color:var(--muted-2)}[data-theme=redesign] .rd-app .arc-warn{color:#e8a94a;font-family:var(--font-ui);font-size:.88rem;font-weight:600;margin:0}[data-theme=redesign] .rd-app .ng-map h2{font-size:1.35rem;margin-bottom:.4rem}[data-theme=redesign] .rd-app .ng-map p,[data-theme=redesign] .rd-app .ng-panel label{color:var(--muted)}[data-theme=redesign] .rd-app .dock-pick{flex:0 0 auto}[data-theme=redesign] .rd-app .dock-thumb{background-position:50%;background-size:cover;border:1px solid var(--gold);border-radius:6px;display:block;height:44px;width:72px}[data-theme=redesign] .rd-app .ng-panel .tone-header{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:.92rem;gap:1rem;justify-content:space-between;margin:1.6rem 0 .8rem}[data-theme=redesign] .rd-app .ng-panel .tone-reset-link{background:none;border:0;box-shadow:none;color:var(--gold);cursor:pointer;font-family:var(--font-ui);font-size:.92rem;letter-spacing:normal;min-height:0;padding:0;text-decoration:underline;text-transform:none;text-underline-offset:3px}[data-theme=redesign] .rd-app .ng-panel .tone-reset-link:disabled{color:var(--muted-2);cursor:default;text-decoration:none}[data-theme=redesign] .rd-app .ng-map .map-status{color:var(--success);display:inline-block;font-family:var(--font-ui);margin-top:.6rem}[data-theme=redesign] .rd-app .ng-map .map-preview-container{margin-top:1.2rem}[data-theme=redesign] .rd-app .ng-head{grid-gap:clamp(1.5rem,4vw,3rem);align-items:end;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1.1fr 1fr}[data-theme=redesign] .rd-app .ng-pick{aspect-ratio:16/7;background-position:50%;background-size:cover;border:1px solid color-mix(in srgb,var(--gold) 70%,#0000);border-radius:10px;box-shadow:0 22px 55px -30px #000c;overflow:hidden;position:relative;transition:background-image .3s ease}[data-theme=redesign] .rd-app .ng-pick-caption{bottom:.9rem;color:#e6e1ea;display:flex;flex-direction:column;font-family:var(--font-ui);gap:.15rem;left:1rem;position:absolute;right:1rem}[data-theme=redesign] .rd-app .ng-pick-label{color:var(--gold);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}[data-theme=redesign] .rd-app .ng-pick-caption strong{color:var(--text);font-family:var(--font-display);font-size:1.3rem}@media (max-width:860px){[data-theme=redesign] .rd-app .ng-head{grid-template-columns:1fr}[data-theme=redesign] .rd-app .ng-pick{display:none}}[data-theme=redesign] .arc-modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08070cc7}[data-theme=redesign] .arc-modal{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 60%,#0000);border-radius:12px;box-shadow:0 40px 90px -30px #000000e6;color:var(--text);display:flex;flex-direction:column;max-height:88vh;overflow:hidden;text-align:left;width:min(680px,92vw)}[data-theme=redesign] .arc-modal-hero{background-position:center 30%;background-size:cover;border-bottom:1px solid color-mix(in srgb,var(--gold) 45%,#0000);flex:0 0 auto;height:220px;position:relative}[data-theme=redesign] .arc-modal-close{background:#0e0d1399;border:1px solid #ffffff40;border-radius:50%;box-shadow:none;color:#fff;cursor:pointer;display:grid;height:36px;min-height:0;padding:0;place-items:center;position:absolute;right:.7rem;top:.7rem;width:36px}[data-theme=redesign] .arc-modal-close:hover{border-color:var(--gold);color:var(--gold)}[data-theme=redesign] .arc-modal-title{bottom:1rem;left:1.4rem;position:absolute;right:1.4rem}[data-theme=redesign] .arc-modal-title h2{color:var(--text);font-family:var(--font-display);font-size:1.7rem;letter-spacing:normal;margin:0}[data-theme=redesign] .arc-modal-title span{color:#cdc7d3;font-family:var(--font-ui);font-size:.9rem}[data-theme=redesign] .arc-modal-body{flex:1 1;overflow-y:auto;padding:1.3rem 1.4rem .4rem}[data-theme=redesign] .arc-modal-tagline{color:#cdc7d3;font-size:1rem;line-height:1.55;margin:0 0 1.2rem}[data-theme=redesign] .arc-modal-section+.arc-modal-section{margin-top:1.4rem}[data-theme=redesign] :is(h3,h4).arc-modal-label{color:var(--gold);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.14em;margin:0 0 .6rem;text-transform:uppercase}[data-theme=redesign] .arc-ladder{display:flex;flex-direction:column;gap:.45rem;list-style:none;margin:0;padding:0}[data-theme=redesign] .arc-ladder-row{align-items:center;background:var(--ground);border:1px solid var(--line-soft);border-radius:8px;cursor:pointer;display:flex;gap:.8rem;padding:.65rem .85rem;transition:border-color .2s ease}[data-theme=redesign] .arc-ladder-row:hover{border-color:var(--line)}[data-theme=redesign] .arc-ladder-row.on{background:color-mix(in srgb,var(--gold) 8%,var(--ground));border-color:var(--gold)}[data-theme=redesign] .arc-ladder-row.soon{cursor:default;opacity:.5}[data-theme=redesign] .arc-ladder-row .num{border:1px solid var(--line);border-radius:50%;color:var(--muted);display:grid;flex:0 0 auto;font-family:var(--font-ui);font-size:.85rem;font-weight:700;height:28px;place-items:center;width:28px}[data-theme=redesign] .arc-ladder-row.on .num{background:var(--gold);border-color:#0000;color:#211a0a}[data-theme=redesign] .arc-ladder-row .text{display:flex;flex:1 1;flex-direction:column;min-width:0}[data-theme=redesign] .arc-ladder-row .text b{font-family:var(--font-display);font-size:1rem;font-weight:700}[data-theme=redesign] .arc-ladder-row .text small{color:var(--muted);font-family:var(--font-ui);font-size:.82rem}[data-theme=redesign] .arc-ladder-row .chip{border:1px solid var(--line);border-radius:4px;color:var(--muted);flex:0 0 auto;font-family:var(--font-ui);font-size:.8rem;font-weight:600;padding:.2rem .6rem;white-space:nowrap}[data-theme=redesign] .arc-ladder-row .chip.locked{background:var(--gold);border-color:#0000;color:#211a0a}[data-theme=redesign] .arc-chapter-head{align-items:baseline;display:flex;gap:.7rem;margin-bottom:.5rem}[data-theme=redesign] .arc-chapter-head h3{color:var(--text);font-family:var(--font-display);font-size:1.25rem;letter-spacing:normal;margin:0}[data-theme=redesign] .arc-chapter-head span{color:var(--muted);font-family:var(--font-ui);font-size:.88rem}[data-theme=redesign] .arc-modal-desc{color:#cdc7d3;line-height:1.55;margin:0 0 1rem}[data-theme=redesign] .arc-goal{background:var(--ground);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;margin-bottom:1rem;padding:.85rem 1rem}[data-theme=redesign] .arc-goal p{color:var(--text);font-style:italic;margin:0}[data-theme=redesign] .arc-milestones ol{display:flex;flex-direction:column;gap:.45rem;list-style:none;margin:0;padding:0}[data-theme=redesign] .arc-milestones li{align-items:flex-start;background:var(--ground);border-radius:6px;display:flex;gap:.7rem;padding:.6rem .8rem}[data-theme=redesign] .arc-milestones .mtype{border:1px solid color-mix(in srgb,var(--gold) 50%,#0000);border-radius:4px;color:var(--gold);flex:0 0 3.6rem;font-family:var(--font-ui);font-size:.74rem;font-weight:700;letter-spacing:.06em;margin-top:.1rem;padding:.15rem 0;text-align:center;text-transform:uppercase}[data-theme=redesign] .arc-milestones .mtype.combat{border-color:#ef8b8b80;color:#ef8b8b}[data-theme=redesign] .arc-milestones .mtext{flex:1 1;font-size:.95rem;line-height:1.45;min-width:0}[data-theme=redesign] .arc-milestones .mtext small{color:var(--muted);display:block;font-family:var(--font-ui);font-size:.82rem;margin-top:.15rem}[data-theme=redesign] .arc-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin:1rem 0 0}[data-theme=redesign] .arc-stats>div{background:var(--ground);border-radius:6px;padding:.55rem .7rem;text-align:center}[data-theme=redesign] .arc-stats dt{color:var(--muted-2);font-family:var(--font-ui);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}[data-theme=redesign] .arc-stats dd{color:var(--text);font-family:var(--font-ui);font-size:1.1rem;font-weight:700;margin:.1rem 0 0}[data-theme=redesign] .arc-tones{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}[data-theme=redesign] .arc-tones span{border:1px solid var(--line-soft);border-radius:4px;color:var(--muted);font-family:var(--font-ui);font-size:.84rem;padding:.3rem .65rem}[data-theme=redesign] .arc-tones b{color:var(--text);font-weight:600;margin-right:.2rem}[data-theme=redesign] .arc-modal-note{background:var(--ground);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-ui);font-size:.9rem;margin:1rem 0 .4rem;padding:.75rem 1rem}[data-theme=redesign] .arc-modal-note.warning{background:#c98a2c1a;border-color:#c98a2c;color:var(--text)}[data-theme=redesign] .arc-modal-note.warning b{color:#e8a94a}[data-theme=redesign] .arc-modal-foot{background:var(--surface);border-top:1px solid var(--line-soft);display:flex;gap:.6rem;justify-content:flex-end;padding:1rem 1.4rem}@media (max-width:520px){[data-theme=redesign] .arc-modal-hero{height:160px}[data-theme=redesign] .arc-modal-foot{flex-wrap:wrap}[data-theme=redesign] .arc-modal-foot .btn{flex:1 1 auto;font-size:.92rem;justify-content:center;padding-inline:.8rem}}[data-theme=redesign] .rd-app.hero-forge .band{padding-bottom:7rem}[data-theme=redesign] .rd-app .forge-label,[data-theme=redesign] .rd-app .forge-label-text{color:var(--gold);display:block;font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:.14em;margin:0 0 .6rem;text-transform:uppercase}[data-theme=redesign] .rd-app h2.forge-label{color:var(--gold);font-family:var(--font-ui);font-size:.8rem}[data-theme=redesign] .rd-app .forge-quick{margin-bottom:1.4rem}[data-theme=redesign] .rd-app .forge-chips{display:flex;flex-wrap:wrap;gap:.45rem}[data-theme=redesign] .rd-app .forge-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:none;color:var(--text);cursor:pointer;font-family:var(--font-ui);font-size:.92rem;font-weight:600;letter-spacing:normal;min-height:0;padding:.5rem .95rem;text-transform:none;transition:border-color .2s ease,background .2s ease}[data-theme=redesign] .rd-app .forge-chip:hover{border-color:var(--gold)}[data-theme=redesign] .rd-app .forge-chip.on{background:var(--gold);border-color:var(--gold);color:#211a0a}[data-theme=redesign] .rd-app .forge-grid{grid-gap:1.2rem;align-items:start;display:grid;gap:1.2rem;grid-template-columns:1.15fr 1fr}@media (max-width:900px){[data-theme=redesign] .rd-app .forge-grid{grid-template-columns:1fr}}[data-theme=redesign] .rd-app .forge-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;padding:clamp(1.1rem,2.5vw,1.6rem)}[data-theme=redesign] .rd-app .forge-card label{color:var(--muted);display:block;font-family:var(--font-ui);font-size:.88rem;font-weight:600;letter-spacing:normal;margin-bottom:.35rem;text-transform:none}[data-theme=redesign] .rd-app .forge-card label small{color:var(--muted-2);font-weight:400;margin-left:.3rem}[data-theme=redesign] .rd-app .forge-card :is(input,select,textarea){background:var(--ground);border:1px solid var(--line);border-radius:6px;box-sizing:border-box;color:var(--text);font-family:var(--font-ui);font-size:1rem;margin:0;padding:.65rem .8rem;width:100%}[data-theme=redesign] .rd-app .forge-card textarea{font-family:var(--font-body);line-height:1.5;resize:vertical}[data-theme=redesign] .rd-app .forge-card :is(input,select,textarea):focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,#0000);outline:none}[data-theme=redesign] .rd-app .forge-portrait-row{align-items:flex-start;display:flex;gap:1.2rem}[data-theme=redesign] .rd-app .forge-portrait{background:var(--ground);border:1px dashed var(--line);border-radius:10px;box-shadow:none;cursor:pointer;flex:0 0 auto;height:180px;min-height:0;overflow:hidden;padding:0;position:relative;width:150px}[data-theme=redesign] .rd-app .forge-portrait.has-pic{border:2px solid var(--gold)}[data-theme=redesign] .rd-app .forge-portrait:disabled{cursor:not-allowed;opacity:.6}[data-theme=redesign] .rd-app .forge-portrait img{display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}[data-theme=redesign] .rd-app .forge-portrait-empty{color:var(--muted-2);display:grid;font-family:var(--font-display);font-size:2.6rem;height:100%;place-items:center}[data-theme=redesign] .rd-app .forge-portrait-cta{background:#0e0d13c7;bottom:0;color:var(--gold);font-family:var(--font-ui);font-size:.82rem;font-weight:600;left:0;letter-spacing:normal;padding:.4rem;position:absolute;right:0;text-transform:none}[data-theme=redesign] .rd-app .forge-name{flex:1 1;min-width:0}[data-theme=redesign] .rd-app .forge-inline{display:flex;gap:.5rem;margin-bottom:1rem}[data-theme=redesign] .rd-app .forge-roll{flex:0 0 auto;padding:.6rem 1rem}[data-theme=redesign] .rd-app .forge-seg{background:var(--ground);border:1px solid var(--line);border-radius:8px;display:inline-flex;gap:.3rem;padding:.25rem}[data-theme=redesign] .rd-app .forge-seg button{background:#0000;border:0;border-radius:5px;box-shadow:none;color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:.95rem;font-weight:600;letter-spacing:normal;min-height:0;padding:.45rem 1.1rem;text-transform:none}[data-theme=redesign] .rd-app .forge-seg button.on{background:var(--gold);color:#211a0a}[data-theme=redesign] .rd-app .forge-identity .field-hint{color:var(--muted-2);font-family:var(--font-ui);font-size:.85rem;margin:.5rem 0 0}[data-theme=redesign] .rd-app .forge-fields{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:1fr 1fr;margin-top:1.3rem}[data-theme=redesign] .rd-app .forge-field{margin-top:1rem}[data-theme=redesign] .rd-app .forge-sheet-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}[data-theme=redesign] .rd-app .forge-sheet-head h2{font-size:1.3rem}[data-theme=redesign] .rd-app .forge-points{color:var(--muted);font-family:var(--font-ui);font-size:.95rem}[data-theme=redesign] .rd-app .forge-points b{color:var(--gold);font-size:1.3rem;margin-right:.2rem}[data-theme=redesign] .rd-app .forge-points.done b{color:var(--success)}[data-theme=redesign] .rd-app .forge-points.over b{color:#ef8b8b}[data-theme=redesign] .rd-app .forge-hint{color:var(--muted-2);font-family:var(--font-ui);font-size:.86rem;margin:.3rem 0 1rem}[data-theme=redesign] .rd-app .forge-stats{display:flex;flex-direction:column;gap:.4rem}[data-theme=redesign] .rd-app .forge-stat{grid-gap:.4rem;align-items:center;background:var(--ground);border-radius:8px;display:grid;gap:.4rem;grid-template-columns:1fr 36px 2.4rem 36px 3rem 5.6rem;padding:.45rem .6rem}[data-theme=redesign] .rd-app .forge-stat .name{color:var(--text);font-family:var(--font-ui);font-weight:600}[data-theme=redesign] .rd-app .forge-stat .step{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:none;color:var(--text);cursor:pointer;display:grid;font-size:1.2rem;height:36px;line-height:1;min-height:0;padding:0;place-items:center;width:36px}[data-theme=redesign] .rd-app .forge-stat .step:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}[data-theme=redesign] .rd-app .forge-stat .step:disabled{background:var(--surface);cursor:not-allowed;opacity:.3}[data-theme=redesign] .rd-app .forge-stat .score{color:var(--text);font-family:var(--font-ui);font-size:1.2rem;font-weight:700;text-align:center}[data-theme=redesign] .rd-app .forge-stat .mod{color:var(--gold);font-family:var(--font-ui);font-weight:700;text-align:center}[data-theme=redesign] .rd-app .forge-stat .cost{color:var(--muted-2);font-family:var(--font-ui);font-size:.78rem;text-align:right}[data-theme=redesign] .rd-app .forge-derived{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}[data-theme=redesign] .rd-app .forge-derived>div{align-items:center;border:1px solid var(--line-soft);border-radius:8px;display:flex;flex-direction:column;padding:.6rem}[data-theme=redesign] .rd-app .forge-derived span{color:var(--muted-2);font-family:var(--font-ui);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}[data-theme=redesign] .rd-app .forge-derived b{color:var(--text);font-family:var(--font-ui);font-size:1.15rem}@media (max-width:520px){[data-theme=redesign] .rd-app .forge-portrait-row{flex-direction:column}[data-theme=redesign] .rd-app .forge-portrait{height:144px;width:120px}[data-theme=redesign] .rd-app .forge-fields{grid-template-columns:1fr}[data-theme=redesign] .rd-app .forge-stat{grid-template-columns:1fr 34px 2.2rem 34px 2.6rem}[data-theme=redesign] .rd-app .forge-stat .cost{display:none}}[data-theme=redesign] .rd-app .forge-inline{align-items:stretch}[data-theme=redesign] .rd-app .forge-roll{padding-block:0}[data-theme=redesign] .rd-app .review-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 60%,#0000);border-radius:12px;display:grid;grid-template-columns:280px 1fr;max-width:880px;overflow:hidden}[data-theme=redesign] .rd-app .review-portrait{background:var(--ground-2)}[data-theme=redesign] .rd-app .review-portrait img{display:block;height:100%;min-height:320px;object-fit:cover;object-position:center 20%;width:100%}[data-theme=redesign] .rd-app .review-body{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.2rem,3vw,1.8rem)}[data-theme=redesign] .rd-app .review-body h2{font-size:clamp(1.5rem,3vw,2rem)}[data-theme=redesign] .rd-app .review-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin:.2rem 0 0}[data-theme=redesign] .rd-app .review-facts dt{color:var(--muted-2);font-family:var(--font-ui);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}[data-theme=redesign] .rd-app .review-facts dd{color:var(--text);font-family:var(--font-ui);font-weight:600;margin:.1rem 0 0}[data-theme=redesign] .rd-app .review-bg{background:var(--ground);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;color:#cdc7d3;font-style:italic;margin:0;padding:.7rem .9rem}[data-theme=redesign] .rd-app .review-stats{grid-template-columns:repeat(6,1fr)}[data-theme=redesign] .rd-app .review-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.6rem}@media (max-width:720px){[data-theme=redesign] .rd-app .review-card{grid-template-columns:1fr}[data-theme=redesign] .rd-app .review-portrait img{aspect-ratio:4/3;min-height:0}[data-theme=redesign] .rd-app .review-stats{grid-template-columns:repeat(3,1fr)}}[data-theme=redesign] .btn-danger{background:#b9414a;border-color:#d4555f;color:#fff}[data-theme=redesign] .btn-danger:hover{background:#cc4b55;transform:translateY(-2px)}.rd-dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08070cc7;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.rd-dialog-overlay .rd-dialog{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 60%,#0000);border-radius:12px;border-top:3px solid var(--gold);box-shadow:0 40px 90px -30px #000000e6;color:var(--text);display:flex;flex-direction:column;max-height:88vh;overflow:hidden;text-align:left;width:min(440px,100%)}.rd-dialog-overlay .rd-dialog.wide{width:min(720px,100%)}.rd-dialog-overlay .rd-dialog.warning{border-top-color:#e3a93f}.rd-dialog-overlay .rd-dialog.danger{border-top-color:#d4555f}.rd-dialog-overlay .rd-dialog.success{border-top-color:var(--success)}.rd-dialog-overlay .rd-dialog-title{color:var(--text);font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:normal;margin:0;padding:1.3rem 1.4rem .2rem;text-transform:none}.rd-dialog-overlay .rd-dialog-body{color:#cdc7d3;flex:1 1;font-family:var(--font-body);font-size:1rem;line-height:1.55;overflow-y:auto;padding:.6rem 1.4rem 1.1rem}.rd-dialog-overlay .rd-dialog-body p{margin:0}.rd-dialog-overlay .rd-dialog-body p+p{margin-top:.6rem}.rd-dialog-overlay .rd-dialog-body ul{margin:0;padding-left:1.2rem}.rd-dialog-overlay .rd-dialog-body strong{color:var(--text)}.rd-dialog-overlay .rd-dialog-actions{border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;padding:1rem 1.4rem}.rd-dialog-overlay .portrait-choices{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(4,1fr)}@media (max-width:560px){.rd-dialog-overlay .portrait-choices{gap:.5rem;grid-template-columns:repeat(3,1fr)}}.rd-dialog-overlay .portrait-pick{aspect-ratio:5/6;background:var(--ground);border:2px solid var(--line-soft);border-radius:8px;box-shadow:none;cursor:pointer;min-height:0;overflow:hidden;padding:0;transition:border-color .2s ease,transform .2s ease}.rd-dialog-overlay .portrait-pick:hover{border-color:color-mix(in srgb,var(--gold) 60%,#0000);transform:translateY(-2px)}.rd-dialog-overlay .portrait-pick.on{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold)}.rd-dialog-overlay .portrait-pick img{display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}.rd-dialog-overlay .sgd section+section{border-top:1px solid var(--line-soft);margin-top:1.3rem;padding-top:1.1rem}.rd-dialog-overlay .sgd h3{color:var(--gold);font-family:var(--font-ui);font-size:.78rem;font-weight:700;letter-spacing:.14em;margin:0 0 .6rem;text-transform:uppercase}.rd-dialog-overlay .sgd p+p{margin-top:.5rem}.rd-dialog-overlay .sgd-goal{background:var(--ground);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;color:var(--text);font-style:italic;padding:.6rem .85rem}.rd-dialog-overlay .sgd-facts{grid-gap:.6rem 1.2rem;display:grid;gap:.6rem 1.2rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:.7rem 0 0}.rd-dialog-overlay .sgd-facts dt{color:var(--muted-2);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.rd-dialog-overlay .sgd-facts dd{color:var(--text);font-family:var(--font-ui);font-weight:600;margin:.1rem 0 0;overflow-wrap:anywhere}.rd-dialog-overlay .sgd .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;font-weight:400}.rd-dialog-overlay ul.sgd-party{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));list-style:none;margin:0;padding:0}.rd-dialog-overlay .sgd-party li{align-items:center;background:var(--ground);border-radius:8px;display:flex;gap:.7rem;padding:.55rem .7rem}.rd-dialog-overlay .sgd-party img{border:2px solid var(--gold);border-radius:50%;height:44px;object-fit:cover;object-position:center 20%;width:44px}.rd-dialog-overlay .sgd-party span{display:flex;flex-direction:column;font-family:var(--font-ui)}.rd-dialog-overlay .sgd-party b{color:var(--text)}.rd-dialog-overlay .sgd-party small{color:var(--muted);font-size:.84rem}.rd-dialog-overlay .sgd-status{color:var(--muted);font-family:var(--font-ui);font-weight:700}.rd-dialog-overlay .sgd-status.current{color:var(--success)}.rd-dialog-overlay .sgd-status.partial{color:#e3a93f}.rd-dialog-overlay .sgd-bar{margin:.6rem 0 .8rem}.rd-dialog-overlay .sgd-rebuild{padding:.55rem 1rem}.rd-dialog-overlay .sgd-note{color:var(--muted-2);font-family:var(--font-ui);font-size:.86rem;margin-top:.5rem}[data-theme=redesign] .gm-page{background:var(--ground);height:calc(100dvh - 69px);min-height:480px}[data-theme=redesign] .gm-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;height:100%}@media (min-width:1600px){[data-theme=redesign] .gm-shell{grid-template-columns:minmax(0,1fr) 340px}}[data-theme=redesign] .gm-eyebrow{color:var(--gold);font-family:var(--font-ui);font-size:.76rem;font-weight:700;letter-spacing:.16em;margin:0;text-transform:uppercase}[data-theme=redesign] .gm-main{border-right:1px solid var(--line-soft);display:flex;flex-direction:column;min-height:0;padding:1.1rem clamp(1rem,2.5vw,1.8rem) .9rem;text-align:left}[data-theme=redesign] .gm-head{align-items:center;border-bottom:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;justify-content:space-between;padding-bottom:.9rem}[data-theme=redesign] .gm-place p{color:var(--muted);font-family:var(--font-ui);margin:.2rem 0 0}[data-theme=redesign] .gm-place-name{color:var(--text);font-family:var(--font-display);font-size:1.45rem;font-weight:700}[data-theme=redesign] .gm-place-sub{color:#cdc7d3;font-size:1rem}[data-theme=redesign] .gm-place-coords{color:var(--muted-2);font-size:.85rem}[data-theme=redesign] .gm-tools{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}[data-theme=redesign] .gm-tool{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:none;color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.9rem;font-weight:600;gap:.45rem;letter-spacing:normal;min-height:0;padding:.55rem .85rem;text-transform:none;transition:border-color .2s ease,color .2s ease,background .2s ease}[data-theme=redesign] .gm-tool:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}[data-theme=redesign] .gm-tool:disabled{cursor:not-allowed;opacity:.45}[data-theme=redesign] .gm-tool.primary{background:linear-gradient(160deg,#f6d27a,#e3a93f);border-color:#f0c564;color:#1d1505}[data-theme=redesign] .gm-tool.primary:hover{color:#1d1505;filter:brightness(1.07)}[data-theme=redesign] .gm-tools .save-sync-indicator{font-family:var(--font-ui);font-size:.82rem}[data-theme=redesign] .gm-quest{align-items:baseline;background:color-mix(in srgb,var(--gold) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 45%,#0000);border-left:3px solid var(--gold);border-radius:8px;color:var(--text);display:flex;font-size:.98rem;gap:.7rem;margin:.9rem 0 0;padding:.6rem .9rem}[data-theme=redesign] .gm-quest-label{color:var(--gold);flex:0 0 auto;font-family:var(--font-ui);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}[data-theme=redesign] .gm-log{display:flex;flex:1 1;flex-direction:column;gap:.9rem;margin:.9rem 0;min-height:0;overflow-y:auto;padding:.3rem .4rem .3rem 0;position:relative;scrollbar-color:var(--line) #0000;scrollbar-width:thin}[data-theme=redesign] .gm-msg{line-height:1.6;margin:0;max-width:100%;overflow-wrap:anywhere}[data-theme=redesign] .gm-msg.ai{align-self:stretch;background:var(--surface);border-left:3px solid color-mix(in srgb,var(--gold) 70%,#0000);border-radius:4px 10px 10px 4px;color:#e6e1ea;font-family:var(--font-body);font-size:1.04rem;padding:.9rem 1.1rem;white-space:pre-line}[data-theme=redesign] .gm-msg.user{align-self:flex-end;background:color-mix(in srgb,var(--gold) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 45%,#0000);border-radius:12px 12px 3px 12px;color:var(--text);font-family:var(--font-ui);font-size:.96rem;max-width:min(70%,80ch);padding:.6rem 1rem}[data-theme=redesign] .gm-msg.system{align-self:center;color:var(--muted);font-family:var(--font-ui);font-size:.9rem;font-style:normal;max-width:64ch;padding:.3rem .8rem;text-align:center}[data-theme=redesign] .gm-msg.error{align-self:center;background:#ef6b6b14;border:1px solid #ef6b6b73;border-radius:8px;color:#ef8b8b;font-family:var(--font-ui);font-size:.92rem;padding:.55rem .9rem}[data-theme=redesign] .gm-msg .safe-markdown-message strong{color:var(--gold-bright)}[data-theme=redesign] .gm-thinking{align-items:center;display:inline-flex;gap:.6rem}[data-theme=redesign] .gm-dots{display:inline-flex;gap:4px}[data-theme=redesign] .gm-dots i{animation:gm-dot 1.2s ease-in-out infinite;background:var(--gold);border-radius:50%;height:6px;width:6px}[data-theme=redesign] .gm-dots i:nth-child(2){animation-delay:.15s}[data-theme=redesign] .gm-dots i:nth-child(3){animation-delay:.3s}@keyframes gm-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){[data-theme=redesign] .gm-dots i{animation:none}}[data-theme=redesign] .gm-start{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e0d138c;display:grid;inset:0;padding:1rem;place-items:center;position:absolute;z-index:2}[data-theme=redesign] .gm-start-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--gold) 60%,#0000);border-radius:12px;box-shadow:0 30px 70px -30px #000000e6;max-width:26rem;padding:2rem 2.2rem;text-align:center}[data-theme=redesign] .gm-start-card h3{color:var(--text);font-family:var(--font-display);font-size:1.6rem;letter-spacing:normal;margin:.4rem 0 1.2rem;text-transform:none}[data-theme=redesign] .gm-start-btn{font-size:1.05rem;padding:.95rem 1.8rem}[data-theme=redesign] .gm-compose form{align-items:stretch;display:flex;gap:.6rem;margin:0}[data-theme=redesign] .gm-input-wrap{display:flex;flex:1 1;position:relative}[data-theme=redesign] .gm-input{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-sizing:border-box;color:var(--text);flex:1 1;font-family:var(--font-body);font-size:1rem;line-height:1.45;margin:0;max-height:9rem;min-height:3.2rem;padding:.75rem .9rem;resize:vertical}[data-theme=redesign] .gm-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 22%,#0000);outline:none}[data-theme=redesign] .gm-input:disabled{opacity:.7}[data-theme=redesign] .gm-counter{bottom:.4rem;color:var(--muted-2);font-family:var(--font-ui);font-size:.78rem;position:absolute;right:.7rem}[data-theme=redesign] .gm-counter.over{color:#ef8b8b;font-weight:700}[data-theme=redesign] .gm-guest-overlay{background:#0000;border:0;box-shadow:none;cursor:pointer;inset:0;min-height:0;padding:0;position:absolute}[data-theme=redesign] .gm-send{align-self:stretch;border-radius:10px;flex:0 0 auto;justify-content:center;padding-inline:1.2rem;text-decoration:none}[data-theme=redesign] .gm-note{color:var(--muted-2);font-family:var(--font-ui);font-size:.84rem;margin:.55rem 0 0}[data-theme=redesign] .gm-note.guest strong{color:var(--gold)}[data-theme=redesign] .gm-party{background:color-mix(in srgb,var(--surface) 55%,var(--ground));min-height:0;overflow-y:auto;padding:1.1rem 1rem;text-align:left}[data-theme=redesign] .gm-party-list{display:flex;flex-direction:column;gap:.7rem;list-style:none;margin:.8rem 0 0;padding:0}[data-theme=redesign] .gm-hero{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;padding:.75rem .8rem .8rem}[data-theme=redesign] .gm-hero.defeated{filter:grayscale(.7);opacity:.5}[data-theme=redesign] .gm-hero-main{align-items:center;background:none;border:0;box-shadow:none;color:inherit;cursor:pointer;display:flex;gap:.7rem;letter-spacing:normal;margin-bottom:.6rem;min-height:0;padding:0;text-align:left;text-transform:none;width:100%}[data-theme=redesign] .gm-hero-main img{border:2px solid var(--gold);border-radius:50%;flex:0 0 auto;height:52px;object-fit:cover;object-position:center 20%;width:52px}[data-theme=redesign] .gm-hero-main:hover b{color:var(--gold)}[data-theme=redesign] .gm-hero-id{display:flex;flex-direction:column;font-family:var(--font-ui);min-width:0}[data-theme=redesign] .gm-hero-id b{color:var(--text);font-family:var(--font-display);font-size:1.02rem;line-height:1.25}[data-theme=redesign] .gm-hero-id small{color:var(--muted);font-size:.84rem}[data-theme=redesign] .gm-bar-row{grid-gap:.5rem;align-items:center;display:grid;font-family:var(--font-ui);font-size:.8rem;gap:.5rem;grid-template-columns:1.7rem 1fr auto}[data-theme=redesign] .gm-bar-row+.gm-bar-row{margin-top:.35rem}[data-theme=redesign] .gm-bar-label{color:var(--muted-2);font-weight:700;letter-spacing:.06em}[data-theme=redesign] .gm-bar{background:var(--ground-2);border-radius:4px;height:8px;overflow:hidden}[data-theme=redesign] .gm-bar.thin{height:5px}[data-theme=redesign] .gm-bar span{border-radius:inherit;display:block;height:100%;transition:width .5s ease}[data-theme=redesign] .gm-bar-row.xp .gm-bar span{background:linear-gradient(90deg,var(--gold),var(--gold-bright))}[data-theme=redesign] .gm-bar-val{color:var(--muted);font-weight:700}[data-theme=redesign] .gm-hero-warn{color:#ef8b8b;font-family:var(--font-ui);font-size:.8rem;font-weight:600;margin:.35rem 0 0}[data-theme=redesign] .gm-party-scrim,[data-theme=redesign] .gm-party-toggle{display:none}@media (max-width:900px){[data-theme=redesign] .gm-page{height:calc(100dvh - 69px)}[data-theme=redesign] .gm-shell{grid-template-columns:1fr}[data-theme=redesign] .gm-main{border-right:0;padding:.7rem .8rem .6rem}[data-theme=redesign] .gm-head{gap:.5rem;padding-bottom:.6rem}[data-theme=redesign] .gm-place-name{font-size:1.2rem}[data-theme=redesign] .gm-tools{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;width:100%}[data-theme=redesign] .gm-tool{flex:0 0 auto;font-size:.85rem;padding:.5rem .7rem}[data-theme=redesign] .gm-quest{font-size:.9rem;margin-top:.6rem;padding:.45rem .7rem}[data-theme=redesign] .gm-log{margin:.6rem 0}[data-theme=redesign] .gm-msg.ai{font-size:1rem;padding:.7rem .85rem}[data-theme=redesign] .gm-note{display:none}[data-theme=redesign] .gm-note.guest{display:block;font-size:.8rem}[data-theme=redesign] .gm-party{border-left:1px solid var(--line);bottom:0;box-shadow:-20px 0 40px -20px #000c;position:fixed;right:0;top:69px;transform:translateX(100%);transition:transform .25s ease;width:min(320px,86vw);z-index:60}[data-theme=redesign] .gm-party.mobile-open{transform:none}[data-theme=redesign] .gm-party-scrim{background:#08070c99;display:block;inset:69px 0 0 0;position:fixed;z-index:55}[data-theme=redesign] .gm-party-toggle{background:var(--surface);border:2px solid var(--gold);border-radius:50%;box-shadow:0 6px 16px -4px #000000b3;color:var(--text);cursor:pointer;display:grid;font-size:1.1rem;height:44px;min-height:0;overflow:hidden;padding:0;place-items:center;position:fixed;right:.8rem;top:calc(69px + .7rem);width:44px;z-index:61}[data-theme=redesign] .gm-party-toggle-portrait{height:100%;object-fit:cover;object-position:center 20%;width:100%}[data-theme=redesign] .gm-place{padding-right:3.4rem}}[data-theme=redesign] .gm-place.game-info-header{background:none;border:0;border-radius:0;box-shadow:none;display:block;margin:0;min-width:0;padding:0}[data-theme=redesign] .gm-place.game-info-header p{font-size:1rem;line-height:1.3;margin:.15rem 0 0!important}[data-theme=redesign] .gm-head>*,[data-theme=redesign] .gm-main{min-width:0}[data-theme=redesign] .gm-tools{max-width:100%}body:has(.gm-page) .app-footer{display:none}[data-theme=redesign] .gm-tool:focus:not(:focus-visible){border-color:var(--line);color:var(--text);outline:none}[data-theme=redesign] .gm-tool.primary:focus:not(:focus-visible){border-color:#f0c564;color:#1d1505}[data-theme=redesign] .gm-tool:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (max-width:768px){[data-theme=redesign] .main-content.game-page-content{padding:0!important}}[data-theme=redesign] .book-tab{background:#0000;border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;box-shadow:none;color:var(--muted);font-family:var(--font-ui);font-size:.92rem;font-weight:600;letter-spacing:normal;padding:.5rem .95rem;text-transform:none}[data-theme=redesign] .book-tab:hover{color:var(--text);filter:none}[data-theme=redesign] .book-tab.on{background:var(--ground);border-color:var(--line);box-shadow:inset 0 2px 0 var(--gold);color:var(--gold)}@media (max-width:600px){[data-theme=redesign] .modal-content.map-modal-content{max-height:calc(100dvh - 16px);padding:16px 12px 0}[data-theme=redesign] .map-modal-content .map-modal-actions{background:var(--surface);border-top:1px solid var(--line-soft);bottom:0;margin:12px -12px 0;padding:12px;position:sticky;width:calc(100% + 24px);z-index:5}[data-theme=redesign] .map-modal-content .map-modal-actions button{flex:1 1}}[data-theme=redesign] .gm-log .gm-msg.ai{align-self:flex-start;background:#0c0b11;border:1px solid var(--line-soft);border-left:3px solid color-mix(in srgb,var(--gold) 75%,#0000);box-sizing:border-box;color:#f3f0f6;margin:0 auto 0 0;max-width:min(88%,110ch);width:auto}[data-theme=redesign] .gm-log .gm-msg.ai.combat{background:#140c0e;border-color:#d6606047 #d6606047 #d6606047 #d66060}[data-theme=redesign] .gm-log .gm-msg.ai.combat .safe-markdown-message strong{color:#f19a9a}@media (max-width:900px){[data-theme=redesign] .gm-log .gm-msg.ai{max-width:100%}}[data-theme=redesign] .hero-sheet-head{grid-gap:1rem;align-items:center;border-bottom:1px solid var(--line-soft);display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) minmax(170px,230px);margin-bottom:.4rem;padding-bottom:1rem;text-align:left}[data-theme=redesign] .hero-sheet-pic{border:2px solid var(--gold);border-radius:50%;height:84px;object-fit:cover;object-position:center 20%;width:84px}[data-theme=redesign] .hero-sheet-id h2{font-size:1.5rem;margin:0 0 .2rem;text-align:left}[data-theme=redesign] .hero-sheet-id .hero-subtitle{color:var(--muted);font-family:var(--font-ui);font-size:.92rem;margin:0 0 .45rem}[data-theme=redesign] .hero-sheet-chip{border:1px solid color-mix(in srgb,var(--gold) 50%,#0000);border-radius:4px;color:var(--gold);display:inline-block;font-family:var(--font-ui);font-size:.8rem;font-weight:600;padding:.15rem .55rem}[data-theme=redesign] .hero-sheet-vitals{display:flex;flex-direction:column;gap:.6rem}[data-theme=redesign] .hero-vital{font-family:var(--font-ui);font-size:.85rem}[data-theme=redesign] .hero-vital-row{color:var(--text);display:flex;justify-content:space-between;margin-bottom:.25rem}[data-theme=redesign] .hero-vital-label{color:var(--muted-2);font-weight:700;letter-spacing:.08em}[data-theme=redesign] .hero-vital small{color:var(--muted-2);display:block;font-size:.76rem;margin-top:.2rem}[data-theme=redesign] .hero-vital .hero-hp-bar{background:var(--ground-2);border-radius:4px;height:7px;overflow:hidden}[data-theme=redesign] .hero-vital .hero-hp-fill,[data-theme=redesign] .hero-vital .hero-xp-fill{border-radius:inherit;height:100%;transition:width .5s ease}[data-theme=redesign] .hero-vital .hero-xp-fill{background:linear-gradient(90deg,var(--gold),var(--gold-bright))}[data-theme=redesign] .hero-details-modal .stats-grid-modal{gap:.45rem;grid-template-columns:repeat(6,1fr)}[data-theme=redesign] .hero-details-modal .modal-section{margin-bottom:12px;padding-bottom:10px}@media (max-width:600px){[data-theme=redesign] .hero-sheet-head{grid-template-columns:auto minmax(0,1fr)}[data-theme=redesign] .hero-sheet-vitals{grid-column:1/-1}[data-theme=redesign] .hero-details-modal .stats-grid-modal{gap:.3rem;grid-template-columns:repeat(6,1fr)}[data-theme=redesign] .hero-details-modal .stat-item-modal{padding:.35rem 0}[data-theme=redesign] .hero-details-modal.modal-content{padding:18px 16px}[data-theme=redesign] .hero-sheet-pic{height:64px;width:64px}[data-theme=redesign] .hero-sheet-id h2{font-size:1.25rem}}[data-theme=redesign] .gm-actions{display:flex;flex:0 0 auto;flex-direction:column;gap:.45rem;min-width:8.5rem}[data-theme=redesign] .gm-actions .gm-send{flex:1 1}[data-theme=redesign] .gm-look{align-items:center;background:#0000;border:1px solid var(--line);border-radius:10px;box-shadow:none;color:var(--muted);cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.88rem;font-weight:600;gap:.4rem;justify-content:center;letter-spacing:normal;min-height:0;padding:.5rem .8rem;text-transform:none;transition:border-color .2s ease,color .2s ease;white-space:nowrap}[data-theme=redesign] .gm-look:hover:not(:disabled){border-color:var(--gold);color:var(--gold);filter:none}[data-theme=redesign] .gm-look:disabled{background:#0000;cursor:not-allowed;opacity:.45}@media (max-width:900px){[data-theme=redesign] .gm-compose form{flex-wrap:wrap}[data-theme=redesign] .gm-input-wrap{flex-basis:100%}[data-theme=redesign] .gm-actions{flex-direction:row;width:100%}[data-theme=redesign] .gm-actions>*{flex:1 1}}[data-theme=redesign] .gm-look:focus:not(:focus-visible){border-color:var(--line);color:var(--muted);outline:none}[data-theme=redesign] .gm-look:focus-visible{outline:2px solid var(--gold);outline-offset:2px}[data-theme=redesign] .rd-account{align-items:center;display:inline-flex;gap:.5rem;max-width:100%;vertical-align:middle}[data-theme=redesign] .rd-avatar{background:linear-gradient(160deg,#f6d27a,#e3a93f);border-radius:50%;color:#1d1505;display:grid;flex:0 0 auto;font-family:var(--font-ui);font-size:.85rem;font-weight:800;height:28px;place-items:center;width:28px}[data-theme=redesign] .rd-account-name{font-family:var(--font-ui);font-weight:600;letter-spacing:normal;max-width:12ch;overflow:hidden;text-overflow:ellipsis;text-transform:none;white-space:nowrap}@media (max-width:1100px) and (min-width:769px){[data-theme=redesign] .rd-account-name{display:none}}.debug-page{margin:0 auto;max-width:1200px;padding:20px}.debug-section{background:var(--bg-secondary);border-radius:8px;margin-bottom:20px;padding:20px}.debug-section h3{color:var(--primary);font-family:var(--header-font);margin-top:0}.debug-section .form-group,.debug-section h3{margin-bottom:15px}.debug-section .form-group label{color:var(--text);display:block;font-weight:700;margin-bottom:5px}.debug-section .form-group input,.debug-section .form-group select,.debug-section .form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:inherit;font-size:.95rem;padding:8px 12px;width:100%}.debug-section .form-group textarea{font-family:monospace;resize:vertical}.debug-section .form-group input:focus,.debug-section .form-group select:focus,.debug-section .form-group textarea:focus{border-color:var(--primary);outline:none}.debug-section pre{color:var(--text);font-family:Courier New,monospace;font-size:.9rem;line-height:1.5}.debug-section code{background:var(--surface);border-radius:3px;color:var(--primary);font-family:monospace;font-size:.9em;padding:2px 6px}.error-section{border-color:var(--state-danger)}.success-section{border-color:var(--state-success)}.debug-section ol{margin:10px 0;padding-left:25px}.debug-section ol li{margin-bottom:8px}.debug-page .primary-button{background-color:var(--primary);border:1px solid var(--primary);border-radius:4px;color:var(--bg);cursor:pointer;font-family:var(--header-font);font-size:.95rem;padding:10px 20px;transition:all .2s ease}.debug-page .primary-button:hover:not(:disabled){background-color:initial;color:var(--primary)}.debug-page .primary-button:disabled{cursor:not-allowed;opacity:.5}.tier-badge{font-size:1.05rem}.tier-note{color:var(--text-secondary);font-size:.9rem}.tier-pill-lifetime{background:color-mix(in srgb,var(--primary) 12%,#0000);border:1px solid color-mix(in srgb,var(--primary) 55%,#0000);border-radius:4px;color:var(--primary);display:inline-block;font-family:var(--font-header);font-size:.85rem;font-weight:700;letter-spacing:.08em;margin-left:10px;padding:2px 10px;text-transform:uppercase;vertical-align:middle}.App{background-color:var(--bg);color:var(--text);display:flex;flex-direction:column;font-family:var(--body-font);min-height:100vh;text-align:center}.main-content{box-sizing:border-box;flex-grow:1;margin:0 auto;max-width:1100px;padding:40px 20px;width:100%}.main-content.game-page-content{max-width:100%;padding:0}.app-footer{border-top:1px solid var(--border);font-size:.85rem;opacity:.7;padding:1rem;text-align:center}.app-footer a{color:var(--primary);text-decoration:none}.app-footer a:hover{text-decoration:underline}.Home-page,.character-creation-form,.page-container{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px var(--shadow);padding:26px 40px 40px;position:relative;text-align:left}.Home-page:before,.character-creation-form:before,.page-container:before{background:linear-gradient(90deg,#0000,var(--primary),#0000);content:"";height:3px;left:0;position:absolute;right:0;top:0}.conversation{display:flex;flex-direction:column;flex-grow:1;gap:10px;margin-bottom:15px;overflow-y:auto;padding:10px;position:relative}.start-adventure-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--shadow);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:5}.start-adventure-button{background-color:var(--state-success);border:none;border-radius:8px;box-shadow:0 4px 10px var(--shadow-black-20);color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:background-color .3s ease,transform .1s ease}.start-adventure-button:hover{background-color:var(--state-success-strong)}.start-adventure-button:active{transform:scale(.98)}.message{word-wrap:break-word;border-radius:15px;box-shadow:0 1px 2px var(--shadow-black-10);line-height:1.4;max-width:75%;padding:10px 15px}.message.user{align-self:flex-end;background-color:var(--primary);border-bottom-right-radius:5px;color:var(--bg);margin-left:auto}.message.ai{align-self:flex-start;background-color:var(--bg);border:1px solid var(--border);border-bottom-left-radius:5px;color:var(--text);margin-right:auto;text-align:left;white-space:pre-line}.message.system{align-self:center;background-color:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:.9rem;font-style:italic;max-width:90%;text-align:center}.message.quest-message{align-self:stretch;background-color:var(--surface);border-left:1px solid var(--primary);border:1px solid var(--primary);border-left-width:4px;color:var(--text);font-style:normal;max-width:100%;text-align:left}.message.error{align-self:center;background-color:var(--state-danger-bright-10);border:1px solid var(--state-danger-bright-30);color:var(--state-danger-bright);font-size:.9rem;font-style:italic;max-width:90%;text-align:center}.safe-markdown-message{overflow-wrap:anywhere;white-space:normal}.safe-markdown-message>:first-child{margin-top:0}.safe-markdown-message>:last-child{margin-bottom:0}.safe-markdown-message .md-heading{line-height:1.25;margin:0 0 .45rem}.safe-markdown-message .md-paragraph{margin:0 0 .55rem}.safe-markdown-message .md-list{margin:.15rem 0 .55rem 1.2rem;padding:0}.safe-markdown-message .md-list li+li{margin-top:.2rem}.safe-markdown-message .md-blockquote{border-left:3px solid var(--border);color:var(--text-secondary);margin:.2rem 0 .55rem;padding-left:.65rem}.safe-markdown-message .md-code-block{background:var(--shadow-black-20);border:1px solid var(--border);border-radius:6px;margin:.25rem 0 .55rem;overflow-x:auto;padding:.6rem;white-space:pre}.safe-markdown-message .md-inline-code{background:var(--shadow-black-20);border:1px solid var(--border);border-radius:4px;font-size:.92em;padding:.05rem .3rem}.safe-markdown-message a{color:inherit;text-decoration:underline}.message.ai .safe-markdown-message a{color:var(--primary)}.game-page-wrapper{height:calc(100vh - 60px);overflow:hidden;width:100%}.game-container{background-color:var(--surface-game);display:flex;height:100%;overflow:hidden;width:100%}.game-main{background-color:var(--surface);box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;height:100%;order:1;overflow-y:auto;padding:20px}.game-top{border-bottom:1px solid var(--border);margin-bottom:15px;padding-bottom:15px;text-align:left}.game-top h2{margin-bottom:10px;margin-top:0}.header-button-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.header-button-group button{flex-shrink:0;font-size:.9rem;letter-spacing:.5px;padding:11px 18px;white-space:nowrap}.game-info-header{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 12px var(--shadow);display:flex;gap:20px;justify-content:space-between;margin:15px 0;padding:20px 25px}.game-info-header p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:4px 0!important}.game-info-header strong{color:var(--primary);font-family:var(--header-font);font-size:.8rem;font-weight:700;letter-spacing:.5px;margin-right:4px;text-transform:uppercase}.how-to-play-button,.look-around-button,.manual-save-button,.view-map-button,.view-settings-button{background-color:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 2px 5px var(--shadow);color:var(--text);cursor:pointer;font-size:.85rem;letter-spacing:.5px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.how-to-play-button:hover,.look-around-button:hover,.manual-save-button:hover,.view-settings-button:hover{background-color:var(--surface);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.look-around-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.save-sync-indicator{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:5px;letter-spacing:.3px;white-space:nowrap}.save-sync-icon{font-size:.9rem;line-height:1}.save-sync-saved{color:var(--state-success)}.save-sync-local{color:#e0a800;color:var(--state-warning,#e0a800)}.save-sync-error{color:#d9534f;color:var(--state-error,#d9534f)}.save-sync-spinner{animation:spin .8s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:12px;width:12px}@media (prefers-reduced-motion:reduce){.save-sync-spinner{animation:none}}.view-map-button{background-color:var(--primary);border-color:var(--primary);color:var(--bg);font-weight:700}.view-map-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.game-lower-section{margin-top:auto;width:100%}.game-lower-section form{align-items:center;display:flex;gap:10px}.guest-ai-gate-btn{align-items:center;display:inline-flex;text-decoration:none;white-space:nowrap}.guest-ai-info{background:var(--surface);border:1px solid var(--primary);border-radius:8px;padding:10px 14px}.guest-ai-info strong{color:var(--text)}.user-input-wrap{display:flex;flex-grow:1;position:relative}.user-input-wrap .user-input{flex-grow:1}.guest-ai-overlay{background:#0000;border:none;cursor:pointer;inset:0;padding:0;position:absolute}.guest-ai-prompt{max-width:420px;text-align:center}.guest-ai-prompt-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.guest-ai-prompt-actions .primary-button{text-decoration:none}.map-name-scroll{background:linear-gradient(180deg,#f3e6c4,#e6d2a2);border:1px solid #b08d50;border-radius:2px;box-shadow:0 1px 2px #00000059;color:#3a2a14;font-family:inherit;font-family:var(--header-font,inherit);font-weight:700;line-height:1.1;padding:1px 7px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.map-name-scroll:after,.map-name-scroll:before{background:linear-gradient(180deg,#d8b676,#c09a54);border:1px solid #8f6f3c;border-radius:2px;bottom:-1px;content:"";position:absolute;top:-1px;width:4px}.map-name-scroll:before{left:-3px}.map-name-scroll:after{right:-3px}.map-name-scroll.mountain{background:linear-gradient(180deg,#e2e4e2,#c4c8c6);border-color:#8b8f8c;border-radius:1px;color:#33403f}.map-name-scroll.mountain:after,.map-name-scroll.mountain:before{display:none}.map-name-scroll.milestone{background:linear-gradient(180deg,#f6ddae,#ecc987);border-color:#b5862f;color:#7a1414}.map-name-scroll.milestone:after,.map-name-scroll.milestone:before{background:linear-gradient(180deg,#d9b25a,#c39a44);border-color:#8a6a2f}.user-input{flex-grow:1;height:60px;margin-bottom:0}.game-send-button{flex-shrink:0;padding:12px 20px}.info{font-size:.8rem;margin-top:10px}.game-main .model-info-text,.info{color:var(--text-secondary);text-align:center}.game-main .model-info-text{background:var(--bg);border:1px solid var(--border);border-radius:6px;display:block;font-size:.85rem;margin:10px auto;min-width:250px;padding:6px 15px;white-space:nowrap;width:-moz-fit-content;width:fit-content}.game-main .model-label{font-weight:700;margin-right:5px}.game-main .model-value{color:var(--primary);font-family:monospace}.game-main .status-bar{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:4px;margin-top:4px;padding:4px 10px}.session-info{flex:1 1;font-family:monospace;margin:0}.api-key-status,.session-info{color:var(--text-secondary);font-size:.7rem}.api-key-status{align-items:center;display:flex;gap:6px}.status-light{border-radius:50%;box-shadow:0 0 4px var(--shadow-black-30);display:inline-block;height:10px;width:10px}.status-active{animation:game-pulse-green 2s ease-in-out infinite;background-color:var(--state-success-strong);box-shadow:0 0 8px var(--glow-success-60)}.status-cli{animation:game-pulse-blue 2s ease-in-out infinite;background-color:var(--state-info);box-shadow:0 0 8px var(--glow-info-60)}.status-inactive{background-color:var(--state-danger);box-shadow:0 0 8px var(--glow-danger-60)}.status-text{font-weight:500}@keyframes game-pulse-green{0%,to{box-shadow:0 0 8px var(--glow-success-60)}50%{box-shadow:0 0 12px var(--glow-success-90)}}@keyframes game-pulse-blue{0%,to{box-shadow:0 0 8px var(--glow-info-60)}50%{box-shadow:0 0 12px var(--glow-info-90)}}.debug-toggle-button{background-color:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.7rem;margin:4px auto;padding:4px 8px;transition:all .2s ease}.debug-toggle-button:hover{background-color:var(--surface);border-color:var(--primary);color:var(--primary)}.debug-info-box{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 15px var(--shadow);color:var(--text);font-size:.75rem;margin:10px auto;max-height:500px;max-width:600px;overflow-y:auto;padding:12px;text-align:left}.debug-info-box h4{border-bottom:1px solid var(--border);color:var(--primary);margin-bottom:12px;margin-top:0;padding-bottom:5px}.debug-prompt-pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-family:monospace;font-size:.7rem;max-height:350px;overflow-y:auto;padding:10px;white-space:pre-wrap}.debug-section{background-color:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:8px;padding:6px}.debug-section strong{color:var(--text);display:block;margin-bottom:4px}.debug-section pre{word-wrap:break-word;background-color:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.7rem;margin:0;overflow-x:auto;padding:6px;white-space:pre-wrap}.game-chat-bar,.party-bar{background-color:var(--surface);border-left:1px solid var(--border);box-shadow:-2px 0 5px var(--shadow);box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow-y:auto;padding:15px;width:280px}.game-chat-bar{order:1}.party-bar{order:3}.party-bar h2{border-bottom:2px solid var(--border);font-size:1.4rem;letter-spacing:.1em;margin-bottom:20px;padding-bottom:10px;text-transform:uppercase}.new-chat-button,.party-bar h2{color:var(--primary);font-family:var(--header-font);text-align:center}.new-chat-button{background-color:initial;border:1px solid var(--primary);border-radius:20px;cursor:pointer;font-weight:500;margin-bottom:15px;padding:8px 15px;transition:all .2s ease}.new-chat-button:hover{background-color:var(--primary);color:var(--bg)}.history{flex-grow:1;list-style-type:none;margin:0;padding:0}.history li{border-radius:4px;color:var(--text-secondary);cursor:pointer;margin-bottom:5px;padding:10px 5px;transition:background-color .2s ease}.history li:hover{background-color:var(--primary-tint-10);color:var(--text)}.made-by{border-top:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;margin-top:auto;padding-top:10px;text-align:center}.party-member{border-bottom:1px solid var(--border);border-radius:8px;margin-bottom:15px;padding:15px 10px;transition:background-color .3s ease}.party-member:hover{background-color:var(--primary-tint-05)}.party-member img{border:2px solid var(--primary);border-radius:50%;cursor:pointer;display:block;height:70px;margin-bottom:12px;margin-left:auto;margin-right:auto;object-fit:cover;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;width:70px}.party-member img:hover{box-shadow:0 0 15px var(--primary);transform:scale(1.1)}.party-member h3{color:var(--text);font-family:var(--header-font);font-size:1.1rem;margin:0 0 5px;text-align:center}.party-member p{color:var(--text-secondary);font-size:.85rem;margin:2px 0;text-align:center}.view-details-btn{background:#0000;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase;transition:all .2s ease}.view-details-btn:hover{background:var(--primary-tint-10);border-color:var(--primary);color:var(--primary)}.party-member .stats{margin-top:10px;text-align:center}.party-member .stats h4{color:var(--text);font-size:.9rem;margin-bottom:8px}.party-member .stats-grid{grid-gap:5px 8px;color:var(--text-secondary);display:grid;font-size:.8rem;gap:5px 8px;grid-template-columns:repeat(3,1fr);margin:0;padding:0}.party-member .stat-item{background-color:var(--bg);border:1px solid var(--border);border-radius:3px;padding:3px 5px;text-align:center;white-space:nowrap}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#08070cc7;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:var(--surface);border-radius:12px;border-top:3px solid var(--gold,var(--primary))!important;border:1px solid color-mix(in srgb,var(--gold,var(--primary)) 55%,#0000);box-shadow:0 40px 90px -30px #000000e6;color:var(--text);max-height:85vh;max-width:600px;overflow-y:auto;padding:28px 32px;position:relative;width:90%}.modal-content h2{border-bottom:0;color:var(--text);font-family:var(--header-font);font-family:var(--font-display,var(--header-font));font-size:1.6rem;letter-spacing:normal;margin-bottom:18px;margin-top:0;padding-bottom:0;text-align:center;text-transform:none}.modal-section{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:15px}.modal-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.modal-section h4{color:var(--text-secondary);margin-bottom:10px;margin-top:0}.modal-content p{color:var(--text);line-height:1.5;margin:5px 0}.modal-content p strong{color:var(--primary)}.modal-content p.kv-row strong{display:inline-block;min-width:100px}.modal-close-button{display:block;font-size:.95rem;margin:22px auto 0;padding:11px 30px}.map-modal-content{align-items:center;border-radius:12px;box-shadow:0 40px 90px -30px #000000e6;display:flex;flex-direction:column;max-height:92vh;max-width:min(96vw,1100px);overflow:auto;padding:30px;width:auto}.dice-modal,.map-modal-content{background-color:var(--surface);color:var(--text)}.dice-modal{border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px var(--shadow);padding:25px}.dice-mode-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.dice-mode-toggle button{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:8px 16px}.dice-mode-toggle button.active{background:var(--primary);border-color:var(--primary);color:var(--bg)}.dice-controls{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:20px}.control-group{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.control-group label{color:var(--text-secondary);font-size:.85rem}.character-stats-preview{background:var(--primary-tint-10);border-left:3px solid var(--primary);border-radius:4px;color:var(--text-secondary);margin-bottom:15px;padding:10px}.roll-result{background:var(--bg);border:1px solid var(--primary);border-radius:8px;margin-top:20px;padding:20px;text-align:center}.roll-value{color:var(--primary);display:block;font-family:var(--header-font);font-size:3rem}.roll-value.crit-success{color:var(--state-success-strong);text-shadow:0 0 10px var(--glow-success-40)}.roll-value.crit-fail{color:var(--state-danger)}.roll-details{color:var(--text-secondary);font-size:.9rem;margin-top:10px}.crit-text{display:block;font-weight:700;margin-top:5px}.warning-text{color:var(--accent);font-style:italic;margin-bottom:10px}.town-entrance-warning{color:var(--text-secondary);font-size:12px;margin-top:5px}.map-modal-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.map-modal-actions button{align-items:center;display:inline-flex;font-size:.95rem;justify-content:center;line-height:1.2;margin:0;padding:10px 22px}.map-modal-content .world-map-grid{margin-bottom:25px;margin-top:15px}.modal-header-with-image{align-items:center;border-bottom:1px solid var(--primary);display:flex;gap:20px;margin-bottom:20px;padding-bottom:15px}.modal-profile-pic{border:4px solid var(--state-info);border-radius:50%;box-shadow:0 4px 10px var(--shadow-black-20);height:100px;object-fit:cover;width:100px}.modal-header-text h2{color:var(--primary);font-family:var(--header-font);margin:0}.modal-header-text .hero-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.4;margin:8px 0 0}.character-subtitle{color:var(--state-muted-strong);font-style:italic;margin:5px 0 0}.stats-grid-modal{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-top:10px}.stat-item-modal{align-items:center;background:var(--surface);border:1px solid var(--primary);border-radius:8px;display:flex;flex-direction:column;padding:10px}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:700;margin-bottom:2px}.stat-value{color:var(--text);font-size:1.25rem;font-weight:700}.character-background-text{background:var(--bg);border-left:4px solid var(--primary);border-radius:8px;color:var(--text);font-size:.95rem;font-style:italic;line-height:1.6;padding:15px;white-space:pre-wrap}.hero-equipment-slots{display:flex;flex-direction:column;gap:8px;margin-top:10px}.hero-equip-slot{align-items:center;background:var(--surface);border:1px solid var(--primary);border-radius:8px;display:flex;gap:12px;padding:8px 12px}.hero-equip-slot-label{color:var(--text-secondary);flex:0 0 90px;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.hero-equip-slot-body{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:space-between}.hero-equip-item-name{color:var(--text);font-weight:500}.hero-equip-bonus{color:var(--primary);color:var(--state-highlight,var(--primary));font-weight:700}.hero-equip-empty{color:var(--text-secondary);font-style:italic;opacity:.7}.hero-equip-select{background:var(--bg);color:var(--text);flex:1 1;font-size:.9rem;padding:6px 8px}.hero-equip-button,.hero-equip-select{border:1px solid var(--border,var(--primary));border-radius:6px;cursor:pointer}.hero-equip-button{background:none;color:var(--text-secondary);font-size:.8rem;padding:4px 12px}.hero-equip-button:hover{border-color:var(--primary);color:var(--text)}.hero-equip-summary{color:var(--text-secondary);font-size:.85rem;font-style:italic;margin:10px 0 0}.rumour-heading{color:var(--primary);font-family:var(--header-font)}.rumour-heading,.rumour-title{margin-bottom:8px;text-align:center}.rumour-title{color:var(--text);font-size:1.1rem;font-weight:700}.rumour-hook{color:var(--text-secondary);font-style:italic;margin-bottom:16px;text-align:center}.rumour-details{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:12px 14px;text-align:left}.rumour-detail{color:var(--text);font-size:.9rem;line-height:1.4;margin:0 0 8px}.rumour-detail:last-child{margin-bottom:0}.rumour-detail-label{color:var(--primary);display:inline-block;font-weight:700;min-width:78px}.rumour-actions{display:flex;gap:12px;justify-content:center}.quest-talk-button{animation:quest-talk-glow 1.6s ease-in-out infinite;background:linear-gradient(135deg,#f0b429,#e8901c);border:1px solid #ffd25ae6;box-shadow:0 0 6px 1px #ffd25a99;color:#2a1a05}.quest-talk-button:hover:not(:disabled){background:linear-gradient(135deg,#ffca3a,#f0a020);color:#2a1a05}@keyframes quest-talk-glow{0%,to{box-shadow:0 0 4px 1px #ffd25a8c}50%{box-shadow:0 0 11px 3px #ffe182e6}}@media (prefers-reduced-motion:reduce){.quest-talk-button{animation:none;box-shadow:0 0 6px 2px #ffda6ecc}}.encounter-action-modal{max-height:calc(100vh - 8px);max-width:700px;overflow-y:auto}.encounter-action-modal h2{font-size:18px;margin-bottom:4px;padding-bottom:4px}.encounter-header{margin-bottom:4px;text-align:center}.encounter-icon{display:block;font-size:64px;margin-bottom:10px}.encounter-description{color:var(--text);font-size:14px;font-style:italic;line-height:1.5;margin-bottom:4px;text-align:center}.encounter-actions h3{color:var(--primary);font-size:15px;margin:2px 0 8px;text-align:center}.action-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}@media (max-width:560px){.action-buttons{grid-template-columns:1fr}}.action-button{background:var(--surface-light);border:2px solid var(--border);border-radius:8px;cursor:pointer;padding:8px 12px;text-align:left;transition:all .2s ease}.action-button:hover:not(:disabled){background:var(--surface);border-color:var(--primary);box-shadow:0 4px 12px var(--shadow);transform:translateX(5px)}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.action-header strong{color:var(--primary);font-size:16px}.action-skill{color:var(--text-secondary);font-size:12px;font-style:italic}.action-description{color:var(--text);font-size:13px;line-height:1.3;margin:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.encounter-result{text-align:center}.outcome-badge,.result-header{margin-bottom:20px}.outcome-badge{border-radius:20px;display:inline-block;font-size:14px;font-weight:700;letter-spacing:1px;padding:8px 20px;text-transform:uppercase}.outcome-badge.critical-success{background:linear-gradient(135deg,var(--encounter-luck-start),var(--encounter-luck-end));box-shadow:0 4px 15px var(--glow-success-40);color:#fff}.outcome-badge.success{background:var(--success);color:#fff}.outcome-badge.failure{background:var(--warning);color:#fff}.outcome-badge.critical-failure{background:linear-gradient(135deg,var(--encounter-danger-start),var(--encounter-danger-end));box-shadow:0 4px 15px var(--glow-danger-60);color:#fff}.dice-result{align-items:center;background:var(--surface-light);border:2px solid var(--border);border-radius:8px;display:flex;gap:10px;justify-content:center;margin-bottom:10px;padding:10px 12px}.dice-icon{font-size:24px}.roll-total{color:var(--primary);font-size:32px;font-weight:700}.roll-breakdown{color:var(--text-secondary);font-size:14px}.ai-narration{background:var(--surface-light);border-left:4px solid var(--primary);color:var(--text);font-size:15px;font-style:italic;line-height:1.5;margin:10px 0;padding:10px 14px;text-align:left}.faction-changes,.penalties-section,.rewards-section{background:var(--surface-light);border-radius:8px;margin:15px 0;padding:15px;text-align:left}.rewards-section h4{color:var(--success);margin-bottom:10px;margin-top:0}.penalties-section h4{color:var(--warning);margin-bottom:10px;margin-top:0}.faction-changes h4{color:var(--primary);margin-bottom:10px;margin-top:0}.faction-changes ul,.penalties-section ul,.rewards-section ul{margin:0;padding-left:20px}.rewards-section li{color:var(--success);margin:5px 0}.penalties-section li{color:var(--warning);margin:5px 0}.faction-changes li{color:var(--text);margin:5px 0}.round-indicator{background:var(--primary);border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 10px;text-transform:uppercase}.combat-status{align-items:center;background:var(--surface-light);border-radius:8px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin:8px 0;padding:8px 16px}.status-bar:last-child{margin-bottom:0}.status-bar{align-items:center;display:flex;gap:8px}.status-label{color:var(--text);font-size:13px;font-weight:700;white-space:nowrap}.status-bar-container{background:var(--surface);border:2px solid var(--border);border-radius:10px;display:inline-block;height:18px;margin-right:10px;overflow:hidden;position:relative;vertical-align:middle;width:200px}.status-bar-fill{border-radius:8px;height:100%;transition:width .5s ease}.status-bar-fill.morale{background:linear-gradient(90deg,var(--state-danger),var(--state-warning),var(--state-success-strong))}.status-value{color:var(--text);font-size:14px;font-weight:700;vertical-align:middle}.advantage-indicator{background:var(--surface);border:2px solid var(--border);border-radius:8px;color:var(--primary);display:inline-block;font-size:15px;font-weight:700;padding:2px 14px}.round-history{background:var(--surface-light);border-left:3px solid var(--primary);border-radius:4px;margin:8px 0;max-height:96px;overflow-y:auto;padding:8px 12px}.round-history h4{color:var(--primary);font-size:14px;margin-bottom:10px;margin-top:0}.round-summary{border-bottom:1px solid var(--border);color:var(--text);font-size:13px;margin:5px 0;padding:5px 0}.round-summary:last-child{border-bottom:none}.round-count-badge{background:var(--primary);border-radius:15px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin-bottom:15px;padding:6px 15px}.outcome-summary{background:var(--surface-light);border:2px solid var(--primary);border-radius:8px;color:var(--text);font-size:16px;margin:15px 0;padding:15px;text-align:center}.outcome-summary strong{color:var(--primary)}.hp-damage-section{background:linear-gradient(135deg,var(--danger-tint-10),var(--danger-strong-tint-10));border:1px solid var(--border);border-radius:8px;margin:15px 0;padding:15px;text-align:center}.hp-damage-section h4{color:var(--state-danger);margin-bottom:10px;margin-top:0}.damage-amount{color:var(--state-danger);font-size:22px;font-weight:700;margin:4px 0;text-shadow:0 2px 4px var(--glow-danger-30)}.combat-stage{line-height:0;position:relative}.combat-stage-hp{background:linear-gradient(180deg,#0000009e,#0000);left:0;line-height:1.2;padding:6px 10px 8px;pointer-events:none;position:absolute;right:0;top:0}.combat-stage-hp-row{align-items:baseline;color:#fff;display:flex;font-size:15px;font-weight:700;gap:10px;justify-content:space-between;margin-bottom:4px;text-shadow:0 1px 3px #000}.combat-stage-hp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-stage-hp-num{color:var(--state-warning);flex-shrink:0}.combat-stage-hp-num.low{color:var(--state-danger)}.combat-stage-hp-track{background:#0000008c;border-radius:4px;height:8px;overflow:hidden}.combat-stage-hp-fill{background:var(--state-warning);border-radius:3px;height:100%;transition:width .45s ease}.combat-stage-hp-fill.low{background:var(--state-danger)}.combat-stage-floaters{align-items:center;display:flex;gap:28px;inset:0;justify-content:center;line-height:1;pointer-events:none;position:absolute}.damage-floater{animation:damageRiseFade 1.8s ease-out forwards;font-size:36px;font-weight:800;text-shadow:0 2px 6px #000,0 0 3px #000}.damage-floater.dealt{color:#ffd34d}.damage-floater.taken{color:#ff5a4d}@keyframes damageRiseFade{0%{opacity:0;transform:translateY(12px) scale(.8)}10%{opacity:1;transform:translateY(0) scale(1.14)}20%{transform:translateY(-3px) scale(1)}70%{opacity:1;transform:translateY(-16px) scale(1)}to{opacity:0;transform:translateY(-40px) scale(1)}}@media (prefers-reduced-motion:reduce){.damage-floater{animation:none;opacity:0}.combat-stage-hp-fill{transition:none}}.damage-description{color:var(--text);font-size:14px;font-style:italic;margin:10px 0 0}.encounter-hp-bar{background:var(--surface-light);border:2px solid var(--border);border-radius:8px;margin-top:8px;padding:8px 12px}.enemy-hp-bar{background:linear-gradient(135deg,var(--warning-tint-10),var(--warning-strong-tint-10));border:1px solid var(--border)}.hp-label{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-bottom:5px}.hp-bar-container{background:var(--surface);border:2px solid var(--border);border-radius:10px;height:20px;overflow:hidden;width:100%}.hp-bar-fill{border-radius:8px;height:100%;transition:width .5s ease,background .3s ease}.defeat-header{background:linear-gradient(135deg,var(--danger-tint-20),var(--danger-strong-tint-20));border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.defeat-icon{display:block;font-size:64px;margin-bottom:10px}.defeat-header h2{color:var(--state-danger);font-size:32px;margin:0}.defeat-message{background:var(--surface-light);border-left:4px solid var(--state-danger);border-radius:8px;margin-bottom:20px;padding:20px}.defeat-message p{line-height:1.6;margin:0}.defeat-consequences{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:15px}.defeat-consequences h4{color:var(--state-danger);margin-top:0}.defeat-consequences ul{margin:10px 0 0;padding-left:20px}.defeat-consequences li{color:var(--text);margin:8px 0}.enemy-damage-section{background:linear-gradient(135deg,var(--warning-tint-10),var(--warning-strong-tint-10));border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:8px 12px;text-align:center}.enemy-damage-section h4{color:var(--state-warning);margin-bottom:4px;margin-top:0}.defeat-warning{background:linear-gradient(135deg,var(--danger-tint-20),var(--danger-strong-tint-20))}.defeat-warning,.victory-banner{border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center}.victory-banner{background:linear-gradient(135deg,var(--success-tint-20),var(--success-strong-tint-20))}.combat-damage-summary{display:flex;gap:10px;margin:8px 0}.combat-damage-summary .enemy-damage-section,.combat-damage-summary .player-damage-section{flex:1 1;margin:0}.player-damage-section{background:linear-gradient(135deg,var(--danger-tint-10),var(--danger-strong-tint-10));border:1px solid var(--border);border-radius:8px;padding:8px 12px;text-align:center}.player-damage-section h4{color:var(--state-danger);margin-bottom:10px;margin-top:0}.round-action-buttons{display:flex;gap:12px;margin-top:8px}.round-action-buttons .fight-button{flex:1 1;font-size:16px;font-weight:700}.round-action-buttons .fight-button:hover{filter:brightness(1.1)}.round-action-buttons .secondary-button{background:var(--surface-light);border:2px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;flex:1 1;font-size:14px;padding:10px 20px;transition:all .2s ease}.round-action-buttons .secondary-button:hover{background:var(--border)}.character-hp-display{background:var(--surface-light);border-radius:8px;margin-top:10px;padding:10px}.character-hp-label{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-bottom:6px}.character-hp-bar{background:var(--surface);border:2px solid var(--border);border-radius:8px;height:14px;overflow:hidden;width:100%}.character-hp-fill{border-radius:6px;height:100%;transition:width .5s ease,background .3s ease}.summary-hp-section{margin-top:15px}.summary-hp-section h4{margin-bottom:5px}.narrative-hook-chips{border-top:1px dashed var(--border);margin-top:10px;padding-top:10px}.narrative-hook-image{border:1px solid var(--border);border-radius:8px;display:block;margin-bottom:8px;max-height:90px;max-width:100%;object-fit:cover}.narrative-hook-chip-row{display:flex;flex-wrap:wrap;gap:6px}.narrative-hook-chip{background-color:var(--bg);border:1px solid var(--primary);border-radius:999px;color:var(--text);cursor:pointer;font-family:var(--ui-font);font-size:.85rem;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.narrative-hook-chip:hover{background-color:var(--primary);color:var(--bg)}.narrative-hook-chip-ignore{border-color:var(--border);color:var(--text-secondary)}.narrative-hook-chip-ignore:hover{background-color:var(--surface);border-color:var(--text-secondary);color:var(--text)}.world-map-container{margin-top:8px;max-width:100%;overflow:auto;text-align:center}.world-map-container h4{color:var(--surface-soft);margin-bottom:10px}.world-map-grid{margin:10px auto}.world-map-viewport-frame{margin:20px auto;max-width:100%;position:relative;width:-moz-fit-content;width:fit-content}.world-map-viewport{border-radius:4px;display:flex;max-width:100%;overflow:auto;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}.world-map-zoom{align-items:center;background:#141414d9;background:var(--surface,#141414d9);border:1px solid #555;border:1px solid var(--border,#555);border-radius:6px;box-shadow:0 2px 6px #0000004d;box-shadow:0 2px 6px var(--shadow-black-30,#0000004d);display:flex;gap:2px;opacity:.92;padding:2px 4px;position:absolute;right:8px;top:8px;z-index:8}.world-map-zoom button{background:#0000;border:none;border-radius:4px;color:#eee;color:var(--text,#eee);cursor:pointer;font-size:16px;height:26px;line-height:1;margin:0;padding:0;width:26px}.world-map-zoom button:hover:not(:disabled){background:#ffffff26;background:var(--state-muted-strong,#ffffff26)}.world-map-zoom button:disabled{cursor:default;opacity:.35}.world-map-zoom-step{color:#aaa;color:var(--text-secondary,#aaa);font-size:11px;letter-spacing:.04em;min-width:38px;text-align:center;text-transform:uppercase}.map-tile{border:none;transition:all .3s ease}.map-tile:hover{filter:brightness(1.25)}.map-tile:active{filter:brightness(.85);transition:filter .1s ease}.player-tile{animation:pulse-glow 2s ease-in-out infinite;box-shadow:inset 0 0 0 3px var(--state-highlight);filter:brightness(1.2)}.player-marker{animation:bounce-in .5s ease-out;filter:drop-shadow(0 2px 4px var(--shadow-black-30));font-size:24px;position:absolute;z-index:10}.player-marker-portrait{height:32px;left:-18px;position:absolute;top:-18px;width:32px;z-index:15}.player-marker-portrait img{background:#fff;border:3px solid var(--state-highlight);border-radius:50%;box-shadow:0 2px 8px var(--shadow-black-40);display:block;height:100%;position:relative;width:100%;z-index:1}.player-marker-pointer{border-bottom:9px solid var(--state-highlight);border-left:7px solid #0000;border-right:9px solid var(--state-highlight);border-top:7px solid #0000;bottom:0;filter:drop-shadow(0 2px 4px var(--shadow-black-30));height:0;position:absolute;right:0;transform:rotate(45deg);transform-origin:bottom right;width:0;z-index:0}@keyframes pulse-glow{0%,to{box-shadow:inset 0 0 0 3px var(--state-highlight)}50%{box-shadow:inset 0 0 0 3px var(--state-highlight),0 0 15px var(--glow-highlight-60)}}.map-tile.milestone-poi-tile{animation:milestone-poi-glow 1.6s ease-in-out infinite;border-radius:3px;z-index:3}@keyframes milestone-poi-glow{0%,to{box-shadow:0 0 3px 1px #ffd25aa6,inset 0 0 4px #ffd25a80}50%{box-shadow:0 0 10px 4px #ffe182f2,inset 0 0 7px #ffe182bf}}@media (prefers-reduced-motion:reduce){.map-tile.milestone-poi-tile{animation:none;box-shadow:0 0 6px 2px #ffda6ed9,inset 0 0 5px #ffda6e99}}@keyframes bounce-in{0%{opacity:0;transform:scale(0) translateY(-20px)}50%{transform:scale(1.2) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.mapsky-overlay{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:4}.mapsky-cloud{animation-iteration-count:infinite;animation-name:mapsky-drift;animation-timing-function:linear;left:-30%;position:absolute;will-change:left}@keyframes mapsky-drift{0%{left:-30%}to{left:130%}}.mapsky-bird{animation-iteration-count:infinite;animation-name:mapsky-flyby;animation-timing-function:linear;left:-12%;opacity:0;position:absolute;will-change:left,transform,opacity}.mapsky-bird-rev{animation-name:mapsky-flyby-rev}.mapsky-wing-up{animation:mapsky-flap-up .4s step-end infinite}.mapsky-wing-down{animation:mapsky-flap-down .4s step-end infinite}@keyframes mapsky-flap-up{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes mapsky-flap-down{0%,49.9%{opacity:0}50%,to{opacity:1}}@keyframes mapsky-flyby{0%{left:-12%;opacity:0;transform:translateY(0)}2%{opacity:.75}6%{left:22%;transform:translateY(-6px)}10%{left:56%;transform:translateY(4px)}13%{left:90%;opacity:.75;transform:translateY(-4px)}15%{left:112%;opacity:0;transform:translateY(0)}to{left:112%;opacity:0;transform:translateY(0)}}@keyframes mapsky-flyby-rev{0%{left:112%;opacity:0;transform:translateY(0)}2%{opacity:.75}6%{left:78%;transform:translateY(5px)}10%{left:44%;transform:translateY(-4px)}13%{left:10%;opacity:.75;transform:translateY(5px)}15%{left:-12%;opacity:0;transform:translateY(0)}to{left:-12%;opacity:0;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mapsky-overlay{display:none}}.new-game-page .form-section{border-bottom:1px solid var(--border-soft);margin-bottom:30px;padding-bottom:20px}.new-game-page .form-section:last-of-type{border-bottom:none;margin-bottom:0}.new-game-page h2{color:var(--primary);margin-bottom:15px;margin-top:0}.new-game-page h3{color:var(--text);display:inline-block;margin-bottom:8px;position:relative}.new-game-page p{color:var(--text-secondary);line-height:1.5;margin:0 0 10px}.new-game-page .settings-textarea{background-color:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);max-width:600px;padding:10px;resize:vertical;width:100%}.new-game-page .ai-settings-selectors,.new-game-page .mood-selectors,.new-game-page .world-settings-selectors{display:flex;flex-wrap:wrap;gap:40px}.new-game-page .ai-setting-item,.new-game-page .mood-selector-item,.new-game-page .world-setting-item{flex:1 1;min-width:200px}.new-game-page .settings-select{appearance:none;background-color:var(--bg);background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23d4af37%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 10px top 50%;background-repeat:no-repeat;background-size:.65em auto;border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text);font-size:1rem;padding:10px 2.5em 10px 10px;width:100%}.new-game-page .provider-select,.new-game-page .verbosity-select{max-width:300px}.tooltip-trigger{border:1px solid var(--state-info);border-radius:50%;color:var(--state-info);cursor:help;display:inline-block;font-size:.8em;height:16px;line-height:16px;margin-left:8px;position:relative;text-align:center;width:16px}.tooltip-trigger:after,.tooltip-trigger:before{left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease;z-index:10}.tooltip-trigger:before{background-color:var(--ink-strong);border-radius:4px;bottom:150%;color:var(--on-dark);content:attr(data-tooltip);font-size:.9em;line-height:1.4;max-width:250px;padding:8px 12px;white-space:pre-wrap;width:max-content}.tooltip-trigger:after{border:5px solid #0000;border-top:5px solid var(--ink-strong);bottom:150%;content:"";margin-bottom:-10px}.tooltip-trigger:hover:after,.tooltip-trigger:hover:before{opacity:1}.new-game-page .form-actions{margin-top:30px;position:relative;text-align:center}.new-game-page .error-message{color:var(--state-danger);font-size:.95rem;font-weight:700;margin-bottom:15px}.new-game-page .settings-submit-button{background-color:var(--primary);border:2px solid var(--primary);border-radius:6px;box-shadow:0 4px 12px var(--shadow);color:var(--bg);cursor:pointer;font-family:var(--header-font);font-size:1.1rem;font-weight:600;letter-spacing:.1em;padding:14px 30px;text-transform:uppercase;transition:all .3s ease}.new-game-page .settings-submit-button:hover{background-color:initial;box-shadow:0 6px 16px var(--shadow);color:var(--primary)}.story-settings-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px var(--shadow);margin-bottom:30px;padding:30px}.settings-row{margin-bottom:25px}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.settings-group{display:flex;flex-direction:column;gap:8px}.settings-group label{color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.settings-select,.settings-textarea{background-color:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--ui-font);font-size:1rem;padding:12px 16px;transition:all .2s ease}.settings-select:focus,.settings-textarea:focus{background-color:var(--bg);border-color:var(--primary);box-shadow:0 0 0 3px var(--shadow);outline:none}.segmented-control{display:flex;flex-wrap:wrap;gap:6px}.segmented-option{background-color:var(--bg);border:1px solid var(--border);border-radius:999px;box-shadow:none;color:var(--text-secondary);cursor:pointer;font-family:var(--ui-font);font-size:.9rem;letter-spacing:normal;padding:8px 12px;transition:all .15s ease;white-space:nowrap}.segmented-option:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.segmented-option.selected{background-color:var(--primary);border-color:var(--primary);color:var(--bg);font-weight:700}.segmented-option:disabled{cursor:not-allowed;opacity:.5}.segmented-hint{color:var(--text-secondary);font-size:.78rem;opacity:.8}.tone-dials{display:flex;flex-direction:column;gap:14px}.tone-dials .settings-group{grid-gap:4px 14px;align-items:center;display:grid;gap:4px 14px;grid-template-columns:130px 1fr}.tone-dials .settings-group label{grid-column:1;margin:0}.tone-dials .segmented-control,.tone-dials .segmented-hint{grid-column:2}@media (max-width:560px){.tone-dials .settings-group{grid-template-columns:1fr}.tone-dials .segmented-control,.tone-dials .segmented-hint,.tone-dials .settings-group label{grid-column:1}}.tone-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.tone-header-label{color:var(--text-secondary);font-size:.85rem}.tone-reset-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.82rem;padding:0;text-decoration:underline}.tone-reset-link:disabled{color:var(--text-secondary);cursor:default;opacity:.5;text-decoration:none}.settings-textarea{min-height:100px;resize:vertical}.settings-modal-refined{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:35px}.settings-modal-refined h2{font-size:1.8rem;margin-top:0}.settings-modal-refined label{font-weight:600}.template-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.template-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:15px;padding:15px;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.template-card:hover{border-color:var(--primary);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.template-card.active{background-color:var(--shadow);border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.template-icon{align-items:center;background:var(--bg);border-radius:10px;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.template-card.active .template-icon{background:var(--surface)}.template-info h5{color:var(--text);font-family:var(--header-font);font-size:1rem;margin:0 0 4px}.template-info p{color:var(--text-secondary);font-size:.75rem;line-height:1.3;margin:0}@keyframes ai-pulse{0%{box-shadow:0 4px 15px var(--encounter-violet-glow-30);transform:scale(1)}50%{box-shadow:0 4px 25px var(--encounter-violet-glow-50);transform:scale(1.05)}to{box-shadow:0 4px 15px var(--encounter-violet-glow-30);transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ai-generate-button:hover:not(:disabled){box-shadow:0 6px 20px var(--encounter-violet-glow-40);filter:brightness(1.1);transform:translateY(-2px)}.ai-generate-button:active:not(:disabled){transform:translateY(0)}.ai-generate-button.loading{animation:ai-pulse 1.5s ease-in-out infinite;animation:ai-pulse 1.5s ease-in-out infinite,shimmer 2s linear infinite;background:linear-gradient(90deg,var(--state-violet),var(--state-violet-soft),var(--state-violet));background-size:200% 100%;cursor:wait}.ai-generate-button:disabled{cursor:wait;opacity:.8}.onboarding-steps{align-items:flex-start;display:flex;justify-content:center;list-style:none;margin:0 auto 24px;max-width:560px;padding:0}.onboarding-step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;position:relative;text-align:center}.onboarding-step-connector{background:var(--border);height:2px;position:absolute;right:50%;top:17px;width:100%;z-index:0}.onboarding-step-marker{align-items:center;background:var(--surface);border:2px solid var(--border);border-radius:50%;color:var(--text-secondary);display:flex;font-family:var(--header-font);font-weight:700;height:36px;justify-content:center;width:36px;z-index:1}.onboarding-step-label{color:var(--text-secondary);font-size:.85rem}.onboarding-step.active .onboarding-step-marker{border-color:var(--primary);color:var(--primary)}.onboarding-step.active .onboarding-step-label{color:var(--text);font-weight:600}.onboarding-step.done .onboarding-step-marker{background:var(--primary);border-color:var(--primary);color:#fff}.onboarding-step.done .onboarding-step-connector{background:var(--primary)}.guest-banner{align-items:center;background:var(--surface);border:1px solid var(--primary);border-radius:8px;color:var(--text);display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px;justify-content:space-between;margin:0 auto 16px;max-width:1100px;padding:10px 16px}.guest-banner-text strong{color:var(--primary)}.guest-banner-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.guest-banner-cta{background:var(--primary);border:none;border-radius:6px;color:var(--bg);cursor:pointer;font:inherit;font-weight:700;padding:7px 16px;white-space:nowrap}.guest-banner-cta:hover{filter:brightness(1.08)}.guest-banner-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:4px 6px}.guest-banner-close:hover{color:var(--text)}@media (max-width:600px){.guest-banner{flex-wrap:nowrap;gap:10px;padding:8px 12px}.guest-banner-detail{display:none}.guest-banner-cta{padding:6px 12px}}.local-sync-toast{align-items:center;background:var(--surface);border:1px solid var(--primary);border-radius:10px;bottom:20px;box-shadow:0 4px 16px var(--shadow);color:var(--text);display:flex;font-size:.9rem;gap:12px;left:20px;padding:12px 16px;position:fixed;z-index:10000}.local-sync-toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:2px 4px}.local-sync-toast-close:hover{color:var(--text)}@media (max-width:480px){.onboarding-step-label{font-size:.72rem}.onboarding-step-marker{height:30px;width:30px}.onboarding-step-connector{top:14px}}.user-profile-indicator{align-items:center;display:flex;margin-left:auto;position:relative}.login-link{border:1px solid var(--primary);border-radius:4px;color:var(--primary);font-family:var(--font-header);font-size:.85rem;letter-spacing:.05em;padding:8px 16px;text-decoration:none;transition:all .2s ease}.login-link:hover,.profile-avatar-btn{background-color:var(--primary);color:var(--bg)}.profile-avatar-btn{align-items:center;aspect-ratio:1/1;border:none;border-radius:50%;box-shadow:0 2px 4px var(--shadow);cursor:pointer;display:flex;flex-shrink:0;font-family:var(--font-header);font-size:.9rem;font-weight:700;height:36px;justify-content:center;min-height:36px;min-width:36px;padding:0;transition:all .2s ease;width:36px}.profile-avatar-btn:hover{box-shadow:0 4px 8px var(--shadow);transform:scale(1.05)}.avatar-initials{text-transform:uppercase}.profile-dropdown{background-color:var(--surface);border:2px solid var(--primary);border-radius:4px;box-shadow:0 4px 16px var(--shadow);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.profile-dropdown-header{background-color:var(--surface);border-bottom:1px solid var(--primary);padding:12px 16px}.profile-email{color:var(--primary);font-family:var(--font-ui);font-size:.85rem;word-break:break-all}.profile-dropdown-divider{background-color:var(--border);height:1px}.profile-dropdown-item{background:none;border:none;color:var(--primary);cursor:pointer;display:block;font-family:var(--font-header);font-size:.9rem;letter-spacing:.05em;padding:12px 16px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.profile-dropdown-item:hover{background-color:var(--bg)}.profile-signout{border-top:1px solid var(--primary);color:var(--state-danger)}.profile-signout:hover{background-color:var(--danger-tint-10)}@media (max-width:768px){.profile-avatar-btn{font-size:.8rem;height:32px;width:32px}.profile-dropdown{min-width:180px}}:root{--mobile-breakpoint:768px;--tablet-breakpoint:1024px;--touch-target-min:44px}.hamburger-btn,.mobile-party-overlay,.mobile-party-toggle{display:none}@media (max-width:768px){#root,.App,body,html{max-width:100%;overflow-x:hidden;width:100%}.nav-debug-item,.skip-link{display:none!important}.nav-settings-btn{min-width:auto!important;padding:8px 12px!important}.container{margin:12px auto;max-width:100%;padding:0 12px}.main-content{margin:0!important;max-width:100%!important;padding:20px 12px!important;width:100%!important}.Home-page,.character-creation-form,.page-container{box-sizing:border-box;margin:0!important;padding:20px 16px!important;width:100%!important}.game-container{flex-direction:column!important;position:relative}.party-bar{background-color:var(--surface)!important;box-shadow:-4px 0 20px #0000004d!important;height:100vh!important;max-height:100vh!important;max-width:280px!important;overflow-y:auto!important;position:fixed!important;right:-100%!important;top:0!important;transition:right .3s ease!important;width:280px!important;z-index:1500!important}.party-bar.mobile-open{right:0!important}.game-main{margin-left:0!important;max-width:100%!important;width:100%!important}.game-top h2{display:none!important}.mobile-profile-links{display:flex!important;flex-direction:column!important;width:100%!important}.mobile-profile-link{background:#0000!important;border:none!important;border-bottom:1px solid var(--border)!important;box-sizing:border-box!important;color:var(--text)!important;cursor:pointer!important;display:block!important;font-family:var(--font-header)!important;font-size:.95rem!important;letter-spacing:.1em!important;min-height:48px!important;padding:12px 16px!important;text-align:left!important;text-decoration:none!important;width:100%!important}.mobile-signout{color:var(--state-danger)!important}.mobile-party-toggle{align-items:center!important;background-color:var(--surface)!important;border:2px solid var(--primary)!important;border-radius:50%!important;bottom:20px!important;box-shadow:0 4px 12px #0000004d!important;color:var(--primary)!important;cursor:pointer!important;display:flex!important;font-size:1.5rem!important;height:56px!important;justify-content:center!important;overflow:hidden!important;padding:0!important;position:fixed!important;right:20px!important;transition:all .3s ease!important;width:56px!important;z-index:1600!important}.mobile-party-toggle:hover{box-shadow:0 6px 16px #0006!important;transform:scale(1.1)!important}.mobile-party-toggle-portrait{border-radius:50%!important;height:100%!important;object-fit:cover!important;width:100%!important}.mobile-party-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:#00000080!important;bottom:0!important;left:0!important;position:fixed!important;right:0!important;top:0!important;z-index:1400!important}.header-button-group{flex-wrap:wrap;gap:4px;justify-content:center}.header-button-group button{font-size:.8rem;min-height:44px;min-height:var(--touch-target-min);padding:6px 10px}.game-info-header{align-items:flex-start;flex-direction:column-reverse;gap:12px}.modal-content{margin:5vh auto;max-height:90vh;max-width:95vw!important;overflow-y:auto;width:95vw!important}.modal-overlay{padding:0}.town-map-container,.world-map-container{max-width:100%;overflow-x:auto}.town-map-grid,.world-map-grid{min-width:300px}.nav-dropdown{display:flex!important;flex-direction:column!important;position:static!important;width:100%!important}.nav-dropdown-menu{border:none!important;border-radius:0!important;border-top:1px solid var(--border)!important;bottom:auto!important;box-shadow:none!important;box-sizing:border-box!important;flex-direction:column!important;height:auto!important;left:auto!important;max-height:none!important;max-width:100%!important;min-height:0!important;overflow:hidden!important;position:static!important;right:auto!important;top:auto!important;z-index:auto!important}.nav-dropdown-menu,.nav-dropdown-menu li{background-color:var(--bg)!important;border-bottom:1px solid var(--border)!important;display:flex!important;margin:0!important;padding:0!important;width:100%!important}.nav-dropdown-menu li{flex:0 0 auto!important}.nav-dropdown-menu li:last-child{border-bottom:none!important}.nav-dropdown-menu a{word-wrap:break-word!important;align-items:center!important;background-color:var(--bg)!important;color:var(--text-secondary)!important;display:flex!important;flex:1 1!important;font-size:.9rem!important;height:auto!important;justify-content:flex-start!important;line-height:1.4!important;min-height:48px!important;overflow-wrap:break-word!important;padding:12px 16px 12px 32px!important;text-align:left!important;white-space:normal!important}button,input,select,textarea{font-size:16px;min-height:44px;min-height:var(--touch-target-min)}.Home-page h1,.Home-page h2,.character-creation-form h1,.hero-creation-form h1,.page-container h1,.page-container h2{font-size:1.3rem!important;margin-bottom:10px!important}.page-header{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}.conversation{padding:12px}.encounter-modal-content{padding:16px}.encounter-actions{flex-direction:column;gap:8px}.encounter-actions button{width:100%}.subtitle{font-size:.9rem!important;letter-spacing:.1em!important}a,button,h1,h2,h3,h4,p,span{word-wrap:break-word!important;overflow-wrap:break-word!important}.primary-button,.secondary-button{word-wrap:break-word!important;box-sizing:border-box!important;max-width:100%!important;white-space:normal!important}.form-row,.form-section{box-sizing:border-box!important;width:100%!important}}@media (min-width:769px) and (max-width:1100px){.container{max-width:90%}.game-container,.game-page-wrapper{background-color:var(--bg)!important}.game-container{gap:16px;width:100%!important}.game-main{flex:1 1!important;min-width:0!important}.party-bar{flex-shrink:0!important;width:240px!important}.modal-content{max-width:800px;width:85vw}.nav-dropdown{position:static!important}.nav-dropdown-menu{border:1px solid var(--primary)!important;border-radius:8px!important;bottom:auto!important;box-shadow:0 4px 20px #0006!important;box-sizing:border-box!important;flex-direction:column!important;height:auto!important;left:50%!important;max-height:none!important;max-width:400px!important;min-width:300px!important;overflow:hidden!important;position:fixed!important;right:auto!important;top:90px!important;transform:translateX(-50%)!important;width:auto!important;z-index:2000!important}.nav-dropdown-menu,.nav-dropdown-menu li{background-color:var(--surface)!important;display:flex!important;margin:0!important;padding:0!important}.nav-dropdown-menu li{flex:0 0 auto!important;width:100%!important}.nav-dropdown-menu a{align-items:center!important;background-color:var(--surface)!important;color:var(--text)!important;display:flex!important;flex:1 1!important;font-size:.9rem!important;height:auto!important;min-height:56px!important;padding:14px 20px!important}}@media (max-height:500px) and (orientation:landscape){.modal-content{max-height:95vh;overflow-y:auto}.header-button-group{gap:4px}.header-button-group button{font-size:.75rem;padding:4px 8px}}.skip-link{background:var(--primary);border-radius:0 0 4px 0;color:var(--bg);left:0;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;z-index:10000}.skip-link:focus{top:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (pointer:coarse){a,button,input[type=checkbox],input[type=radio]{min-height:44px;min-height:var(--touch-target-min);min-width:44px;min-width:var(--touch-target-min)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.main-nav{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--surface);border-bottom:2px solid var(--primary);box-shadow:0 4px 12px var(--shadow);overflow:visible;padding:0 20px;position:sticky;top:0;z-index:1000}.main-nav>ul{gap:15px;height:86px;justify-content:center;list-style-type:none;margin:0;padding:0}.main-nav>ul,.main-nav>ul>li{align-items:center;display:flex;overflow:visible}.main-nav>ul>li{height:100%}.main-nav>ul>li>a{align-items:center;border-bottom:none;border-radius:4px;box-sizing:border-box;color:var(--text);display:inline-flex;font-family:var(--header-font);font-size:.95rem;font-weight:500;justify-content:center;letter-spacing:.1em;min-height:54px;min-width:180px;padding:12px 22px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.main-nav>ul>li>a:hover{background-color:var(--shadow);color:var(--primary)}.nav-settings-btn{background:#0000;border:1px solid var(--primary);border-radius:4px;box-sizing:border-box;color:var(--primary);cursor:pointer;font-family:var(--header-font);font-size:.85rem;letter-spacing:.1em;margin-left:10px;min-height:54px;min-width:180px;padding:12px 22px;text-transform:uppercase;transition:all .3s ease}.nav-settings-btn:hover{background-color:var(--primary);color:var(--bg)}.nav-dropdown{position:relative}.nav-dropdown-toggle{align-items:center;background:#0000;border:none;border-radius:4px;box-sizing:border-box;color:var(--text);cursor:pointer;display:flex;font-family:var(--header-font);font-size:.95rem;font-weight:500;gap:5px;justify-content:center;letter-spacing:.1em;min-height:54px;min-width:180px;padding:12px 22px;text-transform:uppercase;transition:all .3s ease}.nav-dropdown-toggle:hover{background-color:var(--shadow);color:var(--primary)}.dropdown-arrow{font-size:.6rem;transition:transform .3s ease}.nav-dropdown-menu{align-items:stretch;border:1px solid var(--primary);border-radius:4px;box-shadow:0 12px 24px var(--shadow-black-30);flex-direction:column;height:auto;justify-content:flex-start;left:0;list-style:none;min-width:260px;overflow:hidden;position:absolute;top:calc(100% + 6px);z-index:1200}.nav-dropdown-menu,.nav-dropdown-menu li{background-color:var(--surface);display:flex;margin:0;padding:0}.nav-dropdown-menu li{flex:0 0 auto;width:100%}.nav-dropdown-menu .nav-dropdown-action,.nav-dropdown-menu a{align-items:center;background-color:var(--surface);border-bottom:none;border-radius:0;box-sizing:border-box;color:var(--text);display:flex;font-family:var(--header-font);font-size:.92rem;letter-spacing:.05em;line-height:1.5;min-height:68px;padding:14px 24px;text-decoration:none;text-transform:uppercase;transition:all .2s ease;white-space:nowrap;width:100%}.nav-dropdown-menu .nav-dropdown-action{border:none;cursor:pointer;text-align:left}.nav-dropdown-menu .nav-dropdown-action:hover,.nav-dropdown-menu a:hover{background-color:var(--primary);color:var(--bg)}@media (max-width:1100px){.main-nav ul{gap:8px;height:76px}.main-nav>ul>li>a,.nav-dropdown-toggle,.nav-settings-btn{font-size:.8rem;min-height:48px;min-width:110px;padding:10px 12px}.nav-dropdown-menu{min-width:220px}.nav-dropdown-menu a{font-size:.85rem;min-height:56px;padding:12px 20px}}.nav-profile-item{height:auto;min-width:auto;position:absolute;right:20px}.nav-profile-item .profile-avatar-btn{height:36px!important;min-height:36px!important;min-width:36px!important;width:36px!important}.tour-ring{animation:tour-pulse 1.4s ease-in-out infinite;border:3px solid #ffb020;border-radius:8px;box-shadow:0 0 0 3px #ffb02073,0 0 14px 2px #ffb02059;pointer-events:none;position:fixed;z-index:10000}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 3px #ffb02073,0 0 14px 2px #ffb0204d}50%{box-shadow:0 0 0 10px #ffb0201f,0 0 22px 6px #ffb02073}}.tour-tooltip{background:var(--surface);border:1px solid #ffb020;border-radius:10px;box-shadow:0 8px 24px var(--shadow);max-width:calc(100vw - 24px);padding:14px 16px;position:fixed;width:300px;z-index:10001}.tour-tooltip-min{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:2px 8px;position:absolute;right:6px;top:4px}.tour-tooltip-min:hover{background:var(--border);color:var(--text)}.tour-pill{align-items:center;animation:tour-pulse 1.6s ease-in-out infinite;background:var(--surface);border:1px solid #ffb020;border-radius:999px;bottom:20px;box-shadow:0 4px 14px var(--shadow);color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--header-font);font-size:.85rem;font-weight:700;gap:6px;padding:8px 14px;position:fixed;right:20px;z-index:10001}.tour-pill:hover{filter:brightness(1.05)}.tour-tooltip-floating{bottom:24px;left:50%;transform:translateX(-50%)}.tour-tooltip-title{color:var(--primary);font-family:var(--header-font);font-size:.95rem;font-weight:700;margin-bottom:6px;padding-right:18px}.tour-tooltip-body{color:var(--text);font-size:.9rem;line-height:1.45;margin-bottom:12px}.tour-tooltip-count{color:var(--text-secondary);font-size:.72rem;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.tour-tooltip-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.tour-skip-link{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:.82rem;padding:2px 4px;text-decoration:underline}.tour-skip-link:hover{color:var(--text)}.tour-next-btn{background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:var(--header-font);font-size:.82rem;font-weight:700;padding:6px 14px}.tour-next-btn:hover{filter:brightness(1.08)}
/*# sourceMappingURL=main.463ae198.css.map*/