:root{--ground:#f3f5f9;--card:#fff;--ink:#03102f;--muted:#5b6478;--line:#dde2ec;--accent:#0a66ff;--accent-ink:#fff;--danger:#d93a2f;--ok:#1f9456;--warn:#d9822b;--blue:#0a66ff;--navy:#03102f;--grid:#d7d3c8;--wire:#2b2d31;--board:#fbfaf6;--glow:#ffd54a;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;--shadow:0 1px 2px #03102f0d, 0 4px 16px #03102f0f;--shadow-lg:0 2px 6px #03102f0d, 0 16px 40px #03102f1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e1320;--card:#161c2b;--ink:#eceef4;--muted:#a3a9b8;--line:#2a3246;--grid:#3a4156;--wire:#d9dce6;--board:#121827;--accent:#3d8bff;--blue:#5ea0ff;--danger:#ff6a5e;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-lg:0 2px 6px #0006, 0 16px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#0e1320;--card:#161c2b;--ink:#eceef4;--muted:#a3a9b8;--line:#2a3246;--grid:#3a4156;--wire:#d9dce6;--board:#121827;--accent:#3d8bff;--blue:#5ea0ff;--danger:#ff6a5e;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-lg:0 2px 6px #0006, 0 16px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--ground);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);background:color-mix(in srgb, var(--card) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);z-index:5;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.brand img{width:auto;height:28px;display:block}.brand picture{display:block}.brand-lab{color:var(--accent);letter-spacing:-.01em;background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:6px;padding:2px 8px;font-size:20px;font-weight:800;line-height:1.2}.lesson-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.origin{color:var(--muted);background:var(--ground);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:12px;font-weight:600}.origin:empty{display:none}.origin.ai{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:16px;max-width:1400px;margin:0 auto;padding:16px;display:grid}@media (max-width:900px){.layout{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.top{position:static}}.bench{background:var(--card);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.toolbar{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:2px;padding:8px;display:flex;overflow-x:auto}.tool{min-width:56px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:11px;font-weight:500;transition:background .15s,color .15s;display:flex}.tool:hover:not(:disabled){background:var(--ground);color:var(--ink)}.tool svg{width:34px;height:22px}.tool[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.tool.reset{margin-left:auto}.canvas-wrap{background:var(--board);touch-action:none;flex-direction:column;display:flex;position:relative}.banner[hidden]{display:none}.stage{position:relative}#board{-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:62vh;display:block}.bench-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.flow{align-items:center;gap:6px;display:flex}.banner{background:var(--danger);color:var(--accent-ink);text-align:center;border-radius:12px;order:-1;margin:10px 10px 0;padding:10px 14px;font-size:14px;font-weight:600}.banner.ok{background:var(--ok)}.inspector{background:var(--card);box-shadow:var(--shadow-lg);border-radius:16px;margin:0 12px 12px;padding:14px}.inspector h3{justify-content:space-between;align-items:center;margin:0 0 6px;font-size:15px;display:flex}.inspector .close{color:var(--muted);background:0 0;border:0;font-size:18px}.inspector .readings{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;display:grid}.inspector .readings div{background:var(--ground);font-variant-numeric:tabular-nums;border-radius:6px;padding:4px 6px;font-size:13px}.inspector .readings span{color:var(--muted);font-size:11px;display:block}.inspector input[type=range]{width:100%;accent-color:var(--accent)}.inspector .row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.btn{background:var(--ground);color:var(--ink);border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-weight:500;text-decoration:none;transition:filter .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:active:not(:disabled){transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:default}.panel{background:var(--card);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;min-width:0;min-height:520px;display:flex}.tabs{border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:12px 8px;font-size:14px;font-weight:600}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tab-body{flex:1;padding:16px;overflow-y:auto}.tab-body h2{margin:0 0 8px;font-size:17px}.tab-body h3{margin:14px 0 6px;font-size:15px}.muted{color:var(--muted)}.card{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:14px}.card.active{border-color:var(--accent)}.choices{gap:6px;margin:8px 0;display:grid}.choice{text-align:left;border:1px solid var(--line);background:0 0;border-radius:12px;padding:10px 12px}.choice.right{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.choice.wrong{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.goal{background:var(--ground);border-radius:999px;align-items:center;gap:6px;margin:2px 4px 2px 0;padding:3px 8px;font-size:12px;display:inline-flex}.goal.met{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok);font-weight:600}.formula{font-family:Cambria Math,Georgia,serif;font-size:18px}.steps{counter-reset:step}.step{margin:10px 0;padding-left:30px;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--ground);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid;position:absolute;top:0;left:0}.step.done:before{content:"✓";background:var(--ok);color:#fff}.takeaway{border-left:3px solid var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent);border-radius:0 8px 8px 0;padding:6px 10px}table.log{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}table.log th,table.log td{border-bottom:1px solid var(--line);text-align:right;padding:4px 6px}table.log th:first-child,table.log td:first-child{text-align:left}.plot{background:var(--ground);border-radius:8px;width:100%;height:auto;margin:8px 0}.chat{flex-direction:column;gap:8px;display:flex}.msg{white-space:pre-wrap;border-radius:10px;max-width:92%;padding:8px 10px}.msg.me{background:color-mix(in srgb, var(--blue) 14%, transparent);align-self:flex-end}.msg.ai{background:var(--ground);align-self:flex-start}.ask{gap:6px;margin-top:10px;display:flex}.ask textarea{resize:vertical;border:1px solid var(--line);background:var(--card);border-radius:8px;flex:1;min-height:42px;max-height:120px;padding:8px}.mic.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.grid-dot{fill:var(--grid)}.edge-hit{stroke:#0000;stroke-width:26px;stroke-linecap:round}.edge-hit:hover,.edge-hit.hover{stroke:color-mix(in srgb, var(--accent) 22%, transparent)}.comp-hit{fill:#0000;cursor:pointer}.selected-ring{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4}.wire{stroke:var(--wire);stroke-width:3.5px;stroke-linecap:round;fill:none}.ink{stroke:var(--wire);fill:none;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.ink-fill{fill:var(--board);stroke:var(--wire);stroke-width:2.6px}.label{fill:var(--ink);font:600 13px var(--font)}.reading{fill:var(--blue);font:700 13px var(--font);font-variant-numeric:tabular-nums}.charge{fill:var(--blue)}.charge.electron{fill:#2bb3ff}.locked-badge{fill:var(--muted);font:600 10px var(--font)}.seg{background:var(--ground);border-radius:10px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0000001f}#bench3d{touch-action:none;width:100%;height:min(62vh,72vw);min-height:300px;display:block}#bench3d[hidden],#board[hidden]{display:none}.tool:disabled{opacity:.35;cursor:default}.sheet{box-shadow:var(--shadow-lg);background:var(--card);width:min(640px,100% - 24px);max-height:calc(100vh - 32px);color:var(--ink);border:0;border-radius:22px;padding:0}.sheet::backdrop{background:#0a0a0c73}.sheet .in{gap:14px;padding:18px;display:grid}.sheet h2{margin:0;font-size:20px}.tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.tiles div{background:var(--ground);text-align:center;border-radius:10px;padding:10px}.tiles b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:24px;display:block}.tiles span{color:var(--muted);font-size:12px}.bar{background:var(--ground);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--accent);width:0;height:100%;transition:width .2s;display:block}.sheet video{background:#000;border-radius:10px;width:100%}.sheet .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet code{word-break:break-all;font-size:13px}@media (max-width:600px){.top .origin{display:none}.top{gap:8px}.top .brand{flex:1}.top .lesson-title{flex-basis:100%;order:10;font-size:14px}#bench3d{height:96vw}}.seg.lang button{padding:6px 10px;font-size:13px}.translate-offer{border:1px dashed var(--accent);border-radius:14px;gap:8px;margin-bottom:12px;padding:10px 12px;display:grid}.activities{gap:8px;display:grid}.activity{background:var(--ground);width:100%;color:var(--ink);text-align:left;border:0;border-radius:14px;align-items:center;gap:12px;padding:14px;font-weight:600;transition:filter .15s,transform .1s;display:flex}.activity:hover{filter:brightness(.97)}.activity:active{transform:scale(.99)}.activity .play{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.activity .chev{color:var(--muted);margin-left:auto;font-size:22px;line-height:1}.formulas{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.formulas .formula{border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:16px}details.about{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}details.about summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:500;list-style:none}details.about summary::-webkit-details-marker{display:none}details.about summary:after{content:"›";margin-left:6px;transition:transform .15s;display:inline-block}details.about[open] summary:after{transform:rotate(90deg)}details.about ul{margin:6px 0;padding-left:18px}details.about li{margin:4px 0}.activity.challenge .play{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.activity.done .chev{color:var(--ok);font-size:18px;font-weight:700}.activity.done .play{background:var(--ok);color:#fff}.mission-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.mission-head h2{margin:0}.back{background:var(--ground);width:32px;height:32px;color:var(--ink);border:0;border-radius:50%;flex:none;padding-bottom:3px;font-size:22px;line-height:1}.tima{z-index:4;pointer-events:none;align-items:flex-end;gap:10px;max-width:calc(100% - 28px);display:flex;position:absolute;bottom:14px;left:14px}.tima>*{pointer-events:auto}.tima-orb,.intro-orb{--level:0;width:58px;height:58px;transform:scale(calc(1 + var(--level) * .4));background:0 0;border:0;border-radius:50%;flex:none;padding:0;transition:transform 80ms;position:relative}.tima-core{background:radial-gradient(circle at 34% 28%,#fff 0 7%,#9fe4ff 20%,#2f8bff 50%,#6a3bff 78%,#c13bff 100%);border-radius:50%;animation:4s ease-in-out infinite tima-breathe;position:absolute;inset:7px;box-shadow:0 0 26px #3a8cff99,inset 0 -8px 16px #14005059}.tima-ring{opacity:.85;filter:blur(.4px);background:conic-gradient(#3ad1ff,#0a66ff,#8b5cff,#ff4fa3,#ffb340,#3ad1ff);border-radius:50%;animation:7s linear infinite tima-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.tima.speaking .tima-ring{opacity:1;animation-duration:1.4s}.tima.speaking .tima-core{animation:.45s ease-in-out infinite alternate tima-talk}.tima.listening .tima-ring{background:conic-gradient(#ff3b30,#ff9500,#ffd54a,#ff3b30);animation-duration:.8s}.tima.listening .tima-core{box-shadow:0 0 34px #ff783cb3,inset 0 -8px 16px #5000004d}.tima.thinking .tima-ring{animation-duration:1s}.tima.thinking .tima-core{animation:1.2s ease-in-out infinite tima-think}.tima-bubble{background:color-mix(in srgb, var(--card) 84%, transparent);-webkit-backdrop-filter:blur(18px)saturate(180%);backdrop-filter:blur(18px)saturate(180%);max-width:min(360px,100% - 70px);box-shadow:var(--shadow-lg);color:var(--ink);border-radius:18px 18px 18px 6px;padding:10px 14px;font-size:14px;line-height:1.4}.tima-bubble[hidden]{display:none}.tima-controls{opacity:0;flex-direction:column;align-items:flex-start;gap:6px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:66px;left:0;transform:translateY(6px)}.tima:hover .tima-controls,.tima:focus-within .tima-controls,.tima.wake-on .tima-controls{opacity:1;transform:none}.tima-ctl{background:color-mix(in srgb, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);color:var(--muted);border:0;border-radius:99px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.tima-ctl.wake[aria-pressed=true]{color:#fff;background:linear-gradient(135deg,#0a66ff,#8b5cff)}.tima-ctl.wake[aria-pressed=true]:before{content:"";background:#ff4f4f;border-radius:50%;width:7px;height:7px;animation:1.6s infinite tima-rec;box-shadow:0 0 #ff4f4fb3}@keyframes tima-spin{to{transform:rotate(360deg)}}@keyframes tima-breathe{50%{filter:brightness(1.12);transform:scale(.92)}}@keyframes tima-talk{0%{transform:scale(.88)}to{filter:brightness(1.2);transform:scale(1.06)}}@keyframes tima-think{50%{filter:hue-rotate(40deg);transform:scale(.85)rotate(20deg)}}@keyframes tima-rec{70%{box-shadow:0 0 0 7px #ff4f4f00}to{box-shadow:0 0 #ff4f4f00}}.intro{z-index:40;-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:radial-gradient(1200px 700px at 50% 30%,#2a64ff59,#0000 60%),#050b1eb8;place-items:center;padding:16px;transition:opacity .6s;display:grid;position:fixed;inset:0}.intro[hidden]{display:none}.intro.out{opacity:0;pointer-events:none}.intro-card{text-align:center;color:#fff;justify-items:center;gap:10px;max-width:440px;display:grid}.intro-orb{width:132px;height:132px;margin-bottom:14px}.intro-orb .tima-core{inset:14px}.intro-orb .tima-ring{-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px))}.intro h1{letter-spacing:-.02em;margin:0;font-size:clamp(26px,5vw,38px);line-height:1.1}.intro p{color:#ffffffb3;margin:0 0 14px;font-size:16px}.intro-go{border-radius:99px;padding:14px 28px;font-size:17px;box-shadow:0 10px 30px #0a66ff73}.intro-quiet{color:#ffffffa6;background:0 0;border:0;padding:6px;font-size:14px}.intro-quiet:hover{color:#fff}.intro.out .intro-card{transition:transform .6s;transform:scale(1.06)}.tool{touch-action:pan-x;cursor:grab}.tool[data-tool=select],.tool[data-tool=erase],.tool.reset{cursor:pointer}.drag-ghost{z-index:50;pointer-events:none;background:color-mix(in srgb, var(--card) 92%, transparent);width:80px;height:56px;color:var(--ink);border-radius:16px;place-items:center;transition:opacity .15s,background .15s,scale .15s;display:grid;position:fixed;top:-28px;left:-40px;scale:1.08;box-shadow:0 18px 40px #03102f47}.drag-ghost svg{width:54px;height:36px}.drag-ghost.snap{opacity:.4;scale:.85}.drag-ghost.trash{background:var(--danger);scale:.9}.drag-ghost.trash svg{opacity:.35}.drag-ghost.trash:after{content:"✕";color:#fff;font-size:22px;font-weight:700;position:absolute}.drop-glow{stroke:#3ad1ff;stroke-width:14px;stroke-linecap:round;opacity:.35;animation:.9s ease-in-out infinite alternate drop-pulse}.drop-ghost{opacity:.55}@keyframes drop-pulse{to{opacity:.6;stroke-width:18px}}.confetti{z-index:6;pointer-events:none;border-radius:2px;width:8px;height:13px;position:absolute;top:0}.btn.vr{color:#fff;background:linear-gradient(135deg,#0a66ff,#8b5cff);font-weight:700}@media (prefers-reduced-motion:reduce){.tima-core,.tima-ring,.drop-glow,.tima-ctl.wake:before{animation:none!important}}@media (max-width:600px){.tima-orb{width:50px;height:50px}.tima-controls{bottom:58px}}.tima.ear .tima-ctl.wake[aria-pressed=true]:before{background:#34c759;box-shadow:0 0 #34c759b3}.tima-ear{max-width:280px;color:color-mix(in srgb, var(--muted) 85%, transparent);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px color-mix(in srgb, var(--card) 80%, transparent);font-size:12px;font-style:italic;position:absolute;bottom:-4px;left:70px;overflow:hidden}.tima-ear[hidden]{display:none}.tima-ctl.look{color:var(--accent)}.tima.looking .tima-ring{background:conic-gradient(#3ad1ff,#fff,#3ad1ff,#0a66ff,#3ad1ff);animation-duration:.7s}.tima.looking .tima-core{background:radial-gradient(circle,#031030 0 16%,#3ad1ff 18% 34%,#0a66ff 52%,#6a3bff 100%);animation:.9s ease-in-out tima-look}@keyframes tima-look{30%{transform:scaleY(.15)}60%{transform:scaleY(1)}}.stage:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(#0000 0,#3ad1ff00 40%,#3ad1ff73 49%,#ffffffe6 50%,#3ad1ff73 51%,#0000 60%) 0 0/100% 220%;position:absolute;inset:0}.stage.scan:after{animation:.9s ease-in-out bench-scan}@keyframes bench-scan{0%{opacity:1;background-position:0 100%}to{opacity:1;background-position:0 -20%}}#board g.spot{animation:1s ease-in-out infinite alternate part-spot}@keyframes part-spot{0%{filter:drop-shadow(0 0 2px #ffd54a)}to{filter:drop-shadow(0 0 12px #ffb340)drop-shadow(0 0 4px #ffd54a)}}@media (prefers-reduced-motion:reduce){.stage.scan:after,#board g.spot,.tima.looking .tima-core{animation:none}}.intro-cover{object-fit:cover;opacity:.35;filter:blur(2px)saturate(120%);z-index:-1;width:100%;height:100%;position:absolute;inset:0}.intro-cover[hidden]{display:none}.intro{isolation:isolate}.btn.hands{padding:6px 12px;font-size:18px}.btn.hands[aria-pressed=true]{color:#fff;background:linear-gradient(135deg,#0a66ff,#3ad1ff)}.hand-view{z-index:30;width:240px;box-shadow:var(--shadow-lg);background:#000;border-radius:18px;position:fixed;bottom:16px;right:16px;overflow:hidden}.hand-view[hidden]{display:none}.hand-view video,.hand-view canvas{aspect-ratio:4/3;width:100%;display:block;transform:scaleX(-1)}.hand-view canvas{position:absolute;inset:0}.gestures{background:color-mix(in srgb, var(--card) 92%, transparent);gap:2px;padding:8px;display:grid;position:relative}.gestures span{color:var(--muted);border-radius:8px;padding:3px 8px;font-size:12px;transition:background .15s,color .15s}.gestures span.on{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.hand-cursor{z-index:60;pointer-events:none;border:3px solid #3ad1ff;border-radius:50%;width:28px;height:28px;transition:scale .12s,background .12s;position:fixed;top:-14px;left:-14px;box-shadow:0 0 16px #3ad1ffcc}.hand-cursor[hidden]{display:none}.hand-cursor:after{content:"";background:conic-gradient(#3ad1ff calc(var(--dwell,0) * 360deg), transparent 0);border-radius:50%;position:absolute;inset:-9px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}.hand-hover{outline-offset:2px;outline:3px solid #3ad1ff!important;box-shadow:0 0 18px #3ad1ff8c!important}.hand-cursor[data-gesture=pinch]{background:#3ad1ff;scale:.7}.hand-cursor[data-gesture=open]{border-color:#8b5cff;scale:1.3;box-shadow:0 0 18px #8b5cffcc}.hand-cursor[data-gesture=fist]{border-color:#ff9500;box-shadow:0 0 18px #ff9500cc}@media (max-width:600px){.hand-view{width:150px}}.dock{scrollbar-width:thin;align-items:center;gap:8px;max-width:1400px;margin:0 auto;padding:0 16px 20px;display:flex;overflow-x:auto}.dock-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:12px;font-weight:600}.dock a{background:var(--card);box-shadow:var(--shadow);color:var(--ink);white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:13px;font-weight:500;text-decoration:none;transition:transform .15s;display:inline-flex}.dock a:hover{transform:translateY(-1px)}.dock a.current{outline:2px solid var(--accent)}.dock-lab img{object-fit:cover;border-radius:6px;width:36px;height:26px}.dock-lab .pill{background:var(--ground);color:var(--muted);border-radius:99px;padding:2px 7px;font-size:11px;font-weight:600}.dock-lab:not(:has(img)){padding-left:12px}.dock .dock-teach{box-shadow:none;color:var(--accent);background:0 0;margin-left:auto}body.hands-on .dock{padding-right:270px}@media (max-width:600px){body.hands-on .dock{padding-right:170px}}.btn.help{padding:6px 12px;font-weight:700}.tour-spot{z-index:45;pointer-events:none;border-radius:18px;transition:left .45s,top .45s,width .45s,height .45s;position:fixed;box-shadow:0 0 0 4px #3ad1ff,0 0 0 9999px #050b1e8c}.tour-card{z-index:46;background:var(--card);width:340px;color:var(--ink);box-shadow:var(--shadow-lg);border-radius:18px;padding:14px 16px;transition:left .45s,top .45s,bottom .45s;position:fixed}.tour-card p{margin:6px 0 12px;font-size:15px;line-height:1.45}.tour-count{color:var(--accent);font-size:12px;font-weight:600}.tour-row{justify-content:flex-end;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}}.intro-note{color:#fff9;max-width:360px;margin:10px 0 0;font-size:13px;line-height:1.4}.rec{font-variant-numeric:tabular-nums;color:#ff3b30;background:#ff3b301f;border:0;border-radius:99px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.rec i{background:#ff3b30;border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite rec-blink}@keyframes rec-blink{50%{opacity:.25}}.filmed{background:var(--ground);border-radius:14px;gap:8px;padding:12px;display:grid}.filmed video{background:#000;border-radius:10px;width:100%}@media (prefers-reduced-motion:reduce){.rec i{animation:none}}
