:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f4f5ee;background:#08090c;font-synthesis:none;--line: #262b30;--muted: #888f93;--acid: #d7ff64;--cyan: #6fe3ff}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 20% 12%,rgba(111,227,255,.09),transparent 34rem),radial-gradient(circle at 84% 68%,rgba(215,255,100,.04),transparent 28rem),#08090c}button,input{color:inherit;font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.44}.app-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:0 clamp(16px,3.5vw,52px)}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font:600 12px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}.brand small{color:#6f797e;font:500 8px/1.5 ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase}.brand-mark{position:relative;width:34px;height:34px;border:1px solid #4c5a60;border-radius:50%}.brand-mark i{position:absolute;display:block;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.brand-mark i:nth-child(1){left:5px;top:6px}.brand-mark i:nth-child(2){right:6px;top:13px;background:var(--acid);box-shadow:0 0 8px var(--acid)}.brand-mark i:nth-child(3){left:12px;bottom:5px}.engine-state{display:flex;align-items:center;gap:8px;color:#99a3a8;font:600 9px/1.4 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.status-dot{width:7px;height:7px;border-radius:50%;background:#ffc857;box-shadow:0 0 10px #ffc8578c;animation:blink 1s infinite}.engine-state[data-state=gpu]{color:var(--acid)}.engine-state[data-state=gpu] .status-dot{background:var(--acid);box-shadow:0 0 12px #d7ff6499;animation:none}.engine-state[data-state=cpu]{color:var(--cyan)}.engine-state[data-state=cpu] .status-dot{background:var(--cyan);box-shadow:0 0 12px #6fe3ff99;animation:none}.engine-state[data-state=error]{color:#ff8c74}.engine-state[data-state=error] .status-dot{background:#ff6b4a;animation:none}.intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:40px;padding:clamp(36px,6vw,84px) 0 clamp(30px,4vw,52px)}.eyebrow{margin:0 0 18px;color:var(--acid);font:600 9px/1 ui-monospace,monospace;letter-spacing:.18em}h1{margin:0;font-size:clamp(44px,6.6vw,88px);font-weight:550;line-height:.88;letter-spacing:-.07em}h1 em{color:var(--cyan);font-style:normal;font-weight:400}.intro>p{max-width:500px;justify-self:end;margin:0 0 4px;color:#a4adb1;font-size:clamp(14px,1.3vw,18px);line-height:1.7}.unsupported-banner{display:none;margin-bottom:22px;padding:16px 18px;border:1px solid #65452f;background:#ff8c570f;color:#ffb88f;font-size:13px;line-height:1.6}.unsupported-banner[data-visible=true]{display:block}.unsupported-banner strong{display:block;margin-bottom:4px;color:#ff9c79;font:600 10px/1.4 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.field-shell{border:1px solid var(--line);background:#0c1013db;box-shadow:0 25px 80px #00000038}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--line)}.control-group{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.control{display:flex;flex-direction:column;gap:5px}.control span{color:#8b9599;font:600 8px/1 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.control-inline{display:flex;align-items:center;gap:8px}.control input[type=range]{width:160px;accent-color:var(--acid)}.mode-toggle,.engine-toggle{display:inline-flex;border:1px solid #323c42;overflow:hidden}.mode-toggle button,.engine-toggle button{min-height:34px;padding:0 12px;border:0;background:#151b1f;color:#a8b1b5;cursor:pointer;font:600 9px/1 ui-monospace,monospace;letter-spacing:.045em;text-transform:uppercase}.mode-toggle button.active,.engine-toggle button.active{background:var(--acid);color:#10120c}.action{min-height:34px;padding:0 14px;border:1px solid #323c42;background:#151b1f;cursor:pointer;color:#a8b1b5;font:600 9px/1 ui-monospace,monospace;letter-spacing:.045em;text-transform:uppercase}.action:hover:not(:disabled){border-color:#657177;color:#f4f5ee}.canvas-wrap{position:relative;height:min(64vh,620px)}.canvas-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:none;width:100%;height:100%;background:#0a0d10;touch-action:none}.canvas-wrap canvas.active{display:block}.loading-card,.error-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#080a0ceb;text-align:center;padding:24px}.loading-card small,.error-card small{max-width:460px;color:#99a3a8;font-size:12px;line-height:1.6}.error-card strong{color:#ff9c79}.loader{width:26px;height:26px;border-radius:50%;border:2px solid #2a3238;border-top-color:var(--acid);animation:spin .8s linear infinite}.telemetry{display:flex;flex-wrap:wrap;gap:24px;padding:14px 16px;border-top:1px solid var(--line)}.telemetry div{display:flex;flex-direction:column;gap:4px}.telemetry span{color:#6f797e;font:600 8px/1 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.telemetry strong{font:600 15px/1 ui-monospace,monospace}.telemetry strong.gpu-value{color:var(--acid)}.telemetry strong.cpu-value{color:var(--cyan)}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:26px 0 40px;color:#6f797e;font:500 9px/1.5 ui-monospace,monospace;letter-spacing:.04em}footer a{color:var(--cyan)}@keyframes blink{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.intro{grid-template-columns:1fr}.intro>p{justify-self:start}.toolbar,.control-group{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important}}
