:root{--bg:#121212;--ink:#eee;--muted:#a6a6a6;--faint:#6c6c6c;--accent:#4d9cf8;--link:#8ab8f0;--btn:linear-gradient(#4a4a4a, #2d2d2d);--btn-hover:linear-gradient(#585858, #393939);--btn-press:linear-gradient(#232323, #323232);--select:linear-gradient(#2c75c9, #1a55a2);--select-hover:linear-gradient(#2f79cd, #1d5cad);--bevel:inset 0 1px 0 #ffffff24;--bevel-blue:inset 0 1px 0 #ffffff47;--emboss:0 -1px 0 #0009;--edge-dark:#0a0a0a;--plate:#121212e6;--titlebar:linear-gradient(#3d3d3d, #262626);--well:#00000059;--well-shadow:inset 0 1px 3px #000000b3, 0 1px 0 #ffffff12;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .09 0 0 0 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--radius:5px;--radius-sm:3px;--edge:16px;--edge-top:max(var(--edge), env(safe-area-inset-top));--edge-right:max(var(--edge), env(safe-area-inset-right));--edge-bottom:max(var(--edge), env(safe-area-inset-bottom));--edge-left:max(var(--edge), env(safe-area-inset-left));--sans:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"Inconsolata", Consolas, monospace;font-family:var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;overflow:hidden}#app,#app canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}kbd,#hud-help li b{font:700 .78em/1.45 var(--sans);text-align:center;color:#e6e6e6;min-width:1.8em;text-shadow:var(--emboss);border:1px solid var(--edge-dark);border-radius:var(--radius-sm);white-space:nowrap;background:linear-gradient(#4c4c4c,#2a2a2a);padding:.05em .45em .1em;display:inline-block;box-shadow:inset 0 1px #fff3,0 2px #050505}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--link);text-underline-offset:2px;text-decoration-color:#8ab8f073}a:hover{color:#b3d3fa;text-decoration-color:currentColor}.btn{font:700 15px/1 var(--sans);cursor:pointer;color:var(--ink);text-shadow:var(--emboss);background:var(--btn);border:1px solid var(--edge-dark);border-radius:var(--radius);box-shadow:var(--bevel), 0 1px 2px #00000073;white-space:nowrap;justify-content:center;align-items:center;gap:10px;padding:12px 22px;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-hover)}.btn:active:not(:disabled){background:var(--btn-press);box-shadow:inset 0 2px 4px #0009,0 1px #ffffff0f}.btn:disabled{cursor:default;color:var(--faint);text-shadow:none;background:#28282899;border-color:#1a1a1a;box-shadow:inset 0 1px 2px #00000080}.btn.primary,.btn.on{background:var(--select);color:#fff;box-shadow:var(--bevel-blue), 0 1px 2px #00000073;text-shadow:0 -1px #00000073;border-color:#0c3163}.btn.primary:hover:not(:disabled),.btn.on:hover:not(:disabled){background:var(--select-hover)}.btn.primary:active:not(:disabled),.btn.on:active:not(:disabled){background:linear-gradient(#1a55a2,#2466b5);box-shadow:inset 0 2px 4px #00000073}.btn.primary:disabled{color:var(--faint);text-shadow:none;background:#28282899;border-color:#1a1a1a;box-shadow:inset 0 1px 2px #00000080}.btn.small{gap:8px;padding:7px 12px;font-size:13px}.btn.small kbd{min-width:1.7em;padding:0 .35em;font-size:10px;box-shadow:inset 0 1px #fff3,0 1px #050505}.btn.on kbd{color:#fff;background:linear-gradient(#3a7fcf,#1d5aa6);border-color:#0c3163;box-shadow:inset 0 1px #ffffff4d,0 1px #0a2a55}#overlay{z-index:10;--pad-x:clamp(20px, 6vw, 88px);padding:max(clamp(16px, 3.5vh, 32px), env(safe-area-inset-top)) max(var(--pad-x), env(safe-area-inset-right)) max(clamp(16px, 3.5vh, 32px), env(safe-area-inset-bottom)) max(var(--pad-x), env(safe-area-inset-left));--shade:linear-gradient(90deg, #0e0e0ef7, #0e0e0eed calc(var(--pad-x) + 600px), #0e0e0e66 calc(var(--pad-x) + 900px), #0e0e0e33);background:var(--noise), radial-gradient(ellipse 90% 80% at 70% 50%, transparent 50%, #0000008c), var(--shade);align-items:center;transition:opacity .35s,visibility linear;display:flex;position:fixed;inset:0;overflow-y:auto}#overlay.hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility 0s linear .35s}.console{width:min(580px,100%);margin:auto 0}.wordmark{font:800 clamp(36px, min(6.4vw, 8vh), 60px)/1.05 var(--sans);letter-spacing:-.01em;color:#e8e8e8;background:linear-gradient(#fff 25%,#c4c4c4 60%,#8e8e8e);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 2px #000000e6);-webkit-background-clip:text;background-clip:text;margin:0 0 clamp(6px,1.4vh,10px)}.lede{color:var(--muted);text-shadow:0 1px 1px #000;margin:0 0 clamp(14px,3vh,24px);font-size:15px;line-height:1.65}.index{background:var(--well);border-radius:var(--radius);box-shadow:var(--well-shadow);border:1px solid #000;grid-template-columns:20px max-content 1fr;gap:0 12px;margin:0 0 clamp(14px,3vh,24px);padding:0;list-style:none;display:grid;overflow:hidden}.index li{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.index li+li{border-top:1px solid #0009}.index button{all:unset;box-sizing:border-box;cursor:pointer;grid-column:1/-1;grid-template-columns:subgrid;text-shadow:0 1px 1px #000;align-items:baseline;gap:2px 12px;padding:clamp(5px,1vh,10px) 12px clamp(5px,1vh,10px) 10px;line-height:1.25;display:grid}.index li+li button{box-shadow:inset 0 1px #ffffff0b}.index .n{font:600 13px var(--mono);color:var(--faint)}.index b{font-size:15px;font-weight:700}.index .d{color:var(--muted);font-size:13.5px}.index button:hover{background:linear-gradient(#ffffff1f,#ffffff0d)}.index button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:#ffffff0f}.index button.selected{background:var(--select);color:#fff;box-shadow:var(--bevel-blue);text-shadow:0 -1px #00000073}.index button.selected .n,.index button.selected .d{color:#fff}.index button.selected:focus-visible{outline-color:#fff}.actions{flex-wrap:wrap;gap:10px;display:flex}.actions.xr #enter-vr{order:-1}.status{color:var(--muted);text-shadow:0 1px 1px #000;align-items:baseline;gap:10px;min-height:1.5em;margin:clamp(10px,2vh,16px) 0 0;font-size:13.5px;line-height:1.5;display:flex}.status i{background:radial-gradient(circle at 35% 30%,#7a7a7a,#3a3a3a 65%,#262626);border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px);box-shadow:0 0 0 1px #000,0 1px 0 1px #ffffff14}.status.ok i{background:radial-gradient(circle at 35% 30%,#e4ffb8,#79c928 55%,#3d7a0c);box-shadow:0 0 0 1px #000,0 0 7px 1px #82dc32b3}.status.pending i{background:radial-gradient(circle at 35% 30%,#ffe9b3,#f0a523 55%,#9a5d00);animation:1s steps(2,end) infinite blink;box-shadow:0 0 0 1px #000,0 0 7px 1px #ffaa2899}.status a{color:var(--link);white-space:nowrap}@keyframes blink{50%{opacity:.25}}.keys{color:var(--muted);text-shadow:0 1px 1px #000;flex-wrap:wrap;align-items:center;gap:6px;margin:clamp(8px,1.5vh,12px) 0 0;font-size:13px;display:flex}.keys kbd{margin-left:8px}.keys kbd:first-child{margin-left:0}.pages{flex-wrap:wrap;gap:4px 16px;margin:clamp(8px,1.5vh,12px) 0 0;font-size:13px;display:flex}.pages a{color:var(--muted);text-decoration-color:#a6a6a666}.pages a:hover{color:var(--ink)}#hud{pointer-events:none;z-index:5;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0}#hud button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}#hud>*{pointer-events:auto}.hud-top{top:var(--edge-top);left:var(--edge-left);right:var(--edge-right);grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(max-content,1fr);align-items:start;gap:12px;display:grid;position:absolute;pointer-events:none!important}.hud-top>*{pointer-events:auto}#scene-tabs{background:var(--btn);border:1px solid var(--edge-dark);border-radius:var(--radius);box-shadow:var(--bevel), 0 2px 6px #0006;scrollbar-width:none;grid-column:2;display:flex;overflow-x:auto}#scene-tabs::-webkit-scrollbar{display:none}#scene-tabs.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}#scene-tabs.more-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px);mask-image:linear-gradient(90deg,#0000,#000 40px)}#scene-tabs.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}#scene-tabs button{all:unset;cursor:pointer;white-space:nowrap;font:700 13.5px var(--sans);color:#dcdcdc;text-shadow:var(--emboss);flex:none;align-items:baseline;gap:7px;padding:9px 14px;display:inline-flex}#scene-tabs button+button{border-left:1px solid #111;box-shadow:inset 1px 0 #ffffff12}#scene-tabs button i{font:600 12px var(--mono);color:#8a8a8a;font-style:normal}#scene-tabs button:hover,#scene-tabs button:focus-visible{color:#fff;background:linear-gradient(#ffffff1a,#ffffff08)}#scene-tabs button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}#scene-tabs button.active{color:#fff;text-shadow:0 -1px #00000080;background:linear-gradient(#1a55a2,#2c75c9);box-shadow:inset 0 2px 3px #00000059}#scene-tabs button.active+button{border-left-color:#0c3163}#scene-tabs button.active i{color:#d6e6fa}#scene-tabs button.active:focus-visible{box-shadow:inset 0 0 0 2px #fff}.hud-tools{grid-column:3;justify-self:end;gap:6px;display:flex}#hud-notice{top:var(--hud-tabs-bottom,67px);left:var(--edge-left);right:var(--edge-right);background:var(--plate);border-radius:var(--radius);border:1px solid #000;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;box-shadow:inset 0 1px #ffffff14,0 4px 14px #00000080}#scene-load-status{margin:0;font-size:13.5px;line-height:1.5}#retry-scenes{flex:none}#hud-help{left:var(--edge-left);bottom:var(--edge-bottom);width:min(360px, calc(100% - var(--edge-left) - var(--edge-right)));background:var(--plate);border-radius:var(--radius);border:1px solid #000;max-height:calc(100% - 90px);transition:opacity .2s,transform .2s;position:absolute;overflow-y:auto;box-shadow:inset 0 0 0 1px #ffffff0d,0 4px 14px #00000080}#hud-help.closed{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s,transform .2s,visibility 0s linear .2s;transform:translateY(8px)}#hud-help h2{font:700 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#c4c4c4;text-shadow:0 -1px #000;background:var(--titlebar);border-bottom:1px solid #000;margin:0;padding:7px 14px 6px;position:sticky;top:0;box-shadow:inset 0 1px #ffffff1f,0 1px #ffffff0d}#hud-help ul{gap:6px;margin:0;padding:11px 14px 13px;list-style:none;display:grid}#hud-help li{color:var(--muted);font-size:13.5px;line-height:1.5}#hud-help li b{margin-right:3px;font-size:11px}#hud-help li.note{border-top:1px solid #000;margin-top:3px;padding-top:8px;box-shadow:inset 0 1px #ffffff0d}.hud-panel{top:var(--hud-top,67px);right:var(--edge-right);width:clamp(340px,27vw,400px);max-height:calc(100% - var(--hud-top,67px) - max(var(--hud-bottom,16px), var(--edge-bottom)));overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:absolute;overflow:hidden auto}.hud-panel::-webkit-scrollbar{display:none}.hud-panel canvas{display:block}.hud-panel-controls{pointer-events:none;position:absolute;top:0;left:0}.hud-panel-controls>div{border-radius:var(--radius-sm);position:absolute}.hud-panel-controls>div:focus-within{outline:2px solid var(--accent);outline-offset:1px}.hud-panel-controls :is(h2,p,button,input){all:unset;opacity:0;position:absolute;inset:0;overflow:hidden}.hud-panel.more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000);mask-image:linear-gradient(#000 calc(100% - 40px),#0000)}.hud-panel.more-above{-webkit-mask-image:linear-gradient(#0000,#000 40px);mask-image:linear-gradient(#0000,#000 40px)}.hud-panel.more-above.more-below{-webkit-mask-image:linear-gradient(#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(#0000,#000 40px calc(100% - 40px),#0000)}#hud-stats{top:64px;left:var(--edge-left);font:600 12px/1.35 var(--mono);color:#0f0;background:#020;border:1px solid #0a3a0a;padding:3px 7px;position:absolute;pointer-events:none!important}#hud-vr{right:var(--edge-right);bottom:var(--edge-bottom);position:absolute}@media (max-width:860px){#overlay{background:var(--noise), #0e0e0ee6;align-items:flex-start}.console{margin:0 auto}}@media (hover:none) and (pointer:coarse){.keys,.btn kbd,#scene-tabs button i{display:none}.btn,#scene-tabs button{align-items:center;min-height:44px}.index button{align-content:center;min-height:44px}}@media (max-width:720px){:root{--edge:12px}.hud-top{display:block}#scene-tabs button{padding:8px 12px}#scene-tabs button i{display:none}.hud-tools{right:var(--edge-right);bottom:var(--edge-bottom);position:fixed}#hud-help{bottom:calc(var(--edge-bottom) + 52px);max-height:calc(100% - 136px)}#hud-help li{font-size:13px}#hud-vr{right:auto;left:var(--edge-left)}.hud-panel{left:var(--edge-left);width:auto;max-width:440px;margin:0 auto}.index{grid-template-columns:20px 1fr}.index .d{grid-column:2}.lede{font-size:14.5px}.actions .btn{flex:160px}}@media (max-height:520px){#hud-help ul{gap:3px;padding:8px 12px 10px}#hud-help{max-height:calc(100% - 76px)}#hud-help li{font-size:13px;line-height:1.35}#hud-stats{top:56px}}@media (max-height:520px) and (min-width:600px){#overlay{padding-inline:max(28px, env(safe-area-inset-left)) max(28px, env(safe-area-inset-right));background:var(--noise), #0e0e0ee6;align-items:center}.console{grid-template-rows:repeat(4,auto) 1fr;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);column-gap:28px;width:100%;max-width:920px;margin:auto;display:grid}.console>*{grid-column:1}.console>.index{grid-area:1/2/-1;align-self:center;margin:0}.wordmark{font-size:36px}.actions .btn{padding-inline:16px}.lede{font-size:13.5px;line-height:1.5}.index b{font-size:14.5px}.index .d{font-size:12.5px}}@media (forced-colors:active){.wordmark{-webkit-text-fill-color:currentColor;filter:none;background:0 0}}@media (prefers-reduced-motion:reduce){.status.pending i{animation:none}#overlay,#hud-help{transition:none}}
