:root{color-scheme:dark;--bg:#101216;--panel:#181b20;--line:#303239;--muted:#93949b;--text:#e6e3dc;--gold:#c5aa77;--purple:#bfa0ef;--green:#8cc8ac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}button{transition:background .15s,border-color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}.topbar{height:76px;border-bottom:1px solid #282a30;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:#111317}.wordmark{font-family:Georgia,serif;letter-spacing:3px;font-size:23px;text-decoration:none;color:#ddd5c4;display:flex;align-items:center;gap:14px}.sigil{font-size:32px;color:var(--gold)}.edition{font-family:monospace;color:#777983;font-size:9px;letter-spacing:1.6px;margin-left:12px;padding-left:24px;border-left:1px solid #34343b}.top-actions{display:flex;gap:16px;align-items:center}.save-status{font-size:11px;color:#777e7b}.save-status:before{content:"\25cf";font-size:7px;color:#92ad91;margin-right:7px}.icon-button{background:transparent;border:1px solid #34363d;padding:8px 12px;color:#b6b7bb;border-radius:4px;font-size:11px}.icon-button:hover{background:#26292f}main{max-width:1500px;margin:auto;padding:38px 4.5% 0}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-family:monospace;font-size:10px;letter-spacing:2.2px;color:var(--gold);margin:0 0 12px}.eyebrow>span{display:inline-block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg);margin-right:8px;vertical-align:2px}h1{font-size:30px;font-weight:600;letter-spacing:-1.4px;margin:0 0 10px}h2,h3,p{margin-top:0}.intro{color:var(--muted);font-size:12px;margin-bottom:0;line-height:1.7}.currency{display:flex;align-items:center;gap:16px;border:1px solid #3d344c;background:#211d2a;padding:14px 24px;min-width:245px;border-radius:5px}.soul-icon{font-size:36px;color:var(--purple);text-shadow:0 0 22px #ae73d550}.currency small{display:block;color:#b2a4c6;font-size:11px}.currency strong{font-family:Georgia,serif;font-size:32px;font-weight:400;font-variant-numeric:tabular-nums}.currency-note{font:9px/1.7 monospace;letter-spacing:1px;color:#786d87;margin-left:auto}.layout{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px;align-items:start}.arena-panel{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel)}.panel-top{height:74px;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}.location{display:flex;align-items:center;gap:13px}.chapter{font-family:Georgia,serif;font-size:26px;color:var(--gold);border:1px solid #514b3e;width:36px;text-align:center;height:42px;line-height:40px;background:#25241f}.location small{color:#99968c;font-size:10px}.location h2{font-size:16px;margin:5px 0 0;letter-spacing:-.3px;font-weight:500}.raid-marker{display:flex;align-items:center;gap:12px;font:11px monospace}.raid-marker b{color:var(--gold);letter-spacing:1px}.raid-marker>span:first-child{font:10px sans-serif;color:#abb2ac;border:1px solid #41483f;padding:5px 7px;border-radius:3px}.raid-marker>span:last-child{color:#878b91}.arena-wrap{position:relative;background:#151720;border-block:1px solid #37323d;aspect-ratio:2/1;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.boss-hud{position:absolute;top:15px;left:30%;width:40%;pointer-events:none;text-shadow:0 1px 3px #000}.boss-hud>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#ded4c9;margin-bottom:6px}.boss-hud>div:first-child>span:last-child{font-family:monospace;color:#c9baba;font-size:9px}.boss-track{background:#180f16;height:7px;border:1px solid #635146;padding:1px}.boss-track i{display:block;height:100%;width:100%;background:#a04d60;transition:width .12s}.boss-hud p{text-align:center;margin-top:6px;color:#b8a9c4;font-size:9px;letter-spacing:1px}.arena-corner{position:absolute;left:15px;bottom:10px;font-size:9px;color:#94909a;letter-spacing:1px}.arena-corner span{margin:0 5px;color:#b49561}.battle-controls{display:flex;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:#1c1e25}.abilities{display:flex;gap:9px}.ability{display:flex;align-items:center;gap:9px;padding:7px 9px;background:#25232d;border:1px solid #45404e;border-radius:4px;color:var(--text);text-align:left;position:relative}.ability:hover:not(:disabled){background:#393044;border-color:#a78ac2}.ability:disabled{opacity:.45}.ability-icon{display:grid;place-items:center;background:#3a2e45;width:32px;height:32px;border:1px solid #6f5387;color:#d6b1f4;font-size:25px}.raise-icon{color:#c3c9a4;background:#30392d;border-color:#5b6c4d}.ability b{font-size:11px;font-weight:500;display:block;white-space:nowrap}.ability small{display:block;font-size:9px;color:#aaa1af;margin-top:4px}.ability kbd{font:9px monospace;align-self:start;color:#aaa1af;border:1px solid #534958;padding:1px 3px;margin-left:1px}.start-button{border:1px solid #bda473;background:#c3aa7a;color:#1e1c19;font-weight:700;padding:12px 19px;border-radius:3px;font-size:12px;white-space:nowrap}.start-button>span{padding-left:14px;font-size:18px}.start-button:hover:not(:disabled){background:#e2c995}.start-button:disabled{opacity:.45}.party-header{display:flex;align-items:center;justify-content:space-between;padding:19px 18px 12px;gap:10px}.party-header h3{font-size:11px;margin:0;font-weight:500;white-space:nowrap}.party-header h3 span{font:8px monospace;color:#777b82;letter-spacing:1px;margin-left:7px}.party-header>div{font-size:10px;color:#a99a80;max-width:56%;text-align:right}.party-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:0 17px 16px}.hero-card{background:#202329;border:1px solid #353842;padding:10px 8px;border-radius:3px;min-width:0;transition:opacity .3s}.hero-card.dead{opacity:.35}.hero-top{display:flex;align-items:center;gap:6px}.hero-symbol{color:var(--hero);font-size:18px;line-height:21px}.hero-name{font-size:11px}.hero-role{font-size:9px;color:#9397a0;display:block;margin-top:2px}.hero-bar{height:3px;background:#363940;margin-top:9px}.hero-bar i{display:block;height:100%;background:var(--hero);transition:width .1s}.hero-hp{display:block;font:8px monospace;color:#8e9299;margin-top:5px}.arena-footer{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--line);font-size:10px;color:#a4a6ad;gap:15px}.arena-footer>div{display:flex;align-items:center;gap:8px}.live-dot{height:5px;width:5px;border-radius:50%;background:#91b99c;flex:none}.text-button{background:none;border:0;color:#a4a6ad;font-size:10px;white-space:nowrap;padding:4px}.text-button:hover{color:var(--gold)}.upgrade-panel{padding:23px 19px 17px;border:1px solid var(--line);border-radius:6px;background:#191b20}.upgrade-title{display:flex;justify-content:space-between}.upgrade-title .eyebrow{font-size:8px;letter-spacing:1.5px}.upgrade-title h2{font-size:20px;font-weight:500;letter-spacing:-.6px;margin:0 0 12px}.ornament{color:var(--gold);font-size:37px;line-height:40px}.upgrade-intro{font-size:11px;color:#8e929b;line-height:1.8;border-bottom:1px solid #33343c;padding-bottom:18px;margin-bottom:14px}.upgrades{display:grid;gap:9px}.upgrade{width:100%;border:1px solid #373a43;background:#22252c;color:var(--text);border-radius:4px;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:start;text-align:left;padding:12px 10px}.upgrade:not(:disabled):hover{background:#302b37;border-color:#8c739f}.upgrade:disabled{opacity:.55}.upgrade-symbol{width:31px;height:34px;background:#2d2c36;border:1px solid #4a4558;display:grid;place-items:center;font-size:21px;color:#bca6d4}.upgrade-name{font-size:12px;font-weight:500;display:block;line-height:1.5}.upgrade-description{font-size:9px;color:#9a9ba5;line-height:1.6;display:block;margin-top:4px}.upgrade-level{font:8px monospace;color:#9e9483;margin-top:6px;display:block;letter-spacing:1px}.upgrade-cost{font:12px monospace;color:var(--purple);white-space:nowrap;margin-top:3px}.upgrade-cost small{font-size:8px;margin-right:3px}.keeper-note{display:flex;gap:10px;margin-top:18px;padding:13px 10px;background:#24221e;border-left:2px solid #95805a;color:#a99a81}.keeper-note>span{font-size:18px;color:var(--gold)}.keeper-note p{font-size:10px;line-height:1.9;margin:0}.keeper-note b{color:#c4b698;font-weight:500}.bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:22px;margin-top:22px}.chronicle,.legacy{border:1px solid var(--line);border-radius:5px;background:#17191e;padding:17px 20px}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-label h3{font-size:11px;font-weight:500;margin:0}.section-label>span{font:8px monospace;color:#6d717b;letter-spacing:1.8px}.log{height:70px;overflow:auto;display:flex;flex-direction:column;gap:7px;font-size:10px;color:#8d929c}.log-line{display:flex;gap:10px;line-height:1.4}.log-line>span:first-child{color:#635d71}.log-line.kill{color:#c7a4db}.log-line.victory{color:#d1b57c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:8px}.stats>div+div{border-left:1px solid #30323b;padding-left:13px}.stats strong{font-family:Georgia,serif;font-weight:400;color:var(--gold);font-size:29px;display:block}.stats span{display:block;color:#90929a;font-size:9px;margin-top:6px}footer{padding:24px 0;display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#646975;align-items:center}footer>span:first-child{letter-spacing:1px}footer i{font-style:normal;padding:0 7px;color:#545766}.mobile-only{display:none}.result-overlay,.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b0d16b8;backdrop-filter:blur(2px);z-index:4}.result-overlay[hidden],.pause-overlay[hidden]{display:none}.result-card{padding:25px 36px;text-align:center;border:1px solid #8c7858;background:#1b1c23ed;box-shadow:0 10px 60px #0008;min-width:290px}.result-card .eyebrow{font-size:9px}.result-card h2{font-size:31px;letter-spacing:-1px;margin:10px 0;color:#e5d3af}.result-card p:not(.eyebrow){font-size:11px;color:#b4adb9;margin:0 0 10px}.result-card>strong{font-size:24px;color:#cfa8ed;display:block;margin-bottom:18px}.secondary-button{border:1px solid #5f536c;background:#2a2531;color:#d1c4df;padding:10px 14px;border-radius:3px;font-size:11px}.secondary-button:hover{background:#3b3046}.pause-overlay{font-size:35px;color:var(--gold);align-content:center;gap:10px}.pause-overlay span{font-size:13px}dialog{background:#202129;color:var(--text);border:1px solid #6d596e;padding:25px;max-width:90vw;border-radius:5px}dialog::backdrop{background:#000b}dialog h2{font-size:18px}dialog p{font-size:12px;color:var(--muted)}dialog>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media(min-width:1600px){main{padding-top:46px}.heading{margin-bottom:36px}}@media(max-width:1150px){.layout,.bottom-grid{grid-template-columns:minmax(0,1fr) 270px;gap:16px}main{padding-inline:3%}.ability small{font-size:8px}.ability{gap:6px;padding:6px}.ability-icon{width:27px;height:29px}.ability kbd{display:none}.start-button{padding:10px 12px}.party-header h3 span{display:none}.upgrade-panel{padding:20px 14px}.topbar{padding:0 3%}.edition{display:none}}@media(max-width:900px){.layout,.bottom-grid{grid-template-columns:1fr}.upgrade-panel{padding:20px}.upgrades{grid-template-columns:repeat(2,1fr)}.keeper-note{margin-top:14px}.currency-note{display:none}.currency{min-width:145px;padding:12px 18px}.bottom-grid{grid-template-columns:1.4fr 1fr}.heading{gap:20px}h1{font-size:27px}.top-actions{gap:7px}.save-status{display:none}.intro{font-size:11px}.ability kbd{display:block}.ability small{font-size:9px}footer>span:nth-child(2){display:none}}@media(max-width:560px){.topbar{height:60px}.wordmark{font-size:18px;gap:7px}.sigil{font-size:25px}.icon-button{font-size:9px;padding:7px}.heading{align-items:start;margin-bottom:20px}main{padding-top:25px}.heading .eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:24px;line-height:1.35}.mobile-only{display:block}.intro{font-size:10px;max-width:230px}.currency{min-width:107px;padding:10px;gap:7px}.soul-icon{font-size:24px}.currency strong{font-size:27px}.currency small{font-size:9px}.panel-top{padding:12px;height:65px}.location h2{font-size:13px}.location small{font-size:8px}.raid-marker{gap:6px;font-size:9px}.raid-marker>span:first-child{display:none}.chapter{width:28px;height:35px;font-size:23px;line-height:32px}.arena-wrap{aspect-ratio:1.65}canvas{object-fit:contain}.boss-hud{top:8px;left:25%;width:50%}.boss-hud>div:first-child{font-size:8px}.boss-hud p{font-size:7px}.boss-hud>div:first-child>span:last-child{font-size:7px}.battle-controls{padding:10px;gap:7px}.abilities{gap:5px;flex:1}.ability{flex:1;gap:5px}.ability-icon{font-size:20px;width:24px;min-width:24px}.ability b{font-size:9px}.ability small{display:none}.ability kbd{font-size:7px}.start-button{font-size:10px;padding:8px}.start-button>span{padding-left:3px}.party-header{padding:13px 11px 10px}.party-header h3{font-size:10px}.party-header>div{font-size:8px}.party-grid{gap:4px;padding:0 9px 12px}.hero-card{padding:7px 5px}.hero-top{gap:3px}.hero-symbol{font-size:13px}.hero-name{font-size:9px}.hero-role,.hero-hp{font-size:7px}.arena-footer{padding:9px 11px;font-size:8px;gap:5px}.upgrades{gap:7px}.upgrade{padding:9px 7px;grid-template-columns:25px 1fr;gap:7px}.upgrade-symbol{width:25px;height:29px;font-size:17px}.upgrade-name{font-size:10px}.upgrade-cost{grid-column:2;font-size:10px;margin:0}.upgrade-description{font-size:8px}.upgrade-level{font-size:7px}.bottom-grid{grid-template-columns:1fr}.result-card{padding:15px 20px;min-width:230px}.result-card h2{font-size:24px}.result-card>strong{font-size:19px;margin-bottom:10px}.result-card .eyebrow{font-size:8px}.result-card .secondary-button{font-size:9px;padding:8px}.stats{padding-bottom:5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
