
:root{color-scheme:dark;--bg:#0c131b;--ink:#e9e6d8;--muted:#9eabb4;--gold:#caa779;--rule:#33424c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
.app{display:grid;grid-template-columns:minmax(0,1fr) 345px;grid-template-rows:64px minmax(650px,calc(100vh - 105px)) 41px;min-height:100vh;max-width:1920px;margin:auto}
.top{grid-column:1/-1;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:30px;padding:0 35px;background:#111b25}
.logo{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.1em;font-size:30px}.logo i{color:var(--gold);font-style:normal;font-size:16px}.overline,.ref{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.23em}.ref{margin-left:auto;color:var(--gold)}
.scene-area{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 45% 40%,#273744,#0b131d 67%)}#canvas{position:absolute;inset:0}#canvas canvas{display:block;width:100%;height:100%}
.hero-title{position:absolute;z-index:1;left:6%;top:7%;pointer-events:none;text-shadow:0 2px 16px #0a1319}.hero-title small{font-size:10px;color:var(--gold);font-weight:700;letter-spacing:.23em}.hero-title h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(47px,6vw,105px);font-weight:500;letter-spacing:-.075em;line-height:.88;margin:25px 0 16px}.hero-title h1 span{color:var(--gold)}.hero-title p{color:#c2cbd0;letter-spacing:.07em;font-size:12px}
.loading{position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);font-size:12px;letter-spacing:.18em;color:var(--gold)}.orbit-hint{position:absolute;bottom:30px;left:36px;font-size:10px;color:#9daab0;letter-spacing:.18em}.crosshair{position:absolute;right:36px;bottom:25px;color:var(--gold);font-size:28px}
.control-panel{padding:28px 28px 20px;background:#121f2b;border-left:1px solid var(--rule);overflow-y:auto;display:flex;flex-direction:column;gap:16px}.panel-heading{display:flex;justify-content:space-between;gap:10px;color:var(--gold);font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em}.signal{font-size:9px;color:#72c1a9}.panel-intro{font-size:12px;line-height:1.75;color:#adbac3;margin:0 0 6px}.ctrl label{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.14em;color:#b1c0c9}.ctrl output{font-family:'Space Grotesk',sans-serif;color:#e9c898;font-size:12px}input[type=range]{width:100%;margin-top:15px;accent-color:#cda671;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px}
.meters{display:grid;grid-template-columns:repeat(3,1fr);margin-top:9px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.meters div{padding:17px 5px 14px 0}.meters div+div{border-left:1px solid var(--rule);padding-left:12px}.meters span{display:block;color:var(--muted);font-size:8px;letter-spacing:.08em;white-space:nowrap}.meters strong{display:block;margin-top:8px;color:#f2dfbb;font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:500}
.actions{display:flex;gap:8px}.actions button{flex:1;cursor:pointer;background:var(--gold);border:1px solid var(--gold);border-radius:0;padding:13px 5px;color:#12202c;font-weight:700;font-size:10px;letter-spacing:.065em}.actions .secondary{background:transparent;color:var(--gold);flex:.6}.actions button:hover{filter:brightness(1.1)}.smallprint{margin-top:auto;border-top:1px solid var(--rule);padding-top:18px}.smallprint b{color:#c5b79f;font-size:10px;letter-spacing:.17em}.smallprint p{font-size:10px;line-height:1.65;color:#879ca8}footer{grid-column:1/-1;border-top:1px solid var(--rule);padding:14px 30px;color:#8e9ea5;font-size:9px;letter-spacing:.13em;background:#101b24}footer span{float:right;color:var(--gold)}
@media(max-width:800px){.app{grid-template-columns:1fr;grid-template-rows:56px minmax(480px,62vh) auto 45px}.top{gap:10px;padding:0 16px}.overline{font-size:8px}.ref{display:none}.hero-title{top:8%;left:5%}.hero-title h1{font-size:50px}.hero-title p{max-width:200px}.control-panel{border-left:0;border-top:1px solid var(--rule);padding:25px 23px;gap:17px}.smallprint{margin-top:5px}.orbit-hint{left:15px;bottom:16px;font-size:8px}footer{padding:13px 15px;font-size:8px}footer span{display:none}}
