@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#140b2e;--bg-2:#1d1042;--bg-3:#2a1760;--surface:#ffffff0f;--surface-2:#ffffff1a;--border:#ffffff1f;--ink:#fff7e8;--muted:#fff7e8ad;--vanilla:#ffe9b8;--purple:#8b5cff;--pink:#ff4d8d;--cyan:#3dd6ff;--yellow:#ffd23d;--green:#7dff6b;--danger:#ff5a5a;--radius:20px;--radius-sm:12px;--shadow:0 18px 50px #05001473;--font-display:"Fredoka Variable", "Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--max:1200px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html.reduced-motion{scroll-behavior:auto}body{background:radial-gradient(1200px 600px at 85% -10%, #8b5cff59, transparent 60%), radial-gradient(900px 500px at -10% 30%, #ff4d8d2e, transparent 60%), var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}body.immersive{background:#0b0620;overflow:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5em;line-height:1.12}h1{font-size:clamp(2rem,4.5vw,3.1rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}p{margin:0 0 1em}a{color:var(--vanilla)}img,canvas,video{max-width:100%;display:block}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}.skip-link{z-index:100;background:var(--vanilla);color:var(--bg);border-radius:10px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.boot{text-align:center;place-content:center;min-height:100vh;padding:24px;display:grid}.boot__logo,.logo__mark{background:conic-gradient(from 210deg, var(--pink), var(--purple), var(--cyan), var(--yellow), var(--pink));border-radius:18px;width:56px;height:56px;margin:0 auto 12px;position:relative;box-shadow:0 0 0 4px #ffffff14}.logo__mark:after,.boot__logo:after{content:"";background:var(--bg);box-shadow:inset 0 0 0 5px var(--vanilla);border-radius:50%;position:absolute;inset:22%}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#140b2eb8;position:sticky;top:0}.site-header__inner,.site-footer__inner{max-width:var(--max);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:10px 20px;display:flex}.logo{color:var(--ink);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;text-decoration:none;display:flex}.logo b{color:var(--vanilla);font-weight:700}.logo__mark{border-radius:11px;width:34px;height:34px;margin:0}.nav{align-items:center;gap:6px;display:flex}.nav__link{color:var(--ink);border-radius:999px;align-items:center;padding:8px 12px;font-weight:700;text-decoration:none;display:inline-flex}.nav__link:hover,.nav__link.is-active{background:var(--surface-2)}.cam-pill{cursor:pointer;background:#ff5a5a1f;border:1px solid #ff5a5a80;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.cam-pill__dot{background:var(--danger);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #ff5a5a40}.site-footer{border-top:1px solid var(--border);margin-top:40px}.site-footer__inner{flex-direction:column;align-items:flex-start;gap:4px;padding:26px 20px 40px}.site-footer svg{vertical-align:-3px;display:inline}.btn{--b:var(--vanilla);font-family:var(--font-display);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn--md{padding:11px 20px;font-size:1rem}.btn--lg{padding:15px 28px;font-size:1.15rem}.btn--sm{padding:7px 14px;font-size:.9rem}.btn--primary{background:linear-gradient(135deg, var(--pink), var(--purple));color:#fff;box-shadow:0 8px 24px #ff4d8d59}.btn--primary:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 10px 30px #ff4d8d80}.btn--secondary{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--border)}.btn--secondary:hover{background:#ffffff29}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--surface)}.btn--danger{color:#ffd0d0;background:#ff5a5a29;box-shadow:inset 0 0 0 1px #ff5a5a66}.icon-btn{background:var(--surface-2);width:42px;height:42px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:#ffffff2e}.section{max-width:var(--max);margin:0 auto;padding:56px 20px}.section.narrow{max-width:820px}.section--tint{border-block:1px solid var(--border);background:linear-gradient(#8b5cff14,#3dd6ff0a);max-width:none}.section--tint>*{max-width:var(--max);margin-inline:auto}.section__head{margin-bottom:26px}.section__head p{color:var(--muted);max-width:640px}.section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#1d1042db;margin-bottom:18px;padding:22px}.kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);margin-bottom:10px;font-size:.85rem;font-weight:700}.hero{max-width:var(--max);grid-template-columns:1.05fr 1fr;align-items:center;gap:32px;margin:0 auto;padding:56px 20px 40px;display:grid}.hero__title{background:linear-gradient(120deg, #fff 30%, var(--vanilla) 55%, var(--pink));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1}.hero__lead{color:var(--muted);max-width:540px;font-size:1.2rem}.hero__ctas{flex-wrap:wrap;gap:12px;margin:26px 0 16px;display:flex}.hero__badges{color:var(--muted);font-size:.92rem}.hero-demo{aspect-ratio:16/10;border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(circle at 50% 120%,#8b5cff8c,#0000 60%),linear-gradient(#2a1760,#120a2c);border-radius:28px;position:relative;overflow:hidden}.hero-demo__canvas{width:100%;height:100%}.hero-demo__vs{font-family:var(--font-display);color:var(--vanilla);background:#140b2eb3;border-radius:999px;padding:4px 16px;font-size:1.6rem;font-weight:800;position:absolute;top:18px;left:50%;translate:-50%}.steps{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;position:relative}.step__num{font-family:var(--font-display);color:var(--purple);font-size:1.6rem;font-weight:800;position:absolute;top:16px;right:18px}.step__emoji{margin-bottom:8px;font-size:2.2rem;display:block}.step p{color:var(--muted);margin:0}.section--split{grid-template-columns:1fr 1fr;align-items:center;gap:32px;display:grid}.checklist{margin:0;padding:0;list-style:none}.checklist li{border-bottom:1px dashed var(--border);padding:10px 0 10px 34px;position:relative}.checklist li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;top:9px;left:4px}.camera-diagram{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(#24135a,#120a2c);height:260px;position:relative;overflow:hidden}.camera-diagram__cam{font-size:2.2rem;position:absolute;top:22px;left:50%;translate:-50%}.camera-diagram__floor{clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(#3dd6ff0d,#3dd6ff40);height:60%;position:absolute;bottom:20px;left:10%;right:10%}.camera-diagram__p1,.camera-diagram__p2{font-size:4rem;position:absolute;bottom:34px}.camera-diagram__p1{filter:drop-shadow(0 0 10px var(--pink));left:28%}.camera-diagram__p2{filter:drop-shadow(0 0 10px var(--cyan));right:28%}.camera-diagram__dist{font-family:var(--font-display);color:var(--vanilla);font-weight:700;position:absolute;top:46%;left:50%;translate:-50%}.section--about{text-align:center;max-width:820px}.section--about p{color:var(--muted);font-size:1.1rem}.thumb{background:radial-gradient(circle at 25% 20%, #ffffff59, transparent 40%), linear-gradient(135deg, var(--c1), var(--c2));aspect-ratio:16/9;place-items:center;display:grid;position:relative;overflow:hidden}.thumb:after{content:"";background-image:radial-gradient(#ffffff2e 1.5px,#0000 1.5px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.thumb__emoji{z-index:1;filter:drop-shadow(0 8px 14px #00000059);font-size:3.6rem;transition:transform .25s cubic-bezier(.2,1.6,.4,1);position:relative}.thumb__ring{aspect-ratio:1;border:3px solid #ffffff59;border-radius:50%;width:62%;position:absolute}.thumb--lg{border-radius:var(--radius)}.thumb--lg .thumb__emoji{font-size:6rem}.game-card{border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--border);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.game-card:hover{box-shadow:var(--shadow);border-color:#ffffff40;transform:translateY(-4px)}.game-card:hover .thumb__emoji{transform:scale(1.15)rotate(-6deg)}.game-card__link{z-index:2;position:absolute;inset:0}.game-card__body{flex-direction:column;flex:1;padding:14px 16px 16px;display:flex}.game-card__title{margin:0 0 4px;font-size:1.2rem}.game-card__meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:0 0 8px;font-size:.82rem;display:flex}.game-card__meta span+span:before{content:"·";margin-right:10px}.game-card__desc{flex:1;font-size:.95rem}.game-card__foot{justify-content:space-between;align-items:center;display:flex}.game-card__play{font-family:var(--font-display);color:var(--vanilla);align-items:center;gap:6px;font-weight:700;display:inline-flex}.diff{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:800}.diff--1{color:var(--green);background:#7dff6b26}.diff--2{color:var(--yellow);background:#ffd23d26}.diff--3{color:#ff8a8a;background:#ff5a5a26}.cat-chips{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.cat-chip,.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.92rem;font-weight:700;display:inline-flex}.cat-chip{cursor:pointer}.cat-chip.is-active{background:var(--vanilla);color:var(--bg);border-color:var(--vanilla)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.search{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-width:240px;padding:11px 16px}.empty{color:var(--muted);text-align:center;padding:40px 0}.back-link{margin-bottom:18px;font-weight:700;text-decoration:none;display:inline-block}.detail__grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:36px;display:grid}.detail__media{position:sticky;top:84px}.detail__chips{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.detail__info .lead{color:var(--vanilla);font-size:1.25rem}.detail__info h2{margin-top:26px;font-size:1.2rem}.howto{padding-left:1.3em}.howto li{margin-bottom:6px}.note{color:var(--muted);font-size:.95rem}.mode-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.mode-card{text-align:left;border-radius:var(--radius-sm);background:var(--surface);border:2px solid var(--border);cursor:pointer;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.mode-card span{color:var(--muted);font-size:.86rem}.mode-card.is-active{border-color:var(--pink);background:#ff4d8d1f}.options{gap:12px;margin-top:16px;display:grid}.field{gap:6px;margin-bottom:12px;font-weight:700;display:grid}.field select,.field input[type=text]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-2);padding:11px 14px}.field--range input{accent-color:var(--pink)}.detail__cta{margin-top:26px}.toggle{cursor:pointer;align-items:center;gap:10px;margin:10px 0;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--pink)}.row{flex-wrap:wrap;gap:10px;display:flex}.names{grid-template-columns:repeat(2,1fr);gap:0 16px;display:grid}.play{background:#0b0620;flex-direction:column;display:flex;position:fixed;inset:0}.play-top{border-bottom:1px solid var(--border);z-index:5;background:#140b2ee6;align-items:center;gap:12px;padding:8px 12px;display:flex}.play-top__title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.1rem;overflow:hidden}.play-top__right{gap:8px;display:flex}.stage-wrap{flex:1;min-height:0;position:relative}.stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#120a2c;position:absolute;inset:0;overflow:hidden}.stage .camera-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.stage--pip .camera-video{visibility:hidden}.stage-canvas{position:absolute;inset:0}.play-overlay{pointer-events:none;z-index:3;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.play-overlay>*{pointer-events:auto}.play-overlay .card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#180d38e6;width:100%;max-width:560px;max-height:100%;margin:0;overflow:auto}.setup{text-align:center}.setup__icon{font-size:3rem}.setup__buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0 10px;display:flex}.privacy-note{border-radius:var(--radius-sm);color:#d9ffd2;background:#7dff6b14;border:1px solid #7dff6b40;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.95rem;display:flex}.safety{border-radius:12px;justify-content:center;padding:6px 10px;font-weight:700}.safety.is-nudged{outline:2px solid var(--pink);animation:.4s nudge}@keyframes nudge{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.safety.is-nudged{animation:none}}.error-text{color:#ffb4b4}.loading{text-align:center}.spinner{border:5px solid #ffffff26;border-top-color:var(--pink);border-radius:50%;width:54px;height:54px;margin:0 auto 14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{background:#ffffff1f;border-radius:99px;height:10px;overflow:hidden}.progress__bar{background:linear-gradient(90deg, var(--pink), var(--cyan));height:100%;transition:width .2s}.lobby{align-self:end;width:100%;max-width:760px}.lobby__panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#140b2edb;padding:14px 16px}.lobby__title{margin:0 0 8px;font-size:1.2rem}.lobby__players{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.player-card{border-radius:var(--radius-sm);background:var(--surface);border:2px solid #0000;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:10px 12px;display:grid}.player-card.is-ready{border-color:var(--pc)}.player-card__dot{background:var(--pc);border-radius:50%;grid-row:span 2;width:14px;height:14px}.player-card__status{color:var(--muted);font-size:.85rem}.player-card.is-ready .player-card__status{color:var(--green);font-weight:800}.lobby__msgs{margin-top:8px}.lobby__summary{color:var(--muted);margin:0 0 4px;font-size:.9rem}.lobby__issues{color:var(--vanilla);margin:0;padding:0;font-size:.95rem;list-style:none}.lobby__hint{text-align:center;min-height:1.4em;margin:8px 0 0;font-weight:700}.lobby__cta{justify-content:center;margin-top:8px;display:flex}.lobby__actions{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:6px;display:flex}.pause-menu{text-align:center;gap:10px;display:grid;max-width:360px!important}.result{text-align:center;animation:.35s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.result__kicker{color:var(--muted);margin:0;font-weight:700}.result__grade{font-family:var(--font-display);letter-spacing:.12em;margin:4px 0;font-weight:800}.grade--perfect{color:var(--yellow)}.grade--great{color:var(--green)}.grade--good{color:var(--cyan)}.grade--miss,.grade--fail{color:#ff8a8a}.result__headline{color:var(--vanilla);margin:6px 0 10px;font-size:clamp(1.8rem,4vw,2.6rem)}.result__big{font-family:var(--font-display);font-size:clamp(3rem,9vw,5rem);font-weight:800;line-height:1}.result__scores{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.result__score{border-radius:var(--radius-sm);background:var(--surface);border:2px solid #0000;min-width:120px;padding:10px 14px;display:grid}.result__score.is-winner{border-color:var(--pc);background:#ffffff1a}.result__name{color:var(--pc);font-weight:800}.result__score strong{font-family:var(--font-display);font-size:2.2rem}.result__sub{margin:8px 0;font-size:1.15rem}.result__best{color:var(--yellow);font-weight:800}.result__stats{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}.result__stats th{text-align:left;color:var(--muted);padding:5px 4px;font-weight:700}.result__stats td{text-align:right;padding:5px 4px;font-weight:800}.result__stats tr+tr{border-top:1px dashed var(--border)}.result__buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.gesture-bar{background:#ffffff1a;border-radius:99px;height:6px;overflow:hidden}.gesture-bar__fill{background:var(--green);width:0;height:100%}.modal{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05001499;place-items:center;padding:16px;animation:.18s fade;display:grid;position:fixed;inset:0}.modal--out{opacity:0;transition:opacity .18s}@keyframes fade{0%{opacity:0}}.modal__dialog{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;max-height:calc(100vh - 32px);box-shadow:var(--shadow);overflow:auto}.modal__dialog--wide{max-width:820px}.modal__head{justify-content:space-between;align-items:center;padding:16px 18px 0;display:flex}.modal__head h2{margin:0;font-size:1.3rem}.modal__body{padding:16px 18px 20px}.share{grid-template-columns:minmax(0,300px) 1fr;align-items:start;gap:18px;display:grid}.share-preview{border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow)}.share__buttons{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.keys{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.keys dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:0;display:grid}.keys dd{margin:0}kbd{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-bottom-width:3px;border-radius:7px;padding:1px 7px;font-family:ui-monospace,monospace;font-size:.85rem}.toasts{z-index:60;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:20px;left:50%;translate:-50%}.toast{background:var(--bg-3);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:999px;padding:10px 18px;font-weight:700;animation:.25s pop}.toast--good{border-color:#7dff6b80}.toast--warn{border-color:#ffb02099}.toast--out{opacity:0;transition:opacity .3s}.install-btn{z-index:30;font-family:var(--font-display);background:var(--vanilla);color:var(--bg);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:999px;padding:10px 16px;font-weight:700;position:fixed;bottom:16px;right:16px}body.immersive .install-btn{display:none}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid}.stat-tile strong{font-family:var(--font-display);font-size:2rem}.stat-tile span{color:var(--muted)}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.list li:last-child{border-bottom:0}.settings-group h2{font-size:1.15rem}.prose section{margin-bottom:18px}.prose h2{color:var(--vanilla);font-size:1.2rem}.prose p{color:var(--muted)}.notfound__emoji{margin:0;font-size:5rem}@media (max-width:900px){.hero,.section--split,.detail__grid{grid-template-columns:1fr}.detail__media{position:static}.steps,.share{grid-template-columns:1fr}}@media (max-width:640px){body{font-size:16px}.nav__link:not(.nav__icon),.nav .btn{display:none}.cam-pill{padding:8px;font-size:0}.section{padding:36px 16px}.hero{padding:28px 16px}.search{width:100%;min-width:0}.stat-tiles,.names{grid-template-columns:1fr}.lobby__panel{padding:10px}.play-overlay{padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.art{width:var(--art-size,1.25em);height:var(--art-size,1.25em);vertical-align:-.25em;flex:none;display:inline-block}.art svg{width:100%;height:100%;display:block;overflow:visible}.thumb__emoji .art{--art-size:5.2rem}.thumb--lg .thumb__emoji .art{--art-size:9rem}.step__emoji .art{--art-size:3rem}.setup__icon .art{--art-size:4rem}.h1-art{--art-size:1em}.logo__mark.art{--art-size:36px;width:36px;height:36px;box-shadow:none;background:0 0;border-radius:0;margin:0}.logo__mark.art:after{content:none}.camera-diagram__p1 .art,.camera-diagram__p2 .art{--art-size:5rem}.camera-diagram__cam .art{--art-size:2.6rem}.link-btn{color:var(--vanilla);cursor:pointer;background:0 0;border:0;padding:4px;font-weight:700;text-decoration:underline}.load-steps{text-align:left;gap:8px;margin:6px 0 12px;padding:0;list-style:none;display:grid}.load-step{border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.load-step__icon{border:3px solid #ffffff2e;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;display:grid}.load-step.is-active .load-step__icon{border-top-color:var(--pink);animation:.9s linear infinite spin}.load-step.is-done .load-step__icon{background:var(--green);border-color:var(--green);color:#140b2e}.load-step.is-error .load-step__icon{background:var(--danger);border-color:var(--danger)}.load-step__state{color:var(--muted);font-size:.85rem}.load-step.is-done .load-step__state{color:var(--green);font-weight:800}.load-step .progress{grid-column:2/-1;height:6px}.tutorial{margin-top:8px}.tutorial__lead{color:var(--muted);margin:0 0 4px;font-size:.9rem}.tutorial__howto{margin:0 0 8px;padding-left:1.2em;font-size:.9rem}.lobby--practice .lobby__players,.lobby--practice .lobby__msgs{display:none}.play-overlay .lobby{flex-direction:column;justify-content:flex-end;max-height:100%;display:flex}.play-overlay .lobby__panel{max-height:100%;overflow:auto}@media (max-width:640px),(max-height:560px){.tutorial__howto,.practice__how{display:none}.practice{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.practice__step{border-radius:var(--radius-sm);background:var(--surface);border:2px solid #0000;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:6px 10px 6px 6px;transition:border-color .2s,background .2s;display:grid}.practice__step .move-demo{grid-row:span 3}.practice__step.is-current{border-color:var(--vanilla)}.practice__step.is-done{border-color:var(--green);background:#7dff6b1a}.practice__step strong{font-size:.95rem;line-height:1.2}.practice__how{color:var(--muted);font-size:.75rem;line-height:1.25}.practice__checks{gap:4px;margin-top:3px;display:flex}.practice__check{color:#140b2e;border:2px solid var(--pc);background:#ffffff1f;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;font-weight:900;display:grid}.practice__check.is-done{background:var(--pc);animation:.3s cubic-bezier(.2,1.4,.4,1) pop}.tutorial__done{text-align:center;color:var(--green);margin:10px 0 0;font-weight:800}.move-demo{width:46px;height:46px;overflow:visible}.move-demo *{transform-box:view-box}.md-body,.md-arm,.md-leg,.md-arrow{animation-duration:1.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.md-arm--l,.md-arm--r{transform-origin:32px 22px}.md-leg--l,.md-leg--r{transform-origin:32px 37px}.md-body{transform-origin:32px 58px}.move-demo--left .md-body{animation-name:md-left}.move-demo--right .md-body{animation-name:md-right}.move-demo--jump .md-body{animation-name:md-jump}.move-demo--squat .md-body{animation-name:md-squat}.move-demo--punch .md-arm--r{animation-name:md-punch}.move-demo--block .md-arm--l{animation-name:md-block-l}.move-demo--block .md-arm--r{animation-name:md-block-r}.move-demo--hands .md-arm--r,.move-demo--reach .md-arm--r{animation-name:md-raise-r}.move-demo--flap .md-arm--l{animation-name:md-flap-l;animation-duration:.8s}.move-demo--flap .md-arm--r{animation-name:md-flap-r;animation-duration:.8s}.move-demo--kick .md-leg--r{animation-name:md-kick}.move-demo--run .md-leg--l,.move-demo--run .md-leg--r{animation-name:md-kick;animation-duration:.6s}.move-demo--run .md-leg--l{animation-delay:-.3s}.move-demo--dance .md-body{animation-name:md-dance;animation-duration:.9s}@keyframes md-left{0%,15%,to{transform:translate(0)}45%,70%{transform:translate(-14px)}}@keyframes md-right{0%,15%,to{transform:translate(0)}45%,70%{transform:translate(14px)}}@keyframes md-jump{0%,30%,to{transform:translateY(0)}55%{transform:translateY(-14px)}}@keyframes md-squat{0%,20%,to{transform:scaleY(1)}50%,65%{transform:scaleY(.72)}}@keyframes md-punch{0%,25%,to{transform:rotate(0)}45%,60%{transform:rotate(-95deg)}}@keyframes md-block-l{0%,20%,to{transform:rotate(0)}45%,75%{transform:rotate(150deg)}}@keyframes md-block-r{0%,20%,to{transform:rotate(0)}45%,75%{transform:rotate(-150deg)}}@keyframes md-raise-r{0%,20%,to{transform:rotate(0)}45%,75%{transform:rotate(-170deg)}}@keyframes md-flap-l{0%,to{transform:rotate(120deg)}50%{transform:rotate(0)}}@keyframes md-flap-r{0%,to{transform:rotate(-120deg)}50%{transform:rotate(0)}}@keyframes md-kick{0%,30%,to{transform:rotate(0)}55%{transform:rotate(-60deg)}}@keyframes md-dance{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.start-meter{justify-content:center;align-items:center;gap:8px;margin:8px 0 0;font-weight:800;display:flex}.start-meter .gesture-bar{flex:1;max-width:220px}.mode-list--levels{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-card--level.level--easy.is-active{border-color:var(--green);background:#7dff6b1a}.mode-card--level.level--hard.is-active{border-color:var(--danger);background:#ff5a5a1f}@media (max-width:520px){.mode-list--levels{grid-template-columns:1fr}}.lab__grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.lab__frame{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid var(--border);position:relative;overflow:hidden}.lab__start{margin-top:12px}.lab__panel h2{margin:18px 0 6px;font-size:1.05rem}.lab__meters{gap:8px;display:grid}.lab-meter{grid-template-columns:150px 1fr 44px;align-items:center;gap:10px;font-size:.88rem;display:grid}.lab-meter__track{background:var(--surface-2);border-radius:5px;height:10px;position:relative;overflow:hidden}.lab-meter__fill{background:var(--purple);border-radius:5px;position:absolute;inset:0 auto 0 0}.lab-meter.is-over .lab-meter__fill{background:var(--green)}.lab-meter__mark{background:var(--ink);width:2px;position:absolute;top:-2px;bottom:-2px}.lab-meter__val{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.lab__counts{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.lab-count{border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;gap:6px;padding:6px 10px;font-size:.8rem;transition:background .2s;display:flex}.lab-count.is-hit{background:#7dff6b4d}.btn.is-recording{border-color:var(--danger);color:var(--danger)}@media (max-width:860px){.lab__grid{grid-template-columns:1fr}.lab-meter{grid-template-columns:120px 1fr 40px}}.share-tabs{gap:6px;margin-bottom:14px;display:flex}.share-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-weight:700}.share-tab.is-active{background:var(--pink);border-color:var(--pink)}.share-preview--clip{background:#000;max-height:60vh}.chip--clip{cursor:pointer;border:1px solid var(--pink);color:var(--ink);font:inherit;pointer-events:auto;background:#ff4d8d29;margin:4px auto 0;font-weight:700}.play--creator .stage-wrap{border-left:1px solid var(--border);border-right:1px solid var(--border);flex:auto;width:min(100%,56.25dvh - 32.625px);margin:0 auto}.play--creator .play-overlay{padding:10px}.creator-btn[aria-pressed=true]{background:var(--pink);color:#fff}.grid--collections{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.collection-card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg,#ff4d8d2e,#8b5cff24);flex-direction:column;gap:6px;padding:20px;transition:transform .15s;display:flex;position:relative}.collection-card:hover,.collection-card:focus-within{transform:translateY(-3px)}.collection-card h3{margin:0;font-size:1.3rem}.collection-card p{margin:0}.collection-card__emoji{font-size:2.2rem}.collection-card__meta{color:var(--vanilla);font-size:.9rem;font-weight:700}.collection-card__thumbs{gap:6px;margin-top:auto;padding-top:8px;display:flex}.collection-card__thumbs>*{width:30px;height:30px}.collection__hero{align-items:center;gap:14px;display:flex}.collection__emoji{font-size:3rem}.collection__list{counter-reset:col;gap:10px;padding:0;list-style:none;display:grid}.collection__item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.collection__item p{margin:2px 0 0}.collection__item.is-done{opacity:.6}.collection__check{color:var(--green);font-size:1.3rem;font-weight:800}.run-panel{border-radius:var(--radius-sm);background:#ffd23d14;border:1px solid #ffd23d59;margin:10px 0;padding:12px 16px}.run-panel__title{font-weight:800;font-family:var(--font-display);margin:0 0 8px}.run-panel__table{gap:4px;margin:0 0 6px;padding:0;list-style:none;display:grid}.run-panel__table li{border-left:4px solid var(--pc);background:var(--surface);border-radius:6px;justify-content:space-between;padding:4px 10px;display:flex}.run-panel__table li.is-leader{background:#ffd23d29}.run-panel p{margin:4px 0 0}.touchpad{padding:0 max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));pointer-events:none;z-index:6;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:absolute;inset:auto 0 0}.touchpad[hidden]{display:none}.has-touchpad .play-overlay{padding-left:max(8px, var(--pad-inset-x,0px));padding-right:max(8px, var(--pad-inset-x,0px));padding-bottom:max(8px, var(--pad-inset-b,0px))}.touchpad__pad{pointer-events:auto;grid-template-columns:repeat(2,54px);gap:8px;display:grid}.touchpad--solo .touchpad__pad--p2{display:none}.touchpad__btn{border:2px solid var(--pad-color);width:54px;height:54px;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140b2e8c;border-radius:50%;font-size:1.4rem;line-height:1;position:relative}.touchpad__btn small{color:var(--pad-color);font-size:.65rem;font-weight:800;position:absolute;bottom:4px;right:6px}.touchpad__btn.is-down{background:var(--pad-color);transform:scale(.92)}@media (max-height:420px){.touchpad__pad{grid-template-columns:repeat(3,46px)}.touchpad__btn{width:46px;height:46px;font-size:1.2rem}}
