:root{font-family:Inter,system-ui,sans-serif;color:#eff9f3;background:#0a1418;color-scheme:dark;--lime:#baff60;--muted:#9aafb0}*{box-sizing:border-box}body{margin:0}button,a,select,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #baff60;outline-offset:3px}[hidden]{display:none!important}#game-shell{position:relative;min-height:100svh;isolation:isolate}#world{display:block;position:fixed;inset:0;width:100%;height:100dvh;outline:none;touch-action:none;z-index:-2}body:not(.playing) #world{filter:blur(3px) brightness(.38)}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 30px;border-bottom:1px solid #caffdd18;background:#071117b3}.topbar>a{font-size:12px;color:#b6c9c7}.topbar strong{font-size:12px;letter-spacing:2px}.topbar strong span{color:var(--lime);margin-left:8px}.topbar>div{display:flex;gap:7px}.topbar button{border:1px solid #a9d7c02c;color:#cfdddb;background:#12232acb;border-radius:7px;padding:9px 12px;font-size:11px}.screen{position:relative;max-width:1340px;padding:65px 48px 40px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--lime);font-weight:800}.lobby-copy h1{font-size:clamp(48px,6.5vw,88px);line-height:.93;letter-spacing:-5px;margin:24px 0;font-weight:950}.lobby-copy h1 em{font-style:normal;color:var(--lime);font-size:.78em}.lead{font-size:24px;line-height:1.4;color:#e2eae6}.feature-line{display:flex;gap:10px;margin:30px 0}.feature-line span{font-size:11px;color:#d6e6df;padding:9px 11px;border:1px solid #c1ffbd30;border-radius:6px}.fine,.hint{font-size:11px;line-height:1.7;color:var(--muted)}.subtle{font-size:12px;color:#b8dbbb;display:inline-block;margin-top:12px}.lobby-panel,.modal-card,.draft-card{border:1px solid #b4d3c331;background:linear-gradient(140deg,#1a2b2ce8,#0c161cf2);box-shadow:0 18px 80px #0008;border-radius:16px;padding:28px;backdrop-filter:blur(20px)}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{font-size:25px;letter-spacing:-1px;margin:8px 0 18px}#rank{color:var(--lime);font-size:11px;letter-spacing:1px}.career-stats{display:flex;gap:20px;padding:0 0 15px;margin:0 0 18px;border-bottom:1px solid #c1ffbd19;font-size:12px;color:#b7cac5}.career-stats b{color:#eef9f5}.lobby-panel>label,.two-col label{display:grid;gap:7px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#a9bfba;margin:14px 0}select{width:100%;min-height:44px;border:1px solid #c1ffbd30;border-radius:8px;background:#0a161c;color:#eff9f3;padding:10px 12px;font-size:12px;text-transform:none;letter-spacing:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings{display:flex;gap:15px;font-size:11px;color:#a9bfba;margin:15px 0 20px}.settings label{display:flex;align-items:center;gap:5px}.settings input{accent-color:var(--lime)}.primary,.secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:47px;border:0;border-radius:8px;padding:12px;font-weight:800;font-size:13px}.primary{background:var(--lime);color:#152115;box-shadow:0 5px 24px #aaff2520}.secondary{background:#20322f;color:#d5e6df;border:1px solid #baff6026;margin-top:10px}#loading{width:100%;height:4px;accent-color:var(--lime);margin-top:12px}#load-status{font-size:11px;color:#b4c8c0;min-height:17px}details{border-top:1px solid #b4d3c320;margin-top:16px;padding-top:15px;font-size:12px;color:#a9c1b9}summary{cursor:pointer;color:#dbebdf}details p{line-height:1.7}.contracts{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:30px;border-top:1px solid #b4d3c320;padding-top:28px}.contracts h2{font-size:22px;margin:8px 0}#contracts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.contract{padding:12px;background:#11242bd9;border:1px solid #c2e8ce1c;border-radius:8px}.contract b{font-size:11px;display:block}.contract small{font-size:10px;color:#93a8a7;line-height:1.5;display:block;margin-top:6px}.contract.done{border-color:#baff6060}.contract.done b{color:var(--lime)}
body.playing{overflow:hidden}body.playing .topbar{padding:10px 18px;background:linear-gradient(#05121ae8,#07111700);border:0}body.playing .topbar>a{display:none}body.playing .topbar strong{font-size:10px}#hud{pointer-events:none;position:fixed;inset:65px 24px auto;display:grid;grid-template-columns:190px 1fr 160px;gap:24px;text-shadow:0 2px 8px #000}.vitals{background:linear-gradient(110deg,#07141de8,#07141d22);padding:12px 15px;border-left:2px solid var(--lime)}.vitals>span{font-size:9px;letter-spacing:2px;color:#bfe19e}.vitals strong{display:block;font-size:28px;letter-spacing:-1px;line-height:1.5}.vitals small{font-size:11px;letter-spacing:1px;color:#a1bbb1}.bar{height:5px;background:#09171ed9;overflow:hidden;border-radius:5px}.bar i{display:block;height:100%;background:var(--lime);transition:width .15s}.mission{text-align:center;display:grid;gap:6px;align-content:start;padding-top:8px}.mission>span{font-size:10px;color:#baff60;letter-spacing:2px}.mission strong{font-size:17px;line-height:1.2}.mission small{font-size:11px;color:#d4e5df}.run-stats{text-align:right;display:grid;gap:5px;align-content:start;padding:12px 0}.run-stats strong{font-size:23px}.run-stats span{font-size:10px;letter-spacing:1px}.xp{grid-column:1/-1;display:flex;gap:12px;align-items:center;font-size:9px;letter-spacing:1px}.xp .bar{flex:1;height:4px}.xp .bar i{background:#7cdcff}.xp>span:last-child{max-width:230px;color:#bdd8e8}#toast{position:fixed;top:35%;left:50%;transform:translateX(-50%);background:#05151ecb;padding:10px 18px;border:1px solid #aaff6660;border-radius:8px;font-size:13px;font-weight:700;pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}#loadout-strip{position:fixed;left:24px;bottom:25px;display:flex;gap:5px;max-width:40vw;flex-wrap:wrap;pointer-events:none}#loadout-strip span{background:#0a1e25d9;border:1px solid #beddb633;padding:5px 7px;border-radius:4px;font-size:9px;color:#bddebb}#keyboard-help{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#b9d1cd;background:#071820bb;padding:10px;border-radius:6px}#keyboard-help span{margin-left:16px}.modal{position:fixed;inset:0;z-index:10;background:#061016a8;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.modal-card{max-width:460px;width:100%;text-align:center}.modal h2{font-size:30px;letter-spacing:-1px;margin:14px 0}.modal p{font-size:13px;color:#bfd1cc;line-height:1.6}.draft-card{max-width:920px;text-align:center}.draft-card>p{font-size:12px}#choices{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:24px 0}#choices button{color:#e6f5ec;background:linear-gradient(140deg,#2b4141,#122730);border:1px solid #aaff4d50;border-radius:10px;padding:24px 20px;text-align:left;min-height:180px;transition:transform .15s,border-color .15s}#choices button:hover{transform:translateY(-5px);border-color:#c8ff6d}#choices small{font-size:9px;letter-spacing:1.5px;color:var(--lime)}#choices b{display:block;font-size:19px;margin:16px 0 12px}#choices span{font-size:12px;line-height:1.6;color:#b6cfca}#reroll{max-width:220px;margin:0 auto}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.result-stats div{padding:16px;background:#08181da8;border-radius:7px}.result-stats b{font-size:24px;display:block;color:var(--lime)}.result-stats small{font-size:10px;text-transform:uppercase;color:#a9bfba}#touch{position:fixed;inset:0;pointer-events:none}#stick{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:30px;width:125px;height:125px;border:1px solid #e4ffe338;border-radius:50%;background:radial-gradient(circle,#8cd1ba10,#0b1c2944);pointer-events:auto;touch-action:none}#knob{position:absolute;width:52px;height:52px;border-radius:50%;left:36px;top:36px;border:1px solid #c4eeff82;background:#52777673}#stick small{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-size:8px;color:#b5dbd1;letter-spacing:2px}.abilities{position:absolute;right:25px;bottom:max(33px,env(safe-area-inset-bottom));display:flex;gap:16px;align-items:end}.abilities button{pointer-events:auto;touch-action:none;border-radius:50%;width:76px;height:76px;border:1px solid #baff6070;background:#102a30c7;color:#baff60;display:grid;align-content:center;gap:4px}.abilities button:last-child{width:90px;height:90px}.abilities b{font-size:28px;line-height:1}.abilities span{font-size:9px;letter-spacing:1px}.abilities .held{background:#46693d}.abilities button:disabled{cursor:default}
@media(max-width:800px){.screen{padding:30px 18px;gap:24px}.lobby-copy h1{font-size:50px;letter-spacing:-3px}.lead{font-size:19px}.lobby-panel{padding:21px}.contracts{grid-template-columns:1fr}.contracts>div:first-child{display:none}#contracts{grid-template-columns:repeat(4,1fr)}.topbar{padding:12px 16px}.topbar strong{display:none}#hud{inset:57px 14px auto;grid-template-columns:120px 1fr 85px;gap:12px}.vitals{padding:7px 10px}.vitals strong{font-size:23px}.mission strong{font-size:13px}.mission small{font-size:10px}.run-stats strong{font-size:19px}.run-stats span{font-size:8px}.xp{gap:8px}.xp>span:last-child{display:none}#loadout-strip{bottom:165px;left:18px;max-width:70vw}#keyboard-help{display:none!important}.modal h2{font-size:25px}#choices button{padding:14px;min-height:150px}#choices b{font-size:15px;margin:12px 0 9px}#choices span{font-size:11px}}
@media(max-width:560px){.screen{grid-template-columns:1fr}.lobby-copy{padding:15px 8px}.lobby-copy h1{font-size:57px;margin:16px 0}.lead{font-size:19px}.feature-line{margin:18px 0}.lobby-copy .fine,.lobby-copy .subtle{display:none}#contracts{grid-template-columns:1fr 1fr}.contracts{gap:12px}.lobby-panel{padding:22px}.topbar>div{gap:4px}.topbar button{font-size:10px;padding:8px}#hud{grid-template-columns:92px 1fr 65px;gap:8px;inset:58px 10px auto}.mission strong{font-size:12px}.mission small{font-size:9px}.vitals>span{font-size:8px;letter-spacing:1px}.vitals strong{font-size:20px}.vitals small{font-size:8px}.run-stats strong{font-size:16px}.xp{font-size:8px;gap:7px}#stick{width:114px;height:114px;left:18px}#knob{left:30px;top:30px}.abilities{right:15px;gap:10px}.abilities button{width:63px;height:63px}.abilities button:last-child{width:76px;height:76px}#choices{grid-template-columns:1fr;gap:8px;margin:16px 0}#choices button{min-height:0;padding:13px 15px}#choices b{margin:7px 0 5px}.draft-card{padding:20px}.draft-card>p{font-size:10px;margin:7px 0}.modal{padding:12px}.modal h2{font-size:23px}}
@media(max-height:520px) and (min-width:561px){.screen{padding:20px 30px}.topbar{padding:8px 15px}body.playing .topbar{padding:6px 12px}#hud{top:43px;grid-template-columns:120px 1fr 100px;gap:6px}.vitals{padding:4px 8px}.vitals strong{font-size:20px;line-height:1.25}.mission{padding-top:4px;gap:4px}.xp{margin-top:2px}.run-stats{padding:4px 0;gap:2px}#stick{width:100px;height:100px;bottom:15px;left:24px}#knob{width:42px;height:42px;left:28px;top:28px}.abilities{bottom:20px;right:24px}.abilities button{width:61px;height:61px}.abilities button:last-child{width:72px;height:72px}#loadout-strip{bottom:18px;left:145px;max-width:40vw}.modal{padding:10px}.draft-card{padding:17px 22px}.modal h2{font-size:23px;margin:8px 0}.modal p{margin:7px 0;font-size:11px}#choices{margin:14px 0}#choices button{min-height:124px;padding:14px}.modal-card{padding:20px;max-width:460px}.modal .primary,.modal .secondary{min-height:37px;padding:9px}.result-stats{margin:10px 0}.result-stats div{padding:8px}.result-stats b{font-size:20px}}
#boss-health{position:fixed;top:205px;left:50%;transform:translateX(-50%);width:min(340px,50vw);text-align:center;pointer-events:none;background:#06131cbc;border-radius:6px;padding:8px 12px}#boss-health span{font-size:9px;color:#ffb1a9;letter-spacing:2px;display:block;margin-bottom:6px}#boss-fill{background:#ff685b}body:not(.playing) #boss-health{display:none}@media(max-height:520px){#boss-health{top:128px;padding:5px 8px;width:230px}#boss-health span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}#choices button:hover{transform:none}}
