:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05060a;--text:#d1f7ff;--neon-cyan:#05d9e8;--neon-pink:#ff2a6d;--neon-yellow:#f9c80e;--neon-orange:#ff6c11;--neon-violet:#b967ff;--c-action:var(--neon-cyan);--c-accent:var(--neon-pink);--c-warn:var(--neon-yellow);--c-loot:#3dffb0;--c-text:var(--text);--c-dim:#7a7f93;--c-panel:#080a12f0;--c-backdrop:#05060abf;--fs-xs:10px;--fs-s:12px;--fs-m:14px;--fs-l:18px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;overflow:hidden}#viewport{position:fixed;inset:0}#viewport canvas{cursor:url(/ui/cursor.png) 3 2,default}body.aiming #viewport canvas{cursor:url(/ui/crosshair-cyan.png) 21 21,crosshair}#hud{pointer-events:none;position:fixed;inset:0}.ui-window{border-style:solid;border-width:34px;border-image:url(/ui/window.png) 46 fill/34px}.ui-window.danger{border-image-source:url(/ui/window-danger.png)}.ui-titlebar{border-style:solid;border-width:14px 22px;border-image:url(/ui/titlebar.png) 20 30 fill/14px 22px}.ui-hudbar{border-style:solid;border-width:10px 30px 13px;border-image:url(/ui/hudbar.png) 14 44 18 fill/10px 30px 13px}.ui-glass{border-style:solid;border-width:14px 30px 12px;border-image:url(/ui/glass.png) 20 44 18 fill/14px 30px 12px}.ui-dialog{border-style:solid;border-width:16px 24px 12px;border-image:url(/ui/dialog.png) 30 40 24 fill/16px 24px 12px}.ui-button{font:inherit;font-size:var(--fs-s);letter-spacing:.08em;color:var(--text);cursor:pointer;background:0 0;border-style:solid;border-width:10px 16px;border-image:url(/ui/button.png) 18 32 fill/10px 16px;padding:2px 10px;font-weight:700}.ui-button:hover{border-image-source:url(/ui/button-hover.png)}.ui-button:active{border-image-source:url(/ui/button-pressed.png)}.ui-button:disabled{cursor:not-allowed;color:#7a7f93;border-image-source:url(/ui/button-disabled.png)}.ui-button.danger{border-image-source:url(/ui/button-danger.png)}.ui-button.danger:hover{border-image-source:url(/ui/button-danger-hover.png)}.ui-card{border-style:solid;border-width:14px;border-image:url(/ui/card-available.png) 22 fill/14px}.ui-card.learned{border-width:20px 24px 14px 14px;border-image:url(/ui/card-learned.png) 40 46 22 22 fill/20px 24px 14px 14px}.ui-card.locked{filter:grayscale()brightness(.75)}.talent .lock{width:22px;height:22px;position:absolute;top:-6px;right:-6px}.hud{flex-direction:column;display:flex;position:absolute;inset:0}.hud-header{flex-direction:column;display:flex}.hud-main{flex:1;min-height:0;position:relative}.hud-top{font-size:var(--fs-m);flex-wrap:wrap;align-items:center;gap:4px 18px;margin:6px 8px 0;display:flex}.hud-name{letter-spacing:.15em;color:var(--neon-cyan);font-weight:700}.hud-stat b{color:var(--neon-cyan)}.tp{color:var(--neon-yellow);align-items:center;gap:4px;font-weight:700;display:flex}.tp img{width:22px;height:22px}.fx-label{opacity:.55;margin-left:auto}.ui-bar{background:url(/ui/bar-empty.png) 50%/100% 100% no-repeat;width:150px;height:40px;position:relative}.ui-bar-icon{height:72%;position:absolute;top:15%;left:2%}.ui-bar-fill{background:var(--fill);height:38%;box-shadow:0 0 8px var(--fill);position:absolute;top:31%;left:23.4%}.ui-bar-text{font-size:var(--fs-s);color:#fff;text-shadow:0 0 3px #000,0 0 3px #000,0 0 2px #000;place-items:center;font-weight:700;display:grid;position:absolute;inset:0 7% 0 23.4%}.bar-integrity{--fill:#ff2a6d}.bar-heat{--fill:#ff6c11}.bar-xp{--fill:#b967ff}.bar-power{--fill:#f9c80e}.ui-bar.warn .ui-bar-fill{--fill:#ff2a6d;animation:.6s steps(2,end) infinite pulse}@keyframes pulse{50%{opacity:.35}}.boss-bar{text-align:center;border-style:solid;border-width:12px 30px;border-image:url(/ui/bossbar.png) 20 42 fill/12px 30px;align-self:center;width:min(520px,80vw);margin-top:4px}.boss-name{font-size:var(--fs-s);letter-spacing:.25em;color:var(--neon-pink);text-shadow:0 0 6px var(--neon-pink);font-weight:700;display:block}.boss-track{background:#1a0610;height:6px;margin-top:3px}.boss-track div{background:var(--neon-pink);height:100%;box-shadow:0 0 8px var(--neon-pink)}.statuses{gap:8px;margin:4px 16px;display:flex}.status{font-size:var(--fs-s);align-items:center;gap:3px;font-weight:700;display:flex}.status img{width:26px;height:26px}.targeting{font-size:var(--fs-s);white-space:nowrap;align-self:center;margin-top:4px}.here{font-size:var(--fs-s);color:var(--neon-yellow);text-shadow:0 0 4px #000;margin:0 16px 4px}.bottom{padding:0 8px 8px;position:absolute;bottom:0;left:0;right:0}.hotbar{flex-wrap:wrap;gap:18px 12px;margin:0 8px 16px;display:flex}.slot{pointer-events:auto;background:url(/ui/slot.png) 50%/100% 100% no-repeat;width:58px;height:58px;position:relative}.slot:hover{background-image:url(/ui/slot-hover.png)}.slot.slot-active{background-image:url(/ui/slot-active.png)}.slot.slot-disabled{background-image:url(/ui/slot-disabled.png)}.slot-icon{width:40px;height:40px;position:absolute;inset:9px}.slot-disabled .slot-icon{opacity:.35}.slot .key{font-size:var(--fs-s);color:#e8fbff;background:#05060ad9;border-radius:3px;padding:0 3px;font-weight:700;line-height:14px;position:absolute;top:3px;left:4px}.slot .cd{font-size:var(--fs-l);color:#fff;text-shadow:0 0 4px #000;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.slot .cost{font-size:var(--fs-xs);color:var(--neon-orange);text-shadow:0 0 3px #000,0 0 2px #000;font-weight:700;position:absolute;bottom:4px;right:6px}.slot-name{font-size:var(--fs-xs);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.8;position:absolute;bottom:-14px;left:0;right:0;overflow:hidden}.log{font-size:var(--fs-m);max-width:900px;margin:14px 0 0;padding:0 4px;line-height:1.45;list-style:none}.log li{opacity:.7}.log li:last-child{opacity:1}.panel h2{font-size:var(--fs-m);letter-spacing:.25em;color:var(--neon-cyan);margin:0 0 14px}.panel h2 small{font-size:var(--fs-s);letter-spacing:0;color:var(--text);opacity:.65;margin-left:12px}.trees{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.tree h3,.cargo-title{font-size:var(--fs-m);letter-spacing:.12em;color:var(--neon-pink);margin:0 0 6px}.tree-desc{font-size:var(--fs-s);opacity:.6;margin:0 0 10px}.talent{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;grid-template-columns:36px 1fr;gap:2px 10px;margin-bottom:8px;padding:2px;display:grid;position:relative}.talent img{grid-row:span 3;width:36px;height:36px}.talent.learned{cursor:default}.talent.locked{cursor:not-allowed}.talent.available:hover{filter:brightness(1.25)}.talent-name{font-size:var(--fs-m);font-weight:700}.talent-meta,.module-meta,.module-ability{font-size:var(--fs-xs);opacity:.75}.talent-desc,.module-desc{font-size:var(--fs-s);opacity:.9}.module-name{font-size:var(--fs-m);font-weight:700}.module-ability{color:var(--neon-cyan);opacity:1}.empty-slot{font-size:var(--fs-s);opacity:.5;border:1px dashed #333a55;padding:10px}.overlay{pointer-events:auto;background:#05060abf;place-content:center;display:grid;position:absolute;inset:0}.run-over-box{text-align:center;padding:8px 24px}.run-over-box h1{letter-spacing:.3em;color:var(--neon-cyan);text-shadow:0 0 12px var(--neon-cyan);margin:0 0 12px}.run-over-box.danger h1{color:var(--neon-pink);text-shadow:0 0 12px var(--neon-pink)}#screen-fx{pointer-events:none;position:fixed;inset:0}#screen-fx.fx-high{background:radial-gradient(#0000 55%,#0000008c 100%),repeating-linear-gradient(#00000024 0 1px,#0000 1px 3px)}#screen-fx.fx-low{background:radial-gradient(#0000 60%,#00000073 100%)}.hub{pointer-events:auto;grid-template-columns:minmax(260px,1fr) 2fr;gap:28px;max-width:1180px;margin-inline:auto;display:grid;position:absolute;inset:max(16px,5vh) max(16px,7vw);overflow:auto}.hub h2{font-size:var(--fs-l);letter-spacing:.3em;color:var(--neon-cyan);margin:0 0 12px}.hub h2 small{font-size:var(--fs-s);letter-spacing:0;color:var(--text);opacity:.6;margin-left:12px}.hub h3{font-size:var(--fs-m);letter-spacing:.15em;color:var(--neon-pink);margin:16px 0 8px}.hub-choice{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;gap:4px;margin-bottom:8px;display:grid}.hub-choice.locked{cursor:not-allowed}.hub-modules,.hub-tabs{flex-wrap:wrap;gap:8px;display:flex}.hub-tabs{margin-bottom:14px}.ui-button.selected{border-image-source:url(/ui/button-hover.png)}.ui-button.start{font-size:var(--fs-m);margin-top:20px;padding:6px 22px}.hub-feature{font-size:var(--fs-s);color:var(--neon-cyan);opacity:.85;line-height:1.5}.hub-fragments{grid-template-columns:minmax(200px,1fr) 2fr;gap:18px;display:grid}.fragment-list{margin:0;padding:0;list-style:none}.fragment-link{font:inherit;font-size:var(--fs-m);text-align:left;color:var(--neon-cyan);cursor:pointer;background:0 0;border:none;padding:5px 0}.fragment-link:hover{text-shadow:0 0 6px var(--neon-cyan)}.fragment-missing{font-size:var(--fs-s);opacity:.45;padding:5px 0}.fragment-text p,.codex-entry p,.fragment-popup p{font-size:var(--fs-m);line-height:1.65}.codex-entry h4{color:var(--neon-pink);margin:14px 0 4px}.codex-entry h4 small{color:var(--text);opacity:.6}.codex-stats{opacity:.75;font-size:var(--fs-s)!important}.fragment-popup{width:min(640px,100%)}.fragment-popup h2{font-size:var(--fs-m);letter-spacing:.25em;color:var(--neon-cyan)}.fragment-popup h2 small{color:var(--neon-pink);letter-spacing:.1em;margin-left:10px}.hint{opacity:.6;font-size:var(--fs-s)!important}.audio-panel{margin-top:22px}.audio-row{font-size:var(--fs-s);letter-spacing:.1em;grid-template-columns:90px 1fr 34px;align-items:center;gap:10px;margin:6px 0;display:grid}.audio-row input[type=range]{width:100%;accent-color:var(--neon-cyan)}.audio-value{text-align:right;opacity:.7}.audio-panel .ui-button{margin-top:8px}.settings{width:min(520px,100%)}.settings h2{font-size:var(--fs-l);letter-spacing:.3em;color:var(--neon-cyan);margin:4px 0 6px}.settings h3{font-size:var(--fs-m);letter-spacing:.15em;color:var(--neon-pink);margin:14px 0 8px}.settings h3 small{color:var(--text);opacity:.5;margin-left:6px}.settings-fx{gap:8px;display:flex}.settings-note{min-height:2.6em;font-size:var(--fs-s);opacity:.75;line-height:1.5}.menu-button{font:inherit;color:inherit;opacity:.55;cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0}.menu-button:hover{opacity:1;color:var(--neon-cyan)}.hud-controls{font-size:var(--fs-s);white-space:nowrap;gap:12px;margin-left:auto;display:flex}.hud-controls .fx-label{margin-left:0}.inventory{box-sizing:border-box;width:min(900px,100vw - 32px)}.inventory-body{grid-template-columns:auto minmax(290px,1fr);align-items:start;gap:24px;display:grid}.vessel{justify-content:center;display:flex}.blueprint{aspect-ratio:3/4;height:min(52vh,440px);position:relative}.blueprint-art{object-fit:contain;opacity:.9;filter:drop-shadow(0 0 6px #05d9e880);width:100%;height:100%;display:block}.blueprint-art.fallback{filter:grayscale()sepia()hue-rotate(140deg)saturate(4)brightness(1.1)drop-shadow(0 0 8px #05d9e8);opacity:.6;margin:auto}.socket{z-index:1;cursor:pointer;place-items:center;width:56px;height:56px;display:grid;position:absolute;transform:translate(-50%,-50%)}.socket-ring{opacity:.75;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.socket.filled{z-index:2}.socket:not(.filled) .socket-ring{animation:2.4s ease-in-out infinite socket-pulse}@keyframes socket-pulse{50%{opacity:.35}}.socket-label{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--slot-color);pointer-events:none;background:#05060acc;border-radius:3px;padding:0 4px;position:absolute;top:calc(100% - 8px)}.socket-arm{--slot-color:#ff6c11}.socket-core{--slot-color:#f9c80e}.socket-optics{--slot-color:#05d9e8}.socket-subroutine{--slot-color:#ff2a6d}.socket:not(.filled):before{content:"";border:2px dashed var(--slot-color);box-shadow:0 0 8px var(--slot-color);background:#05060a8c;border-radius:8px;position:absolute;inset:10px}.socket.valid .socket-ring,.cargo-grid.valid .cargo-cell,.floor-drop.valid{filter:drop-shadow(0 0 6px #7ae582)brightness(1.4);opacity:1}.cargo-grid.valid .cargo-cell,.floor-drop.valid{border-color:#7ae582}.socket.invalid .socket-ring,.cargo-grid.invalid .cargo-cell,.floor-drop.invalid{filter:drop-shadow(0 0 6px #ff2a6d)saturate(.4);opacity:.5}.module-item{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:relative}.module-item .module-icon{border-radius:6px;display:block}.module-item.selected .module-icon{outline-offset:2px;outline:2px solid #fff;box-shadow:0 0 10px #fff}.module-item.dragging{opacity:.3}.cargo-grid{grid-template-columns:repeat(4,64px);gap:8px;display:grid}.cargo-cell{cursor:pointer;background:#05d9e80d;border:1px solid #05d9e859;border-radius:6px;place-items:center;width:64px;height:64px;display:grid}.floor-drop{height:40px;font-size:var(--fs-s);letter-spacing:.2em;color:var(--neon-pink);cursor:pointer;border:1px dashed #ff2a6d80;border-radius:6px;place-items:center;margin-top:12px;display:grid}.power-meter{gap:3px;margin-top:14px;display:flex}.power-cell{border:1px solid #f9c80e80;border-radius:2px;flex:1;height:10px}.power-cell.used{background:#f9c80e;box-shadow:0 0 6px #f9c80e99}.inventory-hint{font-size:var(--fs-s);opacity:.6;margin:12px 0 0}.detail-text{gap:3px;display:grid}.inventory-refusal{min-height:1.4em;font-size:var(--fs-s);color:var(--neon-pink);margin:6px 0 0}.drag-ghost{z-index:50;pointer-events:none;filter:drop-shadow(0 0 10px var(--neon-cyan));position:fixed;transform:translate(-50%,-50%)scale(1.1)}@media (width<=720px){.inventory-body{grid-template-columns:1fr}.blueprint{width:min(100%,340px);height:auto!important}}.tooltip{z-index:60;max-width:320px;font-size:var(--fs-s);color:var(--text);pointer-events:none;background:#080a12f0;border:1px solid #05d9e88c;border-radius:6px;padding:8px 10px;position:fixed;box-shadow:0 0 14px #05d9e840}.tooltip.interactive{pointer-events:auto}.module-tooltip{align-items:flex-start;gap:10px;display:flex}.tooltip-actions{gap:8px;margin-top:8px;display:flex}.tt-entry+.tt-entry{border-top:1px solid #05d9e833;margin-top:8px;padding-top:8px}.tt-title{color:var(--neon-cyan);font-weight:700}.tt-enemy .tt-title{color:var(--neon-pink)}.tt-item .tt-title,.tt-shard .tt-title{color:var(--neon-yellow)}.tt-title small{color:var(--text);opacity:.65;margin-left:6px;font-weight:400}.tt-lines{font-size:var(--fs-s);opacity:.85;margin-top:2px}.tt-text{font-size:var(--fs-s);opacity:.75;margin:4px 0 0;line-height:1.45}#viewport canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{overscroll-behavior:none}.action-bar{pointer-events:auto;flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.action-bar .ui-button{min-width:44px;min-height:52px;padding:0 var(--sp-3);font-size:var(--fs-m);flex:1}.hotbar .slot{cursor:pointer;pointer-events:auto}@media (width<=700px),(pointer:coarse){.hotbar .slot{min-width:48px;min-height:48px}.log{font-size:var(--fs-s)}.log li:nth-last-child(n+5){display:none}.hub,.hub-fragments{grid-template-columns:1fr}}@media (width<=700px){.hud-top{font-size:var(--fs-s);gap:2px 6px;margin:4px 4px 0}.ui-hudbar{border-width:6px 14px 8px;border-image-width:6px 14px 8px}.hud-name{width:100%;font-size:var(--fs-s);letter-spacing:.1em}.ui-bar{width:98px;height:28px}.ui-bar-text{font-size:var(--fs-xs)}.action-bar{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.action-bar .ui-button{min-width:0;font-size:var(--fs-xs);letter-spacing:.04em;border-width:6px 8px;border-image-width:6px 8px;padding:0 2px}.hotbar{gap:6px}.slot-name{display:none}.ui-glass{border-width:8px 14px;border-image-width:8px 14px}.log{font-size:var(--fs-xs)}.log li:nth-last-child(n+4){display:none}}.panel-close{z-index:3;float:right;min-width:44px;min-height:44px;font-size:var(--fs-l);margin:-4px -6px 0 8px;padding:0;position:sticky;top:0}.settings,.fragment-popup,.run-over-box{max-height:calc(100dvh - 32px);overflow:auto}.targeting{box-sizing:border-box;pointer-events:auto;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:calc(100vw - 24px);display:flex}.targeting span{flex:180px;min-width:0}.targeting .ui-button{flex:none;min-height:36px}.hud-top,.log,.hotbar,.statuses{pointer-events:auto}@media (pointer:coarse){.menu-button{opacity:.8;min-width:44px;min-height:44px;padding:0 8px}}.ui-button.continue{filter:drop-shadow(0 0 6px #05d9e899);margin-bottom:10px;display:block}#overlay{z-index:40;pointer-events:none;position:fixed;inset:0}#overlay>*{pointer-events:auto}.title-screen{pointer-events:auto;background:radial-gradient(at 70% 40%,#ff2a6d24,#0000 55%),radial-gradient(at 25% 70%,#05d9e81f,#0000 60%),#05060a;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.title-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.title-bg{position:absolute;inset:0}.title-bg img{object-fit:cover;object-position:70% 30%;width:100%;height:100%;animation:40s ease-in-out infinite alternate title-drift}@keyframes title-drift{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.1)translate(-1.5%,-1%)}}.title-bg:after{content:"";background:linear-gradient(90deg,#05060ae6 0%,#05060ab3 35%,#05060a00 65%);position:absolute;inset:0}@media (height<=500px){.title-main{gap:8px}.title-menu{gap:6px;margin-top:4px}.title-menu .ui-button{min-height:38px}.title-hook{font-size:var(--fs-s)}}@media (orientation:landscape){.title-screen{place-items:center start;padding-left:max(24px,7vw)}}@media (orientation:portrait){.title-bg img{object-position:60% 20%}.title-bg:after{background:linear-gradient(#05060a00 25%,#05060a99 55%,#05060ae6 100%)}.title-screen{place-items:end center;padding-bottom:56px}}@media (prefers-reduced-motion:reduce){.title-bg img{animation:none}}.title-main{z-index:1;justify-items:start;gap:18px;width:min(640px,100vw - 48px);display:grid;position:relative}.title-logo{letter-spacing:.18em;color:#e8fbff;text-shadow:0 0 6px #05d9e8,0 0 22px #05d9e8,0 0 48px #05d9e899;margin:0;font-size:clamp(30px,min(8vw,10vh),76px);line-height:1}.title-logo span{letter-spacing:.3em;color:var(--neon-pink);text-shadow:0 0 10px var(--neon-pink);vertical-align:middle;font-size:.45em}.title-hook{max-width:34em;font-size:var(--fs-m);opacity:.8;margin:0;line-height:1.6}.title-menu{gap:10px;margin-top:12px;display:grid}.title-menu .ui-button{text-align:left;min-height:44px}.title-build{left:16px;bottom:max(10px, env(safe-area-inset-bottom));font-size:var(--fs-xs);opacity:.45;margin:0;position:absolute}.hub-menu{flex-wrap:wrap;gap:8px;display:flex}.intro{pointer-events:auto;background:#05060a;place-content:center;justify-items:center;gap:28px;padding:24px;display:grid;position:absolute;inset:0}.intro-text{max-width:34em;font-size:var(--fs-m);line-height:1.8}.intro-text p{opacity:0;animation:1.2s forwards intro-in}.intro-text p:first-child{font-size:var(--fs-l);color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan)}.intro-text p:nth-child(2){animation-delay:.9s}.intro-text p:nth-child(3){color:var(--neon-pink);animation-delay:2s}@keyframes intro-in{to{opacity:1}}.howto{box-sizing:border-box;width:min(720px,100vw - 24px);max-height:calc(100dvh - 24px);padding:6px 18px 12px;overflow:auto}.howto h2{font-size:var(--fs-m);letter-spacing:.3em;color:var(--neon-cyan);margin:4px 0 10px}.howto-page{grid-template-columns:120px 1fr;align-items:start;gap:18px;min-height:220px;display:grid}.howto-art{object-fit:contain;filter:drop-shadow(0 0 10px #05d9e880);width:120px;max-height:200px}.howto-body h3{font-size:var(--fs-m);letter-spacing:.15em;color:var(--neon-pink);margin:0 0 8px}.howto-body p,.howto-body li{font-size:var(--fs-m);line-height:1.6}.howto-body ul{margin:0;padding-left:18px}.howto-alt{opacity:.6;font-size:var(--fs-s)!important}.howto-nav{align-items:center;gap:10px;margin-top:14px;display:flex}.howto-dots{gap:6px;display:flex}.howto-dots i{background:#05d9e840;border-radius:50%;width:8px;height:8px}.howto-dots i.on{background:var(--neon-cyan);box-shadow:0 0 6px var(--neon-cyan)}@media (width<=560px){.howto-page{grid-template-columns:1fr}.howto-art{width:72px}}.tip{max-width:min(560px,100vw - 24px);font-size:var(--fs-s);color:#e8fbff;border:1px solid var(--neon-yellow);pointer-events:auto;background:#080a12eb;border-radius:6px;align-self:center;align-items:flex-start;gap:10px;margin:8px 12px 0;padding:8px 10px 8px 14px;line-height:1.5;animation:.3s tip-in;display:flex;box-shadow:0 0 12px #f9c80e4d}.tip-dismiss{min-width:32px;min-height:32px;font:inherit;color:var(--neon-yellow);cursor:pointer;background:0 0;border:none;flex:none}@keyframes tip-in{0%{opacity:0;transform:translateY(-6px)}}.modal-backdrop{z-index:20;padding:var(--sp-2);background:var(--c-backdrop);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}.modal{box-sizing:border-box;width:min(640px,100%);max-height:100%;padding:var(--sp-1) var(--sp-4) var(--sp-3);outline:none;position:relative;overflow:auto}.modal.modal-wide{width:min(1100px,100%)}.modal.inventory{width:min(900px,100%)}.modal.modal-narrow{width:min(420px,100%)}.modal-heading{margin:var(--sp-1) 56px var(--sp-3) 0;font-size:var(--fs-l);letter-spacing:.25em;color:var(--c-action)}.modal-heading small{margin-left:var(--sp-2);font-size:var(--fs-s);letter-spacing:.08em;color:var(--c-dim)}.ui-button .hotkey{margin-left:var(--sp-2);padding:0 var(--sp-1);font:inherit;font-size:var(--fs-xs);color:var(--c-dim);border:1px solid;border-radius:3px}.ui-button.armed{color:var(--c-accent)}@media (pointer:coarse){.ui-button .hotkey{display:none}.ui-button{min-height:44px}}.setting-row{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-1) 0;flex-wrap:wrap;display:flex}.setting-label{font-size:var(--fs-s);color:var(--c-text)}.tabs{gap:var(--sp-2);flex-wrap:wrap;display:flex}.styleguide{padding:var(--sp-5);background:var(--bg);pointer-events:auto;position:absolute;inset:0;overflow:auto}.sg-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.sg-swatch{padding:var(--sp-3);font-size:var(--fs-xs);color:#000;border-radius:4px}.menu-list{gap:var(--sp-2);display:grid}.menu-list .ui-button{text-align:left;justify-content:space-between;align-items:center;min-height:44px;display:flex}.badge{width:8px;height:8px;margin-left:var(--sp-2);background:var(--c-warn);box-shadow:0 0 6px var(--c-warn);border-radius:50%;display:inline-block}.menu-button .hotkey{margin-left:var(--sp-2);font:inherit;font-size:var(--fs-xs);opacity:.7}:focus{outline:none}:focus-visible{outline:2px solid var(--c-action);outline-offset:2px;box-shadow:0 0 10px var(--c-action)}.modal:focus-visible{box-shadow:none;outline:none}.talent[aria-disabled=true]{cursor:default}.tt-anchor{pointer-events:auto;display:inline-flex}.tree .tt-anchor,.hub-choice-wrap{display:block}.hub-bg{position:absolute;inset:0;overflow:hidden}.hub-bg img{object-fit:cover;width:100%;height:100%;animation:50s ease-in-out infinite alternate title-drift}.hub-bg:after{content:"";background:radial-gradient(#05060a8c 0%,#05060a33 70%,#05060a1a 100%);position:absolute;inset:0}@media (orientation:portrait){.hub{inset:max(16px,4vh) 16px}}@media (prefers-reduced-motion:reduce){.hub-bg img{animation:none}}.menu-button.header-screen{align-items:center;gap:var(--sp-1);opacity:.85;display:inline-flex}.menu-button.header-screen .tp img{width:18px;height:18px}.hud-controls{gap:var(--sp-3)}.module-item.rarity-tuned{box-shadow:0 0 0 2px var(--c-action), 0 0 10px var(--c-action);border-radius:6px}.module-item.rarity-overclocked{box-shadow:0 0 0 2px var(--neon-violet), 0 0 12px var(--neon-violet);border-radius:6px}.module-item.rarity-prototype{box-shadow:0 0 0 2px var(--c-warn), 0 0 14px var(--c-warn);border-radius:6px;animation:2.4s ease-in-out infinite proto-shimmer}@keyframes proto-shimmer{50%{box-shadow:0 0 0 2px var(--c-warn), 0 0 22px var(--c-warn)}}@media (prefers-reduced-motion:reduce){.module-item.rarity-prototype{animation:none}}.rarity-text-tuned{color:var(--c-action)}.rarity-text-overclocked{color:var(--neon-violet)}.rarity-text-prototype{color:var(--c-warn)}.affix{font-size:var(--fs-s);color:var(--c-action)}.affix.tradeoff{color:var(--c-accent)}.signature{gap:var(--sp-2);margin-top:var(--sp-1);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-s);color:var(--c-warn);border:1px solid var(--c-warn);border-radius:4px;align-items:center;display:flex}.signature.inactive{opacity:.55}.compare{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--c-dim);display:grid}.ui-button.community{justify-content:center;align-items:center;gap:var(--sp-2);color:#aab4ff;text-decoration:none;display:inline-flex}.ui-button.community:hover{color:#fff}.community-icon{fill:#5865f2;width:18px;height:18px}.ui-button.community:hover .community-icon{fill:#fff}.city-map{background:var(--bg);pointer-events:auto;position:absolute;inset:0;overflow:hidden}.city-map-scroll{scrollbar-width:none;position:absolute;inset:0;overflow:auto}.city-map-frame{width:max(100%,177.683dvh);height:max(100%,56.2799vw);position:relative}.city-map-art{opacity:.9;width:100%;height:100%;position:absolute;inset:0}.city-node-at{justify-content:center;align-items:center;width:0;height:0;display:flex;position:absolute}.city-node{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);font:inherit;font-size:var(--fs-m);letter-spacing:.18em;white-space:nowrap;color:#e8fbff;text-shadow:0 0 6px var(--c-action), 0 0 16px var(--c-action), 0 2px 4px #000;cursor:pointer;background:radial-gradient(#05060ad9 0%,#05060a80 60%,#0000 78%);border:none;border-radius:999px;font-weight:700;transition:transform .15s,text-shadow .15s;display:flex}.city-node:hover,.city-node:focus-visible{text-shadow:0 0 8px var(--c-action), 0 0 24px var(--c-action), 0 0 48px var(--c-action), 0 2px 4px #000;transform:scale(1.12)}.city-node.cleared{text-shadow:0 0 6px var(--c-warn), 0 0 16px var(--c-warn), 0 2px 4px #000}.city-node.locked{color:#b3b9cc;text-shadow:0 2px 4px #000;cursor:default}.city-node.locked:hover,.city-node.locked:focus-visible{color:#b8bdcc;text-shadow:0 0 6px #ffffff40,0 2px 4px #000;transform:none}.city-node-dot{background:currentColor;border-radius:50%;width:10px;height:10px;box-shadow:0 0 10px}.city-node.locked .city-node-dot{box-shadow:none;opacity:.6}.city-home{left:var(--sp-4);bottom:max(var(--sp-4), env(safe-area-inset-bottom));position:absolute}@media (pointer:coarse){.city-node{min-height:44px;padding:var(--sp-2) var(--sp-3)}}@media (width<=700px){.city-node{font-size:var(--fs-s);letter-spacing:.1em}}.mapgen{padding:var(--sp-4);pointer-events:auto;background:var(--bg);color:var(--c-text);position:absolute;inset:0;overflow:auto}.mapgen-bar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.mapgen-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.mapgen-level{margin:0}.mapgen-level canvas{max-width:100%;image-rendering:pixelated;border:1px solid var(--c-dim);display:block}.mapgen-level figcaption{font-size:var(--fs-xs);color:var(--c-dim)}
