:root{--cy:#5fe9ff;--cy2:rgba(95,233,255,.18);--bg:rgba(8,14,20,.72);--fg:#dfeff5;--dim:#7fa3b3;--warn:#ffb347;--bad:#ff5e5e;--mono:"Consolas","JetBrains Mono","Roboto Mono",monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;font-family:var(--mono);color:var(--fg);font-size:12px;letter-spacing:.03em}#view{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.panel{position:fixed;background:var(--bg);border:1px solid rgba(95,233,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.panel:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--cy),transparent)}#topbar{left:12px;right:12px;top:12px;height:44px;display:flex;align-items:center;gap:14px;padding:0 14px}.brand{color:var(--cy);font-weight:700;letter-spacing:.2em}.name{background:transparent;border:0;border-bottom:1px solid rgba(95,233,255,.35);color:var(--fg);font:inherit;font-size:14px;width:180px;padding:4px 2px;outline:0}.spacer{flex:1}.lbl{color:var(--dim);margin-right:6px}button{background:transparent;border:1px solid rgba(95,233,255,.4);color:var(--cy);font:inherit;padding:5px 9px;cursor:pointer;letter-spacing:.08em}button:hover{background:var(--cy2)}button.active{background:var(--cy);color:#06202a}#left{left:12px;top:66px;bottom:52px;width:300px;overflow:auto;padding:0 0 10px}#right{right:12px;top:66px;width:280px;max-height:60%;overflow:auto}.section{padding:12px 14px;border-bottom:1px solid rgba(95,233,255,.15)}.h{color:var(--cy);letter-spacing:.2em;font-size:11px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}.h .hint{color:var(--dim);letter-spacing:0;font-size:10px}.row{display:grid;grid-template-columns:60px 36px 1fr;align-items:center;gap:8px;margin:7px 0}.row .val{color:var(--cy);text-align:right}.row select{grid-column:2/4;background:#0b1a22;color:var(--fg);border:1px solid rgba(95,233,255,.3);font:inherit;padding:4px}.row .swatches{grid-column:2/4;display:flex;gap:5px;flex-wrap:wrap}.sw{width:20px;height:20px;border:1px solid rgba(255,255,255,.25);cursor:pointer}.sw.active{outline:2px solid var(--cy)}input[type=range]{width:100%;accent-color:var(--cy)}.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.parts{max-height:38vh;overflow:auto}#presetSelect{background:#0b1a22;color:var(--cy);border:1px solid rgba(95,233,255,.4);font:inherit;padding:5px 8px;letter-spacing:.08em}.cats button{padding:6px 2px;font-size:10px}.parts{display:flex;flex-direction:column;gap:3px}.parts .p{display:flex;justify-content:space-between;padding:5px 8px;border:1px solid transparent;cursor:pointer;color:var(--fg)}.parts .p:hover{border-color:#5fe9ff59}.parts .p.active{background:var(--cy2);border-color:var(--cy);color:#fff}.parts .p small{color:var(--dim)}.cost{font-style:normal;color:var(--dim)}.cost.mid{color:var(--fg)}.cost.high{color:var(--warn)}.cost.elite{color:#ff7ab8}.partinfo{margin-top:10px;color:var(--dim);line-height:1.5;min-height:40px}.partinfo b{color:var(--fg)}.stats{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.stats span:nth-child(odd){color:var(--dim)}.stats span:nth-child(2n){text-align:right;color:var(--fg)}.warnings{margin-top:10px;color:var(--warn);line-height:1.5}.warnings .bad{color:var(--bad)}#hints{left:12px;right:12px;bottom:12px;height:30px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--dim)}#hints b{color:var(--cy)}#crosshair{position:fixed;left:50%;top:50%;width:0;height:0;pointer-events:none}#crosshair .dot{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border:1px solid var(--cy);border-radius:50%;box-shadow:0 0 6px var(--cy)}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.hud-left{position:absolute;left:28px;bottom:60px}.hud-right{position:absolute;right:28px;bottom:60px;text-align:center}.big{font-size:56px;color:#fff;line-height:1;text-shadow:0 0 12px rgba(95,233,255,.6)}.big small{font-size:14px;color:var(--cy);margin-left:8px}.bar{display:flex;align-items:center;gap:10px;margin-top:8px;width:260px}.bar span{width:46px;color:var(--dim)}.bar i{flex:1;height:8px;border:1px solid rgba(95,233,255,.4);position:relative}.bar i b{position:absolute;left:0;top:0;bottom:0;background:var(--cy);box-shadow:0 0 8px var(--cy)}.small{margin-top:8px;color:var(--dim)}.att canvas{display:block}#pointerPrompt{position:fixed;left:50%;top:58%;transform:translate(-50%);padding:10px 18px;color:var(--cy);letter-spacing:.2em;font-size:13px;background:var(--bg);border:1px solid rgba(95,233,255,.4);cursor:pointer;z-index:5;white-space:nowrap}#toast{position:fixed;left:50%;top:70px;transform:translate(-50%);color:#fff;background:var(--bg);border:1px solid var(--cy);padding:8px 16px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:6}body.mode-drive .edit-only,body.mode-edit .drive-only{display:none!important}body.locked #pointerPrompt{display:none}body.locked.mode-edit #topbar{pointer-events:none}#biomeSelect{max-width:180px}#biomeBanner{position:fixed;top:82px;left:50%;transform:translate(-50%);z-index:20;text-align:center;pointer-events:none;opacity:0;padding:16px 40px;background:linear-gradient(90deg,transparent,rgba(8,25,32,.88) 18%,rgba(8,25,32,.88) 82%,transparent);border-top:1px solid #5fe9ff55;min-width:420px;color:#d8faff;font-family:monospace}#biomeBanner span{display:block;font-size:10px;letter-spacing:4px;color:var(--dim)}#biomeBanner strong{display:block;font-size:28px;letter-spacing:5px;margin:8px 0}#biomeBanner small{font-size:12px;letter-spacing:1px}#biomeBanner.show{animation:biome-arrival 3.2s both}@keyframes biome-arrival{0%{opacity:0;transform:translate(-50%,-8px)}12%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,3px)}}@media(max-width:1200px){#topbar .brand{font-size:10px}#topbar .name{width:110px}#biomeSelect{max-width:140px}}#biomeSelect{background:#0b1a22;color:var(--cy);border:1px solid rgba(95,233,255,.4);font:inherit;padding:5px 8px;letter-spacing:.08em}.mode-drive #topbar{display:flex!important;left:auto;right:12px;width:auto}.mode-drive #topbar>:not(.biome-picker){display:none}
