/* v110: charcoal surfaces, clear type hierarchy and restrained brass accents. */
:root{--ui-surface:#101820;--ui-edge:#d2b47638;--ui-text:#eee9de;--ui-muted:#a5afb6}
.overlay{background:linear-gradient(145deg,#081018f2,#0e1721ed);color:var(--ui-text)}
.overlay .eyebrow{color:#cbb17c;letter-spacing:.16em;font-size:12px}
.overlay h2{font-weight:600;letter-spacing:-.02em;color:#f1eadc}
.overlay button{border-radius:5px;transition:background .18s,border-color .18s,box-shadow .18s}
.overlay .primary{background:linear-gradient(135deg,#ead5a6,#bd9458);color:#201a12;border:1px solid #ead5a6;box-shadow:0 4px 16px #0005;font-weight:650;min-height:44px}
.overlay .primary:hover:not(:disabled){background:linear-gradient(135deg,#f3e2bb,#d0a96b);box-shadow:0 4px 22px #ba94582b}
.overlay .primary:disabled{opacity:.5;box-shadow:none}
.overlay .secondary{background:#16212bbf;border:1px solid #a7b8c33d;color:#d7dfe1;box-shadow:none;min-height:44px}
.overlay button:focus-visible{outline:2px solid #e4c78f;outline-offset:3px}
.start-screen:not(.lobby-screen){width:min(620px,92%);padding:24px;border:1px solid var(--ui-edge);border-radius:8px;background:linear-gradient(145deg,#18222bf2,#0c131bea);box-shadow:0 20px 70px #0007;max-height:calc(100% - 24px);overflow:auto}
.start-screen:not(.lobby-screen) p{display:block;color:#b9c3c8;line-height:1.6;font-size:14px;margin:12px 0 20px}
.start-screen:not(.lobby-screen) h2{font-size:clamp(19px,2vw,27px);margin:10px 0}
.start-screen:not(.lobby-screen) .primary{padding:10px 24px}
.guide-scroll{padding-right:8px;scrollbar-width:thin}.guide-scroll section{border-bottom:1px solid #b7a47725;padding-bottom:12px;margin-bottom:14px}.guide-scroll h3{color:#dbc598;font-size:16px}
.choice-screen,.shop-screen,.library-screen{padding:20px;color:var(--ui-text);scrollbar-width:thin;overscroll-behavior:contain}
.choice,.shop-card,.library-skill,.relic-vault-card{border:1px solid #8395a332;background:linear-gradient(150deg,#1c2832df,#101922f2);border-radius:7px;box-shadow:0 3px 10px #0003}
.choice:hover:not(:disabled),.shop-card:hover:not(:disabled),.library-skill:hover:not(:disabled),.relic-vault-card:hover:not(:disabled){background:linear-gradient(150deg,#293946,#18232de8);border-color:#c9b37f88}
.choice.reward-selected{border-color:#e4c78f;box-shadow:inset 0 0 0 1px #e4c78f55,0 5px 18px #0005;background:linear-gradient(150deg,#303329,#151f28)}
.choice>b,.shop-card>b,.library-skill>b,.relic-vault-card b{font-weight:650;letter-spacing:-.02em}
.choice small,.shop-card small,.library-skill p,.relic-vault-card p{line-height:1.55;color:#bcc7ce}
.library-top,.shop-head{padding-bottom:14px;border-bottom:1px solid var(--ui-edge);margin-bottom:16px}
.library-top h2,.shop-head h2{margin:3px 0 7px}.library-top p,.shop-head p{color:var(--ui-muted);line-height:1.5}
.active-section>h3,.passive-section>h3,.relic-loadout>h3{font-size:16px;color:#deca9f;letter-spacing:.02em}
.relic-slot{border-radius:6px;background:#0d1720;border-color:#8395a335}.relic-slot.filled{background:#1c2931}.relic-vault-card.active{border-color:#b8c99a88;box-shadow:inset 0 0 0 1px #b8c99a22}
.reward-controls{background:#101923f5;border-top:1px solid var(--ui-edge);box-shadow:0 -8px 22px #08101880;border-radius:6px;padding:10px;gap:12px}
.shop-wallet{border:1px solid #c7aa7133;border-radius:6px;background:#bd94580b;padding:10px 16px}.shop-route{border-radius:6px;background:#14222e;border-color:#8395a330}.shop-card.sold{opacity:.5;filter:saturate(.45)}
.side-tabs button{border-radius:4px 4px 0 0}.side-tabs .selected{background:#c9ad7914;border-bottom:2px solid #c9ad79}.side-panel .aside-heading{color:#dac49a}
#toast{font-size:14px;line-height:1.45;background:#0c141eea;border:1px solid #b89d6844;border-radius:6px;padding:9px 15px;box-shadow:0 5px 22px #0006;max-width:min(620px,90%);overflow-wrap:anywhere;white-space:normal}
#tutorialHint{border-radius:7px;border-color:#bca77866;background:linear-gradient(135deg,#192631fc,#101a24fc);box-shadow:0 6px 25px #0005}#tutorialHint small{letter-spacing:.06em}#tutorialHint h3{color:#ebd6ac}#tutorialHint p{color:#e7efec}
.overlay.lobby-overlay{padding:0;background:#091018}
.lobby-screen{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 280px;align-items:center;gap:42px;width:100%;height:100%;padding:clamp(24px,5vw,70px);overflow:auto;background:#091018}
.lobby-backdrop,.lobby-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.lobby-backdrop{object-fit:cover;object-position:58% 50%;filter:saturate(.65) brightness(.68)}
.lobby-shade{background:linear-gradient(90deg,#08111aeb 0,#0910196b 55%,#091019e6),linear-gradient(0deg,#080e16c9,transparent 50%)}
.lobby-brand{min-width:0}.lobby-kicker{display:inline-block;padding:0 0 12px;border-bottom:1px solid #d3b17770;font-size:14px;color:#d0b682;letter-spacing:.4em}
.lobby-brand h1{font:700 clamp(40px,5.6vw,82px)/.92 Cinzel,Georgia,serif;letter-spacing:.035em;color:#f4e6c8;text-shadow:0 3px 30px #000b;margin:23px 0 22px;background:none;-webkit-text-fill-color:initial}
.lobby-brand p{font-size:15px;line-height:1.7;color:#b9c5cb;margin:0;letter-spacing:.025em}
.lobby-menu{display:flex;flex-direction:column;gap:10px;margin:0;padding:22px 0 22px 24px;border-left:1px solid #d0b2784d;min-width:0}
.lobby-menu button{width:100%;padding:13px 18px;text-align:left;font-size:15px;min-height:48px;margin:0;border-radius:5px}
.lobby-menu .lobby-start{font-size:18px;letter-spacing:.03em;margin-bottom:8px;min-height:58px}
.lobby-menu .lobby-records{border:0;border-top:1px solid #bec8ca2b;border-radius:0;color:#aebec7;background:transparent;margin-top:7px;font-size:13px;box-shadow:none}
.lobby-menu .lobby-records:hover{color:#ead8af;background:#d0b2780a}
.lobby-mobile-note{font-size:12px;line-height:1.4;color:#a6b5bc;padding:0 3px}.lobby-mobile-note[hidden]{display:none}
.lobby-menu #tutorialReplay{display:block;margin:0;min-height:48px;padding:13px 18px}
@media (max-width:800px){.choice-screen,.shop-screen,.library-screen{padding:12px}.start-screen:not(.lobby-screen){padding:18px}.lobby-screen{grid-template-columns:1fr;gap:24px;padding:30px 26px;align-content:center}.lobby-brand h1{font-size:54px}.lobby-menu{width:100%;max-width:380px;border-left:0;border-top:1px solid #d0b2784d;padding:18px 0 0}.lobby-brand p{font-size:14px}.choice small,.shop-card small,.library-skill p,.relic-vault-card p{font-size:12px}.reward-controls{padding:7px;gap:8px}}
@media (max-height:500px){.lobby-screen{grid-template-columns:minmax(0,1fr) minmax(210px,260px);gap:28px;padding:18px 30px;align-content:center}.lobby-brand h1{font-size:clamp(34px,6vw,52px);margin:14px 0}.lobby-kicker{font-size:12px;padding-bottom:8px}.lobby-brand p{font-size:13px;line-height:1.5}.lobby-menu{border-left:1px solid #d0b2784d;border-top:0;padding:0 0 0 20px;gap:7px}.lobby-menu button,.lobby-menu #tutorialReplay{min-height:40px;padding:8px 13px;font-size:14px}.lobby-menu .lobby-start{min-height:46px;font-size:16px;margin-bottom:3px}.lobby-menu .lobby-records{margin-top:3px;min-height:32px;font-size:12px}.lobby-mobile-note{font-size:11px}.start-screen:not(.lobby-screen){padding:15px;max-height:calc(100% - 16px)}.start-screen:not(.lobby-screen) p{font-size:13px;margin:8px 0 14px}.start-screen:not(.lobby-screen) h2{font-size:19px}.choice-screen,.shop-screen,.library-screen{padding:10px}.library-top,.shop-head{padding-bottom:8px;margin-bottom:10px}.reward-controls{padding:5px}}
@media (max-width:560px) and (max-height:500px){.lobby-screen{grid-template-columns:minmax(0,1fr) minmax(170px,210px);gap:18px;padding:16px}.lobby-menu{padding-left:14px}.lobby-brand h1{font-size:36px}.lobby-brand p{font-size:12px}}
@media (prefers-reduced-motion:reduce){.overlay button{transition:none}}
/* Match permanent HUD and equipment controls to the modal surfaces. */
.workspace{border-color:#8395a333}.loadout{border-color:#8395a333;background:linear-gradient(180deg,#111c24,#0e161d)}
header nav button{border-radius:5px;color:#b9c5cc}header nav button:hover{background:#d0b2780d;color:#ead8af}
#inspector{background:linear-gradient(160deg,#17212a,#101920);border-left-color:#8395a333}.progress>div.current{background:#d0b2780a;border-color:#b99a5d66}.progress>div.current>span{color:#dcc18e}
.weapon,.skill,.specials>button{border-radius:5px;background:linear-gradient(150deg,#1b2730,#111a22);border-color:#8395a335}.weapon.active{border-color:#c7aa7188;box-shadow:inset 0 -2px #c8ac69}.skill:not(.locked):hover{border-color:#d5ba82;box-shadow:0 3px 12px #0004}.specials>button small{color:#aebcc4}
.mobile-tools button,.touch-actions button{border-radius:7px;background:linear-gradient(145deg,#22313cbb,#101d27dd);border-color:#b7c6ce55}.touch-actions button.pressed{background:#384737dc;border-color:#e2c997}.touch-actions .touch-basic button{box-shadow:0 3px 12px #0005}
.pause-tools{gap:10px}.pause-tools button{flex:1;min-height:44px}
