:root{color-scheme:dark;--bg:#080e17;--panel:#0b121e;--line:#273343;--light:#eff5f9;--muted:#8597a9;--cyan:#86e2ee;--gold:#e8ad66;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--light)}button,select,input{font:inherit}.app{display:grid;grid-template-columns:385px minmax(0,1fr);width:100%;height:100dvh;min-height:700px}.panel{z-index:2;overflow-y:auto;background:linear-gradient(170deg,#101b28,#080e17 48%,#0a1421);border-right:1px solid #344052;padding:26px 25px 30px;scrollbar-width:thin;scrollbar-color:#45556b transparent}.brand{display:flex;gap:13px;align-items:center}.brand-mark{border:1px solid #729da8;display:grid;place-items:center;width:48px;height:48px;color:var(--light);font-size:26px;font-weight:800;letter-spacing:-4px;transform:rotate(-4deg)}.brand-mark span{color:var(--gold)}.eyebrow{font-size:8px;letter-spacing:2.7px;color:var(--cyan);font-weight:800}.brand h1{font-size:22px;line-height:1;margin:7px 0 0;letter-spacing:.3px;font-weight:750}.brand h1 em{font-style:normal;color:#97a9b7;font-weight:500}.lead{color:#9dabbc;max-width:275px;font-size:12.5px;line-height:1.6;margin:20px 0}.status-line{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#a6bac6}.led,.live-dot{background:#77eabf;border-radius:100%;width:6px;height:6px;box-shadow:0 0 12px #65f5bc}.seed{margin-left:auto;color:#778597;font-size:9px;letter-spacing:.7px}.section-title{font-weight:750;font-size:10px;letter-spacing:1.3px;color:#d6e5e8;margin:26px 0 15px;display:flex;align-items:center;gap:10px}.section-title>span{color:var(--gold);font-size:10px}.section-title b{margin-left:auto;font-size:8px;letter-spacing:.8px;color:#6e8598}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat{min-height:101px;background:linear-gradient(155deg,#182639,#101a27);border:1px solid #293a4b;padding:12px;border-radius:5px}.stat>div{font-size:9px;letter-spacing:1px;color:#8da1b0;font-weight:700}.stat strong{display:block;font-size:29px;margin:8px 0 0;font-variant-numeric:tabular-nums;letter-spacing:-1px;line-height:1;color:#f4f3e9}.stat small{font-size:10px;color:var(--cyan)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{font-size:9px;color:#8ca0b0;font-weight:800;letter-spacing:1px;display:block}.field select{display:block;background:#152333;border:1px solid #34495a;width:100%;color:#e6eff2;padding:10px 7px;margin-top:7px;outline:none;border-radius:3px;font-size:10px;letter-spacing:0;cursor:pointer}.parameter{margin:16px 0}.param-head{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.param-head span{color:#b4c2d0}.param-head output{color:#efd3a7;font-variant-numeric:tabular-nums}.parameter input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;border-radius:3px;background:#344d5f;cursor:pointer;outline:none}.parameter input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:13px;width:13px;border-radius:50%;background:#9bdeec;border:2px solid #0a1523;box-shadow:0 0 0 1px #89cfe5}.toggles{display:grid;gap:13px}.toggles label{display:flex;align-items:center;gap:10px;font-size:12px;color:#cad5dd;cursor:pointer}.toggles input{accent-color:#8de8f2}.controls-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:6px;margin-top:24px}.button{border:1px solid #405266;background:#1c293a;color:#e5eef0;padding:11px 5px;font-size:9px;letter-spacing:.5px;font-weight:800;cursor:pointer;border-radius:3px}.button:hover{background:#29394e}.button.primary{background:#e4ab68;border-color:#e4ab68;color:#192332}.button.primary:hover{background:#f3bd7c}.physics-note{color:#6f8598;font-size:10px;line-height:1.75;margin-top:23px}.viewer{position:relative;overflow:hidden;background:radial-gradient(ellipse at 52% 45%,#1d3447 0,#0d1a2a 42%,#050b14 90%);min-height:500px}.topbar,.bottom-bar{position:absolute;z-index:2;left:31px;right:31px;display:flex;justify-content:space-between;align-items:center}.topbar{top:30px}.tiny-label,.version{font-size:9px;letter-spacing:1.7px;color:#94acb9}.tiny-label{display:flex;align-items:center;gap:10px}.live-dot{width:5px;height:5px}.version{color:#668296}.viewport-label{z-index:1;position:absolute;left:44px;top:98px;pointer-events:none;max-width:350px}.viewport-label>span{font-size:10px;color:var(--gold);letter-spacing:2.7px;font-weight:800}.viewport-label h2{font-size:clamp(28px,3.1vw,48px);margin:12px 0 7px;line-height:1.05;letter-spacing:-1.8px;font-weight:650;color:#edf3f4}.viewport-label p{font-size:12px;color:#92abba;line-height:1.6;max-width:295px}#stage{position:absolute;inset:0;touch-action:none;cursor:grab}#stage:active{cursor:grabbing}#stage canvas{width:100%;height:100%;display:block}.viewport-info{pointer-events:none;position:absolute;bottom:84px;right:32px;display:flex;align-items:center;gap:15px;color:#778f9d;font-size:9px;letter-spacing:1.2px}.axis{display:flex;gap:6px;font-weight:900}.axis-x{color:#fa7974}.axis-y{color:#8dcb91}.axis-z{color:#76c4ff}.bottom-bar{bottom:29px;display:flex;color:#8197a8;border-top:1px solid #283b4a;padding-top:17px;font-size:10px;letter-spacing:1px}.bottom-bar button{background:transparent;color:#bdd1db;border:0;cursor:pointer;font-size:10px;letter-spacing:1px}.bottom-bar button span{color:var(--gold);font-size:18px;vertical-align:middle}.error{position:absolute;z-index:10;inset:25%;border:1px solid #b67c62;background:#1f1d25;padding:35px;border-radius:8px;color:#e4bda7}.error p{line-height:1.7;color:#f0dfd0;font-size:13px}@media(max-width:950px){.app{grid-template-columns:315px 1fr}.panel{padding:20px 16px}.version{display:none}.viewport-label{left:24px;top:105px}.viewport-info{bottom:77px}.topbar,.bottom-bar{left:21px;right:21px}}@media(max-width:730px){.app{display:flex;flex-direction:column;min-height:100dvh;height:auto}.viewer{height:64vh;min-height:470px;order:0}.panel{order:1;max-height:none;overflow:visible;border-right:0;border-top:1px solid #354a5e;padding:24px}.viewport-label{top:82px}.viewport-label h2{font-size:34px}.viewport-label p{font-size:11px}.viewport-info{bottom:70px;font-size:8px}.version{display:none}}
