:root{
  --bg:#071017;--panel:#0d1922e8;--panel2:#101f2b;--line:#203849;--text:#eef7fb;
  --muted:#8ca3b1;--cyan:#68d7dd;--orange:#e8613c;--danger:#ff7b69;--safe:#85dca0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);height:100%;overflow:hidden}
button,input,select{font:inherit}button{border:1px solid var(--line);background:#0d1b25;color:var(--text);border-radius:10px;padding:.7rem .9rem;cursor:pointer}
button:hover,button.active{border-color:var(--cyan);color:#fff}.primary{background:var(--cyan);border-color:var(--cyan);color:#071017;font-weight:800}
.ghost{background:transparent}.muted{color:var(--muted)}.hidden{display:none!important}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:800}
.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:#08131bd9;backdrop-filter:blur(14px);position:relative;z-index:20}
.brand{font-weight:900;letter-spacing:.08em}.sub{font-size:.72rem;color:var(--muted);margin-top:2px}.app{height:calc(100vh - 64px - 62px)}
.map-wrap{position:relative;width:100%;height:100%;overflow:hidden}.map-wrap canvas{width:100%;height:100%;display:block;background:radial-gradient(circle at center,#0d1b25 0,#071017 48%,#04080d 100%)}
.panel{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(15px);box-shadow:0 16px 45px #0006}
.object-panel{left:14px;top:58px;width:230px;max-height:calc(100% - 125px);padding:12px;overflow:auto}.detail-panel{right:14px;bottom:16px;width:310px;padding:15px}
.object-list{display:grid;gap:6px;margin-top:10px}.object-btn{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:#0a151d}
.object-btn small{color:var(--muted)}h1,h2,h3{margin:.25rem 0 .8rem}.detail-panel h2{font-size:1.3rem}
.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.status-grid div{background:#09131b;border:1px solid #173040;border-radius:10px;padding:8px}
.status-grid span{display:block;color:var(--muted);font-size:.72rem}.status-grid strong{font-size:.94rem}.orbit-readout{margin:10px 0;color:#c6dae4;font-size:.82rem}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions .primary{grid-column:1/-1}
.hud{position:absolute;top:12px;display:flex;gap:6px}.hud-left{left:14px}.hud-right{right:14px}.chip{padding:.5rem .65rem;border-radius:999px;background:#0a151dcf;font-size:.8rem}.zoom{position:absolute;right:14px;top:58px;display:grid;gap:6px}.zoom button{width:42px;height:42px;padding:0;font-weight:900}
.resource-bar{position:absolute;left:50%;top:12px;transform:translateX(-50%);display:flex;gap:18px;background:#08131bd9;border:1px solid var(--line);padding:.48rem .8rem;border-radius:999px;font-size:.75rem;color:var(--muted)}
.resource-bar strong{color:var(--text)}.bottom-nav{height:62px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#08131b;position:relative;z-index:30;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav button{border:0;border-radius:0;background:transparent;color:var(--muted);font-size:.8rem;padding:.4rem}.bottom-nav button.active{color:var(--cyan);box-shadow:inset 0 2px 0 var(--cyan)}
.view{height:100%;overflow:auto;padding:18px 18px 80px;background:linear-gradient(180deg,#08131b,#071017)}.view-head{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 18px}
.assembly-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px}.card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px}
label{display:grid;gap:6px;margin:12px 0;color:#bfd0d9;font-size:.84rem}input,select{width:100%;background:#08131b;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:.65rem}
input[type="range"]{padding:0}.meter-row{display:flex;justify-content:space-between;margin-top:14px;font-size:.82rem}.meter{height:8px;background:#071017;border:1px solid var(--line);border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;background:var(--cyan)}
.parts-list{display:grid;gap:8px}.part{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0a151d}.part small{display:block;color:var(--muted)}
.mission-list{max-width:900px;margin:auto;display:grid;gap:10px}.mission{display:grid;grid-template-columns:1fr auto;gap:10px}.concept{max-width:900px;margin:auto;line-height:1.6}
dialog{width:min(92vw,520px);border:1px solid var(--line);border-radius:16px;background:#0b1720;color:var(--text);box-shadow:0 30px 80px #000b;padding:18px}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.warning{background:#3a1d17;border:1px solid #87402f;color:#ffd2c8;padding:10px;border-radius:10px;font-size:.84rem}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px}.check input{width:auto}.estimate{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;color:#c5d7e0}.inset{padding:12px}
@media(max-width:800px){
  .topbar{height:56px;padding:0 12px}.app{height:calc(100vh - 56px - 68px)}.bottom-nav{height:68px}
  .sub{font-size:.65rem}.object-panel{left:8px;top:52px;width:178px;max-height:42%;padding:8px}.detail-panel{left:8px;right:8px;bottom:8px;width:auto;padding:11px}
  .resource-bar{top:auto;bottom:216px;max-width:calc(100vw - 16px);overflow:auto;white-space:nowrap;justify-content:flex-start}.hud{top:8px}.hud-left{left:8px}.hud-right{right:8px}.hud-left .chip:nth-child(n+2){display:none}
  .zoom{right:8px;top:50px}.zoom button{width:38px;height:38px}.status-grid{grid-template-columns:repeat(3,1fr);gap:5px}.status-grid div{padding:6px}.status-grid strong{font-size:.8rem}.actions{grid-template-columns:repeat(3,1fr)}.actions .primary{grid-column:auto}.actions button{padding:.55rem .4rem;font-size:.76rem}
  .assembly-grid{grid-template-columns:1fr}.view{padding:14px 10px 90px}.bottom-nav button{font-size:.68rem}.object-btn{padding:.55rem}.object-btn small{font-size:.68rem}
}
@media(max-width:480px){
  .brand{font-size:.9rem}.topbar .ghost{font-size:.72rem;padding:.5rem}.object-panel{width:154px}.resource-bar{font-size:.66rem;gap:10px}.detail-panel h2{margin:.15rem 0 .5rem}.orbit-readout{margin:7px 0}
}
.brand-button{border:0;background:transparent;padding:0;text-align:left;border-radius:0}
.start-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 25%,#143447,#071017 65%)}
.start-card{width:min(100%,440px);padding:28px;background:var(--panel2);border:1px solid var(--line);border-radius:20px;display:grid;gap:12px}
.start-card h1{font-size:2rem}.start-card p{margin:0}.start-card .danger{color:var(--danger);border-color:var(--danger)}
.map-wrap canvas{touch-action:none}.detail-heading{display:flex;justify-content:space-between;align-items:center}.detail-heading button{padding:.25rem .65rem;font-size:1.3rem}
@media(max-width:800px){
 .detail-panel{left:8px;right:8px;bottom:8px;max-height:min(46dvh,360px);overflow:auto;padding:14px;z-index:8}
 .object-panel{left:8px;top:48px;width:min(300px,calc(100vw - 70px));max-height:55dvh;z-index:10}
 .resource-bar{bottom:8px;left:8px;transform:none;max-width:calc(100vw - 16px)}
 .detail-panel:not(.hidden)~.resource-bar{display:none}
 .hud-left .chip:nth-child(n){display:inline-flex}.hud-left{max-width:65%;flex-wrap:wrap}
 .status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.status-grid strong{font-size:.95rem}
 .actions{grid-template-columns:1fr 1fr}.actions .primary{grid-column:1/-1}
}
