:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--el-fire:#ff5a2a;--el-water:#3aa0ff;--el-cold:#8fe3ff;--el-lightning:#ffe066;--el-storm:#7a5cff;--el-frost:#4fd6d6;--el-earth:#c79a5b;--el-wind:#bfeaff;--el-nature:#66c24a;--el-arcane:#b060ff;--el-physical:#6fa8e0;--bg:#0a0c10;--bg-tint:#12100b;--surface:#14171f;--surface-2:#1c212c;--surface-3:#252b39;--border:#333b4d;--border-strong:#4a5570;--carve-hi:#fff6e00f;--carve-lo:#00000080;--text:#ece3cf;--text-dim:#b6b3a4;--text-mute:#7c8598;--rune:#e0b24a;--rune-bright:#ffcf6b;--rune-soft:#e0b24a29;--gold:#ffd766;--season:#c9a8ff;--silver:#cdd6e0;--bronze:#d3924a;--danger:#c0392b;--danger-soft:#52242a;--success:#5bb06a;--success-soft:#24422b;--essence-teal:#38d9c0;--health:#ff6b6b;--essence:#38d9c0;--speed:#f58ac8;--text-scale:1.3333;--font-display:"Cinzel", "Trajan Pro", Georgia, serif;--font-body:"Alegreya", Georgia, "Times New Roman", serif;--fs-xs:calc(.75rem * var(--text-scale));--fs-sm:calc(.875rem * var(--text-scale));--fs-md:calc(1rem * var(--text-scale));--fs-lg:calc(1.25rem * var(--text-scale));--fs-xl:calc(1.6rem * var(--text-scale));--fs-2xl:calc(2.25rem * var(--text-scale));--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--shadow-1:0 2px 10px #00000080;--shadow-2:0 14px 44px #0000009e;--touch:48px;--admin-corner:40px;--focus-ring:3px solid var(--rune-bright);--focus-ring-offset:2px;--panel-bg:linear-gradient(180deg, var(--surface-2), var(--surface));--scrim:#050609b8}@media (max-width:720px),(max-height:500px){:root{--text-scale:1}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:radial-gradient(1200px 800px at 50% -10%, var(--bg-tint), transparent 60%), var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation;overflow:hidden}#game{width:100vw;height:100vh;touch-action:none;-webkit-touch-callout:none;height:100dvh;display:block}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.03em;color:var(--text);font-weight:700}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:0 0}body{-webkit-user-select:none;user-select:none}#overlay,input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}button{font-family:var(--font-body);color:inherit}.btn,.primary-btn,.secondary-btn,.buy-btn,.choice-btn,.menu-btn,.wave-btn,.skill-btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--touch);padding:0 var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 1px 0 var(--carve-hi), inset 0 -2px 6px var(--carve-lo), var(--shadow-1);color:var(--text);font-family:var(--font-body);font-weight:700;font-size:var(--fs-md);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:border-color .12s,box-shadow .12s,transform 60ms;display:inline-flex}.btn:hover,.primary-btn:hover,.secondary-btn:hover,.buy-btn:hover,.choice-btn:hover,.menu-btn:hover,.wave-btn:hover,.skill-btn:hover{border-color:var(--rune);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 14px var(--rune-soft), var(--shadow-1)}.btn:active,.primary-btn:active,.secondary-btn:active,.buy-btn:active,.choice-btn:active,.menu-btn:active,.wave-btn:active,.skill-btn:active{transform:translateY(1px)}.btn:disabled,.primary-btn:disabled,.secondary-btn:disabled,.buy-btn:disabled,.menu-btn:disabled{opacity:.5;cursor:default;border-color:var(--border);box-shadow:none;color:var(--text-mute)}.btn-primary,.primary-btn,.buy-btn,.wave-btn{border-color:var(--rune);color:var(--rune-bright);background:linear-gradient(#6a521f,#4a3a16)}.btn-primary:hover,.primary-btn:hover,.buy-btn:hover,.wave-btn:hover{box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 18px var(--rune-soft), var(--shadow-1)}.btn-danger,.skill-btn.danger{background:linear-gradient(180deg, #5a2a2a, var(--danger-soft));color:#ffd0cc;border-color:#7a3b3b}.btn-danger:hover,.skill-btn.danger:hover{border-color:var(--danger);box-shadow:0 0 14px #c0392b66}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes emberRise{0%{opacity:0;transform:translateY(0)scale(.8)}15%{opacity:.8}to{opacity:0;transform:translateY(-120px)scale(1.1)}}@keyframes fogDrift{0%{transform:translate(-6%)}to{transform:translate(6%)}}@keyframes runeSpin{to{transform:rotate(360deg)}}@keyframes runeSpinR{to{transform:rotate(-360deg)}}@keyframes glowPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes corePulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.25);transform:scale(1.06)}}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes sheenSweep{0%{transform:translate(-140%)skew(-18deg)}60%,to{transform:translate(260%)skew(-18deg)}}@keyframes kenBurns{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.14)translate(-1.5%,-1.5%)}}.anim-rise{transition:opacity .42s,transform .42s}@starting-style{.anim-rise{opacity:0;transform:translateY(14px)}}.anim-fade{animation:.28s both fadeIn}@media (prefers-reduced-motion:reduce){.anim-rise,.screen,.page{transition:none}.anim-fade{animation:none}}:root.reduced-motion .anim-rise,:root.reduced-motion .screen,:root.reduced-motion .page{transition:none}:root.reduced-motion .anim-fade{animation:none}:root.gfx-low .atmo-embers,:root.gfx-low .atmo-fog{display:none}.gicon{justify-content:center;align-items:center;line-height:0;display:inline-flex}.gicon svg{fill:currentColor;width:1em;height:1em;display:block}.tower-btn .tower-icon{color:var(--el-color,var(--rune))}.threat-mark{vertical-align:middle;align-items:center;gap:.35em;display:inline-flex}.threat-mark-tag{box-sizing:content-box;background:var(--danger-soft);color:var(--text);border-radius:.5em;padding:.25em}.threat-mark-struck{opacity:.85;position:relative}.threat-mark-struck:after{content:"";background:var(--text);border-radius:1px;height:.12em;position:absolute;inset:50% -.1em auto;transform:rotate(-35deg)}.gicon.gicon--sm{font-size:1.1em}.gicon.gicon--md{font-size:1.5em}.gicon.gicon--lg{font-size:2.25em}.has-gicon{justify-content:center;align-items:center;gap:.4em;display:inline-flex}.has-gicon>.gicon{flex:none}.gicon-label{min-width:0}.gicon-title{justify-content:center;align-items:center;gap:.4em;display:flex}.gicon-title>.gicon{color:var(--rune);flex:none}.gicon-title>span:last-child{min-width:0}.page-title.gicon-title>.gicon.gicon--sm{font-size:.9em}#backdrop{z-index:1;background:var(--bg-img,none) center / cover no-repeat, radial-gradient(100% 80% at 50% 28%, #e0b24a1a, transparent 55%), radial-gradient(120% 100% at 50% 65%, #1e325a2e, transparent 62%), var(--bg);display:none;position:fixed;inset:0}#backdrop:after{content:"";background:linear-gradient(#06080c80 0%,#0000 20% 74%,#06080c8c 100%),radial-gradient(125% 95% at 50% 45%,#0000 30%,#06080cb8 100%);position:absolute;inset:0}#boot{z-index:100;justify-content:center;align-items:center;gap:var(--s5);background:radial-gradient(900px 700px at 50% 30%, #e0b24a12, transparent 60%), var(--bg);color:var(--text);font-family:var(--font-display,Georgia, serif);flex-direction:column;transition:opacity .5s;display:flex;position:fixed;inset:0}#boot.boot-hide{opacity:0;pointer-events:none}#boot.boot-failed .boot-ring,#boot.boot-failed .boot-bar{display:none}#boot.boot-failed .boot-stage{text-align:center;max-width:40ch}.boot-ring{background:conic-gradient(from 0deg, transparent 0 55%, var(--rune,#e0b24a) 92%, transparent 100%);border-radius:50%;width:88px;height:88px;animation:.9s linear infinite boot-spin,5s linear infinite boot-hue;-webkit-mask:radial-gradient(farthest-side,#0000 58%,#000 60%);mask:radial-gradient(farthest-side,#0000 58%,#000 60%)}.boot-title{font-size:var(--fs-xl,1.6rem);letter-spacing:.12em;text-shadow:0 0 22px #e0b24a59;text-align:center}.boot-stage{font-family:var(--font-body,Georgia, serif);color:var(--text-dim,#b6b3a4);font-size:var(--fs-sm,.875rem);letter-spacing:.04em;min-height:1.2em}.boot-bar{border-radius:var(--r-pill,999px);background:#ffffff14;width:min(280px,60vw);height:6px;overflow:hidden}.boot-fill{border-radius:inherit;background:linear-gradient(90deg, var(--rune,#e0b24a), var(--rune-bright,#ffcf6b));width:0;height:100%;box-shadow:0 0 10px var(--rune,#e0b24a);transition:width .35s}@keyframes boot-spin{to{transform:rotate(360deg)}}@keyframes boot-hue{to{filter:hue-rotate(360deg)}}.tip-screen{text-align:center;align-items:center;gap:var(--s3);width:min(560px,100%)}.tip-kicker{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute)}.tip-ring{width:56px;height:56px;margin:var(--s2) auto}.tip-label{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--rune)}.tip-label--system{color:var(--text-mute);letter-spacing:.1em;opacity:.85}.tip-text{max-width:44ch;min-height:4.5em;font-size:var(--fs-md);color:var(--text);margin:0;line-height:1.6}.tip-bar{width:min(320px,70vw)}.tip-skip{min-width:140px}@keyframes tipProgress{0%{width:0}to{width:100%}}:root{--gizmo-size:84px;--gizmo-inset:var(--s3);--gizmo-lane:calc(var(--gizmo-inset) + var(--gizmo-size) + var(--s2))}#topbar{top:max(var(--s2), env(safe-area-inset-top));left:max(var(--s2), env(safe-area-inset-left));right:max(var(--s2), env(safe-area-inset-right));z-index:7;align-items:center;gap:var(--s2);pointer-events:none;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stats stats""rail actions";display:grid;position:fixed}:root{--chrome-slab:linear-gradient(180deg, var(--surface), var(--bg));--chrome-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1)}#topbar>#hud{grid-area:stats;justify-self:stretch}#topbar>#forecast{grid-area:rail;justify-self:start;min-width:0;max-width:100%}#topbar>#hud-actions{grid-area:actions;justify-self:end;position:relative}@media (min-width:768px){#topbar{grid-template-columns:minmax(0,auto) minmax(160px,1fr) auto;grid-template-areas:"stats rail actions"}#topbar>#hud{justify-self:start}}@media (min-width:768px) and (max-width:1099px){#hud .stat-label{display:none}#hud .stat-pill{gap:var(--s1);padding:4px var(--s1)}#hud .pill-enemies,#hud .pill-towers{display:none}#hud-actions #speed-control{gap:2px}#hud-actions .speed-btn{min-width:32px;height:32px;padding:0 4px}}#hud{min-width:0;padding:var(--s1);background:var(--chrome-slab);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--chrome-shadow);pointer-events:none;flex-wrap:wrap;align-items:center;gap:0;display:none}.stat-pill{align-items:center;gap:var(--s2);padding:6px var(--s4);color:var(--text);font-family:var(--font-body);font-variant-numeric:tabular-nums;line-height:1;display:inline-flex}.stat-pill+.stat-pill{border-left:1px solid var(--border)}.stat-pill .stat-ic{font-size:calc(22px * var(--text-scale));filter:drop-shadow(0 0 5px)}.stat-text{flex-direction:column;gap:3px;display:flex}.stat-val{font-weight:700;font-size:var(--fs-lg)}.pill-essence .stat-val{min-width:5ch}.pill-lives .stat-val{min-width:2ch}.pill-wave .stat-val,.pill-towers .stat-val{min-width:4ch}.pill-enemies .stat-val{min-width:3ch}.stat-label{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.pill-essence .stat-ic{color:var(--essence-teal)}.pill-lives .stat-ic{color:var(--health)}.pill-wave .stat-ic{color:#8fe3ff}.pill-enemies .stat-ic{color:#e0904a}.pill-towers .stat-ic{color:#c79a5b}.pill-towers.pill-full,.pill-full .stat-ic{color:var(--danger)}.hud-modifiers{max-width:100%;padding:4px var(--s3);border-radius:var(--r-md);background:var(--chrome-slab);box-shadow:var(--chrome-shadow);color:var(--rune);font-family:var(--font-body);font-size:var(--fs-sm);grid-column:1/-1;justify-self:start;font-style:italic}.hud-cores-chip{padding:0 var(--s2);border-left:1px solid var(--border);color:var(--gold,#ffd766);font-family:var(--font-display);font-weight:700;font-size:calc(14px * var(--text-scale));font-variant-numeric:tabular-nums;flex:none;align-self:stretch;align-items:center;gap:4px;margin-left:auto;display:none}.hud-cores-chip svg{width:15px;height:15px;color:var(--gold,#ffd766);filter:drop-shadow(0 0 4px)}#hud-actions{align-items:center;gap:var(--s2);pointer-events:auto;display:none}.act-btn,#build-toggle,#pause{width:46px;height:46px;font-size:calc(22px * var(--text-scale));border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:var(--chrome-shadow);color:var(--text);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;display:inline-flex}#hud-actions button:hover{border-color:var(--rune);color:var(--rune-bright)}#build-toggle{border-color:var(--success)}#build-toggle.off{border-color:var(--border-strong);opacity:.6}#speed-control{align-items:center;gap:4px;display:flex}.speed-btn{min-width:40px;height:34px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface));color:var(--text-dim);cursor:pointer;touch-action:manipulation;padding:0 6px;font-weight:700;position:relative}.speed-btn.active{border-color:var(--rune-bright);color:var(--rune-bright);box-shadow:0 0 8px var(--rune-soft)}.speed-btn.active.auto{color:#6fb7ff;border-color:#6fb7ff;box-shadow:0 0 8px #6fb7ff73}.speed-btn.active.auto:after{content:"";background:#6fb7ff;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px;box-shadow:0 0 4px #6fb7ff}.speed-btn.locked{opacity:.5;cursor:not-allowed}.speed-lock{font-size:calc(9px * var(--text-scale));vertical-align:super;margin-left:3px}.speed-lock svg{width:9px;height:9px}#hud-menu.active{border-color:var(--rune);color:var(--rune-bright)}#topbar.menu-open{z-index:31}.hud-menu-scrim{z-index:30;background:0 0;position:fixed;inset:0}.hud-menu-panel{top:calc(100% + var(--s2));z-index:31;gap:var(--s2);width:min(248px, calc(100vw - 2 * var(--s2)));padding:var(--s2);background:var(--chrome-slab,linear-gradient(180deg, var(--surface), var(--bg)));border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2);flex-direction:column;animation:.16s both hud-menu-in;display:flex;position:absolute;right:0}@keyframes hud-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hud-menu-head{justify-content:space-between;align-items:center;gap:var(--s2);padding:2px 2px 2px var(--s2);display:flex}.hud-menu-title{font-family:var(--font-display);font-size:calc(11px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.hud-menu-close{border:1px solid var(--border);border-radius:var(--r-md);width:30px;height:30px;color:var(--text-dim);cursor:pointer;touch-action:manipulation;background:0 0;place-items:center;display:grid}.hud-menu-close:hover{color:var(--text);border-color:var(--border-strong)}.hud-menu-close svg{width:14px;height:14px}.hud-menu-items{gap:var(--s1);flex-direction:column;display:flex}.hud-menu-item{align-items:center;gap:var(--s3);min-height:46px;padding:0 var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);text-align:left;cursor:pointer;touch-action:manipulation;font-weight:700;display:flex}.hud-menu-item:hover{border-color:var(--rune);color:var(--rune-bright)}.hud-menu-item-ic{width:22px;height:22px;color:var(--rune);font-size:calc(18px * var(--text-scale));flex:none;place-items:center;display:grid}.hud-menu-item-ic svg{width:20px;height:20px}@media (pointer:coarse){#hud-actions>#build-toggle,#hud-actions>#pause,#hud-actions>#speed-control{display:none}}@media not (pointer:coarse){#hud-actions>#hud-menu{display:none}.hud-menu-panel,.hud-menu-scrim{display:none!important}}#bottombar{bottom:max(var(--s3), env(safe-area-inset-bottom));left:max(var(--s2), env(safe-area-inset-left));right:max(var(--s2), env(safe-area-inset-right));z-index:5;align-items:center;gap:var(--s2);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed}@media (pointer:fine){#bottombar{left:max(var(--gizmo-lane), env(safe-area-inset-left));right:max(var(--gizmo-lane), env(safe-area-inset-right))}}@media (pointer:coarse){#bottombar{top:calc(max(var(--s2), env(safe-area-inset-top)) + 124px);bottom:auto}}#palette{pointer-events:auto;justify-content:flex-start;gap:var(--s2);max-width:100%;padding:var(--s2) var(--s3);background:linear-gradient(180deg, var(--surface), var(--bg));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;flex-wrap:nowrap;display:flex;overflow:auto hidden}.tower-btn{justify-content:center;align-items:center;gap:var(--s1);min-width:82px;min-height:84px;padding:var(--s2);border:1px solid var(--border-strong);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:13px;flex-direction:column;flex:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.tower-btn:hover{border-color:var(--el-color,var(--rune));transform:translateY(-2px)}.tower-btn .tower-icon{font-size:calc(26px * var(--text-scale));color:var(--el-color,var(--text));filter:drop-shadow(0 0 6px var(--el-color,#fff));line-height:1}.tower-btn .tower-icon svg{width:26px;height:26px}.tower-btn .tower-name{font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));letter-spacing:.05em;text-transform:uppercase}.tower-btn .cost{color:var(--gold);font-weight:700;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.tower-btn .cost-gem{font-size:calc(12px * var(--text-scale));color:var(--essence-teal)}.tower-btn .cost-gem svg{width:12px;height:12px}.tower-btn.selected{border-color:var(--el-color,var(--rune));background:linear-gradient(180deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 16px var(--el-color,var(--rune)), 0 0 0 1px var(--el-color,var(--rune))}.tower-btn.unaffordable{opacity:.4}.tower-btn.unaffordable .cost{color:var(--danger)}#admin-toggle{top:var(--s2);right:var(--s2);width:var(--admin-corner);height:var(--admin-corner);font-size:calc(18px * var(--text-scale));border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);cursor:pointer;opacity:.6;touch-action:manipulation;z-index:20;justify-content:center;align-items:center;display:none;position:fixed}#admin-toggle:hover{opacity:1;border-color:var(--rune)}#admin-toggle.on{opacity:1;border-color:var(--gold);color:var(--gold);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 12px var(--rune-soft)}#camera-gizmo{left:var(--gizmo-inset);bottom:var(--gizmo-inset);width:var(--gizmo-size);height:var(--gizmo-size);border:1px solid var(--border-strong);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;z-index:6;background:radial-gradient(circle at 50% 42%,#e0b24a0f,#0000 60%),radial-gradient(circle,#14171feb,#0a0c10eb);border-radius:50%;justify-content:center;align-items:center;display:none;position:fixed}#camera-gizmo:before{content:"";border:1px dashed var(--border);opacity:.5;border-radius:50%;position:absolute;inset:12px}#camera-gizmo:active{cursor:grabbing;border-color:var(--rune)}.gizmo-knob{background:linear-gradient(180deg, var(--surface-3), var(--surface));border:1px solid var(--rune);width:34px;height:34px;color:var(--rune-bright);font-size:calc(18px * var(--text-scale));box-shadow:0 0 10px var(--rune-soft);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex}@media (pointer:coarse){#camera-gizmo{display:none!important}}#wave-control{pointer-events:auto;max-width:100%}.wave-banner{align-items:center;gap:var(--s3);padding:var(--s2) var(--s2) var(--s2) var(--s3);border:1px solid var(--rune);border-radius:var(--r-pill);box-shadow:inset 0 1px 0 #fff6e01a, 0 6px 24px #0000008c, 0 0 22px var(--rune-soft);background:linear-gradient(#1e1a10f2,#100d08f2);animation:.3s both riseIn;display:flex}.wave-ring{border:2px solid var(--rune);width:44px;height:44px;color:var(--rune-bright);font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;box-shadow:inset 0 0 10px #e0b24a2e, 0 0 12px var(--rune-soft);border-radius:50%;flex:none;place-items:center;animation:1.6s ease-in-out infinite glowPulse;display:grid}.wave-text{padding-right:var(--s2);flex-direction:column;gap:2px;min-width:0;display:flex}.wave-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.wave-flavor{font-style:italic;font-size:var(--fs-sm);color:var(--text-dim)}.wave-flavor.is-spatial{white-space:normal;max-width:min(46ch,42vw);color:var(--text);font-style:normal}.wave-spatial-chip{margin-left:var(--s2);font-size:var(--fs-sm);white-space:nowrap;color:var(--text);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.wave-spatial-chip .wave-spatial-ic{font-size:1em;line-height:1}.wave-spatial-chip.is-killzone{color:#ffb14a;border-color:#ff963c66}.wave-spatial-chip.is-displace{color:#6fb7ff;border-color:#5aa0ff66}.wave-spatial-chip.is-displace[data-band=lava]{color:#ff9a5c;border-color:#ff8a3d73}.wave-spatial-chip.is-displace[data-band=glacier]{color:#a8e8ff;border-color:#a8e8ff73}.wave-spatial-chip.is-displace[data-band=blight]{color:#a6e86a;border-color:#8fe05a73}.wave-spatial-chip.is-displace[data-band=scree]{color:#d3c3a4;border-color:#c4b49273}.wave-spatial-chip-compact{font-size:var(--fs-xs,11px);gap:3px;padding:1px 6px}.wave-btn{min-height:48px;padding:0 var(--s4);white-space:nowrap;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:#2a1f08;cursor:pointer;border:1px solid var(--rune-bright);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--rune-bright), var(--rune));box-shadow:inset 0 1px 0 #fff6e066, 0 0 16px var(--rune-soft);flex-shrink:0;position:relative;overflow:hidden}.wave-btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;animation:3.4s ease-in-out infinite sheenSweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-140%)skew(-18deg)}.hud-toll{align-items:center;gap:var(--s2);max-width:min(560px,100%);padding:8px var(--s4) 8px var(--s3);border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--health) 55%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 34%, var(--surface)), color-mix(in srgb, var(--danger) 14%, var(--bg)));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);text-align:left;line-height:1.35;animation:.3s both riseIn;display:none}.hud-toll .hud-toll-ic{width:20px;height:20px;color:var(--health);filter:drop-shadow(0 0 5px);flex:none}.hud-toll-cost{min-width:2ch;font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--health);text-shadow:0 0 10px color-mix(in srgb, var(--health) 45%, transparent);flex:none}.hud-toll-text{min-width:0}.hud-toll.is-clear{border-color:color-mix(in srgb, var(--success) 60%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--success) 30%, var(--surface)), color-mix(in srgb, var(--success) 12%, var(--bg)))}.hud-toll.is-clear .hud-toll-ic,.hud-toll.is-clear .hud-toll-cost{color:var(--success)}.hud-retool{align-items:center;gap:var(--s2);max-width:min(560px,100%);padding:7px 7px 7px var(--s3);border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--rune) 22%, var(--surface)), color-mix(in srgb, var(--rune) 8%, var(--bg)));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);pointer-events:none;line-height:1.35;animation:.3s both riseIn;display:none}.hud-retool .hud-retool-ic{width:19px;height:19px;color:var(--rune-bright);flex:none}.hud-retool-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.hud-retool-btn{min-height:36px;padding:7px var(--s3);border:1px solid color-mix(in srgb, var(--rune) 70%, var(--border));background:linear-gradient(180deg, var(--rune), #b98c2f);color:#1a1206;font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));white-space:nowrap;cursor:pointer;touch-action:manipulation;pointer-events:auto;border-radius:11px;flex:none;line-height:1.2}.hud-retool-btn:hover:not(:disabled){filter:brightness(1.08)}.hud-retool-btn:disabled{cursor:default;border-color:var(--border);color:var(--text-mute);background:#00000047}.hud-retool.is-poor{border-color:var(--border)}.hud-unranked{align-items:center;gap:var(--s2);max-width:min(560px,100%);padding:7px var(--s4) 7px var(--s3);border-radius:var(--r-lg);border:1px dashed color-mix(in srgb, var(--gold) 62%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--rune) 24%, var(--surface)), color-mix(in srgb, var(--rune) 9%, var(--bg)));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);text-align:left;line-height:1.35;display:none}.hud-unranked .hud-unranked-ic{width:18px;height:18px;color:var(--gold);flex:none}.hud-toll-hit{z-index:8;border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--health) 65%, transparent);box-shadow:var(--shadow-1);color:var(--health);font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;opacity:0;background:linear-gradient(#2e0e0ef5,#180808f5);align-items:center;gap:5px;padding:4px 10px;transition:opacity .18s,transform .18s;display:none;position:fixed;transform:translateY(4px)}.hud-toll-hit.show{opacity:1;transform:translateY(0)}.hud-toll-hit-ic{width:15px;height:15px}.stat-pill.is-toll-hit,.hud-stat.is-toll-hit{border-radius:var(--r-md);background:color-mix(in srgb, var(--danger) 30%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--health) 55%, transparent)}.stat-pill.is-toll-hit .stat-val,.hud-stat.is-toll-hit .hud-stat-num{color:var(--health)}.hud-coach{align-items:center;gap:var(--s3);pointer-events:auto;max-width:min(560px,100%);padding:10px var(--s4);background:var(--chrome-slab,linear-gradient(180deg, var(--surface), var(--bg)));border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.35;animation:.3s both riseIn;display:none}.hud-coach-text{flex:1}.hud-coach-close{border:1px solid var(--border);width:24px;height:24px;color:var(--text-dim);cursor:pointer;font-size:calc(13px * var(--text-scale));background:0 0;border-radius:999px;flex:none;place-items:center;line-height:1;display:grid}.hud-coach-close:hover{color:var(--text);border-color:var(--border-strong)}.hud-voice{max-width:min(520px,100%);padding:10px var(--s4);border:1px solid var(--rune);border-radius:var(--r-lg);box-shadow:var(--shadow-1);color:var(--rune-bright,#ffcf6b);font-family:var(--font-body);font-size:var(--fs-md);text-align:center;opacity:0;pointer-events:none;background:linear-gradient(#18101ef5,#0c0810f5);font-style:italic;line-height:1.5;transition:opacity .5s,transform .5s;display:none;transform:translateY(8px)}.hud-voice.show{opacity:1;transform:translateY(0)}.hud-voice.is-toll{border-color:color-mix(in srgb, var(--health) 60%, var(--border));color:var(--text);background:linear-gradient(#2e0e0ef5,#160808f5);font-style:normal}.hud-objectives{left:max(var(--s3), env(safe-area-inset-left));z-index:6;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);pointer-events:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#14171fe6,#0a0c10e6);flex-direction:column;gap:6px;display:none;position:fixed;top:50%;transform:translateY(-50%)}.hud-objectives-title{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px}.hud-objective{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-dim);display:flex}.hud-objective-star{opacity:.35;width:15px;height:15px;color:var(--text-dim)}.hud-objective.met{color:var(--text)}.hud-objective.met .hud-objective-star{opacity:1;color:var(--gold,#e8c15a)}.hud-objective-label{line-height:1.2}@media (max-width:767px){.wave-banner{align-items:center;gap:var(--s2);max-width:100%;padding:var(--s3);border-radius:var(--r-lg);flex-flow:column}.wave-text{align-items:center;padding-right:0}.wave-title{white-space:normal;text-align:center}.wave-flavor{display:none}.wave-btn{width:100%}.hud-toll{max-width:100%;padding:7px var(--s3);font-size:calc(13px * var(--text-scale));gap:6px}.hud-toll-cost{font-size:var(--fs-md)}.hud-retool{max-width:100%;padding:7px var(--s3) 9px;font-size:calc(13px * var(--text-scale));flex-wrap:wrap;gap:6px}.hud-retool-text{white-space:normal;flex:auto}.hud-retool-btn{text-align:center;flex:1 0 100%;min-height:44px}.hud-unranked{max-width:100%;padding:6px var(--s3);font-size:calc(13px * var(--text-scale));gap:6px}}@media (pointer:fine){#hud-tile-pop{z-index:12;width:min(260px,100vw - 16px);padding:var(--s3);border-radius:var(--r-md);background:var(--chrome-slab);border:1px solid var(--border);border-top-color:var(--border-strong);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2);animation:.16s both hud-menu-in;position:fixed;bottom:auto;left:auto;right:auto}#hud-tile-pop .sheet-handle{display:none}#hud-tile-pop .sheet-title-row{margin-bottom:8px}#hud-tile-pop .hud-tile-line{padding:var(--s3);font-size:calc(15px * var(--text-scale));border:1px solid color-mix(in srgb, var(--tile-color,#ffc24a) 55%, var(--border));background:color-mix(in srgb, var(--tile-color,#ffc24a) 16%, var(--surface));color:color-mix(in srgb, var(--tile-color,#ffc24a) 70%, var(--text));border-radius:11px;font-weight:700;line-height:1.4}#hud-tile-pop .hud-tile-line[data-kind=ley]{--tile-color:#ffc24a}#hud-tile-pop .hud-tile-line[data-kind=resonance]{--tile-color:#5bc8ff}#hud-tile-pop .hud-tile-line[data-kind=attuned]{--tile-color:#b06aff}#hud-tile-pop .hud-tile-line[data-kind=might]{--tile-color:#ff7a1a}#hud-tile-pop .hud-tile-line[data-kind=sight]{--tile-color:#4a6bff}#hud-tile-pop .hud-tile-line[data-kind=hazard]{--tile-color:#cf5a4a}}#forecast{background:var(--chrome-slab);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);min-width:0;box-shadow:var(--chrome-shadow);pointer-events:auto;-webkit-user-select:none;user-select:none;align-items:center;padding:4px 6px;display:none}.forecast-track{-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:thin;flex:0 auto;gap:3px;min-width:0;display:flex;overflow:auto hidden}.forecast-track::-webkit-scrollbar{height:5px}.forecast-track::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.forecast-cell{border-radius:var(--r-md);width:40px;min-height:46px;color:var(--text-mute);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:3px 2px;transition:border-color .12s,color .12s,background .12s;display:flex}.forecast-cell:hover{border-color:var(--border-strong);color:var(--text)}.forecast-num{font-family:var(--font-display);font-size:calc(11px * var(--text-scale));letter-spacing:.04em;font-variant-numeric:tabular-nums;color:inherit;font-weight:700}.forecast-glyph{place-items:center;width:22px;height:22px;display:grid;position:relative}.forecast-glyph svg{width:18px;height:18px}.forecast-dot{opacity:.35;background:currentColor;border-radius:50%;width:6px;height:6px}.forecast-cell.is-event{color:var(--text)}.forecast-cell.is-event .forecast-glyph{color:var(--rune-bright);filter:drop-shadow(0 0 4px var(--rune-soft))}.forecast-mark{border-style:solid;border-width:0 10px 10px 0;border-color:transparent var(--danger) transparent transparent;border-top-right-radius:3px;width:0;height:0;position:absolute;top:-3px;right:-5px}.forecast-cell{position:relative}.forecast-toll{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--health) 70%, transparent);color:#ffd7d7;min-width:16px;height:16px;font-family:var(--font-display);font-size:calc(10px * var(--text-scale));font-variant-numeric:tabular-nums;box-shadow:0 0 8px color-mix(in srgb, var(--health) 45%, transparent);background:linear-gradient(#5a1616,#340c0c);place-items:center;padding:0 3px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:1px;left:1px}.forecast-toll.is-clear{border-color:color-mix(in srgb, var(--success) 70%, transparent);color:#cdf3d4;box-shadow:0 0 8px color-mix(in srgb, var(--success) 40%, transparent);background:linear-gradient(#1d4a26,#0f2a15)}.forecast-pop-toll{border-top:1px solid var(--border);color:color-mix(in srgb, var(--health) 78%, var(--text));margin-top:5px;padding-top:5px;font-weight:700}.forecast-pop-toll.is-clear{color:color-mix(in srgb, var(--success) 78%, var(--text))}.forecast-cell.is-current{border-color:var(--rune);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 10px var(--rune-soft)}.forecast-cell.is-current .forecast-num{color:var(--rune-bright)}.forecast-cell.is-open{border-color:var(--rune-bright)}.forecast-cell.is-toll:not(.is-current){border-color:color-mix(in srgb, var(--health) 55%, var(--border));background:color-mix(in srgb, var(--danger) 18%, transparent)}.forecast-cell.is-toll-clear:not(.is-current){border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.forecast-pop{z-index:12;min-width:168px;max-width:248px;padding:var(--s3);background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2);color:var(--text);font-family:var(--font-body);position:fixed}.forecast-pop-title{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);margin-bottom:5px;font-weight:700}.forecast-pop-name{font-weight:700;font-size:var(--fs-md);color:var(--rune-bright);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.forecast-pop-line{font-size:var(--fs-sm);color:var(--text-dim);line-height:1.4}.forecast-pop-answer{color:var(--text);margin-top:3px}@media (max-width:767px){#forecast{padding:3px 5px}.forecast-track{gap:2px}.forecast-cell{gap:2px;width:28px;min-height:34px;padding:2px 1px}.forecast-num{font-size:calc(9px * var(--text-scale))}.forecast-glyph{width:16px;height:16px}.forecast-glyph svg{width:13px;height:13px}.forecast-mark{border-width:0 8px 8px 0;top:-3px;right:-4px}.forecast-dot{width:5px;height:5px}.forecast-toll{min-width:13px;height:13px;font-size:calc(9px * var(--text-scale));padding:0 2px;bottom:0;left:0}}#tower-panel{top:118px;right:var(--s2);gap:var(--s3);min-width:min(calc(240px * var(--text-scale)), calc(100vw - 2 * var(--s2)));width:max-content;max-width:min(calc(260px * var(--text-scale)), calc(100vw - 2 * var(--s2)));max-height:calc(100dvh - 134px);padding:var(--s4);background:var(--panel-bg);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2), 0 0 0 1px #0000004d;color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);z-index:6;flex-direction:column;line-height:1.45;animation:.25s both riseIn;display:none;position:fixed;overflow-y:auto}.panel-header{align-items:center;gap:var(--s3);display:flex}.panel-el-icon{width:44px;height:44px;font-size:calc(24px * var(--text-scale));color:var(--el-color,var(--rune));border:1px solid var(--el-color,var(--border-strong));border-radius:var(--r-md);background:radial-gradient(circle at 50% 40%, #ffffff0f, transparent 70%), var(--surface-3);box-shadow:0 0 12px color-mix(in srgb, var(--el-color,#fff) 30%, transparent);flex:none;place-items:center;display:grid}.panel-el-icon svg{width:24px;height:24px}.panel-titlebox{flex:1;min-width:0}.panel-title{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--text);margin:0}.panel-subtitle{color:var(--text-mute);font-size:var(--fs-xs)}.panel-close{width:34px;height:34px;font-size:calc(14px * var(--text-scale));color:var(--text-dim);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-3);border-radius:50%;flex:none;place-items:center;display:grid}.panel-close:hover{color:var(--text);border-color:var(--rune)}.panel-close svg{width:14px;height:14px}.panel-statrow{grid-template-columns:repeat(auto-fit, minmax(calc(86px * var(--text-scale)), 1fr));gap:var(--s2);display:grid}.panel-statpill{min-width:0;padding:var(--s2) 4px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 1px 0 var(--carve-hi);flex-direction:column;align-items:center;gap:3px;display:flex}.panel-stat-ic{color:var(--rune);font-size:var(--fs-md)}.panel-statval{max-width:100%;font-weight:700;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap}.panel-statval[data-len=long]{font-size:var(--fs-md)}.panel-statval[data-len=xlong]{font-size:calc(14px * var(--text-scale));letter-spacing:-.01em}.panel-statlabel{max-width:100%;font-family:var(--font-display);font-size:calc(11px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);overflow-wrap:anywhere;font-weight:700}.panel-effects{padding:var(--s2) var(--s3);font-size:var(--fs-sm);border:1px solid color-mix(in srgb, var(--el-color,#fff) 40%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--el-color,#000) 12%, var(--surface));line-height:1.35}.panel-fx-glyphs{vertical-align:-.12em;color:var(--el-color,var(--rune));gap:.25em;margin-right:.45em;display:inline-flex}.panel-fx-base{color:var(--text);font-weight:600}.panel-fx-arrow{color:var(--text-mute)}.panel-fx-live{color:var(--rune-bright);font-weight:700}.panel-codex-link{align-self:flex-start}.panel-tile{padding:var(--s1) var(--s3);font-size:var(--fs-sm);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--tile-color,#ffc24a) 55%, var(--border));background:color-mix(in srgb, var(--tile-color,#ffc24a) 16%, var(--surface));color:color-mix(in srgb, var(--tile-color,#ffc24a) 70%, var(--text));font-weight:700}.panel-tile.has-gicon{justify-content:flex-start;display:flex}.panel-tile[data-kind=ley]{--tile-color:#ffc24a}.panel-tile[data-kind=resonance]{--tile-color:#5bc8ff}.panel-tile[data-kind=attuned]{--tile-color:#b06aff}.panel-tile[data-kind=might]{--tile-color:#ff7a1a}.panel-tile[data-kind=sight]{--tile-color:#4a6bff}.panel-tile[data-kind=hazard]{--tile-color:#cf5a4a}.panel-kicker{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);margin-top:2px;font-weight:700}.panel-upgrade{align-items:center;gap:var(--s2);width:100%;min-height:var(--touch);padding:0 var(--s3);text-align:left;color:var(--text);font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);font-weight:700;transition:border-color .12s,box-shadow .12s;display:flex}.panel-upgrade:hover:not(:disabled){border-color:var(--rune);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 10px var(--rune-soft)}.panel-upgrade:disabled{opacity:.55;cursor:not-allowed}.panel-upgrade-ic{font-size:calc(16px * var(--text-scale));color:var(--rune)}.panel-upgrade-name{flex:1}.panel-upgrade-cost{color:var(--gold);font-variant-numeric:tabular-nums}.panel-upgrade.is-repeat{border-color:var(--rune)}.target-row{gap:var(--s1);flex-wrap:wrap;display:flex}.target-opt{min-height:40px;padding:0 var(--s2);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));color:var(--text-dim);font-family:var(--font-body);font-size:var(--fs-xs);cursor:pointer;touch-action:manipulation;flex:1 0 auto;font-weight:700}.target-opt.selected{border-color:var(--rune);color:var(--rune-bright);background:var(--rune-soft);box-shadow:0 0 8px var(--rune-soft)}.panel-buttons{gap:var(--s2);display:flex}.panel-buttons .secondary-btn{padding:0 var(--s2);flex:1}.panel-sell{color:var(--gold)}.panel-sell .gicon,.panel-upgrade-cost .gicon{color:var(--essence)}.panel-move{color:var(--rune-bright,#9fd8ff)}.panel-reforge-row{display:flex}.panel-reforge{min-height:var(--touch);padding:0 var(--s2);color:var(--rune-bright);flex:1}.panel-grab{display:none}.upgrades{display:contents}@media (pointer:coarse){#tower-panel{gap:var(--s3);width:auto;max-width:none;max-height:85dvh;padding:10px var(--s4) calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--surface-2), var(--bg));box-shadow:0 -14px 40px #0009, inset 0 1px 0 var(--carve-hi);z-index:11;border-bottom:none;border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) both sheetUp;inset:auto 0 0;overflow-y:auto}.panel-grab{display:block}#tower-panel.tp-armed{pointer-events:none}.panel-el-icon{width:50px;height:50px;font-size:calc(26px * var(--text-scale));border-radius:13px}.panel-el-icon svg{width:26px;height:26px}.panel-close{width:var(--touch);height:var(--touch);border-radius:11px}.panel-statpill{background:#00000042;border-radius:11px;justify-content:center;min-height:56px}.upgrades{gap:var(--s2);display:flex}.panel-upgrade{border-color:var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));border-radius:13px;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-height:64px;padding:11px 12px}.panel-upgrade-name{font-size:calc(13px * var(--text-scale));flex:none}.panel-upgrade.is-active{border-color:var(--rune);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 12px var(--rune-soft);background:#e0b24a1a}.target-opt,.panel-buttons .secondary-btn{min-height:var(--touch)}}@media (pointer:coarse) and (min-width:620px){#tower-panel{width:min(560px,100vw - 32px);max-width:none;left:16px;right:auto}}@media (pointer:coarse) and (max-width:540px){#tower-panel .panel-statlabel{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){#tower-panel{animation:none!important}}:root.reduced-motion #tower-panel{animation:none!important}@keyframes sheetUp{0%{transform:translateY(102%)}to{transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.hud-sheet-scrim{z-index:10;cursor:pointer;background:linear-gradient(#0000 40%,#05070a59);border:none;padding:0;display:none;position:fixed;inset:0}.sheet-handle{border-radius:var(--r-pill);background:var(--border-strong);width:40px;height:4px;margin:2px auto 12px}.hud-sheet{z-index:11;padding:10px var(--s4) calc(26px + env(safe-area-inset-bottom));border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--bg));box-shadow:0 -14px 40px #0009, inset 0 1px 0 var(--carve-hi);color:var(--text);font-family:var(--font-body);border-bottom:none;border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) both sheetUp;display:none;position:fixed;bottom:0;left:0;right:0}.sheet-title-row{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:14px;display:flex}.sheet-title{font-family:var(--font-display);font-weight:700;font-size:calc(16px * var(--text-scale));color:#fff;align-items:center;gap:9px;display:flex}.sheet-title .gicon{color:var(--rune)}.sheet-purse{font-family:var(--font-display);font-weight:700;font-size:calc(14px * var(--text-scale));color:var(--gold);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.sheet-purse .gicon{color:var(--essence-teal)}.sheet-title-right{align-items:center;gap:12px;display:flex}.sheet-towers{font-family:var(--font-display);font-weight:700;font-size:calc(14px * var(--text-scale));color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.sheet-towers .gicon{color:var(--rune)}.sheet-close{width:var(--touch);height:var(--touch);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-dim);cursor:pointer;font-size:calc(18px * var(--text-scale));touch-action:manipulation;border-radius:11px;flex:none;place-items:center;display:grid}.sheet-close:hover{border-color:var(--rune);color:var(--rune-bright)}.sheet-close svg{width:18px;height:18px}@media (pointer:coarse){#hud.hud-coarse{gap:var(--s2);box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:nowrap;padding:0}#hud.hud-coarse>.stat-pill,#topbar>.hud-modifiers{display:none}#bottombar>.hud-modifiers{text-align:left;align-self:start;max-width:min(560px,100%)}.hud-stats{border:1px solid var(--border);background:var(--chrome-slab);min-width:0;height:46px;box-shadow:inset 0 1px 0 var(--carve-hi), 0 5px 16px #00000080;pointer-events:auto;border-radius:14px;flex:1;align-items:center;gap:4px;padding:0 6px;display:flex}.hud-stat{flex:auto;align-items:center;gap:6px;min-width:0;padding:0 6px;display:flex}.hud-stat.essence{flex:1.6 auto}.hud-stat.lives{flex:0 auto}.hud-stat.wave{flex:1.15 auto;gap:8px}.hud-stat .gicon{line-height:0;font-size:calc(18px * var(--text-scale));flex:none}.hud-stat.essence .gicon{color:var(--essence-teal);filter:drop-shadow(0 0 5px)}.hud-stat.lives .gicon{color:var(--health);filter:drop-shadow(0 0 5px)}.hud-stat-text{flex-direction:column;min-width:0;line-height:1;display:flex}.hud-stat-num{font-family:var(--font-display);font-weight:700;font-size:calc(17px * var(--text-scale));color:#fff;font-variant-numeric:tabular-nums}.hud-stat-num.small{font-size:calc(14px * var(--text-scale))}.hud-stat.essence .hud-stat-num{min-width:5ch}.hud-stat.lives .hud-stat-num{min-width:2ch}.hud-stat.wave .hud-stat-num{min-width:3ch}.hud-stat-num .frac{color:var(--text-mute);font-size:calc(12px * var(--text-scale))}.hud-stat-lbl{font-size:calc(8px * var(--text-scale));letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap}.hud-stat-divider{background:var(--border);flex:none;align-self:stretch;width:1px;margin:9px 0}.hud-wave-ring{flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative}.hud-wave-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.hud-wave-ring .hud-wave-n{font-family:var(--font-display);font-weight:700;font-size:calc(11px * var(--text-scale));color:var(--rune-bright);font-variant-numeric:tabular-nums}.btn-icon{border:1px solid var(--border-strong);background:linear-gradient(180deg, var(--surface-3), var(--surface));width:46px;height:46px;box-shadow:inset 0 1px 0 var(--carve-hi), 0 3px 10px #00000080;color:var(--text);cursor:pointer;pointer-events:auto;touch-action:manipulation;border-radius:13px;flex:none;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.btn-icon:hover{border-color:var(--rune);color:var(--rune-bright)}.btn-icon.speed{color:var(--rune-bright);font-family:var(--font-display);font-weight:700;font-size:calc(15px * var(--text-scale));font-variant-numeric:tabular-nums;position:relative}.btn-icon.speed.auto{color:#6fb7ff;box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 8px #6fb7ff73;border-color:#6fb7ff}.btn-icon.speed.auto:after{content:"";background:#6fb7ff;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px;box-shadow:0 0 4px #6fb7ff}.btn-icon.pause{font-size:calc(18px * var(--text-scale));line-height:0}.btn-icon.pause svg{width:18px;height:18px}.hud-star-chip{border:none;border-left:1px solid var(--border);min-width:44px;color:var(--text-dim);font-family:var(--font-display);font-weight:700;font-size:calc(12px * var(--text-scale));font-variant-numeric:tabular-nums;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;align-self:stretch;align-items:center;gap:4px;padding:0 8px;display:flex}.hud-star-chip .gicon{line-height:0;font-size:calc(14px * var(--text-scale));color:var(--gold)}#combat{display:none}.wave-toast{bottom:calc(96px + env(safe-area-inset-bottom));z-index:6;border:1px solid var(--rune);max-width:calc(100vw - 24px);box-shadow:0 0 22px var(--rune-soft), 0 8px 22px #0000008c;white-space:nowrap;background:linear-gradient(#2e2410f0,#161108f0);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;padding:8px 14px;animation:.4s both toastIn;display:none;position:fixed;left:50%;transform:translate(-50%)}.wave-toast .gicon{color:var(--rune-bright);font-size:calc(16px * var(--text-scale));line-height:0}.wave-toast span{font-family:var(--font-display);font-weight:700;font-size:calc(15px * var(--text-scale));color:var(--rune-bright)}.bottom-row{bottom:calc(22px + env(safe-area-inset-bottom));z-index:7;justify-content:flex-start;align-items:center;gap:12px;display:flex;position:fixed;left:16px;right:16px}.bottom-right{flex:1;justify-content:flex-end;align-items:center;min-width:0;display:flex}.fab-build,.fab-call{height:56px;font-family:var(--font-display);cursor:pointer;touch-action:manipulation;border-radius:16px;align-items:center;gap:10px;display:flex}.fab-build{border:1px solid var(--border-strong);background:linear-gradient(180deg, var(--surface-3), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), 0 8px 22px #0000008c;color:var(--text);font-weight:700;font-size:calc(15px * var(--text-scale));padding:0 22px 0 16px;transition:border-color .15s,color .15s}.fab-build:hover{border-color:var(--rune);color:var(--rune-bright)}.fab-build .fab-badge{border:1px solid var(--success);width:34px;height:34px;color:var(--success);font-size:calc(19px * var(--text-scale));background:#5bb06a24;border-radius:10px;justify-content:center;align-items:center;line-height:0;display:flex}#combat.is-placing .fab-build{justify-content:center;gap:0;width:56px;padding:0}#combat.is-placing .fab-label{display:none}.fab-call{border:1px solid var(--rune-bright);box-shadow:0 0 24px var(--rune-soft), inset 0 1px 0 #fff6e02e, 0 8px 22px #0000008c;color:var(--rune-bright);font-weight:800;font-size:calc(15px * var(--text-scale));background:linear-gradient(#7a5f24,#3f3113);gap:8px;padding:0 22px;transition:filter .15s}.fab-call:hover{filter:brightness(1.08)}.fab-call .fab-bonus{color:var(--gold);font-size:calc(13px * var(--text-scale));align-items:center;font-weight:800;display:inline-flex}.placing{border:1px solid var(--rune);min-width:0;height:56px;box-shadow:0 0 22px var(--rune-soft), 0 8px 22px #0009;background:linear-gradient(#2e2410f5,#161108f5);border-radius:16px;flex:1;align-items:center;gap:10px;padding:0 8px 0 14px;display:none}.placing .placing-glyph{color:var(--place-hex,var(--rune));line-height:0;font-size:calc(22px * var(--text-scale));filter:drop-shadow(0 0 6px);flex:none}.placing .placing-txt{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.placing .placing-name{font-family:var(--font-display);font-weight:700;font-size:calc(14px * var(--text-scale));color:var(--rune-bright);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.placing .placing-hint{font-size:calc(12px * var(--text-scale));color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.placing-actions{flex:none;gap:8px;display:flex}.placing .placing-btn{border:1px solid var(--border-strong);background:var(--surface-2);width:44px;height:44px;color:var(--text-dim);cursor:pointer;font-size:calc(18px * var(--text-scale));touch-action:manipulation;border-radius:12px;flex:none;place-items:center;line-height:0;display:grid}.placing .placing-btn svg{width:18px;height:18px}.placing .placing-cancel:hover{border-color:var(--danger);color:#ff8a7a}.placing .placing-confirm{border-color:var(--success);color:var(--success);background:#5bb06a24}.placing .placing-confirm:hover{filter:brightness(1.1)}.conduit-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.conduit-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));min-height:44px;box-shadow:inset 0 1px 0 var(--carve-hi);cursor:pointer;touch-action:manipulation;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;transition:transform .14s,border-color .14s;display:flex;position:relative}.conduit-card:hover{border-color:var(--el,var(--rune));transform:translateY(-2px)}.conduit-card.locked{opacity:.72;cursor:default}.conduit-icon{border:1px solid color-mix(in srgb, var(--el,var(--rune)) 40%, transparent);width:46px;height:46px;color:var(--el,var(--rune));filter:drop-shadow(0 0 7px color-mix(in srgb, var(--el,var(--rune)) 53%, transparent));font-size:calc(24px * var(--text-scale));background:#00000057;border-radius:12px;justify-content:center;align-items:center;line-height:0;display:flex;position:relative}.conduit-icon svg{width:24px;height:24px}.conduit-card.locked .conduit-icon{border-color:var(--border);filter:none}.conduit-name{font-family:var(--font-display);font-weight:700;font-size:calc(12px * var(--text-scale));color:var(--text);text-align:center;line-height:1.15}.conduit-cost{font-size:calc(12px * var(--text-scale));font-variant-numeric:tabular-nums;color:var(--gold);align-items:center;gap:4px;font-weight:700;display:flex}.conduit-cost.unaffordable{color:var(--text-mute)}.conduit-cost .gicon{color:var(--essence-teal)}.conduit-lock{color:var(--text-mute);font-size:calc(18px * var(--text-scale));background:#05070a9e;border-radius:14px;place-items:center;line-height:0;display:grid;position:absolute;inset:0}.conduit-lock svg{width:18px;height:18px}.hud-objectives{display:none!important}.hud-prep-stars{left:16px;right:16px;bottom:calc(90px + env(safe-area-inset-bottom));z-index:6;max-width:calc(100vw - 32px);padding:10px var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-2), var(--bg));box-shadow:var(--shadow-1);pointer-events:none;flex-direction:column;gap:6px;display:none;position:fixed}.hud-prep-title{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.hud-prep-row{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-dim);display:flex}.hud-prep-row .gicon{opacity:.35;color:var(--text-dim)}.hud-prep-row.met{color:var(--text)}.hud-prep-row.met .gicon{opacity:1;color:var(--gold)}.hud-popover .hud-pop-rows{gap:var(--s2);flex-direction:column;display:flex}.hud-pop-row{align-items:center;gap:var(--s2);padding:10px var(--s3);border:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-dim);background:#00000042;border-radius:11px;display:flex}.hud-pop-row .gicon{opacity:.4;color:var(--text-dim);flex:none}.hud-pop-row.met{color:var(--text);border-color:color-mix(in srgb, var(--gold) 40%, var(--border))}.hud-pop-row.met .gicon{opacity:1;color:var(--gold)}.hud-tile-line{padding:var(--s3);font-size:var(--fs-md);border:1px solid color-mix(in srgb, var(--tile-color,#ffc24a) 55%, var(--border));background:color-mix(in srgb, var(--tile-color,#ffc24a) 16%, var(--surface));color:color-mix(in srgb, var(--tile-color,#ffc24a) 70%, var(--text));border-radius:11px;font-weight:700}.hud-tile-line[data-kind=ley]{--tile-color:#ffc24a}.hud-tile-line[data-kind=resonance]{--tile-color:#5bc8ff}.hud-tile-line[data-kind=attuned]{--tile-color:#b06aff}.hud-tile-line[data-kind=might]{--tile-color:#ff7a1a}.hud-tile-line[data-kind=sight]{--tile-color:#4a6bff}.hud-tile-line[data-kind=hazard]{--tile-color:#cf5a4a}}@media (pointer:coarse) and (max-width:767px){#bottombar>.hud-modifiers{max-width:100%}}@media (pointer:coarse) and (max-width:540px){.hud-stat{gap:5px;padding:0 4px}.hud-stat-lbl{display:none}.hud-star-chip{min-width:0;font-size:calc(11px * var(--text-scale));padding:0 6px}}@media (pointer:coarse) and (min-width:620px){.hud-stats{flex:0 auto}.placing{flex:0 auto;max-width:460px}#build-sheet,.hud-popover{width:min(560px,100vw - 32px);max-width:none;left:16px;right:auto}}@media (prefers-reduced-motion:reduce){.hud-sheet,.wave-toast{animation:none!important}}:root.reduced-motion .hud-sheet,:root.reduced-motion .wave-toast{animation:none!important}.rf-scrim{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05070a99;place-items:center;animation:.16s both rfFade;display:grid;position:fixed;inset:0}.rf-sheet{gap:var(--s3);width:min(440px,100vw - 32px);max-height:82vh;padding:var(--s3) var(--s4) var(--s4);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:0 18px 50px #0009, inset 0 1px 0 var(--carve-hi);border-radius:18px;flex-direction:column;animation:.2s cubic-bezier(.2,.8,.2,1) both rfRise;display:flex;overflow-y:auto}.rf-handle{display:none}.rf-header{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.rf-title{font-family:var(--font-display);font-weight:700;font-size:calc(16px * var(--text-scale));color:var(--rune-bright);margin:0}.rf-close{border:1px solid var(--border);width:34px;height:34px;color:var(--text-mute);cursor:pointer;background:#0000003d;border-radius:10px;place-items:center;line-height:0;display:grid}.rf-close:hover{color:var(--text);border-color:var(--rune)}.rf-close svg{width:15px;height:15px}.rf-sub{font-size:calc(13px * var(--text-scale));color:var(--text-mute)}.rf-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.rf-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));min-height:44px;box-shadow:inset 0 1px 0 var(--carve-hi);cursor:pointer;touch-action:manipulation;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;transition:transform .14s,border-color .14s;display:flex;position:relative}.rf-card:hover{border-color:var(--el,var(--rune));transform:translateY(-2px)}.rf-icon{border:1px solid color-mix(in srgb, var(--el,var(--rune)) 40%, transparent);width:46px;height:46px;color:var(--el,var(--rune));filter:drop-shadow(0 0 7px color-mix(in srgb, var(--el,var(--rune)) 53%, transparent));font-size:calc(24px * var(--text-scale));background:#00000057;border-radius:12px;justify-content:center;align-items:center;line-height:0;display:flex}.rf-icon svg{width:24px;height:24px}.rf-name{font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));color:var(--text);text-align:center;line-height:1.15}.rf-swap{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.rf-chips{flex-wrap:wrap;gap:6px;display:flex}.rf-swap-arrow{color:var(--text-mute);font-size:calc(15px * var(--text-scale));flex:none;line-height:1}.rf-to .rf-chip{color:var(--text);background:#00000057}.rf-chip{border:1px solid color-mix(in srgb, var(--el,var(--border)) 45%, var(--border));color:var(--text-dim);font-size:calc(13px * var(--text-scale));white-space:nowrap;background:#00000042;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 6px;line-height:1.3;display:inline-flex}.rf-chip svg{width:15px;height:15px;color:var(--el,var(--rune));flex:none}.rf-mix{width:100%;min-height:44px;padding:10px var(--s3);border:1px solid color-mix(in srgb, var(--rune) 45%, var(--border));background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:14px;flex-direction:column;flex:none;align-items:flex-start;gap:3px;display:flex}.rf-mix:hover{border-color:var(--rune)}.rf-mix.is-picked{border-color:var(--rune);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 0 2px color-mix(in srgb, var(--rune) 55%, transparent)}.rf-mix-title{font-family:var(--font-display);font-weight:700;font-size:calc(14px * var(--text-scale));color:var(--rune-bright)}.rf-mix-why{font-family:var(--font-body);font-size:calc(13px * var(--text-scale));color:var(--text-dim);line-height:1.35}.rf-kicker{font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.04em;text-transform:uppercase;color:var(--text-mute)}.rf-card.is-answer{border-color:color-mix(in srgb, var(--success) 55%, var(--border))}.rf-badge{border:1px solid color-mix(in srgb, var(--success) 70%, var(--border));background:linear-gradient(180deg, var(--success-soft), var(--surface));color:var(--text);font-family:var(--font-body);font-size:calc(13px * var(--text-scale));white-space:nowrap;pointer-events:none;border-radius:999px;padding:1px 7px;line-height:1.4;position:absolute;top:-7px;right:-4px}.rf-card.is-picked{border-color:var(--el,var(--rune));background:linear-gradient(180deg, var(--surface-3), var(--surface-2));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 0 2px color-mix(in srgb, var(--el,var(--rune)) 60%, transparent)}.rf-note{font-size:calc(13px * var(--text-scale));color:var(--text-mute);line-height:1.35}.rf-bar{z-index:1;align-items:stretch;gap:var(--s2);padding-top:var(--s3);background:var(--surface);margin-top:2px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 14px -8px #000000b3}.rf-cancel,.rf-confirm{min-height:44px;padding:10px var(--s3);font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));cursor:pointer;touch-action:manipulation;border-radius:12px;line-height:1.25}.rf-cancel{border:1px solid var(--border);color:var(--text-mute);background:#0000003d;flex:none}.rf-cancel:hover{color:var(--text);border-color:var(--border-strong)}.rf-confirm{border:1px solid color-mix(in srgb, var(--rune) 70%, var(--border));background:linear-gradient(180deg, var(--rune), #b98c2f);color:#1a1206;text-align:center;flex:auto;min-width:0}.rf-confirm:hover:not(:disabled){filter:brightness(1.08)}.rf-confirm:disabled{cursor:default;border-color:var(--border);color:var(--text-mute);background:#0000003d}.rf-confirm.is-poor:disabled{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));color:color-mix(in srgb, var(--health) 80%, var(--text-mute))}@keyframes rfFade{0%{opacity:0}}@keyframes rfRise{0%{opacity:0;transform:translateY(12px)}}@media (pointer:coarse){.rf-scrim{place-items:end stretch}.rf-sheet{width:auto;max-width:none;max-height:85dvh;padding:10px var(--s4) calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) both rfSheetUp}.rf-sheet.is-bulk{padding-bottom:0}.rf-sheet.is-bulk .rf-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.rf-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:2px auto 4px;display:block}}@media (pointer:coarse) and (min-width:620px){.rf-scrim{place-items:end start}.rf-sheet{width:min(560px,100vw - 32px);margin-left:16px}}@keyframes rfSheetUp{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.rf-scrim,.rf-sheet{animation:none!important}}:root.reduced-motion .rf-scrim,:root.reduced-motion .rf-sheet{animation:none!important}#overlay{z-index:10;background:radial-gradient(900px 700px at 50% 0%, #e0b24a0f, transparent 55%), var(--scrim);padding:max(var(--s5), env(safe-area-inset-top)) max(var(--s5), env(safe-area-inset-right)) max(var(--s5), env(safe-area-inset-bottom)) max(var(--s5), env(safe-area-inset-left));overscroll-behavior:contain;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}#overlay.page-overlay:has(>.page){justify-content:flex-start;align-items:stretch;padding:0;overflow:hidden}:is(#overlay.page-overlay:has(.profile-screen),#overlay.page-overlay:has(.public-profile-screen)){background:#050609f0}.page{flex-direction:column;width:100%;height:100%;min-height:0;transition:opacity .34s,transform .34s;display:flex}@starting-style{.page{opacity:0;transform:translateY(14px)}}.page-header{z-index:2;border-bottom:1px solid var(--border-strong);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 94%, transparent), color-mix(in srgb, var(--surface) 84%, transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2);flex:none;position:relative}.page-header-inner{min-height:84px;padding:var(--s3) clamp(var(--s4), 4vw, 40px);justify-content:center;align-items:center;gap:var(--s4);display:flex;position:relative}.page-back{left:clamp(var(--s4), 4vw, 40px);min-height:40px;padding:0 var(--s4);color:var(--text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);align-items:center;gap:6px;font-weight:700;transition:transform .15s,border-color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.page-back:hover{border-color:var(--border-strong);transform:translateY(-50%)translate(-3px)}.page-back-chevron{font-size:1.2em;line-height:1}.page-titlebox{text-align:center;flex-direction:column;align-items:center;gap:3px;display:flex}.page-kicker{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.24em;text-transform:uppercase;color:var(--rune)}.page-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);letter-spacing:.06em;text-transform:uppercase;color:var(--text);text-shadow:0 0 18px var(--rune-soft);margin:0;line-height:1.05}.page-header-right{right:clamp(var(--s4), 4vw, 40px);justify-content:flex-end;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.page-header-right:empty{display:none}.page-body{overscroll-behavior:contain;min-height:0;padding:clamp(var(--s5), 4vh, var(--s6)) var(--s5) 72px;flex:auto;overflow-y:auto}.page-body.fill{padding:0;overflow:hidden}.page-body-inner{gap:var(--s4);flex-direction:column;width:min(620px,100%);margin:0 auto;display:flex}.page-body-inner.wide{width:min(980px,100%)}.page-body.fill .page-body-inner{gap:0;width:100%;height:100%;margin:0}@media (max-width:1100px){.page-header-inner{min-height:0;padding:var(--s3) var(--s4);flex-wrap:wrap;justify-content:space-between}.page-back,.page-header-right{position:static;transform:none}.page-header-right{margin-right:var(--admin-corner)}.page-back:hover{transform:translate(-3px)}.page-titlebox{text-align:left;order:3;align-items:flex-start;width:100%}}@media (max-width:1100px) and (min-width:681px) and ((max-width:720px) or (max-height:500px)){.page-header-inner{min-height:84px;padding:var(--s3) clamp(var(--s4), 4vw, 40px);flex-wrap:nowrap;justify-content:center}.page-back,.page-header-right{position:absolute;transform:translateY(-50%)}.page-header-right{margin-right:0}.page-back:hover{transform:translateY(-50%)translate(-3px)}.page-titlebox{text-align:center;order:0;align-items:center;width:auto}}.screen{width:min(560px,100%);max-height:calc(100dvh - 2 * var(--s5));overscroll-behavior:contain;gap:var(--s4);--screen-pad:var(--s5);padding:var(--screen-pad);background:linear-gradient(180deg, #e0b24a0d, transparent 120px), var(--panel-bg);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);color:var(--text);font-size:var(--fs-md);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-2);flex-direction:column;margin:auto;line-height:1.55;transition:opacity .38s,transform .38s;display:flex;overflow-y:auto}@starting-style{.screen{opacity:0;transform:translateY(14px)}}.screen h1{font-size:var(--fs-xl);text-align:center;text-shadow:0 0 18px var(--rune-soft);margin:0}.result-win{color:var(--rune-bright);text-shadow:0 0 24px var(--rune-soft)}.result-lose{color:var(--danger)}.result-emblem{font-size:calc(21px * var(--text-scale));line-height:0}.result-emblem.result-win{filter:drop-shadow(0 0 12px var(--rune-soft))}.pause-screen{text-align:center;align-items:stretch;gap:var(--s4);width:min(400px,100%)}.pause-kicker{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.26em;text-transform:uppercase;color:var(--rune);font-weight:700}.pause-title{font-size:var(--fs-2xl);letter-spacing:.06em;margin:0}.pause-screen .menu-buttons{width:100%}.pause-resume{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden}.pause-resume:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff0c847,#0000);width:40%;animation:4.2s ease-in-out infinite sheenSweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-140%)skew(-18deg)}.pause-abandon{opacity:.75;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:var(--fs-sm)}.result-screen{text-align:center;align-items:center;gap:var(--s4);width:min(560px,100%);box-shadow:none;background:0 0;border:none}.result-kicker{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.26em;text-transform:uppercase;color:var(--rune);font-weight:700}.result-title{font-size:calc(clamp(30px, 6vw, 44px) * var(--text-scale));letter-spacing:.04em;margin:0}.result-flavor{color:var(--text-dim);margin:-6px 0 0;font-style:italic}.result-medals{gap:var(--s5);justify-content:center;display:flex}.result-medal{align-items:center;gap:var(--s2);flex-direction:column;max-width:120px;display:flex}.result-medal-star{font-size:calc(32px * var(--text-scale));color:var(--border-strong)}.result-medal.met .result-medal-star{color:var(--gold);filter:drop-shadow(0 0 14px #ffd76680)}.result-medal-label{font-size:var(--fs-sm);color:var(--text-dim);line-height:1.4}.result-cores{align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:1px solid var(--gold);border-radius:var(--r-md);background:color-mix(in srgb, var(--gold) 12%, var(--surface));color:var(--text);font-weight:700;display:inline-flex}.result-cores-ic{font-size:calc(18px * var(--text-scale));color:var(--gold)}.result-statrow{gap:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.result-statrow .panel-statpill{min-width:96px}.result-statrow .panel-statlabel{font-size:var(--fs-xs);letter-spacing:.06em}.result-stat-ic{color:var(--rune);font-size:var(--fs-md)}.result-stat-ic.result-stat-foes{color:var(--text)}.result-stat-ic.result-stat-lives{color:var(--health)}.result-box-ic{vertical-align:-.18em;color:var(--gold);margin-right:.4em}.result-unlock-ic{color:var(--el-color,var(--success))}@media (max-width:540px){.result-statrow .panel-statlabel{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.result-statrow .panel-statpill{flex:1 1 0;min-width:0}}.cores-line{text-align:center;color:var(--gold);margin:0;font-weight:700}.result-firstwin{align-items:center;gap:var(--s3);width:min(52ch,100%);padding:var(--s4);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--border));border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 12%, var(--surface-2)), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);flex-direction:column;margin:0 auto;display:flex}.result-firstwin-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--gold)}.result-firstwin-body{color:var(--text-dim);line-height:1.6;font-size:var(--fs-sm);margin:0}.result-firstwin-cta{align-self:stretch}.result-unlock{align-items:center;gap:var(--s2);width:min(52ch,100%);padding:var(--s4);border:1px solid color-mix(in srgb, var(--success) 55%, var(--border));border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--success) 14%, var(--surface-2)), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);flex-direction:column;margin:0 auto;display:flex}.result-unlock-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:color-mix(in srgb, var(--success) 70%, var(--text))}.result-unlock-body{color:var(--text-dim);line-height:1.6;font-size:var(--fs-sm);text-align:center;margin:0}.button-row{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.stars{text-align:center;font-size:var(--fs-2xl);letter-spacing:6px}.stars .star{color:var(--border-strong)}.stars .star.filled{color:var(--gold);text-shadow:0 0 12px #ffd76680}.objectives{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.objectives .met{color:var(--success)}.objectives .unmet{color:var(--text-mute)}.upgrade-list{gap:var(--s3);display:grid}.upgrade-card{gap:var(--s2);padding:var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.upgrade-card.owned{opacity:.65}.upgrade-head{justify-content:space-between;font-weight:700;display:flex}.upgrade-cost{color:var(--gold)}.upgrade-desc{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.menu-screen{text-align:center;align-items:center;gap:var(--s5)}.menu-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.08em;text-shadow:0 0 24px var(--rune-soft)}.menu-subtitle{color:var(--text-dim);margin:0;font-style:italic}.menu-version{color:var(--text-mute);font-size:var(--fs-xs);margin:0}.menu-buttons{gap:var(--s3);flex-direction:column;width:min(300px,100%);display:flex}.menu-hero{background-color:var(--bg);color:var(--text);position:absolute;inset:0;overflow:hidden}.menu-hero:before{content:"";z-index:0;background:var(--menu-art,linear-gradient(160deg, #201a2e, #0a0c10)) center / cover no-repeat;animation:44s ease-in-out infinite alternate kenBurns;position:absolute;inset:-3%}.menu-hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#08090cf0 0%,#08090c99 40%,#08090c1f 68%,#08090c80 100%),linear-gradient(#0000 54%,#06070ae6),radial-gradient(120% 60% at 60% 0,#e0784a29,#0000 60%);position:absolute;inset:0}.atmo-fog,.atmo-embers{z-index:1;pointer-events:none;position:absolute}.atmo-fog{background:radial-gradient(60% 45% at 32% 82%,#b4c8dc0d,#0000 70%);animation:26s ease-in-out infinite alternate fogDrift;inset:0}.atmo-embers{opacity:.5;background-image:radial-gradient(2px 2px at 12% 20%,#ffbe6ed9,#0000 60%),radial-gradient(2px 2px at 26% 62%,#ffa050b3,#0000 60%),radial-gradient(1.5px 1.5px at 8% 82%,#ffd28cb3,#0000 60%),radial-gradient(2px 2px at 20% 42%,#ff964699,#0000 60%),radial-gradient(1.5px 1.5px at 32% 12%,#ffc878b3,#0000 60%);height:140%;animation:9s linear infinite emberRise;bottom:0;left:0;right:40%}.menu-inner{z-index:2;box-sizing:border-box;justify-content:safe center;align-items:flex-start;gap:clamp(var(--s3), 2vh, var(--s5));flex-direction:column;width:100%;max-width:1240px;height:100%;margin:0 auto;padding:clamp(18px,3.2vw,48px);display:flex;position:relative;overflow-y:auto}.menu-lockup{gap:var(--s2);flex-direction:column;max-width:620px;display:flex}.menu-emblem{width:52px;height:52px;margin-bottom:var(--s2);color:var(--rune-bright);border:2px solid var(--rune);box-shadow:0 0 18px var(--rune-soft), inset 0 0 12px #00000080;background:radial-gradient(circle at 50% 40%,#e0b24a33,#0a0c1099);border-radius:50%;place-items:center;display:grid}.menu-emblem svg{width:26px;height:26px}.menu-kicker{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.26em;text-transform:uppercase;color:var(--rune);opacity:.92}.menu-test-banner{box-sizing:border-box;margin-right:max(0px, calc(var(--admin-corner) + 16px - clamp(18px, 3.2vw, 48px) - max(0px, (100vw - 1240px) / 2)));border:1px solid color-mix(in srgb, var(--warning,#e0a24a) 55%, transparent);border-radius:var(--r-md,10px);background:color-mix(in srgb, var(--warning,#e0a24a) 16%, transparent);color:var(--warning,#e0a24a);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.04em;text-align:center;align-self:stretch;padding:8px 14px}.menu-title-xl{flex-direction:column;margin:0;line-height:.9;display:flex}.menu-title-word{font-family:var(--font-display);font-weight:900;font-size:calc(clamp(46px, 9vw, 104px) * var(--text-scale));letter-spacing:.02em;color:var(--text);text-shadow:0 2px 30px #0009, 0 0 42px var(--rune-soft)}.menu-title-rest{font-family:var(--font-display);font-weight:700;font-size:calc(clamp(20px, 3.4vw, 40px) * var(--text-scale));letter-spacing:.06em;color:var(--rune-bright);text-shadow:0 0 20px var(--rune-soft);margin-top:.14em}.menu-wordmark{font-family:var(--font-display);font-weight:700;font-size:calc(clamp(19px, 3vw, 34px) * var(--text-scale));letter-spacing:.06em;color:var(--rune-bright);text-shadow:0 0 20px var(--rune-soft);margin:.34em 0 0}.menu-tagline{margin:var(--s2) 0 0;color:var(--text-dim);font-style:italic;font-size:var(--fs-lg)}.skill-season{align-items:center;gap:2px var(--s3);margin:0 auto var(--s2);background:#341e4a52;border:1px solid #9a6bd666;border-radius:10px;flex-wrap:wrap;width:min(900px,94%);padding:4px 16px;display:flex}.skill-season-title{font-family:var(--font-display,serif);color:var(--el-arcane,#b98bea);font-weight:700}.skill-season-effect{color:var(--gold,#e8c15a);font-weight:600}.skill-season-slots{color:var(--text,#e9e2d0)}.skill-season-record{color:var(--text-dim,#9aa4b2);font-size:var(--fs-sm,.85rem);margin-left:auto}.skill-season-track{color:var(--text-dim,#9aa4b2)}.skill-season-switch{min-height:var(--touch);justify-content:center;align-self:center;align-items:center;display:inline-flex}.skill-season-cost{color:var(--text-dim,#9aa4b2);font-size:var(--fs-sm,.85rem)}.skill-season-cost[open]{flex-basis:100%;order:9}.skill-season-cost p{margin:4px 0 0}.skill-season-why{min-width:var(--touch);min-height:var(--touch);cursor:pointer;color:var(--text-dim,#9aa4b2);font-size:calc(var(--fs-md) * 1.1);place-items:center;list-style:none;display:inline-grid}.skill-season-why::-webkit-details-marker{display:none}.skill-season-why:hover{color:var(--text,#e9e2d0)}.season-reward-switch{margin-top:var(--s2);min-height:var(--touch);justify-content:center;align-self:center;align-items:center;display:inline-flex}.season-card{gap:var(--s3);width:100%;padding:var(--s3) var(--s4);margin-bottom:var(--s3);text-align:left;background:#341e4a66;border:1px solid #9a6bd673;border-radius:12px;flex-direction:column;display:flex;container-type:inline-size}.season-land{align-items:flex-start;gap:var(--s3);display:flex}.season-card-art{object-fit:cover;border:1px solid var(--border-strong);border-radius:8px;flex:none;width:56px;height:56px;display:block}.season-land-text{flex-direction:column;gap:3px;min-width:0;display:flex}.season-card-rule{color:var(--text-dim);font-size:var(--fs-xs);margin:0;line-height:1.35}.season-card-roster{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.season-card-roster-el,.season-trial{border-radius:var(--r-pill);color:var(--text-dim);font-size:var(--fs-xs);background:#00000040;border:1px solid #ffffff24;padding:2px 10px}.season-card-head{flex-direction:column;gap:2px;display:flex}.season-card-name{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text);font-weight:700}.season-card-when{color:var(--text-mute);font-size:var(--fs-xs)}.season-card-hint{color:var(--bad,#e05d5d);font-size:var(--fs-sm,.85rem);margin:0}.season-hero{gap:var(--s2);padding:var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.season-hero-task{font-size:var(--fs-lg);color:var(--gold);margin:0;font-weight:700;line-height:1.3}.season-hero-reward{font-size:var(--fs-md);color:var(--text);margin:0;font-weight:600}.season-hero-position{color:var(--text-mute);font-size:var(--fs-xs);margin:0;line-height:1.35}.season-road-claim{height:auto;min-height:var(--touch);padding:var(--s2) var(--s4);text-align:center;align-self:stretch}.season-cta{margin-top:var(--s2);align-self:flex-start}.rest-week-section{gap:var(--s3);margin-top:var(--s4);flex-direction:column;display:flex}.rest-week-heading{font-family:var(--font-display,serif);font-size:var(--fs-md);color:var(--text,#e9e2d0);margin:0;font-weight:700}.rest-week-hall-title,.rest-week-echo-title{margin:0 0 var(--s2);font-family:var(--font-display,serif);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--rune);font-weight:700}.rest-week-hall-rows{flex-direction:column;gap:4px;display:flex}.rest-week-hall-row{align-items:center;gap:var(--s2);padding:4px var(--s2);border-radius:var(--r-sm,6px);font-size:var(--fs-sm);color:var(--text-dim);display:flex}.rest-week-hall-row.is-you{color:var(--text,#e9e2d0);background:#0003;font-weight:600}.rest-week-hall-rank{min-width:2ch;color:var(--text-mute);font-variant-numeric:tabular-nums;flex:none}.rest-week-hall-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rest-week-hall-medal{border-radius:50%;flex:none;width:10px;height:10px}.rest-week-hall-medal.is-gold{background:var(--gold)}.rest-week-hall-medal.is-silver{background:var(--silver)}.rest-week-hall-medal.is-bronze{background:var(--bronze)}.rest-week-hall-depth{color:var(--text-mute);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.rest-week-hall-note,.rest-week-echo-note{color:var(--text-mute);font-size:var(--fs-sm);margin:0}.rest-week-echo{padding-top:var(--s2);border-top:1px solid var(--border)}.rest-week-echo-buttons{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.rest-week-echo-btn{min-height:var(--touch);padding:0 var(--s4)}.season-week,.season-road{gap:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;display:flex}.season-week-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}@container (width>=648px){.season-week-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}}.season-week-item{align-items:flex-start;gap:var(--s2);min-height:var(--touch);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-sm,6px);background:#0003;display:flex}.season-week-dot{border:2px solid var(--border-strong);width:22px;height:22px;font-size:var(--fs-xs);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;font-weight:700;line-height:1;display:flex}.season-week-item.is-done .season-week-dot{border-color:var(--success);background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.season-week-text{flex-direction:column;gap:2px;min-width:0;display:flex}.season-week-req{font-size:var(--fs-sm);line-height:1.35}.season-week-item.is-done .season-week-req{color:var(--text-mute);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--text-mute) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--text-mute) 60%, transparent)}.season-week-reward{color:var(--gold,#e8c15a);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.season-week-purse{justify-content:space-between;align-items:center;gap:var(--s2);margin:0 0 var(--s2);font-size:var(--fs-sm);color:var(--text,#e9e2d0);flex-wrap:wrap;display:flex}.season-week-purse-next{color:var(--text-dim);font-size:var(--fs-xs);align-items:center;gap:4px;display:inline-flex}.season-week-purse-next svg{width:12px;height:12px}.season-road-heading{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.season-road-title{font-family:var(--font-display,serif);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--rune);font-weight:700}h2.season-road-title{margin:0}.season-road-meter{font-size:var(--fs-sm);color:var(--text,#e9e2d0);font-variant-numeric:tabular-nums;font-weight:600}.season-road-track{border-radius:var(--r-pill);background:var(--surface-3);height:8px;overflow:hidden}.season-road-fill{background:linear-gradient(90deg, var(--rune), var(--gold));height:100%}.season-road-lamp{padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;gap:6px;display:flex}.season-road-lamp-label{color:var(--text-mute);font-size:var(--fs-xs)}.season-road-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.season-road-free,.season-road-paid{min-height:44px;padding:var(--s2);border-radius:var(--r-sm,6px);font-size:var(--fs-xs);align-items:center;gap:6px;line-height:1.3;display:flex}.season-road-free{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);grid-column:1}.season-road:not(.is-paired) .season-road-free{grid-column:1/-1}.season-road-paid{--paid-accent:var(--el-arcane);border:1px solid color-mix(in srgb, var(--paid-accent) 45%, transparent);background:color-mix(in srgb, var(--paid-accent) 12%, transparent);color:color-mix(in srgb, var(--paid-accent) 45%, var(--text));grid-column:2}.season-road-paid .gicon{flex:none;width:14px;height:14px;display:inline-flex}.season-road-paid .gicon svg{width:100%;height:100%}.season-road-paid-text{min-width:0}.season-road-free.is-reached,.season-road-paid.is-reached{border-color:color-mix(in srgb, var(--text) 35%, transparent)}.season-road-free.is-claimed,.season-road-paid.is-claimed{border-color:color-mix(in srgb, var(--gold,#e8c15a) 45%, transparent);color:var(--gold,#e8c15a)}.season-charter-link{min-height:var(--touch);color:var(--text-dim);font-size:var(--fs-sm);text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}.season-ladder-details{padding-top:var(--s2);border-top:1px solid var(--border)}.season-ladder-details>summary{align-items:center;gap:var(--s2);cursor:pointer;min-height:44px;color:var(--text);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700;list-style:none;display:flex}.season-ladder-details>summary::-webkit-details-marker{display:none}.season-ladder-details>summary:after{content:"▾";text-align:center;width:1em;color:var(--text-dim);transform-origin:50%;margin-left:auto;font-size:1.1em;line-height:1;transition:transform .15s;display:inline-block}.season-ladder-details[open]>summary:after{transform:rotate(180deg)}.season-ladder-details .season-rewards{margin-top:var(--s2)}.season-rewards{padding:var(--s3);border-radius:var(--r-md);background:#341e4a38;border:1px solid #9a6bd657;flex-direction:column;gap:2px;display:flex}.season-rewards-title{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--rune);margin-bottom:var(--s1);font-weight:700}.season-reward-row{justify-content:space-between;align-items:center;gap:var(--s3);padding:5px var(--s2);border-radius:var(--r-sm,6px);font-size:var(--fs-sm);display:flex}.season-reward-row.active{background:color-mix(in srgb, var(--el-arcane) 26%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--el-arcane) 60%, transparent)}.season-reward-label{color:var(--text);font-weight:600}.season-reward-row.active .season-reward-label{color:#f3e6ff}.season-reward-pay{align-items:center;gap:var(--s3);flex:none;display:inline-flex}.season-reward-marks{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.season-reward-cores{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:700;display:inline-flex}.season-reward-core-ic{color:var(--gold)}.season-reward-core-ic svg{width:14px;height:14px}.season-rewards-standing,.season-rewards-podium{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);font-style:italic}.season-milestones{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border)}.season-milestones-title{margin:0 0 var(--s1);font-size:var(--fs-sm);color:var(--text-dim)}.season-milestone-chips{gap:var(--s1);flex-wrap:wrap;display:flex}.season-milestone{border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-mute);padding:2px 8px}.season-milestone.is-taken{color:var(--success);border-color:color-mix(in srgb, var(--el-nature,#7bc47f) 45%, transparent);align-items:center;gap:.25em;display:inline-flex}.season-milestones-yours{margin:var(--s1) 0 0;font-size:var(--fs-xs);color:var(--text-dim)}.result-daily-reward{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--gold,#e8c15a);text-align:center}.result-run-total{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text);text-align:center;font-weight:700}.result-season-standing{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);text-align:center}.result-move-up{color:var(--el-nature,#7bc47f);font-weight:700}.result-move-down{color:var(--danger,#d9694a);font-weight:700}.result-road-receipt{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);text-align:center}.result-core-parts{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);text-align:center;font-variant-numeric:tabular-nums}.result-toll{margin:var(--s3) auto 0;max-width:62ch;padding:var(--s2) var(--s3);border-radius:var(--r-md);border:1px solid var(--border);text-align:left}.result-toll.is-paid{border-color:color-mix(in srgb, var(--health) 45%, var(--border));background:color-mix(in srgb, var(--danger) 16%, transparent)}.result-toll.is-clear{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 12%, transparent)}.result-toll-line{align-items:center;gap:var(--s2);font-size:var(--fs-md);font-variant-numeric:tabular-nums;margin:0;font-weight:700;display:flex}.result-toll-ic{flex:none;width:18px;height:18px}.result-toll.is-paid .result-toll-line,.result-toll.is-paid .result-toll-ic{color:var(--health)}.result-toll.is-clear .result-toll-line,.result-toll.is-clear .result-toll-ic{color:var(--success,#5bb06a)}.result-toll-hint{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.45}.result-records{margin:var(--s3) auto 0;max-width:62ch;padding:var(--s2) var(--s3);border-radius:var(--r-md);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 60%, transparent);text-align:left}.result-record{align-items:baseline;gap:var(--s1) var(--s2);grid-template-columns:18px 1fr auto;padding:2px 0;display:grid}.result-record-ic{width:18px;height:18px;color:var(--text-dim);align-self:center}.result-record.is-best .result-record-ic{color:var(--gold)}.result-record-val{font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:700}.result-record.is-best .result-record-val{color:var(--gold)}.result-record-standing{font-size:var(--fs-sm);color:var(--text-dim);font-variant-numeric:tabular-nums}.result-record-new{font-size:var(--fs-sm);color:var(--gold);white-space:nowrap;font-weight:700}@media (max-width:430px){.result-record{grid-template-columns:18px 1fr}.result-record-standing,.result-record-new{grid-column:2}}.descent-start{padding-bottom:var(--s3);border-bottom:1px solid var(--carve-hi);text-align:left}.breach-deepstart-line{align-items:center;gap:var(--s2);font-size:var(--fs-md);color:var(--gold);margin:0;font-weight:700;display:flex}.breach-deepstart-ic{flex:none;width:18px;height:18px}.breach-deepstart-why{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.45}.result-unranked{margin:var(--s3) auto 0;max-width:62ch;padding:var(--s2) var(--s3);border-radius:var(--r-md);border:1px dashed color-mix(in srgb, var(--gold) 60%, var(--border));background:color-mix(in srgb, var(--rune) 14%, transparent);text-align:left}.result-unranked-title{align-items:center;gap:var(--s2);font-family:var(--font-display);font-size:var(--fs-md);color:var(--gold);margin:0;font-weight:700;display:flex}.result-unranked-ic{flex:none;width:18px;height:18px}.result-unranked-body{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.45}.band-block,.band-section{width:100%;margin:var(--s4) 0 0;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);text-align:left}.band-section{margin-top:0}.band-head{gap:var(--s2);margin-bottom:var(--s2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.band-head-title{font-family:var(--font-display,serif);font-size:var(--fs-md);color:var(--text)}.band-head-through{font-size:var(--fs-sm);color:var(--rune,#e0b24a)}.band-row{gap:var(--s1) var(--s2);padding:var(--s1) 0;border-top:1px solid var(--carve-hi);grid-template-columns:auto 3.2em minmax(0,1fr) auto;align-items:baseline;display:grid}.band-row-range{font-size:var(--fs-sm);color:var(--text-dim);font-variant-numeric:tabular-nums}.band-row-score{font-size:var(--fs-lg);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.band-tier-0{color:var(--text-mute)}.band-tier-1{color:var(--text)}.band-tier-2{color:var(--success,#5bb06a)}.band-tier-3{color:var(--gold,#ffd766)}.band-row-tier{font-size:var(--fs-sm);color:var(--text-dim)}.band-row-comps{gap:var(--s1) var(--s3);font-size:calc(.8125rem * var(--text-scale));color:var(--text-mute);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-column:1/-1;display:flex}.band-row-best{font-size:var(--fs-sm);color:var(--success,#5bb06a);white-space:nowrap;grid-column:1/-1;font-weight:700}.band-row-cap{font-size:calc(.8125rem * var(--text-scale));color:var(--text-dim);grid-column:1/-1;line-height:1.4}.band-block .band-row{grid-template-columns:auto auto minmax(0,1fr) auto}.band-head-right{align-items:center;gap:var(--s2);display:inline-flex}.band-help{border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--text-dim);font-family:var(--font-body);font-size:var(--fs-sm);cursor:pointer;border-radius:50%;flex:none;padding:0;font-weight:700;line-height:1}.band-help:hover{border-color:var(--rune);color:var(--rune-bright)}@media (pointer:coarse){.band-help{z-index:1;position:relative}.band-help:after{content:"";position:absolute;inset:-12px}}.band-track{gap:var(--s1);margin-top:var(--s2);grid-template-columns:repeat(auto-fit,minmax(52px,1fr));display:grid}.band-tile{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);flex-direction:column;align-items:center;gap:2px;padding:4px 2px 0;display:flex;overflow:hidden}.band-tile-range{font-size:calc(11px * var(--text-scale));color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap}.band-tile-score{font-size:var(--fs-md);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.band-tile-bar{background:currentColor;border-radius:2px 2px 0 0;align-self:flex-start;height:3px;margin-top:2px}.band-tile.is-here{border-color:var(--rune);box-shadow:0 0 10px var(--rune-soft)}.band-tile.is-beyond{opacity:.5}.band-tile.is-closed{opacity:.4}.band-scale{gap:var(--s1) var(--s3);margin-top:var(--s2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.band-scale-step{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.band-scale-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.band-what{margin:var(--s2) 0 0;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.45}.band-cores{margin:var(--s1) 0 0;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--gold);line-height:1.45}.band-next{margin:var(--s1) 0 0;font-size:var(--fs-sm);color:var(--gold);line-height:1.45}.band-meter{border-radius:4px;grid-column:1/-1;height:8px;margin-top:4px;display:flex;position:relative;overflow:hidden}.band-meter-zone{opacity:.45;background:currentColor}.band-meter-mark{background:var(--gold);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.season-reward.band-how{text-align:left}.band-how h1{text-align:center}.band-how .band-scale{justify-content:center}.band-how-body{margin:var(--s3) 0 0;font-size:var(--fs-sm);color:var(--text-dim);line-height:1.55}.breach-help-head{margin:var(--s4) 0 0;color:var(--rune);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700}.breach-help-head+.band-how-body{margin-top:var(--s1)}.season-reward-backdrop{z-index:60;padding:max(var(--s4), env(safe-area-inset-top)) max(var(--s4), env(safe-area-inset-right)) max(var(--s4), env(safe-area-inset-bottom)) max(var(--s4), env(safe-area-inset-left));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.season-reward{text-align:center;width:min(520px,100%);max-height:90dvh;padding:var(--s5) var(--s4);background:var(--panel,#141a24f5);border:1px solid #e8c15a4d;border-radius:14px;overflow-y:auto;box-shadow:0 24px 60px #0009}.season-reward-rows{margin:var(--s3) 0;flex-direction:column;gap:4px;display:flex}.season-reward-row{font-weight:700;font-size:var(--fs-md,1rem)}.season-reward-what{margin:var(--s3) 0 4px;color:var(--text-dim,#9aa4b2)}.season-reward-effect{color:var(--gold,#e8c15a);margin:2px 0;font-weight:600}.season-close-section{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border);text-align:left}.season-close-section:first-of-type{margin-top:var(--s3)}.season-close-heading{margin:0 0 var(--s2);font-family:var(--font-display,serif);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--rune);font-weight:700}.season-close-line{font-size:var(--fs-sm);color:var(--text-dim,#9aa4b2);margin:2px 0}.season-close-art{padding:var(--s3);border-radius:var(--r-md);background-position:50%;background-size:cover}.season-close-winter-title,.season-close-next-name{margin:0 0 var(--s2);font-family:var(--font-display,serif);font-size:var(--fs-md);color:var(--text,#e9e2d0);font-weight:700}.season-close-build-heading{margin:var(--s3) 0 var(--s1);font-size:var(--fs-xs);color:var(--text-mute)}.season-close-build-chips{gap:var(--s1);flex-wrap:wrap;display:flex}.season-close-build-chip{border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text-dim);padding:2px 10px}.season-close-notch{width:28px;height:28px;margin-bottom:var(--s2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-mute);justify-content:center;align-items:center;display:inline-flex}.season-close-notch.is-lit{color:var(--gold,#e8c15a);border-color:color-mix(in srgb, var(--gold,#e8c15a) 50%, transparent);background:color-mix(in srgb, var(--gold,#e8c15a) 12%, transparent)}.season-close-ring-up{align-items:center;gap:var(--s2);margin:var(--s2) 0;color:var(--gold,#e8c15a);font-weight:700;display:flex}.season-close-ring-dot,.profile-ring-dot{border-style:solid;border-width:3px;border-color:var(--border);border-radius:50%;flex:none;width:16px;height:16px;display:inline-block}.season-close-medal{align-items:center;gap:var(--s2);margin:var(--s2) 0;font-weight:700;display:flex}.season-close-medal svg{width:16px;height:16px}.season-close-medal-gold{color:var(--gold)}.season-close-medal-silver{color:var(--silver)}.season-close-medal-bronze{color:var(--bronze)}.season-close-opens{color:var(--text-mute);font-size:var(--fs-xs)}.season-close-charter-link{min-height:var(--touch);margin-top:var(--s2);color:var(--rune);font-size:var(--fs-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.season-close-charter-line{color:var(--text-mute)}.guest-nudge{width:min(460px,100%)}.guest-nudge-body{margin:var(--s3) 0 var(--s4);text-align:left;line-height:1.6}.whats-new{text-align:left;width:min(480px,100%)}.whats-new>h1{text-align:center}.whats-new-list{margin-top:var(--s4);margin-bottom:var(--s5)}.whats-new-item{margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid #e8c15a24}.whats-new-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.whats-new-version{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--gold,#e8c15a);margin:0 0 4px}.whats-new-body{margin:0 0 var(--s2);color:var(--text,#e6e6e6);overflow-wrap:anywhere;line-height:1.6}.whats-new-body:last-child{margin-bottom:0}.bug-report{text-align:left;width:min(480px,100%)}.bug-report>h1{text-align:center}.bug-report-intro{margin:var(--s2) 0 var(--s4);color:var(--text-dim,#9aa4b2);line-height:1.5}.bug-report-form{gap:var(--s2);flex-direction:column;display:flex}.bug-report-label{font-size:var(--fs-sm,.9rem);color:var(--text-dim,#9aa4b2)}.bug-report-textarea,.bug-report-input{width:100%;color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);padding:var(--s2) var(--s3)}.bug-report-textarea{resize:vertical;min-height:96px;line-height:1.5}.bug-report-input{min-height:44px}.bug-report-textarea:focus,.bug-report-input:focus{border-color:var(--rune)}.bug-report-status{margin:var(--s3) 0 0;min-height:1.2em;color:var(--text-dim,#9aa4b2);flex-shrink:0;line-height:1.5}.bug-report-status.is-error{color:var(--danger,#e0776b)}.idea-box-terms{margin:var(--s3) 0 0;font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4);line-height:1.5}.idea-box-mine{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border)}.idea-box-mine>h2{margin:0 0 var(--s2);font-size:var(--fs-md,1rem);color:var(--text)}.idea-box-note{color:var(--text-dim,#b6b3a4);margin:0;line-height:1.5}.idea-box-guest{margin-top:var(--s3);flex-direction:column;align-items:flex-start;display:flex}.idea-box-guest .idea-box-note{font-size:var(--fs-sm,.875rem)}.idea-box-signin{min-height:44px;color:var(--rune);font:inherit;font-size:var(--fs-sm,.875rem);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.idea-box-signin:hover{color:var(--rune-bright)}.idea-box-list{gap:var(--s3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.idea-box-item{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.idea-box-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.idea-box-status{border:1px solid var(--border);font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4);border-radius:999px;padding:1px 8px}.idea-box-status.is-planned{border-color:var(--rune);color:var(--rune)}.idea-box-status.is-done{border-color:var(--success);color:var(--success)}.idea-box-status.is-declined{color:var(--text-mute)}.questionnaire{width:min(520px,100%);container-type:inline-size}.questionnaire .button-row>.primary-btn{flex-basis:100%;order:-1}@container (width>=440px){.questionnaire .button-row>.primary-btn{flex-basis:auto;order:0}}.questionnaire-hint{margin:0 0 var(--s4);font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4);line-height:1.5}.questionnaire-form{gap:var(--s5);flex-direction:column;display:flex}.questionnaire-q,.questionnaire-row{border:none;min-width:0;margin:0;padding:0}.questionnaire-legend{margin:0 0 var(--s2);color:var(--text);overflow-wrap:anywhere;padding:0;font-weight:700;line-height:1.4;display:block}.questionnaire-sub{margin:0 0 var(--s2);font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4)}.questionnaire-choices{gap:var(--s1);flex-direction:column;display:flex}.questionnaire-choice,.questionnaire-contact{align-items:center;gap:var(--s2);min-height:44px;padding:var(--s1) var(--s3);overflow-wrap:anywhere;cursor:pointer;line-height:1.35;display:flex}.questionnaire-choice{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3)}:is(.questionnaire-choice:has(input:checked),.questionnaire-point:has(input:checked)){border-color:var(--rune)}.questionnaire-contact{align-items:flex-start;padding:0}.questionnaire-choice input,.questionnaire-point input,.questionnaire-contact input{width:20px;height:20px;accent-color:var(--rune);flex:none;margin:0}.questionnaire-contact input{margin-top:2px}.questionnaire-ends{justify-content:space-between;gap:var(--s3);margin:0 0 var(--s2);font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4);display:flex}.questionnaire-ends>span:last-child{text-align:right}.questionnaire-row+.questionnaire-row{margin-top:var(--s3)}.questionnaire-row-label{font-size:var(--fs-sm,.875rem);color:var(--text);overflow-wrap:anywhere;margin:0 0 4px;padding:0}.questionnaire-points{gap:var(--s1);display:flex}.questionnaire-point{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);cursor:pointer;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:52px;font-weight:700;display:flex}.questionnaire-text{min-height:84px}.questionnaire-count{font-size:var(--fs-xs,.75rem);text-align:right;color:var(--text-mute);margin:4px 0 0}.questionnaire-privacy{font-size:var(--fs-sm,.875rem);color:var(--text-dim,#b6b3a4);margin:0}.play-session-backdrop{z-index:220}.play-session{width:min(460px,100%)}.play-session-body{margin:var(--s3) 0 var(--s3);text-align:left;line-height:1.6}.play-session-warn{margin:0 0 var(--s4);padding:var(--s3);text-align:left;line-height:1.5;font-size:var(--fs-sm,.9rem);color:var(--danger,#e0776b);background:#e0776b1a;border:1px solid #e0776b4d;border-radius:10px}.watch-toggle{width:min(440px,94%);margin-bottom:var(--s2)}.watch-switch{justify-content:space-between;align-items:baseline;gap:var(--s2);width:100%;color:var(--text,#e9e2d0);cursor:pointer;background:#00000047;border:1px solid #ffffff1f;border-radius:10px;padding:10px 16px;transition:border-color .15s,background .15s;display:flex}.watch-switch:hover{border-color:var(--gold,#e8c15a)}.watch-switch.is-deep{border-color:var(--el-arcane,#9a6bd6);background:#341e4a73}.watch-switch-label{font-family:var(--font-display,serif);font-size:var(--fs-md,1rem);letter-spacing:.02em}.watch-switch-go{color:var(--gold,#e8c15a);font-size:var(--fs-sm,.85rem)}.menu-plates{grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(210px * var(--text-scale))), 1fr));gap:var(--s3);width:min(1100px,94%);display:grid}.menu-plates-hero{grid-column:1/-1;grid-template-columns:repeat(auto-fit, minmax(min(100%, calc(300px * var(--text-scale))), 1fr));gap:inherit;display:grid}@media (min-width:721px){.menu-plates .rune-plate-name{line-height:1.15}.menu-plates .rune-plate-sub{line-height:1.25}.menu-inner{padding-bottom:clamp(18px,2vh,24px)}}@media (max-height:500px) and (min-width:721px){.menu-plates{grid-template-columns:1fr 1fr;width:min(720px,94%)}}.rune-plate{align-items:center;gap:var(--s4);min-height:64px;padding:var(--s3) var(--s4);text-align:left;color:var(--text);cursor:pointer;border:1px solid var(--border);border-top-color:var(--border-strong);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);border-radius:13px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.rune-plate:hover,.rune-plate:focus-visible{border-color:var(--border-strong);box-shadow:inset 0 1px 0 var(--carve-hi), 0 6px 22px #00000080, 0 0 0 1px var(--rune-soft);outline:none;transform:translate(5px)}.rune-plate-icon{width:1.25em;font-size:calc(var(--fs-lg) * 1.15);color:var(--rune);opacity:.78;flex:none;place-items:center;display:grid}.rune-plate-icon svg{width:1em;height:1em}.rune-plate.is-primary .rune-plate-icon{font-size:calc(var(--fs-lg) * 1.45);color:var(--rune-bright);opacity:1}.rune-plate.is-season .rune-plate-icon{font-size:calc(var(--fs-lg) * 1.45);color:var(--season);opacity:1}.rune-plate-sub.has-gicon{justify-content:flex-start}.rune-plate-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.rune-plate-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:.04em}.rune-plate-sub{color:var(--text-mute);font-size:var(--fs-sm)}.rune-plate-standing{color:var(--gold,#e8c15a);font-size:var(--fs-xs);font-weight:600}.rune-plate.is-primary{border-color:var(--rune);box-shadow:inset 0 1px 0 #fff6e024, 0 6px 26px #00000080, 0 0 24px var(--rune-soft);background:linear-gradient(#e0b24a57,#966e1e38)}.rune-plate.is-primary .rune-plate-name{color:#fff4dd;text-shadow:0 0 14px var(--rune-soft)}.rune-plate.is-primary .rune-plate-sub{color:#ece3cfd1}.rune-plate.is-primary:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff0c847,#0000);width:42%;animation:4.6s ease-in-out infinite sheenSweep;position:absolute;top:0;bottom:0;left:0;transform:translate(-140%)skew(-18deg)}.rune-plate.is-season{border-color:var(--season);background:linear-gradient(180deg, color-mix(in srgb, var(--season) 30%, var(--surface-2)), color-mix(in srgb, var(--season) 16%, var(--surface)));box-shadow:inset 0 1px 0 var(--carve-hi), 0 6px 26px #00000080, 0 0 24px color-mix(in srgb, var(--season) 40%, transparent)}.rune-plate.is-season .rune-plate-name{color:#f3e6ff;text-shadow:0 0 14px color-mix(in srgb, var(--season) 55%, transparent)}.rune-plate.is-season .rune-plate-sub{color:#e4d6f0d9}.rune-plate.is-season:after{background:linear-gradient(90deg,#0000,#d2b4ff3d,#0000)}.rune-plate-badge{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--season) 60%, transparent);background:color-mix(in srgb, var(--season) 18%, var(--surface));color:#efe3ff;font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.rune-plate-badge-dot{background:#c9a3ff;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite livePulse;box-shadow:0 0 8px #c9a3ff}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.menu-status{margin-top:var(--s2);align-items:center;gap:var(--s2);color:var(--text-mute);font-size:var(--fs-xs);font-style:italic;display:flex}.menu-status-dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 10px var(--danger);border-radius:50%;animation:2.4s ease-in-out infinite dotPulse}.menu-version-inline{margin-left:var(--s2);letter-spacing:.1em;opacity:.7;font-style:normal}@media (max-width:720px),(max-height:820px){.menu-inner{justify-content:flex-start;gap:clamp(8px,1.2vh,14px);padding-top:clamp(10px,2vh,26px);padding-bottom:clamp(10px,2vh,22px);overflow-y:auto}.menu-lockup{gap:var(--s1)}.menu-title-word{font-size:calc(clamp(40px, 5.6vw, 60px) * var(--text-scale))}.menu-title-rest{font-size:calc(clamp(17px, 2.3vw, 27px) * var(--text-scale))}.menu-wordmark{font-size:calc(clamp(15px, 2vw, 24px) * var(--text-scale))}.menu-tagline{margin-top:var(--s1);font-size:var(--fs-md)}.menu-emblem{width:40px;height:40px;margin-bottom:0}.menu-emblem svg{width:22px;height:22px}.menu-plates{gap:var(--s2)}.menu-plates>.rune-plate:not(.is-primary):not(.is-season){min-height:54px;padding-top:var(--s2);padding-bottom:var(--s2)}}@media (min-width:721px) and (max-height:820px){.menu-plates{gap:6px}.menu-plates .rune-plate,.menu-plates>.rune-plate:not(.is-primary):not(.is-season){min-height:48px;padding-top:6px;padding-bottom:6px}.menu-plates .rune-plate-name{line-height:1.05}.menu-plates .rune-plate-sub{line-height:1.15}}@media (max-width:720px){.menu-plates{grid-template-columns:1fr}}@media (min-height:821px) and (min-width:721px){.menu-plates{gap:var(--s2)}.menu-plates>.rune-plate{min-height:58px}.menu-plates>.rune-plate:not(.is-primary):not(.is-season){padding-top:10px;padding-bottom:10px}}.select-stars{min-height:40px;padding:0 var(--s4);color:var(--gold);border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-2), var(--surface));align-items:center;gap:6px;font-weight:700;display:inline-flex}.select-body{gap:var(--s4);grid-template-columns:minmax(260px,1fr) 1.4fr;align-items:start;display:grid}@media (max-width:720px){.select-body{grid-template-columns:1fr}}.select-biomes{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.biome-card{align-items:center;gap:var(--s3);padding:var(--s3);text-align:left;cursor:pointer;color:var(--text);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:13px;display:flex}.biome-card.active{border-color:var(--success);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 12px #5bb06a4d}.biome-card.locked{opacity:.45;cursor:not-allowed}.biome-card-ic{width:40px;height:40px;font-size:calc(20px * var(--text-scale));color:var(--rune);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-3);flex:none;place-items:center;display:grid}.biome-card-ic svg{width:20px;height:20px}.biome-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.biome-card-name{font-family:var(--font-display);font-weight:700}.biome-card-sub{font-size:var(--fs-sm);color:var(--text-dim);overflow-wrap:anywhere}.biome-card-prog{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.biome-card-frac{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.biome-card-starcount{font-size:calc(13px * var(--text-scale));color:var(--text-mute);align-items:center;gap:.25em;display:inline-flex}.biome-card-starcount .gicon{color:var(--gold)}.select-briefing{gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(90deg, #0c0e12f0 30%, #0c0e1299), var(--brief-art,none) center / cover no-repeat, var(--surface);flex-direction:column;display:flex;position:relative;overflow:hidden}.select-brief-kicker{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--success);font-weight:700}.select-brief-name{font-family:var(--font-display);font-size:var(--fs-xl);margin:0}.select-brief-tagline{font-style:italic;font-size:var(--fs-md);color:var(--text-dim);margin:-6px 0 0}.select-brief-story{font-size:var(--fs-md);color:var(--text);margin:0;line-height:1.55}.select-briefing{min-height:440px}.map-card.next{border-color:var(--rune);box-shadow:0 0 12px var(--rune-soft)}.foe-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.foe-card{align-items:stretch;gap:var(--s3);padding:var(--s4);overflow-wrap:break-word;text-align:left;cursor:pointer;min-width:0;color:var(--text);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:14px;flex-direction:column;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;overflow:hidden}.foe-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.foe-card.selected{border-color:var(--foe-color,var(--rune));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 14px color-mix(in srgb, var(--foe-color,#fff) 35%, transparent)}.foe-card-head{align-items:flex-start;gap:var(--s3);display:flex}.foe-tile{border-radius:var(--r-md);background:linear-gradient(180deg, color-mix(in srgb, var(--foe-color,#888) 88%, #fff), var(--foe-color,#888));border:1px solid #0006;flex:none;width:40px;height:40px;box-shadow:inset 0 1px #ffffff40,0 2px 6px #00000073}.foe-tile-icon{font-size:calc(20px * var(--text-scale));color:#14171f;background:linear-gradient(180deg, color-mix(in srgb, var(--foe-color,#888) 70%, #fff), color-mix(in srgb, var(--foe-color,#888) 85%, #000));place-items:center;display:grid}.foe-tile-icon svg{width:22px;height:22px}.foe-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.foe-card-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:.03em}.foe-card-desc{color:var(--text);font-size:var(--fs-md);line-height:1.45}.foe-card .panel-statpill{padding:var(--s2) 6px;text-align:center;min-width:0;overflow:hidden}.foe-card .panel-statval{font-size:var(--fs-lg)}.foe-card .panel-statlabel{font-size:calc(10px * var(--text-scale));letter-spacing:.02em;color:var(--text-dim);text-align:center;overflow-wrap:anywhere}.foe-card .rchip{font-size:var(--fs-sm)}.foe-pill-top{align-items:center;gap:5px;display:inline-flex}.foe-pill-ic{font-size:calc(13px * var(--text-scale))}.foe-pill-ic svg{width:13px;height:13px}.foe-hp .foe-pill-ic{color:#ff6b6b}.foe-spd .foe-pill-ic{color:#8fe3ff}.foe-rw .foe-pill-ic{color:#38d9c0}.foe-chips{flex-wrap:wrap;gap:6px;display:flex}.foe-card-fx{font-size:var(--fs-sm)}.foe-card-syn{color:var(--text-dim);font-size:var(--fs-md);font-style:italic}.codex-intro{margin:0 0 var(--s2);max-width:64ch;color:var(--text);font-size:var(--fs-md);line-height:1.5}.codex-tier{margin:var(--s5) 0 var(--s1);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:700}.codex-card{cursor:default}.codex-card:hover{border-color:var(--border);transform:none}.foe-card.foe-locked{opacity:.5;cursor:default;background:linear-gradient(180deg, var(--surface), var(--surface-2));box-shadow:none;border-style:dashed}.foe-card.foe-locked:hover{border-color:var(--border);transform:none}.foe-locked .foe-tile{background:linear-gradient(180deg, color-mix(in srgb, var(--text-mute) 45%, var(--surface-2)), var(--surface));border-color:var(--border);box-shadow:inset 0 1px 0 var(--carve-hi);filter:grayscale()}.foe-locked .foe-card-name{color:var(--text-mute);letter-spacing:.22em}.foe-locked .foe-card-desc{color:var(--text-dim);font-style:italic}.discovery-hint{align-items:baseline;gap:var(--s2);font-size:var(--fs-sm);flex-wrap:wrap;line-height:1.4;display:flex}.discovery-hint-label{border:1px solid var(--border);background:var(--surface-2);color:var(--text-mute);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex:none;padding:1px 8px;font-weight:700}.discovery-hint-text{color:var(--text);font-style:italic}.arsenal-locked .foe-card-name{letter-spacing:.01em}.arsenal-locked .foe-tile{filter:grayscale(.7)}.discovery-count{padding:var(--s1) var(--s3);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:var(--fs-sm);letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-self:center;font-weight:700}.codex-recipe{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.codex-plus{color:var(--text-mute);font-weight:700}.codex-el{color:var(--el-color,var(--text));border-color:color-mix(in srgb, var(--el-color,#fff) 45%, var(--border))}.codex-effect-label{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.bestiary-screen{width:min(880px,100%);box-shadow:none;background:0 0;border:none}.foe-statrow{gap:var(--s2);justify-content:center;display:flex}.foe-statrow .panel-statpill{flex:1 1 0;min-width:0}.foe-hp .panel-statval{color:#ff6b6b}.foe-spd .panel-statval{color:#8fe3ff}.foe-rw .panel-statval{color:#38d9c0}.arsenal-namerow{justify-content:center;align-items:baseline;gap:var(--s3);display:flex}.arsenal-cost{color:var(--gold);font-weight:700;font-size:var(--fs-md);align-items:center;gap:5px;display:inline-flex}.arsenal-cost .cost-gem{color:#38d9c0;font-size:calc(15px * var(--text-scale))}.arsenal-cost .cost-gem svg{width:15px;height:15px}.breach-screen{text-align:center;width:min(680px,100%);box-shadow:none;background:0 0;border:none;align-items:center}.breach-best{padding:4px var(--s4);color:var(--gold);border:1px solid var(--rune-soft);border-radius:var(--r-pill);background:#e0b24a14;align-items:center;font-weight:700;display:inline-flex}.breach-record{gap:var(--s2);white-space:nowrap}.breach-record-sep{background:var(--rune-soft);width:1px;height:14px}.breach-record-power{align-items:center;gap:5px;display:inline-flex}.breach-power-ic{width:14px;height:14px}.breach-thesis{color:var(--text-dim);font-size:var(--fs-md);margin:0;line-height:1.6}.breach-lore-more{color:var(--rune-bright);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.breach-lore-more:hover{color:var(--gold)}@media (pointer:coarse){.breach-lore-more{position:relative}.breach-lore-more:after{content:"";position:absolute;inset:-9px 0}}.descent-card{gap:var(--s3);width:100%;padding:var(--s3) var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);text-align:left;flex-direction:column;display:flex}.descent-card .mod-head{width:100%}.trial-grid{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;display:grid}.trial-grid .level-card{background:linear-gradient(180deg, var(--surface-2), var(--surface));height:100%;box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:13px}.trial-grid .level-card.selected{border-color:var(--rune);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 14px var(--rune-soft)}.breach-screen .mod-desc{font-size:var(--fs-sm);color:var(--text-dim)}.mod-bonus{padding-top:var(--s1);color:var(--gold);font-size:var(--fs-sm);align-self:flex-end;margin-top:auto;font-weight:700}.descent-bar{justify-content:space-between;align-items:center;gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--carve-hi);display:flex}.descent-bonus{color:var(--gold);font-weight:700}@media (max-width:560px){.descent-bar{flex-direction:column;align-items:stretch}.descent-bar .primary-btn{width:100%}}.intro-screen{width:min(620px,100%)}.intro-hero{margin:calc(-1 * var(--s5)) calc(-1 * var(--s5)) 0;border-radius:var(--r-lg) var(--r-lg) 0 0;height:180px;position:relative;overflow:hidden}.intro-hero:after{content:"";background:linear-gradient(#0000 40%,#14171ff5);position:absolute;inset:0}.intro-hero-img{background-position:50%;background-size:cover;animation:30s ease-in-out infinite alternate kenBurns;position:absolute;inset:-4%}.option-label{font-family:var(--font-display);color:var(--rune);letter-spacing:.02em;font-weight:600}.option-hint{color:var(--text-mute);font-size:var(--fs-sm);margin:0;line-height:1.5}.hint-line{margin:0}.hint-line+.hint-line{margin-top:var(--s1)}.choice-btn{min-height:44px;padding:0 var(--s4)}.choice-btn.selected{border-color:var(--rune);background:var(--rune-soft);color:var(--rune-bright);box-shadow:0 0 12px var(--rune-soft)}.opt-kicker{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.24em;text-transform:uppercase;color:var(--rune)}.store-ethics{padding:var(--s3) var(--s4);border-radius:var(--r-md);color:var(--text);text-align:center;background:#341e4a47;border:1px solid #9a6bd666;margin:0;font-style:italic}.store-list{gap:var(--s5);flex-direction:column;display:flex;container-type:inline-size}.store-group{gap:var(--s3);flex-direction:column;display:flex}.store-card{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);flex-wrap:wrap;display:flex}.store-card-ic{width:34px;height:34px;color:var(--el-arcane);flex:none;place-items:center;display:grid}.store-card-ic svg{width:26px;height:26px}.store-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.store-card-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md)}.store-card-desc{color:var(--text-mute);font-size:var(--fs-sm)}.store-card-right{min-width:0;padding-top:var(--s3);border-top:1px solid var(--border);flex-direction:column;flex:0 0 100%;align-items:flex-start;gap:4px;display:flex}.store-card-price{font-family:var(--font-display);color:var(--gold);font-variant-numeric:tabular-nums;font-weight:700}.store-buy{min-height:34px;padding:0 var(--s4);font-family:var(--font-display);letter-spacing:.06em;border:1px solid var(--el-arcane);border-radius:var(--r-pill);background:color-mix(in srgb, var(--el-arcane) 16%, var(--surface));color:var(--text);font-weight:700}.store-buy:disabled{cursor:not-allowed;opacity:.55}.store-buy.is-owned{border-color:var(--success);background:var(--success-soft);color:var(--success);opacity:1}.store-claim{width:100%}.store-cores-buy{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border);flex-direction:column;align-self:stretch;align-items:stretch;gap:4px;display:flex}.store-cores-buy:first-child{border-top:0;margin-top:0;padding-top:0}.store-cores-buy .store-card-price,.store-cores-buy .store-buy.is-owned{align-self:flex-start}.store-cores-buy .store-buy{min-height:44px;padding:var(--s1) var(--s3);white-space:normal;border-radius:var(--r-md);line-height:1.25}.store-cores-terms{font-size:var(--fs-sm);color:var(--text-dim);margin:0;line-height:1.35}.store-cores-status{font-size:var(--fs-sm);color:var(--text-mute);margin:0}.store-cores-status.is-ok{color:var(--success)}.store-cores-status.is-error{color:var(--danger)}.store-cores-why{flex-direction:column;align-items:flex-start;display:flex}.store-cores-why-line{font-size:var(--fs-sm);color:var(--text);margin:0;line-height:1.35}.store-cores-link{min-height:44px;color:var(--rune);font:inherit;font-size:var(--fs-sm);text-align:left;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.store-cores-link:hover{color:var(--rune-bright)}.store-cores-link:disabled{cursor:default;color:var(--text-mute);text-decoration:none}.store-signin .seg-btn{padding:0 var(--s5);flex:none;align-self:flex-start}.store-charter{flex-wrap:wrap;align-items:flex-start}.store-charter-items,.store-charter-note,.store-charter>.store-card-right{flex-basis:100%}.store-charter-items{margin:var(--s2) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.store-charter-item{align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--text);display:flex}.store-charter-item .gicon{width:18px;color:var(--el-arcane);flex:none;justify-content:center;align-items:center;display:inline-flex}.store-charter-item .gicon svg{width:16px;height:16px}.store-charter-note{margin:var(--s2) 0 0}.store-charter>.store-card-right{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border)}@container (width>=480px){.store-card:not(.store-charter){flex-wrap:nowrap}.store-card:not(.store-charter)>.store-card-right{border-top:0;flex:none;padding-top:0}.store-card-right{align-items:flex-end}.store-cores-buy{align-self:auto;align-items:flex-end}.store-cores-buy .store-card-price,.store-cores-buy .store-buy.is-owned{align-self:auto}.store-cores-buy .store-buy{max-width:180px}.store-cores-terms,.store-cores-status,.store-cores-why-line,.store-cores-link{text-align:right;max-width:180px}.store-cores-why{align-items:flex-end}}.opt-group{padding:var(--s4);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);flex-direction:column;display:flex}.opt-group-title{margin:0 0 var(--s3);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.22em;text-transform:uppercase;color:var(--rune);font-weight:700}.opt-group>.opt-card{box-shadow:none;padding:var(--s4) 0 0;margin-top:var(--s4);border:none;border-top:1px solid var(--border);background:0 0;border-radius:0}.opt-group>.opt-group-title+.opt-card{border-top:none;margin-top:0;padding-top:0}.opt-card{gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);flex-direction:column;display:flex}.opt-card-label{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;color:var(--rune)}.segmented{gap:var(--s2);display:flex}.seg-btn{min-height:48px;padding:0 var(--s3);color:var(--text-dim);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);flex:1;font-weight:700;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.seg-btn:hover{border-color:var(--border-strong);color:var(--text)}.seg-btn.selected{color:#fff4dd;border-color:var(--rune);box-shadow:inset 0 1px 0 #fff6e024, 0 0 16px var(--rune-soft);background:linear-gradient(#e0b24a57,#966e1e33)}.page-body-inner.opt-shell{width:min(920px,100%)}.opt-panes{align-items:start;column-gap:var(--s5);row-gap:var(--s3);grid-template-rows:1fr auto;grid-template-columns:224px minmax(0,1fr);display:grid}.opt-panes>.opt-rail{grid-area:1/1}.opt-panes>.opt-content{grid-area:1/2/span 2}.opt-panes>.opt-rail-foot{grid-area:2/1}.opt-rail{gap:var(--s2);flex-direction:column;flex:0 0 224px;display:flex;position:sticky;top:0}.opt-rail-chips{gap:var(--s2);flex-direction:column;display:flex}.opt-rail-label{padding:2px var(--s3) var(--s2);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);font-weight:600}.opt-rail-btn{align-items:center;gap:var(--s3);min-height:44px;padding:10px var(--s3);text-align:left;color:var(--text-dim);font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-md);background:0 0;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s;display:flex}.opt-rail-btn:hover{color:var(--text);background:color-mix(in srgb, var(--surface-3) 60%, transparent)}.opt-rail-btn.active{color:var(--rune-bright);border-color:var(--rune);background:var(--rune-soft);box-shadow:inset 0 1px 0 var(--carve-hi);font-weight:700}.opt-rail-ic{width:20px;height:20px;color:var(--rune);flex:none;place-items:center;display:grid}.opt-rail-ic svg{width:20px;height:20px}.opt-rail-btn:not(.active) .opt-rail-ic{color:var(--text-mute)}.opt-row-name.opt-row-name-ic{align-items:center;gap:.4em;display:flex}.opt-row-name-ic .gicon{color:var(--rune);flex:none}.opt-rail-foot{align-items:center;gap:var(--s3);margin-top:var(--s3);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;display:flex}.opt-rail-foot-mark{color:var(--rune);font-size:1.1em;line-height:1}.opt-rail-foot-word{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text)}.opt-rail-foot-ver{font-size:var(--fs-xs);color:var(--text-mute);font-variant-numeric:tabular-nums}.opt-rail-foot-text{flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;min-width:0;display:flex}.opt-rail-foot-doors{gap:var(--s2);flex-direction:column;flex:100%;display:flex}.opt-rail-foot-notes{width:100%;min-height:44px;padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--rune);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;align-items:center;line-height:1.3;transition:border-color .15s,color .15s;display:flex}.opt-rail-foot-notes.has-gicon{justify-content:flex-start}.opt-rail-foot-notes:hover{border-color:var(--border-strong);color:var(--rune-bright)}.opt-content{flex:1 1 0;min-width:0}.opt-panel{border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);animation:.28s both opt-panel-rise;overflow:hidden}@keyframes opt-panel-rise{0%{opacity:0;transform:translateY(6px)}}.opt-panel-head{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5) 0;display:flex}.opt-panel-ic{width:22px;height:22px;color:var(--rune);flex:none;place-items:center;display:grid}.opt-panel-ic svg{width:22px;height:22px}.opt-panel-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:.1em;text-transform:uppercase;color:var(--rune);margin:0}.opt-panel-desc{margin:4px var(--s5) 0;color:var(--text-mute);font-size:var(--fs-sm)}.opt-rows{padding:var(--s2) var(--s5) var(--s4)}.opt-rows>*+*{border-top:1px solid var(--border)}.opt-row{align-items:center;gap:var(--s4);row-gap:var(--s2);padding:var(--s3) 0;flex-wrap:wrap;display:flex}.opt-row-text{flex:auto;min-width:0}.opt-row-name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);color:var(--text)}.opt-row-desc{color:var(--text-mute);font-size:var(--fs-sm);margin:3px 0 0;line-height:1.45}.opt-row-control{flex:none;align-items:center;margin-left:auto;display:flex}.opt-seg{border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface), var(--surface-2));gap:3px;padding:3px;display:inline-flex}.opt-seg-btn{min-height:32px;padding:0 var(--s3);color:var(--text-mute);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.04em;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:1px solid #0000;transition:color .15s,background .15s,border-color .15s}.opt-seg-btn:hover{color:var(--text)}.opt-seg-btn.selected{color:var(--rune-bright);border-color:var(--rune);background:linear-gradient(#e0b24a57,#966e1e33);box-shadow:inset 0 1px #fff6e024}.opt-linkbtn{min-height:38px;padding:0 var(--s4);color:var(--text);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;border:1px solid var(--border-strong);border-radius:var(--r-md);background:linear-gradient(180deg, var(--surface-3), var(--surface-2));align-items:center;gap:4px;transition:border-color .15s,color .15s;display:inline-flex}.opt-linkbtn:hover{border-color:var(--rune);color:var(--rune-bright)}.opt-linkbtn:disabled{opacity:.7;cursor:default}.opt-chev{font-size:1.15em;line-height:1}.opt-sliders{transition:opacity .2s,filter .2s}.opt-sliders.is-muted{opacity:.4;filter:grayscale(.5);pointer-events:none}.opt-slider-row{align-items:center;gap:var(--s4);padding:var(--s3) 0;display:flex}.opt-slider-row+.opt-slider-row{border-top:1px solid var(--border)}.opt-slider-label{align-items:center;gap:var(--s2);width:150px;font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);color:var(--text);flex:none;display:flex}.opt-slider-ic{width:18px;height:18px;color:var(--rune);flex:none}.opt-slider-ic svg{width:18px;height:18px}.opt-slider-row .volume-slider{flex:1 1 0;min-width:0}.opt-slider-val{text-align:right;min-width:2.6ch;color:var(--text);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.opt-pace-control{align-items:center;gap:var(--s3);display:flex}.opt-pace-control .opt-pace-input{touch-action:none;flex:none;width:132px}.opt-pace-val{min-width:9ch}.opt-pace-sample{margin:var(--s2) 0 0;color:var(--text);font-size:var(--fs-sm);min-height:3em;font-style:italic;line-height:1.5}.opt-mute-name{align-items:center;gap:var(--s2);display:flex}.opt-mute-name .gicon{color:var(--rune)}.opt-mute-badge{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;color:var(--rune-bright);border:1px solid var(--rune);border-radius:var(--r-sm);background:var(--rune-soft);padding:2px 7px}.opt-install-status{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--success);white-space:nowrap}.opt-avatar{background:radial-gradient(circle at 35% 30%, var(--surface-3), var(--surface));border:1.5px solid var(--rune);width:48px;height:48px;box-shadow:0 0 14px var(--rune-soft), inset 0 1px 0 var(--carve-hi);font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);color:var(--rune-bright);border-radius:50%;flex:none;place-items:center;display:grid}.opt-avatar.guest{border-color:var(--border-strong);box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text-mute)}.opt-profile-text{flex:auto;min-width:0}.opt-profile-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.opt-profile-status{font-size:var(--fs-sm);color:var(--text-mute);align-items:center;gap:6px;margin-top:3px;display:flex}.opt-status-dot{background:var(--text-mute);border-radius:50%;flex:none;width:7px;height:7px}.opt-status-dot.ok{background:var(--success);box-shadow:0 0 6px var(--success)}.opt-devices{padding:var(--s3) 0}.opt-devices .account-devices{margin-top:var(--s3)}@media (max-width:720px){.opt-panes{gap:var(--s4);flex-direction:column;display:flex}.opt-rail{z-index:3;gap:var(--s2);width:100%;min-width:0;max-width:100%;padding:var(--s2) 0;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;flex:none;position:sticky;top:0}.opt-rail-chips{gap:var(--s2);scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;width:100%;min-width:0;max-width:100%;overflow-x:auto}.opt-rail-chips::-webkit-scrollbar{display:none}.opt-rail-label{display:none}.opt-rail-foot{width:100%;margin-top:var(--s2)}.opt-rail-btn{white-space:nowrap;border-color:var(--border);border-radius:var(--r-pill);background:var(--surface-2);flex:none;min-height:40px}.opt-rail-btn.active{border-color:var(--rune);background:var(--rune-soft)}.opt-panel-head{padding:var(--s3) var(--s4) 0}.opt-panel-desc{margin:4px var(--s4) 0}.opt-rows{padding:var(--s1) var(--s4) var(--s3)}.opt-slider-label{width:118px}.opt-seg-btn{min-height:40px;padding:0 var(--s4)}.opt-linkbtn{min-height:42px}}.account-body{gap:var(--s2);flex-direction:column;display:flex}.account-input{min-height:44px;padding:0 var(--s3);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-3);outline:none}.account-input:focus{border-color:var(--rune)}.account-error{min-height:1.2em;color:var(--danger);font-size:var(--fs-sm);margin:0}.account-screen{width:min(560px,100%)}.account-screen-body{gap:var(--s4);flex-direction:column;display:flex}.account-who{font-size:var(--fs-md);color:var(--text)}.account-cloud-ok{color:var(--success);margin:0;font-weight:600}.account-email-ok{color:var(--success);word-break:break-all;margin:0;font-weight:700}.account-email-pending{color:#f0b866;word-break:break-all;margin:0;font-weight:600}.account-forgot{cursor:pointer;color:var(--rune);font-size:var(--fs-sm);background:0 0;border:none;align-self:center;margin-top:2px;padding:4px 8px;text-decoration:underline}.account-google{justify-content:center;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s4);cursor:pointer;color:#1f1f1f;font-family:var(--font-display);border-radius:var(--r-pill);background:#fff;border:1px solid #dadce0;font-weight:700;transition:box-shadow .14s;display:inline-flex}.account-google:hover{box-shadow:0 1px 6px #00000059}.account-google-g{color:#fff;background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 90deg,#34a853 90deg,#fbbc05 70deg);border-radius:50%;place-items:center;width:22px;height:22px;font-family:system-ui,sans-serif;font-weight:800;display:grid}.account-danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))!important}.opt-card-sublabel{margin-top:var(--s2);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.account-guest-warning{background:linear-gradient(180deg, color-mix(in srgb, #f0b866 12%, var(--surface-2)), var(--surface));border-color:color-mix(in srgb, #f0b866 45%, var(--border))!important}.account-guest-title{color:#f0b866}.seg-btn.danger{border-color:color-mix(in srgb, var(--danger) 55%, transparent);color:var(--danger)}.seg-btn.danger:hover{background:color-mix(in srgb, var(--danger) 14%, var(--surface))}.account-stats{gap:var(--s2);flex-wrap:wrap;display:flex}.account-stats .panel-statpill{padding:var(--s3);text-align:center;flex:120px;gap:4px}.account-stats .panel-statval{font-size:var(--fs-xl)}.account-stats .panel-statlabel{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-dim);text-align:center;line-height:1.25}.account-devices{gap:var(--s2);margin-top:var(--s2);flex-direction:column;display:flex}.account-device-row{justify-content:space-between;align-items:baseline;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border,#ffffff1a);border-radius:10px;flex-wrap:wrap;display:flex}.account-device-row.active{background:#e8c15a14;border-color:#e8c15a73}.account-device-name{font-weight:600}.account-device-meta{font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-dim)}.account-device-row.active .account-device-meta{color:var(--gold,#e8c15a)}.board-screen{width:min(640px,100%)}.board-filterbar{gap:var(--s2);flex-direction:column;display:flex}.board-scope{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--rune);align-items:center;gap:.4em;display:inline-flex}.board-pickrow{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.board-filter{gap:var(--s1);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-3);flex:none;padding:3px;display:flex}.board-filter .seg-btn{min-height:38px;padding:0 var(--s4);border-radius:var(--r-pill);box-shadow:none;background:0 0;border:0;flex:none}.board-filter .seg-btn.selected{color:#fff4dd;background:linear-gradient(#e0b24a57,#966e1e33);box-shadow:inset 0 1px #fff6e024}.board-select{min-width:0;min-height:40px;padding:0 var(--s3);font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex:auto}.board-select:focus-visible{outline:2px solid var(--rune);outline-offset:1px}.board-list-card{gap:var(--s2);padding:var(--s3)}.board-head{align-items:baseline;gap:var(--s2);padding:0 10px var(--s2);border-bottom:1px solid var(--border);color:var(--text-mute);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;grid-template-columns:3.4em 1fr auto;display:grid}.board-head .board-hstat{color:var(--rune);font-weight:700}.board-list{flex-direction:column;gap:2px;display:flex}.board-row{align-items:baseline;gap:var(--s2);width:100%;min-height:var(--touch);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;grid-template-columns:3.4em 1fr auto;padding:8px 10px;display:grid}.board-row:nth-child(odd){background:#ffffff08}.board-row:hover{background:#ffffff14}.board-row.is-me{background:#e8c15a1a;outline:1px solid #e8c15a59}.board-row:focus-visible{outline:2px solid var(--rune);outline-offset:-2px}.board-frame-dot{border:2px solid var(--border-strong);vertical-align:middle;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin:0 6px 0 3px;display:inline-block}.board-sigil{color:var(--rune-bright);font-size:calc(14px * var(--text-scale));vertical-align:middle;margin-left:3px}.board-sigil .gicon,.board-qualified .gicon{vertical-align:middle;display:inline-flex}.board-rank{color:var(--text-dim);font-variant-numeric:tabular-nums}.board-rank.has-podium{align-items:center;gap:.2em;display:inline-flex}.board-rank-gold .gicon{color:var(--gold)}.board-rank-silver .gicon{color:var(--silver)}.board-rank-bronze .gicon{color:var(--bronze)}.board-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-you{color:var(--gold,#e8c15a);font-size:var(--fs-sm);text-transform:uppercase;font-weight:700}.board-level{border-radius:var(--r-pill);border:1px solid var(--border-strong);color:var(--rune);font-size:calc(10px * var(--text-scale));font-variant-numeric:tabular-nums;vertical-align:1px;padding:0 5px;font-weight:700;display:inline-block}.board-qualified{color:var(--success);font-weight:700;font-size:calc(14px * var(--text-scale))}.board-name.is-unqualified{color:var(--text-mute)}.board-value{font-variant-numeric:tabular-nums;font-weight:700}.board-note{margin:0}.volume-row{align-items:center;gap:var(--s3);grid-template-columns:auto auto 1fr auto;display:grid}.volume-icon{width:22px;height:22px;color:var(--rune)}.volume-icon svg{width:20px;height:20px}.volume-name{font-family:var(--font-display);color:var(--text);white-space:nowrap;font-weight:600}.volume-value{text-align:right;min-width:2.6ch;color:var(--text);font-variant-numeric:tabular-nums;justify-self:end;font-weight:700}.volume-slider{appearance:none;border-radius:var(--r-pill);background:linear-gradient(90deg, var(--rune-bright) var(--fill,70%), #20242e var(--fill,70%));touch-action:manipulation;outline:none;width:100%;height:6px}.volume-slider::-webkit-slider-thumb{appearance:none;background:var(--rune-bright);width:18px;height:18px;box-shadow:0 0 8px var(--rune-soft);cursor:pointer;border:2px solid #2a2410;border-radius:50%}.volume-slider::-moz-range-thumb{background:var(--rune-bright);cursor:pointer;border:2px solid #2a2410;border-radius:50%;width:18px;height:18px}@media (pointer:coarse){.volume-slider{background-clip:content-box;height:44px;padding-block:19px}}.level-card{justify-content:space-between;align-items:center;gap:var(--s3);min-height:var(--touch);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);font-weight:600;font-size:var(--fs-md);cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s;display:flex}.level-card:hover:not(.locked){border-color:var(--rune);box-shadow:0 0 14px var(--rune-soft)}.level-card.selected{border-color:var(--rune);background:linear-gradient(180deg, var(--rune-soft), var(--surface));box-shadow:inset 0 0 0 1px var(--rune), 0 0 16px var(--rune-soft)}.level-card.selected .level-name{color:var(--rune-bright)}.level-card.locked{opacity:.5;cursor:default}.mod-card{align-items:flex-start;gap:var(--s1);flex-direction:column}.mod-card .level-name{font-family:var(--font-display);color:var(--text)}.mod-desc{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.mod-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.reroll-btn{padding:4px var(--s3);font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text-dim);cursor:pointer;font-weight:700}.reroll-btn:hover{border-color:var(--rune);color:var(--rune-bright)}.level-stars{color:var(--gold);letter-spacing:2px;font-size:var(--fs-sm)}.select-screen{width:min(720px,100%)}.biome-section{gap:var(--s2);padding:var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.biome-section.locked{opacity:.72}.biome-header{flex-direction:column;gap:2px;display:flex}.biome-name{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--rune-bright);text-shadow:0 0 12px var(--rune-soft);margin:0}.biome-tagline{color:var(--text-dim);font-style:italic;font-size:var(--fs-sm);margin:0}.briefing{gap:var(--s1);padding:var(--s2) var(--s3);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-sm);flex-direction:column;display:flex}.briefing-row{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.briefing-label{min-width:5.5em;font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-mute);flex:none}.foe-chip{font-size:var(--fs-lg);cursor:default;line-height:1}.briefing-defense{color:var(--text-dim);font-size:var(--fs-sm);line-height:1.4}.map-grid{grid-template-columns:repeat(auto-fill, minmax(calc(130px * var(--text-scale)), 1fr));gap:var(--s2);display:grid}.map-card{min-height:60px;padding:var(--s2);background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:border-color .12s,box-shadow .12s;display:flex}.map-card:hover:not(.locked){border-color:var(--rune);box-shadow:0 0 12px var(--rune-soft)}.map-card.locked{opacity:.5;cursor:default}.map-num{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg)}.map-badge{color:var(--gold);letter-spacing:1px;font-size:var(--fs-sm);justify-content:center;align-items:center;display:inline-flex}.map-badge.map-lock{color:var(--text-mute);letter-spacing:0;font-size:calc(13px * var(--text-scale));gap:.2em}.map-stars{font-size:calc(13px * var(--text-scale));gap:1px;display:inline-flex}.map-stars .gicon.off{color:var(--text-mute);opacity:.35}.map-stars .gicon.on{color:var(--gold)}.map-waves{color:var(--text-mute);font-size:calc(13px * var(--text-scale));letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}.intro-length{margin:0 0 var(--s2);color:var(--text-mute);font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.intro-text{color:var(--text-dim);line-height:1.75;font-size:var(--fs-md);margin:0}.intro-note{font-size:var(--fs-sm);color:var(--text-mute);font-style:italic}.intro-intensity{align-items:center;gap:var(--s2);flex-direction:column;width:100%;display:flex}.intensity-row{gap:var(--s1);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);padding:4px;display:inline-flex}.intensity-btn{padding:var(--s1) var(--s3);border-radius:var(--r-md);color:var(--text-mute);font-family:var(--font-body);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:600}.intensity-btn:hover{color:var(--text)}.intensity-btn.active{border-color:color-mix(in srgb, var(--gold) 45%, var(--border));background:color-mix(in srgb, var(--gold) 14%, var(--surface));color:var(--gold)}@media (pointer:coarse){.intensity-btn{min-height:44px}}.intensity-desc{text-align:center;margin:0}.intro-primer{width:100%;padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb, var(--gold) 40%, var(--border));border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 10%, var(--surface-2)), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);text-align:left}.intro-primer-title{font-family:var(--font-display);color:var(--gold);letter-spacing:.02em;margin-bottom:var(--s2);font-weight:700}.intro-primer-list{color:var(--text-dim);font-size:var(--fs-sm);flex-direction:column;gap:6px;margin:0;padding-left:1.4em;line-height:1.5;display:flex}.intro-primer-list li::marker{color:var(--gold);font-weight:700}.codex-left{overscroll-behavior:contain;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow-y:auto}.codex-left>.story-head,.codex-left>.story-adminline{padding-left:var(--s4);padding-right:var(--s4);padding-top:var(--s3);flex:none}.codex-left>.codex-roster{min-height:0;overflow:visible}.story-adminline{margin:0 0 var(--s2);color:var(--rune);font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.story-actions{gap:var(--s2);padding-bottom:var(--s3);flex-direction:column;display:flex}.story-action{text-align:left;min-width:0;padding:var(--s2) var(--s3)}.story-action-label{flex-direction:column;gap:2px;display:flex}.story-action-sub{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:0;text-transform:none;opacity:.72;font-weight:400}.story-action.is-armed{border-color:var(--danger);color:var(--danger)}@media (max-width:767px){.codex-screen{height:auto;min-height:100%;overflow-y:auto}.codex-screen>.codex-body{min-height:0;overflow:clip visible}.codex-screen .codex-detail{position:fixed}.codex-screen{z-index:3;position:relative}.codex-screen>.codex-body>.codex-left{height:auto;max-height:none;overflow:visible}.story-action{min-width:0;max-width:none;padding:var(--s2);text-align:center;font-size:var(--fs-sm);flex:1 1 0}.story-action-sub{display:none}}.story-section{padding:var(--s3) var(--s3) var(--s2);color:var(--text-mute);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase}.story-roster.is-groups{padding-bottom:var(--s4)}.story-groups{gap:var(--s2);flex-direction:column;display:flex}.story-groups>.story-section{padding:0 0 var(--s1)}.story-group-grid{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.story-group-grid-after{margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--border)}.story-group{--group-color:var(--border-strong);min-width:0;min-height:var(--touch);padding:var(--s3) var(--s3) var(--s2);text-align:left;cursor:pointer;color:var(--text);border:1px solid var(--border);border-left:3px solid var(--group-color);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:14px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:4px;font-family:inherit;transition:border-color .14s,box-shadow .14s;display:flex}.story-group:hover{border-color:var(--group-color)}.story-group:focus-visible,.story-groups-back:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.story-group.is-current{border-color:var(--group-color);box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 14px color-mix(in srgb, var(--group-color) 28%, transparent)}.story-group.is-locked{opacity:.72}.story-group-name{font-family:var(--font-display);font-weight:700;font-size:calc(15px * var(--text-scale));letter-spacing:.02em;overflow-wrap:anywhere;line-height:1.25}.story-group-count{font-size:calc(13px * var(--text-scale));color:var(--text-mute)}.story-group-bar{background:#ffffff14;border-radius:2px;align-self:stretch;height:4px;margin-top:2px;overflow:hidden}.story-group-fill{background:var(--group-color);height:100%;display:block}.story-group[data-group=act\.marsh]{--group-color:#4fb39a}.story-group[data-group=act\.forest]{--group-color:var(--el-nature)}.story-group[data-group=act\.mountains]{--group-color:#a7b2c4}.story-group[data-group=act\.frost]{--group-color:var(--el-cold)}.story-group[data-group=breach]{--group-color:var(--el-arcane)}.story-group[data-group=winters]{--group-color:#dfe8f3}.story-groups-back{min-height:var(--touch);padding:0 var(--s4);color:var(--text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);align-self:flex-start;align-items:center;gap:6px;font-weight:700;display:inline-flex}.story-group-head{justify-content:space-between;align-items:baseline;gap:var(--s1) var(--s3);padding:var(--s2) 0 var(--s1);flex-wrap:wrap;display:flex}.story-group-title{min-width:0;font-family:var(--font-display);font-size:var(--fs-lg);overflow-wrap:anywhere;margin:0;font-weight:700}.story-list{flex-direction:column;gap:6px;display:flex}.story-year{margin:var(--s3) 0 0;color:var(--text-mute);font-family:inherit;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;padding:0 0 2px;font-weight:400}.story-year:first-child{margin-top:0}.codex-row.is-locked{opacity:.45;cursor:default}.codex-row.is-locked .codex-chevron{visibility:hidden}.story-read{margin:var(--s3) 0 0;max-width:62ch;color:var(--text-dim);white-space:pre-line;line-height:1.75}.story-read-voice{color:var(--rune);font-style:italic}.story-replay{margin-top:var(--s4);align-self:flex-start}.info-screen{gap:var(--s3);width:min(680px,100%);max-height:88dvh;overflow-y:auto}.info-screen .info-header{z-index:4;margin:calc(-1 * var(--screen-pad)) calc(-1 * var(--screen-pad)) 0;padding:var(--screen-pad) var(--screen-pad) var(--s3);background:linear-gradient(180deg, var(--surface-2) 0, var(--surface-2) 72%, transparent);flex:none;position:sticky;top:0}.info-sub{text-align:center;color:var(--text-dim);margin:-6px 0 0;font-style:italic}.info-header{justify-content:space-between;align-items:flex-start;gap:var(--s3);display:flex}.info-kicker{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--rune);font-weight:700}.info-title{text-align:left;font-size:var(--fs-xl);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 0}.info-defense{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--rune-soft);border-radius:var(--r-md);color:var(--text);background:linear-gradient(#e0b24a14,#e0b24a08);font-weight:600;display:flex}.info-defense-ic{font-size:calc(18px * var(--text-scale));color:var(--rune-bright);flex:none}.info-cols{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}@media (max-width:560px){.info-cols{grid-template-columns:1fr}}.foe-chip{font-size:var(--fs-sm);gap:7px}.foe-chip-glyph{color:color-mix(in srgb, var(--foe,#888) 75%, #fff);flex:none}.info-el-chip{color:var(--el-color,var(--text));border-color:color-mix(in srgb, var(--el-color,#fff) 40%, var(--border))}.info-camera{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-mute);font-size:var(--fs-sm);display:flex}.enemy-count{color:var(--gold);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.info-label{align-items:center;gap:var(--s2);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);color:var(--text-mute);letter-spacing:.18em;text-transform:uppercase;padding-bottom:4px;display:flex}.info-label-ic{font-size:calc(14px * var(--text-scale));color:var(--rune)}.info-label-ic svg{width:14px;height:14px}.info-sublabel{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute)}.info-para{color:var(--text-dim);margin:0;line-height:1.5}.enemy-list{gap:var(--s2);display:grid}.enemy-row{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.enemy-ic{font-size:calc(26px * var(--text-scale));flex:none;line-height:1}.enemy-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.enemy-nm{color:var(--text);font-weight:700}.enemy-stats{font-size:var(--fs-sm);color:var(--text-mute);font-variant-numeric:tabular-nums}.resist-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.rchip{border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:2px 7px;font-weight:700;display:inline-flex}.rchip .gicon.rchip-status,.rchip .gicon.rchip-el{font-size:1.2em}.rchip .gicon.rchip-status{box-sizing:content-box;color:var(--st,var(--text));background:#0006;border-radius:50%;padding:.12em}.rchip-ic{font-size:calc(13px * var(--text-scale))}.rchip-resist{color:var(--text-dim)}.rchip-immune{color:var(--danger)}.rchip-weak{color:var(--success)}.run-block{gap:var(--s2);flex-direction:column;display:flex}.chip-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.info-chip{padding:3px var(--s3) 3px var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.info-chip-ic{font-size:calc(16px * var(--text-scale));color:var(--rune)}.arsenal-ic{font-size:calc(24px * var(--text-scale));filter:drop-shadow(0 0 5px)}.arsenal-list{gap:var(--s2);flex-direction:column;display:flex}.arsenal-row{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.arsenal-row .arsenal-ic{flex:none}.arsenal-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.arsenal-nm{color:var(--text);font-weight:700}.arsenal-fx{font-size:var(--fs-sm);color:var(--text-mute)}.bestiary-screen{width:min(560px,100%)}.bestiary-stage{top:calc(-1 * var(--s5) + var(--s2));z-index:3;border:1px solid var(--border);border-radius:var(--r-md);background:radial-gradient(120% 100% at 50% 0%, #e0b24a0f, transparent 60%), var(--surface);background-position:50%;background-size:cover;flex:none;width:100%;height:240px;position:sticky;overflow:hidden;box-shadow:0 10px 26px #0000008c}.bestiary-stage canvas{width:100%;height:100%;display:block;position:relative}.bestiary-detail{gap:var(--s2);text-align:center;flex-direction:column;align-items:center;display:flex}.bestiary-detail .chip-row{justify-content:center}.bestiary-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--rune-bright)}.bestiary-resists{justify-content:center}.bestiary-chips{gap:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.bestiary-chip{width:52px;height:52px;font-size:calc(24px * var(--text-scale));border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;display:inline-flex}.bestiary-chip:hover{border-color:var(--rune)}.bestiary-chip.selected{border-color:var(--rune);background:var(--rune-soft);box-shadow:0 0 12px var(--rune-soft)}.bestiary-chip-text{width:auto;height:auto;padding:var(--s2) var(--s3);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600}.foe-chip-text{font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);padding:2px 8px}.briefing-foes{gap:var(--s2);flex-wrap:wrap;display:flex}.bestiary-desc{color:var(--text-dim);font-size:var(--fs-sm);max-width:44ch;margin:0}.bestiary-statlines{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.bestiary-statline{font-size:var(--fs-sm)}.bestiary-statlabel{color:var(--text-mute)}.bestiary-statvalue{font-variant-numeric:tabular-nums;font-weight:600}.bestiary-subhead{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text-mute);margin-top:var(--s2)}.arsenal-fx-list{flex-direction:column;gap:3px;max-width:44ch;margin:4px 0 0;padding:0;list-style:none;display:flex}.arsenal-fx-list li{color:var(--rune-bright);font-size:var(--fs-sm);line-height:1.35}.bestiary-resistlist{flex-direction:column;align-items:center;gap:3px;display:flex}.bestiary-resist-line{font-size:var(--fs-sm)}.rline-resist{color:var(--text-dim)}.rline-immune{color:var(--danger)}.rline-weak{color:var(--success)}.fps-counter{z-index:50;border-radius:var(--r-pill);color:var(--text-dim);font-family:var(--font-mono,monospace);font-size:calc(12px * var(--text-scale));font-variant-numeric:tabular-nums;pointer-events:none;background:#0a0c108c;padding:2px 7px;position:fixed;bottom:6px;right:8px}.consent-banner{left:50%;bottom:var(--s3);z-index:60;width:min(720px, calc(100vw - 2 * var(--s3)));align-items:center;gap:var(--s3) var(--s4);padding:var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);color:var(--text);font-family:var(--font-body);background:linear-gradient(#161921fa,#0c0e13fa);flex-wrap:wrap;animation:.35s both consent-in;display:flex;position:fixed;transform:translate(-50%)}@keyframes consent-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.consent-text{font-size:var(--fs-sm);color:var(--text-dim);flex:320px;margin:0;line-height:1.4}.consent-link{color:var(--rune-bright,var(--gold));font:inherit;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;text-decoration:underline}.consent-actions{gap:var(--s2);flex:none;display:flex}.consent-actions .seg-btn{white-space:nowrap}.legal-shell{container-type:inline-size}.legal-tabs{margin-bottom:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@container (width>=520px){.legal-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}.legal-draft.has-gicon{justify-content:flex-start;align-items:flex-start}.legal-draft{margin-bottom:var(--s4);padding:10px var(--s4);border-radius:var(--r-md);color:var(--gold,#e0b04a);font-size:var(--fs-sm);background:#e0b04a1f;border:1px solid #e0b04a80;line-height:1.4}.legal-doc{text-align:left}.legal-doc-title{font-family:var(--font-display,var(--font-body));font-size:var(--fs-xl,1.4rem);color:var(--text);margin:0 0 4px}.legal-doc-intro{margin:0 0 var(--s4);color:var(--text-dim);font-size:var(--fs-sm);font-style:italic}.legal-section-title{margin:var(--s4) 0 var(--s2);font-size:var(--fs-md,1.05rem);color:var(--rune-bright,var(--gold))}.legal-p{margin:0 0 var(--s3);font-size:var(--fs-sm);color:var(--text);line-height:1.55}.legal-list{margin:0 0 var(--s3);padding-left:var(--s5,1.5em);font-size:var(--fs-sm);color:var(--text);line-height:1.5}.legal-list li{overflow-wrap:anywhere;margin-bottom:6px}.legal-p,.legal-list{overflow-wrap:anywhere}.legal-doc a{color:var(--rune);text-decoration:underline}.account-check{align-items:flex-start;gap:var(--s2);font-size:var(--fs-sm);color:var(--text-dim);cursor:pointer;margin:6px 0;line-height:1.35;display:flex}.account-check-box{width:18px;height:18px;accent-color:var(--rune-bright,var(--gold));cursor:pointer;flex:none;margin-top:1px}.account-check-label{flex:1}.account-check-link{color:var(--rune-bright,var(--gold));font:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0;text-decoration:underline}@media (pointer:coarse){.panel-close{width:44px;height:44px}.speed-btn{height:44px}.hud-coach-close{width:32px;height:32px}}@media (hover:none){.rune-plate:hover,.foe-card:hover,.biome-card:hover,.map-card:hover,.tower-btn:hover{transform:none}}#rotate-notice{z-index:300;justify-content:center;align-items:center;gap:var(--s5);padding:var(--s5);text-align:center;background:radial-gradient(900px 700px at 50% 30%, #e0b24a12, transparent 60%), var(--bg);color:var(--text);flex-direction:column;display:none;position:fixed;inset:0}#rotate-notice.show{display:flex}.rotate-glyph{font-size:calc(64px * var(--text-scale));color:var(--rune-bright);filter:drop-shadow(0 0 18px var(--rune-soft));line-height:1;animation:2.4s ease-in-out infinite rotateHint}.rotate-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;color:var(--text)}.rotate-sub{max-width:32ch;color:var(--text-dim);font-size:var(--fs-md);margin:0;line-height:1.5}@keyframes rotateHint{0%,55%,to{transform:rotate(0)}75%,90%{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.rotate-glyph{animation:none}}:root.reduced-motion .rotate-glyph{animation:none}.app-toast{z-index:4000;max-width:min(90vw,420px);padding:var(--s3) var(--s5);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);text-align:center;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,16px)}.app-toast.show{opacity:1;transform:translate(-50%)}.app-toast-deed{border-color:var(--rune);box-shadow:var(--shadow-2), 0 0 0 1px var(--rune-soft)}.app-toast-action{align-items:center;gap:var(--s3);text-align:left;pointer-events:auto;display:flex}.app-toast-text{flex:auto}.app-toast-btn{padding:var(--s2) var(--s4);border-radius:var(--r-pill);border:1px solid var(--rune);background:var(--rune-soft);color:var(--text);font-family:var(--font-body);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;flex:none;font-weight:600}.app-toast-btn:hover{background:var(--rune);color:var(--bg,#12151c)}.install-nudge{left:50%;bottom:max(var(--s4), env(safe-area-inset-bottom));z-index:4000;box-sizing:border-box;gap:var(--s3);width:min(440px,92vw);padding:var(--s4);border-radius:var(--r-lg);background:var(--panel-bg);border:1px solid var(--border-strong);box-shadow:var(--shadow-2), 0 0 0 1px var(--rune-soft);color:var(--text);font-family:var(--font-body);opacity:0;flex-direction:column;transition:opacity .3s,transform .3s;display:flex;position:fixed;transform:translate(-50%,24px)}.install-nudge.show{opacity:1;transform:translate(-50%)}.install-nudge-close{width:var(--touch);height:var(--touch);color:var(--text-mute);font-size:var(--fs-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:0;right:0}.install-nudge-close:hover{color:var(--text)}.install-nudge-close .gicon{font-size:1.3em}.install-nudge-title.gicon-title{justify-content:flex-start}.install-nudge-body{align-items:center;gap:var(--s3);min-width:0;padding-right:var(--s5);display:flex}.install-nudge-icon{border-radius:var(--r-md);width:44px;height:44px;box-shadow:var(--shadow-1);flex:none}.install-nudge-text{min-width:0}.install-nudge-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--rune-bright)}.install-nudge-msg{font-size:var(--fs-sm);color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.4em;margin-top:2px;display:flex}.install-nudge-share{color:var(--rune);font-size:1.15em;display:inline-flex}.install-nudge-actions{gap:var(--s2);display:flex}.install-nudge-actions .primary-btn,.install-nudge-actions .secondary-btn{min-height:var(--touch);flex:auto;margin:0}.share-btn{align-items:center;gap:var(--s2);display:inline-flex}.share-btn svg,.share-btn .icon{width:1em;height:1em}.daily-streak{color:var(--rune-bright);border-color:var(--rune)}.daily-reset{opacity:.7}.profile-topup{min-height:var(--touch);padding:0 var(--s4);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--rune-bright), #d99f2f);color:#1a1408;font-family:var(--font-display);font-size:calc(12px * var(--text-scale));letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:1px solid #f4d888;align-items:center;font-weight:700;display:inline-flex}.profile-topup:hover{filter:brightness(1.08)}.profile-hero{gap:var(--s5);background:linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);flex-wrap:wrap;align-items:center;display:flex;position:relative}.profile-avatar-wrap{flex-shrink:0;width:96px;height:96px;position:relative}.profile-avatar{background:linear-gradient(160deg, var(--surface-3), var(--surface-2));border:2px solid var(--border-strong);width:100%;height:100%;font-family:var(--font-display);font-size:calc(34px * var(--text-scale));color:var(--rune-bright);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.profile-avatar.profile-avatar-art{background-position:50% 35%;background-repeat:no-repeat;background-size:cover}.profile-banner{aspect-ratio:4;border-radius:var(--r-lg) var(--r-lg) 0 0;filter:brightness(.5)saturate(.85);pointer-events:none;background-position:50% 40%;background-size:cover;max-height:100%;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.profile-hero>.profile-hero-info{position:relative}.profile-avatar.pp-avatar-ring{border-width:3px}.pp-sigil-mark{background:var(--surface-2);border:1px solid var(--rune);width:24px;height:24px;color:var(--rune-bright);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px}.pp-sigil-mark svg{width:14px;height:14px}.profile-hero-info{gap:var(--s2);flex-direction:column;flex:260px;min-width:0;display:flex}.profile-name-row{align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.profile-name{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:700}.profile-sub{font-size:var(--fs-sm);color:var(--text-mute);margin:0}.profile-level{padding:2px var(--s3);border-radius:var(--r-pill);border:1px solid var(--rune);color:var(--rune-bright);font-family:var(--font-display);font-size:calc(12px * var(--text-scale));letter-spacing:.06em;white-space:nowrap;background:#e0b24a24;flex:none;font-weight:700}.profile-ladder-title{min-width:0;font-family:var(--font-display);font-size:var(--fs-sm);color:var(--text-mute);overflow-wrap:anywhere}.profile-xp{gap:var(--s1);flex-direction:column;display:flex}.profile-xp-bar{appearance:none;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface-3);width:100%;height:8px;display:block;overflow:hidden}.profile-xp-bar::-webkit-progress-bar{background:var(--surface-3)}.profile-xp-bar::-webkit-progress-value{background:linear-gradient(90deg, var(--rune), var(--rune-bright))}.profile-xp-bar::-moz-progress-bar{background:var(--rune-bright)}.profile-xp-row{gap:var(--s1) var(--s3);font-size:calc(11px * var(--text-scale));flex-wrap:wrap;align-items:baseline;display:flex}.profile-xp-counts{color:var(--text);white-space:nowrap}.profile-xp-hint{min-width:0;color:var(--text-mute)}.profile-medals{gap:var(--s2);flex-wrap:wrap;display:flex}.profile-medal{align-items:center;gap:var(--s2);padding:var(--s1) var(--s3) var(--s1) var(--s2);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-2);display:flex}.profile-medal-icon{font-size:calc(20px * var(--text-scale));display:flex}.profile-medal-gold .profile-medal-icon{color:var(--gold)}.profile-medal-silver .profile-medal-icon{color:var(--silver)}.profile-medal-bronze .profile-medal-icon{color:var(--bronze)}.profile-medal-text{flex-direction:column;line-height:1.2;display:flex}.profile-medal-tier{font-family:var(--font-display);font-size:calc(11px * var(--text-scale));letter-spacing:.04em;text-transform:uppercase;font-weight:700}.profile-medal-gold .profile-medal-tier{color:var(--gold)}.profile-medal-silver .profile-medal-tier{color:var(--silver)}.profile-medal-bronze .profile-medal-tier{color:var(--bronze)}.profile-medal-season{font-size:calc(11px * var(--text-scale));color:var(--text-mute);overflow-wrap:anywhere}.profile-notches{gap:var(--s2);flex-direction:column;display:flex}.profile-notches-row{flex-wrap:wrap;gap:6px;display:flex}.profile-notch{border:1px solid var(--border);border-radius:var(--r-pill);width:24px;height:24px;color:var(--text-mute);font-size:calc(11px * var(--text-scale));justify-content:center;align-items:center;display:inline-flex}.profile-notch.is-lit{color:var(--gold,#e8c15a);border-color:color-mix(in srgb, var(--gold,#e8c15a) 50%, transparent);background:color-mix(in srgb, var(--gold,#e8c15a) 12%, transparent)}.profile-ring,.profile-ring-progress{align-items:center;gap:var(--s2);font-size:var(--fs-xs);margin:0;display:flex}.profile-ring{color:var(--text,#e9e2d0);font-weight:700}.profile-ring-progress{color:var(--text-mute)}.profile-actions{gap:var(--s3);margin-top:var(--s2);flex-wrap:wrap;display:flex}.profile-btn-primary,.profile-btn-secondary{min-height:var(--touch);padding:0 var(--s5);border-radius:var(--r-md);font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.03em;cursor:pointer;border:1px solid;font-weight:700}.profile-btn-primary{color:#1a1408;background:linear-gradient(180deg, var(--rune-bright), #d99f2f);border-color:#f4d888}.profile-btn-secondary{color:var(--text);background:var(--surface-3);border-color:var(--border-strong)}.profile-statgrid{margin-top:var(--s3)}.codex-statgrid.profile-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}@container (width>=430px){.codex-statgrid.profile-statgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-statgrid .codex-stat-label,.profile-statgrid .codex-stat-val{overflow-wrap:break-word}.badge-grid{gap:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.badge-tile{align-items:center;gap:var(--s2);min-width:0;padding:var(--s3) var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:center;flex-direction:column;display:flex}.badge-icon-wrap{border:2px solid var(--border);background:var(--surface-2);width:52px;height:52px;color:var(--text-mute);font-size:calc(22px * var(--text-scale));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.badge-tile.earned .badge-icon-wrap{border-color:var(--rune);background:var(--rune-soft);color:var(--rune-bright)}.badge-name{font-size:calc(11.5px * var(--text-scale));color:var(--text-dim);overflow-wrap:anywhere;line-height:1.3}.badge-tile.earned .badge-name{color:var(--rune-bright)}.badge-progress{font-size:calc(12px * var(--text-scale));font-variant-numeric:tabular-nums;color:var(--text-mute);font-weight:700}.badge-tile.earned .badge-progress{color:var(--rune)}.badge-reward{font-size:calc(10px * var(--text-scale));color:var(--text-mute);opacity:.75;line-height:1.3}.badge-bar{border-radius:var(--r-pill);background:var(--surface-3);width:100%;height:5px;overflow:hidden}.badge-bar-fill{border-radius:var(--r-pill);background:var(--border-strong);height:100%}.badge-tile.earned .badge-bar-fill{background:var(--rune)}.badge-more{grid-column:1/-1}.badge-more>summary{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);cursor:pointer;color:var(--text-mute);font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));letter-spacing:.04em;border:1px dashed var(--border);border-radius:var(--r-md);list-style:none;display:flex}.badge-more>summary::-webkit-details-marker{display:none}.badge-more[open]>summary{border-style:solid}.badge-more-grid{margin-top:var(--s3)}.wardrobe-section{gap:var(--s4);flex-direction:column;display:flex}.wardrobe-guest-hint{font-size:var(--fs-sm);color:var(--text-mute);margin:0}.wardrobe-grid{gap:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fill,minmax(88px,1fr));display:grid}.wardrobe-tile{min-width:0;min-height:var(--touch);align-items:center;gap:var(--s2);padding:var(--s3) var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:center;cursor:pointer;color:inherit;flex-direction:column;align-self:start;font-family:inherit;display:flex}.wardrobe-tile:disabled{cursor:default;opacity:.55}.wardrobe-tile.equipped{border-color:var(--rune);background:var(--rune-soft)}.wardrobe-avatar-visual,.wardrobe-frame-ring{background:var(--surface-2);width:48px;height:48px;color:var(--rune-bright);font-size:calc(22px * var(--text-scale));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wardrobe-frame-ring{border:3px solid var(--border-strong);background:0 0}:is(.profile-avatar,.wardrobe-frame-ring,.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame]{border:0;position:relative}:where(.profile-avatar,.wardrobe-frame-ring,.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame]{--w:3px;--band:radial-gradient(farthest-side, transparent calc(100% - var(--w)), #000 calc(100% - var(--w) + .6px))}:where(.profile-avatar,.wardrobe-frame-ring,.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame]:before{content:"";pointer-events:none;background:var(--frame-a);-webkit-mask:var(--band);-webkit-mask:var(--band);mask:var(--band);border-radius:50%;position:absolute;inset:0}:where(.profile-avatar,.wardrobe-frame-ring,.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame]:after{content:none;pointer-events:none;position:absolute}[data-frame=rank]:before{background:linear-gradient(160deg, var(--frame-a), color-mix(in srgb, var(--frame-a) 55%, #000) 70%)}.profile-avatar[data-frame=rank]{--w:4px}.wardrobe-frame-ring[data-frame=rank]{--w:3px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=rank]{--w:2px}[data-frame=ring]{--o:2px;--g:1.5px;--i:1.5px;--w:calc(var(--o) + var(--g) + var(--i));--band:radial-gradient(farthest-side, transparent calc(100% - var(--w)), #000 calc(100% - var(--w) + .6px) calc(100% - var(--w) + var(--i)), transparent calc(100% - var(--w) + var(--i) + .6px) calc(100% - var(--o) - .6px), #000 calc(100% - var(--o)))}[data-frame=ring]:before{background:conic-gradient(from 30deg, var(--frame-a), var(--frame-b), var(--frame-a), var(--frame-b), var(--frame-a))}.profile-avatar[data-frame=ring]{--o:3px;--g:2px;--i:2px}.profile-avatar[data-ring=silver]{--o:3.5px;--i:2.5px}.profile-avatar[data-ring=gold]{--o:4.5px;--i:3px;box-shadow:0 0 14px 1px color-mix(in srgb, var(--frame-a) 45%, transparent)}.wardrobe-frame-ring[data-ring=silver]{--o:2.5px}.wardrobe-frame-ring[data-ring=gold]{--o:3px;--i:2px;box-shadow:0 0 9px color-mix(in srgb, var(--frame-a) 45%, transparent)}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=ring]{--o:1.5px;--g:1.25px;--i:1.5px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-ring=gold]{box-shadow:0 0 5px 1px color-mix(in srgb, var(--frame-a) 55%, transparent)}:is(.profile-avatar,.wardrobe-frame-ring)[data-ring=silver]:after,:is(.profile-avatar,.wardrobe-frame-ring)[data-ring=gold]:after{content:"";--stud:2.2px;background:radial-gradient(circle at 2.6% 50%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px)), radial-gradient(circle at 97.4% 50%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px));border-radius:50%;inset:0}:is(.profile-avatar,.wardrobe-frame-ring)[data-ring=gold]:after{background:radial-gradient(circle at 50% 2.8%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px)), radial-gradient(circle at 50% 97.2%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px)), radial-gradient(circle at 2.8% 50%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px)), radial-gradient(circle at 97.2% 50%, #fff7de 0 var(--stud), transparent calc(var(--stud) + .6px))}.profile-avatar[data-ring=gold]:after{--stud:2.8px}.wardrobe-frame-ring[data-ring]:after{--stud:1.6px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-ring=silver]:after,:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-ring=gold]:after{content:"";background:var(--frame-a);border-radius:50%;inset:35%}[data-frame=land]:before{background:repeating-conic-gradient(from 11deg, var(--frame-a) 0deg 38deg, var(--frame-b) 38deg 45deg)}.profile-avatar[data-frame=land]{--w:7px}.wardrobe-frame-ring[data-frame=land]{--w:5px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=land]{--w:3.5px}[data-frame=land][data-frame-land=apiary]:before{background:repeating-conic-gradient(from 15deg, var(--frame-a) 0deg 26deg, var(--frame-b) 26deg 30deg)}:is(.profile-avatar,.wardrobe-frame-ring)[data-frame=land][data-frame-land=apiary]:after{content:"";--rim:1.5px;background:radial-gradient(farthest-side, transparent calc(100% - var(--w) - .6px), var(--frame-b) calc(100% - var(--w)) calc(100% - var(--w) + var(--rim)), transparent calc(100% - var(--w) + var(--rim) + .6px) calc(100% - var(--rim) - .6px), var(--frame-b) calc(100% - var(--rim)));border-radius:50%;inset:0}.wardrobe-frame-ring[data-frame=land][data-frame-land=apiary]:after{--rim:1px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=land][data-frame-land=apiary]:before{background:repeating-conic-gradient(from 15deg, var(--frame-a) 0deg 48deg, var(--frame-b) 48deg 60deg)}[data-frame=land][data-frame-land=sheepfold]:before{background:var(--frame-a)}:is(.profile-avatar,.wardrobe-frame-ring)[data-frame=land][data-frame-land=sheepfold]:after{content:"";--post:5px;inset:calc(-1 * var(--post));background:repeating-conic-gradient(from -3deg, var(--frame-b) 0deg 6deg, transparent 6deg 30deg);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--w) - var(--post)), #000 calc(100% - var(--w) - var(--post) + .6px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--w) - var(--post)), #000 calc(100% - var(--w) - var(--post) + .6px));mask:radial-gradient(farthest-side, transparent calc(100% - var(--w) - var(--post)), #000 calc(100% - var(--w) - var(--post) + .6px));border-radius:50%}.wardrobe-frame-ring[data-frame=land][data-frame-land=sheepfold]:after{--post:3px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=land][data-frame-land=sheepfold]:before{background:repeating-conic-gradient(from -10deg, var(--frame-b) 0deg 20deg, var(--frame-a) 20deg 90deg)}[data-frame=lamplit]:before{background:conic-gradient(from 0deg, var(--frame-b), var(--frame-a) 20%, #b27a22 35%, var(--frame-a) 50%, var(--frame-b) 62%, var(--frame-a) 80%, #b27a22 90%, var(--frame-b))}.profile-avatar[data-frame=lamplit]{--w:8px;box-shadow:0 0 18px 3px color-mix(in srgb, var(--frame-a) 50%, transparent), 0 0 0 1px color-mix(in srgb, var(--frame-b) 60%, transparent)}.profile-avatar[data-frame=lamplit]:before{animation:9s linear infinite frame-lamp-sheen}.wardrobe-frame-ring[data-frame=lamplit]{--w:5.5px;box-shadow:0 0 11px 1px color-mix(in srgb, var(--frame-a) 50%, transparent)}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=lamplit]{--w:4px;box-shadow:0 0 6px 1px color-mix(in srgb, var(--frame-a) 60%, transparent)}:is(.profile-avatar,.wardrobe-frame-ring)[data-frame=lamplit]:after{content:"";--flame:12px;left:50%;top:calc(var(--flame) * -.55);width:var(--flame);height:var(--flame);background:radial-gradient(circle at 38% 62%, #fffbe6 0 22%, var(--frame-a) 58%, #c27f1c);box-shadow:0 0 8px 2px color-mix(in srgb, var(--frame-a) 65%, transparent);border-radius:50% 0 50% 50%;transform:translate(-50%)rotate(-45deg)}.wardrobe-frame-ring[data-frame=lamplit]:after{--flame:8px}@keyframes frame-lamp-sheen{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.profile-avatar[data-frame=lamplit]:before{animation:none}}:root.reduced-motion .profile-avatar[data-frame=lamplit]:before{animation:none}[data-frame=charter]:before{background:repeating-conic-gradient(from 4deg, var(--frame-a) 0deg 9deg, transparent 9deg 15deg)}.profile-avatar[data-frame=charter]{--w:5px}.wardrobe-frame-ring[data-frame=charter]{--w:4px}:is(.profile-avatar,.wardrobe-frame-ring)[data-frame=charter]:after{content:"";--thread:1.5px;inset:calc(var(--w) / 2 - var(--thread) / 2);border:var(--thread) solid var(--el-arcane);border-radius:50%}.wardrobe-frame-ring[data-frame=charter]:after{--thread:1px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=charter]{--w:2.5px}:is(.board-frame-dot,.profile-ring-dot,.season-close-ring-dot)[data-frame=charter]:before{background:repeating-conic-gradient(from 10deg, var(--el-arcane) 0deg 40deg, transparent 40deg 60deg)}.wardrobe-label{font-size:calc(11.5px * var(--text-scale));color:var(--text-dim);overflow-wrap:anywhere;line-height:1.3}.wardrobe-tile.equipped .wardrobe-label{color:var(--rune-bright)}.wardrobe-active-tag{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.04em;text-transform:uppercase;color:var(--rune-bright);font-weight:700}.wardrobe-lock-hint{font-size:calc(10px * var(--text-scale));color:var(--text-mute);align-items:center;gap:4px;display:flex}.wardrobe-lock-hint .gicon{font-size:calc(12px * var(--text-scale))}.wardrobe-tile.is-arrived{border-color:var(--el-cold);box-shadow:0 0 0 2px color-mix(in srgb, var(--el-cold) 70%, transparent), 0 0 16px color-mix(in srgb, var(--el-cold) 35%, transparent)}.look-arrival{align-items:flex-start;gap:var(--s2);min-width:0;margin-top:var(--s2);padding:var(--s3);border:1px solid var(--border);border-left:3px solid var(--el-cold);border-radius:var(--r-md);background:color-mix(in srgb, var(--el-cold) 6%, var(--surface));text-align:left;flex-direction:column;display:flex}.look-arrival-head{font-size:var(--fs-sm);color:var(--text);margin:0;font-weight:700}.look-arrival-list{padding-left:var(--s4);font-size:var(--fs-sm);color:var(--text);overflow-wrap:anywhere;flex-direction:column;gap:2px;margin:0;display:flex}.look-arrival-note{font-size:var(--fs-sm);color:var(--text-dim);margin:0;line-height:1.4}.look-arrival-open{min-height:var(--touch);max-width:100%;padding:var(--s1) var(--s4);white-space:normal;text-align:center;line-height:1.25}.store-charter>.look-arrival{flex-basis:100%}.wardrobe-tile-buyable{gap:6px}.wardrobe-price-row{font-size:calc(11px * var(--text-scale));font-variant-numeric:tabular-nums;color:var(--gold);align-items:center;gap:4px;display:flex}.wardrobe-price-row .gicon{font-size:calc(12px * var(--text-scale))}.wardrobe-buy-btn{min-height:var(--touch);max-width:100%;padding:var(--s1) var(--s2);font-size:calc(11px * var(--text-scale));white-space:normal;border-radius:var(--r-md);line-height:1.25}.wardrobe-withdrawal{margin:var(--s2) 0 0;font-size:calc(11px * var(--text-scale));color:var(--text-dim);line-height:1.4}.wardrobe-buy-status{margin:var(--s1) 0 0;padding-top:var(--s1);border-top:1px solid var(--border);font-size:calc(11px * var(--text-scale));color:var(--text-dim);line-height:1.4}.wardrobe-buy-status.is-ok{color:var(--success)}.wardrobe-buy-status.is-error{color:var(--danger)}.wardrobe-verify{align-items:center;gap:var(--s2);padding:var(--s2) 0;text-align:center;flex-direction:column;display:flex}.nameColor-row{gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap;display:flex}.nameColor-swatch{width:var(--touch);height:var(--touch);border:2px solid var(--border-strong);cursor:pointer;background:var(--text);border-radius:50%;flex-shrink:0}.nameColor-swatch.equipped{border-color:var(--rune-bright);box-shadow:0 0 0 2px var(--rune-soft)}.nc-fire{background:#ff5a2a}.nc-cold{background:#4fd6d6}.nc-nature{background:#66c24a}.nc-arcane{background:#b060ff}.season-look-group{gap:var(--s2);flex-direction:column;display:flex}.season-look-group+.season-look-group{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border)}.season-look-group-name{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--el-arcane,#b98bea);font-weight:700}.season-look-keepsakes{gap:var(--s2);flex-wrap:wrap;display:flex}.season-look-keepsake{border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text-mute);padding:4px 12px}.wardrobe-season-art{background-position:50%;background-size:cover}.board-follow{border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface) 55%, transparent)}.board-follow>summary{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);cursor:pointer;color:var(--text);font-family:var(--font-display);letter-spacing:.04em;font-weight:700;list-style:none;display:flex}.board-follow>summary::-webkit-details-marker{display:none}.board-follow>summary:after{content:"▾";text-align:center;width:1em;color:var(--text-dim);transform-origin:50%;margin-left:auto;font-size:1.1em;line-height:1;transition:transform .15s;display:inline-block}.board-follow[open]>summary:after{transform:rotate(180deg)}.board-follow[open]>summary{border-bottom:1px solid var(--border)}.follow-panel{gap:var(--s2);padding:var(--s3) var(--s4) var(--s4);flex-direction:column;display:flex}.follow-list{gap:var(--s1);flex-direction:column;display:flex}.follow-row{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--surface);display:flex}.follow-name{font-family:var(--font-body);color:var(--text)}.follow-form{gap:var(--s2);display:flex}.follow-input{min-width:0;padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);flex:auto}.follow-input:focus-visible{outline:2px solid var(--rune);outline-offset:1px}.follow-hint{min-height:1.2em}.codex-screen{flex-direction:column;gap:0;height:100%;min-height:0;animation:.4s both codexFadeIn;display:flex}.codex-filters{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;flex:none;display:flex;overflow-x:auto}.codex-filter{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));min-height:44px;color:var(--text-dim);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.04em;white-space:nowrap;cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:7px;padding:8px 14px;transition:border-color .14s,color .14s,background .14s;display:inline-flex}.codex-filter:hover{border-color:var(--border-strong);color:var(--text)}.codex-filter[aria-pressed=true]{border-color:var(--rune);color:var(--rune-bright);box-shadow:0 0 10px var(--rune-soft);background:linear-gradient(#6a521f,#3f3113)}.codex-filter-count{min-width:20px;color:inherit;font-size:calc(13px * var(--text-scale));font-variant-numeric:tabular-nums;background:#00000047;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;line-height:1.6;display:inline-flex}.codex-body{flex:auto;min-height:0;display:flex;position:relative}.codex-roster{overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--s3) var(--s4) 72px;flex-direction:column;flex:auto;gap:6px;display:flex;overflow-y:auto}.codex-row{text-align:left;cursor:pointer;width:100%;min-width:0;color:var(--text);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:14px;align-items:center;gap:12px;padding:9px 12px 9px 9px;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}.codex-row:hover{border-color:var(--el-color,var(--border-strong))}.codex-row.is-selected{border-color:var(--el-color,var(--rune));background:radial-gradient(120% 120% at 0% 0%, color-mix(in srgb, var(--el-color,#fff) 14%, transparent), transparent 60%), linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 18px color-mix(in srgb, var(--el-color,#fff) 22%, transparent)}.codex-row.locked{opacity:.55}.codex-dot{background:radial-gradient(circle at 38% 30%, var(--el-color,#888), #00000080);width:40px;height:40px;box-shadow:0 0 12px color-mix(in srgb, var(--el-color,#888) 40%, transparent);color:#0d0f14;border-radius:11px;flex:none;place-items:center;display:grid}.codex-dot svg{width:22px;height:22px}.codex-row[data-kind=tag] .codex-dot,.codex-row[data-kind=zone] .codex-dot{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));box-shadow:none}.codex-row[data-kind=tag] .codex-dot{color:var(--text)}.codex-row[data-kind=zone] .codex-dot{color:var(--danger)}.codex-row[data-kind=tag] .codex-row-headline{color:var(--text)}.codex-row.locked .codex-dot{background:linear-gradient(180deg, color-mix(in srgb, var(--text-mute) 45%, var(--surface-2)), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text-mute);filter:grayscale()}.codex-row-body{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex;overflow:hidden}.codex-row-name{font-family:var(--font-display);font-weight:700;font-size:calc(15px * var(--text-scale));letter-spacing:.02em;overflow-wrap:break-word}.codex-row-sub{font-size:calc(13px * var(--text-scale));color:var(--text-mute);overflow-wrap:break-word}.codex-row-headline{font-family:var(--font-display);font-weight:700;font-size:calc(13px * var(--text-scale));font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--el-color,var(--text)) 72%, var(--text));flex:none;align-items:center;gap:5px;display:inline-flex}.codex-row-headline .gicon{font-size:1.1em}.codex-chevron{color:var(--text-mute);font-size:calc(18px * var(--text-scale));flex:none;line-height:1}.codex-detail{z-index:20;overscroll-behavior:contain;background:var(--bg);transition:transform .32s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:hidden auto;transform:translate(100%)}.codex-body{overflow-x:clip}.codex-detail.is-open{transform:translate(0)}.codex-detail-inner{max-width:760px;padding:clamp(var(--s4), 3vw, 30px) clamp(var(--s4), 3vw, 30px) 72px;gap:var(--s4);flex-direction:column;margin:0 auto;animation:.3s both codexRiseIn;display:flex}.codex-mback{min-height:44px;padding:0 var(--s4);color:var(--text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border:1px solid var(--border);border-top-color:var(--border-strong);border-radius:var(--r-pill);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);align-self:flex-start;align-items:center;gap:6px;font-weight:700;display:inline-flex}.codex-podium{border:1px solid var(--border);background:radial-gradient(70% 70% at 50% 42%, color-mix(in srgb, var(--el-color,#fff) 30%, transparent), transparent 70%), linear-gradient(180deg, var(--surface-2), var(--bg));height:clamp(200px,32vh,280px);box-shadow:inset 0 1px 0 var(--carve-hi);border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.codex-podium:before{content:"";opacity:.24;pointer-events:none;background-image:linear-gradient(90deg,#ffffff29 1px,#0000 1px),linear-gradient(#ffffff29 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 60%,#000,#0000);mask-image:radial-gradient(70% 70% at 50% 60%,#000,#0000)}.codex-canvas{z-index:1;pointer-events:none;border-radius:20px;width:100%;height:100%;display:block;position:absolute;inset:0}.codex-ring{border:1px dashed color-mix(in srgb, var(--el-color,#fff) 40%, var(--border));opacity:.5;pointer-events:none;border-radius:50%;position:absolute}.codex-ring.a{width:min(74%,320px);height:min(74%,320px);animation:60s linear infinite codexSpinRing}.codex-ring.b{width:min(52%,220px);height:min(52%,220px);animation:40s linear infinite reverse codexSpinRing}.codex-crystal{z-index:1;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:radial-gradient(circle at 38% 30%, #fff, var(--el-color,#888) 46%, var(--el-color,#888) 62%, #0000008c);width:132px;height:132px;box-shadow:0 0 46px color-mix(in srgb, var(--el-color,#888) 68%, transparent), inset 0 3px 8px #fff6, inset 0 -12px 22px #00000080;border:1px solid #00000080;animation:5s ease-in-out infinite codexBob;position:relative}.codex-crystal.sm{width:104px;height:104px}.codex-crystal.md{width:132px;height:132px}.codex-crystal.lg{width:160px;height:160px}.codex-crystal.boss{width:184px;height:184px}.codex-crystal.locked{filter:grayscale();background:radial-gradient(circle at 38% 30%,#3a4150,#191d26 62%,#0009);box-shadow:0 0 26px #00000080,inset 0 3px 8px #ffffff1f,inset 0 -12px 22px #00000080}.codex-podium.locked{background:linear-gradient(180deg, var(--surface-2), var(--bg))}.codex-base{z-index:0;filter:blur(3px);pointer-events:none;background:radial-gradient(closest-side,#0000008c,#0000);border-radius:50%;width:46%;height:22px;position:absolute;bottom:14%}.codex-size-badge{z-index:2;border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-dim);font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;background:#00000080;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px}.codex-size-badge .codex-size-gem{color:var(--el-color,var(--rune))}.codex-boss-ribbon{z-index:2;border:1px solid var(--danger);border-radius:var(--r-pill);color:color-mix(in srgb, var(--danger) 60%, var(--text));font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase;background:#c0392b47;align-items:center;gap:.4em;padding:3px 10px;font-weight:700;display:inline-flex;position:absolute;top:10px;right:10px}.codex-name{font-family:var(--font-display);font-weight:800;font-size:calc(clamp(24px, 3.4vw, 34px) * var(--text-scale));letter-spacing:.02em;color:#fff;margin:0;line-height:1.05}.codex-meta{font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase}.codex-meta-cat{color:var(--el-color,var(--rune))}.codex-meta-sep{color:var(--text-mute);margin:0 6px}.codex-meta-biome{color:var(--text-mute)}.codex-chips{flex-wrap:wrap;gap:6px;display:flex}.codex-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-dim);font-size:var(--fs-sm);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;display:inline-flex}.codex-chip.codex-chip-el{color:color-mix(in srgb, var(--el-color,var(--text)) 75%, var(--text));border-color:color-mix(in srgb, var(--el-color,#fff) 45%, var(--border))}.codex-chip-gem{color:var(--el-color,var(--rune))}.codex-lore{font-size:calc(15.5px * var(--text-scale));color:var(--text-dim);text-wrap:pretty;margin:0;line-height:1.65}.codex-section{gap:var(--s3);flex-direction:column;display:flex}.codex-eyebrow{align-items:center;gap:var(--s3);font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--rune);font-weight:700;display:flex}.codex-eyebrow:after{content:"";background:var(--border);flex:auto;height:1px}.codex-note{font-size:var(--fs-sm);color:var(--text-mute);margin:0}.codex-detail-inner{container-type:inline-size}.codex-statgrid{gap:var(--s2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.codex-statgrid.special{grid-template-columns:repeat(2,minmax(0,1fr))}@container (width>=430px){.codex-statgrid.special{grid-template-columns:repeat(4,minmax(0,1fr))}}.codex-statgrid>.codex-stat{min-width:0}.codex-statgrid .codex-stat-label{flex-wrap:wrap}.codex-statgrid .codex-stat-label,.codex-statgrid .codex-stat-val{overflow-wrap:anywhere;min-width:0}.codex-stat{padding:var(--s3);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));border-radius:14px;flex-direction:column;gap:4px;display:flex}.codex-stat-label{font-size:calc(13px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:5px;font-weight:700;display:inline-flex}.codex-stat-label .gicon{font-size:1.15em}.codex-stat-val{font-family:var(--font-display);font-weight:800;font-size:calc(22px * var(--text-scale));font-variant-numeric:tabular-nums;color:var(--text)}.codex-stat.hp .codex-stat-label svg{color:var(--health)}.codex-stat.speed .codex-stat-label svg{color:var(--speed)}.codex-stat.reward .codex-stat-label svg,.codex-stat.cost .codex-stat-label svg{color:var(--essence)}.codex-stat.special{border-color:color-mix(in srgb, var(--el-color,var(--rune)) 55%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--el-color,#fff) 22%, var(--surface-2)), var(--surface))}.codex-stat.special .codex-stat-label{color:color-mix(in srgb, var(--el-color,var(--rune)) 75%, var(--text))}.codex-stat.special .codex-stat-val{font-size:calc(19px * var(--text-scale))}.codex-cell{padding:var(--s2);border:1px solid var(--border);text-align:center;border-radius:11px;flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.codex-cell-ic{color:var(--el-color,var(--text-dim))}.codex-cell-ic svg{width:20px;height:20px}.codex-cell-name{font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.02em;color:var(--text-dim);overflow-wrap:anywhere}.codex-cell-disp{max-width:100%;font-size:calc(13px * var(--text-scale));letter-spacing:.06em;text-transform:uppercase;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;font-weight:700;display:inline-flex}.codex-cell-pct{font-variant-numeric:tabular-nums}.codex-cell.immune{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:#c0392b3d}.codex-cell.immune .codex-cell-disp{color:color-mix(in srgb, var(--danger) 70%, var(--text))}.codex-cell.immune .codex-cell-ic{opacity:.85;display:inline-flex;position:relative}.codex-cell.immune .codex-cell-ic:after{content:"";background:var(--text);border-radius:1px;height:2px;position:absolute;inset:50% -2px auto;transform:rotate(-35deg)}.codex-cell.resist{border-color:var(--border-strong);background:#00000057}.codex-cell.resist .codex-cell-disp{color:var(--text-dim)}.codex-cell.weak{border-color:color-mix(in srgb, var(--success) 55%, var(--border));background:#5bb06a3d}.codex-cell.weak .codex-cell-disp{color:color-mix(in srgb, var(--success) 75%, var(--text))}.codex-cell.normal{border-color:color-mix(in srgb, var(--border) 80%, transparent);opacity:.9}.codex-cell.normal .codex-cell-disp{color:var(--text-mute)}.codex-resistgrid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:7px;display:grid}.codex-counters{gap:var(--s3);flex-direction:column;display:flex}.codex-counter-group{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:7px;display:grid}.codex-counter-all{padding:var(--s3);border:1px solid color-mix(in srgb, var(--success) 45%, var(--border));color:color-mix(in srgb, var(--success) 70%, var(--text));font-size:var(--fs-sm);background:#5bb06a38;border-radius:11px;line-height:1.5}.codex-counter-all.is-warn{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:color-mix(in srgb, var(--danger) 45%, var(--text));background:#c0392b33}.codex-counter-rest{color:var(--text-mute);font-size:var(--fs-sm);font-style:italic}.codex-statgrid.threats-stats{grid-template-columns:repeat(2,minmax(0,1fr))}@container (width>=470px){.codex-statgrid.threats-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.codex-statgrid.threats-stats>.codex-stat{min-width:0}.codex-screen>.threats-intro{padding:var(--s3) var(--s4) 0;color:var(--text-dim);font-size:var(--fs-sm);flex:none;margin:0}.threat-sigil{z-index:2;color:var(--el-color,var(--text));font-size:calc(64px * var(--text-scale));filter:drop-shadow(0 0 18px color-mix(in srgb, var(--el-color,#fff) 45%, transparent));display:inline-flex;position:relative}.threat-sigil svg{width:84px;height:84px}.threat-sigil[data-kind=tag]{color:var(--text)}.info-zone-ic{color:var(--danger)}.codex-reactions{gap:var(--s2);flex-direction:column;display:flex}.codex-reaction{align-items:baseline;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);background:var(--surface-2);border-radius:11px;flex-wrap:wrap;display:flex}.codex-reaction-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:color-mix(in srgb, var(--el-color,var(--rune)) 70%, var(--text))}.codex-reaction-desc{font-size:var(--fs-sm);color:var(--text-dim)}.codex-upgrades{gap:var(--s3);grid-template-columns:repeat(2,1fr);display:grid}.codex-upgrade-col{gap:var(--s2);padding:var(--s3);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));border-radius:14px;flex-direction:column;display:flex}.codex-upgrade-branch{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.04em;color:var(--rune)}.codex-upgrade-tier{justify-content:space-between;align-items:baseline;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--border);display:flex}.codex-upgrade-delta{color:var(--text-dim);font-size:var(--fs-sm)}.codex-upgrade-cost{color:var(--gold);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;font-weight:700;display:inline-flex}.codex-upgrade-cost .cost-gem{color:var(--essence)}.codex-upgrade-cost .cost-gem svg{width:14px;height:14px}.codex-unlock{gap:var(--s2);padding:var(--s4);border:1px solid color-mix(in srgb, var(--rune) 40%, var(--border));background:#e0b24a1f;border-radius:14px;flex-direction:column;display:flex}.codex-unlock-title{font-family:var(--font-display);color:var(--rune-bright);font-weight:700}.codex-unlock-body{font-size:var(--fs-sm);color:var(--text-dim);margin:0;line-height:1.55}.codex-discovery{gap:var(--s2);padding:var(--s4);border:1px solid var(--border);background:#e0b24a1f;border-radius:14px;flex-direction:column;display:flex}.codex-discovery-head{align-items:center;gap:var(--s2);font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);font-weight:700;display:flex}.codex-discovery-head .codex-discovery-ic{color:var(--rune)}.codex-discovery-head .codex-discovery-ic svg{width:16px;height:16px}.codex-discovery-hint{color:var(--text-dim);margin:0;font-style:italic;line-height:1.55}@media (min-width:861px){.codex-filters{flex-wrap:wrap;overflow-x:visible}.codex-roster{flex:0 0 min(calc(360px * var(--text-scale)), 48%);border-right:1px solid var(--border)}.codex-left{flex:0 0 min(calc(400px * var(--text-scale)), 48%);border-right:1px solid var(--border)}.codex-left>.codex-roster{border-right:none;flex:auto}.codex-detail{z-index:auto;background:0 0;flex:auto;min-width:0;transition:none;position:static;transform:none}.codex-mback{display:none}}@keyframes codexFadeIn{0%{opacity:0}to{opacity:1}}@keyframes codexRiseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes codexBob{0%,to{transform:translateY(-6px)rotate(-1deg)}50%{transform:translateY(6px)rotate(1deg)}}@keyframes codexSpinRing{to{transform:rotate(360deg)}}.foe-chip.briefing-on{color:var(--rune-bright);border-color:var(--rune)}.foe-chip.briefing-off{color:var(--text-mute);opacity:.85}.band-row-standing{font-size:var(--fs-sm);color:var(--text-mute);white-space:nowrap;grid-column:1/-1}.cine{cursor:pointer;z-index:40;--cine-dock-inset:max(var(--s4), env(safe-area-inset-bottom));--cine-dock-h:37px;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#05070b;position:fixed;inset:0;overflow:hidden}.cine-quit{right:max(var(--s4), env(safe-area-inset-right));bottom:var(--cine-dock-inset);z-index:2;color:#ffffff8c;font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.04em;cursor:pointer;background:#05070b8c;border:1px solid #ffffff2e;border-radius:999px;padding:8px 14px;transition:opacity .18s,color .18s,border-color .18s;position:absolute}.cine-quit:hover,.cine-quit:focus-visible{color:var(--text);border-color:#fff6}.cine-pace{left:max(var(--s4), env(safe-area-inset-left));bottom:var(--cine-dock-inset);z-index:2;color:#ffffff8c;opacity:.85;background:#05070b8c;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;padding:7px 14px;transition:opacity .18s,color .18s,border-color .18s;display:flex;position:absolute}.cine-pace:hover,.cine-pace:focus-within{opacity:1;color:var(--text);border-color:#fff6}.cine-pace-ic{flex:none;width:16px;height:16px;display:block}.cine-pace-ic svg{width:100%;height:100%;display:block}.cine-pace-label{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.04em;white-space:nowrap}.cine-pace .cine-pace-input{touch-action:none;width:110px}.cine-hint-hold{opacity:.72}.cine-frame{will-change:opacity, transform;background-position:50%;background-size:cover;transition:opacity linear;position:absolute;inset:0}.cine-frame-drift{animation:24s ease-in-out infinite alternate cine-drift}@keyframes cine-drift{0%{transform:scale(1.04)translate(-1%,-.6%)}to{transform:scale(1.1)translate(1%,.6%)}}.cine-band{min-height:38%;padding:0 clamp(20px, 8vw, 140px) max(clamp(28px, 7vh, 72px), calc(var(--cine-dock-inset) + var(--cine-dock-h) + 10px));pointer-events:none;background:linear-gradient(#05070b00 0%,#05070beb 55%);flex-direction:column;justify-content:flex-end;gap:12px;display:flex;position:absolute;inset:auto 0 0}.cine-text{max-width:62ch;font-size:var(--fs-lg);color:#f2ece0;text-shadow:0 2px 12px #000000e6;min-height:4.65em;margin:0;line-height:1.55}.cine-text-voice{color:var(--rune);text-shadow:0 2px 14px #000000f2;font-style:italic}.cine-hint{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:#f2ece080;margin:0}@media (max-width:767px){.cine-text{font-size:var(--fs-md)}.cine-band{min-height:46%}.cine-hint{font-size:var(--fs-xs);letter-spacing:.06em}.cine-pace-label{display:none}.cine-pace .cine-pace-input{width:84px}.cine-pace{gap:8px;padding:6px 12px}}@media (pointer:coarse){.cine{--cine-dock-h:46px}.cine-pace{padding-block:0}.cine-quit{min-height:44px}}@media (prefers-reduced-motion:reduce){.cine-frame-drift{animation:none}.cine-frame{transition:none}}:root.reduced-motion .cine-frame-drift{animation:none}:root.reduced-motion .cine-frame{transition:none}.duo-join-row,.duo-invite-row{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.duo-code-input,.duo-invite-link{min-width:0;padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);min-height:var(--touch);flex:160px}.duo-code-input:focus-visible,.duo-invite-link:focus-visible{outline:2px solid var(--rune);outline-offset:1px}.duo-code-input{text-transform:uppercase;letter-spacing:.12em}.duo-invite-link{color:var(--text-dim);cursor:text}.duo-join-row .seg-btn,.duo-invite-row .seg-btn{flex:none}.duo-code-card{text-align:center}.duo-code-big{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.16em;color:var(--rune-bright);margin:var(--s2) 0 var(--s3);word-break:break-all;font-weight:700}.duo-seats{gap:var(--s3);flex-direction:column;display:flex}.duo-seat-row{align-items:center;gap:var(--s2);min-height:var(--touch);display:flex}.duo-seat-row.is-empty{color:var(--text-mute);font-style:italic}.duo-seat-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:var(--font-body);flex:auto}.duo-conn-dot{background:var(--text-mute);border-radius:50%;flex:none;width:10px;height:10px}.duo-conn-dot.is-connected{background:var(--success);box-shadow:0 0 6px var(--success)}.duo-seat-ready{color:var(--success);flex:none;font-weight:700}.duo-error{margin:0 0 var(--s2);min-height:1.2em;color:var(--danger);font-size:var(--fs-sm)}.duo-reconnecting{color:var(--rune-bright)}.duo-password-input{width:100%;margin-top:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);min-height:var(--touch);display:block}.duo-password-input:focus-visible{outline:2px solid var(--rune);outline-offset:1px}.duo-password-hint.is-invalid{color:var(--danger)}.duo-rooms-header{justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.duo-rooms-refresh{min-height:var(--touch);padding:0 var(--s2);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;flex:none;text-decoration:underline}.duo-rooms{gap:var(--s2);margin-top:var(--s2);flex-direction:column;display:flex}.duo-rooms-empty,.duo-rooms-offline{color:var(--text-dim);margin:0}.duo-room-row{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;display:flex}.duo-room-info{flex-direction:column;flex:140px;gap:2px;min-width:0;display:flex}.duo-room-host{align-items:center;gap:var(--s1);color:var(--text);font-family:var(--font-body);flex-wrap:wrap;font-weight:600;display:flex}.duo-room-hostname{overflow-wrap:anywhere;min-width:0}.duo-room-lock{color:var(--text-dim);flex:none;display:inline-flex}.duo-room-age{font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-dim)}.duo-room-join{justify-content:flex-end;align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;display:flex}.duo-room-join .seg-btn{flex:none}.duo-room-password{min-width:0;padding:var(--s2) var(--s3);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);min-height:var(--touch);flex:140px}.duo-room-password:focus-visible{outline:2px solid var(--rune);outline-offset:1px}.duo-room-error{color:var(--danger);font-size:var(--fs-xs);flex:100%;margin:0}.duo-locked-badge{justify-content:center;align-items:center;gap:var(--s1);margin-top:var(--s1);color:var(--text-dim);font-size:var(--fs-sm);display:flex}.duo-rooms-pager{justify-content:space-between;align-items:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.duo-rooms-pager .seg-btn{flex:none}.duo-rooms-pager-label{text-align:center;min-width:0;color:var(--text-dim);font-size:var(--fs-xs);flex:auto}.duo-rooms-pager-label:focus-visible{outline:2px solid var(--rune);outline-offset:2px;border-radius:var(--r-sm)}.duo-invite-only-row{align-items:center;gap:var(--s2);margin-top:var(--s2);min-height:var(--touch);cursor:pointer;color:var(--text-dim);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.duo-invite-only-checkbox{width:1.25em;height:1.25em;accent-color:var(--rune);cursor:pointer;flex:none;margin:0}.duo-invite-only-text{flex:auto;min-width:0}.duo-unlisted-note{margin-top:var(--s1);text-align:center}.duo-board-row{align-items:baseline;gap:var(--s1) var(--s3);padding:var(--s2) 10px;min-height:var(--touch);border-radius:8px;flex-wrap:wrap;display:flex}.duo-board-row:nth-child(odd){background:#ffffff08}.duo-board-row.is-me{background:#e8c15a1a;outline:1px solid #e8c15a59}.duo-board-rank{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);flex:none}.duo-board-players{gap:var(--s1) var(--s4);flex-flow:wrap;flex:240px;min-width:0;display:flex}.duo-board-player{align-items:baseline;gap:var(--s2);flex:180px;min-width:0;display:flex}.duo-board-name{overflow-wrap:anywhere;white-space:normal;min-width:0;color:var(--text);font-size:var(--fs-sm)}.duo-board-depth{color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--fs-sm);flex:none}.duo-board-depth.is-best{color:var(--rune);font-size:var(--fs-md)}.duo-board-alone{overflow-wrap:anywhere;min-width:0;color:var(--text-mute);font-size:var(--fs-xs);flex:100%;font-style:italic}.duo-board-date{color:var(--text-mute);font-size:var(--fs-xs);white-space:nowrap;flex:none;margin-left:auto}.hud-duo-strip{align-items:center;gap:var(--s1) var(--s3);max-width:min(560px,100%);padding:7px var(--s4) 7px var(--s3);border-radius:var(--r-lg);border:1px dashed color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--rune) 16%, var(--surface)), color-mix(in srgb, var(--rune) 5%, var(--bg)));box-shadow:inset 0 1px 0 var(--carve-hi), var(--shadow-1);font-size:var(--fs-sm);color:var(--text);flex-wrap:wrap;display:none}.hud-duo-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px}.hud-duo-dot.is-connected{background:var(--rune-bright);box-shadow:0 0 6px color-mix(in srgb, var(--rune-bright) 70%, transparent)}.hud-duo-name{overflow-wrap:anywhere;font-weight:700}.hud-duo-board,.hud-duo-clock{color:var(--text-dim);overflow-wrap:anywhere}.hud-duo-state{overflow-wrap:anywhere;font-weight:600}.hud-duo-state-playing{color:var(--text-dim)}.hud-duo-state-ready{color:var(--rune-bright)}.hud-duo-state-fallen,.hud-duo-state-left{color:color-mix(in srgb, var(--danger) 80%, var(--text))}.hud-duo-clock{font-variant-numeric:tabular-nums;margin-left:auto}@media (max-width:767px){.hud-duo-strip{gap:4px var(--s2);max-width:100%;padding:6px var(--s3);font-size:calc(13px * var(--text-scale))}}.duo-result-partner-line{font-size:var(--fs-md);overflow-wrap:anywhere;margin:0}.duo-result-partner-offline{margin:var(--s1) 0 0}.duo-result-submit{margin:var(--s2) 0 0;font-size:var(--fs-sm);color:var(--text-dim);overflow-wrap:anywhere}.duo-result-screen .button-row{flex-wrap:wrap}.duo-draft-banner{z-index:2;align-items:center;gap:var(--s1) var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--surface-2);box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex;position:sticky;top:0}.duo-draft-banner.is-you{border:2px solid var(--rune-bright);background:color-mix(in srgb, var(--rune) 20%, var(--surface-2))}.duo-draft-turn{align-items:center;gap:var(--s2);min-width:0;color:var(--text);overflow-wrap:anywhere;flex:14em;margin:0;font-weight:700;display:flex}.duo-draft-banner.is-you .duo-draft-turn{color:var(--rune-bright)}.duo-draft-banner.is-wait .duo-draft-turn .duo-mark{animation:1.6s ease-in-out infinite duo-draft-wait}@keyframes duo-draft-wait{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.duo-draft-banner.is-wait .duo-draft-turn .duo-mark{animation:none}}:root.reduced-motion .duo-draft-banner.is-wait .duo-draft-turn .duo-mark{animation:none}.duo-draft-tally{gap:var(--s1) var(--s3);font-size:var(--fs-sm);color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.duo-draft-tally-item{overflow-wrap:anywhere;align-items:center;gap:6px;display:inline-flex}.duo-mark-free{border:1.5px dashed var(--text-dim);background:0 0;border-radius:50%}.duo-draft-forecast{background:var(--chrome-slab);border:1px solid var(--border);border-radius:var(--r-lg);align-items:center;min-width:0;padding:4px 6px;display:none}.duo-draft-forecast .forecast-track{flex-wrap:wrap;overflow:visible}.duo-draft-spawn{align-items:center;gap:var(--s2);flex-flow:wrap;display:flex}.duo-draft-spawn-text{overflow-wrap:anywhere;flex:16em;margin:0}.duo-draft-frost{flex-basis:100%;margin:0}.duo-draft-grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, calc(150px * var(--text-scale))), 1fr));gap:var(--s2);display:grid}@media (max-width:767px){.duo-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.duo-draft-card{min-width:0;min-height:44px;padding:var(--s2);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));color:var(--text);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:default;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:12px;flex-direction:column;align-items:stretch;gap:4px;display:flex}.duo-draft-card.is-free{border:1.5px solid color-mix(in srgb, var(--el,var(--rune)) 60%, var(--border-strong))}.duo-draft-card.can-pick{cursor:pointer;border-width:2px;border-color:var(--el,var(--rune));box-shadow:0 0 0 3px color-mix(in srgb, var(--el,var(--rune)) 25%, transparent)}.duo-draft-card.is-mine{border-color:var(--el,var(--rune));background:linear-gradient(180deg, color-mix(in srgb, var(--el,var(--rune)) 26%, var(--surface-2)), color-mix(in srgb, var(--el,var(--rune)) 8%, var(--surface)));cursor:pointer;border-left-width:6px}.duo-draft-card.is-theirs{opacity:.5;filter:saturate(.3);border-style:dashed}.duo-draft-card.is-theirs .duo-draft-holder{color:var(--text)}.duo-draft-card.is-trading{outline:2px solid var(--rune-bright);outline-offset:1px}.duo-draft-card-head{align-items:center;gap:var(--s2);min-width:0;display:flex}.duo-draft-icon{width:calc(28px * var(--text-scale));height:calc(28px * var(--text-scale));color:var(--el,var(--rune));flex:none;justify-content:center;align-items:center;display:flex}.duo-draft-icon svg{width:80%;height:80%}.duo-draft-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.duo-draft-holder{color:var(--text-dim);overflow-wrap:anywhere;align-items:center;gap:6px;font-weight:600;display:flex}.duo-draft-card.is-mine .duo-draft-holder,.duo-draft-card.can-pick .duo-draft-holder{color:var(--text)}.duo-draft-hint{color:var(--rune-bright);overflow-wrap:anywhere;font-weight:600}.duo-draft-hint.is-sent{color:var(--text-dim);font-weight:400}.duo-draft-answers{color:var(--text-dim);font-size:var(--fs-xs);flex-wrap:wrap;gap:4px;display:flex}.duo-draft-tag{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:999px;padding:0 6px}.duo-draft-actions{flex-wrap:wrap}.duo-draft-help,.duo-draft-status{overflow-wrap:anywhere;margin:0}.duo-mark{width:calc(9px * var(--text-scale));height:calc(9px * var(--text-scale));border:1.5px solid var(--text);vertical-align:middle;flex:none;display:inline-block}.duo-mark-mine{background:var(--rune-bright);border-color:color-mix(in srgb, var(--rune-bright) 60%, var(--text));border-radius:50%}.duo-mark-partner{border-color:var(--text);background:0 0;transform:rotate(45deg)scale(.85)}.hud-duo-who{align-items:center;gap:var(--s1);min-width:0;display:inline-flex}.hud-duo-gift,.hud-duo-stretch{min-height:44px;padding:4px var(--s3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, var(--surface-3), var(--surface));color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;pointer-events:auto;align-items:center;gap:6px;display:inline-flex}.hud-duo-gift:disabled{opacity:.55;cursor:default}.hud-duo-gift .cost-gem{width:calc(14px * var(--text-scale));height:calc(14px * var(--text-scale))}.hud-duo-gift-purse{font-variant-numeric:tabular-nums;font-weight:700}.hud-duo-gift-label{color:var(--rune-bright);overflow-wrap:anywhere;font-weight:600}.hud-duo-stretch{overflow-wrap:anywhere;border-style:dashed}.hud-duo-state-away{color:color-mix(in srgb, var(--danger) 55%, var(--rune-bright));font-weight:700}.tower-btn-divider{background:var(--border-strong);flex:none;align-self:stretch;width:1px;margin:4px 2px}.tower-btn.is-partner,.conduit-card.is-partner{cursor:default;opacity:.62;filter:saturate(.4);border-style:dashed}.tower-btn .tower-owner,.conduit-card .tower-owner{max-width:100%;font-size:calc(11px * var(--text-scale));color:var(--text-dim);overflow-wrap:anywhere;align-items:center;gap:4px;display:inline-flex}.panel-owner{align-items:center;gap:var(--s2);margin:var(--s2) 0;font-size:var(--fs-sm);color:var(--text-dim);overflow-wrap:anywhere;display:flex}.forecast-who{pointer-events:none;gap:2px;display:inline-flex;position:absolute;bottom:2px;right:2px}.forecast-who .duo-mark{border-width:1px;width:7px;height:7px}.forecast-pop-who{margin-top:4px;font-weight:600}.duo-result-wardens{gap:var(--s2);flex-wrap:wrap;display:flex}.duo-result-warden{flex:1 1 calc(200px * var(--text-scale));min-width:0}.duo-result-warden-name{align-items:center;gap:var(--s2);overflow-wrap:anywhere;font-weight:700;display:flex}.duo-result-warden-line{font-size:var(--fs-sm);color:var(--text-dim);overflow-wrap:anywhere;margin:2px 0 0}@media (max-width:767px){.hud-duo-state-playing{display:none}.hud-duo-gift,.hud-duo-stretch{padding:4px var(--s2)}}.hud-duo-kills{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.hud-duo-kills-n{color:var(--text);margin-right:4px;font-weight:600}.duo-result-shared{align-items:center;gap:var(--s2);margin:var(--s2) 0 0;font-size:var(--fs-sm);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.duo-result-shared-marks{gap:4px;display:inline-flex}@media (max-width:767px){.hud-duo-kills{display:none}}.hud-duo-talk{min-width:44px;min-height:44px;padding:4px var(--s3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, var(--surface-3), var(--surface));color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;pointer-events:auto;overflow-wrap:anywhere;align-items:center;gap:6px;display:inline-flex}.hud-duo-strip{position:relative}.hud-duo-said{align-items:center;gap:var(--s1);box-sizing:border-box;max-width:min(100%,18em);padding:2px var(--s2);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:color-mix(in srgb, var(--rune) 22%, var(--surface));box-shadow:var(--shadow-1);font-size:var(--fs-xs);overflow-wrap:anywhere;pointer-events:none;opacity:0;visibility:hidden;font-weight:600;line-height:1.3;transition:opacity .35s,visibility 0s linear .35s;display:inline-flex;position:absolute;bottom:calc(100% + 6px);left:0}.hud-duo-said.is-shown{opacity:1;visibility:visible;transition:opacity .12s}@media (prefers-reduced-motion:reduce){.hud-duo-said,.hud-duo-said.is-shown{transition:none}}:root.reduced-motion .hud-duo-said,:root.reduced-motion .hud-duo-said.is-shown{transition:none}@media (max-width:767px){.hud-duo-said{top:calc(100% + 6px);bottom:auto}}.duo-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tower-btn.is-partner,.conduit-card.is-partner{cursor:pointer}.ping-shape{width:calc(20px * var(--text-scale));height:calc(20px * var(--text-scale));fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ping-wheel-backdrop{z-index:11;background:0 0;position:fixed;inset:0}.ping-wheel-backdrop[hidden],.ping-wheel[hidden]{display:none}.ping-wheel{z-index:12;box-sizing:border-box;gap:var(--s2);width:max-content;max-width:min(calc(380px * var(--text-scale)), calc(100vw - 16px));padding:var(--s3);border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--rune) 12%, var(--surface)), var(--surface));box-shadow:var(--shadow-1);color:var(--text);font-size:var(--fs-sm);flex-direction:column;display:flex;position:fixed}.ping-wheel-title{overflow-wrap:anywhere;margin:0;font-weight:700}.ping-wheel-hint{color:var(--text-dim);overflow-wrap:anywhere;margin:0}.ping-wheel-row{gap:var(--s1);flex-wrap:wrap;display:flex}.ping-wheel-ping,.ping-wheel-say,.ping-wheel-close{min-width:44px;min-height:44px;padding:4px var(--s3);border-radius:var(--r-md);border:1px solid var(--border-strong);background:linear-gradient(180deg, var(--surface-3), var(--surface));color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere;text-align:left;align-items:center;gap:6px;display:inline-flex}.ping-wheel-ping{flex:1 1 calc(140px * var(--text-scale));border-color:color-mix(in srgb, var(--rune) 55%, var(--border))}.ping-wheel-ping .ping-glyph{font-size:calc(22px * var(--text-scale));color:var(--rune-bright);flex:none}.ping-wheel-close{border-style:dashed;align-self:flex-end}.edge-markers{z-index:6;pointer-events:none;position:fixed;inset:0}.edge-marker{box-sizing:border-box;border:1.5px solid var(--text);background:color-mix(in srgb, var(--bg) 82%, transparent);width:44px;height:44px;color:var(--rune-bright);cursor:pointer;pointer-events:auto;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-22px;left:-22px}.edge-marker[hidden]{display:none}.edge-marker-partner{color:#ffe9b8}.edge-marker>*{grid-area:1/1}.edge-marker .duo-mark{place-self:end;width:8px;height:8px;margin:3px}.edge-marker-arrow{pointer-events:none;width:44px;height:44px}.edge-marker-arrow:after{content:"";border:6px solid #0000;border-left:8px solid var(--text);margin-top:-6px;position:absolute;top:50%;right:-7px}.edge-marker-arrow{position:relative}.duo-mark-board{background:var(--text-dim);border-color:var(--text-dim);border-radius:2px}.duo-log{z-index:8;align-items:flex-end;gap:var(--s1);pointer-events:none;flex-direction:column;max-width:calc(100vw - 16px);display:flex;position:fixed;top:30%;right:8px}.duo-log[hidden],.duo-log-panel[hidden],.duo-log-dot[hidden],.duo-log-empty[hidden]{display:none}.duo-log-toggle{min-width:44px;min-height:44px;padding:4px var(--s3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:linear-gradient(180deg, var(--surface-3), var(--surface));color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;pointer-events:auto;align-items:center;gap:6px;display:inline-flex;position:relative}.duo-log.is-open .duo-log-toggle{display:none}.duo-log-dot{background:var(--rune-bright);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px}.duo-log-panel{box-sizing:border-box;width:min(calc(210px * var(--text-scale)), 30vw);min-width:calc(170px * var(--text-scale));max-width:100%;max-height:min(40vh, calc(320px * var(--text-scale)));border-radius:var(--r-lg);border:1px solid color-mix(in srgb, var(--rune) 55%, var(--border));background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-1);color:var(--text);font-size:var(--fs-sm);pointer-events:auto;flex-direction:column;display:flex}.duo-log-head{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s1) var(--s2) var(--s1) var(--s3);border-bottom:1px solid var(--border);display:flex}.duo-log-title{font-weight:700}.duo-log-close{min-width:44px;min-height:44px;padding:4px var(--s3);border-radius:var(--r-md);border:1px solid var(--border-strong);color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0}.duo-log-list{min-height:0;padding:var(--s1) var(--s2);overscroll-behavior:contain;flex:auto;margin:0;list-style:none;overflow-y:auto}.duo-log-row{align-items:baseline;gap:0 var(--s2);grid-template-columns:auto auto 1.2em minmax(0,1fr);padding:3px 0;display:grid}.duo-log-row .duo-mark{align-self:center}.duo-log-glyph{color:var(--rune);justify-content:center;align-self:center;display:flex}.duo-log-toggle .gicon{font-size:1.15em}.duo-log-time{color:var(--text-dim);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.duo-log-text{overflow-wrap:anywhere}.duo-log-empty{padding:var(--s2) var(--s3);color:var(--text-dim);overflow-wrap:anywhere;margin:0}@media (max-width:767px){.duo-log{top:46%}.duo-log.is-open{align-items:stretch;max-width:none;inset:auto 0 0}.duo-log-panel{border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);width:auto;max-height:min(55vh,28em);padding-bottom:env(safe-area-inset-bottom,0)}}.page-body-inner.skill-body{gap:var(--s3);padding:var(--s4) var(--s4) 0;position:relative}.skill-pan-hint{left:var(--s4);bottom:var(--s4);z-index:3;pointer-events:none;padding:6px var(--s3);border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 82%, transparent);box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text-mute);font-size:var(--fs-sm);letter-spacing:.02em;opacity:.72;font-style:italic;transition:opacity .4s;position:absolute}@starting-style{.skill-pan-hint{opacity:0}}@media (prefers-reduced-motion:reduce){.skill-pan-hint{transition:none}}:root.reduced-motion .skill-pan-hint{transition:none}.skill-cores-ic{font-size:calc(14px * var(--text-scale));color:var(--gold)}.skill-cores-ic svg{width:14px;height:14px}.skill-cores-lbl{font-size:var(--fs-xs);color:var(--text-mute)}.skill-cores{padding:4px var(--s3);color:var(--text);border:1px solid var(--gold);border-radius:var(--r-md);background:color-mix(in srgb, var(--gold) 14%, var(--surface));align-items:center;gap:6px;font-weight:700;display:inline-flex}.skill-spent{color:var(--text-mute)}.skill-prestige{color:var(--el-arcane)}.skill-income{color:var(--el-ember,var(--accent,#d9ab54));cursor:help}.skill-btn{min-height:40px;padding:0 var(--s4);font-size:var(--fs-sm)}.skill-svg{touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 42%,#e0b24a14,#0000 55%),radial-gradient(circle at 50% 45%,#283c6429,#0000 62%);flex:1;width:100%;min-height:0}.skill-svg:active{cursor:grabbing}.skill-sections{gap:var(--s2);padding:var(--s2) var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.skill-section{align-items:center;gap:var(--s2);padding:5px var(--s3) 5px 5px;border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));box-shadow:inset 0 1px 0 var(--carve-hi);color:var(--text-dim);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);cursor:pointer;touch-action:manipulation;border-radius:10px;display:inline-flex}.skill-section-ic{width:26px;height:26px;font-size:calc(15px * var(--text-scale));color:var(--el-color,var(--text-dim));background:color-mix(in srgb, var(--el-color,#667) 20%, var(--surface-3));border:1px solid color-mix(in srgb, var(--el-color,#667) 45%, var(--border));border-radius:7px;place-items:center;display:grid}.skill-section-ic svg{width:15px;height:15px}.skill-section:hover{border-color:var(--el-color,var(--rune));color:var(--text)}.skill-section.active{border-color:var(--el-color,var(--rune-bright));color:var(--text);box-shadow:0 0 10px color-mix(in srgb, var(--el-color,var(--rune)) 45%, transparent)}.skill-section.locked{opacity:.5}.skill-edge{stroke:var(--border);stroke-width:2.5px}.skill-edge.on{stroke:var(--rune);stroke-width:3px}.skill-node{cursor:default}.skill-node.locked{opacity:.4}.skill-node.owned,.skill-node.affordable{filter:drop-shadow(0 0 7px)}.skill-node text{pointer-events:none;-webkit-user-select:none;user-select:none}.skill-node.affordable circle{animation:1.4s ease-in-out infinite skillPulse}.skill-btn.danger.armed{animation:1s ease-in-out infinite skillPulse}@keyframes skillPulse{0%,to{opacity:.72}50%{opacity:1}}.skill-detail{right:var(--s3);bottom:var(--s3);top:var(--skill-detail-top,132px);width:min(340px, calc(100vw - 2 * var(--s3)));gap:var(--s2);padding:var(--s3) var(--s4);background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-2);color:var(--text);font-family:var(--font-body);z-index:4;flex-direction:column;animation:.25s both riseIn;display:none;position:fixed;left:auto;overflow-y:auto;transform:none}.detail-close{margin:0 -2px calc(-1 * var(--s5)) auto;z-index:2;width:30px;height:30px;color:var(--text-mute);font-size:calc(18px * var(--text-scale));cursor:pointer;background:0 0;border:none;flex:none;align-self:flex-end;padding:0;line-height:1;position:sticky;top:4px}.detail-close:hover{color:var(--text)}@media (pointer:coarse){.detail-close{width:44px;height:44px;margin-bottom:calc(-1 * var(--s6))}.detail-head{padding-right:44px}}.detail-head{align-items:center;gap:var(--s2);padding-right:28px;display:flex}.detail-glyph{width:46px;height:46px;font-size:calc(22px * var(--text-scale));border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-3);flex:none;place-items:center;line-height:1;display:grid}.detail-glyph.owned{border-color:var(--rune);box-shadow:0 0 12px var(--rune-soft)}.detail-titlecol{flex-direction:column;gap:2px;display:flex}.detail-state{font-family:var(--font-display);font-size:calc(10px * var(--text-scale));letter-spacing:.2em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.detail-state.owned{color:var(--rune)}.detail-state.locked{color:#f0b866}.detail-attunement{padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);justify-content:space-between;align-items:center;font-weight:700;display:flex}.detail-attunement-val{color:var(--gold);font-size:var(--fs-sm)}.detail-spacer{flex:1}.detail-foot{gap:var(--s2);bottom:calc(-1 * var(--s3));margin:0 calc(-1 * var(--s4)) calc(-1 * var(--s3));padding:var(--s2) var(--s4) var(--s3);background:var(--surface);flex-direction:column;display:flex;position:sticky;box-shadow:0 -12px 16px -12px #000000bf}.detail-cta{width:100%;min-height:48px;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.detail-cta-state{padding:0 var(--s4);text-align:center;color:var(--text-mute);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);justify-content:center;align-items:center;gap:6px;line-height:1.2;display:inline-flex}.detail-cta-core{font-size:calc(14px * var(--text-scale));color:var(--gold)}.detail-cta-core svg{width:14px;height:14px}.detail-cta-buy{padding:0 var(--s4);cursor:pointer;color:#f3e6ff;border:1px solid var(--el-arcane);border-radius:var(--r-md);background:linear-gradient(180deg, color-mix(in srgb, var(--el-arcane) 42%, var(--surface-2)), color-mix(in srgb, var(--el-arcane) 24%, var(--surface)));box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 18px color-mix(in srgb, var(--el-arcane) 35%, transparent);justify-content:center;align-items:center;gap:8px;transition:transform .14s,box-shadow .14s;display:inline-flex}.detail-cta-buy:hover{box-shadow:inset 0 1px 0 var(--carve-hi), 0 0 26px color-mix(in srgb, var(--el-arcane) 55%, transparent);transform:translateY(-1px)}.detail-cta-buy .detail-cta-core{color:var(--gold)}.detail-cta-state.owned{color:var(--success);border-color:var(--success);background:var(--success-soft)}.detail-cta-state.locked{justify-content:center;align-items:center;gap:var(--s2);color:var(--text-mute);border-style:dashed;display:inline-flex}.detail-cta-lock{font-size:calc(14px * var(--text-scale))}.detail-cta-lock svg{width:14px;height:14px}.detail-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg)}.detail-getcores{cursor:pointer;width:100%;color:var(--el-arcane);font-size:var(--fs-sm);border:1px dashed color-mix(in srgb, var(--el-arcane) 55%, transparent);border-radius:var(--r-md);background:0 0;margin-top:6px;padding:8px;font-weight:600;transition:background .14s}.detail-getcores:hover{background:color-mix(in srgb, var(--el-arcane) 14%, transparent)}.detail-level{color:var(--gold);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.detail-desc{color:var(--text-dim);font-size:var(--fs-sm);margin:0;line-height:1.45}.detail-free{border:1px solid color-mix(in srgb, var(--gold,#d9ab54) 40%, transparent);background:color-mix(in srgb, var(--gold,#d9ab54) 10%, transparent);color:var(--gold,#d9ab54);font-size:var(--fs-xs,.78rem);border-radius:8px;margin:2px 0 0;padding:6px 10px;line-height:1.4}.detail-stats{padding:var(--s2) var(--s3);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;display:grid}.stat-row{align-items:center;gap:var(--s2);font-size:var(--fs-sm);display:flex}.stat-row-ic{font-size:calc(16px * var(--text-scale));color:var(--rune)}.stat-row-label{color:var(--text-mute)}.stat-row-val{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.stat-base{color:var(--text-mute)}.stat-arrow{color:var(--text-mute);margin:0 4px}.stat-eff{color:var(--success)}.detail-foot{align-items:center;gap:var(--s3);display:flex}.detail-cost{color:var(--gold);font-weight:700;font-size:var(--fs-sm)}.detail-buy{min-height:40px;padding:0 var(--s4);margin-left:auto}@media (max-width:700px){.skill-detail{top:auto;left:var(--s3);right:var(--s3);width:auto;max-height:45dvh}}.skill-cores.bumped{animation:.5s ease-out coresBump}@keyframes coresBump{0%{transform:scale(1)}35%{box-shadow:0 0 14px color-mix(in srgb, var(--el-arcane) 60%, transparent);transform:scale(1.12)}to{transform:scale(1)}}.skill-node.just-bought{animation:.7s ease-out skillBuyFlash}@keyframes skillBuyFlash{0%{filter:drop-shadow(0 0 2px)}25%{filter:drop-shadow(0 0 16px)brightness(1.6)}to{filter:drop-shadow(0 0 7px)}}.detail-attunement-val.bumped{animation:.6s ease-out valPop;display:inline-block}@keyframes valPop{0%{transform:scale(1)}30%{color:var(--success);transform:scale(1.35)}to{transform:scale(1)}}.detail-next{justify-content:space-between;align-items:center;gap:var(--s2);padding:6px var(--s3);border:1px dashed color-mix(in srgb, var(--el-arcane) 40%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--el-arcane) 8%, var(--surface));display:flex}.detail-next-lbl{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.detail-next-val{font-weight:700;font-size:var(--fs-sm);color:var(--gold);text-align:right}.stat-eff.changed,.stat-row-val.changed{animation:.8s ease-out statFlash;display:inline-block}@keyframes statFlash{0%{transform:scale(1)}25%{text-shadow:0 0 10px var(--success);transform:scale(1.25)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.skill-cores.bumped,.skill-node.just-bought,.detail-attunement-val.bumped,.stat-eff.changed,.stat-row-val.changed{animation:none}}:root.reduced-motion .skill-cores.bumped,:root.reduced-motion .skill-node.just-bought,:root.reduced-motion .detail-attunement-val.bumped,:root.reduced-motion .stat-eff.changed,:root.reduced-motion .stat-row-val.changed{animation:none}.skill-detail>*{flex-shrink:0}.skill-power{padding:4px var(--s3);color:var(--text);border:1px solid var(--rune);border-radius:var(--r-md);background:color-mix(in srgb, var(--rune) 12%, var(--surface));cursor:help;align-items:center;gap:6px;font-weight:700;display:inline-flex}.skill-power-ic{font-size:calc(14px * var(--text-scale));color:var(--rune)}.skill-power-ic svg{width:14px;height:14px}.skill-power-lbl{font-size:calc(13px * var(--text-scale));color:var(--text-mute)}.skill-power.bumped{animation:.5s ease-out powerBump}@keyframes powerBump{0%{transform:scale(1)}35%{box-shadow:0 0 14px color-mix(in srgb, var(--rune) 60%, transparent);transform:scale(1.12)}to{transform:scale(1)}}.detail-rank{padding:var(--s2) var(--s3);border:1px solid color-mix(in srgb, var(--rune) 45%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--rune) 8%, var(--surface));flex-direction:column;gap:4px;display:flex}.detail-rank-head{align-items:center;gap:var(--s2);display:flex}.detail-rank-lbl{font-family:var(--font-display);font-size:calc(13px * var(--text-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute);font-weight:700}.detail-rank-val{font-family:var(--font-display);font-size:var(--fs-md);color:var(--text-mute);font-weight:700}.detail-rank-val.earned{color:var(--rune-bright)}.detail-rank-pips{gap:5px;margin-left:auto;display:inline-flex}.detail-rank-pip{border:1px solid color-mix(in srgb, var(--rune) 55%, transparent);background:0 0;border-radius:50%;width:9px;height:9px}.detail-rank-pip.on{background:var(--rune-bright);border-color:var(--rune-bright)}.detail-rank-note{font-size:calc(13px * var(--text-scale));color:var(--text)}.detail-rank-grant{color:var(--rune-bright);font-weight:700}.detail-rank-cost,.detail-rank-worth{font-size:calc(13px * var(--text-scale));color:var(--text-mute)}.detail-power{border-style:solid;border-color:color-mix(in srgb, var(--rune) 40%, var(--border));background:color-mix(in srgb, var(--rune) 7%, var(--surface))}.detail-power .detail-next-val{color:var(--text);font-size:calc(13px * var(--text-scale))}.detail-power-gain{color:var(--success);font-style:normal;font-weight:700}.detail-capped{padding:var(--s2) var(--s3);font-size:calc(13px * var(--text-scale));color:#f0b866;border:1px dashed color-mix(in srgb, #f0b866 45%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, #f0b866 8%, var(--surface));margin:0;line-height:1.4}.detail-equip{align-items:center;gap:var(--s3);padding:var(--s2) 0;display:flex}.detail-equip-btn{padding:6px var(--s3);font:inherit;font-size:calc(13px * var(--text-scale));letter-spacing:.02em;color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, transparent);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--border));border-radius:var(--r-md);cursor:pointer;flex:none}.detail-equip-btn.on{color:#0d0f14;background:var(--gold);border-color:var(--gold)}.detail-equip-btn:disabled{cursor:not-allowed;opacity:.45}.detail-equip-count{font-size:calc(12px * var(--text-scale));letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}@media (max-width:700px){.skill-power{padding:4px var(--s2)}.detail-rank-worth,.page-header-dense .page-kicker{display:none}.page-header-dense .page-title{font-size:var(--fs-md);letter-spacing:.04em;line-height:1.15}.page-header-dense .page-header-inner{padding:var(--s2) var(--s3);gap:var(--s2)}.page-body-inner.skill-body{padding:var(--s2) 0 0;gap:var(--s2)}.skill-sections{overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px var(--s3);scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.skill-sections::-webkit-scrollbar{display:none}.skill-section{scroll-snap-align:center;flex:none}.skill-pan-hint{left:var(--s3);bottom:var(--s3)}}@media (prefers-reduced-motion:reduce){.skill-power.bumped{animation:none}}:root.reduced-motion .skill-power.bumped{animation:none}.detail-next.capped{border-style:dashed;border-color:color-mix(in srgb, #f0b866 40%, var(--border));background:0 0}.detail-next.capped .detail-next-val{color:var(--text-mute);text-decoration:line-through}@media (prefers-reduced-motion:reduce){:not(.boot-ring):not(.boot-fill),:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root.reduced-motion :not(.boot-ring):not(.boot-fill),:root.reduced-motion :before,:root.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@media (prefers-reduced-motion:reduce){.tower-btn:hover,.foe-card:hover,.rune-plate:hover,.board-store-nudge:hover,.detail-cta-buy:hover,.btn:active,.primary-btn:active,.secondary-btn:active,.buy-btn:active,.choice-btn:active,.menu-btn:active,.wave-btn:active,.skill-btn:active{transform:none!important}}:root.reduced-motion .tower-btn:hover,:root.reduced-motion .foe-card:hover,:root.reduced-motion .rune-plate:hover,:root.reduced-motion .board-store-nudge:hover,:root.reduced-motion .detail-cta-buy:hover,:root.reduced-motion .btn:active,:root.reduced-motion .primary-btn:active,:root.reduced-motion .secondary-btn:active,:root.reduced-motion .buy-btn:active,:root.reduced-motion .choice-btn:active,:root.reduced-motion .menu-btn:active,:root.reduced-motion .wave-btn:active,:root.reduced-motion .skill-btn:active{transform:none!important}.seg-btn:focus-visible,.rune-plate:focus-visible,.account-input:focus-visible,.volume-slider:focus-visible,.page-back:focus-visible,.board-chip:focus-visible,.board-filter:focus-visible,.board-follow>summary:focus-visible,.board-store-nudge:focus-visible,.level-card:focus-visible,.gizmo-knob:focus-visible,#build-toggle:focus-visible,#pause:focus-visible,#admin-toggle:focus-visible,#hud-actions button:focus-visible,#wave-control button:focus-visible,#speed-control button:focus-visible,:where(a[href],button,[role=button],input,select,textarea):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}[role=dialog][tabindex="-1"]:focus{outline:none}@media (max-width:640px) and (pointer:fine){#tower-panel{top:auto;bottom:176px;left:var(--s2);right:var(--s2);width:auto}}@media (max-width:640px){#hud{font-size:var(--fs-sm)}.screen{--screen-pad:var(--s4);padding:var(--screen-pad)}.menu-title{font-size:var(--fs-xl)}}
