:root{--bg:#03030a;--panel:#0c1022c7;--line:#8caaff38;--text:#e6ecff;--muted:#8f9bc4;--accent:#9fe7ff;--gold:#ffd166;--warn:#ff6b6b;--manual:#6ecbff;--violet:#b48bff;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}.stage{position:fixed;inset:0}.stage.hidden{display:none}.stage canvas{display:block}.label-layer{pointer-events:none;position:absolute;inset:0}.overlay{pointer-events:none;position:fixed;inset:0}.overlay>*{pointer-events:auto}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#7896ff1f;border-radius:8px;padding:6px 12px;transition:background .2s}button:hover:not(:disabled){background:#7896ff47}button:disabled{opacity:.4;cursor:not-allowed}button.active{border-color:var(--accent);background:#9fe7ff4d}button.primary{background:linear-gradient(135deg,#7c5cff,#2fd6ff);border:none;padding:12px 28px;font-size:16px}button.ghost{background:0 0}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;font-size:13px;position:absolute}.topbar{align-items:center;gap:16px;padding:8px 14px;display:flex;top:12px;left:12px;right:12px}.brand{white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.brand small{color:var(--muted);font-size:12px;font-weight:400}.logo{background:radial-gradient(circle, #fff 0 25%, var(--violet) 45%, transparent 70%);width:18px;height:18px;box-shadow:0 0 12px var(--violet);border-radius:50%}.day{color:var(--muted);white-space:nowrap;flex:1;align-items:center;gap:10px;display:flex}.daybar{background:#ffffff14;border-radius:2px;flex:1;max-width:220px;height:4px;overflow:hidden}.daybar i{background:linear-gradient(90deg, var(--violet), var(--accent));height:100%;display:block}.actions{gap:8px;display:flex}.board{width:270px;padding:12px;top:76px;left:12px}.board-title,.console-title{margin-bottom:8px;font-weight:600}.console-title small{color:var(--muted);margin-left:6px;font-weight:400}.board ol{counter-reset:rank;margin:0;padding:0;list-style:none}.board li{counter-increment:rank;cursor:pointer;border-radius:6px;grid-template-columns:18px 10px 1fr auto 36px;align-items:center;gap:6px;padding:5px 6px;display:grid}.board li:before{content:counter(rank);color:var(--muted);font-size:11px}.board li:hover,.board li.active{background:#9fe7ff1f}.board .dot{border-radius:50%;width:8px;height:8px}.board .owner{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:11px;overflow:hidden}.board .power{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}.hint,.card-note{color:var(--muted);margin-top:8px;font-size:11px}.card{width:400px;max-height:calc(100% - 250px);padding:16px;top:76px;right:12px;overflow-y:auto}.card.hidden{display:none}.card .close{padding:2px 9px;position:absolute;top:10px;right:10px}.card-head{align-items:center;gap:12px;display:flex}.swatch{border-radius:50%;width:44px;height:44px;box-shadow:0 0 18px #9fe7ff59}.card h2{margin:0;font-size:20px}.sub{color:var(--gold);margin-top:2px;font-size:12px}.section-title{margin:14px 0 6px;font-weight:600}.section-title small{color:var(--muted);margin-left:6px;font-weight:400}.grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stat{background:#ffffff0a;border-radius:8px;padding:6px 8px}.stat span{color:var(--muted);font-size:11px;display:block}.stat b{font-size:15px}.games{border-collapse:collapse;width:100%;font-size:12px}.games th{text-align:left;color:var(--muted);padding:4px 2px;font-weight:400}.games td{border-top:1px solid #ffffff0d;padding:4px 2px}.light{white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:11px}.light.lit{color:#1a1200;background:var(--gold)}.light.manual{color:#001626;background:var(--manual)}.light.warning{color:#fff;background:var(--warn);animation:.8s infinite alternate blink}.light.pending{color:var(--gold);border:1px dashed var(--gold)}.light.dark{color:var(--muted)}.boost{color:var(--gold);font-size:11px;font-style:normal}@keyframes blink{0%{opacity:1}to{opacity:.45}}.console{width:min(720px,100% - 24px);padding:12px 14px;bottom:12px;left:50%;transform:translate(-50%)}.console.collapsed{display:none}.console .row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.console .row>span{color:var(--muted);min-width:70px;margin-right:4px}.toasts{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:none;flex-direction:column;gap:6px;width:300px;display:flex;bottom:12px;right:12px}.toast{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:8px 10px;transition:opacity .8s}.toast.gold{border-left-color:var(--gold)}.toast.warn{border-left-color:var(--warn)}.toast.fade{opacity:0}.planet-label{color:var(--text);text-shadow:0 0 6px #000;white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;font-size:11px;display:flex}.planet-label span{color:var(--gold);font-size:10px}.planet-label.selected b{color:var(--accent)}.intro{text-align:center;z-index:10;background:radial-gradient(circle,#28145ad9,#03030a 70%);flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .9s,transform .9s;display:flex;position:fixed;inset:0}.intro h1{letter-spacing:12px;margin:0;font-size:40px}.intro p{color:var(--muted);margin:0 0 12px}.intro.warp{opacity:0;transform:scale(2.4)}.intro.gone{display:none}.portal{width:200px;height:200px;margin-bottom:12px;position:relative}.portal-ring{filter:drop-shadow(0 0 18px #7c5cff);background:conic-gradient(#7c5cff,#2fd6ff,#ff2bd6,#7c5cff);border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 55%,#000 57% 66%,#0000 68%);mask:radial-gradient(circle,#0000 55%,#000 57% 66%,#0000 68%)}.portal-core{background:radial-gradient(circle,#fff,#9fe7ff 30%,#7c5cff66 60%,#0000 72%);border-radius:50%;animation:2.4s ease-in-out infinite pulse;position:absolute;inset:25%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.12)}}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px}.day{flex-basis:100%;order:3}.board{display:none}.card{z-index:2;width:auto;max-height:55%;inset:auto 12px 12px}.toasts{display:none}}button.wide{width:100%;margin-top:8px;display:block}.muted{color:var(--muted)}.swatch.small{flex:none;width:26px;height:26px}.tag{background:#ffffff14;border-radius:6px;padding:1px 6px;font-size:11px}.grid.two{grid-template-columns:repeat(2,1fr)}.overlay.in-map>.panel{display:none}.overlay.in-map>.panel.toasts{z-index:8;display:flex}.portal-view{z-index:6;background:#03030a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portal-view.hidden{display:none}.portal-box{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #b48bff73;border-radius:18px;flex-direction:column;width:min(620px,100% - 24px);max-height:calc(100% - 60px);padding:22px;font-size:13px;display:flex;position:relative;overflow:hidden}.portal-runes{pointer-events:none;border:2px dashed #b48bff40;border-radius:50%;width:520px;height:520px;animation:40s linear infinite spin;position:absolute;top:-200px;right:-200px;box-shadow:inset 0 0 0 40px #7c5cff0a,inset 0 0 0 42px #b48bff26}.portal-box h2{letter-spacing:4px;margin:0;font-size:22px}.portal-box .close{z-index:1;padding:2px 9px;position:absolute;top:14px;right:14px}.portal-sub{color:var(--muted);margin:4px 0 12px}.tabs,.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chips button{padding:3px 10px;font-size:12px}.portal-list{position:relative;overflow-y:auto}.portal-item{border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.portal-item:hover{background:#9fe7ff14}.portal-item .info{flex:1;min-width:0}.portal-item .info b{display:block}.portal-item .info span{color:var(--muted);font-size:11px}.portal-item .meta{color:var(--accent);white-space:nowrap;font-size:12px}.group-title{margin:10px 0 4px;font-weight:600}.group-title small{color:var(--muted);margin-left:6px;font-weight:400}.empty{color:var(--muted);text-align:center;padding:24px 8px;line-height:1.8}.teleport{z-index:9;pointer-events:none;justify-content:center;align-items:center;animation:1.3s forwards teleport-bg;display:flex;position:fixed;inset:0}.teleport-ring{border:6px solid #b48bff;border-radius:50%;width:60vmin;height:60vmin;animation:1.3s forwards teleport-ring;position:absolute;box-shadow:0 0 60px #7c5cff,inset 0 0 60px #2fd6ff}.teleport-label{letter-spacing:2px;text-shadow:0 0 12px #7c5cff;font-size:18px;position:relative}@keyframes teleport-bg{0%{background:#03030a00}45%{background:#28145af2}to{background:#03030a00}}@keyframes teleport-ring{0%{opacity:0;transform:scale(1.6)}45%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.4)}}.planet-map{z-index:4;background:#05060f;flex-direction:column;display:flex;position:fixed;inset:0}.planet-map.hidden{display:none}.map-header{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;font-size:13px;display:flex}.map-title{align-items:center;gap:8px;display:flex}.map-title b{font-size:17px}.map-title .owner{color:var(--gold);font-size:12px}.map-stats{color:var(--muted);flex-wrap:wrap;flex:1;gap:14px;display:flex}.map-body{flex:1;min-height:0;position:relative}.map-body canvas{cursor:crosshair;display:block}.map-side{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;width:290px;padding:16px;font-size:13px;position:absolute;top:12px;right:12px}.map-side.hidden{display:none}.map-side h3{margin:0 0 2px;font-size:18px}.map-side .close{padding:2px 9px;position:absolute;top:10px;right:10px}.side-sub{color:var(--muted);margin-bottom:10px;font-size:12px}.side-state{border-left:3px solid var(--muted);background:#ffffff0a;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.6}.side-state.lit,.side-state.pending{border-left-color:var(--gold)}.side-state.manual{border-left-color:var(--manual)}.side-state.warning{border-left-color:var(--warn)}.side-state.personal{border-left-color:#5ef2c8}.map-legend{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:12px;max-width:calc(100% - 24px);padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.map-legend span{align-items:center;gap:5px;display:flex}.map-legend i{border-radius:50%;width:10px;height:10px}.map-legend em{color:var(--muted);font-style:normal}@media (width<=760px){.map-side{width:auto;inset:auto 12px 12px}.map-legend{display:none}}.surface .map-side{max-height:calc(100% - 300px);top:232px;overflow-y:auto}.surface.flash .map-body:after{content:"";pointer-events:none;background:radial-gradient(circle,#9fe7ff8c,#b48bff00 70%);animation:.6s ease-out forwards surface-flash;position:absolute;inset:0}@keyframes surface-flash{0%{opacity:1}to{opacity:0}}.voxel-host{cursor:crosshair;touch-action:none;position:absolute;inset:0}.voxel-host.hidden,.map-body>canvas.hidden{display:none}.voxel-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.voxel-labels{pointer-events:none;position:absolute;inset:0}.voxel-label{color:#fff;text-shadow:0 0 3px #000;white-space:nowrap;background:#05060f99;border-radius:4px;padding:2px 6px;font-size:12px}.voxel-label.selected{outline:2px solid #fff}.voxel-label.ship{color:#cdb6ff}.joystick{display:none}@media (pointer:coarse),(width<=760px){.joystick{z-index:2;border:1px solid var(--line);touch-action:none;background:#7896ff2e;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;bottom:18px;left:18px}.joystick i{pointer-events:none;background:#9fe7ff8c;border-radius:50%;width:52px;height:52px}.surface .map-side{bottom:150px!important}}@media (width<=760px){.toasts>:nth-child(n+3){display:none}.surface .map-header{gap:6px 10px;padding:6px 10px}.surface .map-header button{padding:4px 10px}.surface .map-title b{font-size:15px}.surface .map-title .tag,.surface .map-title .swatch{display:none}.surface .map-stats{flex-basis:100%;order:3;gap:10px;font-size:12px}.surface .map-stats span:first-child{display:none}}.minimap{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:12px;right:12px}.minimap canvas{cursor:pointer;border-radius:8px;display:block}.minimap-hint{color:var(--muted);text-align:center;max-width:180px;font-size:11px}.minimap.hidden,.fullmap.hidden{display:none}.fullmap{z-index:3;background:#05060fb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fullmap-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px}.fullmap-head{align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.fullmap-head span{color:var(--muted);flex:1;font-size:12px}.fullmap canvas{cursor:pointer;border-radius:8px;display:block}@media (width<=760px){.surface .map-side{max-height:55%;top:auto}.minimap canvas{width:120px!important;height:120px!important}.minimap-hint{display:none}}.starmap{width:212px;padding:10px;bottom:12px;left:12px}.starmap.expanded{z-index:3;width:auto}.starmap.hidden{display:none}.starmap-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.starmap-head button{padding:2px 8px;font-size:12px}.starmap canvas{cursor:pointer;margin:0 auto;display:block}.flight{margin-top:8px;font-size:12px}.flight-row{grid-template-columns:auto 1fr auto 1fr;gap:4px 6px;margin-bottom:2px;display:grid}.flight-row span{color:var(--muted)}.flight-row b{font-variant-numeric:tabular-nums}.flight .auto{color:var(--accent);margin-top:4px}.flight .keys{color:var(--muted);margin-top:6px;font-size:11px}.swatch.unknown{background:repeating-linear-gradient(45deg,#2a2f48 0 6px,#1a1d2e 6px 12px)}.board{max-height:calc(100% - 420px);overflow-y:auto}@media (width<=760px){.starmap{width:160px;padding:8px}.starmap .keys,.starmap .flight-row:nth-child(2){display:none}}.game-view{z-index:7;background:#05060f;flex-direction:column;display:flex;position:fixed;inset:0}.game-view.hidden{display:none}.game-head,.game-hud{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.game-head b{font-size:17px}.game-hud{border-top:1px solid var(--line);border-bottom:none;gap:22px;min-height:38px}.game-stage canvas{position:absolute;inset:0}.tag.fair{color:var(--manual);background:#6ecbff40}.game-stage{flex:1;min-height:0;position:relative}.game-stage canvas{display:block}.game-stage canvas.hidden,.game-panel:empty{display:none}.game-panel{background:#03030a8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-card{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #b48bff73;border-radius:16px;width:min(520px,100% - 24px);max-height:calc(100% - 24px);padding:20px;font-size:13px;overflow-y:auto}.game-card h3{margin:0 0 6px;font-size:20px}.game-card .gold{color:var(--gold)}.spec-json{background:#00000059;border-radius:8px;max-height:200px;padding:10px;font-size:11px;overflow:auto}.spec-json.hidden{display:none}.mana{align-items:center;gap:6px;display:flex}.mana i{background:#ffffff1a;border-radius:4px;width:120px;height:8px;display:block;overflow:hidden}.mana em{background:linear-gradient(90deg,#4d96ff,#9fe7ff);height:100%;display:block}.touch{display:none}@media (pointer:coarse),(width<=760px){.touch{pointer-events:none;justify-content:space-between;padding:0 12px;display:flex;position:absolute;bottom:12px;left:0;right:0}.touch button{pointer-events:auto;touch-action:none;background:#7896ff40;border-radius:50%;width:54px;height:54px;font-size:18px}.touch .pad,.touch .acts{gap:8px;display:flex}.game-view:not(.is-arena):not(.is-3d) .touch [data-t=down]{display:none}}.character-box .char-top{align-items:center;gap:16px;margin-bottom:6px;display:flex}.char-preview{flex-direction:column;align-items:center;gap:6px;min-width:90px;display:flex}.char-preview .avatar{border:2px solid #fff;width:64px;height:64px;position:relative}.char-preview .avatar i{background:#0b0d1a;width:8px;height:11px;position:absolute;top:22px}.char-preview .avatar i:first-child{left:34px}.char-preview .avatar i:last-child{left:46px}.char-look{flex-direction:column;flex:1;gap:8px;display:flex}.char-look input[type=text],.char-look input:not([type]){font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:6px;padding:4px 8px}.attr{grid-template-columns:36px 1fr 28px;align-items:center;gap:4px 10px;margin:8px 0;display:grid}.attr em{color:var(--muted);grid-column:2/4;font-size:12px;font-style:normal}.attr-bar{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.attr-bar i{background:linear-gradient(90deg, var(--violet), var(--accent));height:100%;display:block}.topbar .coins{color:var(--gold);border-color:#ffd16666}.wallet{background:#ffd16614;border:1px solid #ffd1664d;border-radius:10px;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:10px 12px;display:flex}.wallet b{color:var(--gold);font-size:22px}.potion{background:linear-gradient(#fff9,currentColor);border-radius:6px 6px 12px 12px;flex:none;width:26px;height:26px}.potion.stamina{color:#ff6b6b}.potion.agility{color:#5ef2c8}.potion.intellect{color:#6ecbff}.ledger-row{align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.ledger-row span:nth-child(2){color:var(--muted);flex:1}.ledger-row .in{color:#5ef2c8}.ledger-row .out{color:var(--warn)}.hall-note{color:var(--muted);margin-bottom:4px;font-size:12px}.hall-note b{color:var(--gold)}.portal-item .badge{color:var(--gold);background:#ffd16633;border-radius:6px;flex:none;padding:2px 6px;font-size:11px}.portal-item.wager .badge{color:var(--warn);background:#ff5c5c33}.challenge-banner{background:#ffd16614;border:1px solid #ffd16666;border-radius:10px;margin:10px 0;padding:10px 12px}.challenge-banner.wager{background:#ff5c5c14;border-color:#ff5c5c80}.challenge-banner span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.host-row{align-items:center;gap:8px;margin:6px 0;display:flex}.host-row span{width:32px;color:var(--muted)}.host-row input{width:80px;font:inherit;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:6px;padding:4px 8px}.host-result{min-height:18px;font-size:12px}.gold{color:var(--gold)}.guide{z-index:11}.guide-box p{font-size:14px;line-height:1.8}.guide-dots{gap:6px;margin-bottom:10px;display:flex}.guide-dots i{background:#ffffff26;border-radius:2px;width:22px;height:4px}.guide-dots i.on{background:var(--accent)}.guide-actions{justify-content:flex-end;gap:8px;display:flex}@media (height<=780px){.board{min-height:0;max-height:calc(100% - 480px)}.board .hint{display:none}}@media (height<=640px){.board{display:none}}@media (width<=760px){.overlay.in-map>.panel.toasts{width:auto;inset:64px 12px auto}.topbar .actions{flex-wrap:wrap}}.combat-ship{width:300px;padding:10px 12px;bottom:12px;left:236px}.combat-ship.hidden,.beast-panel.hidden,.combat-modal.hidden{display:none}.bar-row{grid-template-columns:34px 1fr 70px;align-items:center;gap:8px;margin-bottom:4px;display:grid}.bar-row span{color:var(--muted)}.bar-row b{text-align:right;font-variant-numeric:tabular-nums}.bar{background:#ffffff1a;border-radius:4px;height:8px;display:block;overflow:hidden}.bar s{background:var(--accent);height:100%;transition:width .15s;display:block}.bar.hp s{background:linear-gradient(90deg,#ff6b6b,#ffb36b)}.bar.mana s{background:linear-gradient(90deg,#4d7cff,#7ff3ff)}.bar.beast{height:10px;margin:6px 0}.bar.beast.whale s{background:linear-gradient(90deg,#3fb6ff,#7fe3ff)}.bar.beast.devourer s{background:linear-gradient(90deg,#7a3cff,#d07bff)}.bar.beast.dragon s{background:linear-gradient(90deg,#ffb400,#ffe27a)}.pk-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.pk-row .muted,.combat-ship .keys{color:var(--muted);font-size:12px}.combat-ship .keys{margin-top:6px}.red-tag{color:#fff;background:#d93838;border-radius:6px;padding:1px 8px;font-weight:600}.combat-ship .hint{color:#5dffb0;margin-top:6px;font-size:12px}.combat-ship .hint.warn,.beast-panel .hint.warn{color:var(--warn)}.fire-button{display:none}.beast-panel{width:min(360px,100% - 24px);padding:10px 14px;top:76px;left:50%;transform:translate(-50%)}.beast-head,.beast-meta{justify-content:space-between;gap:8px;display:flex}.beast-head b{color:var(--gold);font-size:15px}.beast-meta{color:var(--muted);margin-top:2px;font-size:12px}.beast-meta b{color:var(--text)}.combat-modal{z-index:20;background:#03030a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.combat-box{border:1px solid var(--line);background:#0c1022f2;border-radius:14px;width:min(420px,100% - 32px);padding:18px 20px;font-size:14px;line-height:1.6}.combat-box h3{margin:0 0 8px}.combat-box ul{margin:8px 0;padding-left:18px}.combat-box .muted{color:var(--muted)}.result-grid{grid-template-columns:1fr auto;gap:4px 16px;margin:10px 0;display:grid}.result-grid span{color:var(--muted)}.result-grid b.in{color:var(--gold)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.modal-actions button.primary{padding:8px 20px;font-size:14px}button.danger{background:#c23b3b;border-color:#ff6b6b}button.danger:hover:not(:disabled){background:#d94a4a}.ship-label,.beast-label{color:var(--text);text-shadow:0 0 6px #000;white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;gap:2px;font-size:11px;display:flex}.ship-label .bar{width:40px;height:4px}.ship-label .bar s{background:#7dff9c}.ship-label.red b{color:#ff5a5a}.ship-label.red .bar s{background:#ff5a5a}.ship-label.me:not(.red){display:none}.beast-label b{color:var(--gold);font-size:13px}.beast-label .bar{width:120px;height:6px}.beast-label .bar s{background:var(--gold)}.beast-label span{color:var(--muted);font-size:10px}.beast-indicators{pointer-events:none;position:absolute;inset:0;overflow:hidden}.beast-indicator{color:var(--gold);text-shadow:0 0 6px #000;white-space:nowrap;flex-direction:column;align-items:center;font-size:11px;display:flex;position:absolute;transform:translate(-50%,-50%)}.beast-indicator i{border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:14px solid var(--gold);filter:drop-shadow(0 0 4px #ff8a3d);width:0;height:0}.beast-swatch{background:radial-gradient(circle,#ffe27a,#ff8a3d)}@media (pointer:coarse),(width<=760px){.fire-button:not(.hidden){touch-action:none;background:radial-gradient(circle,#ff6b6b99,#c23b3b99);border:2px solid #ffb4b4b3;border-radius:50%;width:76px;height:76px;font-size:16px;display:block;position:fixed;bottom:128px;right:18px}.combat-ship .keys{display:none}}@media (width<=760px){.combat-ship{width:auto;padding:8px 10px;left:184px;right:12px}.bar-row{grid-template-columns:28px 1fr 48px;gap:6px;font-size:12px}.pk-row .muted{display:none}.beast-panel{padding:8px 12px;top:164px}.beast-panel .beast-meta:last-of-type span:last-child{display:none}.combat-box{font-size:13px}}.fire-button.out{opacity:.45}.camera-reset{color:var(--accent);padding:8px 12px;font-size:13px;top:50%;right:12px;transform:translateY(-50%)}.camera-reset.hidden{display:none}@media (pointer:coarse){.key-hint{display:none}}@media (width<=760px){.wide-only,.brand small{display:none}.topbar{gap:6px 8px;padding:6px 10px;top:8px;left:8px;right:8px}.brand{gap:6px;font-size:14px}.topbar .actions{gap:5px}.topbar .actions button{padding:4px 8px;font-size:12px}.starmap{width:152px;bottom:8px;left:8px}.starmap-head{margin-bottom:4px}.flight{margin-top:6px;font-size:11px}.flight-row{white-space:nowrap;grid-template-columns:auto 1fr auto 1fr;gap:2px 4px}.flight .hint{font-size:11px}.starmap button.wide{white-space:nowrap;text-overflow:ellipsis;margin-top:6px;padding:6px 8px;font-size:12px;overflow:hidden}.combat-ship{bottom:8px;left:168px;right:8px}.camera-reset{padding:6px 10px;font-size:12px;top:auto;bottom:216px;right:8px;transform:none}}
