:root{--bg: #070706;--ink: #f6f1e8;--muted: rgba(246, 241, 232, .62);--faint: rgba(246, 241, 232, .18);--hair: rgba(246, 241, 232, .13);--panel: rgba(10, 10, 8, .66);--steel: #74f6ff;--amber: #ffb45a;--on: #6aff8e;--acid: #c9ff45}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;cursor:grab;touch-action:none}body.grabbing #scene{cursor:grabbing}body.hitbox-editing #scene{cursor:move}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:clamp(18px,3vw,34px) clamp(18px,4vw,46px);font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.24em;color:var(--muted)}.mark{color:var(--ink);font-weight:700}.tracking{color:var(--steel)}.readout{position:absolute;left:clamp(20px,4vw,54px);bottom:clamp(66px,11vh,118px);max-width:min(390px,calc(100vw - 40px))}.label,.status-strip{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.22em;text-transform:uppercase}.label{display:block;margin-bottom:10px;color:var(--steel);font-size:10px}.readout h1{max-width:11ch;margin:0;font-size:clamp(38px,6.2vw,76px);line-height:.94;font-weight:650;letter-spacing:0}.readout p{margin:18px 0 0;color:var(--muted);font-size:13px;letter-spacing:.02em}.status-strip{position:absolute;left:clamp(20px,4vw,54px);right:clamp(20px,4vw,54px);bottom:clamp(18px,3vw,34px);display:flex;justify-content:space-between;gap:18px;color:var(--faint);font-size:10px}#gestureMode{color:var(--amber)}.axis-readout{display:none;color:var(--acid)}body.axis-debug-on .axis-readout{display:inline}.axis-debug-panel{position:fixed;top:clamp(62px,8vh,82px);right:clamp(14px,3vw,28px);z-index:8;width:min(342px,calc(100vw - 28px));max-height:min(560px,calc(100vh - 112px));overflow:auto;padding:12px;border:1px solid rgba(116,246,255,.24);border-radius:6px;background:#070706c7;box-shadow:0 18px 50px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em;pointer-events:auto}.debug-panel-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}.debug-panel-toggle-label{color:var(--steel);font-size:9px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.debug-panel-open .debug-panel-toggle{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(246,241,232,.1)}.axis-debug-header,.axis-section-header,.axis-part-header,.axis-debug-actions{display:flex;align-items:center}.axis-debug-header{justify-content:space-between;gap:12px;margin-bottom:10px}.axis-debug-header strong{font-size:10px;letter-spacing:.2em;color:var(--steel)}.debug-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-bottom:10px;padding:3px;border:1px solid rgba(116,246,255,.18);border-radius:5px;background:#74f6ff0d}.debug-tab{min-width:0;height:26px;padding:0 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-family:inherit;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.debug-tab.active,.debug-tab[aria-selected=true]{border-color:#c9ff4594;background:#c9ff451c;color:var(--acid)}.debug-tab:hover{color:var(--ink);border-color:#74f6ff70}.debug-tab-panel{display:grid;gap:10px}.debug-tab-panel[hidden]{display:none}.debug-toggle-group,.debug-toggle{display:flex;align-items:center}.debug-toggle-group{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.debug-toggle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px}.debug-toggle-grid .debug-toggle{justify-content:flex-start;gap:5px}.debug-toggle{gap:6px}.debug-toggle-label{color:var(--muted);font-size:8px;letter-spacing:.16em}.debug-switch{position:relative;display:inline-grid;width:40px;height:22px;cursor:pointer}.debug-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.debug-switch-track{position:relative;border:1px solid rgba(246,241,232,.22);border-radius:999px;background:#f6f1e817;transition:border-color .16s ease,background .16s ease}.debug-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .16s ease,background .16s ease}.debug-switch input:checked+.debug-switch-track{border-color:#74f6ffa3;background:#74f6ff24}.debug-switch input:checked+.debug-switch-track:after{transform:translate(18px);background:var(--steel)}.axis-debug-body{display:grid;gap:10px}.axis-pose{padding-bottom:10px;border-bottom:1px solid rgba(246,241,232,.1)}.axis-section-header{justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted)}.axis-pose-presets{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.axis-part{padding-top:10px;border-top:1px solid rgba(246,241,232,.1)}.axis-part-header{justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted)}.axis-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.debug-inline-toggle{flex:0 0 auto;gap:5px}.axis-drift{color:var(--acid)}.axis-field,.axis-pose-field{display:grid;align-items:center;gap:8px;margin-top:6px}.axis-field{grid-template-columns:16px minmax(0,1fr) 64px}.axis-pose-field{grid-template-columns:72px minmax(0,1fr) 68px;color:var(--muted)}.axis-limit-group{display:grid;gap:4px;padding:6px 0 8px}.axis-limit-group+.axis-limit-group{border-top:1px solid rgba(246,241,232,.08)}.axis-label{color:var(--steel)}.hitbox-editor .axis-field{margin-top:4px}.hitbox-mode-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 8px}.hitbox-editor[data-mode=position] .hitbox-mode-size,.hitbox-editor[data-mode=position] .hitbox-mode-axis,.hitbox-editor[data-mode=size] .hitbox-mode-position,.hitbox-editor[data-mode=size] .hitbox-mode-axis,.hitbox-editor[data-mode=axis] .hitbox-mode-position,.hitbox-editor[data-mode=axis] .hitbox-mode-size{display:none}.hitbox-group-label{display:block;margin-top:8px;color:var(--muted)}.hitbox-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.hitbox-status{display:block;min-height:14px;margin-top:6px;color:var(--acid);text-align:right}.axis-field input[type=range],.axis-pose-field input[type=range]{width:100%;accent-color:var(--steel)}.axis-field input[type=number],.axis-pose-field input[type=number]{height:26px;border:1px solid rgba(246,241,232,.16);border-radius:4px;background:#00000047;color:var(--ink);font:inherit;letter-spacing:0}.axis-field input[type=number]{width:64px}.axis-pose-field input[type=number]{width:68px}.axis-debug-actions{flex-wrap:wrap;gap:8px;margin-top:12px}.axis-debug-panel:not(.debug-panel-open){width:auto;max-height:none;overflow:visible;padding:10px 12px}.axis-debug-panel:not(.debug-panel-open) .axis-debug-header,.axis-debug-panel:not(.debug-panel-open) .debug-tabs,.axis-debug-panel:not(.debug-panel-open) .axis-debug-body,.axis-debug-panel:not(.debug-panel-open) .axis-debug-actions{display:none}.axis-debug-button{height:30px;padding:0 10px;border:1px solid rgba(116,246,255,.34);border-radius:5px;background:#74f6ff14;color:var(--ink);cursor:pointer;font-family:inherit;font-size:9px;letter-spacing:.14em}.axis-debug-button.compact{height:24px;padding:0 8px;font-size:8px}.hitbox-actions .axis-debug-button{width:100%;padding:0 5px}.axis-debug-button.secondary{border-color:#f6f1e82e;background:#f6f1e80f;color:var(--muted)}.axis-debug-button.active{border-color:#c9ff459e;background:#c9ff451f;color:var(--acid)}.axis-debug-button:hover{border-color:#74f6ffb3}.axis-copy-status{min-width:0;flex:1;margin-left:auto;color:var(--acid);text-align:right}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(116,246,255,.08),transparent 36%),var(--bg);transition:opacity .42s ease,visibility .42s ease}.loader span{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.hand-panel{position:fixed;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:7;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.hand-button{min-width:148px;height:38px;padding:0 13px;border:1px solid rgba(116,246,255,.34);border-radius:6px;background:#070706b8;color:var(--ink);cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hand-button:hover{border-color:#74f6ffb8}.hand-stage{position:relative;width:min(260px,calc(100vw - 28px));aspect-ratio:5 / 3.55;display:none;overflow:hidden;border:1px solid rgba(116,246,255,.22);border-radius:6px;background:#050504;box-shadow:0 16px 38px #00000057;transition:border-color .16s ease,box-shadow .16s ease}body.hands-on .hand-stage{display:block}.hand-stage[data-mode=grab]{border-color:#ffb45ab8;box-shadow:0 16px 38px #00000057,0 0 28px #ffb45a29}.hand-stage video,.hand-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hand-stage video{object-fit:cover;transform:scaleX(-1);opacity:.68;filter:saturate(.82) contrast(1.08)}.hand-stage canvas{pointer-events:none;image-rendering:auto}.hand-status{position:absolute;left:0;right:0;bottom:0;min-height:34px;padding:18px 9px 7px;background:linear-gradient(transparent,#050504e6);color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.hand-depth{display:none;align-items:center;gap:8px;width:min(260px,calc(100vw - 28px));padding:6px 10px;border:1px solid rgba(116,246,255,.18);border-radius:6px;background:#070706b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:border-color .16s ease,color .16s ease}body.hands-on .hand-depth{display:flex}.hand-depth__label{flex:none;color:#f6f1e8b3}.hand-depth__track{position:relative;flex:1;height:6px;border-radius:3px;background:#f6f1e81f;overflow:hidden}.hand-depth__fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;transform:scaleX(0);border-radius:3px;background:var(--steel);transition:transform .1s linear}.hand-depth__knife,.hand-depth__behind{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px}.hand-depth__knife{background:#f6f1e8d1;box-shadow:0 0 6px #f6f1e880}.hand-depth__behind{background:var(--amber);box-shadow:0 0 7px #ffb45a8f}.hand-depth__value{flex:none;min-width:78px;text-align:right;color:#f6f1e8b3;white-space:nowrap}.hand-depth.in-range{border-color:#6aff8e99;color:var(--on)}.hand-depth.in-range .hand-depth__fill{background:var(--on)}.hand-depth.in-range .hand-depth__value{color:var(--on)}.hand-depth.behind{border-color:#ffb45ac2;color:var(--amber)}.hand-depth.behind .hand-depth__fill{background:linear-gradient(90deg,var(--steel) 0 62%,var(--amber) 62% 100%)}.hand-depth.behind .hand-depth__value{color:var(--amber)}.hand-reticle{position:fixed;top:-15px;left:-15px;z-index:6;width:30px;height:30px;pointer-events:none;opacity:0;border:1px solid var(--steel);border-radius:50%;box-shadow:0 0 14px #74f6ff73,inset 0 0 10px #74f6ff42;transition:opacity .15s ease}.hand-reticle.on{opacity:1}.context-lost:after{content:"WEBGL CONTEXT LOST";position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#070706db;color:var(--amber);font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.24em}@media (max-width: 720px){.axis-debug-panel{top:68px;right:14px;max-height:min(52vh,460px)}.readout{bottom:104px}.readout h1{font-size:clamp(34px,13vw,54px)}.status-strip{bottom:70px;flex-direction:column;gap:8px}.hand-panel{left:14px;right:14px;align-items:stretch}.hand-button{width:100%}.hand-stage,.hand-depth{width:100%;max-width:280px;margin-left:auto}}@media (prefers-reduced-motion: reduce){.loader,.hand-stage,.hand-reticle{transition:none}}
