@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101514;--panel:#161d1a;--line:#2b3530;--text:#edf0e7;--muted:#8d9c92;--lime:#cbef83}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:8px;padding:11px 14px;transition:.2s}button:hover{background:#29352b;border-color:#7a9561}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line)}.brand{color:var(--text);display:flex;gap:12px;align-items:center;text-decoration:none}.mark{font-size:40px;color:var(--lime)}.brand strong{font-family:'Space Grotesk';font-size:21px;letter-spacing:1px}.brand strong span{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:3px}.header-note{color:var(--muted);font-size:12px}header button{font-size:12px}main{display:grid;grid-template-columns:282px minmax(350px,1fr) 288px;min-height:780px}.left,.right{padding:32px 25px}.left{border-right:1px solid var(--line)}.right{border-left:1px solid var(--line)}.eyebrow,.section-label,.stage-top,.scene-heading>span,footer,.spread{font-size:9px;letter-spacing:1.5px;font-weight:600}.eyebrow{color:var(--lime)}h1{font-family:'Space Grotesk';font-size:32px;line-height:1.15;letter-spacing:-1.4px;margin:20px 0 14px}h1 em{font-style:normal;color:var(--lime)}.intro{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:34px}.section-label{color:var(--muted);display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:9px;letter-spacing:1px}.section-label span:last-child{font-size:8px}.model{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:14px 11px;margin-bottom:10px}.model.active{background:#263122;border-color:#789252}.model-icon{font-size:28px;color:var(--lime)}.model b{font-size:12px;display:block}.model small{font-size:9px;color:var(--muted);display:block;margin-top:5px}.model>span:last-child{margin-left:auto}.camera-card{background:#1a211c;border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:32px}.dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-right:6px}.camera-card .section-label{justify-content:flex-start}.camera-card .section-label span:last-child{margin-left:auto}.camview{height:126px;position:relative;border:1px dashed #38433b;border-radius:7px;overflow:hidden;background:radial-gradient(ellipse,#273226,#161d18)}video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:none}#camplaceholder{display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px}#camplaceholder>span{font-size:28px;filter:grayscale(1);opacity:.7}#camplaceholder b{font-size:10px}#camplaceholder small{font-size:9px;color:var(--muted)}.primary{background:var(--lime);color:#172014;border:0;font-weight:700;width:100%;font-size:11px;display:flex;justify-content:space-between;margin-top:14px}.primary:hover{background:#deff9e;color:#172014}.primary:disabled{opacity:.6;cursor:wait}.privacy{font-size:9px;color:var(--muted);line-height:1.7}#gesture{font-size:10px;color:var(--lime);line-height:1.6}.text-button{width:100%;border:0;font-size:11px;display:flex;justify-content:space-between;margin-top:15px;color:var(--muted)}.stage{position:relative;overflow:hidden;min-height:780px;background:radial-gradient(ellipse at 50% 47%,#253027 0%,#171e1a 50%,#121915 90%)}.stage-top{position:absolute;top:30px;left:25px;right:25px;display:flex;justify-content:space-between;color:#a1aea1;z-index:1;font-size:8px}#viewmode{border:1px solid #3b493b;border-radius:4px;padding:5px 7px;margin-top:-5px}.scene-heading{position:absolute;top:80px;left:30px;pointer-events:none}.scene-heading>span{color:#77916d;font-size:9px}.scene-heading h2{font-family:'Space Grotesk';font-size:25px;font-weight:500;letter-spacing:-.7px;margin:9px 0}.scene-heading p{color:var(--muted);font-size:11px;margin:0}canvas{width:100%;height:100%;position:absolute;inset:0;touch-action:none}.axis{position:absolute;bottom:180px;right:25px;color:#82947b;font-size:10px}.axis span{color:var(--lime)}.stage-bottom{position:absolute;bottom:30px;left:10px;right:10px;display:flex;align-items:center;flex-direction:column}.hint{color:#81917f;font-size:9px;margin-bottom:20px}.hint span{padding:0 8px}.toolbar{display:flex;align-items:center;border:1px solid #3b4937;border-radius:12px;padding:6px;background:#20291ff0;gap:4px;box-shadow:0 8px 25px #0003}.toolbar button{border:0;font-size:11px;padding:12px}.toolbar button.selected,.toolbar button[aria-pressed=true]{background:var(--lime);color:#1c2918}.divider{height:20px;width:1px;background:#41513c;margin:0 3px}.spread{display:flex;align-items:center;gap:12px;color:#84957f;margin-top:20px;font-size:7px}input[type=range]{width:140px;accent-color:var(--lime);height:3px}.part-symbol{height:93px;width:100%;display:flex;align-items:center;justify-content:center;font-size:58px;color:var(--lime);background:radial-gradient(ellipse,#303f2c,transparent 70%);margin:20px 0}h2{font-family:'Space Grotesk';letter-spacing:-.7px}.right h2{font-size:24px;margin:10px 0}#partDesc{color:var(--muted);font-size:12px;line-height:1.8;min-height:64px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.specs div{padding:10px;border:1px solid var(--line);border-radius:5px}.specs small{display:block;color:var(--muted);font-size:8px;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.specs b{font-family:'Space Grotesk';font-size:12px}.info-box{border-left:2px solid #9dbb76;background:#20291e;padding:13px}.info-box>span{color:var(--lime);font-size:8px;letter-spacing:1.2px}.info-box p{font-size:11px;color:#a8b4a4;line-height:1.8;margin-bottom:0}.components-title{margin-top:28px}#parts button{border:0;border-radius:5px;display:flex;width:100%;justify-content:space-between;padding:9px 8px;font-size:11px;color:#a8b4a4}#parts button.active{background:#2a3625;color:var(--lime)}#parts button span{font-size:9px;color:#63715d}.model-note{font-size:9px;line-height:1.8;color:#697868;margin-top:20px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:20px 34px;color:#82917e;font-size:8px}dialog{background:#1a231d;border:1px solid #495c3d;border-radius:18px;padding:38px;color:var(--text);width:min(580px,92vw)}dialog::backdrop{background:#050b08bb;backdrop-filter:blur(8px)}dialog h2{font-size:30px}dialog>p{color:var(--muted);line-height:1.8}.close{position:absolute;right:15px;top:15px;border:0;font-size:22px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-grid>div{padding:15px;border:1px solid var(--line);border-radius:8px;font-size:24px}.guide-grid b{display:block;font-size:13px;margin-top:10px}.guide-grid p{font-size:11px;color:var(--muted);line-height:1.8}#answers button{display:block;width:100%;margin:8px 0;text-align:left}#feedback{min-height:42px}#nextQuestion{justify-content:center}button.correct{border-color:var(--lime);background:#364729}button.wrong{border-color:#bc7362}@media(min-width:1500px){main{grid-template-columns:320px 1fr 320px}.left,.right{padding:36px}}@media(max-width:1050px){main{grid-template-columns:235px minmax(300px,1fr)}.right{grid-column:1/-1;display:block;border-top:1px solid var(--line)}.right .part-symbol{display:none}#parts{display:flex;flex-wrap:wrap}#parts button{width:auto;gap:20px}.specs{max-width:400px}.left{padding:30px 18px}h1{font-size:28px}.header-note{display:none}}@media(max-width:620px){header{height:76px;padding:0 18px}header button span{display:none}.brand strong{font-size:17px}main{display:flex;flex-direction:column}.left{border:0;padding:24px 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.left>.eyebrow,.left>h1,.left>.intro,.left>.section-label{grid-column:1/-1}.left h1{font-size:32px;margin:10px 0}.left h1 br{display:none}.left .intro{margin:0 0 18px}.model{margin:0;padding:12px 8px;gap:6px}.model b{font-size:10px}.model small{font-size:8px}.model-icon{font-size:22px}.camera-card{grid-column:1/-1;margin-top:12px}.camview{height:110px}.text-button{grid-column:1/-1}.stage{min-height:620px}.right{padding:28px 22px}.scene-heading{top:65px}.stage-top{top:22px}.toolbar button{padding:10px}.hint{font-size:8px}footer{padding:20px;gap:20px}footer span:last-child{display:none}.guide-grid{grid-template-columns:1fr}dialog{padding:25px}}
.model-labels{position:absolute;inset:0;pointer-events:none;z-index:2}.model-label{position:absolute;transform:translate(-50%,-100%);font-size:9px;padding:5px 9px;border:1px solid #647c5699;background:#18231de0;color:#c6d0bd;pointer-events:auto;white-space:nowrap;border-radius:4px}.model-label.active{border-color:#c6e68b;color:#e2f5bc;background:#293923ed}.model-label[hidden]{display:none}#rendererMode{position:absolute;bottom:166px;left:25px;font-size:7px;letter-spacing:1px;color:#83907f;pointer-events:none}#handPointer{position:absolute;border:2px solid #d2f18b;border-radius:100%;width:24px;height:24px;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.camera-direct{display:block;margin-top:12px;font-size:10px;line-height:1.6;color:var(--lime);text-underline-offset:3px}#cameraContext{line-height:1.65;margin-top:7px}#cameraPicker{font-size:10px;color:var(--muted)}#cameraDevice{width:100%;background:#101a13;color:#eee;border:1px solid #48573c;border-radius:5px;font-size:10px;padding:6px;margin-top:7px}.left .camera-card{margin-top:22px}.left>.section-label{margin-top:20px}.left .intro{margin-bottom:20px}.model{padding:11px}.stage{min-height:840px}.scene-heading{z-index:1}.stage-bottom{z-index:4}.right{min-width:0}@media(min-width:1051px){main{height:calc(100dvh - 135px);min-height:740px}.left,.right{overflow:auto;scrollbar-width:thin;scrollbar-color:#405039 transparent}.stage{min-height:740px}}@media(max-width:620px){.stage{min-height:650px}.model:last-of-type{grid-column:1/-1}}
.brand img{width:124px;height:72px;object-fit:contain;padding:4px 8px;background:white;border-radius:6px}.header-copy{text-align:center}.header-note{display:block;font-size:clamp(15px,1.5vw,23px);font-weight:800;color:#65e1ff;text-shadow:0 0 17px #27bcf590}.creator{display:block;font-size:10px;letter-spacing:.6px;margin-top:6px;color:#c0d1dc}.header-actions{display:flex;gap:6px}.header-actions button{font-size:11px}.recording{color:#ffaaa8;background:#53282b}.right .camera-card{margin:0 0 23px;background:linear-gradient(145deg,#172b2f,#18211b);border-color:#38565d}.right .camview{height:145px}.stage .hand-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.right #camDrawing{position:absolute;inset:0;pointer-events:none;z-index:2}.stage{isolation:isolate}.stage .scene-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.scene-fx::after,.scene-fx::before{content:'';position:absolute;left:50%;top:53%;width:60%;aspect-ratio:1;border:2px solid #6bedff;border-radius:50%;opacity:0;box-shadow:0 0 22px #4ee3ff,inset 0 0 14px #58cdef}.scene-fx.play::after,.scene-fx.play::before{animation:scanPulse 1.4s ease-out}.scene-fx.play::before{animation-delay:.16s;border-style:dashed}.scene-fx.reverse::after,.scene-fx.reverse::before{animation-direction:reverse}@keyframes scanPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.1,.05)}20%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(1.7,.8)}}.stage-bottom,.stage-top,.scene-heading{z-index:3}.focus-strip{position:absolute;z-index:6;top:155px;left:25px;border:1px solid #428494;background:#173138;color:#b4f7ff;padding:5px 9px;border-radius:6px;font-size:10px}.focus-strip button{font-size:10px;margin-left:6px;padding:4px 7px}.capture-status{position:fixed;z-index:99;top:100px;right:16px;max-width:min(380px,90vw);padding:12px;background:#172f37;border:1px solid #507783;border-radius:9px;font-size:12px;line-height:1.6}.capture-status a{color:#80ebff;padding:0 5px}.capture-status button{padding:3px 6px}.model-label.active{border-color:#87e8ff;background:#1b3840;color:#c5f6ff}.toolbar button{padding:10px 8px}.right #partSymbol{display:none}@media(max-width:850px){header{min-height:110px;height:auto;flex-wrap:wrap;gap:8px;padding:12px 18px}.brand img{width:96px;height:55px}.header-copy{flex:1;padding:0 8px}.header-actions{margin-left:auto}.header-note{display:block}.toolbar button{padding:9px 5px;font-size:9px}}@media(max-width:620px){.header-actions{width:100%;justify-content:center}.right .camera-card{margin:12px 0 22px}}@media(prefers-reduced-motion:reduce){.scene-fx.play::after,.scene-fx.play::before{animation:none}}
