html{overflow-x:hidden}:root{--bg-color: #050505;--panel-bg: rgba(20, 20, 20, .6);--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent-color: #00f3ff;--accent-dim: rgba(0, 243, 255, .1);--accent-hover: rgba(0, 243, 255, .3);--danger-color: #ff3333;--success-color: #33ff33;--gold-color: #ffd700;--font-main: "Caudex", serif;--font-header: "Caudex", serif;--font-cipher: "Galada", "Caudex", serif;--gap-md: 1rem;--radius-sm: 4px;--input-bg: rgba(0, 0, 0, .6);--input-border: #444;--input-focus: var(--accent-color);--z-guide-overlay: 9000;--z-guide-scrim: 9000;--z-guide-spotlight: 9001;--z-guide-card: 9002;--z-toast: 9999;--z-modal: 10000;--z-generic-modal: 11000}#toast-container.toast-stack{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none;top:max(.65rem,env(safe-area-inset-top,0px));left:50%;right:auto;transform:translate(-50%);max-width:min(26rem,calc(100vw - 5.5rem));max-height:min(70vh,calc(100dvh - 2rem));overflow-y:auto;overscroll-behavior:contain}@media(max-width:768px){#toast-container.toast-stack{align-items:stretch;max-width:min(26rem,calc(100vw - 1.25rem));top:max(calc(env(safe-area-inset-top,0px) + var(--app-mobile-header-h, 52px) + .35rem),3.75rem)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden;background-image:radial-gradient(circle at 50% 50%,#0a1a1f,#000)}.ab-skill-cipher{font-family:var(--font-cipher);letter-spacing:.03em}#app{display:flex;flex-direction:column;height:100%;max-width:1400px;margin:0 auto;padding:1rem}.highlight{color:var(--accent-color);text-shadow:0 0 5px var(--accent-color)}#mobile-header{display:none}.game-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--accent-dim);margin-bottom:1rem}.logo{font-family:var(--font-header);font-size:1.5rem;letter-spacing:2px}.resources-bar{display:flex;gap:2rem;align-items:center}.res-item{display:flex;flex-direction:column;align-items:center;position:relative;cursor:help}.res-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px}.res-value{font-size:1.2rem;font-weight:700;color:var(--accent-color);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;min-width:9ch;text-align:center}.res-sub{font-size:.8rem;color:var(--success-color)}[data-tooltip]{position:relative}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);display:block;width:max-content;min-width:10rem;max-width:min(22rem,90vw);box-sizing:border-box;background:#222;border:1px solid #444;color:#eee;padding:.5rem;border-radius:4px;font-family:var(--font-main);font-size:.8rem;white-space:normal;text-align:center;line-height:1.35;overflow-wrap:break-word;z-index:1000;pointer-events:none;box-shadow:0 2px 10px #00000080;margin-top:5px}@media(max-width:768px){[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{min-width:min(12rem,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem);font-size:.78rem;padding:.4rem .55rem}}#app-layout{display:grid;grid-template-columns:200px minmax(400px,1fr) 250px;grid-template-rows:100vh;grid-template-rows:100dvh;grid-template-areas:"nav viewport ledger";min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;width:100%;overflow:hidden;gap:0;background-color:var(--bg-color)}@media(min-width:769px){#app-layout.nav-collapsed-desktop{grid-template-columns:88px minmax(400px,1fr) 250px;grid-template-areas:"nav viewport ledger"}#app-layout.ledger-hidden-desktop{grid-template-columns:200px minmax(400px,1fr);grid-template-areas:"nav viewport"}#app-layout.nav-collapsed-desktop.ledger-hidden-desktop{grid-template-columns:88px minmax(400px,1fr);grid-template-areas:"nav viewport"}}#nav-col{grid-area:nav;background:#080808;border-right:1px solid #222;display:flex;flex-direction:column;padding:1rem;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;z-index:10;container-type:inline-size;container-name:nav-col}.nav-header{margin-bottom:2rem;text-align:center;position:relative}.nav-desktop-toggle{position:absolute;top:0;left:0;min-width:2rem;min-height:2rem;padding:0;border-color:#00f3ff47;color:#9dd9de}.logo-small{font-family:var(--font-header);font-size:1.5rem;color:#fff;letter-spacing:2px}#nav-items-container{display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-item{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;background:transparent;border:1px solid transparent;border-radius:4px;color:#888;cursor:pointer;transition:all .2s;text-align:left;font-family:var(--font-main);font-size:.9rem;position:relative}#nav-items-container .nav-item--rail-icon{justify-content:center;text-align:center;padding:.5rem .25rem;gap:0}.nav-item:hover{background:#ffffff0d;color:#ddd}.nav-item.active{background:#00f3ff1a;color:var(--accent-color);border-color:#00f3ff4d;font-weight:600;box-shadow:0 0 10px #00f3ff0d}.nav-item.locked{filter:grayscale(100%);opacity:.3;cursor:not-allowed;pointer-events:auto}.nav-item.tutorial-pulse{border-color:#d4a0ffd9;box-shadow:0 0 12px #d4a0ff59;animation:tutorial-nav-pulse 1.6s ease-in-out infinite}@keyframes tutorial-nav-pulse{0%,to{box-shadow:0 0 8px #d4a0ff40}50%{box-shadow:0 0 16px #d4a0ff80}}.nav-dot{position:absolute;top:8px;right:8px;width:6px;height:6px;background:#f33;border-radius:50%;box-shadow:0 0 5px #f33}.nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon img{width:100%;height:100%;object-fit:contain;display:block}#nav-items-container .nav-item--rail-icon .nav-icon{width:64px;height:64px}#nav-items-container .nav-item--rail-icon .nav-icon img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}#nav-items-container .nav-item--rail-icon.active .nav-icon img{filter:drop-shadow(0 0 10px rgba(0,243,255,.45)) drop-shadow(0 1px 2px rgba(0,0,0,.85))}.nav-footer-icons .nav-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-footer-icons .nav-icon img{width:100%;height:100%;object-fit:contain;display:block;opacity:.92}.menu-icon-img{display:block;object-fit:contain;flex-shrink:0}.inv-filter-icon-img{width:1rem;height:1rem}.toast-icon-img{width:1.5rem;height:1.5rem}.landing-btn .landing-btn-icon .menu-icon-img{width:1.35rem;height:1.35rem}.auth-signin-primary-inner{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.nav-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #222}.nav-footer-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%;justify-items:center}.nav-collapsed-menu-btn{display:none}.nav-footer [data-tooltip]:hover:after,.nav-footer [data-tooltip]:focus-visible:after{top:auto;bottom:100%;margin-top:0;margin-bottom:5px}#nav-col [data-tooltip]:hover:after,#nav-col [data-tooltip]:focus-visible:after{width:max-content;max-width:min(22rem,calc(100cqw - 1rem));min-width:0;left:50%;transform:translate(-50%);box-sizing:border-box}@supports not (container-type: inline-size){#nav-col [data-tooltip]:hover:after,#nav-col [data-tooltip]:focus-visible:after{max-width:min(22rem,11.5rem)}}#nav-col .nav-footer-icons .nav-item:nth-child(odd)[data-tooltip]:hover:after,#nav-col .nav-footer-icons .nav-item:nth-child(odd)[data-tooltip]:focus-visible:after{left:0;transform:none}#nav-col .nav-footer-icons .nav-item:nth-child(2n)[data-tooltip]:hover:after,#nav-col .nav-footer-icons .nav-item:nth-child(2n)[data-tooltip]:focus-visible:after{left:auto;right:0;transform:none}.modal-overlay [data-tooltip]:hover:after,.modal-overlay [data-tooltip]:focus-visible:after{width:max-content;max-width:min(22rem,calc(100vw - 2.5rem));min-width:0;left:50%;transform:translate(-50%);box-sizing:border-box}#viewport-col{grid-area:viewport;display:flex;flex-direction:column;position:relative;background:radial-gradient(circle at 50% 30%,#151520,#050505);overflow:hidden}#view-content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:2rem;scrollbar-width:thin;scrollbar-color:#333 transparent}.guided-objective-host{flex-shrink:0;padding:0 1rem .35rem;z-index:20;scroll-margin-top:.75rem}.ui-guide-overlay{position:fixed;inset:0;z-index:var(--z-guide-overlay);pointer-events:none}.ui-guide-overlay.is-visible{display:block}.ui-guide-scrim{position:fixed;inset:0;z-index:var(--z-guide-scrim);background:#02060a85;pointer-events:auto;touch-action:none}.ui-guide-spotlight{position:fixed;border-radius:10px;border:2px solid rgba(0,243,255,.75);box-shadow:0 0 0 9999px #02060a47,0 0 18px #00f3ff59;z-index:var(--z-guide-spotlight);pointer-events:none;transition:left .14s ease,top .14s ease,width .14s ease,height .14s ease}@media(prefers-reduced-motion:reduce){.ui-guide-spotlight{transition:none}}.ui-guide-card{position:fixed;width:min(360px,calc(100vw - 1.5rem));border:1px solid rgba(0,243,255,.4);border-radius:10px;background:#080e14f5;box-shadow:0 12px 30px #00000073;padding:.7rem .8rem;color:#d5e3f3;pointer-events:auto;z-index:var(--z-guide-card)}.ui-guide-card-title{font-family:var(--font-header);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-color)}.ui-guide-card-summary{margin-top:.35rem;font-size:.73rem;line-height:1.35;color:#b6c8dd}.ui-guide-card-objective{margin-top:.35rem;font-size:.68rem;line-height:1.35;font-style:italic;color:#c9d9e8}.ui-guide-card-actions{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.35rem}.ui-guide-btn-skip-tutorial{flex:1 1 100%;margin-top:.15rem;opacity:.82;font-size:.65rem;border-color:#ffffff2e!important;color:#a8b8c8!important}.ui-guide-btn-primary{border-color:var(--accent-color)!important;color:var(--accent-color)!important}.ui-guide-card .btn-micro:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.guided-objective-card{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem 1rem;padding:.55rem .75rem;border-radius:8px;border:1px solid rgba(0,243,255,.28);background:#080e16eb;box-shadow:0 4px 16px #00000059}.guided-objective-main{flex:1 1 200px;min-width:0}.guided-objective-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.2rem}.guided-objective-title{font-family:var(--font-header);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-color);flex:1;min-width:0}.guided-objective-minimize-btn{flex-shrink:0;line-height:1;padding:.15rem .35rem;opacity:.88}.guided-objective-trail-details{margin:.25rem 0 .4rem;font-size:.62rem;color:#9aa6b8;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#0003;padding:.35rem .45rem}.guided-objective-trail-summary{cursor:pointer;color:#8ab4c4;font-weight:600;letter-spacing:.02em}.guided-objective-trail-body{margin:.35rem 0 0;line-height:1.4;color:#9aa6b8}.guided-objective-card--wilds-trail .guided-objective-title{font-size:.72rem}.guided-objective-card--wilds-trail .guided-objective-summary{font-size:.68rem}.guided-objective-card--wilds-trail .guided-objective-objective{font-size:.62rem}.guided-objective-card--minimized{padding:.4rem .6rem}.guided-objective-card--minimized .guided-objective-progress-meta{font-size:.58rem}.guided-objective-summary{margin:0 0 .45rem;font-size:.72rem;line-height:1.35;color:var(--text-secondary)}.guided-objective-objective{margin:-.1rem 0 .45rem;font-size:.68rem;line-height:1.35;font-style:italic;color:#b8c6d8}.guided-objective-progress-track{height:6px;border-radius:4px;background:#ffffff14;overflow:hidden}.guided-objective-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#00f3ff59,#00f3ffd9);transition:width .25s ease}.guided-objective-progress-meta{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.62rem;color:#888}.guided-objective-card--awakening .guided-objective-progress-track{height:9px;box-shadow:0 0 12px #00f3ff33}.guided-objective-card--awakening .guided-objective-progress-meta{margin-top:.35rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#c8dce8}.guided-objective-card--awakening .guided-objective-progress-meta span:last-child{font-family:var(--font-header);font-size:.95rem;color:var(--accent-color)}.guided-objective-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.guided-objective-btn-primary{border-color:var(--accent-color)!important;color:var(--accent-color)!important}.guided-objective-btn-secondary{opacity:.9}.guided-objective-skip-wrap{flex:1 1 100%;display:flex;justify-content:flex-end;margin-top:.15rem}.guided-objective-skip-btn{font-size:.62rem;opacity:.78;border-color:#ffffff26!important;color:#9aacbc!important}.pwa-install-banner-host{flex-shrink:0;padding:0 1rem .35rem;z-index:19}.pwa-install-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(106,176,255,.35);background:#0c1424f2;font-size:.72rem;color:#c8d8f0}.pwa-install-banner-actions{display:flex;gap:.35rem;align-items:center}.settings-install-copy{flex:1;min-width:0}.settings-install-hint{margin:.2rem 0 0;font-size:.65rem;color:#888;line-height:1.3}.setting-row-install{align-items:flex-start;flex-wrap:wrap}.primary-fab-host{flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:.25rem 0 .45rem;position:relative;z-index:21;background:linear-gradient(180deg,transparent 0%,rgba(5,5,8,.92) 35%)}.primary-fab{touch-action:manipulation;cursor:pointer;border:2px solid var(--accent-color);border-radius:999px;padding:.55rem 1.25rem;min-width:min(92vw,220px);max-width:96vw;background:linear-gradient(180deg,#00f3ff38,#002832f2);color:var(--accent-color);font-family:var(--font-header);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 0 18px #00f3ff40,0 6px 20px #0000008c;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.primary-fab:hover:not(:disabled){box-shadow:0 0 26px #00f3ff66,0 8px 24px #0009}.primary-fab:active:not(:disabled){transform:scale(.97)}.primary-fab:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}.primary-fab-label{line-height:1.2;text-align:center}.primary-fab-sub{font-size:.62rem;font-weight:600;opacity:.85;color:var(--text-secondary);text-transform:none;letter-spacing:.02em}.primary-fab.variant-mana{border-color:#d4a0ff;color:#e8d4ff;background:linear-gradient(180deg,#4b008273,#140823f5);box-shadow:0 0 18px #b478ff4d,0 6px 20px #0000008c}.primary-fab.variant-smithy{border-color:#fa0;color:#fc6;background:linear-gradient(180deg,#ff8c0040,#231606f5)}.primary-fab.variant-camp{border-color:#ff6b35;color:#ffb89a;background:linear-gradient(180deg,#ff572247,#1c0e08f5)}.primary-fab.variant-spire{border-color:#a335ee;color:#e0b8ff;background:linear-gradient(180deg,#a335ee4d,#12081cf5)}.primary-fab.variant-dungeon{border-color:#e24a4a;color:#ffb3b3;background:linear-gradient(180deg,#c8282859,#1c0808f5)}.primary-fab.variant-muted{border-color:#555;color:#888;background:linear-gradient(180deg,#3c3c3c66,#0c0c0ef5)}body.primary-fab-active .action-btn.primary-fab-mirror{display:none!important}.story-log-backdrop,.mobile-header-menu-backdrop,.mobile-header-menu-panel{display:none}#story-terminal{height:180px;background:#000;border-top:1px solid var(--accent-dim);display:flex;flex-direction:column;box-shadow:0 -5px 20px #00000080;z-index:20;transition:height .3s cubic-bezier(.4,0,.2,1)}#story-terminal.collapsed{height:28px;overflow:hidden}#story-terminal.collapsed #terminal-ticker{opacity:1!important}#story-terminal.collapsed .terminal-tablist,#story-terminal.collapsed .terminal-panes{display:none}#story-terminal.collapsed .terminal-body{pointer-events:none}.terminal-header{padding:4px 8px;background:#ffffff0d;font-family:var(--font-main);font-size:.7rem;color:#666;display:flex;justify-content:space-between;align-items:center}.terminal-body{flex:1;padding:.5rem 1rem;overflow-y:auto;font-family:var(--font-main);font-size:.9rem;color:#ccc}.terminal-tablist{display:flex;gap:.25rem;padding:2px 8px 0;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06);background:#00000059}.terminal-tab{flex:0 0 auto;padding:.22rem .55rem;font-size:.62rem;font-family:var(--font-main);letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;border-bottom:none;border-radius:4px 4px 0 0;background:transparent;color:#666;cursor:pointer}.terminal-tab--active{color:var(--accent-color, #00f3ff);border-color:#ffffff1a;background:#00f3ff0f}.terminal-panes,.terminal-pane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.terminal-pane[hidden]{display:none!important}.dungeon-run-log{font-size:.82rem;line-height:1.35;color:#c5c2bb}.dungeon-run-log-line{margin-bottom:.28rem;padding-left:.35rem;border-left:2px solid rgba(0,243,255,.35)}#ledger-col{grid-area:ledger;background:linear-gradient(180deg,#0a0c10fa,#08090dfa);border-left:1px solid rgba(0,243,255,.1);padding:1rem;display:flex;flex-direction:column;gap:.85rem;overflow-y:auto;transition:transform .2s ease,opacity .2s ease,width .2s ease,padding .2s ease}.ledger-toolbar{display:flex;justify-content:flex-end;gap:.35rem;margin-bottom:.2rem}.ledger-section{display:flex;flex-direction:column;gap:.45rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.65rem .7rem;background:#ffffff05;box-shadow:inset 0 1px #ffffff0a}.ledger-title{font-size:.75rem;text-transform:none;font-variant:all-small-caps;color:#8d9aa6;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:4px;margin-bottom:.35rem}.game-version-footer{margin-top:auto;padding-top:1rem;color:#7a7a8a;font-size:.72rem;text-align:center;letter-spacing:.04em}#btn-buy-grass.wilds-explore-btn{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:.35rem}#btn-buy-grass.wilds-explore-btn .btn-text{display:block;width:100%}#btn-buy-grass.wilds-explore-btn .btn-cost{display:block;width:100%;text-transform:none;letter-spacing:.02em;font-weight:600;font-size:.82rem;line-height:1.35;opacity:.92}#btn-buy-grass.wilds-explore-btn .wilds-explore-rate-line{font-size:.72rem;opacity:.88;margin-top:.05rem}.res-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;color:#acb7c1}.res-row.main-res{color:var(--accent-color);font-size:1.1rem;font-weight:700}.res-val{font-family:var(--font-main);color:#ecf1f5}.desktop-panel-restore-bar{position:fixed;right:.75rem;top:.75rem;transform:none;z-index:60;display:inline-flex;gap:.35rem;padding:.3rem;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#070a10e6;box-shadow:0 6px 18px #00000073}.panel-restore-btn{border-color:#00f3ff59;color:#bdeef2;background:#00f3ff0f;min-height:1.8rem;padding:.2rem .55rem;letter-spacing:.03em}.panel-restore-btn:hover{background:#00f3ff1f;border-color:#00f3ff8c}@media(min-width:769px){#ledger-col.is-hidden-desktop{display:none}#ledger-col.is-compact .ledger-section:not(:first-of-type){display:none}#ledger-col.is-compact{gap:.5rem;padding:.75rem}#app-layout.nav-collapsed-desktop #nav-col{padding:.55rem .35rem;position:relative;overflow-x:hidden}#app-layout.nav-collapsed-desktop #nav-col.nav-collapsed-menu-open{z-index:10025}#app-layout.nav-collapsed-desktop .nav-header{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-bottom:.75rem}#app-layout.nav-collapsed-desktop .logo-small{font-size:1.15rem;letter-spacing:1px}#app-layout.nav-collapsed-desktop #nav-items-container{gap:.35rem}#app-layout.nav-collapsed-desktop #nav-items-container .nav-item--rail-icon .nav-icon{width:50px;height:50px}#app-layout.nav-collapsed-desktop .nav-desktop-toggle{position:static;align-self:center;margin:0}#app-layout.nav-collapsed-desktop .nav-item--rail-icon{padding:.35rem .15rem}#app-layout.nav-collapsed-desktop .nav-footer{display:none}#app-layout.nav-collapsed-desktop .nav-collapsed-menu-btn{display:inline-flex;margin-top:auto;align-self:center;min-width:2.1rem;min-height:2.1rem;justify-content:center;align-items:center;border-color:#00f3ff66;color:var(--accent-color)}#app-layout.nav-collapsed-desktop #nav-col.nav-collapsed-menu-open .nav-footer{display:block;position:fixed;left:92px;bottom:.6rem;width:13.25rem;margin-top:0;padding:.65rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#080a0ef5;box-shadow:0 8px 24px #00000080;z-index:10020}}.main-res .res-val{color:var(--accent-color)}.res-row.obsidian-res{color:#a335ee;font-size:1.1rem;font-weight:700}.obsidian-res .res-val{color:#a335ee}.res-row.bonus-row-ascension{color:gold}.res-row.bonus-row-achievements{color:#4a90e2}.offline-modal-time{color:var(--text-primary, #fff);font-weight:600}.offline-modal-aether{color:var(--accent-color, #00f3ff);font-weight:700}.center-stage{display:flex;flex-direction:column;gap:1rem;overflow:hidden}.stage-scene{flex:1;border-bottom:1px solid var(--accent-dim);padding-bottom:1rem;overflow-y:auto;min-height:0}.stage-log{height:40%;border-top:1px solid #222;padding-top:1rem;display:flex;flex-direction:column;transition:height .3s cubic-bezier(.4,0,.2,1);min-height:40px}.stage-log.collapsed{height:40px!important;padding-top:0;border-top:1px solid var(--accent-dim)}.panel::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-track{background:#0000004d}.panel::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.panel::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.panel-title{font-family:var(--font-header);font-size:1.1rem;color:var(--accent-color);border-bottom:1px solid var(--accent-dim);padding-bottom:.5rem;margin-bottom:1rem;text-transform:uppercase}.sub-title{font-size:.9rem;color:var(--text-secondary);margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:1px}.resource-row{display:flex;justify-content:space-between;margin-bottom:.8rem;font-size:1.1rem}.resource-row.small{font-size:.9rem;color:var(--text-secondary)}.res-value{font-weight:600;font-family:var(--font-main)}.action-btn{width:100%;position:relative;padding:1.2rem;background:var(--panel-bg);border:1px solid var(--accent-color);color:var(--accent-color);font-family:var(--font-header);font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.action-btn.primary{background:#00f3ff26;box-shadow:0 0 10px #00f3ff1a}.action-btn.secondary{border-color:var(--text-secondary);color:var(--text-secondary)}.action-btn:hover{background:var(--accent-hover);box-shadow:0 0 15px var(--accent-dim);text-shadow:0 0 8px var(--accent-color)}.action-btn:active{transform:translateY(1px)}.action-btn,.btn-xs,.btn-micro,.nav-item,.icon-btn{touch-action:manipulation}.action-btn:disabled,.action-btn.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(100%);pointer-events:none;background:transparent;box-shadow:none}.tab-active{background:var(--accent-color)!important;color:#000!important;border-color:var(--accent-color)!important;font-weight:700}.style-deck{display:flex;flex-direction:column;gap:1rem}.btn-xs{font-size:.7rem;padding:.4rem .6rem;width:auto;border-radius:4px;background:#00000080;border:1px solid #444;color:#ccc;cursor:pointer;transition:all .2s;text-transform:uppercase;font-family:var(--font-header);letter-spacing:.5px;display:flex;justify-content:center;align-items:center;text-align:center}.btn-xs:hover{border-color:#666;color:#fff;background:#ffffff0d}.btn-equip{border-color:#00f3ff66;color:var(--accent-color)}.btn-equip:hover{background:#00f3ff1a;border-color:var(--accent-color);box-shadow:0 0 8px var(--accent-dim)}.btn-xs.btn-icon-action{min-width:2.35rem;min-height:2.35rem;padding:.25rem;font-size:1rem;text-transform:none;letter-spacing:0}.btn-salvage{border-color:#f446;color:#f66}.btn-salvage:hover{background:#ff44441a;border-color:#f44;color:#f44;box-shadow:0 0 8px #f443}.btn-upgrade-action{border-color:#ffd70066;color:gold}.btn-upgrade-action:hover:not(:disabled){background:#ffd7001a;border-color:gold;box-shadow:0 0 8px #ffd70033}.btn-upgrade-action:disabled{opacity:.6;cursor:not-allowed;border-color:#555;color:#aaa;background:transparent}.upgrades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem}.upgrades-grid.collapsed{display:none}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;margin-bottom:1rem;border-bottom:1px solid var(--accent-dim);cursor:pointer;color:var(--accent-color);font-family:var(--font-header);text-transform:uppercase;letter-spacing:1px}.section-header:hover{color:#fff;border-bottom-color:var(--accent-color)}.upgrade-btn{background:#141419cc;border:1px solid #333;padding:.85rem .95rem;cursor:pointer;text-align:left;transition:all .2s;display:flex;flex-direction:column;gap:.45rem;align-items:stretch;border-radius:4px;position:relative;overflow:visible;height:100%;min-height:10.2rem}.upgrade-btn:hover:not(.disabled){border-color:var(--accent-color);background:#00f3ff0d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.upgrade-btn.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8)}.up-top{display:grid;grid-template-columns:minmax(116px,50%) 1fr;gap:.75rem;align-items:stretch}.up-icon{font-size:2rem;flex-shrink:0;width:100%;min-height:7.8rem;height:100%;border:none;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;overflow:visible}.up-icon .up-icon-img{width:112%;height:112%;display:block;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}.up-right{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;gap:.45rem;position:relative;padding-bottom:2.6rem}.up-head{display:flex;flex-direction:column;gap:.3rem}.up-name-row{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.up-foot{position:absolute;left:auto;right:0;bottom:.2rem;z-index:3;display:flex;gap:.45rem;justify-content:flex-end;align-items:center;pointer-events:none;padding-right:2.25rem}.up-buy-btn{border-color:#00f3ff73;color:var(--accent-color);min-width:4.8rem;text-transform:uppercase;min-height:1.9rem;padding-inline:.7rem;font-size:.78rem;letter-spacing:.03em;white-space:nowrap;pointer-events:auto;background:#000a10d1;box-shadow:0 0 0 1px #00f3ff1f inset}.up-buy-btn:disabled{opacity:.45;cursor:not-allowed}.up-name{font-weight:600;color:var(--text-primary);font-size:1rem;text-align:right}.up-pill{display:inline-flex;align-items:center;border:1px solid #333;border-radius:999px;background:#00000061;padding:.24rem .58rem;font-size:.74rem;line-height:1.2;white-space:nowrap}.up-cost{color:var(--gold-color);border-color:#ffd7004d;justify-content:flex-start;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis}.up-count{color:#c4c4c4;border-color:#fff3}.up-rate{color:var(--accent-color);border-color:#00f3ff47;width:fit-content;align-self:flex-end}.up-details{position:absolute;right:0;bottom:.2rem;margin-left:0;pointer-events:auto}.up-details>summary{list-style:none;cursor:pointer;width:1.85rem;height:1.85rem;border:1px solid #36506a;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-color);background:#00000059}.up-details>summary::-webkit-details-marker{display:none}.up-details>summary:after{content:"+";font-size:1rem;line-height:1}.up-details[open]>summary:after{content:"−"}.up-details-panel{display:none;border-top:1px dashed rgba(255,255,255,.14);padding-top:.35rem}.upgrade-btn.details-open .up-details-panel{display:block}.up-cost{pointer-events:auto}.up-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.3;margin-top:.35rem}.upgrade-inspect-drawer{position:fixed;top:.75rem;right:.75rem;width:min(22rem,36vw);height:calc(100dvh - 1.5rem);background:#0a0c10fa;border:1px solid rgba(0,243,255,.35);border-radius:10px;box-shadow:0 12px 30px #0009;z-index:120;transform:translate(110%);transition:transform .2s ease;padding:.8rem;display:flex;flex-direction:column;gap:.65rem;overflow-y:auto}.upgrade-inspect-drawer.open{transform:translate(0)}.upgrade-inspect-drawer.pinned{border-color:#ffd70080;box-shadow:0 12px 30px #0009,0 0 0 1px #ffd70033}.upgrade-inspect-backdrop{position:fixed;inset:0;background:#00000061;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:119;opacity:0;pointer-events:none;transition:opacity .2s ease}.upgrade-inspect-backdrop.open{opacity:1;pointer-events:auto}.inspect-controls{display:flex;justify-content:flex-end;gap:.35rem}.inspect-pin{min-width:3.5rem}.inspect-close{min-width:2rem;min-height:2rem;padding:0;font-size:1rem}.inspect-icon{width:8rem;height:8rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:radial-gradient(circle at 35% 25%,#ffffff14,#00000073);display:flex;align-items:center;justify-content:center;margin:0 auto}.inspect-icon .up-icon-img{width:7rem;height:7rem}.inspect-name{font-size:1.1rem;font-weight:700;text-align:center}.inspect-metrics{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.inspect-desc{font-size:.82rem;color:#aab3ba;line-height:1.45;margin:.3rem 0 0}.inspect-buy{margin-top:auto;justify-content:center;border-color:#00f3ff73;color:var(--accent-color)}.inspect-buy:disabled{opacity:.45;cursor:not-allowed}.story-log{flex:1;border:none;background:transparent;padding:.5rem 1rem;font-family:var(--font-main);font-size:.95rem;line-height:1.4;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;mask-image:linear-gradient(to bottom,transparent,black 15%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 15%)}.story-entry{margin-bottom:.3rem;color:var(--text-secondary);border-left:2px solid transparent;padding-left:.5rem}.story-entry.story-unlock{color:gold;border-left-color:gold}.story-entry.story-purchase{color:#00f3ff;border-left-color:#00f3ff}.story-entry.story-combat{color:#f33;border-left-color:#f33}.story-entry.story-prophecy{color:#d4a0ff;border-left-color:#d4a0ff}.story-entry.story-tutorial{color:#9ee8c4;border-left-color:#5cb88a}.story-entry:last-child{animation:flash 2s infinite}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.chant-chain-breadcrumb-host{padding:0 1rem;margin-top:1.25rem}.chant-chain-breadcrumb-host.chant-chain-breadcrumb-host--complete{display:none;margin:0;padding:0;height:0;overflow:hidden}.chant-chain-breadcrumb{border:1px solid rgba(212,160,255,.35);border-radius:8px;background:#d4a0ff0f;padding:.75rem 1rem}.chant-chain-breadcrumb-title{font-family:var(--font-header);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#d4a0ff;margin-bottom:.5rem;opacity:.95}.chant-chain-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:.35rem .25rem}.chant-chain-step{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:6px;font-size:.8rem;border:1px solid rgba(255,255,255,.12);background:#00000040}.chant-chain-step-hint{flex-basis:100%;font-size:.62rem;line-height:1.3;color:#8b8b97;padding-left:1.65rem;font-weight:500}.chant-chain-step:not(:last-child):after{content:"→";margin-left:.35rem;opacity:.45;font-size:.75rem;align-self:center}.chant-chain-step-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;border-radius:4px;font-size:.65rem;font-weight:700;background:#00000073;color:#aaa}.chant-chain-step-name{color:var(--text-primary);font-weight:600}.chant-chain-step--done{border-color:#2ecc7173;background:#2ecc7114}.chant-chain-step--done .chant-chain-step-index{background:#2ecc7140;color:#9ee8c4}.chant-chain-step--available{border-color:#00f3ff66;background:#00f3ff12}.chant-chain-step--available .chant-chain-step-index{background:#00f3ff33;color:#00f3ff}.chant-chain-step--locked{opacity:.72;border-style:dashed}.chant-chain-step--locked .chant-chain-step-name{color:#888}@media(max-width:430px){.chant-chain-steps{flex-direction:column;align-items:stretch}.chant-chain-step:not(:last-child):after{content:"↓";margin-left:0;margin-top:.15rem;align-self:flex-start;padding-left:.4rem}}.spire-view{display:flex;flex-direction:column;gap:.25rem;min-width:0}.spire-page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding-bottom:.65rem;margin-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.08)}.spire-page-header-actions{display:flex;align-items:center;gap:.5rem}.spire-stack{display:flex;flex-direction:column;gap:1.35rem}.spire-section{margin:0;padding:1rem 1.05rem 1.1rem;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:#00000038;min-width:0}.spire-section--hidden{display:none!important}.spire-section-heading{margin:0 0 .75rem;padding-bottom:.45rem;border-bottom:1px solid rgba(255,255,255,.08);font-size:1.05rem;font-weight:700;letter-spacing:.03em;font-family:var(--font-header)}.spire-section-heading--gold{color:#e8c84a}.spire-section-heading--cyan{color:#5ee8f0}.spire-section-heading--violet{color:#c4a8e8}.town-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:12px}.town-upgrade-card{display:flex;flex-direction:column;padding:.85rem .95rem;min-height:8.5rem;background:#08080ca6;border:1px solid rgba(255,255,255,.1);border-radius:8px}.town-upgrade-card--magic{background:#001c2a73;border-color:#00f3ff47}.town-upgrade-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.town-upgrade-title{margin:0;font-size:.98rem;font-weight:700;color:#e8c84a}.town-upgrade-title--cyan{color:#7ee8ef}.town-upgrade-lvl{flex-shrink:0;font-size:.78rem;color:#90909a;font-variant-numeric:tabular-nums}.town-upgrade-lvl--emphasis{font-size:.88rem;color:#e4e4ea}.town-upgrade-desc{flex:1;margin:.45rem 0 .65rem;font-size:.84rem;line-height:1.45;color:#b8b8c4}.town-upgrade-card-actions{margin-top:auto}.town-upgrade-card .btn-town-buy{width:100%;font-size:.88rem}.spire-section--chain{padding:.85rem 1rem 1rem;border-style:dashed;border-color:#d4a0ff38;background:#d4a0ff0a}.spire-section--chain .chant-chain-breadcrumb-host{padding:0;margin:0}.spire-section--research .projects-grid{gap:1.1rem}.town-actions{display:flex;justify-content:center;margin-top:.25rem;padding-top:.35rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-card{border:1px solid var(--accent-dim);background:#00f3ff0d;padding:1.2rem;text-align:left;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;min-height:140px}.project-card:hover:not(.disabled){border-color:var(--accent-color);background:#00f3ff1a;box-shadow:0 4px 15px #00f3ff26;transform:translateY(-2px)}.project-card.disabled{border:1px dashed #444;background:#0000004d;color:#666;opacity:.7;cursor:not-allowed;box-shadow:none}.project-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem;margin-bottom:.5rem}.project-title{font-size:1rem;font-weight:700;color:#fff;font-family:var(--font-header)}.project-cost{font-family:var(--font-main);font-size:.85rem;padding:2px 6px;border-radius:4px;background:#00000080;border:1px solid #333}.cost-chant{color:#d4a0ff;border-color:#d4a0ff4d}.cost-aether{color:#00f3ff;border-color:#00f3ff4d}.cost-obsidian{color:#a335ee;border-color:#a335ee4d}.project-desc{font-size:.85rem;color:#aaa;line-height:1.4;flex-grow:1}.project-status{margin-top:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;text-align:right;opacity:.8}.project-card.disabled .project-status{text-transform:none;letter-spacing:normal;text-align:left;font-size:.72rem;line-height:1.35;opacity:1}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.project-card{min-height:auto}}.paper-doll-container{display:grid;grid-template-areas:". head ." "weapon chest offhand" "hands legs ." ". feet .";gap:10px;justify-content:center;margin:1rem auto;position:relative;background:radial-gradient(circle at center,rgba(255,255,255,.05) 0%,transparent 70%);padding:2rem;border-radius:50%}.doll-slot{width:60px;height:60px;border:1px dashed #444;background:#00000080;display:flex;justify-content:center;align-items:center;position:relative;border-radius:4px}.doll-slot.equipped{border:1px solid var(--accent-color);box-shadow:0 0 10px var(--accent-dim);background:#00f3ff1a}.doll-slot.common{border-color:#a0a0a0}.doll-slot.uncommon{border-color:#3f3}.doll-slot.rare{border-color:#007bff}.doll-slot.epic{border-color:#a335ee}.doll-slot.legendary{border-color:#ff8000;box-shadow:0 0 10px #ff800066}.doll-slot.doll-slot--two-hand-blocked{border-style:solid;border-color:#3a3a44;background:#00000059;cursor:default;box-shadow:none}.doll-slot.doll-slot--two-hand-blocked .two-hand-offhand-hint{font-size:.7rem;font-weight:700;letter-spacing:.06em;color:#666;-webkit-user-select:none;user-select:none}.doll-slot .slot-ghost-icon{font-size:1.35rem;opacity:.22;line-height:1;pointer-events:none;filter:grayscale(.35)}.doll-slot .slot-ghost-icon-img{width:1.1rem;height:1.1rem;opacity:.3;pointer-events:none;filter:grayscale(.35)}.doll-slot.equipped .slot-ghost-icon{display:none}.toolbar-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#0006;padding:8px;border-radius:4px;border:1px solid #333}.game-input,.game-select{background:var(--input-bg);color:#ccc;border:1px solid var(--input-border);padding:6px 10px;border-radius:4px;font-family:var(--font-main);font-size:.9rem;transition:all .2s;outline:none}.game-input:focus,.game-select:focus{border-color:var(--input-focus);box-shadow:0 0 5px var(--accent-dim);color:#fff}.game-input{min-width:120px}.icon-btn{width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:#222;border:1px solid #444;border-radius:4px;color:#888;cursor:pointer;transition:all .2s;font-size:1.1rem}.icon-btn:hover{background:#333;color:#fff;border-color:#666}.icon-btn.active{background:var(--accent-dim);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 8px var(--accent-dim)}.toolbar-label{font-size:.75rem;color:#666;text-transform:uppercase;margin-right:4px;letter-spacing:.5px}.slot-head{grid-area:head}.slot-chest{grid-area:chest}.slot-weapon{grid-area:weapon}.slot-offhand{grid-area:offhand}.slot-hands{grid-area:hands}.slot-legs{grid-area:legs}.slot-feet{grid-area:feet}.slot-item-name{font-size:.7rem;font-weight:700;color:#fff;text-shadow:0 0 2px #000}.relic-modal{max-width:800px;width:90%}.relic-cards-container{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem;flex-wrap:wrap}.relic-card{background:#14141ef2;border:1px solid #444;border-radius:8px;padding:1.5rem;width:220px;text-align:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #00000080;position:relative;overflow:hidden}.relic-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #000000b3;border-color:#fff}.relic-name{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:gold;pointer-events:none}.relic-rarity{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;display:inline-block;padding:2px 8px;border-radius:4px;background:#333;color:#aaa;pointer-events:none}.relic-desc{font-size:.95rem;line-height:1.4;color:#ddd;pointer-events:none}.relic-card.common{border-color:#a0a0a0}.relic-card.common .relic-name{color:#fff}.relic-card.rare{border-color:#007bff}.relic-card.rare .relic-name{color:#007bff}.relic-card.rare .relic-rarity{background:#007bff33;color:#007bff}.relic-card.legendary{border-color:#f90}.relic-card.legendary .relic-name{color:#f90}.relic-card.legendary .relic-rarity{background:#f903;color:#f90}.inv-relic{background:#ffffff0d;padding:.5rem;margin-bottom:.5rem;border-radius:4px;border-left:3px solid #666;font-size:.85rem}.auth-container{display:flex;align-items:center;gap:.5rem;margin-left:1rem;font-size:.8rem}.user-display{color:#a0a0a0;margin-right:.5rem}.btn-micro{background:transparent;border:1px solid #444;color:#fff;padding:.1rem .5rem;cursor:pointer;font-size:.7rem;border-radius:4px}.btn-micro:hover{background:#333;border-color:#888}.hidden{display:none!important}.game-header{display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center}.skill-panel-hero-progress{margin-bottom:1rem;padding:.65rem .75rem;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.08)}.skill-panel-hero-progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.82rem;color:#c8c8d2;margin-bottom:.4rem}.skill-panel-hero-lvl strong{color:#fff;font-weight:700}.skill-panel-xp-text{font-variant-numeric:tabular-nums;color:#9a9aaa;font-size:.78rem}.skill-panel-xp-track{height:6px;border-radius:4px;background:#ffffff14;overflow:hidden}.skill-panel-xp-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#4a7bc8,#a335ee);transition:width .2s ease}.skill-card-desc{font-size:.8rem;color:#aaa;flex:1 1 auto;min-height:0;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5}.skills-view{color:#fff;min-width:0}.skills-view-lede{margin:0 0 1.15rem;font-size:.88rem;line-height:1.45;color:#9a9aaa;max-width:44rem}.skills-section{margin-bottom:1.35rem;padding:1rem 1.05rem 1.1rem;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:#00000038}.skills-section--pool{margin-bottom:0}.skills-section-heading{margin:0 0 .65rem;padding-bottom:.45rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:1.02rem;font-weight:700;letter-spacing:.02em;font-family:var(--font-header)}.skills-section-heading--deck{color:#c9e8ff}.skills-section-heading--pool{color:#b8a8d8}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.skill-card{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:.75rem .85rem;min-height:7.25rem;border-radius:8px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease;background:linear-gradient(165deg,#1e1e28,#14141a);border:1px solid rgba(255,255,255,.12);box-sizing:border-box}.skill-card:hover:not(.skill-card--inactive-pool){border-color:#ffffff61;box-shadow:0 4px 14px #00000059}.skill-card--active{background:linear-gradient(165deg,#2a2438,#181422);border-color:#a335ee8c}.skill-card--active:hover:not(.skill-card--inactive-pool){border-color:#c478ffd9}.skill-card--pool{background:linear-gradient(165deg,#18181f,#121218)}.skill-card--inactive-pool{opacity:.52;filter:grayscale(1);cursor:default;pointer-events:none}.skill-card--cipher-locked{border-style:dashed;border-color:#c9a22759}.skill-card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.35rem}.skill-card-name{font-size:.95rem;font-weight:700}.skill-card-name--on-deck{color:#f2f2f8}.skill-card-name--pool{color:#c8c8d4}.skill-card-meta{display:flex;justify-content:space-between;align-items:center;gap:.35rem;font-size:.78rem;color:#8a8a96}.skill-card-cost-mp{color:#5eb0ff;font-weight:600}.skill-card-cost-zero{color:#7a7a88}.skill-card-cd{display:inline-flex;align-items:center;gap:.2rem;white-space:nowrap}.skill-card-archives-hint{font-size:.68rem;line-height:1.3;color:#c9a227;margin-top:.15rem}.skill-card-scale{margin-top:auto;padding-top:.25rem;font-size:.74rem;color:#b388ee;text-align:right;line-height:1.25}.skill-card-scale img{vertical-align:text-bottom}.skill-card-placeholder{border:1px dashed rgba(255,255,255,.18);border-radius:8px;min-height:7.25rem;display:flex;align-items:center;justify-content:center;color:#5c5c68;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;box-sizing:border-box}.skill-card-badge{position:absolute;top:6px;right:6px;background:#a335eef2;color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border-radius:4px}@media(max-width:520px){.skill-grid{grid-template-columns:1fr}}.class-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem;font-size:.8rem;color:#fff;background:#ffffff0d;padding:.5rem .65rem;border-radius:6px;margin-bottom:1rem;text-align:left}.class-stat-cell{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-width:0}.class-stat-label{color:#9a9aaa;font-weight:600;font-size:.72rem;letter-spacing:.04em}.class-stat-value{font-variant-numeric:tabular-nums;font-weight:700;color:#f0f0f5}.class-starter-gear{font-size:.75rem;color:#e8c96b;line-height:1.35}.ascension-double-confirm-hint{margin-top:1rem;padding:.6rem .8rem;border-radius:6px;background:#ff44001f;border:1px solid rgba(255,136,68,.45);color:#ffb090;font-size:.82rem;line-height:1.4}.modal-overlay{--modal-shell-border: rgba(150, 130, 215, .42);--modal-shell-glow: 0 0 0 1px rgba(150, 130, 215, .14), 0 0 36px rgba(88, 70, 160, .3);position:fixed;inset:0;width:100%;height:100%;max-height:100dvh;box-sizing:border-box;background:#000c;display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:var(--z-modal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@media(prefers-reduced-motion:reduce){.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.modal-overlay>.modal,.modal-overlay>.modal-content{margin-top:auto;margin-bottom:auto;flex-shrink:0;max-width:100%;min-width:0}.modal-content{box-sizing:border-box;width:100%;max-width:800px;padding:1.25rem 1.35rem;background:#0c0c12fa;border:1px solid var(--modal-shell-border, #444);border-radius:10px;box-shadow:var(--modal-shell-glow, none),0 12px 48px #0000008c;color:var(--text-primary)}.modal-overlay>.modal{box-sizing:border-box;width:100%;max-width:560px;padding:1.25rem 1.35rem;background:#0c0c12fa;border:1px solid var(--modal-shell-border, #444);border-radius:10px;box-shadow:var(--modal-shell-glow, none),0 12px 48px #0000008c;color:var(--text-primary)}.modal.modal--ascension{max-width:min(28rem,calc(100vw - 1.5rem));padding:1.5rem 1.55rem 1.45rem}.modal.modal--ascension .modal-title{margin:0 0 .5rem}.ascension-modal-lead{margin-top:.15rem;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.ascension-preview{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:space-between;gap:.7rem;margin:.45rem 0 1rem;padding:.85rem 1rem;border-radius:8px;background:#00000059;border:1px solid rgba(120,110,180,.35)}.ascension-preview .stat-group{flex:1;min-width:0;text-align:center}.ascension-preview .label{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:#9a9aaa;margin-bottom:.15rem}.ascension-preview .value{font-size:1.25rem;font-weight:700;font-family:var(--font-header);line-height:1.1}.ascension-preview .sub-value{font-size:.76rem;color:#c4c4d0;margin-top:.28rem;line-height:1.3}.ascension-preview .stat-group--next .sub-value{color:var(--accent-color)}.ascension-preview-arrow{flex:0 0 auto;align-self:center;font-size:1rem;color:#7a7a88;padding:0 .2rem}.ascension-modal-meta{margin:0 0 1rem;font-size:.82rem;line-height:1.5;color:#9a9aaa}.ascension-modal-challenge{margin:0 0 1rem;padding:.65rem .75rem;border-radius:8px;border:1px solid rgba(120,110,180,.35);background:#0a0a128c}.ascension-modal-challenge-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#b0b0be;margin-bottom:.4rem}.ascension-modal-challenge-select{width:100%;margin-bottom:.45rem;padding:.45rem .5rem;box-sizing:border-box}.ascension-modal-challenge-desc{margin:0;font-size:.8rem;line-height:1.45;color:#a4a4b4}.modal-actions--ascension-tree{margin-bottom:1rem}#modal-overlay .modal.modal--ascension>.modal-actions:last-child{display:flex;flex-direction:column;gap:.75rem;margin-top:.35rem}.ascension-modal-tree-btn{width:100%}.ascension-modal-stakes{margin-top:.35rem;margin-bottom:1rem}.ascension-stakes-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}@media(max-width:440px){.ascension-stakes-grid{grid-template-columns:1fr}}.ascension-stakes-block{padding:.65rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#08080e8c;text-align:left}.ascension-stakes-block--lose{border-color:#e24a4a52}.ascension-stakes-block--keep{border-color:#00f3ff38}.ascension-stakes-heading{font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#b0b0be;margin-bottom:.45rem}.ascension-stakes-list{margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.45;color:#d2d2dc}.ascension-stakes-list li{margin-bottom:.28rem}.ascension-stakes-list li:last-child{margin-bottom:0}.ascension-locked-msg{margin:0;font-size:.88rem;line-height:1.45;color:#ff9a6e;text-align:center}.main-view-panel.main-view-panel--ascension{max-width:min(920px,100%);min-height:0;padding-bottom:1.5rem}.ascension-view-lede{margin:0 0 .85rem;font-size:.9rem;line-height:1.5;color:#a9a9b8;max-width:42rem}.ascension-header--toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.ascension-header-titles .ascension-view-title,.ascension-header-titles .panel-title{margin:0 0 .25rem;font-size:1.15rem}.ascension-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.asc-node-icon-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}.asc-node-icon-wrap img{object-fit:contain}.asc-node{position:absolute;width:40px;height:40px;border-radius:50%;padding:0;margin:0;transform:translate(-50%,-50%);cursor:pointer;box-sizing:border-box;border:2px solid rgba(255,255,255,.18);background:#252532;transition:box-shadow .15s ease,border-color .15s ease,opacity .15s ease,filter .15s ease}.asc-node:focus-visible{outline:2px solid rgba(0,243,255,.65);outline-offset:2px}.asc-node--available{border-color:#00f3ffc7;box-shadow:0 0 14px #00f3ff47;background:radial-gradient(circle at 30% 25%,#00f3ff2e,#1a3048)}.asc-node--needs_ap{opacity:.9;border-color:#ffc87861;background:#2a2630}.asc-node--needs_parent{opacity:.4;filter:grayscale(.35);border-color:#78788c59}.asc-node--owned{opacity:1;border-color:#ffd700d1;background:radial-gradient(circle at 30% 20%,#ffd70038,#2a2210);box-shadow:0 0 12px #ffc85038}.asc-node-branch-tag{margin:0 0 .35rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#8a8a9a}.asc-node-state{margin:0;font-size:.88rem;line-height:1.45}.asc-node-state--owned{color:#8fdf9a;font-weight:600}.asc-node-state--locked{color:#c9a8a0}.asc-node-detail-name{margin:0 0 .35rem;font-size:1rem}.asc-node-detail-desc{margin:0 0 .5rem;line-height:1.45;color:#c4c4d4}.ascension-tree-canvas{position:relative;width:100%;height:min(400px,42vh);min-height:220px;background:radial-gradient(ellipse at 50% 85%,rgba(0,243,255,.06),transparent 55%),#12131c;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:visible}.ascension-tree-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.asc-tree-edge{stroke-width:.9;vector-effect:non-scaling-stroke;stroke-linecap:round}.asc-tree-edge--warrior{stroke:#00f3ff73}.asc-tree-edge--scholar{stroke:#bc96ff85}.ascension-tree-nodes{position:relative;width:100%;height:100%;z-index:1}.ascension-tree-nodes .asc-node[data-tooltip]{position:absolute}.ascension-tree-nodes .asc-node[data-tooltip]:hover:after,.ascension-tree-nodes .asc-node[data-tooltip]:focus-visible:after{top:auto;bottom:100%;left:50%;transform:translate(-50%);margin-top:0;margin-bottom:6px;z-index:12000}.ascension-tree-path-hint{margin:.5rem 0 .35rem;font-size:.78rem;line-height:1.4;color:#8b8b9a}.ascension-tree-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:0 0 .75rem;font-size:.72rem;color:#a0a0b0}.ascension-legend-item{display:inline-flex;align-items:center;gap:.35rem}.asc-legend-swatch{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.asc-legend-swatch--ready{border-color:#00f3ffbf;box-shadow:0 0 6px #00f3ff40;background:#1a3048}.asc-legend-swatch--ap{border-color:#ffc87873;background:#2a2630}.asc-legend-swatch--parent{opacity:.45;filter:grayscale(.35);background:#252532}.asc-legend-swatch--owned{border-color:#ffd700d9;background:#3a3218}.ascension-details{margin-top:1rem;padding:.65rem .75rem;background:#ffffff0f;border-radius:6px;min-height:3rem;line-height:1.45}.ascension-cleanse-card{margin-top:1.25rem;padding:.75rem .85rem;background:#1c2840d9;border:1px solid rgba(74,110,160,.55);border-radius:8px}.ascension-cleanse-card__title{margin:0 0 .5rem;font-size:1rem}.ascension-cleanse-locked{font-size:.9rem;color:#9a9aaa;margin:0 0 .5rem}.ascension-cleanse-body-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ascension-cleanse-body-row #asc-purity-icon{object-fit:contain;flex-shrink:0}.ascension-cleanse-body-copy{flex:1;min-width:180px}.ascension-cleanse-meta{font-size:.9rem;color:#b8b8c8}.ascension-cleanse-meta--spaced{margin-top:.35rem}.ascension-cleanse-hint{margin-top:.35rem;font-size:.85rem;color:#888}.ascension-cleanse-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}#generic-modal-overlay{z-index:var(--z-generic-modal)}#generic-modal-overlay>.modal{--modal-shell-border: rgba(226, 74, 74, .55);--modal-shell-glow: 0 0 0 1px rgba(226, 74, 74, .12), 0 0 28px rgba(226, 74, 74, .2)}#generic-modal-overlay.is-beta-disclaimer>.modal{--modal-shell-border: rgba(0, 243, 255, .38);--modal-shell-glow: 0 0 0 1px rgba(0, 243, 255, .12), 0 0 36px rgba(0, 243, 255, .16);max-width:min(28rem,calc(100vw - 1.5rem))}#generic-modal-overlay .modal-title{font-family:var(--font-header);font-size:1.3rem;font-weight:700;letter-spacing:.06em;margin:0 0 .65rem;color:#f0f0f5}#generic-modal-overlay .modal-desc{font-family:var(--font-header);font-size:.95rem;line-height:1.5;color:#b8b8c8;margin:0}#generic-modal-overlay.is-beta-disclaimer .modal-desc{color:#b0b0bf}#generic-modal-overlay.is-beta-disclaimer .modal-desc p{margin:0 0 .75rem}#generic-modal-overlay.is-beta-disclaimer .modal-desc p:last-child{margin-bottom:0}#generic-modal-overlay.is-beta-disclaimer .modal-desc .beta-notice-callout{margin-top:1rem}#generic-modal-overlay.is-beta-disclaimer .modal-actions{justify-content:center;margin-top:1.25rem}#generic-modal-overlay.is-beta-disclaimer #btn-gen-cancel{display:none!important}#generic-modal-overlay .modal-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;align-items:center}#generic-modal-overlay #btn-gen-confirm:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.store-modal{border-color:gold;width:90%;max-width:800px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;width:100%}.forge-page-grid{grid-template-columns:1fr}.forge-split{display:flex;flex-direction:column;gap:1.25rem;width:100%;min-width:0}@media(max-width:839px){.forge-panel--tempering{padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}}@media(min-width:840px){.forge-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1rem 1.5rem;align-items:start}.forge-panel--tempering{padding-top:0;border-top:none;padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.1)}}.forge-panel{min-width:0}.forge-section-title{width:100%;margin:0 0 .65rem;padding-bottom:.45rem;border-bottom:1px solid #444;font-size:1.05rem;font-weight:700;letter-spacing:.02em}.forge-section-title--crafting{color:#d4a0ff}.forge-section-title--tempering{color:#fa0}.forge-section-lede{margin:0 0 .85rem;color:#aaa;font-size:.9rem;line-height:1.45}.forge-crafting-grid,.forge-tempering-grid{display:grid;gap:10px;width:100%}.forge-crafting-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.forge-tempering-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.forge-tempering-grid .temper-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.25rem .75rem}.forge-tempering-grid .temper-empty-msg{margin:0 0 .75rem;color:#666;font-style:italic;max-width:24rem}.forge-tempering-grid .temper-empty-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:20rem;margin-top:.15rem}.forge-tempering-grid .temper-empty-actions .action-btn{width:100%;max-width:18rem}.store-item{background:#0006;border:1px solid #555;padding:.8rem;border-radius:6px;text-align:center;transition:all .2s}.store-item:hover{border-color:gold;background:#ffd7001a;transform:translateY(-2px)}.store-item.disabled{opacity:.6;pointer-events:none}.store-item.disabled:hover{border-color:#555!important;background:#0006!important;transform:none!important;box-shadow:none!important}.store-item-name{color:gold;font-weight:700;font-size:.95rem;margin-bottom:.3rem;text-shadow:0 0 5px rgba(255,215,0,.5)}.store-item-desc{color:#aaa;font-size:.75rem;margin-bottom:.8rem;height:32px;overflow:hidden}.smithy-tier-unlock-hint{font-size:.72rem;color:#8a8a95;margin:.35rem 0 .25rem;line-height:1.25;text-align:center}.btn-buy-store{background:linear-gradient(to bottom,#444,#222);border:1px solid #ffd700;color:gold}.btn-buy-store:hover{background:gold;color:#000;box-shadow:0 0 10px gold}.theme-gold{--accent-color: #ffd700;--text-color: #fbfbd4}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #333}.setting-row:last-child{border-bottom:none}.btn-toggle-on{background:var(--success-color);color:#000;border-color:var(--success-color)}.btn-toggle-off{background:#333;color:#aaa}body.no-tooltips [data-tooltip]:after{display:none!important}#ledger-col{grid-area:ledger;background:#111;border-left:1px solid #333;padding:1rem;overflow-y:auto;display:flex;flex-direction:column}.ledger-section{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #222}.camp-page-title{margin-bottom:.35rem}.camp-layout{display:flex;flex-direction:column;gap:1.25rem;align-items:stretch;width:100%;min-width:0}.camp-panel{min-width:0}.camp-section-title{width:100%;margin:0 0 .65rem;padding-bottom:.45rem;border-bottom:1px solid #444;font-size:1.05rem;font-weight:700;letter-spacing:.02em}.camp-section-title--loadout{color:#7ee8e0}.camp-section-title--stash{color:#d4a0ff}.camp-paper-doll-wrap{display:flex;justify-content:center;width:100%}#camp-view .paper-doll-container{margin-top:.25rem;margin-bottom:.65rem}.camp-panel--loadout .stats-card{width:100%;box-sizing:border-box}@media(max-width:839px){.camp-panel--stash.inventory-section{margin-top:0;padding-top:1rem;border-top:1px solid #333}}@media(min-width:840px){.camp-layout{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:1rem 1.5rem;align-items:start}.camp-panel--stash.inventory-section{border-top:none;padding-top:0;margin-top:0;padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.1)}}.inventory-section{margin-top:0}#inventory-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem}#inventory-list>li:not(.inv-item){grid-column:1 / -1}.inventory-section .inv-item{position:relative;z-index:0;transition:transform .12s ease,box-shadow .12s ease;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.5rem .65rem;box-sizing:border-box}.inventory-section .inv-item:hover,.inventory-section .inv-item:focus-within{z-index:50}#camp-view .inventory-section li.inv-item[data-tooltip]:hover:after,#camp-view .inventory-section li.inv-item[data-tooltip]:focus-visible:after{background:#0b0b0f;color:#f0f0f4;border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 32px #000000eb;z-index:9000}@media(hover:hover)and (pointer:fine){.inventory-section .inv-item:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0006}}@media(prefers-reduced-motion:reduce){.inventory-section .inv-item{transition:none}.inventory-section .inv-item:hover{transform:none;box-shadow:none}}.item-header{display:flex;justify-content:space-between;width:100%;margin-bottom:2px}.item-name{font-weight:700}.item-level{color:gold;font-size:.9em;margin-left:4px}.item-sub{font-size:.8em;color:#aaa}.item-stats{font-size:.75rem;color:#888;margin:4px 0;line-height:1.3}.item-actions{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.item-actions [data-tooltip]:hover:after,.item-actions [data-tooltip]:focus-visible:after{top:auto;bottom:100%;margin-top:0;margin-bottom:5px}.item-actions .btn-salvage{flex:1 1 auto;min-width:4.5rem}.item-equipped-tag{color:#00f3ff;font-size:.8em;padding:4px;border:1px solid rgba(0,243,255,.3);border-radius:4px;background:#00f3ff0d;text-align:center;width:100%}.cd-overlay{position:absolute;bottom:0;left:0;width:100%;height:0%;background-color:#000000b3;transition:height .1s linear;pointer-events:none;z-index:10}.float-text{animation:floatUp 1s ease-out forwards;pointer-events:none;font-weight:700}.float-crit{color:#f33!important;font-size:1.2rem!important;text-shadow:0 0 5px #ff0000}.float-combo{color:#fa0!important;text-shadow:0 0 5px #ffaa00}@keyframes floatUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-30px);opacity:0}}.pixel-art,.pixel-art img{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.item-icon{width:100%;height:100%;object-fit:contain}.pixel-sprite{transform:scale(3);transform-origin:center;image-rendering:pixelated}@media(max-width:768px){#app-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "viewport" "nav"}#mobile-header{display:flex;padding:.5rem max(.5rem,calc(env(safe-area-inset-left,0px) + .35rem)) .5rem max(.5rem,calc(env(safe-area-inset-right,0px) + .35rem));margin-bottom:0;background:#080808;grid-area:header;justify-content:space-between;border-bottom:1px solid #333}#ledger-col{display:none;position:fixed;top:0;right:0;width:80%;z-index:200;box-shadow:-5px 0 20px #000c;transition:transform .3s ease;transform:translate(100%);background:#111;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;height:100%;border-left:1px solid var(--accent-color)}.ledger-toolbar{display:none}.desktop-panel-restore-bar{display:none!important}.nav-desktop-toggle{display:none}.nav-collapsed-menu-btn{display:none!important}#ledger-col.active{transform:translate(0);display:flex}#btn-close-ledger{display:block}}.sidebar-bar-container{position:relative;width:100%;height:14px;background:#222;border:1px solid #444;border-radius:3px;overflow:hidden;margin-top:5px}.sidebar-bar-fill{height:100%;width:0%;transition:width .3s ease}.sidebar-bar-fill.hp{background:linear-gradient(90deg,#d32f2f,#ef5350)}.sidebar-bar-fill.mana{background:linear-gradient(90deg,#1976d2,#42a5f5)}.sidebar-bar-fill.xp{background:linear-gradient(90deg,#7b1fa2,#e040fb)}.sidebar-bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.65rem;color:#fff;text-shadow:1px 1px 0 #000;pointer-events:none;white-space:nowrap}.sidebar-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:.8rem;margin-top:8px}.stat-row{display:flex;justify-content:space-between;color:#ccc}.stat-label{color:#888}.stat-val{font-weight:700;color:#fff}@media(max-width:768px){#nav-col{grid-area:nav;flex-direction:row;min-height:max(5.75rem,calc(4.75rem + env(safe-area-inset-bottom,0px)));height:auto;padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom,0px));border-right:none;border-top:1px solid #333;overflow-x:hidden;overflow-y:visible;justify-content:space-around;background:#050505;z-index:30;align-items:center}.nav-header,.nav-footer{display:none}#nav-items-container{flex-direction:row;gap:0;width:100%;justify-content:space-around}.nav-item{flex-direction:column;justify-content:flex-end;padding:.35rem .2rem .25rem;flex:1;min-width:0;gap:2px;border-radius:0;font-size:.65rem;text-align:center}#nav-items-container .nav-item--rail-icon{justify-content:center;align-self:stretch;align-items:center;padding:.2rem .02rem calc(.2rem + env(safe-area-inset-bottom,0px)*.35);min-height:0;flex:1 1 0;min-width:0}#nav-items-container .nav-item--rail-icon .nav-icon{--navRailIcon: min(4.5rem, max(2.125rem, calc((100dvw - 1.25rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) / 6 - .28rem)));width:var(--navRailIcon);height:var(--navRailIcon)}#nav-items-container>.nav-item--rail-icon[data-tooltip]:hover:after,#nav-items-container>.nav-item--rail-icon[data-tooltip]:focus-visible:after{top:auto;bottom:100%;margin-top:0;margin-bottom:6px}#viewport-col{grid-area:viewport}#view-content{padding-top:1rem;padding-bottom:.5rem;padding-left:max(1.25rem,calc(env(safe-area-inset-left,0px) + .75rem));padding-right:max(1.25rem,calc(env(safe-area-inset-right,0px) + .75rem))}.primary-fab-host{padding-top:.35rem;padding-bottom:.5rem;padding-left:max(1.25rem,calc(env(safe-area-inset-left,0px) + .75rem));padding-right:max(1.25rem,calc(env(safe-area-inset-right,0px) + .75rem));flex-shrink:0}.primary-fab{width:100%;max-width:min(240px,calc(100vw - 2.5rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));min-width:0;font-size:.68rem}.game-header#mobile-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;flex-wrap:nowrap}.mobile-header-cluster{display:flex;align-items:center;gap:.25rem;flex:1;justify-content:center;min-width:0}.mobile-header-icon{padding:.35rem!important;font-size:1.1rem!important;flex-shrink:0}.mobile-header-res{display:inline-flex;align-items:center;gap:.25rem;justify-content:flex-end;min-width:min(11ch,30vw);font-size:clamp(.62rem,2.4vw + .42rem,.75rem);color:var(--accent-color);font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right;cursor:default;-webkit-user-select:none;user-select:none}.mobile-header-stats{flex-shrink:0;padding:.35rem .5rem!important}.mobile-header-trailing{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.mobile-header-menu{padding:.35rem .5rem!important;font-family:var(--font-main);font-size:1rem!important;min-width:2.25rem;color:var(--accent-color);border-color:#00f3ff73;cursor:pointer}.mobile-header-menu-backdrop{display:block;position:fixed;left:0;right:0;top:var(--app-mobile-header-h, 52px);bottom:0;z-index:145;background:#00000059;opacity:0;pointer-events:none;transition:opacity .18s ease;-webkit-tap-highlight-color:transparent}.mobile-header-menu-panel{display:block;position:fixed;top:calc(var(--app-mobile-header-h, 52px) + .25rem);right:.5rem;z-index:146;width:14.5rem;max-width:calc(100vw - 1rem);background:#0a0a0cfa;border:1px solid var(--accent-dim);border-radius:10px;padding:.35rem;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}body.mobile-header-menu-open .mobile-header-menu-backdrop{opacity:1;pointer-events:auto}body.mobile-header-menu-open .mobile-header-menu-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.mobile-header-menu-item{width:100%;min-height:2.6rem;display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;background:transparent;color:#ddd;border:1px solid transparent;border-radius:8px;cursor:pointer;font-family:var(--font-main);font-size:.95rem;text-align:left}.mobile-header-menu-item:hover{background:#00f3ff14;border-color:#00f3ff2e;color:var(--accent-color)}.mobile-header-menu-item--with-icon .mobile-header-menu-item-icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-header-menu-item--with-icon .mobile-header-menu-item-icon .menu-icon-img{width:1.15rem;height:1.15rem}.mobile-header-menu-auth-icon{width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-header-menu-auth-icon-img.menu-icon-img{width:1.15rem;height:1.15rem}.mobile-header-menu-item-log{font-family:var(--font-main)}.mobile-header-log{padding:.35rem .45rem!important;font-family:var(--font-main);font-size:.85rem!important;min-width:2.25rem;color:var(--accent-color);border-color:#00f3ff73}.story-log-backdrop{display:block;position:fixed;left:0;right:0;top:var(--app-mobile-header-h, 52px);bottom:0;z-index:138;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .25s ease;-webkit-tap-highlight-color:transparent}.story-log-backdrop.is-open{opacity:1;pointer-events:auto}#story-terminal{position:fixed;left:0;right:0;top:var(--app-mobile-header-h, 52px);bottom:0;height:auto!important;max-height:none;z-index:140;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -12px 40px #000000a6;border-top:1px solid var(--accent-dim);flex-direction:column}#story-terminal.drawer-open{transform:translateY(0)}#story-terminal.collapsed{height:auto!important;overflow:visible}#story-terminal .terminal-body{flex:1;min-height:0;-webkit-overflow-scrolling:touch}#story-terminal .terminal-header{padding:.5rem .65rem;flex-shrink:0}#story-terminal:not(.drawer-open){pointer-events:none}.upgrades-grid{grid-template-columns:1fr}.up-icon{min-height:6.8rem}.up-icon .up-icon-img{width:104%;height:104%}.up-foot{left:auto;right:0;bottom:0;gap:.4rem;padding-right:2.15rem}}@media(max-width:520px){.up-top{grid-template-columns:1fr}.up-name{text-align:left}.up-rate{align-self:flex-start}.up-name-row{justify-content:flex-start}.up-foot{position:static;left:auto;bottom:auto;margin-top:.25rem}.up-right{padding-bottom:0}.up-details{position:absolute;right:.15rem;bottom:.15rem}.upgrade-inspect-drawer{top:auto;left:.5rem;right:.5rem;bottom:calc(5.9rem + env(safe-area-inset-bottom,0px));width:auto;height:min(52vh,24rem);border-radius:12px;transform:translateY(120%)}.upgrade-inspect-drawer.open{transform:translateY(0)}.upgrade-inspect-drawer.pinned{border-color:#00f3ff59;box-shadow:0 12px 30px #0009}.action-btn{padding:1rem}.game-input,.game-select{font-size:16px}h2.panel-title{font-size:1.2rem}}@media(max-width:768px){#btn-close-ledger{display:flex!important}}#landing-page{position:fixed;top:0;left:0;right:0;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:radial-gradient(circle at 50% 30%,#0a0a15,#000);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .8s ease-out}#landing-page.fade-out{opacity:0;pointer-events:none}.landing-container{text-align:center;max-width:600px;padding:2rem}.landing-hero{margin-bottom:3rem}.landing-title{font-family:var(--font-header);font-size:4rem;margin-bottom:1rem;letter-spacing:4px}.title-aether{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5)}.title-bound{color:var(--accent-color);text-shadow:0 0 20px var(--accent-color)}.landing-tagline{font-size:1.2rem;color:#b8b8c4;font-style:italic;letter-spacing:1px;line-height:1.45;max-width:36rem;margin-left:auto;margin-right:auto}.landing-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.landing-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;font-size:1.1rem;font-family:var(--font-header);text-transform:uppercase;letter-spacing:2px;border:2px solid;border-radius:4px;cursor:pointer;transition:all .3s ease;background:#0009}.landing-btn-primary{border-color:var(--accent-color);color:var(--accent-color)}.landing-btn-primary:hover{background:#00f3ff33;box-shadow:0 0 20px #00f3ff4d;transform:translateY(-2px)}.landing-btn-secondary{border-color:#666;color:#aaa}.landing-btn-secondary:hover{border-color:#888;color:#fff;background:#ffffff0d;transform:translateY(-2px)}.landing-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.landing-btn:focus:not(:focus-visible){outline:none}.btn-icon{font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center}.landing-footer{font-size:.9rem;margin-top:2rem}.landing-footer>p:first-of-type{color:#a3a3b0;line-height:1.45;max-width:28rem;margin-left:auto;margin-right:auto}.landing-legal{margin-top:.75rem;font-size:.8rem;color:#94949e}.landing-legal a{color:#9bdcff;text-decoration:underline;text-underline-offset:2px}.landing-legal a:hover{color:#c4ecff}@media(prefers-reduced-motion:reduce){#landing-page,.landing-btn{transition:none}.landing-btn-primary:hover,.landing-btn-secondary:hover{transform:none}}.storage-notice-bar{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#12141af7;border-top:1px solid #333;padding:max(.65rem,env(safe-area-inset-bottom,0px)) .75rem .75rem;box-shadow:0 -4px 24px #00000073}.storage-notice-inner{max-width:52rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;justify-content:space-between}.storage-notice-text{margin:0;font-size:.82rem;color:#bbb;line-height:1.45;flex:1 1 16rem}.storage-notice-text a{color:#6ab0ff}.storage-notice-ok{flex:0 0 auto;min-height:40px}.feedback-modal .feedback-label{display:block;font-size:.78rem;color:#888;margin:.65rem 0 .25rem}.feedback-modal .feedback-select,.feedback-modal .feedback-textarea,.feedback-modal .feedback-input{width:100%;box-sizing:border-box;background:#1a1d26;border:1px solid #444;color:#e8e8e8;border-radius:4px;padding:.45rem .5rem;font-size:.9rem}.feedback-modal .feedback-textarea{resize:vertical;min-height:6rem}.settings-legal-links .btn-micro{font-size:.75rem}@media(max-width:768px){.landing-title{font-size:2.5rem}.landing-tagline{font-size:1rem}.landing-btn{font-size:1rem;padding:1rem 1.5rem}}@media(max-width:430px){html{overflow-x:hidden}#landing-page{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.landing-container{max-width:100%;padding-left:max(1rem,calc(env(safe-area-inset-left,0px) + .5rem));padding-right:max(1rem,calc(env(safe-area-inset-right,0px) + .5rem));padding-top:max(1rem,env(safe-area-inset-top,0px));padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.landing-title{font-size:clamp(1.65rem,10vw,2.35rem);letter-spacing:.1em;line-height:1.05;overflow-wrap:anywhere}.landing-tagline{font-size:.92rem;padding:0 .15rem;line-height:1.35}.landing-btn{min-height:48px;width:100%;max-width:100%;padding-left:1rem;padding-right:1rem}#viewport-col,#view-content,.center-stage{min-width:0}.nav-item{min-height:44px;box-sizing:border-box}.mobile-header-menu,.mobile-header-stats{min-height:44px;min-width:44px;padding-left:.5rem!important;padding-right:.5rem!important;justify-content:center}.mobile-header-icon.mobile-header-res{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.dungeon-map-toolbar{flex-wrap:wrap;gap:.5rem;padding:.65rem .75rem}.dungeon-map-canvas{padding:1rem .65rem}}.whats-new-changelog{margin:0;display:flex;flex-direction:column;gap:.85rem}.changelog-page-lede{margin:0;padding:.8rem 1rem;border-radius:11px;border:1px solid rgba(0,243,255,.22);background:linear-gradient(145deg,#00f3ff17,#0000006b);box-shadow:0 0 18px #00f3ff0f}.changelog-page-lede-copy{margin:0;font-size:.86rem;line-height:1.45;color:#b9c8da}.changelog-page-lede-copy strong{color:#e8f6ff;font-weight:600}.changelog-page-lede-meta{margin:.45rem 0 0;font-size:.78rem;line-height:1.4;color:#8b97a8}.changelog-page-lede-meta code{font-size:.76rem;padding:.1em .32em;border-radius:4px;background:#00000073;border:1px solid rgba(255,255,255,.12);color:#9fefff}.changelog-version{margin:0;padding:.75rem .95rem .85rem;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:#ffffff06;box-shadow:0 1px #ffffff0a inset}.changelog-version-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 .55rem;padding-bottom:.45rem;border-bottom:1px solid rgba(0,243,255,.16)}.changelog-version-number{font-family:var(--font-header);font-size:.95rem;font-weight:700;letter-spacing:.04em;color:#b8f9ff;padding:.2rem .55rem;border-radius:7px;border:1px solid rgba(0,243,255,.35);background:#00f3ff1a}.changelog-version-date{font-size:.75rem;color:#6d7a8c}.changelog-changes{list-style:none;padding:0;margin:0}.changelog-change{display:flex;gap:.55rem;align-items:flex-start;padding:.4rem .35rem;margin:0 -.35rem;border-radius:7px;line-height:1.45;transition:background .12s ease}.changelog-change:hover{background:#ffffff0a}.changelog-change-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.65rem;margin-top:.12rem}.changelog-icon-img{width:1.2rem;height:1.2rem;object-fit:contain;display:block}.changelog-change-text{color:#c9d0dc;font-size:.84rem;min-width:0}.changelog-change-text strong{color:#eef6ff;font-weight:600}.changelog-change-text code{font-size:.78em;padding:.1em .32em;border-radius:4px;background:#00000080;border:1px solid rgba(0,243,255,.2);color:#9fefff;word-break:break-word}.changelog-change-text a{color:#8ec5ff;text-decoration:underline;text-underline-offset:2px}.changelog-change-text a:hover{color:#d4e9ff}.changelog-change.type-feature .changelog-change-icon{color:#00f3ff}.changelog-change.type-fix .changelog-change-icon{color:#ff6b6b}.changelog-change.type-improvement .changelog-change-icon{color:gold}.changelog-change.type-balance .changelog-change-icon{color:#b388ff}.changelog-change.type-lipstick .changelog-icon-img{filter:brightness(1.15) saturate(1.35) hue-rotate(295deg)}.prophecy-modal{max-width:800px;width:90%;height:80%;max-height:800px;display:flex;flex-direction:column;background:#111;border:1px solid #444;border-radius:8px;box-shadow:0 0 20px #000c;margin:auto}.prophecy-header{position:relative;border-bottom:1px solid #444;padding:.85rem 3.25rem .85rem 1rem;display:flex;align-items:center;background:#ffffff05}.prophecy-modal-close{position:absolute;top:50%;right:.65rem;transform:translateY(-50%);width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;font-weight:600;color:var(--text-secondary);background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;font-family:inherit;touch-action:manipulation}.prophecy-modal-close:hover{color:var(--accent-color);border-color:#00f3ff59;background:#00f3ff0f}.prophecy-modal-close:active{transform:translateY(-50%) translateY(1px)}.prophecy-title{color:#b19cd9;margin:0;font-size:1.5rem;flex:1;min-width:0}.prophecy-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.prophecy-card{background:#ffffff08;border:1px solid #444;padding:1rem;border-radius:4px;position:relative;transition:all .2s}.prophecy-card.completed{border-color:gold;background:#ffd7000d}.prophecy-card.ready{border-color:#4a90e2;background:#4a90e20d}.prophecy-card.locked{opacity:.8}.prophecy-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.prophecy-name{margin:0;color:#eee;font-size:1.1rem}.prophecy-card.completed .prophecy-name{color:gold}.prophecy-status{font-size:.8rem;font-weight:700;text-align:right;white-space:nowrap}.prophecy-status.completed{color:gold}.prophecy-status.ready{color:#4a90e2}.prophecy-status.in-progress{color:#888}.prophecy-desc{margin:.5rem 0;font-style:italic;color:#ccc;font-size:.95rem}.prophecy-narrative{font-size:.9rem;color:#b19cd9;margin-top:.5rem;border-left:2px solid rgba(177,156,217,.3);padding-left:.5rem}.prophecy-reward{font-size:.8rem;color:#aaa;margin-top:.8rem;padding-top:.5rem;border-top:1px dashed rgba(255,255,255,.1)}@media(max-width:768px){.prophecy-modal{width:95%;height:90%;max-height:90vh}.prophecy-header{padding:.75rem 2.85rem .75rem .75rem}.prophecy-modal-close{right:.5rem;width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;font-size:1.5rem}.prophecy-card-header{flex-direction:column;align-items:flex-start;gap:.25rem}.prophecy-status{text-align:left;font-size:.75rem}.prophecy-title{font-size:1.2rem}}.achievement-modal{max-width:800px;width:90%;height:80%;max-height:800px;display:flex;flex-direction:column;background:#0d1117;border:1px solid #4a90e2;border-radius:8px;box-shadow:0 0 20px #000000e6;margin:auto}.achievement-header{border-bottom:1px solid #4a90e2;padding:1rem;display:flex;justify-content:space-between;align-items:center;background:#4a90e21a}.achievement-title{color:#4a90e2;margin:0;font-size:1.5rem}.achievement-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.achievement-card{background:#ffffff08;border:1px solid #333;padding:1rem;border-radius:4px;position:relative;transition:all .2s}.achievement-card.completed{border-color:gold;background:#ffd7000d}.achievement-card.locked{opacity:.6;filter:grayscale(.8)}.achievement-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.achievement-name{margin:0;color:#eee;font-size:1.1rem}.achievement-card.completed .achievement-name{color:gold}.achievement-status{font-size:.8rem;font-weight:700;text-align:right;white-space:nowrap}.achievement-status.completed{color:gold}.achievement-status.locked{color:#555}.achievement-desc{margin:.5rem 0;font-style:italic;color:#ccc;font-size:.95rem}.achievement-reward{font-size:.8rem;color:#4a90e2;margin-top:.8rem;padding-top:.5rem;border-top:1px dashed rgba(74,144,226,.2)}@media(max-width:768px){.achievement-modal{width:95%;height:90%;max-height:90vh}.achievement-header{flex-direction:column;gap:.5rem;align-items:flex-start;padding:.8rem}.achievement-header .action-btn{width:100%;text-align:center;padding:.8rem}}#dungeon-root{position:relative}#abyss-gate-area.abyss-gate-area{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.25rem 1.5rem;text-align:center;box-sizing:border-box}.abyss-gate-inner{width:100%;max-width:26rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.abyss-gate-flavor{margin:0;font-size:.95rem;line-height:1.45;color:#c8c4bc;font-style:italic}.abyss-gate-hint{margin:0;font-size:.82rem;line-height:1.5;color:#9e9e9e}.abyss-gate-hint strong{color:#b2dfdb;font-weight:700}.abyss-gate-record{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#8a8a95;padding:.5rem .75rem;border-radius:6px;border:1px solid rgba(77,182,172,.35);background:#00000040;width:100%;box-sizing:border-box}.abyss-gate-actions{margin-top:.25rem}.abyss-gate-actions .action-btn{min-width:10rem}#view-content.view-content--dungeon{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#view-content.view-content--dungeon>#dungeon-root{flex:1;min-height:0;display:flex;flex-direction:column}#view-content.view-content--dungeon #dungeon-view{flex:1;min-height:0;width:100%;max-width:100%;overflow:hidden}#dungeon-view:not(.dungeon-view--map-mode){gap:.5rem}#dungeon-map-container{flex:1 1 0;min-height:clamp(9rem,28dvh,32rem);position:relative;width:100%}#dungeon-view:not(.dungeon-view--map-mode) #dungeon-map-container{display:none!important;flex:none!important;min-height:0!important;height:0;overflow:hidden}#dungeon-view.dungeon-view--map-mode #dungeon-map-container{display:flex!important;flex-direction:column;flex:1 1 0;min-height:clamp(11rem,38dvh,40rem);height:auto;overflow:visible}.combat-stats-row{display:flex;align-items:stretch;justify-content:space-between;gap:.75rem;width:100%;flex-wrap:wrap}.hero-stats-box,.enemy-stats-box{flex:1;min-width:min(18rem,100%);padding:.5rem .65rem;border-radius:8px;border:1px solid #333;background:#00000059;box-shadow:inset 0 0 0 1px #ffffff0a}#dungeon-view.dungeon-view--map-mode .combat-stats-row{display:none!important}#dungeon-view.dungeon-view--map-mode{gap:.35rem}#dungeon-view.dungeon-view--map-mode .combat-actions{flex-shrink:0}#dungeon-encounter-host{display:none;flex:1 1 auto;min-height:0;width:100%;max-width:100%}#dungeon-view.dungeon-view--encounter #dungeon-encounter-host{display:flex!important;flex-direction:column}#dungeon-view.dungeon-view--encounter .vs-divider,#dungeon-view.dungeon-view--encounter .enemy-stats-box,#dungeon-view.dungeon-view--encounter .combat-actions{display:none!important}#dungeon-view.dungeon-view--encounter .hero-stats-box{flex:1 1 100%;max-width:100%}.dungeon-event-view-root{display:none;flex-direction:column;align-items:stretch;width:100%;flex:1;min-height:0;overflow:auto;box-sizing:border-box}.dungeon-encounter-card{max-width:36rem;width:100%;margin:0 auto;padding:1rem 1.25rem 1.25rem;border-radius:10px;border:1px solid rgba(100,100,120,.45);background:#00000073;box-shadow:inset 0 0 0 1px #ffffff0a}.dungeon-encounter-title{color:#a0a0ff;margin:0 0 .75rem;font-size:1.15rem;font-family:var(--font-header)}.dungeon-encounter-body{font-size:.95rem;line-height:1.55;color:#d6d6de;margin:0 0 1.25rem}.dungeon-encounter-choices{display:flex;flex-direction:column;gap:.65rem}.hero-stats-box .resource-bar-row{display:flex;align-items:center;gap:.35rem}.hero-stats-box .resource-bar-label{flex:0 0 1.75rem;font-size:.65rem;font-weight:700;letter-spacing:.06em;color:#9e9e9e;text-align:right}.hero-stats-box .resource-bar-track{flex:1;min-width:0}.hero-stats-box .resource-bar-row--overlay .combat-vitals-bar-wrap{position:relative;flex:1;min-width:0}.hero-stats-box .combat-vitals-bar-track{height:14px;border-radius:7px}.hero-stats-box .combat-vitals-bar-vals{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.02em;color:#f2f2f2;text-shadow:0 0 3px #000,0 1px 2px #000,0 -1px 2px #000;pointer-events:none;line-height:1}.enemy-stats-box .enemy-hp-bar-host{position:relative;height:14px;border-radius:7px}.enemy-stats-box .enemy-hp-bar-host .combat-vitals-bar-vals--enemy{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:.68rem;font-weight:700;color:#fff;text-shadow:0 0 3px #000,0 1px 2px #000;pointer-events:none}.res-row.res-row-at-cap .res-val{color:#ffb74d;font-weight:700}.res-row.res-row-at-cap .res-label:after{content:" · Full";font-size:.62rem;font-weight:600;color:#ffb74d;margin-left:.25rem}.vs-divider{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#666;flex-shrink:0;padding:0 .15rem}@keyframes combatStatHit{0%{transform:scale(1);box-shadow:inset 0 0 0 1px #ffffff0a}40%{transform:scale(1.02);border-color:#ffc864d9;box-shadow:0 0 14px #ffc10759,inset 0 0 0 1px #ffffff14}to{transform:scale(1);box-shadow:inset 0 0 0 1px #ffffff0a}}@keyframes combatStatHeal{0%{border-color:#333}50%{border-color:#4caf50bf;box-shadow:0 0 12px #4caf5040}to{border-color:#333;box-shadow:none}}@keyframes combatStatBlock{0%{border-color:#333}50%{border-color:#90caf9d9;box-shadow:0 0 12px #90caf94d}to{border-color:#333;box-shadow:none}}.hero-stats-box.combat-stat-flash--hit,.enemy-stats-box.combat-stat-flash--hit{animation:combatStatHit .22s ease-out}.hero-stats-box.combat-stat-flash--heal,.enemy-stats-box.combat-stat-flash--heal{animation:combatStatHeal .24s ease-out}.hero-stats-box.combat-stat-flash--block,.enemy-stats-box.combat-stat-flash--block{animation:combatStatBlock .24s ease-out}@media(prefers-reduced-motion:reduce){.hero-stats-box.combat-stat-flash--hit,.enemy-stats-box.combat-stat-flash--hit,.hero-stats-box.combat-stat-flash--heal,.enemy-stats-box.combat-stat-flash--heal,.hero-stats-box.combat-stat-flash--block,.enemy-stats-box.combat-stat-flash--block{animation:none}.hero-stats-box.combat-stat-flash--hit,.enemy-stats-box.combat-stat-flash--hit{outline:2px solid rgba(255,193,7,.6);outline-offset:2px}.hero-stats-box.combat-stat-flash--heal,.enemy-stats-box.combat-stat-flash--heal{background-color:#4caf501f}.hero-stats-box.combat-stat-flash--block,.enemy-stats-box.combat-stat-flash--block{background-color:#90caf91a}}.bar-container{background:#111;border:1px solid #444;height:12px;border-radius:6px;overflow:hidden;position:relative;box-shadow:inset 0 0 5px #000c}.bar-fill{height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:#ffffff26;pointer-events:none}.bar-fill.hp{background:linear-gradient(90deg,#d32f2f,#f44336);box-shadow:0 0 10px #f443364d}.bar-fill.mana{background:linear-gradient(90deg,#1976d2,#2196f3);box-shadow:0 0 10px #2196f34d}.bar-fill.enemy-hp{background:linear-gradient(90deg,#c62828,#e53935)}.block-display{display:inline-flex;align-items:center;gap:4px;background:#0009;border:1px solid #90caf9;padding:2px 6px;border-radius:12px;color:#90caf9;font-weight:700;font-size:.9rem;margin-left:8px;box-shadow:0 0 5px #90caf94d}.block-icon{font-size:1rem}.block-icon-img{width:.95rem;height:.95rem}.block-display--hero .block-label{font-size:.55rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8cb4d9;margin-right:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-effects-tray{margin-top:.45rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.08)}.hero-effects-tray-label{font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a7a85;margin-bottom:.25rem}.status-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;min-height:24px}.hero-effects-tray .status-list{margin-top:0;min-height:28px}.combat-actions-layout{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%}.combat-actions-primary{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.combat-actions-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;width:100%}.combat-actions-meta-row .combat-auto-wrap{flex:1 1 12rem;min-width:0}.combat-actions-meta-row .combat-actions-retreat{align-self:center;flex:0 0 auto}.combat-actions-layout--map{gap:.35rem;align-items:center}.combat-actions-layout--map .combat-auto-wrap--map-solo{width:100%;max-width:26rem;margin:0 auto;display:flex;align-items:center;justify-content:center}.combat-auto-label--map-solo{display:flex;align-items:center;gap:.35rem;font-size:.66rem;color:#9a9aa3;cursor:pointer;width:100%;margin:0;-webkit-user-select:none;user-select:none;justify-content:center}button.action-btn.combat-actions-retreat{align-self:flex-end;max-width:10rem;font-size:.78rem;padding:.35rem .65rem;opacity:.88}.status-icon{width:24px;height:24px;background:#222;border:1px solid #555;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:help;position:relative;box-shadow:0 2px 5px #00000080}.status-icon-img{width:.8rem;height:.8rem}.status-icon.buff{border-color:#4caf50;color:#4caf50;background:#4caf501a}.status-icon.debuff{border-color:#f44336;color:#f44336;background:#f443361a}.status-stacks{position:absolute;bottom:-4px;right:-4px;background:#000;border:1px solid #555;border-radius:50%;width:14px;height:14px;font-size:.6rem;display:flex;align-items:center;justify-content:center;color:#fff}#combat-text-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:500;overflow:hidden}.float-text{position:absolute;font-weight:700;font-size:1.2rem;color:#fff;text-shadow:0 0 5px #000;animation:floatUp 1.5s ease-out forwards;pointer-events:none}.float-text.dmg-player{color:#ffca28;font-size:1.5rem}.float-text.dmg-enemy{color:#ef5350}.float-text.heal{color:#66bb6a}.float-text.block{color:#90caf9}@keyframes floatUp{0%{transform:translateY(0) scale(.8);opacity:0}20%{transform:translateY(-20px) scale(1.2);opacity:1}to{transform:translateY(-60px) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.float-text,.story-entry:last-child{animation:none!important}.map-node{transition:none}}.dungeon-map-overlay{display:flex;flex-direction:column;position:absolute;inset:0;box-sizing:border-box;background:linear-gradient(180deg,#141418,#0d0d10);border:1px solid #2a2a32;box-shadow:inset 0 1px #ffffff0f;z-index:100;min-width:0}.dungeon-map-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.55rem .85rem;border-bottom:1px solid #333;background:#00000059}.dungeon-map-toolbar-main{flex:1;min-width:0}.dungeon-map-toolbar .dungeon-map-retreat-btn{width:auto;flex:0 0 auto;align-self:center;min-height:0;padding:.45rem .95rem;font-size:.68rem;letter-spacing:.08em}.dungeon-map-title{margin:0 0 .2rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#eee}.dungeon-map-meta{display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-size:.9rem}.dungeon-map-floor{color:#9e9e9e}.dungeon-map-gold{color:gold;font-weight:600}.dungeon-map-vitals{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.07);font-size:.72rem;color:#c5c2bb}.map-vitals-lvl{font-weight:700;color:#ececec;letter-spacing:.04em;flex:0 0 auto}.map-vitals-bar-wrap{position:relative;flex:1 1 6.5rem;min-width:5.5rem;max-width:12rem}.map-vitals-bar-track{height:14px;border-radius:7px}.map-vitals-bar-vals{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:.62rem;font-weight:700;letter-spacing:.03em;color:#f2f2f2;text-shadow:0 0 3px #000,0 1px 2px #000,0 -1px 2px #000;pointer-events:none;line-height:1}.dungeon-map-canvas{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;padding:1rem .65rem 1.25rem;gap:1.25rem;box-sizing:border-box}.dungeon-map-connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.map-layer{display:flex;justify-content:center;gap:1.5rem;width:100%;flex-wrap:wrap;position:relative;z-index:1}.map-node{width:clamp(44px,12vw,60px);height:clamp(44px,12vw,60px);border:2px solid var(--map-node-color, #fff);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;box-shadow:0 0 10px #00000080;z-index:2;font-size:clamp(1rem,3vw,1.5rem);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease;box-sizing:border-box;background:#111}.dungeon-node-icon{width:clamp(18px,5vw,26px);height:clamp(18px,5vw,26px)}.dungeon-inline-icon{width:1rem;height:1rem;display:inline-block;vertical-align:text-bottom}.dungeon-node-view-icon{width:3rem;height:3rem}.inv-inline-icon{width:.95rem;height:.95rem;display:inline-block;margin-right:.3rem;vertical-align:text-bottom}.map-node.node-visited{background:#333}.map-node.node-locked{opacity:.4;cursor:default}.map-node.node-available{cursor:pointer;animation:dungeon-node-pulse 2s ease-in-out infinite}.map-node--current{border-color:#fff!important;transform:scale(1.1);z-index:3;box-shadow:0 0 15px #fff,0 0 28px var(--map-node-glow, #fff);animation:none}@keyframes dungeon-node-pulse{0%,to{box-shadow:0 0 10px #00000080;filter:brightness(1)}50%{box-shadow:0 0 10px #00000080,0 0 14px color-mix(in srgb,var(--map-node-color, #888) 55%,transparent);filter:brightness(1.12)}}#dungeon-map-connections line.path-active{filter:drop-shadow(0 0 3px rgba(255,255,255,.35))}@media(prefers-reduced-motion:reduce){.map-node.node-available{animation:none;outline:1px dashed color-mix(in srgb,var(--map-node-color, #888) 50%,transparent);outline-offset:2px}.map-node--current{transform:none;outline:2px solid rgba(255,255,255,.85);outline-offset:2px}}.settings-modal.modal-content{max-width:min(520px,100%)}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-.15rem 0 .75rem;padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.08)}.settings-modal-title{margin:0;font-family:var(--font-header);font-size:1.35rem;line-height:1.2;color:var(--text-primary)}.settings-modal-close{flex-shrink:0;font-size:1.15rem;line-height:1;padding:.25rem .5rem;min-width:2.25rem;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.settings-modal .modal-actions{margin-top:1.25rem;padding-top:.5rem}.settings-modal .setting-row{flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-start;justify-content:space-between}.settings-modal .setting-row>span:first-child{min-width:0;flex:1 1 8rem;padding-right:.25rem}.settings-modal .setting-row .btn-micro,.settings-modal .setting-row a.btn-micro{flex-shrink:0}.settings-modal .setting-row-install{align-items:flex-start}.settings-modal .settings-install-copy{min-width:0;flex:1 1 12rem}.settings-modal .settings-save-hint{max-width:none}.settings-integrity-group,.settings-manage-save-group{margin-top:1rem;border-top:1px solid #333;padding-top:1rem}.settings-subheading{font-family:var(--font-header);font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.settings-integrity-copy{font-size:.8rem;line-height:1.45;color:#999}.settings-integrity-copy p+p{margin-top:.5rem}.settings-save-hint{font-size:.72rem;line-height:1.4;color:#777;margin-top:.65rem;max-width:42ch}.settings-competitive-eligibility-hint{font-size:.75rem;line-height:1.45;color:#888;margin-top:.65rem}.settings-credits-group{margin-top:1rem;border-top:1px solid #333;padding-top:1rem}.settings-credits-studio{display:flex;align-items:center;gap:1rem 1.25rem;flex-wrap:wrap}.settings-credits-logo{display:block;max-width:min(200px,46vw);width:auto;height:auto;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4))}.settings-credits-studio-copy{flex:1 1 12rem;min-width:0}.settings-credits-role{font-family:var(--font-header);font-size:.92rem;font-weight:600;color:#c9c5bf;margin:0 0 .35rem;line-height:1.35;letter-spacing:.02em}.settings-credits-byline{margin:0;font-size:.76rem;color:#888;text-transform:uppercase;letter-spacing:.1em}.settings-credits-mail{color:#8eb4d4;text-decoration:none;text-transform:none;letter-spacing:.04em}.settings-credits-mail:hover{color:#b8d4f0;text-decoration:underline}.leaderboard-modal-hint{font-size:.8rem;color:#aaa;line-height:1.4;margin-bottom:.75rem}.leaderboard-loading,.leaderboard-error{font-size:.85rem;margin-bottom:.5rem}.leaderboard-error{color:#e8a0a0}.leaderboard-table-wrap{max-height:50vh;overflow:auto;margin-bottom:.5rem}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.8rem}.leaderboard-table th,.leaderboard-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid #333}.leaderboard-table th{color:#6ab0ff;font-weight:600}.leaderboard-empty{font-size:.85rem;color:#888;margin:.5rem 0}.leaderboard-board-id{font-size:.7rem;color:#666;margin:.5rem 0 0}.feedback-hub-root-inner{display:flex;flex-direction:column;min-height:0;width:100%}.feedback-hub-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.feedback-hub-tabs{display:flex;gap:.5rem;padding:.35rem;margin-bottom:.85rem;border-radius:11px;background:#00000059;border:1px solid rgba(255,255,255,.1)}.feedback-hub-tab{flex:1;margin:0;padding:.6rem .75rem;font-family:var(--font-header);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;border-radius:8px;background:transparent;color:#8a9aaa;transition:color .15s,border-color .15s,background .15s}.feedback-hub-tab:hover{color:#c5d8ec;background:#ffffff0a}.feedback-hub-tab-active{color:#0a1620!important;background:linear-gradient(180deg,#00f3fff2,#5ac8ffd9)!important;border-color:#00f3ff80!important;box-shadow:0 0 14px #00f3ff38}.feedback-hub-body{flex:1;overflow-y:auto;min-height:200px;max-height:calc(88vh - 8rem);padding-right:.35rem}.feedback-hub-hint{font-size:.84rem;color:#a3a3a3;margin:0 0 .85rem;line-height:1.45}.feedback-hub-root-inner .feedback-label{display:block;font-size:.78rem;font-weight:600;color:#9a9aaa;margin:.75rem 0 .35rem;letter-spacing:.02em}.feedback-hub-field .feedback-label{margin:0 0 .35rem}.feedback-hub-root-inner .feedback-hub-hint+.feedback-label{margin-top:.15rem}.feedback-hub-root-inner .feedback-select,.feedback-hub-root-inner .feedback-textarea,.feedback-hub-root-inner .feedback-input{width:100%;max-width:100%;box-sizing:border-box;display:block;background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);border-radius:var(--radius-sm);padding:.5rem .6rem;font-size:.88rem;font-family:inherit;line-height:1.45;color-scheme:dark}.feedback-hub-root-inner .feedback-textarea{resize:vertical;min-height:7rem;margin:0}.feedback-hub-root-inner .feedback-select{cursor:pointer;padding:.45rem .5rem}.feedback-hub-root-inner .feedback-select option{background:#12141c;color:var(--text-primary)}.feedback-hub-root-inner .feedback-input::placeholder,.feedback-hub-root-inner .feedback-textarea::placeholder{color:#666}.feedback-hub-root-inner .feedback-textarea:focus,.feedback-hub-root-inner .feedback-input:focus,.feedback-hub-root-inner .feedback-select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 1px #00f3ff40}.feedback-hub-form-card{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1rem 1.1rem;background:#ffffff08;box-shadow:0 1px #ffffff0a inset}.feedback-hub-field-row--meta{display:grid;gap:.75rem;grid-template-columns:1fr;margin-bottom:.15rem}@media(min-width:520px){.feedback-hub-field-row--meta{grid-template-columns:1fr 1fr}}.feedback-hub-field{min-width:0}#feedback-hub-pane-new,#feedback-hub-pane-detail{display:flex;flex-direction:column;align-items:stretch;gap:.9rem}.feedback-hub-legal{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.65rem 1.1rem;margin:0;padding-top:.15rem}.feedback-hub-legal-link{font-family:var(--font-header);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#c9a227;border:1px solid rgba(201,162,39,.45);padding:.45rem .95rem;border-radius:6px;background:#00000059;box-shadow:0 0 0 1px #0006 inset;transition:color .15s,border-color .15s,box-shadow .15s}.feedback-hub-legal-link:hover{color:#f0d78a;border-color:#00f3ff73;box-shadow:0 0 12px #00f3ff1f,0 0 0 1px #0006 inset}.feedback-hub-legal-link:focus-visible{outline:2px solid rgba(0,243,255,.65);outline-offset:2px}.feedback-hub-actions{display:flex;flex-direction:column;gap:.55rem;margin-top:.15rem}.feedback-hub-actions-secondary{display:flex;flex-direction:column;gap:.45rem}.feedback-hub-action-btn{width:auto;min-width:5.5rem;padding:.5rem .85rem!important;letter-spacing:.04em}.feedback-hub-action-btn--primary{width:100%;min-width:0!important;padding:.62rem 1rem!important}.feedback-hub-action-btn--compact{width:auto!important;min-width:4.5rem!important;padding:.4rem .65rem!important}@media(min-width:520px){.feedback-hub-actions-secondary{flex-direction:row;flex-wrap:wrap;align-items:center}.feedback-hub-actions-secondary .feedback-hub-action-btn{flex:1 1 auto;min-width:7.5rem}}#feedback-hub-pane-detail .feedback-hub-attach-row{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.35rem}@media(min-width:520px){#feedback-hub-pane-detail .feedback-hub-attach-row{flex-direction:row;flex-wrap:wrap;align-items:center}#feedback-hub-pane-detail .feedback-hub-attach-row .feedback-hub-action-btn{flex:0 1 auto;min-width:8rem}}.feedback-hub-attach-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start}.feedback-hub-list{min-height:120px}.feedback-hub-status-group{border:1px solid #2d2d2d;border-radius:var(--radius-sm);margin-bottom:.5rem;background:#0000002e;overflow:hidden}.feedback-hub-status-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;cursor:pointer;list-style:none;color:#d7d7d7;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.feedback-hub-status-summary::-webkit-details-marker{display:none}.feedback-hub-status-count{min-width:1.5rem;text-align:center;border:1px solid #3e3e3e;border-radius:999px;padding:.05rem .4rem;color:#8ab8ff;font-size:.72rem}.feedback-hub-ticket-ul{list-style:none;padding:.3rem}.feedback-hub-ticket-row{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .5rem;margin-bottom:.35rem;border:1px solid #333;border-radius:var(--radius-sm);cursor:pointer;background:#00000040}.feedback-hub-ticket-row:hover{border-color:#555}.feedback-hub-ticket-status{font-size:.72rem;color:#6ab0ff;text-transform:uppercase;letter-spacing:.04em}.feedback-hub-ticket-title{font-size:.85rem;color:#ccc;line-height:1.35}.feedback-hub-detail-head{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.75rem}.feedback-hub-status-chip{font-size:.78rem;color:#6ab0ff;margin-top:.25rem}.feedback-hub-thread{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem;max-height:36vh;overflow-y:auto;padding:.35rem;border:1px solid #2a2a2a;border-radius:var(--radius-sm);background:#0003}.feedback-hub-activity{font-size:.82rem;line-height:1.45;padding-bottom:.5rem;border-bottom:1px solid #2a2a2a}.feedback-hub-activity:last-child{border-bottom:none}.feedback-hub-act-time{font-size:.68rem;color:#666;margin-bottom:.2rem}.feedback-hub-act-label{font-size:.72rem;color:#888;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem}.feedback-hub-act-label.team{color:#7fd695}.feedback-hub-act-label.status{color:#c9a227}.feedback-hub-act-body{white-space:pre-wrap;color:#ccc;word-break:break-word}.feedback-hub-attach-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.online-hub-overlay{z-index:10050}.online-hub-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.online-hub-tabs{display:flex;gap:.35rem;margin-bottom:.65rem}.online-hub-tab{flex:1;padding:.45rem .5rem;font-size:.8rem;border:1px solid #444;background:#00000059;color:#aaa;border-radius:var(--radius-sm);cursor:pointer}.online-hub-tab-active{border-color:#6ab0ff;color:#6ab0ff}.online-hub-body{flex:1;overflow-y:auto;min-height:180px;max-height:calc(90vh - 9rem);padding-right:.25rem}.online-hub-pane{padding-bottom:.5rem}.online-hub-hint{font-size:.82rem;color:#999;margin-bottom:.65rem;line-height:1.4;white-space:pre-line}.main-view-panel.main-view-panel--profile{max-width:min(900px,100%);padding:.9rem 1.2rem 1.75rem;box-sizing:border-box}.main-view-panel.main-view-panel--support{max-width:min(640px,100%);padding:.9rem 1.15rem 1.75rem;box-sizing:border-box}.main-view-panel.main-view-panel--changelog{max-width:min(780px,100%);padding:.85rem 1.1rem 1.75rem;box-sizing:border-box}.profile-page{display:flex;flex-direction:column;gap:1rem}.profile-lede{margin:0;font-size:.86rem;line-height:1.5;color:#b0b0b0}.profile-lede strong{color:#d5e8ff;font-weight:600}.profile-tab-bar{display:flex;gap:.5rem;padding:.35rem;border-radius:11px;background:#00000059;border:1px solid rgba(255,255,255,.1)}.profile-tab{flex:1;margin:0;padding:.65rem .85rem;font-family:var(--font-header);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;border-radius:8px;background:transparent;color:#8a9aaa;transition:color .15s,border-color .15s,background .15s}.profile-tab:hover{color:#c5d8ec;background:#ffffff0a}.profile-tab--active{color:#0a1620!important;background:linear-gradient(180deg,#00f3fff2,#5ac8ffd9)!important;border-color:#00f3ff80!important;box-shadow:0 0 14px #00f3ff40}.profile-tab-panels{min-height:0}.profile-tab-panel{animation:profile-tab-fade .18s ease-out}@keyframes profile-tab-fade{0%{opacity:.55}to{opacity:1}}.profile-dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem}.profile-dashboard-col{display:flex;flex-direction:column;gap:1rem;min-width:0}@media(min-width:720px){.profile-dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:1rem 1.35rem}}.profile-surface{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1rem 1.1rem;background:#ffffff08;box-shadow:0 1px #ffffff0a inset}.profile-surface-title{margin:0 0 .2rem;font-size:.95rem}.profile-microcopy{margin:0 0 .65rem;font-size:.78rem;line-height:1.45;color:#8f9aaa}.profile-supporter-line{margin:.45rem 0 0;font-size:.78rem;color:#a8bdd4}.profile-field-toolbar{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.profile-field-toolbar--end{justify-content:flex-end;margin-top:.55rem}.profile-field-toolbar--preview-self{margin-top:.4rem;width:100%}.profile-field-toolbar--preview-self .profile-action-btn--wide{width:100%;min-width:0;flex:1 1 100%}.profile-empty-cta{margin-top:.35rem;padding:.65rem .8rem;border-radius:8px;border:1px dashed rgba(255,255,255,.14);background:#00000038}.profile-empty-cta-copy{margin:0 0 .55rem;font-size:.78rem;line-height:1.42;color:#909dad}.profile-banner-settings--empty #profile-banner-microcopy{display:none}.profile-input-grow{flex:1 1 10rem;min-width:0}.profile-page .profile-action-btn,.profile-page .profile-pack-btn{width:auto;min-width:5.25rem;padding:.5rem .85rem;flex:0 0 auto;letter-spacing:.04em}.profile-page .profile-pack-btn{min-width:4.5rem;padding:.45rem .55rem;font-size:.68rem}.profile-page-legal{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.65rem 1.1rem;margin:1.1rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.08)}.profile-legal-link{font-family:var(--font-header);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#c9a227;border:1px solid rgba(201,162,39,.45);padding:.45rem .95rem;border-radius:6px;background:#00000059;box-shadow:0 0 0 1px #0006 inset;transition:color .15s,border-color .15s,box-shadow .15s}.profile-legal-link:hover{color:#f0d78a;border-color:#00f3ff73;box-shadow:0 0 12px #00f3ff1f,0 0 0 1px #0006 inset}.profile-legal-link:focus-visible{outline:2px solid rgba(0,243,255,.65);outline-offset:2px}.profile-badge-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .25rem}.profile-badge-chip{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(0,243,255,.35);color:#c8f9ff;font-size:.72rem}.profile-badge-chip--primary{border-color:#ffd700b3;color:#ffe083;box-shadow:0 0 8px #ffd70033}.profile-badge-chip--empty{border-color:#ffffff2e;color:#9a9a9a}.profile-public-card,.profile-privacy-settings,.profile-banner-settings{margin-top:0;border-top:none;padding-top:0}.profile-privacy-row{display:flex;align-items:center;gap:.45rem;margin-top:.4rem;color:#c9c9c9;font-size:.86rem}.profile-public-search-row{display:flex;gap:.5rem;align-items:center}.profile-public-card-preview{margin-top:.6rem}.profile-public-card-inner{border:1px solid rgba(0,243,255,.2);border-radius:10px;padding:.65rem;background:#00f3ff0a}.profile-public-card-handle{margin-bottom:.4rem;color:#d5f9ff}.profile-storefront{margin-top:0;border-top:none;padding-top:0}.profile-storefront-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.profile-pack-card{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.5rem .55rem;background:#0003}.profile-pack-card h4{color:#e3f8ff;margin:0 0 .1rem;font-size:.9rem}.profile-pack-price{color:#9fefff;font-size:.88rem;margin:.1rem 0}.profile-pack-blurb{margin:.15rem 0 0;font-size:.72rem;line-height:1.35;color:#9aa4b5}.profile-pack-actions{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.profile-pack-actions .action-btn{flex:1 1 calc(50% - .2rem);min-width:0}.profile-purchase-history-title{margin-top:.8rem}.profile-purchase-history{margin-top:.4rem;padding-left:1rem;color:#bdbdbd;font-size:.84rem}.online-hub-inline-status{font-size:.8rem;color:#aaa;margin:.35rem 0 0;min-height:1.2em}.online-hub-inline-status.online-hub-status-ok{color:#7fd695}.online-hub-inline-status.online-hub-status-err{color:#e24a4a}.online-hub-pending-run{font-size:.82rem;color:#c9a227;margin:.5rem 0 0;padding:.5rem;border:1px solid #444;border-radius:var(--radius-sm);background:#0003}.main-view-panel{width:100%;max-width:560px;margin:0 auto;padding:.75rem 1rem 1.5rem;box-sizing:border-box;min-height:min(70vh,calc(100dvh - 10rem));display:flex;flex-direction:column}.main-view-panel-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;flex-wrap:wrap}.main-view-panel-back{flex-shrink:0}.main-view-panel-title{font-family:var(--font-header);font-size:1.15rem;font-weight:600}.main-view-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom,0)}.main-view-panel-body .feedback-hub-body{max-height:none;flex:1 1 auto;min-height:12rem}.main-view-panel-body .leaderboard-table-wrap{overflow-x:auto}.journal-root{display:flex;flex-direction:column;gap:.75rem;color:#e0d0b0}.main-view-panel.journal-view--full{max-width:none}.journal-intro{border:1px solid #5d4525;background:linear-gradient(180deg,#3a2610cc,#191008d6);border-radius:10px;padding:.7rem .75rem}.journal-heading{margin:0 0 .3rem;font-size:1rem;color:#e5bf8b;text-align:center}.journal-heading--handwritten{font-family:Jim Nightshade,Galada,Caudex,serif;font-size:1.45rem;letter-spacing:.02em}.journal-sub{margin:0;font-size:.83rem;color:#c7b18d}.journal-tabs{display:flex;gap:.45rem}.journal-tab{border-color:#5f4525;color:#c9b08a}.journal-tab.active{background:#7e583059;border-color:#b98a52;color:#f2d8a9}.journal-content{min-height:14rem}.journal-stats,.journal-category-stats,.journal-filter-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.journal-stat-pill,.journal-category-pill{border:1px solid #6a4d2c;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;color:#d8be95;background:#3824129e}.journal-category-filter{cursor:pointer}.journal-category-filter.active{border-color:#d1a061;background:#9566346b;color:#f3d8ab}.journal-filter-btn{border-color:#6a4d2c;color:#ceb38b}.journal-filter-btn.active{border-color:#d1a061;background:#9566346b;color:#f3d8ab}.journal-filter-wrap{margin-bottom:.55rem}.journal-filter-summary{cursor:pointer;color:#d8bc92;font-size:.77rem;border:1px solid #6a4d2c;border-radius:8px;padding:.32rem .52rem;background:#3824128c;-webkit-user-select:none;user-select:none}.journal-codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.6rem}.journal-featured-entry{position:relative;border:1px solid #6f512f;border-radius:12px;padding:.65rem;background:linear-gradient(90deg,#f5e4c41f,#f5e4c408),radial-gradient(circle at 20% 15%,rgba(210,175,125,.18),transparent 60%),#2a1c0ed1;box-shadow:inset 0 0 0 1px #7a583259,0 8px 20px #00000040;margin-bottom:.65rem}.journal-featured-shell{display:grid;grid-template-columns:1.1fr 1fr;gap:.7rem;position:relative}.journal-featured-left{border:1px dashed rgba(164,126,82,.45);border-radius:8px;padding:.5rem .55rem;background:#1a110973}.journal-featured-scribble{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#b9996d;margin-bottom:.3rem}.journal-featured-title{margin:0 0 .2rem;color:#f0cf9c;font-size:1rem}.journal-featured-meta{font-size:.72rem;color:#b3946b;margin-bottom:.5rem}.journal-featured-body{margin:0;color:#d9bf95;line-height:1.4;font-size:.8rem}.journal-featured-right{border:1px solid rgba(149,114,73,.52);border-radius:9px;background:#0d090599;display:flex;align-items:center;justify-content:center;min-height:180px;padding:.4rem}.journal-featured-right--locked{filter:grayscale(.6);opacity:.7}.journal-featured-art{width:min(100%,300px);max-height:260px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}.journal-featured-nav{position:absolute;bottom:8px;transform:none;width:30px;height:30px;border-radius:999px;border:1px solid #7f5b31;background:#20140ad6;color:#e2c696;z-index:2;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.journal-featured-nav .journal-nav-chevron{display:block;flex-shrink:0}.journal-featured-nav--prev{left:8px}.journal-featured-nav--next{right:8px}.journal-featured-entry--motif-upgrade{background:linear-gradient(90deg,#f5e4c41f,#f5e4c408),radial-gradient(circle at 20% 15%,rgba(210,175,125,.18),transparent 60%),repeating-linear-gradient(135deg,rgba(112,81,43,.12) 0 8px,transparent 8px 16px),#2a1c0ed1}.journal-featured-entry--motif-relics{background:radial-gradient(circle at 82% 20%,rgba(145,102,187,.2),transparent 55%),radial-gradient(circle at 20% 80%,rgba(91,147,208,.14),transparent 55%),#1f1514db}.journal-featured-entry--motif-spire{background:linear-gradient(180deg,#5f3c7040,#241829d6),radial-gradient(circle at 25% 22%,rgba(199,148,238,.18),transparent 60%)}.journal-featured-entry--motif-equipment{background:linear-gradient(180deg,#473424a6,#19110be6),repeating-linear-gradient(0deg,rgba(138,110,76,.09) 0 2px,transparent 2px 8px)}.journal-featured-entry--motif-lore{background:linear-gradient(90deg,#7b542640,#3f2d17b3),radial-gradient(circle at 76% 60%,rgba(203,168,104,.15),transparent 62%)}.journal-entry{border:1px solid #5f4525;border-radius:10px;background:#26180bb8;padding:.48rem;cursor:pointer;transition:border-color .15s ease,transform .15s ease}.journal-entry:hover{border-color:#c89a5a;transform:translateY(-1px)}.journal-entry--selected{border-color:#e0b16b;box-shadow:0 0 0 1px #e0b16b73,0 7px 16px #00000040}.journal-entry--locked{opacity:.62;filter:grayscale(.45)}.journal-entry-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem}.journal-entry-art{width:34px;height:34px;object-fit:contain;border:1px solid #6d502d;border-radius:8px;background:#00000047;padding:.2rem}.journal-entry-title{font-size:.75rem;font-weight:700;color:#efcf9b}.journal-entry-meta{font-size:.62rem;color:#af946c;margin-top:.08rem}.journal-entry-body{margin:0;font-size:.68rem;line-height:1.35;color:#cdb996}@media(max-width:900px){.journal-featured-shell{grid-template-columns:1fr}.journal-featured-nav--prev{left:6px}.journal-featured-nav--next{right:6px}}.journal-log{border:1px solid #5f4525;border-radius:10px;background:#150e08d1;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.35rem;max-height:24rem;overflow:auto}.journal-log-row{padding:.35rem .45rem;border-left:2px solid #84623b;border-radius:6px;background:#2d1f1273;font-size:.76rem;color:#dcc29a}.journal-log-row--combat{border-left-color:#ff8b6a}.journal-log-row--unlock{border-left-color:#6ae4ff}.journal-log-row--purchase{border-left-color:#7ef4a0}.journal-log-row--prophecy{border-left-color:#caa6ff}.journal-log-row--tutorial{border-left-color:#ffd66b}.journal-empty{margin:0;color:#bca27e;font-size:.8rem}.achievement-in-view{width:100%}.achievement-in-view .achievement-list{display:flex;flex-direction:column;gap:.5rem}.main-view-panel--achievements{max-width:min(920px,100%);padding:.85rem 1.1rem 1.65rem;box-sizing:border-box}.main-view-panel--achievements .achievement-in-view .achievement-list{display:grid;grid-template-columns:1fr;gap:.45rem}@media(min-width:720px){.main-view-panel--achievements .achievement-in-view .achievement-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.65rem;row-gap:.48rem}}.main-view-panel--achievements .achievement-card{padding:.52rem .72rem;border-radius:8px;display:flex;flex-direction:column;min-height:0}.main-view-panel--achievements .achievement-card-header{margin-bottom:.18rem;gap:.45rem;align-items:flex-start}.main-view-panel--achievements .achievement-name{font-size:.92rem;line-height:1.22}.main-view-panel--achievements .achievement-status{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.main-view-panel--achievements .achievement-status.completed{padding:.12rem .42rem;border-radius:999px;border:1px solid rgba(255,215,0,.38);background:#ffd70014}.main-view-panel--achievements .achievement-status.locked{padding:.12rem .42rem;border-radius:999px;border:1px solid rgba(90,90,90,.5);background:#00000047;color:#8a8a8a}.main-view-panel--achievements .achievement-desc{margin:.12rem 0 0;font-size:.78rem;line-height:1.32}.main-view-panel--achievements .achievement-reward{margin-top:.32rem;padding-top:.3rem;font-size:.72rem;line-height:1.32}.auth-container-inner{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;width:100%}.auth-account-details{width:100%;border:1px solid #333;border-radius:var(--radius-sm);background:#00000040;padding:.15rem .35rem}.auth-account-summary{cursor:pointer;list-style:none;font-size:.68rem;color:#6ab0ff;padding:.45rem .35rem;min-height:44px;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.auth-account-summary::-webkit-details-marker{display:none}.auth-account-nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .25rem .45rem}.auth-account-nav-btn{width:100%;text-align:left;padding:.5rem .45rem;min-height:44px;font-size:.72rem;border:1px solid #2a2a2a;border-radius:var(--radius-sm);background:#00000059;color:#ccc;cursor:pointer}.auth-account-nav-btn:hover{border-color:#555;color:#fff}.auth-signin-primary{min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-header-menu-section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#666;padding:.5rem .75rem .25rem;margin:0}
