:root{color-scheme:dark;--space: #0a0e1f;--panel: rgba(18, 26, 51, .82);--line: #2b3a66;--amber: #ffb347;--teal: #4fd8c4;--red: #ff5d5d;--text: #e8ecff;--dim: #8a95bd}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--space);color:var(--text);overscroll-behavior:none;overflow:hidden;font-family:system-ui,Segoe UI,Roboto,sans-serif}#app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}#backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 100% at 50% 45%,#101a3a,#0a0e1f 55%,#05070f)}#stage{--k: 1;--tap: calc(44 / var(--k) * 1px);--tf: calc(11 / var(--k) * 1px);--safe-t: min(calc(env(safe-area-inset-top, 0px) / var(--k)), 40px);--safe-r: min(calc(env(safe-area-inset-right, 0px) / var(--k)), 40px);--safe-b: min(calc(env(safe-area-inset-bottom, 0px) / var(--k)), 40px);--safe-l: min(calc(env(safe-area-inset-left, 0px) / var(--k)), 40px);position:absolute;left:50%;top:50%;width:800px;height:360px;transform:translate(-50%,-50%) scale(var(--k));transform-origin:50% 50%;overflow:hidden;background:var(--space);font:400 max(13px,var(--tf))/1.35 system-ui,"Segoe UI",Roboto,sans-serif}.scr{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 270px;gap:14px;padding:calc(14px + var(--safe-t)) calc(20px + var(--safe-r)) calc(14px + var(--safe-b)) calc(20px + var(--safe-l));overflow:hidden}.scr.free{display:block;padding:0}.scr.three{grid-template-columns:220px 1fr 220px}.scr[hidden]{display:none}.col{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;position:relative}.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex:none;color:var(--dim)}.bar>*{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bar b{color:var(--amber);font-weight:600}h2{margin:0;font-size:16px;font-weight:600}h2.big{font-size:24px}.dim{color:var(--dim)}.grow{flex:1 1 auto;min-height:0;min-width:0;position:relative}.grow.center{display:grid;place-items:center;text-align:center}.grow svg{display:block;width:100%;height:100%}.panel{flex:none;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 12px}.panel>:last-child{margin-bottom:0}.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row>*{min-width:0}.row small,.small{color:var(--dim);font-size:max(11px,var(--tf))}.row>span:first-child{overflow-wrap:anywhere}.row>span:last-child{flex:0 1 auto;min-width:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 12px}.panels{overflow:auto}.note{flex:none;min-height:16px;color:var(--dim);font-size:max(11px,var(--tf))}.note:empty{display:none}.btn{font-family:inherit;font-weight:600;font-size:max(13px,var(--tf));line-height:1.2;min-height:var(--tap);min-width:var(--tap);padding:8px 12px;border:1px solid var(--amber);color:var(--amber);background:none;border-radius:9px;cursor:pointer;touch-action:manipulation}.btn.fill{background:var(--amber);color:var(--space)}.btn.sm{padding:4px 9px;font-size:max(12px,var(--tf))}.btn.red{border-color:var(--red);color:var(--red)}.btn[disabled]{opacity:.45;cursor:default}.btn.on{border-color:var(--teal);color:var(--teal)}.btns{display:flex;gap:8px;flex:none}.btns .btn{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu{display:grid;gap:8px;flex:none}.menu .btn{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left}.menu .btn>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.menu .btn>span:last-child{flex:none;color:var(--dim)}.sp{margin-top:auto}.bar-track{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.bar-fill{height:100%;width:0;background:var(--amber);border-radius:3px}.bad{color:var(--red)}.ok{color:var(--teal)}.badge{flex:none;padding:1px 6px;border:1px solid currentColor;border-radius:3px;font-size:max(11px,var(--tf));font-weight:700;white-space:nowrap}.scr.free>.grow{position:absolute;top:0;right:0;bottom:0;left:0}.flight-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.grow canvas.flight-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none;background:#05070f}.hud-overlay{position:absolute;top:calc(6px + var(--safe-t));left:calc(150px + var(--safe-l));right:calc(150px + var(--safe-r));z-index:3;pointer-events:none;background:none;padding:0}.hud-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.hud-cell{min-width:0;text-align:center}.hud-num{display:block;font-size:18px;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.hud-track{display:block;height:5px;margin:3px 0 2px;background:var(--line);border-radius:3px;overflow:hidden}.hud-fill{display:block;height:100%;width:0}.hud-cap{display:block;font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-note{position:absolute;top:calc(6px + var(--safe-t));left:calc(10px + var(--safe-l));z-index:3;width:132px;display:flex;flex-direction:column;gap:1px;pointer-events:none}.flight-note .sys,.flight-note .status{font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-note .badge{align-self:flex-start;max-width:132px;overflow:hidden;text-overflow:ellipsis}.radar-box{position:absolute;left:calc(16px + var(--safe-l));top:calc(56px + var(--safe-t));z-index:3;width:130px;height:60px;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain}.radar{display:block;width:130px;height:60px;background:none}.reticle{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;z-index:3;pointer-events:none;opacity:.9}.reticle.locked{opacity:1}.reticle img{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);opacity:0}.reticle.locked img{opacity:.95}.center-dock{position:absolute;left:50%;bottom:calc(8px + var(--safe-b));z-index:3;display:flex;align-items:flex-end;gap:10px;transform:translate(-50%);pointer-events:none}.att-wrap{display:grid;justify-items:center;gap:1px;pointer-events:none}.att-wrap .att-canvas{display:block;width:92px;height:92px}.att-legend{display:flex;gap:10px;font-size:max(11px,var(--tf));color:var(--dim)}.att-legend-item{display:inline-flex;align-items:center;gap:3px}.att-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.flight-sys{position:absolute;top:calc(6px + var(--safe-t));right:calc(8px + var(--safe-r));z-index:4;display:flex;gap:6px}.flight-sys .btn{width:var(--tap);height:var(--tap);min-width:0;min-height:0;padding:0;border-radius:50%;font-size:max(11px,var(--tf));line-height:1.05;overflow:hidden;display:grid;place-items:center}.touch-host{position:relative}.touch-layer{position:absolute;top:var(--safe-t);right:var(--safe-r);bottom:var(--safe-b);left:var(--safe-l);z-index:2;pointer-events:none;touch-action:none}.touch-panel{position:absolute;top:0;bottom:0;pointer-events:none}.touch-left{left:0;width:152px;pointer-events:auto}.touch-right{left:0;right:0}.touch-stick{position:absolute;pointer-events:none}.touch-base{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;opacity:.85;border:2px solid rgba(79,216,196,.5);background:#0a0e1f59;will-change:transform}.touch-base img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.touch-knob{inset:auto!important;left:calc(50% - 30px)!important;top:calc(50% - 30px)!important;width:60px!important;height:60px!important;filter:drop-shadow(0 0 6px rgba(79,216,196,.7))}.touch-cap{display:block;font-size:max(11px,var(--tf));color:var(--dim)}.touch-throttle{position:absolute;pointer-events:auto;touch-action:none}.touch-throttle-track{position:absolute;left:0;right:0;bottom:0;height:44px;display:grid;place-items:center;border:2px solid var(--line);border-radius:22px;background:#121a33b3;overflow:hidden}.touch-throttle-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#4fd8c499}.touch-throttle-num{position:relative;font-size:max(11px,var(--tf));letter-spacing:.06em;color:var(--text);text-transform:uppercase}.touch-btn{position:absolute;width:60px;height:60px;min-width:0;min-height:0;padding:0;border:3px solid currentColor;border-radius:50%;background-color:#121a33b3;background-repeat:no-repeat;background-position:center;background-size:68%;color:var(--teal);touch-action:none;cursor:pointer;pointer-events:auto}.touch-btn.ecm{color:var(--teal)}.touch-btn.missile{color:var(--red)}.touch-btn.fire{color:var(--amber);background-color:#ffb34733}.touch-btn.on{background-color:#4fd8c44d}.touch-btn-label{position:absolute;transform:translate(-50%);font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;pointer-events:none}.rotate-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;text-align:center;background:#05070fe6}.rotate-box{max-width:320px}.rotate-icon{font-size:44px;line-height:1;color:var(--amber)}.rotate-box b{display:block;margin-top:8px;font-size:18px}.rotate-box span{display:block;margin-top:6px;color:var(--dim);font-size:13px}.scr.market{grid-template-columns:246px 226px 1fr;gap:10px}.mkt-goods,.mkt-acts{gap:6px}.mkt-book{gap:4px}.mkt-row{display:flex;gap:4px;align-items:stretch;padding:3px 0}.mkt-pick{flex:1 1 auto;min-width:0;min-height:var(--tap);display:grid;align-content:center;gap:1px;padding:2px 6px;text-align:left;font:inherit;color:var(--text);background:none;border:1px solid transparent;border-radius:8px;cursor:pointer}.mkt-pick.on{border-color:var(--amber);background:#ffb3471f}.mkt-pick.bad .mkt-name{color:var(--red)}.mkt-name{font-size:max(12px,var(--tf));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mkt-stock{font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mkt-b{flex:none;width:var(--tap);min-width:var(--tap);min-height:var(--tap);padding:0 2px;font:600 max(11px,var(--tf)) / 1.1 inherit;color:var(--teal);background:none;border:1px solid var(--teal);border-radius:8px;cursor:pointer}.mkt-b.short{color:var(--amber);border-color:var(--amber)}.mkt-b.red{color:var(--red);border-color:var(--red)}.mkt-book .book{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:2px;padding:4px 10px}.book-title{display:grid;gap:1px}.book-title b{font-size:max(14px,var(--tf));font-weight:600}.book-title small{font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-head,.lvl{display:grid;grid-template-columns:1fr 46px 40px 56px;align-items:center}.book-head{font-size:max(11px,var(--tf));color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:1px}.book-head span:not(:first-child),.lvl .p,.lvl .q,.lvl .s{text-align:right}.ladder{display:grid}.lvl{position:relative;height:21px;font-size:max(11px,var(--tf));border-bottom:1px solid rgba(43,58,102,.55)}.lvl .p{font-weight:600}.lvl .q,.lvl .s{color:var(--dim);font-variant-numeric:tabular-nums}.lvl .depth{position:absolute;left:0;top:2px;bottom:2px;background:#4fd8c442}.lvl .p,.lvl .q,.lvl .s{position:relative}.lvl.ask .depth{background:#ffb3473d}.lvl.mine{box-shadow:inset 3px 0 0 var(--teal)}.lvl.mine .p{color:var(--teal)}.ladder-empty{padding:4px 0;font-size:max(11px,var(--tf));color:var(--dim)}.book-mid{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:2px 0;font-size:max(11px,var(--tf));color:var(--dim);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.book-mid b{color:var(--amber);font-weight:600}.book-hint{font-size:max(11px,var(--tf));line-height:1.2;color:var(--dim)}.book-hint.mine{color:var(--teal)}.trade-panel,.limit{flex:none;display:grid;gap:5px;padding:5px 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.btn.trade{display:grid;gap:1px;align-content:center;min-height:var(--tap);padding:3px 4px;font-size:max(11px,var(--tf));line-height:1.15;text-align:center;overflow:hidden}.btn.trade .cap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn.trade .line{color:var(--dim);font-weight:400;white-space:nowrap}.btn.trade.fill .line,.btn.trade.fill{color:var(--space)}.btn.trade.sell{border-color:var(--teal);color:var(--teal)}.btn.trade.buy{border-color:var(--amber);color:var(--amber)}.btn.trade.black{border-color:var(--red);color:var(--red)}.limit-in{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.lf{display:grid;gap:2px;min-width:0}.lf>span{font-size:max(11px,var(--tf));color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lf input{width:100%;min-height:var(--tap);min-width:0;padding:3px 6px;font:600 max(12px,var(--tf)) system-ui,sans-serif;color:var(--text);background:#0d1330;border:1px solid var(--line);border-radius:8px}.limit .btns .btn{display:grid;gap:1px;align-content:center;min-height:var(--tap);padding:3px 6px;font-size:max(12px,var(--tf));line-height:1.15;text-align:center}.limit .btns .line{color:var(--dim);font-size:max(11px,var(--tf));font-weight:400}.mkt-mine{padding:4px 8px}.mkt-order{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:3px 0}.mkt-ord-text{min-width:0;font-size:max(11px,var(--tf));overflow:hidden}.mkt-ord-text small{font-size:max(11px,var(--tf))}.mkt-order .btn{flex:none}.note.res{color:var(--teal)}.note.res.bad{color:var(--red)}.grow.map-box{display:grid;place-items:center}.grow canvas.map-canvas{margin:auto;background:#05070f;border-radius:8px;touch-action:none}.tunnel-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;background:#05070f;touch-action:none}.grow .btns{justify-content:center}.list-cap{padding:4px 0 2px;font-size:max(11px,var(--tf));color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.ms-row{display:flex;gap:6px;align-items:stretch;padding:3px 0}.ms-pick{flex:1 1 auto;min-width:0;min-height:var(--tap);display:grid;gap:1px;align-content:center;padding:2px 6px;text-align:left;font:inherit;color:var(--text);background:none;border:1px solid transparent;border-radius:8px;cursor:pointer}.ms-pick.on{border-color:var(--amber);background:#ffb3471f}.ms-pick.bad .ms-name{color:var(--red)}.ms-name,.ms-note{font-size:max(12px,var(--tf));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-note{font-size:max(11px,var(--tf));color:var(--dim)}.ms-reward{flex:none;display:grid;place-items:center;min-width:64px;font-size:max(11px,var(--tf));color:var(--teal)}.ms-card-title{font-size:max(15px,var(--tf));font-weight:600;line-height:1.25}.ms-card-note{font-size:max(12px,var(--tf));color:var(--dim);line-height:1.3}.ms-card-reward{padding:4px 0;font-size:max(15px,var(--tf));color:var(--teal)}.grow.art{display:grid;place-items:center}.grow.art svg{width:100%;height:100%}.hangar-list{padding-top:4px}.hangar-list h3{margin:8px 0 2px;font-size:max(13px,var(--tf));color:var(--amber)}.hangar-list p{margin:2px 0 4px}.hangar-list .row:last-child{border-bottom:0}.sv-list{padding:2px 10px}.menu.grid3{grid-template-columns:repeat(3,1fr);gap:6px}.menu.grid3 .btn{flex-direction:column;align-items:flex-start;gap:1px}.map-tools{display:flex;gap:6px;align-items:center;padding:0 0 6px}.map-tools .cap{color:var(--dim);font-size:11px;min-width:34px;text-align:center}.map-tools .btn.sm{min-height:26px;padding:2px 10px;font-size:12px}.map-dests{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto;margin:0}.map-dests .cap{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.map-dest{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:4px 8px;border-radius:8px;cursor:pointer;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--ink);font-size:13px;text-align:left}.map-dest.on{border-color:var(--amber);background:#ffb34724}.map-dest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-dest-d{color:var(--dim);font-variant-numeric:tabular-nums}.build-stamp{color:var(--dim);font-size:10px}
