:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#e6f7fa;background:#07101c;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}
.app{display:grid;grid-template-columns:minmax(0,1fr) 340px;width:100%;height:100dvh;min-height:480px}
.stage{position:relative;overflow:hidden;background:#07101c}
.viewport{position:absolute;inset:0}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}
.stage:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 51% 46%,transparent 25%,rgba(3,9,17,.43) 100%);pointer-events:none}
.stage-top{position:absolute;left:38px;top:33px;pointer-events:none;z-index:2;text-shadow:0 4px 20px #03111a}
.eyebrow{color:#8feae5;font-weight:800;font-size:11px;letter-spacing:.24em;display:flex;align-items:center;gap:14px}.pill{font-size:9px;letter-spacing:.12em;font-weight:600;padding:5px 8px;border:1px solid #476773;border-radius:3px;color:#9aafbe}
h1{font-size:clamp(30px,3.5vw,56px);line-height:1.05;letter-spacing:-.058em;margin:18px 0 12px;font-weight:550}h1 em{font-style:normal;color:#80e7e4}
.stage-top p{font-size:12px;color:#9aafb9;letter-spacing:.02em}.reticle{pointer-events:none;position:absolute;inset:14% 15%;border:1px solid rgba(120,205,218,.055);z-index:1}.reticle:before,.reticle:after{content:"";position:absolute;width:12px;height:12px;border-color:rgba(140,242,238,.3);border-style:solid}.reticle:before{left:-1px;top:-1px;border-width:1px 0 0 1px}.reticle:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;color:rgba(149,228,234,.22)}
.stage-bottom{z-index:2;pointer-events:none;display:flex;gap:35px;position:absolute;left:38px;right:30px;bottom:27px;border-top:1px solid rgba(124,211,211,.13);padding-top:18px;flex-wrap:wrap}
.hud-datum{display:flex;flex-direction:column;gap:6px}.hud-datum small{font-size:9px;letter-spacing:.16em;color:#728d9c}.hud-datum b{font-size:11px;letter-spacing:.1em;font-weight:550;color:#d4e5ec}
.inspector{background:#0c1523;border-left:1px solid #213144;display:flex;flex-direction:column;min-height:0;z-index:3}.panel-header{height:92px;display:flex;align-items:center;gap:14px;padding:20px 25px;border-bottom:1px solid #1d3041;flex-shrink:0}.panel-header .hex{font-size:30px;color:#86e6dd}.panel-header strong{display:block;letter-spacing:.19em;font-size:12px}.panel-header small{font-size:9px;letter-spacing:.16em;color:#728e9d;margin-top:6px;display:block}
.scroll{padding:4px 25px 18px;overflow-y:auto;min-height:0;scrollbar-color:#293f51 transparent;scrollbar-width:thin}.section-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #223141;padding-top:22px;margin-top:22px;margin-bottom:19px;font-size:10px;letter-spacing:.17em;color:#9db3bc;font-weight:750}.section-head:first-child{margin-top:14px;border-top:none}.live{color:#67ddd1;font-size:9px;letter-spacing:.12em}.live i{display:inline-block;vertical-align:middle;background:#56cfc6;width:6px;height:6px;border-radius:50%;box-shadow:0 0 9px #56cfc6;margin-right:5px}.live.paused{color:#829da9}.live.paused i{background:#718798;box-shadow:none}
.action-row{display:flex;gap:7px}.action-row button{border:1px solid #32465b;background:#142436;border-radius:5px;color:#dfeff3;height:39px;font-size:11px;letter-spacing:.07em;font-weight:680;transition:background .2s}.action-row button:hover,.audioButton:hover{background:#1f384c}.action-row .primary{background:#62d7d1;color:#09242b;border-color:#62d7d1;flex:1}.action-row .primary:hover{background:#98f5e7}.action-row .accent{flex:1}.action-row .iconButton{width:40px;font-size:21px}.audioButton{width:100%;margin-top:9px;height:37px;background:#142436;border:1px solid #29485a;border-radius:5px;color:#b2e8e7;text-align:left;padding:0 12px;font-size:10px;font-weight:750;letter-spacing:.13em}.audioButton span{float:right;color:#648c9c}.audioButton.on span{color:#76ecd5}
.field{display:flex;flex-direction:column;gap:8px;color:#a4b5c2;font-size:11px;margin-bottom:14px}.field select{height:39px;color:#d3e3eb;background:#142436;border:1px solid #2b4154;border-radius:4px;padding:0 10px;outline:none;width:100%}
.sliderLabel{display:flex;justify-content:space-between;margin:16px 0 4px;font-size:11px;color:#acbfca}.sliderLabel output{font-size:11px;color:#90ede4;font-variant-numeric:tabular-nums}
input[type=range]{width:100%;height:13px;margin:0 0 9px;accent-color:#72dcd3;cursor:pointer}
.colorRow{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#aebdc5;padding:10px 0 15px}.colorRow input{appearance:none;width:42px;height:27px;padding:2px;border:1px solid #365060;background:#142436;border-radius:3px;cursor:pointer}
.toggles{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:10px;color:#b6ced3}.toggles label{display:flex;gap:6px;align-items:center}.toggles input{accent-color:#69ddd0}
.panel-foot{padding:16px 25px 20px;border-top:1px solid #223141;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;flex-shrink:0}.panel-foot b{font-size:11px;letter-spacing:.17em;color:#67e2da}.panel-foot span{font-size:9px;color:#627c8c;letter-spacing:.12em}.panel-foot small{flex-basis:100%;line-height:1.45;font-size:9px;color:#718795}
@media(max-width:790px){html,body{overflow:auto}.app{display:flex;flex-direction:column;height:auto;min-height:100dvh}.stage{height:62vh;min-height:410px}.inspector{min-height:500px;max-height:none}.scroll{overflow:visible}.stage-top{left:22px;top:20px}.stage-bottom{left:22px;gap:18px;bottom:15px}h1{font-size:36px}}
