:root{color-scheme:dark;--ink:#e7f3f4;--muted:#9db7bd;--teal:#6de4d5;--bg:#07131a;--panel:#10222c;--line:#25414c;--r:12px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:radial-gradient(ellipse at 10% -8%,#244451 0%,transparent 35%),linear-gradient(170deg,#081920 0%,#0c1d26 62%,#091820 100%)}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:disabled{opacity:.35;cursor:default}h1,h2,h3,p{margin-top:0}p{line-height:1.65}.mast{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid #30455077;background:#0b1a228e;gap:16px}.mast-brand{display:flex;align-items:center;gap:14px}.mast-brand strong{display:block;font-size:11px;letter-spacing:.19em}.mast-brand small{display:block;font-size:11px;color:#829ca6;margin-top:4px}.logo{display:grid;place-items:center;width:36px;height:36px;color:#7ceee0}.logo svg{width:34px;height:34px}.mast-right{font-size:10px;letter-spacing:.13em;color:#9bb5b8;white-space:nowrap}.online-dot,.telemetry-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px #46d8c899;margin-right:8px}.head-divider{border-left:1px solid #56717c;margin:0 18px}.introline{max-width:1580px;padding:52px clamp(20px,4vw,64px) 34px;margin:auto}.eyebrow{display:flex;gap:15px;align-items:center;font-size:10px;font-weight:750;letter-spacing:.22em;color:var(--teal)}.eyebrow-line{width:27px;border-top:1px solid #6fe9da}.introline h1{font-size:clamp(40px,5.4vw,76px);letter-spacing:-.062em;line-height:1.08;margin:18px 0 13px;font-weight:680}.introline h1 em{font-style:normal;color:#72e8db}.introline p{font-size:clamp(13px,1.1vw,16px);color:#a0b7be;max-width:740px;line-height:1.7;margin:0}.shell{max-width:1580px;padding:0 clamp(20px,4vw,64px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:22px;align-items:start}.visual{min-width:0}.stage{height:clamp(520px,51.4vw,720px);min-width:0;position:relative;isolation:isolate;overflow:hidden;border:1px solid #2c4d56;border-radius:var(--r);background:radial-gradient(ellipse at 52% 52%,#244554 0%,#152d3b 43%,#0a1b25 100%);box-shadow:inset 0 0 80px #0a1b2588,0 25px 70px #0003}.stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;display:block}.stage canvas:active{cursor:grabbing}.stage-vignette{position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at center,transparent 38%,#06172150 100%)}.top-left-hud{position:absolute;top:23px;left:24px;pointer-events:none}.telemetry{font-size:9px;letter-spacing:.18em;color:#abd4d5;font-weight:700}.hud-model{margin-top:18px;font-size:23px;font-weight:350;letter-spacing:.08em;color:#ecf9fa;text-shadow:0 2px 10px #05161dcc}.hud-model strong{font-weight:720}.hud-model small{display:block;font-size:9px;font-weight:680;letter-spacing:.13em;color:#8daeb8;margin-top:6px}.top-right-hud{position:absolute;top:19px;right:19px;display:flex;gap:7px}.icon-btn{width:37px;height:37px;display:grid;place-items:center;padding:9px;background:#102a35e8;border:1px solid #41616b;border-radius:8px;color:#d9edef;transition:background .2s,border-color .2s}.icon-btn:hover{background:#1d4451;border-color:#75e8df}.icon-btn.special{background:#296c69;border-color:#4ec1b6;color:#e9fffc}.icon-btn svg,.disclaimer svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.mini-scale{position:absolute;bottom:89px;left:27px;letter-spacing:.14em;font-size:9px;color:#97b7bd}.mini-scale span{margin:0 5px}.tick{height:16px;width:85px;border:1px solid #5d94a1;border-top:none;position:relative;margin-bottom:6px}.tick:before,.tick:after{content:"";position:absolute;top:0;height:4px;width:1px;background:#5d94a1}.tick:before{left:32%}.tick:after{left:67%}.lower-hud{position:absolute;bottom:0;left:0;right:0;padding:18px 25px 20px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#0b1d25ec,#0e2730bd);border-top:1px solid #3655609e}.small-upper,.lower-stats small{font-size:9px;letter-spacing:.18em;color:#829fa5;font-weight:730}.lower-hud strong{display:block;margin-top:4px;font-size:15px;font-weight:620}.lower-stats{display:flex;gap:21px;text-align:right}.lower-stats strong{display:inline;font-size:15px;color:#74e8d8}.lower-stats small{display:inline;font-size:8px}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.optic-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.035em;color:#d4f5ee;background:#0d2a33dd;border:1px solid #4d8586;border-radius:4px;padding:4px 7px;box-shadow:0 4px 15px #0008}.optic-label:after{content:"";position:absolute;left:50%;top:100%;height:15px;border-left:1px solid #6dd7cd}.toast{position:absolute;left:50%;top:22%;transform:translate(-50%,-8px);padding:10px 14px;font-size:12px;color:#def9f1;background:#163b41eb;border:1px solid #70b5a7;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.toast.active{opacity:1;transform:translate(-50%,0)}.view-rail{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;border:1px solid var(--line);background:#102631;border-radius:9px;padding:7px 8px}.view-set{display:flex;gap:3px}.view-set button{border:1px solid transparent;border-radius:6px;background:transparent;color:#a5b7bc;padding:10px 12px;font-size:11px;font-weight:670;white-space:nowrap}.view-set button:hover{color:#eafaf7;background:#244550}.view-set button.active{color:#b4fff1;background:#275355;border-color:#3f7f79}.view-icon{font-size:15px;margin-right:6px;color:#86dcd0}.view-hint{white-space:nowrap;color:#698d9b;letter-spacing:.09em;font-size:9px;padding-right:8px}.view-hint span{color:#456c78}.below-stage{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 1px 0}.annotation{display:flex;align-items:start;gap:20px;color:#a2b7bd;font-size:12px;line-height:1.7;max-width:560px}.annotation strong{color:#e5f2f2}.annotation-marker{white-space:nowrap;color:#5ed9ce;letter-spacing:.15em;font-size:10px;font-weight:740;margin-top:3px}.camera-presets{display:flex;gap:5px}.camera-presets button{color:#b4c6ca;background:#122a36;border:1px solid #2a4b59;border-radius:6px;padding:9px 11px;font-size:11px}.camera-presets button:hover{border-color:#61bcb7;color:#e7f8f8}.subsystem-panel{margin:55px 0 70px}.heading-line{display:flex;justify-content:space-between;padding:0 1px 14px;border-bottom:1px solid var(--line)}.panel-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:730;color:var(--teal)}.sub-count{font-size:10px;letter-spacing:.1em;color:#6e939a}.subsystem-panel h2{font-size:28px;font-weight:660;letter-spacing:-.03em;margin:19px 0 6px}.subsystem-panel>p{font-size:12px;color:#a1b8be;margin:0 0 22px}.group-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.group-item{text-align:left;display:flex;gap:11px;align-items:start;padding:16px 12px;background:#102630;border:1px solid #244551;border-radius:8px;color:#e1f0ef;min-height:92px;transition:.15s}.group-item:hover{background:#193b43;border-color:#4ea59f}.group-index{font-size:10px;color:#4fd5c4;font-weight:750;padding-top:3px}.group-item strong{display:block;font-size:11px;font-weight:650;line-height:1.4}.group-item small{display:block;font-size:10px;line-height:1.3;color:#819fa9;margin-top:6px}.group-number{margin-left:auto;color:#7499a4;font-size:11px;flex-shrink:0}.controls{background:linear-gradient(180deg,#122630,#0d202a);border:1px solid #2d4c55;border-radius:var(--r);box-shadow:0 16px 40px #05131a44;overflow:hidden}.controls-content{padding:25px 23px}.control-intro .panel-eyebrow{display:block}.control-intro h2{font-size:23px;letter-spacing:-.035em;font-weight:650;margin:11px 0 5px}.control-intro p{font-size:12px;color:#94aeb7;margin:0 0 21px}.control-group{padding:19px 0;border-top:1px solid #304c55}.group-title{font-size:10px;font-weight:770;letter-spacing:.13em;color:#b1c7cb;margin-bottom:22px}.group-title span{color:#52d7c8;margin-right:9px}.control-label{display:flex;align-items:center;justify-content:space-between;color:#b9cbd0;font-size:11px;font-weight:650;margin-bottom:11px}.control-label output{color:#72e9db;font-size:11px}input[type=range]{width:100%;height:4px;appearance:none;background:#34505c;border-radius:4px;margin:0 0 21px;accent-color:#68e4d4}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#87fff0;box-shadow:0 0 0 3px #1c3c46;border:1px solid #cafbf3}input[type=range]::-moz-range-thumb{height:14px;width:14px;background:#87fff0;border:1px solid #cafbf3;border-radius:50%}select{width:100%;color:#e0eeee;background:#1a333f;border:1px solid #385661;border-radius:6px;font-size:11px;padding:10px 8px;margin-bottom:12px}.toggle-line{display:flex;justify-content:space-between;align-items:center;margin:4px 0}.toggle-line label{font-size:11px;color:#b9cbd0}.toggle-line input{width:16px;height:16px;accent-color:#6de4d5;cursor:pointer}.quiet-button,.assembly-actions button{width:100%;padding:11px 12px;color:#c7e7e1;font-size:12px;background:#1a3a42;border:1px solid #3e736e;border-radius:6px}.guide-start{margin:5px 0 17px}.quiet-button:hover,.assembly-actions button:hover{background:#29585a}.control-subnote{font-size:11px;color:#859fa8;line-height:1.55;margin:-9px 0 21px}.physics-controls select{margin-bottom:23px}.instrument-readouts{border:1px solid #35535e;border-radius:9px;background:radial-gradient(ellipse at 10% 0%,#1d4850 0%,#122b36 49%,#102631 100%);padding:16px;margin:5px 0 21px}.readout-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #315a60;padding-bottom:11px}.live-tag{color:#93fff0;border:1px solid #4c9a90;padding:3px 6px;border-radius:4px;font-size:9px;letter-spacing:.12em;font-weight:750}.readout-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.readout{padding:16px 6px 12px 2px;border-bottom:1px solid #31515a}.readout:nth-child(odd):not(.readout-wide){border-right:1px solid #31515a}.readout:nth-child(even){padding-left:15px}.readout>span{font-size:9px;letter-spacing:.1em;color:#9abfc4;font-weight:700}.readout>strong{display:block;color:#d7fbf5;font-weight:580;font-size:29px;letter-spacing:-.04em;margin-top:5px;font-variant-numeric:tabular-nums}.readout>small,.readout strong small{display:block;color:#79aeb5;font-size:10px;letter-spacing:.04em}.readout-wide{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:0;flex-wrap:wrap}.readout-wide>strong{font-size:25px;margin:0}.readout-wide strong small{display:inline;font-size:13px}.readout-wide>small{flex-basis:100%}.formula-check{border-top:1px solid #36515e;padding-top:12px;display:flex;align-items:start;justify-content:space-between;gap:12px}.formula-check>span:last-child{text-align:right}.formula-check strong{display:block;font-size:11px}.formula-check small{display:block;color:#8fadb5;font-size:10px;margin-top:5px}.formula-check .pass{color:#83e6c5;font-size:9px}.selection-panel{padding:17px;border:1px solid #41636b;background:#142e38;border-radius:8px;margin-bottom:20px}.selection-panel h3{font-size:13px;margin:9px 0 7px}.selection-panel p{font-size:11px;color:#9eb8bd;line-height:1.55;margin:0}.science-section{border-top:1px solid #345360;padding-top:11px}.science-button{width:100%;display:flex;justify-content:space-between;align-items:center;color:#b0d3d4;background:transparent;border:0;padding:11px 0;font-size:11px;letter-spacing:.14em;font-weight:750}.science-button span{font-size:22px;font-weight:300}.science-section h3{font-size:14px;margin:8px 0}.science-section p{font-size:11px;color:#a1bcc2;line-height:1.7}.disclaimer{display:flex;gap:10px;border-top:1px solid #35515b;padding-top:17px;margin-top:14px;color:#8eaab1}.disclaimer svg{flex-shrink:0;width:19px;height:19px}.disclaimer p{margin:0;font-size:10px;line-height:1.6}.assembly-controls #assemblyName{font-size:13px}.assembly-controls p{font-size:11px;color:#95acb7}.assembly-progress{font-size:11px;color:#65d6cc;font-weight:800;letter-spacing:.09em;margin-bottom:11px}.assembly-actions{display:flex;gap:9px}.footer{padding:28px clamp(20px,4vw,64px) 40px;border-top:1px solid #31505c;display:flex;justify-content:space-between;gap:12px;color:#5e8591;letter-spacing:.13em;font-size:9px}.mobile-control-toggle{display:none}
@media(max-width:1200px){.shell{grid-template-columns:minmax(0,1fr) 316px;gap:16px}.view-hint{display:none}.view-set button{padding:10px 8px}.controls-content{padding:21px 16px}.group-list{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-presets{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.stage{height:min(70vh,610px)}.controls{grid-row:2}.introline{padding-top:36px}.controls-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px}.control-intro,.instrument-readouts,.selection-panel,.science-section,.disclaimer{grid-column:1/-1}.control-intro p{margin-bottom:0}.control-group{padding:18px 0}.subsystem-panel{margin-bottom:38px}}
@media(max-width:540px){.mast{padding:0 17px;height:62px}.mast-right{font-size:8px;letter-spacing:.03em}.head-divider{display:none}.mast-brand{gap:6px}.mast-brand strong{font-size:9px}.mast-brand small{font-size:8px}.logo{width:29px}.logo svg{width:27px}.introline{padding:30px 18px 24px}.introline h1{font-size:43px}.introline p{font-size:12px}.shell{padding:0 10px;gap:18px}.stage{height:clamp(390px,118vw,540px)}.top-left-hud{left:13px;top:12px}.telemetry{font-size:7px}.hud-model{font-size:16px;margin-top:11px}.hud-model small{font-size:7px}.top-right-hud{right:11px;top:11px;gap:5px}.icon-btn{height:32px;width:32px;padding:7px}.mini-scale{bottom:80px;left:14px;font-size:7px}.lower-hud{padding:15px 13px}.lower-hud strong{font-size:12px}.lower-stats{gap:9px}.lower-stats strong{font-size:12px}.lower-stats small{font-size:7px}.view-rail{padding:5px;overflow-x:auto;scrollbar-width:thin}.view-set{min-width:max-content}.view-set button{font-size:10px;padding:9px 7px}.view-icon{font-size:13px;margin-right:3px}.optic-label{font-size:8px;padding:3px 4px}.below-stage{align-items:stretch;flex-direction:column;gap:15px;margin:22px 7px 0}.camera-presets{justify-content:flex-start}.group-list{grid-template-columns:1fr 1fr;gap:7px}.group-item{padding:12px 8px;gap:6px;min-height:90px}.group-item strong{font-size:10px}.group-item small{font-size:9px}.subsystem-panel{margin:42px 8px 36px}.subsystem-panel h2{font-size:23px}.controls-content{grid-template-columns:1fr;gap:0;padding:20px 17px}.control-intro,.instrument-readouts,.selection-panel,.science-section,.disclaimer{grid-column:1}.controls{margin:0 1px}.footer{padding:24px 20px;flex-direction:column;font-size:8px}}
body.embed-mode{height:100vh;height:100dvh;overflow:hidden}body.embed-mode .mast,body.embed-mode .introline,body.embed-mode .below-stage,body.embed-mode .subsystem-panel,body.embed-mode .footer{display:none}body.embed-mode .shell{padding:0;max-width:none;width:100%;height:100vh;height:100dvh;gap:0;grid-template-columns:minmax(0,1fr) 310px}body.embed-mode .visual{height:100%;display:flex;flex-direction:column;min-height:0}body.embed-mode .stage{flex:1;height:auto;min-height:0;border-radius:0}body.embed-mode .view-rail{margin:0;border-radius:0;flex:none}
@media(max-width:850px){body.embed-mode .shell{display:block;position:relative}body.embed-mode .visual{height:100vh;height:100dvh}body.embed-mode .stage{height:calc(100dvh - 57px);flex:none}body.embed-mode .controls{position:absolute;bottom:0;right:0;left:0;z-index:5;max-height:min(47dvh,400px);border-radius:12px 12px 0 0;transform:translateY(calc(100% - 44px));transition:transform .25s;overflow:auto;background:#0f2530f9}body.embed-mode .controls.expanded{transform:translateY(0)}body.embed-mode .controls-content{display:block;padding-top:14px}body.embed-mode .mobile-control-toggle{height:44px;display:flex;justify-content:space-between;align-items:center;background:#245353;color:#e7fffc;font-size:10px;letter-spacing:.13em;font-weight:700;border:0;border-bottom:1px solid #55a09b;width:100%;padding:0 17px}body.embed-mode .view-rail{height:57px}body.embed-mode .stage{height:calc(100dvh - 57px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
