@import url('tokens.css');
:root{color-scheme:dark;--bg:var(--nadir-bg);--panel:var(--nadir-panel);--text:var(--nadir-text);--muted:var(--nadir-muted);--gold:var(--nadir-gold);--cyan:var(--nadir-cyan);--violet:var(--nadir-violet);--border:var(--nadir-border);--danger:var(--nadir-danger);--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font:16px var(--sans)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.15)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}[hidden]{display:none!important}svg{flex-shrink:0;vertical-align:middle}kbd{font:12px var(--sans);display:inline-grid;place-items:center;border:1px solid #69756744;min-width:23px;height:23px;padding:0 5px;border-radius:3px;color:#d4d2c7;background:#0b1114a1;letter-spacing:.04em}#game{width:100%;height:100%;display:block;outline:0;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 41%,transparent 20%,#060a0b80 100%);box-shadow:inset 0 0 140px #02060666}
.topbar{position:fixed;z-index:12;inset:0 0 auto;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:linear-gradient(#080d10ba,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:13px;font:28px var(--serif);letter-spacing:.21em}.brand-sigil{color:var(--gold)}.edition{font:12px var(--sans);letter-spacing:.22em;color:#b8b9ac;border-left:1px solid #b0b49733;margin-left:6px;padding-left:22px}.top-status{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;color:#acb9ad}.status-dot{width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px #6bc9bd66}.version{padding-left:14px;border-left:1px solid #65756d44;color:#71847d;margin-left:5px}.icon-button{width:42px;height:42px;display:grid;place-items:center;color:var(--muted);margin-left:14px;border:1px solid #83938a22;border-radius:4px;background:#10171666}
.menu-screen{position:fixed;inset:0;z-index:10;background:linear-gradient(90deg,#090f11fa 0%,#090f11e8 28%,#090f119c 44%,transparent 72%);overflow:auto;scrollbar-width:thin}.menu-content{margin:clamp(112px,14vh,170px) 0 100px clamp(36px,5.3vw,90px);width:460px;position:relative}.eyebrow,.tiny-label{font-size:12px;letter-spacing:.17em;font-weight:500;color:var(--gold);line-height:1.5}.eyebrow{display:flex;align-items:center;gap:10px;color:#bca579;font-size:12px}.eyebrow>span{width:22px;height:1px;background:var(--gold)}h1{font-size:clamp(58px,5.4vw,86px);line-height:1.01;letter-spacing:-.045em;margin:25px 0 22px;font-weight:400}h1 em{font-style:italic;color:#c9ae78}.intro{color:#a2b1aa;font-size:15px;line-height:1.85;font-weight:300}.section-heading{display:flex;gap:17px;align-items:center;margin:34px 0 15px}.section-heading .tiny-label{color:#b7b9a9;font-size:12px}.hairline{height:1px;flex:1;background:#bdc3a727}.class-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.class-card{position:relative;text-align:left;padding:21px 21px 17px;border:1px solid #53675a66;border-radius:4px;background:linear-gradient(140deg,#1e292452,#11191e33);transition:background .2s,border-color .2s;min-height:164px;overflow:hidden}.class-card.selected{border-color:#c4a368ad;background:linear-gradient(140deg,#45544333,#17202185)}.class-number{position:absolute;top:17px;right:19px;color:#69807788;font:24px var(--serif)}.class-art{color:var(--gold);display:block;margin-bottom:13px}.class-art svg{width:29px;height:29px}.class-name{display:block;font:28px/1.05 var(--serif);letter-spacing:-.02em}.class-style{font-size:12px;letter-spacing:.13em;display:block;color:#91a197;margin-top:15px}.arcane .class-art{color:var(--violet)}.arcane.selected{border-color:#a995dfad;background:linear-gradient(140deg,#4a3d663d,#17202185)}.selection-dot{position:absolute;width:6px;height:6px;border:1px solid #748475;right:18px;bottom:17px;border-radius:50%}.selected .selection-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 9px #c9a86a66}.arcane.selected .selection-dot{background:var(--violet);border-color:var(--violet)}.class-description{min-height:36px;font-size:13px;line-height:1.65;color:#9ba89b;margin:14px 0 22px;max-width:380px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;height:54px;padding:0 22px;border:1px solid #d8bd81;background:linear-gradient(110deg,#c1a66d,#d2ba88);color:#19211d;border-radius:3px;font-size:12px;letter-spacing:.14em;font-weight:650;box-shadow:0 8px 40px #050b0d55}.primary-button svg{width:20px}.continue-button{display:flex;justify-content:center;align-items:center;width:100%;gap:12px;padding:16px 0;color:var(--gold);font-size:14px}.continue-button svg{width:16px}.menu-meta{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:12px;letter-spacing:.1em;color:#7d8b7f;margin-top:22px}.menu-meta i{font-style:normal;font-size:12px;color:#a38e61}.character-caption{position:fixed;right:12.5%;bottom:16%;text-align:center;pointer-events:none;text-shadow:0 2px 20px #040b0c}.character-caption h2{font:36px var(--serif);margin:10px 0;color:#d8d9c8}.character-caption .tiny-label{font-size:12px;color:#9aab9d}.caption-line{width:48px;height:1px;background:var(--gold);margin:16px auto}.character-caption>span:last-child{font-size:12px;letter-spacing:.04em;color:#a0b0a5}.menu-bottom{position:fixed;bottom:25px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.12em;color:#64786e}.menu-bottom button{font-size:12px;letter-spacing:.03em;color:#a1ad9e}.menu-bottom button>span{color:var(--gold);margin-left:20px}
.hud{position:fixed;inset:0;pointer-events:none;z-index:5}.hud button,.hud nav,.hud .touch-controls{pointer-events:auto}.expedition{position:absolute;top:110px;left:35px;width:225px;padding:20px 20px 17px;background:linear-gradient(125deg,#111a18de,#111a1855);border-left:1px solid #84957633}.expedition .tiny-label{font-size:12px;color:#a3aa93}.depth{display:flex;align-items:center;gap:12px;margin-top:12px}.depth-symbol{color:var(--gold)}.depth>#depth{font:40px/.95 var(--serif);letter-spacing:-.01em}.depth>span:last-child{font-size:12px;color:#82988a;letter-spacing:.16em;align-self:flex-end;margin-bottom:4px}.expedition-divider{height:1px;background:#8b9c8133;margin:18px 0 13px}.expedition p#objective{font-size:12px;line-height:1.7;color:#a6b0a1}.hero-level{margin-top:15px;display:flex;gap:7px;align-items:center;font-size:12px}.hero-level>span:first-child{flex:1;color:#cdd2bf}.gold-value,.hero-level svg{color:var(--gold)}.hero-level svg{width:14px;height:14px}.xp-track{height:2px;background:#8a986325;margin-top:10px}.xp-track>div{height:100%;width:0;background:var(--gold);transition:width .3s}.room-heading{position:absolute;left:28%;right:28%;top:28px;text-align:center}.room-heading .tiny-label{font-size:12px;color:#88a191}.room-heading h2{font:24px var(--serif);margin-top:6px;color:#c5d0bd}.enemy-hud{position:absolute;top:110px;left:50%;transform:translateX(-50%);width:390px}.enemy-head{display:flex;align-items:center;gap:14px;padding:0 5px 10px}.enemy-head #enemy-tag{font-size:12px;border:1px solid #bf986444;padding:3px 6px;color:#cfb68a;letter-spacing:.1em}.enemy-head #enemy-name{font:23px var(--serif);flex:1;white-space:nowrap}.enemy-head #enemy-percent{font-size:12px;color:#9aa890;white-space:nowrap}.enemy-track{height:5px;position:relative;background:#121a18cc;border:1px solid #a0a47844;padding:1px}.enemy-track>div{height:100%;background:linear-gradient(90deg,#9a614b,#be9670);width:100%;transition:width .15s}.enemy-state{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;margin:9px 6px;color:#829b8a}#adaptive-hint{color:#d0a788}.game-tools{position:absolute;top:112px;right:34px;display:flex;flex-direction:column;gap:8px}.game-tools button{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #8a9a6e33;border-radius:4px;background:#10191bbd;color:#a6b5a4}.game-tools button>span>svg{width:20px}.game-tools kbd{position:absolute;right:2px;bottom:2px;height:12px;min-width:11px;font-size:12px;border:0;background:none;padding:0;color:#738b7d}.tactics{position:absolute;left:36px;bottom:230px;width:236px;padding-left:16px;border-left:1px solid #bfaa6244}.tactics .tiny-label{font-size:12px;color:#8c9e86}.tactics h3{font:25px var(--serif);margin:9px 0;color:#ccceb5}.tactics p{font-size:12px;color:#9aad9b;line-height:1.75}.combat-note{font-size:12px;margin-top:12px;color:#c3b785;display:flex;align-items:center;gap:6px}.combat-note>span{width:4px;height:4px;border-radius:50%;background:var(--gold)}.player-hud{position:absolute;bottom:66px;left:35px;width:265px;padding:17px 18px;background:linear-gradient(120deg,#111b1aea,#111a1880);border:1px solid #929c6633;border-radius:4px}.player-identity{display:flex;gap:12px;align-items:center;margin-bottom:12px}.portrait{display:grid;place-items:center;width:39px;height:43px;border:1px solid #aaac6040;background:linear-gradient(160deg,#74846c30,#3b4c4810);color:var(--gold);border-radius:3px}.portrait svg{width:25px}.player-identity>div{display:grid;gap:6px;flex:1}.player-identity #class-label{font-size:12px;letter-spacing:.09em;color:#b8c7ae}.player-identity small{font:17px var(--serif);letter-spacing:.05em}.health-cross{color:#9caf82;font-size:26px;align-self:flex-end;line-height:1}.health-track{height:6px;background:#13251d;border:1px solid #90a48322;padding:1px}.health-track>div{background:linear-gradient(90deg,#537457,#9bb57b);height:100%;transition:width .2s}.resource-track{margin-top:5px;height:3px;background:#26343a}.resource-track>div{background:linear-gradient(90deg,#365a65,#6fa3af);height:100%;transition:width .2s}.resource-meta{font-size:12px;letter-spacing:.09em;color:#799992;display:flex;justify-content:space-between;margin-top:7px}.actionbar{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:10px;background:#10191bc9;border:1px solid #85967233;border-radius:5px;box-shadow:0 15px 50px #07100c66}.spell-buttons{display:flex;gap:8px}.spell-button{position:relative;width:72px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #8a956744;border-radius:3px;background:linear-gradient(135deg,#4750462b,#141c1c85);color:var(--gold);overflow:hidden}.spell-button>svg{width:27px;height:27px}.spell-button .spell-key{position:absolute;left:5px;top:4px;height:14px;min-width:14px;font-size:12px;padding:0;background:none;border:none;color:#c5cbb3}.spell-name{font-size:12px;max-width:67px;line-height:1.3;color:#a1b29f;text-align:center}.cooldown-mask{position:absolute;inset:auto 0 0;background:#050c0edb;height:0;pointer-events:none}.cooldown-number{position:absolute;inset:0;display:grid;place-items:center;font:26px var(--serif);color:#eee5d4;text-shadow:0 2px 5px #000;pointer-events:none}.spell-button.unavailable{border-color:#6f7c6a22;color:#526763}.action-separator{width:1px;height:53px;background:#8d987133}.dodge-button{position:relative;width:63px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#aebba8;overflow:hidden}.dodge-button>svg{width:25px}.dodge-button kbd{height:15px;font-size:12px;border:1px solid #61736566;min-width:42px}.dodge-button>span{font-size:12px}#dodge-cooldown{position:absolute;bottom:0;left:0;width:100%;height:0;background:#06120ed9;pointer-events:none}.room-map{position:absolute;bottom:70px;right:32px;width:150px;text-align:center;opacity:.7}.room-map>svg{width:132px;height:132px}.room-map>span{font-size:12px;letter-spacing:.1em;color:#a3b29b;display:block;margin-top:2px}.control-legend{position:absolute;bottom:23px;left:35px;right:35px;display:flex;align-items:center;justify-content:center;gap:24px;color:#7b9285;font-size:12px}.control-legend>span{display:flex;align-items:center;gap:6px}.control-legend kbd{font-size:12px;height:17px;min-width:20px;border-color:#71876833;color:#a8b6a0}.interact-prompt{position:absolute;left:50%;bottom:195px;transform:translateX(-50%)}.interact-prompt button{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.1em;color:#d5c498;padding:12px 17px;border:1px solid #adab6555;border-radius:4px;background:#101d1bd9;box-shadow:0 7px 40px #050b0c80}.interact-prompt svg{width:16px}.touch-controls{display:none}
.toast-container{position:fixed;top:105px;right:99px;display:flex;flex-direction:column;gap:10px;z-index:30;pointer-events:none;width:285px}.toast{animation:toast-in .3s ease;padding:14px 16px;border:1px solid #c7a56c55;border-left:2px solid var(--gold);background:#0e1918f2;border-radius:4px;box-shadow:0 10px 25px #03090d66;display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.6}.toast>span:first-child{color:var(--gold)}.toast small{color:#93a897;font-size:12px;display:block}.toast .toast-title{font-family:var(--serif);font-size:21px}.toast button{pointer-events:auto;color:var(--gold);font-size:12px;text-decoration:underline;display:block;padding:4px 0}.toast.error{border-color:#b66f6688}.float-number{position:fixed;z-index:20;pointer-events:none;color:#edc788;font:31px var(--serif);text-shadow:0 2px 8px #000;animation:float-up .9s ease-out forwards}.float-number.hurt{color:#df8f80}.float-number.guarded{font-size:15px;color:#a1af9b}.float-number::before{content:"−"}#damage-flash{position:fixed;inset:0;pointer-events:none;z-index:4;box-shadow:inset 0 0 120px #c5393a;opacity:0;transition:opacity .2s}.loading-screen{position:fixed;inset:0;z-index:100;background:#0b1012;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-sigil{color:var(--gold);animation:pulse 2s ease-in-out infinite}.loading-sigil svg{width:43px;height:43px}.loading-screen h2{font:40px var(--serif);letter-spacing:.3em;margin:24px 0 15px 12px}.loading-screen p{font-size:13px;color:#92a399}.loading-bar{width:150px;height:1px;background:#4b584b66;margin-top:30px;overflow:hidden}.loading-bar i{display:block;width:45%;height:1px;background:var(--gold);animation:loading 1.5s ease-in-out infinite}
dialog{padding:0;color:var(--text);background:#111817f7;border:1px solid #8c9c6a66;border-radius:8px;max-width:min(1080px,94vw);width:960px;max-height:88dvh;box-shadow:0 30px 160px #000c;scrollbar-width:thin;scrollbar-color:#647561 #111817}dialog::backdrop{background:#03090bd6;backdrop-filter:blur(7px)}#panel-inner{padding:34px 38px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:25px}.panel-header h2{font:36px var(--serif);margin-top:7px}.panel-header .tiny-label{font-size:12px}.close-button{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid #6c80623d;border-radius:4px;color:#a8b09f}.panel-note{font-size:14px;color:#99ac9c;line-height:1.8;margin-bottom:23px}.panel-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:1px solid #65785a44;padding-bottom:14px}.panel-tabs button{font-size:13px;padding:8px 14px;color:#a7b59f;border-radius:4px}.panel-tabs button.active{background:#3d4c393d;color:#d3bd8c}.inventory-layout{display:grid;grid-template-columns:240px 1fr;gap:30px}.equipment-title{font-size:12px;color:#afbe9f;letter-spacing:.1em;display:flex;justify-content:space-between;margin-bottom:12px}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.equipment-slot{min-height:90px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px solid #586c503d;border-radius:4px;background:#1b24217a;position:relative;padding:10px 5px;text-align:center}.equipment-slot>svg{width:24px;height:24px;color:#687e6c}.equipment-slot>span{font-size:12px;color:#889b88}.equipment-slot .equipped-name{font-size:12px;color:#d4d7c1;line-height:1.4}.equipment-slot>small{position:absolute;right:5px;top:5px;font-size:12px;color:#a2ad94}.item-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:start}.item-card{position:relative;padding:15px 12px 12px;min-height:150px;border:1px solid #87966955;border-top:2px solid var(--rarity);border-radius:4px;background:linear-gradient(160deg,#23312a60,#111919);display:flex;flex-direction:column;gap:8px}.item-card>svg{width:26px;color:var(--rarity);margin-bottom:3px}.item-card h3{font:20px/1.15 var(--serif);color:#d4d6be;flex:1}.item-card p{font-size:12px;color:#8ea28c;line-height:1.6}.item-card .item-effect{font-size:12px;color:#c9ba90;line-height:1.6}.item-actions{display:flex;align-items:center;gap:5px;justify-content:space-between;margin-top:7px}.small-button{font-size:12px;border:1px solid #81936b44;border-radius:3px;padding:7px 9px;color:#c4ba93;background:#29332455}.quiet-button{font-size:12px;color:#8fa088;padding:7px 2px}.empty-state{padding:35px 20px;text-align:center;color:#899f8c;border:1px dashed #64805144;border-radius:4px;font-size:14px;line-height:1.9;grid-column:1/-1}.empty-state svg{color:var(--gold);margin-bottom:14px}.stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #76856522;font-size:13px}.stat-row>span{color:#94a58d}.stat-row>strong{font-weight:500;color:#d6d4b9}.stat-block{margin-top:22px}.spell-loadout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.spell-loadout label{display:grid;gap:8px;font-size:12px;color:#9db199;letter-spacing:.08em}.spell-loadout select{width:100%;background:#1b2421;color:#d4d7c1;padding:12px 8px;border:1px solid #52694955;border-radius:4px;font-size:13px}.spell-library{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spell-detail{padding:18px;border:1px solid #70866244;border-radius:4px;background:#1b242155;display:flex;gap:15px}.spell-detail.locked{opacity:.4}.spell-detail>.spell-symbol{display:grid;place-items:center;width:43px;height:48px;flex-shrink:0;color:var(--gold);border:1px solid #8d9f5d44;border-radius:3px}.spell-detail h3{font:24px var(--serif);margin-bottom:5px}.spell-detail p{font-size:12px;line-height:1.7;color:#96ab94}.spell-detail .spell-info{font-size:12px;color:#b0b897;margin:10px 0}.spell-detail button{margin-top:5px}.codex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.codex-card{padding:25px 20px;border:1px solid #697e5844;border-radius:4px;background:#1b242166}.codex-card>.codex-icon{display:grid;place-items:center;height:90px;color:var(--gold);margin-bottom:10px}.codex-icon svg{width:60px;height:60px}.codex-card h3{font:29px var(--serif);margin:10px 0}.codex-card h4{font-size:12px;letter-spacing:.08em;color:#baa779;margin:15px 0 10px}.codex-card p{font-size:13px;line-height:1.8;color:#96ab95}.codex-card.unseen{opacity:.5}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.settings-section h3{font-size:28px;margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0;font-size:14px;color:#adbaa6}.setting-row select{background:#1b2421;border:1px solid #64775266;border-radius:4px;color:#d1d8bb;padding:9px;font-size:13px}.setting-row input{accent-color:var(--gold);max-width:140px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 12px;border:1px solid #7b905c55;border-radius:4px;color:#c1c5a6;font-size:13px;margin-top:10px;background:#2b372321}.secondary-button svg{width:18px}.settings-detail{color:#81997f;line-height:1.75;font-size:12px;margin-top:13px}.route-choices,.relic-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.route-card,.relic-card{padding:28px;text-align:left;display:flex;flex-direction:column;gap:15px;border:1px solid #a2ac6a66;border-radius:4px;background:linear-gradient(140deg,#2d40273d,#17232166);min-height:210px}.route-card>svg{color:var(--cyan);width:35px;height:35px}.route-card.risk{border-color:#bb946366;background:linear-gradient(140deg,#60402e2f,#17232166)}.route-card.risk>svg{color:var(--gold)}.route-card h3,.relic-card h3{font-size:29px}.route-card p,.relic-card p{font-size:14px;line-height:1.8;color:#96ac93}.route-card small{margin-top:auto;font-size:12px;letter-spacing:.07em;color:#c3b68a}.death-content{text-align:center;padding:25px 40px}.death-content>svg{width:55px;height:55px;color:#b68e73;margin-bottom:22px}.death-content h2{font:54px var(--serif);margin-bottom:17px}.death-content p{color:#9cad91;line-height:1.9;font-size:15px;max-width:460px;margin:0 auto 25px}.death-content .primary-button{max-width:400px;margin:25px auto 0}.relic-choices{grid-template-columns:repeat(3,1fr)}.relic-card{min-height:240px;padding:22px;border-color:#b0985f66}.relic-card>svg{color:var(--gold);width:36px;height:36px}.relic-card h3{font-size:29px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.help-grid h3{font:29px var(--serif);margin-bottom:15px}.help-row{display:flex;gap:12px;align-items:center;font-size:14px;color:#aab79e;margin:12px 0}.help-grid p{font-size:14px;color:#94a98d;line-height:1.9;margin-bottom:13px}.help-grid .help-tip{color:#cab98b;border-left:1px solid #a4a96466;padding-left:16px}.data-note{margin-top:22px;font-size:12px;color:#7e977e;line-height:1.8}#import-file{display:none}
@keyframes pulse{50%{opacity:.45;transform:scale(.95)}}@keyframes loading{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}@keyframes toast-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,0)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-65px)}}
@media(min-width:1600px){.menu-content{width:500px}.class-card{min-height:180px}.class-name{font-size:31px}.menu-content h1{font-size:94px}.section-heading{margin-top:42px}.class-description{margin-top:20px;margin-bottom:28px}.character-caption{right:15%;bottom:15%}.actionbar{bottom:75px}.player-hud{bottom:75px}}
@media(max-height:780px) and (min-width:850px){.menu-content{margin-top:104px;margin-bottom:70px;width:410px}.menu-content h1{font-size:65px;margin:18px 0}.intro{font-size:14px}.section-heading{margin-top:22px}.class-card{min-height:138px;padding:16px}.class-art{margin-bottom:9px}.class-name{font-size:25px}.class-style{margin-top:11px;font-size:12px}.class-description{margin:11px 0 15px;min-height:30px}.menu-meta{margin-top:15px;font-size:12px}.primary-button{height:48px;font-size:12px}.tactics{bottom:210px}.enemy-hud{top:98px}.expedition{top:98px}.character-caption{bottom:15%;right:11%}}
@media(max-width:1100px){.edition{display:none}.room-heading{left:30%;right:24%}.expedition{left:20px;width:195px;padding:15px}.tactics{left:20px;width:195px}.player-hud{left:20px;width:215px;padding:13px}.actionbar{left:55%;gap:8px}.spell-button{width:64px;height:73px}.room-map{right:20px;width:115px}.room-map>svg{width:105px;height:105px}.game-tools{right:23px}.character-caption{right:9%;bottom:17%}.control-legend{gap:15px}.topbar{padding:0 24px}.room-heading h2{font-size:21px}.enemy-hud{width:340px;left:56%}.toast-container{right:85px}.inventory-layout{grid-template-columns:200px 1fr;gap:22px}.item-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.topbar{height:65px;padding:0 18px}.wordmark{font-size:28px;gap:9px}.top-status{font-size:12px;gap:6px}.version{display:none}.icon-button{width:34px;height:34px;margin-left:6px}.menu-screen{background:linear-gradient(90deg,#090f11ed,#090f11c7 65%,#090f1177)}.menu-content{margin:95px auto 90px;width:min(460px,calc(100% - 40px))}.menu-content h1{font-size:72px}.character-caption{display:none}.menu-bottom{left:20px;right:20px;bottom:20px;font-size:12px}.menu-bottom button{font-size:12px}.expedition{top:79px;left:15px;width:145px;padding:10px;background:#111a18ba}.expedition .tiny-label{font-size:12px}.depth{gap:6px;margin-top:8px}.depth>#depth{font-size:30px}.depth>span:last-child{font-size:12px}.depth-symbol>svg{width:16px}.expedition-divider{margin:10px 0}.expedition p#objective{font-size:12px}.hero-level{font-size:12px;margin-top:8px}.room-heading{display:none}.enemy-hud{top:81px;width:min(270px,47vw);left:57%}.enemy-head{gap:6px;padding-bottom:8px}.enemy-head #enemy-name{font-size:18px;white-space:normal}.enemy-head #enemy-tag{font-size:12px;padding:2px 4px}.enemy-head #enemy-percent{font-size:12px}.enemy-state{font-size:12px;gap:5px;line-height:1.6}.game-tools{top:80px;right:12px;gap:6px}.game-tools button{width:35px;height:35px}.game-tools button>span>svg{width:16px}.game-tools kbd{display:none}.tactics{display:none}.player-hud{left:15px;bottom:25px;width:170px;padding:11px}.player-identity{gap:8px;margin-bottom:8px}.portrait{width:30px;height:35px}.portrait>svg{width:20px}.player-identity #class-label{font-size:12px}.player-identity small{font-size:15px}.resource-meta{font-size:12px}.actionbar{bottom:25px;left:auto;right:15px;transform:none;gap:7px;padding:6px}.spell-buttons{gap:5px}.spell-button{width:55px;height:65px}.spell-name{font-size:12px;max-width:50px}.spell-button>svg{width:23px;height:23px}.dodge-button{width:50px;height:65px}.dodge-button>svg{width:22px}.dodge-button kbd{font-size:12px;min-width:34px}.action-separator{height:40px}.room-map{right:14px;bottom:122px;width:85px;opacity:.5}.room-map>svg{width:85px;height:85px}.room-map>span{font-size:12px}.control-legend{display:none}.interact-prompt{bottom:145px}.interact-prompt button{font-size:12px;padding:10px}.toast-container{top:222px;right:17px;width:245px}.toast{padding:10px 12px;font-size:13px}.toast .toast-title{font-size:18px}dialog{max-width:95vw;max-height:90dvh}#panel-inner{padding:24px 20px}.panel-header h2{font-size:30px}.panel-header{margin-bottom:20px}.inventory-layout{grid-template-columns:150px 1fr;gap:15px}.equipment-grid{gap:5px}.equipment-slot{min-height:74px;padding:8px 3px}.equipment-slot>svg{width:20px}.equipment-slot>span{font-size:12px}.equipment-slot .equipped-name{font-size:12px}.item-list{gap:7px}.item-card{padding:12px 9px;min-height:140px}.item-card h3{font-size:18px}.spell-library{grid-template-columns:1fr}.settings-grid,.help-grid{grid-template-columns:1fr;gap:26px}.codex-grid{grid-template-columns:1fr}.codex-card>.codex-icon{height:50px}.codex-card{padding:20px}.death-content{padding:20px 4px}.death-content h2{font-size:40px}.death-content p{font-size:14px}.relic-choices{grid-template-columns:1fr}.relic-card{min-height:150px}.route-card{padding:20px}.route-card h3{font-size:29px}.route-card p{font-size:13px}.spell-loadout{gap:7px}.spell-loadout select{font-size:12px;padding:10px 4px}.spell-loadout label{font-size:12px}}
@media(max-width:480px){.menu-content{margin-top:88px}.menu-content h1{font-size:65px}.eyebrow{font-size:12px}.class-card{min-height:155px;padding:18px 14px}.class-name{font-size:26px}.class-style{font-size:12px}.primary-button{font-size:12px;padding:0 17px}.intro{font-size:14px}.menu-meta{font-size:12px}.player-hud{width:145px;bottom:17px;left:10px;padding:9px}.portrait{display:none}.health-cross{display:none}.player-identity>div{gap:5px}.player-identity #class-label{font-size:12px}.actionbar{right:10px;bottom:17px;gap:4px;padding:5px}.spell-button{width:45px;height:60px}.spell-buttons{gap:4px}.dodge-button{width:40px;height:60px}.spell-name{font-size:12px}.spell-button>svg{width:20px;height:20px}.dodge-button kbd{font-size:12px;min-width:30px}.resource-meta{font-size:12px}.enemy-hud{width:44vw;left:59%}.expedition{width:127px}.expedition .tiny-label{font-size:12px}.enemy-head #enemy-percent{display:none}.depth>span:last-child{font-size:12px}.depth>#depth{font-size:28px}.enemy-head #enemy-name{font-size:17px}.enemy-head #enemy-tag{display:none}.room-map{bottom:121px}.inventory-layout{grid-template-columns:1fr}.equipment-grid{grid-template-columns:repeat(4,1fr)}.equipment-slot{min-height:70px}.equipment-slot>svg{width:18px}.equipment-slot>span{font-size:12px}.equipment-slot .equipped-name{font-size:12px}.item-list{grid-template-columns:repeat(2,1fr)}.stat-block{display:none}.route-choices{grid-template-columns:1fr}.route-card{min-height:150px}.route-card>svg{width:27px;height:27px}.panel-note{font-size:13px}.spell-loadout{grid-template-columns:1fr}.spell-loadout label{display:flex;justify-content:space-between;align-items:center;gap:10px}.spell-loadout select{max-width:200px}.toast-container{top:220px;width:220px}.interact-prompt{bottom:123px}.interact-prompt button{font-size:12px;gap:8px}}
@media(pointer:coarse){.touch-controls{display:flex;position:absolute;left:25px;right:25px;bottom:155px;justify-content:space-between;align-items:flex-end;pointer-events:none!important}.touch-controls>*{pointer-events:auto}.touch-controls #joystick{width:96px;height:96px;border:1px solid #9ead8655;border-radius:50%;background:#15231e44;touch-action:none;display:grid;place-items:center}.touch-controls #joystick>i{width:38px;height:38px;display:block;border:1px solid #b2bd9255;border-radius:50%;background:#78816c33;pointer-events:none}.touch-controls>button{width:62px;height:62px;border:1px solid #c4ad7566;border-radius:50%;display:grid;place-items:center;background:#18221be6;color:var(--gold);touch-action:none}.tactics{display:none}.spell-button{touch-action:manipulation}.interact-prompt{bottom:270px}.room-map{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.loading-bar i{width:100%}}

/* Phase 2: combat readability and progressive controls. */
#xp-number{font-size:12px;color:#b7bca5;display:block;margin-top:6px}
.enemy-vitals{display:flex;justify-content:space-between;font-size:12px;color:#c8b9a2;margin:0 6px 7px}
.enemy-head #enemy-level{font-size:12px;white-space:nowrap;color:var(--gold)}
.enemy-hud.boss{width:min(520px,47vw);padding:12px 18px;background:linear-gradient(90deg,transparent,#171218cf,transparent);border-top:1px solid #c49e5b66}
.boss .enemy-track{height:8px}.boss .enemy-track>div{background:linear-gradient(90deg,#733647,#dc9c73)}
#boss-phase{color:var(--gold)}.spell-cost{font-size:12px;color:#bcc3b4;display:block;margin-top:4px}.spell-button{height:90px}.spell-key{z-index:2}
.actionbar{max-width:calc(100vw - 34px)}.spell-buttons{min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ab955e #14211c;max-width:650px;padding-top:3px;padding-bottom:3px}
.spell-button{flex-shrink:0}.spell-button.just-unlocked{animation:unlock-glow 1.3s ease-in-out 6;border-color:#e1c386}
.targeting-hint{position:absolute;bottom:185px;left:50%;transform:translateX(-50%);font-size:13px;color:#e2d9ba;background:#0c1618e8;border:1px solid #a79b5d88;padding:9px 14px;border-radius:4px;text-align:center;max-width:80vw}
.item-portrait{position:relative;display:inline-grid;place-items:center;width:55px;height:57px;flex-shrink:0;border:1px solid var(--rarity);border-radius:7px;background:radial-gradient(ellipse at 50% 25%,color-mix(in srgb,var(--rarity) 24%,transparent),#0d1519 80%);box-shadow:inset 0 0 15px #0006;color:var(--rarity)}
.item-portrait>svg{filter:drop-shadow(0 2px 2px #000b);stroke-width:1.5}.item-gem{position:absolute;bottom:4px;right:4px;transform:rotate(45deg);width:5px;height:5px;background:var(--rarity);box-shadow:0 0 7px var(--rarity)}
.item-card{position:relative;min-width:0;outline-offset:2px;border-top:2px solid var(--rarity);background:linear-gradient(140deg,color-mix(in srgb,var(--rarity) 7%,#14201d),#101815)}
.item-card>.item-portrait{margin:5px 0 12px}.item-rarity{color:var(--rarity)!important;font-size:12px!important;letter-spacing:.07em}
.item-card h3{line-height:1.2}.item-stat-list{display:grid;gap:5px;margin:12px 0;font-size:12px;color:#a8b7a7}.item-stat-list>span{display:flex;justify-content:space-between;gap:6px}.item-stat-list b{color:#d1d8bb}
.item-actions{flex-wrap:wrap;gap:8px}.item-actions button{white-space:normal}.new-item{position:absolute;top:9px;right:9px;color:var(--rarity);font-size:12px;letter-spacing:.07em}
.inventory-controls{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}.inventory-controls label,.spell-customization label{font-size:12px;color:#b5c1ab;display:flex;align-items:center;gap:8px}
.inventory-controls select,.spell-customization select{max-width:180px;border:1px solid #64775266;border-radius:4px;background:#1b2421;color:#e0e2cf;padding:8px}
.inventory-layout{grid-template-columns:240px minmax(0,1fr)}.item-list{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-slot{overflow-wrap:anywhere}
.equipment-slot .quiet-button{font-size:12px;padding:4px 0}.item-comparison{margin-top:20px;padding:18px;border:1px solid #77978244;border-radius:5px;background:#10201c}
.comparison-names{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:12px 0;font-size:12px;color:#95a894;line-height:1.8}.comparison-names b{font-size:15px;color:#d2d5b9}
.comparison-stats{margin:10px 0}.comparison-row{display:grid;grid-template-columns:1fr 1.2fr 75px;gap:10px;font-size:12px;padding:7px 0;border-top:1px solid #85937522}
.positive{color:#99d4a5}.negative{color:#ef9a91}.neutral{color:#a7b3a1}.comparison-effect{font-size:12px;line-height:1.7;color:#abbda4;margin-top:8px}
.pending-loot{display:flex;gap:15px;align-items:center;border:1px solid #b79858;padding:12px;margin-bottom:20px;color:#dbcca6;line-height:1.8;font-size:14px}
.spell-loadout{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.spell-customization{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.spell-customization select{max-width:170px;font-size:12px}.codex-subtitle{font-size:31px;margin:25px 0 15px}
.journal-list{display:grid;gap:9px}.journal-entry{display:grid;grid-template-columns:100px 110px 100px 1fr;gap:12px;padding:13px 15px;border-left:2px solid var(--rarity);background:#14211e;font-size:13px;align-items:center}
.journal-entry strong{color:#e1c489}.journal-depth{color:#a8bca9}.journal-item{color:var(--rarity)}.journal-entry>b{color:#b3d89f}
.reward-summary{position:fixed;z-index:9;right:100px;top:35%;width:300px;background:linear-gradient(130deg,#19221af2,#10181af2);border:1px solid color-mix(in srgb,var(--rarity) 60%,#244037);border-left:3px solid var(--rarity);border-radius:5px;padding:18px 20px;pointer-events:none;box-shadow:0 10px 45px #0006;animation:reward-enter .4s ease-out}
.reward-gold{font-size:26px;color:#f0d494;margin:12px 0 15px;display:flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums}.reward-gold small{font-size:12px;color:#b7b69a}
.reward-item{display:flex;gap:12px;align-items:center;font:22px/1.2 var(--serif);color:var(--rarity)}.reward-item .item-portrait{width:45px;height:46px}.reward-item small{display:block;font:12px var(--sans);margin-top:5px;opacity:.8}
.reward-xp{margin-top:14px;font-size:14px;color:#c1d3af}.reward-progress{font-size:12px;color:#a2b399;margin-top:8px}
.reward-summary.rarity-3,.reward-summary.rarity-4,.reward-summary.rarity-5{box-shadow:0 0 28px color-mix(in srgb,var(--rarity) 18%,transparent),0 10px 45px #0008}
.reward-summary.boss-reward{border-top:2px solid #e0bf7e}.gold-pulse{animation:coin-pulse .8s ease-out}.float-number.critical{color:#ffe1a1;font-size:29px;text-shadow:0 0 7px #ffc15666}.float-number.heal{color:#9be1ad}
@keyframes coin-pulse{30%{color:#fff0b0;text-shadow:0 0 20px #d9bc70;transform:scale(1.25)}}
@keyframes reward-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes unlock-glow{50%{box-shadow:0 0 18px #d9bc7055}}
@media(min-width:1101px){.actionbar{left:50%;bottom:45px}.spell-button{width:68px}.player-hud{bottom:165px;width:220px}.tactics{bottom:345px}}
@media(min-width:801px) and (max-width:1100px){.actionbar{left:50%;bottom:25px}.spell-button{width:61px}.player-hud{bottom:145px}.tactics{bottom:310px}}
@media(max-width:800px){.actionbar{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:max-content;max-width:calc(100vw - 20px);padding:5px}.spell-buttons{max-width:calc(100vw - 92px);gap:5px}.spell-button{width:48px;height:68px}.dodge-button{height:68px}.player-hud{bottom:108px}.tactics{display:none}.spell-cost{font-size:12px}.spell-name{font-size:12px}.spell-key{font-size:12px}.room-map{bottom:200px}.targeting-hint{bottom:197px;font-size:12px;width:85vw}.enemy-hud.boss{width:48vw;padding:5px;left:57%}.enemy-vitals{font-size:12px;gap:7px}.enemy-head #enemy-level{font-size:12px}.enemy-head #enemy-name{font-size:16px}.reward-summary{right:12px;top:245px;width:225px;padding:12px}.reward-gold{font-size:23px}.reward-gold small{font-size:12px}.reward-item{font-size:18px}.inventory-layout{grid-template-columns:1fr}.equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.item-list{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-row{grid-template-columns:1fr 1fr 58px;font-size:12px;gap:6px}.journal-entry{grid-template-columns:1fr 1fr;gap:8px}.journal-item{grid-column:1/-1}.spell-loadout{grid-template-columns:repeat(2,minmax(0,1fr))}.spell-loadout label{display:grid}.spell-loadout select{width:100%;max-width:none}.toast-container{top:75%;max-height:160px}.toast{max-height:110px;overflow:auto}.stat-block{display:block}}
@media(pointer:coarse){.touch-controls{bottom:230px}.interact-prompt{bottom:335px}}
@media(prefers-reduced-motion:reduce){.reward-summary,.gold-pulse,.spell-button.just-unlocked{animation:none!important}}
.inventory-bag{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;align-items:start}
.inventory-bag .item-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.inventory-bag .item-comparison{margin-top:0;position:sticky;top:0;padding:14px}
.inventory-bag .comparison-names{grid-template-columns:1fr;gap:8px}
.inventory-bag .comparison-row{grid-template-columns:1fr 62px;gap:4px}
.inventory-bag .comparison-row>span:first-child{grid-column:1/-1;color:#c3cfb9}
.inventory-bag .item-comparison>p{font-size:12px;line-height:1.6}
@media(max-width:1100px){.inventory-bag{grid-template-columns:1fr}.inventory-bag .item-comparison{position:static;grid-row:1}.inventory-bag .comparison-names{grid-template-columns:1fr 1fr}.inventory-bag .comparison-row{grid-template-columns:1fr 1fr 62px}.inventory-bag .comparison-row>span:first-child{grid-column:auto}}

/* 0.3: readable tactical HUD and actionable loot. */
:root{--text:#f0eddc;--muted:#becab9}
body{font-size:16px}button,select,input{font-family:var(--sans)}
button:focus-visible,select:focus-visible{outline:2px solid #e9c778;outline-offset:3px}
.tiny-label,.eyebrow,.class-style,.section-heading,.menu-meta,.edition,.top-status{font-size:12px;letter-spacing:.08em;color:#c3cdb8}
.expedition{width:260px}.expedition p#objective{font-size:14px;line-height:1.6}.hero-level{font-size:15px}#xp-number{font-size:13px}
.tactics{width:260px;bottom:390px}.tactics p{font-size:15px;line-height:1.6;color:#cad2c0}.tactics h3{font-size:26px}.combat-note{font-size:14px;color:#f2d99c}
.player-hud{width:260px;bottom:185px}.player-identity #class-label{font-size:12px}.player-identity small{font-size:21px}.resource-meta{font-size:12px;color:#c5d5c9}
.enemy-hud,.enemy-hud.boss{width:min(650px,48vw)}.enemy-head #enemy-name{font-size:26px}.enemy-state{font-size:13px;line-height:1.4;color:#cbd5c7}.enemy-vitals,.enemy-head #enemy-level{font-size:14px;color:#e6d4b0}
.enemy-head #enemy-tag{font-size:12px}.enemy-track{height:7px}.health-track{height:7px}.resource-track{height:5px}
.actionbar{bottom:42px;gap:10px;max-width:calc(100vw - 32px);padding:9px;background:#0c1717f2;border-color:#8d9d7177}
.spell-buttons{max-width:760px;gap:8px}.spell-button{width:88px;height:112px}.spell-name{font-size:13px;line-height:1.3;max-width:84px;color:#eee9d0}.spell-cost{font-size:12px;color:#d3dccb}.spell-key{font-size:14px;color:#fae6ad}
.spell-button>svg{width:27px;height:27px}.dodge-button{width:75px;height:112px}.dodge-button kbd,.dodge-button>span{font-size:12px}.control-legend{font-size:12px;bottom:14px;gap:22px;color:#bccab9}.control-legend kbd{font-size:11px}
.item-list .item-rarity{font-size:13px!important}.item-card p,.item-card .item-effect,.item-stat-list,.comparison-effect{font-size:14px}.item-card h3{font-size:23px}.item-actions button{font-size:14px;padding:10px 8px;min-height:40px}
.comparison-row,.inventory-bag .item-comparison>p,.inventory-controls label,.spell-customization label,.comparison-names{font-size:14px}.comparison-names b{font-size:17px}.equipment-slot>span,.equipment-slot .equipped-name{font-size:13px}.equipment-slot{padding-top:23px;min-height:128px}.equipment-slot>small{font-size:12px}.equipment-slot .quiet-button{font-size:12px}
.panel-note,.help-grid p,.settings-detail,.spell-detail p,.route-card p,.relic-card p,.codex-card p{font-size:16px;color:#c3cebb;line-height:1.7}.small-button,.quiet-button,.secondary-button,.setting-row,.setting-row select{font-size:14px}
.reward-summary{pointer-events:auto;width:380px;right:96px;top:24%;max-height:65dvh;overflow:auto;padding:20px;background:#111d1bfa;scrollbar-width:thin}
.reward-item{font-size:24px}.reward-item small,.reward-progress,.reward-gold small{font-size:13px}.reward-xp{font-size:16px}.reward-gold{font-size:28px}
.loot-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.loot-actions button{min-height:42px;font-size:15px;flex:1;padding:10px;white-space:normal}
.loot-compare{margin-top:18px;border-top:1px solid #84977755;padding-top:12px}.loot-compare .comparison-names{grid-template-columns:1fr 1fr}.loot-compare .comparison-row{grid-template-columns:1fr 85px;font-size:13px;gap:6px}.loot-compare .comparison-row>span:first-child{grid-column:1/-1}.loot-compare .comparison-effect{font-size:13px}.loot-confirm{margin-top:12px;padding:12px;border:1px solid #cb9865;border-radius:4px}.loot-confirm p{font-size:15px;line-height:1.5}.loot-result{font-size:16px;color:#d4e7b9;flex:1}.new-item{font-size:12px}
.toast small{font-size:14px;line-height:1.5}.toast-container{width:335px}.room-map>span{font-size:12px}.float-number{font-size:28px}.float-number.hurt{font-size:30px}
@media(max-width:1300px){.tactics{display:none}.expedition{width:220px}.enemy-hud,.enemy-hud.boss{left:53%;width:45vw}.spell-button{width:78px}.spell-name{font-size:12px;max-width:74px}.spell-buttons{max-width:650px}.reward-summary{right:72px;width:350px}.player-hud{width:235px}.control-legend{gap:14px}.room-map{bottom:180px}}
@media(max-width:800px){
 .edition,.room-heading,.control-legend{display:none}.top-status{font-size:12px}.topbar{height:64px}.wordmark{font-size:24px}.top-status #save-status{display:none}
 .enemy-hud,.enemy-hud.boss{top:78px;left:12px;right:60px;transform:none;width:auto;padding:8px 10px;background:#111c19e8}.enemy-head{gap:8px;flex-wrap:wrap}.enemy-head #enemy-name{font-size:21px;white-space:normal;flex:1}.enemy-head #enemy-level{font-size:12px}.enemy-head #enemy-tag{font-size:11px}.enemy-state,.enemy-vitals{font-size:12px}.enemy-state #adaptive-hint{display:none}
 .expedition{top:210px;left:12px;width:155px;padding:12px}.expedition .tiny-label{font-size:12px}.depth>#depth{font-size:30px}.depth>span:last-child{font-size:11px}.expedition p#objective{font-size:12px}.hero-level,#xp-number{font-size:12px}.expedition-divider{margin:8px 0}.room-map{display:none}
 .player-hud{left:12px;bottom:150px;width:190px;padding:12px}.player-identity #class-label{font-size:12px}.player-identity small{font-size:19px}.resource-meta{font-size:11px}.portrait{display:none}
 .actionbar{bottom:16px;left:50%;transform:translateX(-50%);padding:6px;gap:6px;max-width:calc(100vw - 16px)}.spell-buttons{max-width:calc(100vw - 102px);gap:6px}.spell-button{width:78px;height:108px}.spell-name{font-size:12px;max-width:74px}.spell-cost{font-size:12px}.spell-key{font-size:14px}.dodge-button{width:64px;height:108px}.dodge-button kbd{font-size:11px}.dodge-button>span{font-size:12px}
 .targeting-hint{bottom:310px;font-size:14px}.interact-prompt{bottom:225px}.interact-prompt button{font-size:13px}
 .reward-summary{right:12px;top:205px;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 350px);padding:16px}.reward-item{font-size:22px}.reward-xp{font-size:15px}.loot-compare .comparison-row{font-size:13px}.loot-compare .comparison-names{font-size:13px}
 .toast-container{top:auto;bottom:310px;right:12px;width:min(320px,calc(100vw - 24px));max-height:170px}
 .inventory-layout,.inventory-bag{grid-template-columns:1fr}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-list,.inventory-bag .item-list{grid-template-columns:1fr}.spell-loadout,.spell-library{grid-template-columns:1fr}.comparison-row{font-size:14px}.item-card{padding:16px}.inventory-controls select{font-size:14px}.panel-header .tiny-label{font-size:12px}
}
@media(pointer:coarse){.touch-controls{bottom:180px}.player-hud{bottom:295px}.interact-prompt{bottom:285px}.expedition{max-width:150px}}

.reward-summary{z-index:25}.reward-gold.recovered{font-size:16px;line-height:1.5;color:#c5d5ba}.loot-note{font-size:13px;color:#d2c39e;line-height:1.5;margin-top:12px}
