*{box-sizing:border-box}body{margin:0;font:13px/1.4 ui-monospace,Menlo,monospace;background:#15171b;color:#cfd3da}button,input,select{font:inherit;background:#262a31;color:#dfe3ea;border:1px solid #4a505b;padding:2px 6px}button{cursor:pointer}button.on{background:#2f5d73;border-color:#7cc}button[disabled]{opacity:.4;cursor:not-allowed}input[type=number]{width:5em}.error{color:#f77}.login{display:flex;flex-direction:column;gap:8px;width:240px;margin:20vh auto}.sign-in{width:360px}.login a{color:#7cc}.shell{position:fixed;inset:0;display:flex;flex-direction:column}.top-bar{flex:none;height:28px;display:flex;gap:12px;align-items:center;padding:0 8px;border-bottom:1px solid #2c323b;background:#0b0d10;font-size:11px;white-space:nowrap}.top-bar .status{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden}.top-bar .part{display:contents}.top-bar .part>:first-child{flex:none;margin-left:12px}.top-bar .part:first-child>:first-child{margin-left:0}.top-bar .part>.rest{flex:0 4 auto;min-width:calc(1ch + 1px);overflow:hidden;text-overflow:ellipsis;white-space:pre}.top-bar .part>.rest:before{content:"⁠"}.top-bar .purses>.rest{flex-shrink:1}.top-bar .controls{display:flex;gap:4px;align-items:center}.top-bar kbd{font-size:9px;line-height:11px;min-width:12px}.top-bar button{padding:0 2px;font-size:10px}.top-bar input[type=number]{width:calc(4ch + 10px);padding:0 3px;appearance:textfield}.top-bar input[type=number]::-webkit-inner-spin-button{appearance:none}.icon-button{position:relative;display:inline-flex;gap:1px;align-items:center;height:20px}.icon-button kbd{font-size:9px;line-height:11px;min-width:0;border:none;background:none;color:#8a93a0;padding:0}.icon-button.on kbd{color:#bfe}.window-buttons,.views{display:flex;gap:2px}.space-keys{display:flex;gap:1px}.top-bar .space-keys button{padding:0 1px}.icon-button .dot{position:absolute;top:1px;right:1px;width:5px;height:5px;border-radius:50%;background:var(--encounter)}.cheat-button{display:inline-flex;gap:3px;align-items:center}.cheat-button.unseen{border-color:#fc6}.cheat-sheet{position:absolute;z-index:30;top:32px;left:calc(var(--l) + 24px);right:calc(var(--r) + 24px);max-width:1000px;max-height:calc(100% - 112px);margin-inline:auto;box-sizing:border-box;overflow:hidden;padding:12px 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 28px;align-content:start;background:#0b0e12c8;border:1px solid #3b4450;border-radius:6px;font-size:12px;pointer-events:none}.cheat-sheet h3{margin:0 0 4px;font-size:11px;color:#8fa3b8;text-transform:uppercase;letter-spacing:.08em}.cheat-key{display:flex;gap:6px;align-items:center;padding:1px 0}.cheat-key kbd{width:48px;flex:none}.cheat-key.greyed>:last-child{color:#8a93a0}.cheat-icon{display:inline-flex;width:15px;flex:none}.cheat-foot{grid-column:1 / -1;margin-top:8px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.cheat-foot>.dim{flex:1 1 auto}.cheat-foot label,.cheat-foot button{pointer-events:auto}.planet{display:flex;flex-direction:column;min-height:0}.planet>.map{position:relative;flex:1;min-height:0;overflow:hidden}.planet>.map>svg{position:absolute;overflow:visible}.planet .map text{text-anchor:middle;font-size:10px;fill:#cfd3da;pointer-events:none}.planet text.building{font-weight:700}.planet text.terrain{fill:#998;font-size:9px}.planet text.buy{fill:#7cc;font-size:16px}.planet text.queued{fill:#8a93a0}.planet text.progress{fill:#7cc}.planet circle.place{fill:#7cc}.planet text.place{fill:#000;font-weight:700}.planet text.idle{fill:#e88;text-decoration:line-through}.planet g.idle .icon{opacity:.4}.planet text.effect{font-weight:700;fill:#fff}.planet .map .icon,.planet circle.place{pointer-events:none}.planet .pop{animation:pop .6s ease-out both;transform-box:fill-box;transform-origin:center}@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.25)}to{transform:scale(1)}}.planet .shine{fill:#fff8;pointer-events:none;animation:sweep 1.2s ease-out both}@keyframes sweep{0%{translate:-30px 0}to{translate:30px 0;opacity:0}}.planet .map text.rise{font-weight:700;font-size:12px;fill:#6c6;animation:rise-svg 2.6s ease-out both}@keyframes rise-svg{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(-34px);opacity:0}}.planet-top{position:absolute;z-index:2;left:6px;top:6px;width:min(536px,calc(100% - 200px));display:flex;flex-direction:column;gap:6px;pointer-events:none}.planet-top>.colony-card{pointer-events:auto;background:#101215eb}.planet-back{position:absolute;z-index:2;top:6px;right:6px;display:flex;gap:6px;align-items:center;background:#101215eb}.colony-card>div{margin-top:4px}.colony-card .chips{display:flex;gap:4px;margin-top:6px}.chip{flex:1 1 0;min-width:0;border:1px solid #3a404a;border-radius:3px;padding:2px 6px;white-space:nowrap;overflow:hidden}.chip small{display:block;font-size:11px;color:#8a93a0}.chip>div small{display:inline}.chip b{font-size:15px}.chip small.good{color:#8d8}.chip small.bad{color:#e77}.chip.glow{animation:glow 4s ease-out both}@keyframes glow{0%{background:#2c5a32}to{background:transparent}}.colony-card .tax-row{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:6px}.colony-card .tax-row .dim{margin-left:auto}.built-notice{background:#101215eb;border:1px solid #3a404a;border-left:3px solid #6c6;animation:fade 6s linear both}@keyframes fade{0%,85%{opacity:1}to{opacity:0}}.planet-bottom{position:absolute;z-index:2;left:6px;right:6px;bottom:6px;max-height:calc(100% - 12px);display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.planet-bottom>*{pointer-events:auto}.planet-bottom>.queue-tray{align-self:center;max-width:100%;flex:none}.queue-tray{position:relative;display:flex;gap:6px;align-items:stretch;min-height:98px;background:#101215eb}.tray-builds{display:flex;gap:6px;min-width:0;overflow-x:auto}.tray-builds>.empty{align-self:center;padding:0 6px}.tray-card{flex:none;position:relative;width:124px;border:1px solid #3a404a;border-radius:3px;padding:4px;font-size:12px}.tray-card.head{border-color:#7cc}.tray-name{display:flex;gap:4px;align-items:center}.tray-name svg{flex:none;overflow:visible}.tray-card .change{font-size:11px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.tray-card .bar{height:3px;background:#333;margin-top:3px}.tray-card .bar i{display:block;height:100%;background:#7cc}.tray-card .ctl{position:absolute;top:2px;right:2px;display:none;gap:1px}.tray-card:hover .ctl,.tray-card:focus-within .ctl{display:flex}.tray-card .ctl button{padding:0 3px;font-size:10px}.tray-button{flex:none;width:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tray-button .dim{font-size:11px}.tray-pop{position:absolute;z-index:4;right:0;bottom:calc(100% + 6px);width:min(520px,calc(100vw - var(--l) - var(--r) - 12px));max-height:calc(100vh - 200px);overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:6px;background:#101215f5;border:1px solid #3a404a}.bad{color:#e77}.planet{container-type:inline-size}@container (max-width: 600px){.tray-card .change{display:block;white-space:nowrap;text-overflow:ellipsis}.tray-card{width:116px;padding:3px 4px}.queue-tray .tray-button{width:auto;flex-direction:row;gap:4px;padding:2px 6px;font-size:12px}.queue-tray{flex-wrap:wrap;justify-content:flex-end;min-height:109px}.queue-tray>.tray-builds{flex-basis:100%}.chip b{font-size:14px}.colony-card>div{margin-top:2px}.planet-bottom>.window.goals .window-body{max-height:118px;overflow-y:auto}}.planet .hex-card{position:absolute;z-index:3;width:min(330px,calc(100% - 12px));max-height:calc(100% - 12px);overflow-y:auto;background:#101215eb;border:1px solid #3a404a;border-radius:4px}.hex-card>div{margin-top:4px}.hex-card .acts{display:flex;flex-direction:column;gap:3px;margin-top:6px}.hex-card .acts button{display:flex;gap:8px;align-items:center;text-align:left}.hex-card .acts button kbd{margin-left:auto}.hex-card .sub,.menu-item .sub{display:block;font-size:11px;color:#8a93a0;font-weight:400}.hex-card .why{display:block;font-size:11px}.panel{border:1px dashed #5a616d;padding:6px}.tile{cursor:pointer}.dim{color:#8a93a0}.warn{color:#eb6}.why{color:#eb6;font-size:12px}.queue-entry{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.queue-entry progress{width:100%}.window{position:absolute;top:6px;left:5vw;right:5vw;bottom:6px;background:#101318f2;border:1px solid #3b4652;padding:8px;overflow-y:auto;z-index:3}.window-title{display:flex;gap:8px;align-items:center;margin-bottom:6px}.window-title>button:last-child{margin-left:auto}.window.dock{top:0;bottom:0;padding:0;display:flex;flex-direction:column;overflow:hidden;font-size:12px}.window.dock.left{left:0;right:auto;width:var(--l);border-width:0 1px 0 0}.window.dock.right{right:0;left:auto;width:var(--r);border-width:0 0 0 1px}.dock>.window-title{margin:0;padding:3px 6px 3px 8px;background:#181d24;border-bottom:1px solid #2c323b}.dock>.window-title .tab{padding:0 6px;color:#8a93a0;min-width:3ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock>.window-title>:not(.tab){flex:none}.dock>.window-body{flex:1;min-height:0;overflow-y:auto;padding:6px 8px}.dock table{width:100%;border-collapse:collapse}.dock td,.dock th{padding:2px 6px 2px 0;text-align:left;vertical-align:top}.skills{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px;align-items:start}.window.dock{container-type:inline-size}@container (max-width: 360px){.skills{grid-template-columns:minmax(0,1fr)}.skills>:last-child{order:-1}.fitting .fit-hull{flex-direction:column;align-items:center}.fitting .slots{align-self:stretch}.dock table{font-size:11px}.dock td,.dock th{padding-right:3px}}.skills .panel{margin-bottom:6px}.skills .queue-entry{gap:2px 4px;margin-top:3px}.skills .queue-entry>:first-child{flex:1}.skills .queue-entry>.dim{flex-basis:100%;font-size:11px}.skills .queue-entry button{padding:0 4px}.skill-row{display:flex;gap:6px;align-items:center;padding:1px 0}.skill-row:hover{background:#1a222c}.skill-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pips{letter-spacing:1px;color:#6af}.group{color:#8fa3b8;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:8px 0 3px}.tabs{display:flex;gap:2px;flex-wrap:wrap;margin-bottom:4px}.pay-from{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.stage{position:relative;flex:1;min-height:0;display:flex}.stage>.planet,.stage>.holdings{position:relative;z-index:1;flex:1;min-width:0;background:#15171b;margin:0 var(--r) 0 var(--l)}.hud{position:absolute;top:0;bottom:0;left:var(--l);right:var(--r);pointer-events:none;display:flex;flex-direction:column}.hud>*{pointer-events:auto}.toast{position:absolute;z-index:5;top:6px;left:calc(var(--l) + (100% - var(--l) - var(--r)) / 2);transform:translate(-50%);margin:0;padding:3px 8px;background:#101318f2;border:1px solid #733}.holdings{display:flex;gap:8px;padding:8px}.holdings-map{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.holdings{container-type:inline-size}@container (max-width: 640px){.planet-row>.mini-map{display:none}}.holdings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.holdings-map>svg{flex:1;min-height:0;width:100%;overflow:visible;font-size:12px}.holdings-map .column line{stroke:#222831}.holdings-map .column text{fill:#7d8490;font-size:10px}.holdings-map .edge line{stroke:#7cc;stroke-width:2}.holdings-map .edge text{fill:#7d8490}.holdings-map .edge.deploying line{stroke-dasharray:6 6;opacity:.5}.holdings-map .edge.deploying line.done{stroke-dasharray:none;opacity:1}.holdings-map .edge.deploying text{fill:#fc6}.holdings-map .edge.wormhole line{stroke:#c9a;stroke-width:1;stroke-dasharray:4 4}.holdings-map .edge.wormhole text{fill:#c9a}.holdings-map .system{cursor:pointer}.holdings-map .system circle{fill:#181d24;stroke:#7cc;stroke-width:1.5}.holdings-map .system.you circle{stroke:#7e7}.holdings-map .system.on circle{fill:#24485a;stroke-width:3}.holdings-map .system.new{cursor:default}.holdings-map .system.new circle{stroke-dasharray:3 3;fill:none}.holdings-map .system .name{fill:#cfd3da}.holdings-map .system .home{fill:#e9c46a;font-size:14px}.holdings-map .system .you{fill:#7e7;font-size:10px}.system-card{flex:none;align-self:flex-start;width:min(380px,45%);max-height:100%;overflow-y:auto;box-sizing:border-box;font-size:12px}.system-card .card-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-bottom:4px}.system-card .card-head b{font-size:13px}.system-card .card-head>button{margin-left:auto}.planet-row{display:flex;gap:6px;align-items:center;padding:2px 4px;margin:0 -4px;border-radius:3px}.planet-row>.grow{flex:1;min-width:0}.planet-row>.mini-map{flex:none;width:44px;height:40px}.planet-row:hover{background:#1a222c}.planet-row button{flex:none;padding:0 6px}.system-card .hint{margin-top:8px;font-size:10px}.space-canvas{position:absolute;inset:0;width:100%;height:100%;outline:none;touch-action:none}.space-canvas.pointing{cursor:crosshair}.stage .panel{background:#101215d9}.hud>.hud-main{flex:1;min-height:0;display:flex;gap:6px;padding:6px;pointer-events:none}.hud-main>*{pointer-events:auto}.hud-main>.hud-left{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}.hud-left>*{pointer-events:auto}.hud-left>.window.goals{margin-top:auto}.hud{--shield: #3a8dff;--hull: #dfe6ec;--alarm: #ff3b30;--hold: #7ee0a1;--return: #ffb938;--free: #ff4f42}.hud>.strip-area{position:relative;flex:none;align-self:center;max-width:calc(100% - 12px);margin:0 6px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.strip-area>*{pointer-events:auto}.status-line{max-width:100%;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;text-shadow:0 1px 2px #000,0 0 3px #000}.status-line>*{flex:none}.status-line>.cut{flex:0 1 auto;min-width:4ch;overflow:hidden;text-overflow:ellipsis}.status-line>.scan,.status-line>.deploy{min-width:calc(10ch + 56px)}.status-line progress{width:50px;vertical-align:middle}.strip{position:relative;display:flex;align-items:center;gap:10px;padding:6px 8px;background:#070b0fd9;border:1px solid #22303b;border-radius:3px;font:600 11px/1.2 ui-monospace,Menlo,monospace}.strip .vit{width:110px;padding-right:26px;display:grid;gap:4px}.strip .vit{cursor:pointer}.strip .bar{position:relative;height:7px;background:#0d151c;outline:1px solid #1c2731}.strip .bar>i{position:absolute;inset:0 auto 0 0;transition:width .25s}.strip .bar>b{position:absolute;right:-26px;top:-3px;width:22px;text-align:right;font-size:10px;color:#e6edf3}.strip .bar.shield>i{background:var(--shield)}.strip .bar.hull>i{background:var(--hull)}.strip .bar.hull.low>i{background:var(--alarm);animation:bar-pulse .6s infinite alternate}.strip .bar.hull.low>b{color:var(--alarm)}.strip .bar.flash{animation:bar-flash .3s 4}@keyframes bar-pulse{to{opacity:.45}}@keyframes bar-flash{0%{filter:brightness(2.5)}}.strip .sep{width:1px;align-self:stretch;background:#22303b}.strip .key{position:relative;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #2b3946;background:#0b1117;color:#7c8b99;overflow:hidden}.strip .key>svg{width:18px;height:18px;pointer-events:none}.strip .key>u{position:absolute;left:2px;top:1px;font-size:8px;line-height:1;text-decoration:none;color:#7c8b99}.strip .key>em{position:absolute;right:2px;bottom:0;font-size:8px;font-style:normal}.strip .key.run{color:var(--shield);border-color:var(--shield);box-shadow:0 0 6px var(--shield)}.strip .key>.cd{position:absolute;inset:0;background:#000a;transform-origin:bottom;pointer-events:none}.strip .key>.rn{position:absolute;inset:0;background:var(--shield);opacity:.3;transform-origin:bottom;pointer-events:none}.strip .key.kit.has{color:var(--hull)}.strip .key.on{color:var(--pc);border-color:var(--pc);background:color-mix(in srgb,var(--pc) 14%,#0b1117)}.strip .key:not(.on):not(.run):hover{border-color:#5d7488}.strip .dir{display:grid;gap:3px;justify-items:center}.strip .dir>.row{display:flex;gap:3px}.strip .dir>.name{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--pc)}.strip .distances-key{width:18px}.strip-area>.distances{position:absolute;z-index:3;right:0;bottom:calc(100% + 4px);white-space:nowrap}.distances input[type=number]{width:4.5em;padding:1px 3px}.bay-canvas{position:fixed;inset:0;width:100vw;height:100vh;clip-path:inset(28px 0 0 0);outline:none;touch-action:none}.bay-fade{position:absolute;inset:0;background:#000;pointer-events:none;opacity:0;transition:opacity .45s}.bay-fade.on{opacity:1;transition:none}.bay-error{position:absolute;z-index:1;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:6px;padding:14px 16px;max-width:520px;background:linear-gradient(180deg,#16202ae6,#06090cf2);border:1px solid #11181e;border-top-color:#5d7488;border-radius:6px;box-shadow:0 8px 30px #000a}.bay-error b{font-size:15px;letter-spacing:.03em}.bay-error .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.bay-undock{position:absolute;z-index:1;right:calc(var(--r) + 12px);top:12px;display:flex;gap:8px;align-items:flex-start}.bay-undock button{position:relative;isolation:isolate;overflow:hidden;min-width:180px;height:46px;font-size:15px;font-weight:600;letter-spacing:.04em}.bay-undock .sweep{position:absolute;inset:0;z-index:-1;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#ffb93833,#ffd27a88)}.bay-undock button.on{color:#ffe3a6;border-color:#ffd27a}.bay-free{position:absolute;left:calc(var(--l) + 16px);right:calc(var(--r) + 16px);top:72px;bottom:150px;pointer-events:none}.bay-free.panel-open{right:calc(var(--r) + 416px)}.bay-beacon{position:fixed;z-index:1;left:-999px;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;padding:0;border:0;background:none;color:#e6edf3;font:13px/1.35 system-ui,sans-serif;transition:opacity .3s}.bay-beacon .card{display:block;translate:var(--dx, 0px) 0;padding:8px 13px;min-width:170px;text-align:left;background:linear-gradient(180deg,#16202acc,#06090ce6);border:1px solid #11181e;border-top-color:#5d7488;border-radius:6px;box-shadow:0 8px 30px #000a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .3s cubic-bezier(.3,1.5,.5,1),padding .3s}.bay-beacon .card b{display:flex;gap:8px;align-items:center;font-size:15px;letter-spacing:.03em;white-space:nowrap}.bay-beacon .card .line{display:block;margin-top:2px;color:#7c8b99;white-space:nowrap}.bay-beacon .stem{width:1px;height:calc(60px + var(--lift, 0px));background:linear-gradient(#5d7488,transparent)}.bay-beacon .dot{width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:1.5px solid var(--run);box-shadow:0 0 10px var(--run)}.bay-beacon:hover .card{transform:translateY(-4px);border-top-color:var(--run)}.bay-beacon .arrow{display:none;font-style:normal;color:var(--run);transform:rotate(var(--angle, 0))}.bay-beacon.small .card{min-width:0;padding:5px 10px}.bay-beacon.small .card b{font-size:12px}.bay-beacon.small .line{display:none}.bay-beacon.edge{transform:translate(-50%,-50%)}.bay-beacon.edge .stem,.bay-beacon.edge .dot{display:none}.bay-beacon.edge .arrow{display:inline-block}.bay-beacon.here,.bay-beacon.moving{opacity:0;pointer-events:none}.bay-panel{position:absolute;z-index:2;right:calc(var(--r) + 12px);top:72px;bottom:12px;width:380px;display:flex;flex-direction:column;background:linear-gradient(180deg,#16202ae6,#06090cf2);border:1px solid #11181e;border-top-color:#5d7488;border-radius:6px;box-shadow:0 8px 30px #000a;animation:bay-panel .4s cubic-bezier(.2,.8,.2,1) both}@keyframes bay-panel{0%{transform:translate(40px);opacity:0}}.bay-panel header{position:relative;padding:12px 14px 8px;border-bottom:1px solid #11181e}.bay-panel h2{margin:0;font-size:16px;letter-spacing:.03em}.bay-panel .body{flex:1;min-height:0;overflow:auto;padding:8px 14px 14px}.bay-back{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:0;background:none;color:#7c8b99;font-size:15px}.bay-back:hover{color:#e6edf3}.bay-panel .purses{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.purse-pick{text-align:left;border:1px solid #33414e;background:#0b1117;border-radius:5px;padding:6px 8px;color:#7c8b99}.purse-pick b{display:block;color:#e6edf3;font-size:14px}.purse-pick.on{background:#0b1117;border-color:#4fc3ff;box-shadow:inset 0 0 0 1px #4fc3ff55;color:#e6edf3}.bay-panel .chips{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0 0}.bay-panel .chip{flex:none;border:1px solid #33414e;background:#0b1117;border-radius:99px;padding:2px 8px;font-size:12px;color:#7c8b99;white-space:nowrap}.bay-panel .chip.on{color:#e6edf3;border-color:#5d7488;background:#1b2733}.market h3{margin:12px 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7c8b99;font-weight:600}.market-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:7px 0;border-bottom:1px solid #ffffff0a}.market-row .n{font-weight:600}.market-row .d{color:#7c8b99;font-size:12px;grid-column:1}.market-row .acts{grid-row:1 / span 2;grid-column:2;display:flex;gap:4px}.market-row.stacked{grid-template-columns:1fr}.market-row.stacked .acts{grid-row:auto;grid-column:1;margin-top:4px;flex-wrap:wrap}.market-row.flash{animation:glow 1.5s ease-out}.market-row .d.bought{color:#7ee0a1;font-weight:600}.trade{border:1px solid #5d7488;border-bottom-color:#11181e;background:linear-gradient(#1d2a36,#0e151c);border-radius:4px;padding:4px 9px;white-space:nowrap;color:#e6edf3}.trade:hover{border-color:var(--run)}.trade.sell{color:#7ee0a1}.market-all{display:flex;justify-content:flex-end;margin-top:8px}.ship-screen{--shield-bar: #4fc3ff;--hull-bar: #f0c36b}.ship-screen h3{margin:12px 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7c8b99;font-weight:600}.ship-screen .dim{font-size:12px}.ship-screen .ships{display:flex;flex-wrap:wrap;gap:6px}.shipcard{flex:1;min-width:100px;text-align:left;border:1px solid #33414e;background:#0b1117;border-radius:5px;padding:6px 8px;color:#e6edf3}.shipcard b{display:block}.shipcard .dim{font-size:11px}.shipcard:hover{border-color:var(--run)}.shipcard.on{border-color:#f0c36b;box-shadow:inset 0 0 0 1px #f0c36b44;cursor:default}.cond-row{display:grid;grid-template-columns:1fr;gap:2px;margin-bottom:5px}.ship-screen .bar{height:5px;background:#0b1117;border-radius:3px;overflow:hidden}.ship-screen .bar i{display:block;height:100%;transition:width .2s linear}.cargo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}.cargo .col{border:1px solid #11181e;border-radius:5px;padding:6px;min-height:90px;background:#070b0f88;min-width:0}.cargo .col h4{margin:0 0 4px;min-height:22px;font-size:11px;color:#7c8b99;display:flex;justify-content:space-between;align-items:center;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.cargo .unload-all{font-size:11px;letter-spacing:0;text-transform:none;padding:2px 7px}.stack{display:flex;align-items:center;gap:4px;padding:3px 2px;border-radius:3px;font-size:12px}.stack:hover{background:#ffffff0d}.stack>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack .q{color:#7c8b99;margin-left:auto;white-space:nowrap}.stack .mv{border:0;background:none;color:var(--run);padding:0 3px;font-size:13px}.stack .mv.greyed{color:#4a5663}.fit-list{margin-top:4px;font-size:12px}.fit-row b{display:inline-block;min-width:24px;color:#7c8b99}.slot-ring{position:fixed;inset:0;z-index:1;pointer-events:none;transition:opacity .4s;font:13px/1.35 system-ui,sans-serif;color:#e6edf3}.slot-ring.off{opacity:0}.slot-ring.off *{pointer-events:none!important}.slot-ring svg{position:absolute;left:0;top:0;overflow:visible}.slot-ring svg *{fill:none}.slot-ring .rim{stroke:#5d748855}.slot-ring .utility-band{stroke:#8fe3ff22;stroke-width:22}.slot-ring .track{stroke-width:6}.slot-ring .shield-track{stroke:#4fc3ff33}.slot-ring .hull-track{stroke:#f0c36b33}.slot-ring .shield-arc,.slot-ring .hull-arc{stroke-width:6}.slot-ring .track{pointer-events:stroke}.slot-ring .shield-text,.slot-ring .hull-text{pointer-events:bounding-box}.slot-ring .shield-arc{stroke:#4fc3ff}.slot-ring .hull-arc{stroke:#f0c36b}.slot-ring text{fill:#7c8b99;font-size:11px;text-anchor:middle}.slot-ring .shield-text{fill:#4fc3ff}.slot-ring .hull-text{fill:#f0c36b}.slot-ring .utility-text{font-size:10px;letter-spacing:2px}.slot-ring .leaders line{stroke:#8fe3ffaa}.slot-ring .leaders circle{fill:#8fe3ff}.ring-slot{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#e6edf3;background:#06090ccc;border:1.5px solid #5d7488;pointer-events:auto;cursor:pointer;transition:transform .25s cubic-bezier(.3,1.5,.5,1),border-color .2s}.ring-slot i{font-style:normal}.ring-slot:hover,.ring-slot.on{transform:translate(-50%,-50%) scale(1.12);border-color:var(--run)}.ring-slot.weapon{width:36px;height:36px;border:0;border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(#5d7488,#22303c)}.ring-slot.weapon:hover,.ring-slot.weapon.on{background:linear-gradient(var(--run),#22303c)}.ring-slot.weapon i{position:absolute;inset:2px;clip-path:inherit;background:#0a1016;display:grid;place-items:center}.ring-slot.empty{color:#7c8b99;border-style:dashed}.ring-slot.locked{opacity:.85}.ring-slot.locked:hover{border-color:#ffb938}.ring-title,.ring-readout{position:absolute;transform:translate(-50%,-100%);text-align:center;white-space:nowrap;text-shadow:0 1px 6px #000}.ring-title b{font-size:16px;letter-spacing:.04em}.ring-title div{color:#7c8b99}.ring-readout{transform:translate(-50%);font-size:12px;color:#aab6c2;background:#06090cb3;padding:2px 8px;border-radius:3px}.slot-picker{position:fixed;z-index:3;width:240px;padding:6px;pointer-events:auto;background:linear-gradient(180deg,#16202ae6,#06090cf2);border:1px solid #11181e;border-top-color:#5d7488;border-radius:6px;box-shadow:0 8px 30px #000a}.slot-picker h4{margin:2px 6px 6px;font-size:11px;color:#7c8b99;text-transform:uppercase;letter-spacing:.1em}.slot-picker .opt{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:none;padding:5px 7px;border-radius:4px;color:#e6edf3}.slot-picker .opt:hover{background:#ffffff12}.slot-picker .opt .dim{font-size:11px;white-space:nowrap}.slot-picker .none{padding:5px 7px;font-size:12px}.hud>.top-right{position:absolute;z-index:2;right:6px;top:6px;max-height:calc(100% - 160px);display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.top-right>*{pointer-events:auto}.top-right>.lock-list{position:relative;width:230px;min-height:0;display:flex;flex-direction:column;font-size:11px;text-shadow:0 1px 2px #000,0 0 3px #000}.lock-head{padding:0 4px 2px}.lock-rows{overflow-y:auto;scrollbar-width:thin}.lock-row{display:grid;grid-template-columns:2.2ch 1.4ch minmax(0,1fr) auto auto 26px;gap:5px;align-items:center;height:18px;padding:0 4px;cursor:grab;color:#ff8a80;background:#070b0f80;border-left:2px solid transparent}.lock-row+.lock-row{margin-top:1px}.lock-row .order{color:#ff5a4a;text-align:right}.lock-row .glyph{color:#ff5a4a;font-size:10px;text-align:center}.lock-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lock-row .dist{color:#c9d1d9;font-size:10px}.lock-row .codes{display:flex;gap:3px;font-size:9px;font-weight:700}.lock-row .bars{display:grid;gap:1px}.lock-row .bars i{display:block;height:2px;background:#0d151c}.lock-row .bars i>b{display:block;height:100%}.lock-row .bars .s>b{background:#3a8dff}.lock-row .bars .h>b{background:#dfe6ec}.lock-row .bars .h.low>b{background:#ff3b30}.lock-row:hover{background:#1d2a36cc}.lock-row.on{color:#fff;border-left-color:#fff;background:#1d2a36cc}.lock-row.lost{opacity:.6}.popups{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-hud{position:absolute;top:0;bottom:0;left:var(--l);right:var(--r);pointer-events:none;overflow:hidden;font:11px/1.35 ui-monospace,Menlo,monospace}.scene-hud>svg{position:absolute;inset:0;width:100%;height:100%}.scene-hud>div{position:absolute;white-space:nowrap;text-shadow:0 1px 2px #000,0 0 3px #000}.scene-hud .selection{fill:none;stroke:#fff;stroke-width:1;stroke-dasharray:3 3}.scene-hud .marker{color:#ff8a80}.scene-hud .marker.selected{color:#fff}.scene-hud .marker .brackets{fill:none;stroke:currentColor;stroke-width:1.2}.scene-hud .marker.selected .brackets{stroke-width:1.6}.scene-hud .marker text{fill:currentColor;font-size:9px;text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:2.5px;stroke-linejoin:round}.scene-hud .marker text.order{font-size:11px;font-weight:700;text-anchor:end}.scene-hud .marker .bar-back{fill:#0d151cd9}.scene-hud .marker .bar-shield{fill:#3a8dff}.scene-hud .marker .bar-hull{fill:#dfe6ec}.scene-hud .marker .bar-hull.low{fill:#ff3b30}.scene-hud .health-arc path{fill:none;stroke-width:3;stroke-linecap:round}.scene-hud .health-arc .arc-track{stroke:#fff;opacity:.13}.scene-hud .health-arc .arc-trail{stroke:#fff;opacity:.8}.scene-hud .health-arc .arc-shield{stroke:#4fb4ff}.scene-hud .health-arc .arc-hull{stroke:#e8eef3}.scene-hud .health-arc .arc-hull.low{stroke:#ff3b30}.scene-hud .on-you{fill:none;stroke:#ff3b30;stroke-dasharray:3 4;opacity:.8;animation:on-you 1.2s linear infinite}.scene-hud .on-you.struck{stroke:#fff;stroke-width:2.5;opacity:1}@keyframes on-you{to{stroke-dashoffset:-14}}.scene-hud .weapon-range{fill:none;stroke:#8fa3b5;stroke-opacity:.35;stroke-width:1;stroke-dasharray:3 4}.scene-codes{display:flex;gap:4px;font-size:10px;font-weight:700;color:var(--pc)}.scene-codes .code,.lock-row .code{pointer-events:auto;cursor:default}.scene-arrow{transform:translate(-50%,-50%);display:flex;align-items:center;gap:2px;color:#f55;font-weight:700;pointer-events:auto;cursor:pointer}.scene-arrow i{font-style:normal;font-size:18px;display:inline-block}.scene-hud .noticing{fill:none;stroke:#ffb02e;stroke-width:2}.scene-arrow.struck{animation:struck-arrow .6s ease-out}@keyframes struck-arrow{0%{transform:translate(-50%,-50%) scale(1.9);color:#fff;text-shadow:0 0 10px #f33,0 0 3px #000}}.hover-card{position:fixed;z-index:40;pointer-events:none;max-width:300px;font-size:12px;background:#000e!important;border:1px solid #567}.popup{position:absolute;translate:-50% -100%;font:600 18px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 2px #000,0 1px 3px #000;animation:drift .9s ease-out forwards}.popup.inbound{color:#f55}.popup.outbound{color:#5af}.popup.shield{opacity:.85}.popup.hull{font-size:31.5px;font-weight:900;text-shadow:0 0 2px #000,0 0 10px currentColor;animation:punch 1.2s ease-out forwards}.popup.kill{font-size:40px;font-weight:900;letter-spacing:.12em;translate:-50% -50%;text-shadow:0 0 2px #000,0 0 16px currentColor,0 0 32px currentColor;animation:stamp 2s cubic-bezier(.2,.9,.3,1) forwards}.popup.kill:after{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px;border:3px solid currentColor;border-radius:50%;animation:shock .6s ease-out forwards}@keyframes drift{0%{transform:translate(calc(var(--dx) * .5),var(--dy));opacity:1}to{transform:translate(var(--dx),calc(var(--dy) - 40px));opacity:0}}@keyframes punch{0%{transform:translate(calc(var(--dx) * .5),var(--dy)) scale(1.8);opacity:0}12%{transform:translate(calc(var(--dx) * .5),var(--dy)) scale(1);opacity:1}60%{transform:translate(calc(var(--dx) * .75),calc(var(--dy) - 16px));opacity:1}to{transform:translate(var(--dx),calc(var(--dy) - 44px));opacity:0}}@keyframes stamp{0%{transform:scale(3.5);opacity:0}12%{transform:scale(.94);opacity:1}20%{transform:scale(1)}75%{transform:scale(1.04);opacity:1;letter-spacing:.12em}to{transform:scale(1.1);opacity:0;letter-spacing:.4em}}.popup.move{translate:-50% -50%;width:6px;height:6px;border-radius:50%;color:#5fe;background:currentColor;box-shadow:0 0 8px currentColor;animation:fade .9s forwards}.popup.move:before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px;border:2px solid currentColor;border-radius:50%;transform:scaleY(.45);box-shadow:0 0 6px currentColor;animation:move-ring .45s ease-out 2}.popup.move:after{content:"▼";position:absolute;left:50%;bottom:6px;translate:-50% 0;font:700 18px/1 system-ui,sans-serif;text-shadow:0 0 2px #000,0 0 8px currentColor;animation:move-drop .45s cubic-bezier(.3,1.8,.6,1)}@keyframes move-ring{0%{scale:.15;opacity:1}to{scale:1.2;opacity:0}}@keyframes move-drop{0%{transform:translateY(-36px);opacity:0}}@keyframes shock{0%{scale:.5;opacity:1}to{scale:6;opacity:0}}.combat-strip{position:absolute;z-index:2;left:calc(var(--l) + (100% - var(--l) - var(--r)) / 2);transform:translate(-50%);bottom:6px;width:max-content;max-width:calc(100% - var(--l) - var(--r) - 12px);text-align:center}.loss-report{left:calc(var(--l) + 16px);right:calc(var(--r) + 16px);max-width:50vw;margin-inline:auto;bottom:auto;max-height:calc(100% - 12px);box-sizing:border-box;z-index:4}.loss-report>div{margin-top:6px}.window.goals{position:relative;inset:auto;z-index:2;width:min(300px,100%);flex:0 1 auto;min-height:0;font-size:12px}.holdings-map>.window.goals{flex-shrink:0}.hud>.window.goals{position:absolute;left:8px;bottom:8px;max-height:calc(100% - 16px)}.window.goals .window-title{margin-bottom:4px}.window.goals .window-title>.chapter{margin-left:auto;min-width:0;text-align:right}.window.goals .chapter>.of{white-space:nowrap}.window.goals .window-title>button:last-child{margin-left:0}.window.goals .window-title>button{padding:0 5px}.window.goals.folded{padding:4px 8px}.window.goals.folded .window-title{margin:0}.window.goals .goal-line{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window.goals .goal{padding:1px 0;cursor:pointer}.window.goals .goal.done{color:#7d8490}.window.goals .goal.current{color:#fff;font-weight:700;cursor:default}.window.goals .how{display:none;margin:1px 0 4px 17px;color:#bcd;font-weight:400;font-size:11px}.window.goals .goal.current .how,.window.goals .goal.pinned .how,.window.goals .goal:hover .how{display:block}.window.goals .goal.done.current .how{display:none}.goals-done{color:#8d8;font-weight:700;margin-bottom:4px}@keyframes goal-pulse{0%,to{box-shadow:0 0 0 1px #ffcf4a80}50%{box-shadow:0 0 0 2px #ffcf4a,0 0 12px 3px #ffcf4a99}}@keyframes row-pulse{50%{background:#ffcf4a38}}@keyframes hex-pulse{50%{stroke:#ffcf4a;stroke-width:4px;stroke-dasharray:none}}@keyframes mark-pulse{50%{stroke-width:4px;stroke-opacity:.45}}@keyframes outline-pulse{50%{outline-color:#ffcf4a}}.goal-hl{animation:goal-pulse 1.4s ease-in-out infinite}tr.goal-hl,g.goal-hl{animation:none}tr.goal-hl>td{animation:row-pulse 1.4s ease-in-out infinite}.planet g.tile.goal-hl polygon.hex{animation:hex-pulse 1.4s ease-in-out infinite}.scene-hud .goal-mark{fill:none;stroke:#ffcf4a;stroke-width:2px;animation:mark-pulse 1.4s ease-in-out infinite}.demo-brief{position:absolute;top:6px;left:6px;z-index:5;max-width:340px;background:#000d;font-size:12px}.demo-brief .head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.demo-brief .head>span{flex:none;white-space:nowrap}.demo-brief p{margin:4px 0 6px}.demo-brief ol{margin:2px 0 6px;padding-left:18px}.demo-brief.folded{padding:2px 8px}.window.intro{left:25vw;right:25vw;bottom:auto;top:10vh;z-index:4;max-height:calc(100% - 10vh - 6px);box-sizing:border-box}.window.intro .pointer{display:flex;gap:8px;align-items:flex-start;padding:4px 6px;margin:2px 0;border-radius:3px}.window.intro .pointer:hover{background:#1c2733}.window.intro .pointer-icon{flex:none;color:#8cf;padding-top:2px}.shell:has(.intro [data-point=colony]:hover) .bay-beacon[data-place=gov],.shell:has(.intro [data-point=ship]:hover) .bay-beacon[data-place=ship],.shell:has(.intro [data-point=hold]:hover) .bay-beacon[data-place=ship]{animation:goal-pulse 1.4s ease-in-out infinite}kbd{display:inline-block;min-width:15px;padding:0 3px;border:1px solid #5a6270;border-bottom-width:2px;border-radius:3px;font:10px/13px ui-monospace,Menlo,monospace;color:#bfe;text-align:center;background:#1a1e24}button.greyed{opacity:.45;cursor:not-allowed}.menu{position:fixed;z-index:50;min-width:210px;max-width:340px;white-space:normal;background:#12161bf2;border:1px solid #4a5563;border-radius:4px;padding:3px 0;box-shadow:0 6px 20px #000a}.menu-title{padding:3px 10px 4px;color:#8fa3b8;font-size:11px;border-bottom:1px solid #2a3038;margin-bottom:2px}.menu-item{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:3px 10px;cursor:pointer}.menu-item:hover{background:#24384a}.menu.primary .menu-title+.menu-item{color:#fff;font-weight:700}.menu-item.greyed{color:#6c727c;cursor:not-allowed}.menu-item.greyed:hover{background:none}.menu-item .why{color:#a88;font-size:10px;font-weight:400}.inventory .bucket-line{margin-bottom:4px}.inventory .item{display:flex;gap:5px;align-items:center;padding:2px 0}.inventory .item:hover{background:#1a222c}.inventory .item>.grow{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory .mark{width:8px;height:8px;border-radius:2px;flex:none}.inventory .more{padding:0 4px}.inventory .amount{padding:2px 0 4px 13px}.inventory .amount input{width:70px}.inventory .sell-all{display:flex;justify-content:flex-end;margin-top:6px}.fitting .picking{border:1px solid #7cc;border-radius:3px;padding:4px 6px;margin-bottom:4px}.fitting .fit-hull{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px}.fitting .fit-hull svg{flex:none}.fitting .outline{fill:#1d2630;stroke:#5a6b7c;stroke-width:.008}.fitting .mount circle,.fitting .mount rect{fill:#262c35;stroke:#888;stroke-width:.008}.fitting .mount.empty circle,.fitting .mount.empty rect{stroke-dasharray:.015 .012}.fitting .mount .ring{fill:none;stroke:#7cc6;stroke-dasharray:.015 .02}.fitting .mount text{font-size:.07px;font-weight:700;fill:#e6eaf0;text-anchor:middle;pointer-events:none}.fitting .mount text.beside{text-anchor:start}.fitting .mount text.port{text-anchor:end}.fitting .mount.ok circle:not(.arc),.fitting .mount.ok rect{fill:#17303a;stroke:#7cc;stroke-dasharray:none;cursor:pointer}.fitting .mount.ok .arc{stroke:#7cc}.fitting .mount.no{opacity:.4}.fitting svg .note{font-size:.06px;fill:#7d8490;text-anchor:middle}.fitting .slots{flex:1;min-width:0}.fitting .slot{border:1px dashed #4a5563;border-radius:3px;padding:3px 6px;margin:3px 0}.fitting .slot.ok{border:1px solid #7cc;background:#17303a;cursor:pointer}.fitting .slot.no{opacity:.5}.good{color:#8d8}.hex-card .pay-from{font-size:11px;gap:3px}.hex-card .pay-from button{font-size:11px;padding:1px 4px;text-align:left}@keyframes warn-pulse{0%,50%,to{box-shadow:0 0 0 1px #f554}25%,75%{box-shadow:0 0 0 2px #f55,0 0 10px 2px #f559}}@keyframes warn-text{0%,50%,to{color:#f77}25%,75%{color:#fff;background:#a22}}@keyframes ping{0%{stroke-opacity:1;stroke-width:4px}to{stroke-opacity:.2;stroke-width:1px}}@keyframes edge-glow{0%{box-shadow:inset 0 0 60px 14px #e33c}to{box-shadow:inset 0 0 60px 14px #e330}}@keyframes no-flash{0%,80%{background:#5a1e1e;color:#fcc}to{background:transparent}}.top-bar .part.alert>span{animation:warn-text 1s ease-in-out 2;padding:0 3px;border-radius:3px}.top-bar>.part.notices{display:flex;flex:none;margin:0 -2px 0 -6px}.top-bar .bell{position:relative;padding:0 1px;font-size:12px}.top-bar .bell .badge{position:absolute;top:-4px;right:-7px;padding:0 3px;border-radius:6px;background:#c33;color:#fff;font-size:8px;line-height:11px}.top-bar>.part.notices.ping .bell{animation:warn-pulse 1.4s ease-in-out infinite}.notice-drops{position:fixed;z-index:45;width:370px;display:flex;flex-direction:column;gap:4px}.notice-drop{cursor:pointer;padding:4px 8px;font-size:12px;background:#101318f2;border:1px solid #3a404a;border-left:3px solid #6c6;white-space:normal;animation:drop-in .25s ease-out,fade 8s linear both}.notice-drop.warn{border-left-color:#e55}.notice-drop:hover{background:#1a222c}@keyframes drop-in{0%{translate:0 -12px;opacity:0}}.combat-strip.ping{animation:warn-pulse 1s ease-in-out 2}.combat-strip .alert{color:#f77}.hull-low{color:#f55}.hull-low.flash{animation:warn-text 1s ease-in-out 2;padding:0 3px;border-radius:3px}.hull-glow{position:absolute;inset:0;left:var(--l);right:var(--r);z-index:1;pointer-events:none;animation:edge-glow 2s ease-in both}.scene-hud .scene-ping{fill:none;stroke:#f44;animation:ping .5s ease-out 4}.scene-arrow.ping{animation:warn-text .5s ease-in-out 4;padding:0 3px;border-radius:3px}.scene-no{width:220px;text-align:right;white-space:normal!important;color:#fbb}.scene-no.right{text-align:left}.no-bubble{position:fixed;z-index:60;max-width:300px;padding:3px 8px;font-size:12px;background:#2a1414f2;border:1px solid #a44;color:#fcc;pointer-events:none}.no-bubble.toast{position:absolute}.why.no{animation:no-flash 3s linear both;border-radius:2px}.speaker{position:relative;display:inline-flex}.speaker>button{font-size:10px;line-height:14px;padding:0 1px}.speaker .volume{display:none;position:absolute;z-index:55;top:100%;right:0;align-items:center;gap:6px;padding:6px 8px;background:#12161bf2;border:1px solid #4a5563;border-radius:4px}.speaker:hover .volume,.speaker:focus-within .volume{display:flex}.speaker .volume input{width:100px;padding:0}.speaker .volume>span{min-width:4ch;text-align:right}.speaker .ranges-setting{display:flex;align-items:center;gap:4px;white-space:nowrap}.popup.spent{color:#aaa;font-size:14px}.lock-row.lost{opacity:.6;font-style:italic}.order-note{white-space:nowrap}.distances{display:inline-flex;gap:4px;align-items:center;padding:2px 4px;background:#101318d9}.pickup-warning{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:20;display:flex;flex-direction:column;gap:8px;padding:12px 16px;max-width:360px;pointer-events:auto}.scan-control.tactical{outline:1px dashed currentColor}:root{--encounter: #8f9bff;--encounter-light: #c4caff;--run: #8fe3ff}.stencil{letter-spacing:.14em;text-transform:uppercase}.system-view{position:absolute;top:0;bottom:0;left:var(--l);right:var(--r);overflow:hidden;font:600 11px/1.2 ui-monospace,Menlo,monospace;color:#e6edf3;-webkit-user-select:none;user-select:none}.system-view>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.system-view kbd,.tracker kbd,.banner kbd,.sv-alarm-chip kbd{font:inherit;display:inline-grid;place-items:center;min-width:15px;height:15px;padding:0 3px;box-sizing:border-box;border:1px solid #3a4a58;background:#0b1117;color:#e6edf3;font-size:9px;letter-spacing:0;text-transform:none}.sv-alarm{position:absolute;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 90px 10px #ff3b30,inset 0 0 0 2px #ff3b30}.sv-alarm-chip{position:fixed;z-index:45;top:34px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;padding:5px 10px;background:#1a0605e6;border:1px solid #ff3b30;color:#ffd3cf;font:600 10px/1.2 ui-monospace,Menlo,monospace;opacity:0;pointer-events:none;transition:opacity .2s}.sv-alarm-chip.on{opacity:1}.sv-scan{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:9px;color:var(--run);text-align:center;opacity:0;transition:opacity .3s;pointer-events:none}.sv-scan i{display:block;width:140px;height:2px;margin-top:4px;background:#0d151c}.sv-scan i b{display:block;height:100%;width:calc(var(--p, 0) * 100%);background:var(--run)}.sv-note{position:absolute;top:34px;left:50%;transform:translate(-50%);padding:5px 10px;background:#070b0fd9;border:1px solid #22303b;color:#e6edf3;font-size:11px;animation:sv-note 5s forwards;pointer-events:none}@keyframes sv-note{80%{opacity:1}to{opacity:0}}.sv-actions{position:absolute;left:50%;display:flex;gap:8px;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity .3s;font-size:9px}.sv-actions.on{opacity:1;pointer-events:auto}.sv-holdings{position:absolute;top:12px;left:12px;padding:5px 10px;background:#070b0fd9;border:1px solid #22303b;border-radius:0;color:#e6edf3;font:inherit;font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.sv-holdings:hover{border-color:var(--encounter)}.sv-actions>*{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#070b0fd9;border:1px solid #22303b;border-radius:0;color:#e6edf3;font:inherit;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.sv-actions>*:hover{border-color:var(--encounter)}.sv-actions .used,.sv-actions .used kbd{color:#33414e;cursor:not-allowed}.system-view-key{position:relative}.top-right>.tracker{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 8px;background:linear-gradient(90deg,#070b0f00,#070b0fe6 22%);border-right:2px solid var(--encounter);font:600 11px/1.2 ui-monospace,Menlo,monospace;animation:tracker-in .55s cubic-bezier(.3,1.3,.5,1)}.tracker .notes,.encounter-alert .notes{margin-top:6px;max-width:250px;display:grid;gap:2px;font-size:10px;line-height:1.35;color:#b9c4ce;white-space:normal}.top-right>.encounter-alert{position:relative;padding:2px 10px 8px 22px;background:linear-gradient(90deg,#070b0f00,#070b0fe6 18%);border-right:2px solid #3a4a58;font:600 11px/1.2 ui-monospace,Menlo,monospace;animation:tracker-in .4s cubic-bezier(.3,1.3,.5,1)}@keyframes tracker-in{0%{transform:translate(120%);opacity:0}}.tracker .g{width:34px;height:34px}.tracker .txt{min-width:190px}.tracker .nm{color:var(--encounter);font-size:10px}.tracker .st{margin-top:4px;font-size:12px;color:#fff;white-space:nowrap;animation:step-in .45s cubic-bezier(.3,1.3,.5,1)}@keyframes step-in{0%{transform:translateY(80%);opacity:0}}.tracker .steps{display:flex;gap:4px;margin-top:5px}.tracker .steps i{width:14px;height:3px;background:#33414e}.tracker .steps i.done{background:var(--encounter)}.tracker .steps i.now{background:#fff}.tracker .abandon{position:relative;width:38px;height:38px;cursor:pointer;touch-action:none}.tracker .abandon svg{position:absolute;inset:0;overflow:visible}.tracker .abandon u{position:absolute;left:0;right:0;top:12px;text-align:center;text-decoration:none;font-size:11px;pointer-events:none}.tracker .abandon.off{cursor:not-allowed}.tracker .abandon.off u{color:#33414e}.banner{position:absolute;z-index:6;left:50%;top:26%;transform:translate(-50%,-50%);min-width:360px;padding:16px 30px 14px;box-sizing:border-box;text-align:center;color:#e6edf3;pointer-events:none;font:600 11px/1.2 ui-monospace,Menlo,monospace;animation:banner 5.2s forwards;background:linear-gradient(#16202af2,#06090cf5);border:1px solid #5d7488;border-bottom-color:#11181e;border-radius:3px;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #06090c,0 10px 40px 14px #000000b0}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30%) scale(.96);letter-spacing:.5em}8%{opacity:1;transform:translate(-50%,-50%);letter-spacing:normal}75%{opacity:1}to{opacity:0;transform:translate(-50%,-62%)}}.banner .h{font-size:15px;color:#fff;letter-spacing:.3em;text-shadow:0 0 18px var(--encounter)}.banner .rule{height:1px;margin:8px auto;width:320px;background:linear-gradient(90deg,#0000,var(--encounter),#0000)}.banner .rw{display:flex;justify-content:center;gap:16px;font-size:13px;text-shadow:0 1px 2px #000}.banner .rw span{display:flex;align-items:center;gap:5px}.banner .rw svg{width:16px;height:16px}.banner .nx{margin-top:10px;color:#9aa8b5;font-size:10px}.banner .rw.dim{color:#9aa8b5}.scene-hud .destination{color:var(--encounter);pointer-events:auto;animation:dest-in .65s cubic-bezier(.3,1.5,.5,1)}@keyframes dest-in{0%{transform-box:fill-box;opacity:0}}.scene-hud .destination .hit{fill:transparent}.scene-hud .destination .gem{fill:var(--encounter);filter:drop-shadow(0 0 6px #8f9bff)}.scene-hud .destination .brackets{fill:none;stroke:var(--encounter-light);stroke-width:1.4}.scene-hud .destination.edge .brackets{display:none}.scene-hud .destination text{fill:var(--encounter-light);font-size:10px;text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:3px;stroke-linejoin:round;letter-spacing:.08em}.scene-hud .destination text.dist{fill:#e6edf3}.scene-hud .last-known{pointer-events:auto}.scene-hud .last-known .hit{fill:transparent}.scene-hud .last-known .ring{fill:#e678ff1f;stroke:#e678ff;stroke-width:1.6;stroke-dasharray:4 3;filter:drop-shadow(0 0 4px #e678ff)}.scene-hud .last-known text{fill:#f3c4ff;font-size:14px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:3px}.hover-label{position:fixed;z-index:50;max-width:270px;padding:6px 8px;background:#0b1117f2;border:1px solid #3a4a58;font:600 10px/1.45 ui-monospace,Menlo,monospace;color:#e6edf3;pointer-events:none}.hover-label b{color:#fff}.feedback{left:calc(var(--l) + 16px);right:calc(var(--r) + 16px);max-width:520px;margin-inline:auto;bottom:auto;z-index:6}.feedback textarea{width:100%;box-sizing:border-box;font:inherit;background:#0b1117;color:inherit;border:1px solid #3b4652}.feedback-row{display:flex;gap:8px;align-items:center;margin-top:6px}.feedback-row>.primary{margin-left:auto}.feedback-recording{position:fixed;top:30px;left:50%;transform:translate(-50%);z-index:40;display:inline-flex;gap:6px;align-items:center}.feedback-recording .dot{width:8px;height:8px;border-radius:50%;background:#e33;animation:fade 1s infinite alternate}
