:root{--bg: #dfe1e2;--ink: #1b1d1e;--ink-soft: #5c6164;--line: rgba(27, 29, 30, .14);--panel: rgba(248, 249, 249, .72);--panel-solid: #f4f5f5;--accent: #c7502f;--ok: #3d7a55;--radius: 14px;--shadow: 0 10px 40px rgba(20, 24, 28, .12), 0 2px 8px rgba(20, 24, 28, .08);--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;touch-action:none}.loading{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:linear-gradient(180deg,#e7e9ea,#d2d5d6);transition:opacity .7s ease,visibility .7s ease}.loading.is-hidden{opacity:0;visibility:hidden}.loading__inner{width:min(340px,72vw);text-align:center}.brand{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.brand__name{font-weight:700;letter-spacing:.42em;font-size:18px}.brand__sub{font-size:12px;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase}.loading__bar{height:2px;background:var(--line);border-radius:2px;overflow:hidden}.loading__fill{height:100%;width:0%;background:var(--ink);transition:width .25s ease}.loading__pct{margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--ink-soft);letter-spacing:.1em}.hud{position:fixed;inset:0;z-index:20;pointer-events:none;padding:clamp(14px,2.2vw,26px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:"brand info" ". ." "controls controls";gap:16px}.hud>*{pointer-events:auto}.hud__brand{grid-area:brand;align-self:start;display:flex;flex-direction:column;gap:3px}.hud__name{font-weight:700;letter-spacing:.34em;font-size:15px}.hud__sub{font-size:11px;letter-spacing:.16em;color:var(--ink-soft);text-transform:uppercase}.panel{background:var(--panel);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel--info{grid-area:info;align-self:start;justify-self:end;width:min(300px,78vw);padding:18px 18px 16px}.panel__header{appearance:none;border:0;background:transparent;width:100%;padding:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-family:var(--sans);color:inherit;text-align:left;cursor:default}.panel__heading{display:flex;flex-direction:column;gap:4px}.panel__eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}.panel__title{font-size:20px;font-weight:600;line-height:1.1;display:block}.panel__chev,.panel__hint{display:none}.panel__body{margin-top:14px}.spec{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.spec>div{display:flex;flex-direction:column;gap:2px}.spec dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.spec dd{font-family:var(--mono);font-size:13px;font-weight:500}.panel__desc{margin-top:12px;font-size:12px;line-height:1.55;color:var(--ink-soft)}.panel__link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--accent);text-decoration:none;padding:7px 12px;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:9px;background:color-mix(in srgb,var(--accent) 9%,transparent);transition:background .2s ease,border-color .2s ease,transform .15s ease}.panel__link[hidden]{display:none}.panel__link:hover,.panel__link:focus-visible{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.panel__link-arrow{transition:transform .2s ease}.panel__link:hover .panel__link-arrow{transform:translate(3px)}.controls{grid-area:controls;justify-self:center;align-self:end;display:flex;flex-direction:column;gap:12px;align-items:center;width:min(620px,96vw)}.seg{display:inline-flex;gap:4px;padding:4px;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.seg__btn{appearance:none;border:0;cursor:pointer;font-family:var(--sans);display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:9px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:500;letter-spacing:.02em;transition:all .2s ease}.seg__btn .seg__k{font-family:var(--mono);font-size:10px;opacity:.5}.seg__btn:hover{color:var(--ink)}.seg__btn.is-active{background:var(--ink);color:#fff}.seg__btn.is-active .seg__k{opacity:.6}.open{display:flex;align-items:center;gap:14px;padding:10px 14px;width:100%;background:var(--panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.open__btn{appearance:none;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding:11px 20px;border-radius:10px;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);transition:all .2s ease}.open__btn:hover{border-color:var(--ink)}.open__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);transition:background .3s}.open__btn.is-open .open__dot{background:var(--ok)}.open__slider{flex:1;display:flex;flex-direction:column;gap:5px}.open__scale{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;border-radius:3px;background:var(--line);cursor:pointer;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid #fff;box-shadow:0 1px 4px #00000040}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid #fff}.ghost{appearance:none;cursor:pointer;font-family:var(--sans);font-size:12px;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);white-space:nowrap;transition:all .2s}.ghost:hover{color:var(--ink);border-color:var(--ink)}body[data-active=canopy] .open__btn,body[data-active=canopy] .open__slider,body[data-active=empty] .open__btn,body[data-active=empty] .open__slider{display:none}body[data-active=canopy] .open,body[data-active=empty] .open{justify-content:flex-end;gap:0;padding:8px 14px}.hud__foot{grid-column:1 / -1;grid-row:3;align-self:end;justify-self:stretch;display:flex;justify-content:space-between;align-items:end;pointer-events:none;margin-top:2px}.hud__foot>*{pointer-events:auto}.mono{font-family:var(--mono);font-size:10px;color:var(--ink-soft);letter-spacing:.05em}.hud__credit{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;font-weight:500;transition:color .2s ease}.hud__credit:hover,.hud__credit:focus-visible{color:var(--ink)}.hud{grid-template-areas:"brand info" "controls controls" "foot foot";grid-template-rows:auto 1fr auto}.controls{grid-area:controls}.hud__foot{grid-area:foot}@media(max-width:700px),(orientation:landscape)and (max-height:540px){.panel__header{cursor:pointer;align-items:center}.panel__chev{display:block;width:11px;height:11px;flex:none;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(45deg);transition:transform .25s ease}.panel--info:not(.is-collapsed) .panel__chev{transform:rotate(-135deg)}.panel--info.is-collapsed .panel__body{display:none}.panel--info.is-collapsed.has-detail .panel__hint{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:11px;font-weight:600;letter-spacing:.01em;color:var(--accent)}#fps,.ghost{display:none}input[type=range]::-webkit-slider-thumb{width:22px;height:22px}input[type=range]::-moz-range-thumb{width:22px;height:22px}}@media(max-width:700px){.hud{padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;grid-template-areas:"brand" "info" "controls" "foot";gap:10px}.hud__brand{flex-direction:row;align-items:baseline;gap:8px;flex-wrap:wrap}.hud__name{font-size:13px;letter-spacing:.22em}.hud__sub{font-size:9px;letter-spacing:.1em}.panel--info{justify-self:stretch;width:100%;padding:12px 14px}.panel__title{font-size:16px}.panel__body{margin-top:12px}.spec{gap:8px 12px}.controls{width:100%;gap:10px}.seg{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:2px;padding:3px}.seg__btn{justify-content:center;text-align:center;padding:9px 4px;gap:0;font-size:11px;line-height:1.15;border-radius:8px;min-height:40px}.seg__btn .seg__k{display:none}.open{flex-wrap:wrap;gap:10px 12px;padding:10px 12px}.open__btn{padding:12px 16px;font-size:13px}.open__slider{order:3;flex-basis:100%}body[data-active=canopy] .open,body[data-active=empty] .open{display:none}.hud__foot{justify-content:center;margin-top:0}.hud__credit{font-size:10px;letter-spacing:.12em}}@media(orientation:landscape)and (max-height:540px){.hud{padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));gap:8px}.panel--info{width:min(300px,38vw);padding:11px 13px}.panel__title{font-size:16px}.hud__sub{display:none}.controls{width:min(560px,72vw);gap:8px}.seg__btn{padding:8px 14px;font-size:12px}.open{padding:8px 12px;gap:10px}.open__btn{padding:9px 16px}body[data-active=canopy] .open,body[data-active=empty] .open,.hud__foot{display:none}}
