*{box-sizing:border-box}body{margin:0;background:#080d18;color:#eaf2ff;font-family:Arial,Helvetica,sans-serif}main{max-width:1560px;margin:auto;padding:0 36px}button,input{font:inherit}button{cursor:pointer;transition:background .2s,border-color .2s}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #8ce7ff;outline-offset:4px}button:disabled{opacity:.4;cursor:default}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #202c40}.brand{font-size:25px;font-weight:700;color:#eaf2ff;text-decoration:none}.brand span{color:#8b9fff}.local{color:#93a5bc;font-size:12px}.intro{padding:38px 0 28px}.eyebrow{font-size:10px;letter-spacing:2.6px;color:#83d9ef;font-weight:700}h1{font-size:clamp(28px,3.5vw,46px);letter-spacing:-1.6px;margin:15px 0}h1 em{font-style:normal;color:#92a5ff}.intro p{color:#94a6be;font-size:14px;line-height:1.6}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;grid-gap:20px;gap:20px}.viewer,aside{border:1px solid #26354c;border-radius:16px;background:#101828;overflow:hidden}.viewer{display:flex;flex-direction:column;min-width:0}.scene-toolbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;gap:12px;font-size:10px;letter-spacing:1.1px}.live-dot{display:inline-block;width:6px;height:6px;background:#8de9ed;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #8de9ed66}.tag{margin-left:12px;color:#687f9f;font-size:9px}.ghost{color:#d1def2;border:1px solid #314059;border-radius:7px;padding:8px 10px;background:#19253a;font-size:11px;letter-spacing:0;white-space:nowrap}.ghost:hover,.secondary:hover{background:#273853}.scene{position:relative;min-height:540px;flex:1 1;overflow:hidden;background:#080d1b}.scene canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.scene-caption{position:absolute;z-index:1;left:26px;top:25px;pointer-events:none;text-shadow:0 2px 8px #080d1b}.scene-caption>span{font-size:9px;letter-spacing:2px;color:#84b9d5}.scene-caption strong{display:block;font-size:22px;letter-spacing:-.5px;margin:10px 0}.scene-caption p{font-size:11px;color:#94a9c7;max-width:300px;line-height:1.6}.depth-label{position:absolute;bottom:20px;left:26px;font-size:8px;letter-spacing:2px;color:#89a0bb;pointer-events:none}.depth-label span{color:#456481;margin:0 10px}.scene-footer{display:flex;justify-content:space-between;padding:14px 18px;font-size:10px;color:#8da0bc;border-top:1px solid #233148}.scene-error{position:absolute;inset:0;display:grid;place-content:center;padding:35px;text-align:center;z-index:2;background:#101828}aside{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;gap:8px}h2{font-size:15px;margin:0;letter-spacing:-.2px}.badge{font-size:8px;letter-spacing:1px;color:#91a4bf;border:1px solid #34415a;border-radius:4px;padding:5px 6px;white-space:nowrap}.badge.on{color:#8aedde;border-color:#2d6d66}.face-preview{position:relative;aspect-ratio:1;width:100%;background:radial-gradient(circle at 50% 45%,#24314c,#0b1322);border:1px solid #31425f;border-radius:9px;overflow:hidden}.face-preview canvas,.face-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.face-preview canvas{pointer-events:none;z-index:1}.face-preview video{opacity:.7}.face-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8dabc8;background:#0b132277;z-index:2}.face-placeholder span{font-size:68px;font-weight:100;color:#6992b4}.face-placeholder p{font-size:11px}.crosshair{position:absolute;pointer-events:none;opacity:.14;z-index:3}.horizontal{top:50%;left:10px;right:10px;border-top:1px solid #a2dcff}.vertical{left:50%;top:10px;bottom:10px;border-left:1px solid #a2dcff}.status{font-size:11px;color:#98b8cf;min-height:30px;line-height:1.5;overflow-wrap:anywhere;margin:12px 0}.primary,.secondary{display:block;width:100%;border-radius:8px;padding:12px;font-size:12px;font-weight:600}.primary{background:#8ea1ff;border:1px solid #a4b4ff;color:#0a1230}.primary:hover{background:#b0bdff}.secondary{margin-top:9px;background:#172338;border:1px solid #31425b;color:#c6d6ef}label{display:flex;justify-content:space-between;color:#b5c7df;font-size:11px;margin:22px 0 10px}label b{color:#a4b4ff}input[type=range]{width:100%;accent-color:#97aaff}.instructions{border-top:1px solid #29364d;margin-top:20px;padding-top:16px}.instructions>span{font-size:9px;letter-spacing:1.7px;color:#7d99bb}.instructions p{font-size:11px;line-height:1.6;color:#9badc6;margin:8px 0}aside small{display:block;font-size:9px;line-height:1.6;color:#647e9b;margin-top:18px}footer{text-align:center;padding:28px 0;color:#61758e;font-size:11px}.workspace:is(:-webkit-full-screen,.expanded){width:100vw;height:100dvh;max-width:none;padding:18px;background:#080d18;gap:16px;overflow:auto;grid-template-rows:minmax(0,1fr)}.workspace:is(:fullscreen,.expanded){width:100vw;height:100dvh;max-width:none;padding:18px;background:#080d18;gap:16px;overflow:auto;grid-template-rows:minmax(0,1fr)}.workspace:is(:-webkit-full-screen,.expanded) aside{overflow:auto}.workspace:is(:fullscreen,.expanded) aside{overflow:auto}.workspace:is(:-webkit-full-screen,.expanded) .viewer{min-height:0}.workspace:is(:fullscreen,.expanded) .viewer{min-height:0}@media(min-width:1600px){.scene{min-height:650px}}@media(max-width:1000px){main{padding:0 20px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.tag{display:none}.scene{min-height:520px}aside{padding:16px}}@media(max-width:720px){main{padding:0 14px}header{height:65px}.local{font-size:9px}.intro{padding-top:28px}h1{letter-spacing:-1px}.workspace{grid-template-columns:1fr}.scene{min-height:400px}.scene-toolbar{padding:10px 12px;font-size:9px}.scene-caption{left:18px;top:18px}.scene-caption strong{font-size:19px}.face-preview{max-width:320px;margin:0 auto}.workspace:is(:-webkit-full-screen,.expanded){grid-template-columns:minmax(0,1fr) 210px;padding:8px;gap:8px}.workspace:is(:fullscreen,.expanded){grid-template-columns:minmax(0,1fr) 210px;padding:8px;gap:8px}.workspace:is(:-webkit-full-screen,.expanded) aside{padding:12px}.workspace:is(:fullscreen,.expanded) aside{padding:12px}.workspace:is(:-webkit-full-screen,.expanded) .panel-heading{flex-wrap:wrap}.workspace:is(:fullscreen,.expanded) .panel-heading{flex-wrap:wrap}.workspace:is(:-webkit-full-screen,.expanded) .scene-toolbar{flex-wrap:wrap}.workspace:is(:fullscreen,.expanded) .scene-toolbar{flex-wrap:wrap}.workspace:is(:-webkit-full-screen,.expanded) .scene-caption p{max-width:150px}.workspace:is(:fullscreen,.expanded) .scene-caption p{max-width:150px}.workspace:is(:-webkit-full-screen,.expanded) .scene-caption strong{font-size:17px}.workspace:is(:fullscreen,.expanded) .scene-caption strong{font-size:17px}.workspace:is(:-webkit-full-screen,.expanded) .scene-footer{font-size:8px}.workspace:is(:fullscreen,.expanded) .scene-footer{font-size:8px}.workspace:is(:-webkit-full-screen,.expanded) .depth-label{display:none}.workspace:is(:fullscreen,.expanded) .depth-label{display:none}}@media(prefers-reduced-motion:reduce){button{transition:none}}.architecture-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:18px 22px;border:1px solid #5f7651;border-radius:10px;background:#1e3025;color:#e3edd6;text-decoration:none}.architecture-entry>span:first-child{font-size:25px;color:#bfd494}.architecture-entry>span:nth-child(2){flex:1 1}.architecture-entry strong{display:block;font-size:14px;font-weight:500}.architecture-entry small{display:block;color:#9fb18e;font-size:11px;margin-top:6px;line-height:1.5}.architecture-entry>span:last-child{font-size:22px;color:#bfd494}.workspace.expanded{position:fixed;inset:0;z-index:1000}.scene-picker{margin-bottom:22px;border-bottom:1px solid #29364d;padding-bottom:18px}.scene-picker>div{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-top:12px}.scene-picker button{min-height:56px;display:flex;align-items:center;gap:6px;padding:9px 7px;text-align:left;font-size:10px;line-height:1.4;color:#9fb5d1;background:#152036;border:1px solid #2a3952;border-radius:7px}.scene-picker button>span{font-size:20px;color:#94b7e8}.scene-picker button.chosen{border-color:#95abff;background:#263553;color:#eef4ff}.scene-picker button small{display:inline;margin:0;font-size:9px}.hand-status{font-size:10px;line-height:1.5;color:#98f5c6;min-height:28px}.game-hud{position:absolute;right:20px;top:20px;z-index:2;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#0b152cdd;border:1px solid #536388;border-radius:9px;padding:12px;font-size:12px}.game-hud b{color:#ffe49d}.game-hud span{color:#b8c8df}.game-hud button{background:#354765;border:1px solid #697ca0;border-radius:5px;color:#edf4ff;padding:5px 8px;font-size:10px}.workspace:not(.expanded) .scene{min-height:760px}@media(max-width:720px){.workspace:not(.expanded) .scene{min-height:460px}.game-hud{top:auto;bottom:20px;right:12px;left:12px}.scene-picker>div{grid-template-columns:repeat(3,1fr)}.workspace.expanded .scene-picker>div{grid-template-columns:1fr 1fr}}.prediction-control{justify-content:flex-start;align-items:center;gap:8px;margin-top:16px;cursor:pointer}.prediction-control input{accent-color:#97aaff}.capture-stats{font-size:10px;color:#8da8c5;line-height:1.7;margin:10px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.interaction-tools{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;gap:8px}.interaction-tools button{padding:10px 12px;background:#263858;border:1px solid #5a759e;color:#e8f2ff;border-radius:7px;font-size:11px}.scene-picker button{min-height:48px}.scene-picker>div{gap:5px}.workspace:not(.expanded) .scene{min-height:1000px}.workspace:is(:-webkit-full-screen,.expanded){grid-template-columns:minmax(0,1fr) 330px}.workspace:is(:fullscreen,.expanded){grid-template-columns:minmax(0,1fr) 330px}.scene-picker button.chosen{box-shadow:0 0 0 1px #95abff33}@media(max-width:720px){.workspace:not(.expanded) .scene{min-height:480px}.workspace:is(:-webkit-full-screen,.expanded){grid-template-columns:minmax(0,1fr) 230px}.workspace:is(:fullscreen,.expanded){grid-template-columns:minmax(0,1fr) 230px}.interaction-tools{bottom:50px;right:10px}.interaction-tools button{font-size:10px;padding:8px}.workspace.expanded .scene-picker>div{grid-template-columns:1fr 1fr}}.workspace>.scene-picker{grid-column:1/-1;margin:0;border:1px solid #293b55;border-radius:12px;padding:12px;background:#101828;min-width:0}.workspace>.scene-picker h2{font-size:12px;color:#b6c9e4}.workspace>.scene-picker>div{display:flex;overflow-x:auto;gap:7px;padding:1px 1px 6px;margin-top:10px;scrollbar-width:thin}.workspace>.scene-picker button{flex:0 0 132px;min-height:43px;font-size:10px}.workspace:not(.expanded) .scene{min-height:690px}.workspace:is(:-webkit-full-screen,.expanded){grid-template-rows:auto minmax(0,1fr)}.workspace:is(:fullscreen,.expanded){grid-template-rows:auto minmax(0,1fr)}.workspace:is(:-webkit-full-screen,.expanded) .scene{min-height:0}.workspace:is(:fullscreen,.expanded) .scene{min-height:0}.workspace:is(:-webkit-full-screen,.expanded) .scene-picker{padding:9px 12px}.workspace:is(:fullscreen,.expanded) .scene-picker{padding:9px 12px}.workspace:is(:-webkit-full-screen,.expanded) .scene-picker h2{display:none}.workspace:is(:fullscreen,.expanded) .scene-picker h2{display:none}.workspace:is(:-webkit-full-screen,.expanded) .scene-picker>div{margin:0}.workspace:is(:fullscreen,.expanded) .scene-picker>div{margin:0}@media(max-width:720px){.workspace:not(.expanded) .scene{min-height:440px}.workspace>.scene-picker button{flex-basis:120px}}.graphics-diagnostics{font-size:10px;color:#8da8c5;margin-top:12px;line-height:1.5}.graphics-diagnostics summary{cursor:pointer;color:#bdcee4}.graphics-diagnostics p{overflow-wrap:anywhere;margin:7px 0}#camera-device{width:100%;background:#17243a;border:1px solid #384d6c;border-radius:7px;color:#dce8fc;padding:9px;font-size:11px}.camera-test-banner{position:absolute;inset:45% 10% auto;text-align:center;padding:18px;z-index:4;background:#101d35ee;border:1px solid #6b8db8;border-radius:10px;color:#b6d4f5;pointer-events:none}.face-preview video{opacity:1}.motion-gain{margin-top:18px;padding:14px;border:1px solid #354867;border-radius:10px;background:#111d30}.motion-gain label{margin:0 0 12px;font-size:12px}.motion-gain p{margin:8px 0 0;color:#9badc6;font-size:10px;line-height:1.6}.motion-gain input{cursor:pointer}.voting-panel{padding:22px;background:#111d2c;border-top:1px solid #35485b}.voting-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}.voting-eyebrow{font-size:9px;letter-spacing:1.5px;color:#95ceb6}.voting-heading h2{font-size:23px;margin:7px 0}.voting-heading label{margin:0;display:grid;grid-gap:6px;gap:6px}.voting-heading select{max-width:220px;background:#203347;color:#e5f0ed;border:1px solid #577065;border-radius:6px;padding:8px}.voting-console{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(190px,.8fr) minmax(170px,.9fr);grid-gap:18px;gap:18px;align-items:start}.voting-lcd{background:#e7eee7;color:#182c25;min-height:300px;border:7px solid #3a4d4d;border-radius:8px;padding:18px}.voting-step{font-size:10px;letter-spacing:1px;color:#466353}.voting-lcd h3{font-size:20px;margin:12px 0}.voting-digits{display:flex;gap:5px;margin:16px 0}.voting-digits span{display:grid;place-items:center;width:34px;height:43px;border:1px solid #768b7c;font:26px monospace}.voting-choice{display:block;font-size:17px;margin-top:20px}.voting-lcd p{font-size:12px;line-height:1.5;margin:9px 0}.voting-lcd .voting-message{font-size:11px;color:#456354}.voting-lcd small{font-size:10px}.voting-lcd button{padding:10px;background:#236a4d;border:0;border-radius:5px;color:white}.voting-end{display:block;font-size:70px;text-align:center;padding:25px 0}.voting-numbers{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;background:#202a30;padding:14px;border-radius:9px}.voting-numbers button{background:#141b20;color:#eff4ed;font-size:26px;border:1px solid #53636b;border-bottom:4px solid #050b10;border-radius:5px;min-height:48px}.voting-numbers button:last-child{grid-column:2}.voting-numbers button:active{transform:translateY(2px)}.voting-actions{display:flex;gap:5px;margin-top:14px}.voting-actions button{flex:1 1;min-width:0;padding:13px 3px;font-size:9px;font-weight:700;color:#15261c;border:0;border-radius:4px;border-bottom:4px solid #0005}.voting-branco{background:#e5e7df}.voting-corrige{background:#ea914e}.voting-confirma{background:#51b771}.voting-cheatsheet h3{font-size:13px;margin:0 0 8px}.voting-cheatsheet p{font-size:10px;line-height:1.6;color:#a6beb8}.voting-cheatsheet>div{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #354a4e;font-size:12px}.voting-cheatsheet b{color:#bce1ca;font:15px monospace}.voting-cheatsheet small{display:block;color:#97b1ab;font-size:9px;margin-top:4px}.voting-help{font-size:10px;line-height:1.7;color:#a6bfba;margin-top:17px}.voting-help a{color:#a6d8c0}.voting-help p{margin:0 0 7px}@media(max-width:1100px){.voting-console{grid-template-columns:1fr 1fr}.voting-cheatsheet{grid-column:1/-1}.voting-cheatsheet>div{display:inline-flex;min-width:45%;margin-right:4%}}@media(max-width:720px){.voting-panel{padding:14px}.voting-console{grid-template-columns:1fr}.voting-cheatsheet{grid-column:auto}.voting-cheatsheet>div{display:flex}.voting-heading{gap:10px}.voting-heading h2{font-size:20px}.voting-lcd{min-height:260px}.voting-numbers button{min-height:46px}.voting-actions button{font-size:11px}}.voting-scene .scene-caption{max-width:270px;padding:12px;background:#0d1724df;border:1px solid #53636a66;border-radius:8px}.voting-scene .scene-caption strong{font-size:19px}.voting-scene .depth-label{display:none}.workspace:is(:-webkit-full-screen,.expanded) .voting-panel{max-height:38vh;overflow:auto;flex:0 0 auto}.workspace:is(:fullscreen,.expanded) .voting-panel{max-height:38vh;overflow:auto;flex:0 0 auto}.scene-asset-status{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;padding:16px 22px;border:1px solid #465375;border-radius:12px;background:#101729e8;color:#e0e8ff;text-align:center;pointer-events:none}.scene-footer a{color:inherit;text-decoration:none}.scene-footer a:hover{text-decoration:underline}.grip-panel{position:absolute;left:20px;bottom:38px;z-index:2;width:270px;padding:16px;border:1px solid #3c6474;border-radius:16px;background:#0b1523e8;box-shadow:0 12px 35px #0003;pointer-events:none;color:#c8dce9}.grip-panel.holding{border-color:#71e8ca}.grip-panel-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}.grip-panel-title strong{font-size:13px;color:#d7fff4}.grip-panel-title>span{font-size:11px;white-space:nowrap;color:#88cbbd}.grip-fingers{display:grid;grid-gap:7px;gap:7px}.grip-fingers label{display:grid;grid-template-columns:66px 1fr;align-items:center;font-size:11px}.grip-fingers meter{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:7px;overflow:hidden;border:0;border-radius:6px;background:#263749}.grip-fingers meter::-webkit-meter-bar{background:#263749;border:0}.grip-fingers meter::-webkit-meter-optimum-value{background:#80ead3}.grip-fingers label:first-child meter::-webkit-meter-optimum-value{background:#ffc278}.grip-fingers label:nth-child(2) meter::-webkit-meter-optimum-value{background:#8beeff}.grip-fingers label:nth-child(3) meter::-webkit-meter-optimum-value{background:#c4a3ff}.grip-fingers label:nth-child(4) meter::-webkit-meter-optimum-value{background:#ff99d0}.grip-compression{display:flex;justify-content:space-between;margin:13px 0 10px;font-size:11px}.grip-compression strong{color:#a8fce0}.grip-angles{display:flex;justify-content:space-between;border-top:1px solid #29404e;padding-top:10px;font-size:10px;gap:10px}.grip-angles b{display:block;font-size:14px;color:#e5f5ff;font-weight:500;margin-top:3px}.grip-panel small{display:block;margin-top:10px;font-size:10px;line-height:1.4;color:#829fae}@media(max-width:720px){.grip-panel{left:12px;bottom:40px;width:210px;padding:12px}.grip-panel-title{flex-wrap:wrap;margin-bottom:8px}.grip-fingers{gap:4px}.grip-panel small{display:none}.grip-angles{font-size:9px}.grip-angles b{font-size:12px}}.throw-panel{position:absolute;bottom:38px;left:20px;z-index:2;width:250px;padding:17px;background:#0b1828ed;border:1px solid #3b6375;border-radius:15px;pointer-events:none;color:#c8dfe8}.throw-panel.holding{border-color:#91f5d0}.throw-panel>span{font-size:9px;letter-spacing:1.4px;color:#85c6bc}.throw-panel>strong{display:block;font-size:15px;margin:11px 0}.throw-panel>div{display:flex;gap:35px;margin:15px 0}.throw-panel b{font-size:27px;color:#aff5de}.throw-panel small{line-height:1.6;color:#91aabb;font-weight:400}.throw-panel label,.throw-panel small{display:block;font-size:10px}.throw-panel meter{display:block;width:100%;height:10px;margin-top:6px;accent-color:#87edc8}.throw-panel p{font-size:11px;line-height:1.8;color:#e7d9a9}@media(max-width:720px){.throw-panel{width:200px;left:12px;padding:12px}.throw-panel>small{display:none}.throw-panel>div{margin:8px 0}.throw-panel>strong{font-size:12px}}.throw-hands{display:grid;grid-gap:9px;gap:9px}.throw-hand{border:1px solid #35544f;border-left:3px solid #9fffe2;padding:8px;border-radius:7px}.throw-hand.right{border-left-color:#ffa4d7}.throw-hand.holding{background:#25423f55}.throw-hand label{font-weight:600}.throw-hand label span{display:block;color:#9fb6c6;font-size:9px;font-weight:400;margin:4px 0}.throw-hand.right meter{accent-color:#ffa4d7}.throw-hand small{margin-top:4px;font-size:9px}@media(max-height:750px){.throw-panel{padding:12px}.throw-panel>div{margin:8px 0}.throw-panel>small{display:none}.throw-panel p{margin:7px 0}.throw-hands{gap:5px}.throw-hand{padding:6px}}.gesture-recording{margin:14px 0;padding:13px;border:1px solid #456076;border-radius:10px;background:#162538}.gesture-recording.recording{border-color:#ff8d8d}.gesture-recording>strong{font-size:13px;color:#d6f5ed}.gesture-recording p{font-size:10px;line-height:1.6;color:#a9c1d1;margin:9px 0}.gesture-recording-buttons{display:flex;gap:7px;flex-wrap:wrap}.gesture-recording button{padding:9px;background:#2c4b60;color:#eaf6ff;border:1px solid #669082;border-radius:6px;font-size:11px;cursor:pointer}.gesture-recording button:disabled{opacity:.5;cursor:default}.gesture-recording.recording [role=status]{color:#ffb8b0}.gesture-recording .gesture-playback{display:block;width:100%;max-height:190px;margin:10px 0;border-radius:7px}.gesture-downloads{display:flex;gap:15px;font-size:11px}.gesture-downloads a{color:#9fe9d4}.voting-gesture-control{margin:14px 0;padding:12px;background:#172a37;border:1px solid #496a69;border-radius:9px}.voting-gesture-control label{font-size:12px;margin:0 0 8px}.voting-gesture-control select{width:100%;background:#203b48;border:1px solid #63857b;border-radius:6px;padding:9px;color:#e1f5ea;font-size:11px}.voting-gesture-control p{font-size:10px;color:#9fbcb8;line-height:1.6;margin:9px 0 0}.racing-scene .scene-caption{max-width:260px;padding:13px;border:1px solid #456b7644;background:#101d2cce;border-radius:10px}.racing-scene .scene-caption strong{font-size:20px}.racing-scene .depth-label{display:none}.racing-panel{position:absolute;bottom:30px;left:20px;width:250px;padding:17px;z-index:2;background:#101f30ed;border:1px solid #456e7a;border-radius:15px;color:#bfd9e5;pointer-events:none}.racing-panel>span{font-size:9px;letter-spacing:1px;color:#8cdac5}.racing-panel>strong{display:block;margin:10px 0;font-size:14px;color:#eefaff}.race-speed{display:flex;align-items:baseline;gap:8px;margin:12px 0}.race-speed>b{font-size:43px;line-height:1;color:#b5ffe1}.race-speed small{font-size:9px;color:#8caab8}.race-speed>span{margin-left:auto;color:#ffa3a3;font-size:19px;letter-spacing:2px}.race-stats{display:flex;justify-content:space-between;border-top:1px solid #38515e;border-bottom:1px solid #38515e;padding:11px 0;font-size:9px;color:#91afbd}.race-stats b{display:block;color:#e1f4ef;font-size:16px;margin-bottom:4px}.race-direction{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px;font-size:8px;color:#94b9be}.race-direction b{font-size:12px;color:#f5d993}.race-steer-track{height:5px;border-radius:3px;background:#314c5c;position:relative}.race-steer-track:after{content:"";position:absolute;left:50%;top:-3px;height:11px;width:1px;background:#7a919f}.race-steer-track i{position:absolute;top:-3px;transform:translateX(-50%);width:9px;height:11px;border-radius:4px;background:#9affd9}.racing-panel p{font-size:10px;line-height:1.5;margin:12px 0 0;color:#91acbc}.racing-panel.finished{border-color:#e2928c}.racing-panel.paused{border-color:#d8b975}@media(max-width:720px){.racing-panel{left:10px;bottom:48px;width:190px;padding:12px}.racing-panel p{display:none}.race-speed>b{font-size:30px}.race-speed>span{font-size:13px}.racing-scene .scene-caption{max-width:200px}.racing-scene .scene-caption strong{font-size:16px}}.click-learning{margin:14px 0;padding:14px;background:#172a32;border:1px solid #4f8273;border-radius:10px}.click-learning>span{font-size:8px;color:#92d0b4;letter-spacing:1px}.click-learning>strong{display:block;font-size:14px;color:#d5f8e8;margin:9px 0}.click-learning p,.click-learning small{font-size:10px;color:#a8c5bc;line-height:1.6}.click-learning small{display:block;margin:10px 0}.click-learning button{padding:9px;margin:5px 6px 5px 0;border:1px solid #609e87;border-radius:6px;background:#2a564a;color:#edfff3;font-size:10px;cursor:pointer}.click-learning button:disabled{opacity:.45;cursor:default}.click-learning progress{display:block;width:100%;height:8px;accent-color:#9dedd0;margin:10px 0}.learning-step{display:block;color:#f3dba0;font-size:12px}.click-learning .learning-count{font-size:20px;color:#baffdf}.learning-toggle{display:flex;align-items:center;gap:7px;font-size:11px;margin:12px 0}.learning-toggle input{accent-color:#98e8c3}.text-parallax-scene .scene-caption{top:20px;left:22px}.text-parallax-scene .scene-caption p,.text-parallax-scene .scene-caption strong{display:none}.text-parallax-scene .scene-caption span{font-size:10px;opacity:.7}.text-parallax-panel{border:1px solid #34425a;background:#111b2c;border-radius:12px;padding:16px;margin:12px 0 20px}.text-parallax-panel h2{font-size:15px;margin:0 0 16px;color:#e8f3ff}.text-parallax-panel label{display:flex;justify-content:space-between;gap:8px;margin:13px 0 7px;font-size:12px;color:#bccbdf}.text-parallax-panel label b{color:#95e4e2;font-weight:500}.text-parallax-panel textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:88px;border-radius:8px;background:#0a1220;color:#f1f7ff;border:1px solid #3b506a;padding:10px;font-size:16px;font-weight:600;line-height:1.4;font-family:inherit}.text-parallax-panel input[type=range]{width:100%;accent-color:#87e5dd}.text-parallax-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.text-parallax-row input{width:44px;height:30px;background:transparent;border:0;cursor:pointer}.text-parallax-panel .text-upload{display:block;border:1px dashed #4f6985;border-radius:7px;padding:10px;text-align:center;cursor:pointer}.text-parallax-panel input[type=file]{width:100%;color:#a6b8ca;font-size:11px}.text-parallax-panel p{color:#8fa4bb;font-size:11px;line-height:1.6}.text-parallax-panel select:focus-visible,.text-parallax-panel textarea:focus-visible{outline:2px solid #87e5dd;outline-offset:2px}.text-effect-controls{min-width:0;border:0;border-top:1px solid #34425a;padding:6px 0 0;margin:18px 0}.text-effect-controls legend{padding:0 8px 0 0;font-size:12px;color:#dce9f7;font-weight:600}.text-effect-controls .secondary{margin-top:8px}.lounge-scene .scene-caption{max-width:300px;padding:14px 16px;border-radius:10px;background:#15201bd9;border:1px solid #d4d9c02b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lounge-scene .scene-caption strong{font-size:22px;color:#f3ead9}.lounge-scene .scene-caption span{color:#c4d5b1}.lounge-scene .scene-caption p{color:#c5cfc1}.lounge-scene .depth-label{display:none}.body-scene .scene-caption{max-width:250px}.body-scene .scene-caption strong{font-size:20px}.body-scene .depth-label{display:none}.body-hud{position:absolute;right:18px;top:20px;width:210px;padding:14px;border:1px solid #50788c66;border-radius:10px;background:#102438df;pointer-events:none}.body-hud>span{font-size:9px;color:#8cd9db;letter-spacing:1.5px}.body-hud strong{display:block;font-size:12px;line-height:1.6;margin:9px 0;font-weight:500;color:#d4e4ed}.body-hud>div{display:flex;flex-wrap:wrap;gap:7px 10px}.body-hud small{font-size:10px;color:#8c9ba9}.body-hud .tracked{color:#8ff0ce}.body-capture-guide{font-size:12px;line-height:1.65;padding:12px;border:1px solid #52748d66;border-radius:8px;color:#c1d9e5;background:#132739}@media(max-width:900px){.body-hud{top:auto;bottom:65px;right:12px;width:190px}.body-scene .scene-caption p{display:none}}.drum-scene .scene-caption{max-width:235px;padding:12px;background:#101b26d9;border:1px solid #7d66464d;border-radius:9px}.drum-scene .scene-caption strong{font-size:20px;color:#f4dbb5}.drum-scene .scene-caption p{font-size:11px}.drum-scene .depth-label{display:none}.drum-hud{position:absolute;right:18px;top:20px;padding:13px 16px;background:#13212bdf;border:1px solid #a58d6055;border-radius:10px;pointer-events:none;min-width:185px}.drum-hud span{font-size:9px;color:#dcbb80;letter-spacing:1px}.drum-hud strong{display:block;font-size:18px;color:#f3dfbc;margin:8px 0}.drum-hud small{display:block;color:#a8bccb;font-size:11px}.drum-panel{padding:15px;border:1px solid #71604766;border-radius:11px;background:#151e29;margin:16px 0}.drum-panel h2{font-size:16px;margin:0 0 14px;color:#f1d4aa}.drum-panel label:not(.prediction-control){display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:16px 0 7px;color:#bfccd9}.drum-panel label b{color:#f2ca8d}.drum-panel input[type=range],.drum-panel progress{width:100%;accent-color:#e1b87b}.drum-panel p{font-size:11px;line-height:1.65;color:#a4b8c8}.drum-panel .prediction-control{align-items:center}.drum-key-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin:16px 0}.drum-key-grid button{display:flex;align-items:center;justify-content:space-between;gap:5px;background:#223140;border:1px solid #526272;color:#e3ebf3;border-radius:6px;padding:10px 7px;font-size:11px;text-align:left}.drum-key-grid button:active{background:#765a34}.drum-key-grid kbd{font-size:9px;color:#f7d096}.drum-credit{display:block;font-size:10px;color:#b7cfdf}.drum-scene canvas{cursor:crosshair}@media(max-width:900px){.drum-hud{top:auto;bottom:68px;right:12px;min-width:150px}.drum-scene .scene-caption p{display:none}.drum-hud strong{font-size:14px}.drum-scene .interaction-tools{flex-wrap:wrap}}.body-hud,.drum-hud{z-index:2}.drum-learning{margin:16px 0;padding:15px;border:1px solid #7bafbd77;border-radius:12px;background:#122b37}.drum-learning>span{color:#9ae6da;font-size:9px;letter-spacing:1px}.drum-learning h3{font-size:17px;margin:8px 0;color:#e1f6f5}.drum-learning p,.drum-learning>small{font-size:11px;line-height:1.65;color:#b4ccd7}.drum-learning>small{display:block}.drum-learning label{font-size:12px}.drum-air-map{margin:14px 0;background:#0b1b29;border:1px solid #4f7d9066;border-radius:8px;overflow:hidden}.drum-air-map svg{display:block;width:100%}.drum-air-map small{display:block;padding:6px 8px;color:#91adb9;font-size:9px}.drum-learning-step{display:block;color:#ffe0a5;text-align:center;padding:12px 0;font-size:15px}.drum-learning-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.drum-learning-actions button{padding:8px;font-size:10px;background:#233c49;border:1px solid #567784;border-radius:6px;color:#cee4ed}.drum-training-cue{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:4;background:#103b45f2;border:1px solid #97e0d7;border-radius:12px;padding:15px 22px;text-align:center;min-width:280px;pointer-events:none}.drum-training-cue span{display:block;font-size:10px;letter-spacing:1px;color:#a8efe0}.drum-training-cue strong{display:block;margin:9px 0;color:#fff3d3;font-size:21px}.drum-training-cue small{font-size:11px;color:#b6d7dc}@media(max-width:900px){.drum-training-cue{top:105px;min-width:230px;max-width:95%;padding:12px}.drum-training-cue strong{font-size:15px}}.dance-scene{min-height:720px;height:78vh;max-height:1080px;background:#080a20}.dance-scene .depth-label,.dance-scene .scene-caption,.dance-scene>.interaction-tools{display:none}.dance-panel{margin:18px 0;padding:15px;background:#1b1931;border:1px solid #8b88d866;border-radius:12px}.dance-panel>span{font-size:9px;color:#aeeade;letter-spacing:1px}.dance-panel h3{color:#ede6ff}.dance-panel p,.dance-panel small{font-size:11px;line-height:1.7;color:#b5bdd8}.dance-panel select{width:100%;background:#24243c;color:#e9e8ff;border:1px solid #626282;border-radius:6px;padding:9px}.dance-panel small{display:block;margin-top:8px}@media(max-width:720px){.dance-scene{min-height:650px}}.workspace:not(.expanded) .viewer:has(.dance-scene){align-self:start}.workspace:not(.expanded) .dance-scene{flex:none;min-height:680px;height:78vh;max-height:1080px}.workspace:is(:-webkit-full-screen,.expanded) .dance-scene{height:auto;max-height:none}.workspace:is(:fullscreen,.expanded) .dance-scene{height:auto;max-height:none}@media(max-width:720px){.workspace:not(.expanded) .dance-scene{min-height:620px}}.dance-finger-guide{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:18px 0}.dance-finger-guide>div{background:#121527;border-radius:8px;padding:10px}.dance-finger-guide strong{display:block;font-size:11px;color:#b2e9dd;margin-bottom:9px}.dance-finger-guide span{display:block;font-size:10px;line-height:1.8;color:#929fb9}.dance-finger-guide b{display:block;color:#e5dcfc;font-size:10px;font-weight:400;margin-bottom:5px}.objects-scene .depth-label,.objects-scene .scene-caption{display:none}.workspace:not(.expanded) .objects-scene{min-height:0;flex:none}.workspace .viewer:has(.objects-scene){align-self:start}.workspace:is(:-webkit-full-screen,.expanded) .viewer:has(.objects-scene){overflow:auto;height:100%}.workspace:is(:fullscreen,.expanded) .viewer:has(.objects-scene){overflow:auto;height:100%}.objects-scene>canvas{visibility:hidden}.object-learning{position:relative;z-index:3;background:#101b29;color:#d9e7ef}.object-preview{position:relative;aspect-ratio:4/3;max-height:70vh;min-height:340px;background:#080f1c;overflow:hidden}.object-preview canvas{object-fit:contain;position:absolute;inset:0;width:100%;height:100%}.object-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#1e3746,#0b1321);text-align:center;padding:28px}.object-empty>span{font-size:70px;color:#8bd5c4}.object-empty h2{font-size:26px;margin:12px}.object-empty p{font-size:13px;color:#99b5c2;line-height:1.6}.object-empty button{max-width:240px;margin:12px}.object-result{position:absolute;bottom:20px;left:20px;right:20px;padding:14px 18px;background:#101c2ee8;border:1px solid #5d7f92;border-radius:12px;pointer-events:none}.object-result>span{display:block;font-size:9px;letter-spacing:1.5px;color:#8eb6c7}.object-result strong{display:block;font-size:23px;margin:7px 0;color:#e5f3f7}.object-result small{font-size:10px;color:#93b5bc}.object-result.recognized{border-color:#8ee8c1;background:#0c302ce8}.object-result.recognized strong{color:#b4ffda}.object-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;padding:20px}.object-section{padding:16px;border:1px solid #354b5b;border-radius:12px;background:#142434}.object-section>span{font-size:9px;letter-spacing:1px;color:#8ce3cc}.object-section h3{font-size:17px}.object-section p{font-size:11px;line-height:1.7;color:#a4bac8}.object-learning-status>small,.object-section small{display:block;color:#8ca7b5;font-size:10px;line-height:1.6;margin:9px 0}.object-section input{width:100%;padding:10px;border:1px solid #66879a;border-radius:7px;background:#0c1928;color:#f1faff}.object-section .primary{margin-top:14px}.object-section ul{list-style:none;padding:0;margin:12px 0}.object-section li{display:flex;align-items:center;gap:7px;border-bottom:1px solid #354b5b;padding:8px 0}.object-section li button{background:#1b3847;color:#a8ded5;border:1px solid #3a5c69;border-radius:6px;padding:6px;font-size:10px}.object-section li .object-class-name{background:transparent;border:0;flex:1 1;text-align:left;color:#e4f8f0;font-size:13px;overflow-wrap:anywhere}.object-class-name small{margin:4px 0}.object-learning-status{padding:5px 22px 22px;font-size:12px;color:#b0d7d0;line-height:1.7}.object-learning-status [role=alert]{color:#ffc3a2}.object-learning-status button{max-width:220px}@media(max-width:1100px){.object-controls{grid-template-columns:1fr}.object-preview{min-height:300px}.object-result strong{font-size:19px}}