:root{color-scheme:dark;--bg0: #050507;--bg1: #0b0508;--bg2: #1a060b;--accent: #ff2b36;--accent-soft: #ff6b73;--ember: #ff7a3d;--amber: #ffc24a;--blue: #4aa8ff;--green: #69e6a0;--pink: #ff5fa2;--purple: #9b5cff;--text: #f7ece8;--muted: #bda8a4;--glass: rgba(26, 9, 14, .72);--glass-border: rgba(255, 70, 80, .3);--field: #0d0508;--display: "Cinzel", "Times New Roman", Georgia, serif;--font: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: clamp(14px, 4vw, 32px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(ellipse at 50% 0%,var(--bg2),var(--bg1) 55%,var(--bg0));color:var(--text);font-family:var(--font);font-size:17px;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:relative;z-index:1;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-color:rgba(255,70,80,.55) transparent;scrollbar-width:thin}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.bg i{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:drift 16s ease-in-out infinite}.bg i:nth-child(1){width:46vmax;height:46vmax;left:-14vmax;top:-16vmax;background:#6d0011}.bg i:nth-child(2){width:36vmax;height:36vmax;right:-12vmax;top:10vmax;background:#3a0a45;animation-delay:-5s;animation-duration:20s}.bg i:nth-child(3){width:34vmax;height:34vmax;left:18vmax;bottom:-20vmax;background:#8a2600;animation-delay:-9s;animation-duration:18s}.bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.7) 100%)}.bg:after{content:"";position:absolute;left:0;right:0;top:0;height:140%;z-index:1;opacity:.8;background-image:radial-gradient(2px 2px at 12% 22%,rgba(255,210,200,.55),transparent 60%),radial-gradient(1.5px 1.5px at 27% 68%,rgba(255,210,200,.45),transparent 60%),radial-gradient(2.5px 2.5px at 41% 38%,rgba(255,180,170,.5),transparent 60%),radial-gradient(1.5px 1.5px at 56% 82%,rgba(255,210,200,.45),transparent 60%),radial-gradient(2px 2px at 68% 14%,rgba(255,210,200,.5),transparent 60%),radial-gradient(2.5px 2.5px at 79% 57%,rgba(255,180,170,.5),transparent 60%),radial-gradient(1.5px 1.5px at 90% 33%,rgba(255,210,200,.45),transparent 60%),radial-gradient(2px 2px at 8% 88%,rgba(255,210,200,.5),transparent 60%);animation:spores 40s linear infinite}@keyframes spores{0%{transform:translateY(0)}to{transform:translateY(-28%)}}@keyframes drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6vmax,-4vmax) scale(1.15)}}.lights{position:fixed;top:0;left:0;right:0;height:46px;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;padding:0 2.5vw;pointer-events:none}.lights:before{content:"";position:absolute;left:-2%;right:-2%;top:-10px;height:26px;border-bottom:2px solid #2a2326;border-radius:0 0 50% 50%/0 0 100% 100%}.lights i{position:relative;margin-top:14px;width:12px;height:20px;border-radius:50% 50% 46% 46%;background:var(--c);box-shadow:0 0 12px 3px var(--c);animation:bulb 3.4s ease-in-out infinite var(--d, 0s)}.lights i:before{content:"";position:absolute;left:3px;top:-5px;width:6px;height:6px;background:#231d20;border-radius:1px}.lights i:nth-child(5n+1){--c: #ff3040}.lights i:nth-child(5n+2){--c: #ffc24a;--d: -.7s}.lights i:nth-child(5n+3){--c: #4aa8ff;--d: -1.4s}.lights i:nth-child(5n+4){--c: #69e6a0;--d: -2.1s}.lights i:nth-child(5n+5){--c: #ff5fa2;--d: -2.8s}.lights i:nth-child(2n){margin-top:20px}@keyframes bulb{0%,to{opacity:1}42%{opacity:.35}48%{opacity:1}70%{opacity:.55}}body.workout .lights{display:none}button{font:inherit;color:inherit;cursor:pointer;border:0;border-radius:12px;transition:transform .18s cubic-bezier(.2,1.4,.4,1),box-shadow .2s,background .2s,border-color .2s}button:active{transform:scale(.96)!important}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px}button.ghost{background:#ffffff0d;border:1.5px solid var(--glass-border);padding:12px 22px;font-size:1.05rem;font-weight:600;letter-spacing:.03em;min-height:48px}button.ghost:hover{background:#ff3c4629;border-color:var(--accent);transform:translateY(-2px)}button.primary{background:linear-gradient(180deg,#ff4a52,#c4000f);color:#fff;padding:14px 34px;min-height:54px;font-size:1.35rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:20px;box-shadow:0 0 0 1px #ff969659 inset,0 8px 28px #ff1e3266;text-shadow:0 1px 8px rgba(0,0,0,.4)}button.primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px #ffbebe80 inset,0 12px 38px #ff283c99}button.primary.small{padding:10px 26px;min-height:48px;font-size:1.1rem;margin-top:0}@keyframes rise{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.home>*{animation:rise .5s cubic-bezier(.2,1.2,.4,1) both}.home>*:nth-child(2){animation-delay:.06s}.home>*:nth-child(3){animation-delay:.12s}.home>*:nth-child(4){animation-delay:.18s}.home{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:20px;padding:calc(58px + env(safe-area-inset-top,0px)) var(--gutter) calc(36px + env(safe-area-inset-bottom,0px));text-align:center}.home>:first-child{margin-top:auto}.home>:last-child{margin-bottom:auto}.home h1{font-family:var(--display);font-size:clamp(2.1rem,7.5vw,4.6rem);margin:0;font-weight:900;text-transform:uppercase;letter-spacing:.12em;line-height:1.1;color:#ff2a35;-webkit-text-stroke:1.5px rgba(255,214,214,.75);text-shadow:0 0 8px rgba(255,42,53,.9),0 0 28px rgba(255,20,40,.65),0 0 70px rgba(150,0,20,.65);animation:rise .55s cubic-bezier(.2,1.2,.4,1) both,neon 7s linear infinite 1s;overflow-wrap:anywhere}@keyframes neon{0%,17%,21%,61%,64%,to{opacity:1}19%{opacity:.5}62.5%{opacity:.6}}.sub{color:var(--muted);font-size:1.15rem;margin:0;letter-spacing:.04em;max-width:36em}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:clamp(12px,3vw,24px);width:min(100%,1120px);justify-items:stretch}.tile{background:var(--glass);border:1.5px solid var(--glass-border);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 14px 36px #00000073,0 0 0 1px #0006 inset;animation:rise .55s calc(.12s + var(--i, 0) * .08s) cubic-bezier(.2,1.2,.4,1) both}.tile:hover,.tile:focus-visible{transform:translateY(-6px) scale(1.03);border-color:var(--accent);box-shadow:0 18px 44px #ff283759,0 0 22px #ff283740}.tile .icon{font-size:3.6rem;line-height:1;filter:drop-shadow(0 0 10px rgba(255,60,70,.55));animation:bob 2.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}.tile .tname{font-family:var(--display);font-size:1.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tile .tdesc{color:var(--muted);font-size:1rem;line-height:1.35}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:clamp(12px,3vw,22px);width:min(100%,1000px)}.person{background:var(--glass);border:1.5px solid var(--glass-border);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:22px 20px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 12px 30px #0006;animation:rise .5s calc(.08s + var(--i, 0) * .08s) cubic-bezier(.2,1.2,.4,1) both}.person:hover,.person:focus-visible{transform:translateY(-5px) scale(1.03);border-color:var(--accent);box-shadow:0 16px 40px #ff28374d}.avatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:2.4rem;font-weight:800;color:#fff;background:linear-gradient(135deg,hsl(var(--h, 0) 80% 48%),hsl(calc(var(--h, 0) + 40) 80% 32%));border:2px solid rgba(255,255,255,.35);box-shadow:0 0 20px hsl(var(--h, 0) 90% 50% / .55),inset 0 -6px 12px #0000004d;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}.person:hover .avatar{transform:scale(1.1) rotate(-5deg)}.person .name{font-family:var(--display);font-size:1.5rem;font-weight:700;letter-spacing:.03em;overflow-wrap:break-word;max-width:100%}.person .status{color:var(--amber);font-size:.95rem;font-weight:600;background:#ffc24a1f;padding:4px 14px;border-radius:999px}.person .status.ok{color:var(--green);background:#69e6a024}.streak{font-size:1.1rem;min-height:1.4em}.person .streak:not(:empty){animation:flicker 1.6s ease-in-out infinite}@keyframes flicker{0%,to{transform:scale(1)}50%{transform:scale(1.1) rotate(-2deg)}}.pwrap{position:relative;display:flex;animation:rise .5s calc(.08s + var(--i, 0) * .08s) cubic-bezier(.2,1.2,.4,1) both}.pwrap .person{animation:none;width:100%;padding-bottom:28px}.pencil{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;border-radius:50%;font-size:1.1rem;background:#0006;border:1.5px solid var(--glass-border);opacity:.7;z-index:2}.pwrap:hover .pencil,.pencil:focus-visible{opacity:1}.pencil:hover{transform:rotate(-12deg) scale(1.1);background:#ff3c4640}.notes-btn{position:absolute;right:10px;bottom:10px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--glass-border);background:#0006;font-size:1.1rem;cursor:pointer;z-index:2}button.danger{color:#ff9bb4;font-size:.95rem;padding:8px 16px}.person.add{border-style:dashed;justify-content:center;min-height:190px}.person.add .name{color:var(--accent);font-size:3.2rem;line-height:1;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}.person.add:hover .name{transform:rotate(90deg) scale(1.2)}.person.add .status{color:var(--muted);background:transparent}.add-form{align-items:stretch;justify-content:center;text-align:left;width:min(100%,460px);gap:14px;padding:22px clamp(16px,4vw,26px)}.person .meta,.meta{font-size:.85rem;opacity:.8;color:var(--muted)}.tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:6px 0 14px}.tab{font:inherit;padding:10px 18px;min-height:44px;border-radius:999px;border:1.5px solid var(--glass-border);background:transparent;color:var(--text);cursor:pointer}.tab.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 16px #ff283780}.panel{background:var(--glass);border:1.5px solid var(--glass-border);border-radius:16px;padding:18px;margin:0 auto;width:min(100%,560px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left}.panel>strong,.panel strong:first-child{font-family:var(--display);font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left}.field>span,.health label>span,.health>label{font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field .hint,.hint{font-size:.85rem;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400;line-height:1.35}input,select{font:inherit}.form input,.form select,.field input,.field select,.health input[type=text],.health input[type=number],.health input:not([type]),.health select,.add-form input,.add-form select{width:100%;min-height:52px;padding:0 14px;font-size:1.1rem;font-weight:500;text-align:left;color:var(--text);background-color:var(--field);border:1.5px solid rgba(255,90,100,.4);border-radius:12px;outline:none;box-shadow:none;-webkit-user-select:text;user-select:text;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#bda8a4b3}.form input:focus,.form select:focus,.field input:focus,.field select:focus,.health input:focus,.health select:focus,.add-form input:focus,.add-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff2b3640}select,.add-form select,.form select,.field select,.health select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:46px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path d='M4 7l6 6 6-6' fill='none' stroke='%23ff6b73' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center}select option,select optgroup{background:#160609;color:#f7ece8;font-size:1.05rem;padding:10px}input[type=number]{-moz-appearance:textfield}input[type=checkbox]{accent-color:var(--accent);width:22px;height:22px;min-height:0;flex:none}.fam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;width:min(100%,1000px)}.fam-card{background:var(--glass);border:1.5px solid var(--glass-border);border-radius:16px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:12px;min-width:0}.fam-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.fam-head>:last-child:not(.fam-name):not(.avatar){margin-left:auto}.fam-name{display:flex;flex-direction:column;flex:1 1 130px;min-width:0}.fam-name strong{font-family:var(--display);font-size:1.15rem;letter-spacing:.02em;overflow-wrap:break-word}.avatar.small{width:46px;height:46px;font-size:1.4rem;flex:none}.fam-stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.95rem}.fam-actions{display:flex;gap:8px;flex-wrap:wrap}.fam-actions button{padding:10px 18px;font-size:1rem;min-height:46px}.dev{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}.invite{display:flex;flex-direction:column;align-items:center;gap:8px}.invite img{background:#fff;border-radius:12px;padding:6px;max-width:100%;height:auto}.code{font-family:var(--display);font-size:2rem;letter-spacing:.15em;font-weight:800;color:var(--accent-soft);text-shadow:0 0 14px rgba(255,43,54,.6);overflow-wrap:anywhere}.notice{color:var(--amber)}.health{text-align:left;border:1.5px solid var(--glass-border);border-radius:12px;padding:10px 14px;width:100%;background:#00000040}.health summary{cursor:pointer;font-size:1.05rem;font-weight:600;min-height:46px;display:flex;align-items:center;letter-spacing:.03em}.health label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.health .check{flex-direction:row;align-items:center;gap:10px;margin:8px 0;font-size:1rem;text-transform:none;letter-spacing:0;font-weight:500;color:var(--text)}.health label>.hint{font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);line-height:1.35}.health .measures{display:grid;grid-template-columns:1fr 1fr;gap:12px}.health .measures label{margin:12px 0 4px}.conds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:0 14px}.blocked{font-size:1.25rem;line-height:1.5}.form-error{color:var(--amber);min-height:1.3em;font-size:1rem}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nav-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.dash-row{width:min(680px,100%);background:var(--glass);border:1.5px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:22px;padding:18px 22px;text-align:left;font-size:1.3rem}.cells{display:flex;gap:6px;margin-top:12px}.cell{flex:1;height:30px;border-radius:8px;background:#ffffff1a;animation:cellIn .4s calc(var(--i, 0) * 35ms + .3s) cubic-bezier(.2,1.6,.4,1) both}.cell.ok{background:linear-gradient(135deg,#69e6a0,#1fb37a);box-shadow:0 0 12px #69e6a080}@keyframes cellIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}.coach{position:relative;height:100%;display:flex;flex-direction:column;animation:fade .4s both}@keyframes fade{0%{opacity:0}to{opacity:1}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 26px;font-size:1.4rem;color:var(--muted)}.topbar #who{color:var(--text);font-weight:700;background:var(--glass);border:1.5px solid var(--glass-border);padding:6px 18px;border-radius:999px}.topbar #progress{background:var(--glass);padding:6px 18px;border-radius:999px}.stage{flex:1;min-height:0;display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:18px;padding:0 26px 26px}.demo-wrap,.cam-wrap{animation:rise .6s cubic-bezier(.2,1.2,.4,1) both}.demo-wrap{position:relative;background:var(--glass);border:1.5px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;min-height:0;display:flex;flex-direction:column;align-items:center;overflow:hidden;animation:rise .6s cubic-bezier(.2,1.2,.4,1) both,glowPulse 3.6s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 24px #ff2b3629}50%{box-shadow:0 0 56px #ff2b366b}}.demo-wrap canvas{flex:1;min-height:0;width:100%;object-fit:contain}.cue{padding:12px 18px 20px;font-size:clamp(1rem,2.2vw,1.9rem);text-align:center}.count-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0}.setlabel{font-size:clamp(1.2rem,3vw,2.4rem);color:var(--muted);background:var(--glass);padding:4px 22px;border-radius:999px}.count{font-family:var(--display);font-size:clamp(5rem,min(18vw,27vh),16rem);font-weight:800;line-height:1;color:var(--accent);text-shadow:0 0 40px rgba(255,43,54,.6);font-variant-numeric:tabular-nums}.count #reps{display:inline-block}.count .of{font-size:.4em;color:var(--muted);text-shadow:none}.pop{animation:pop .5s cubic-bezier(.2,1.8,.4,1)}@keyframes pop{0%{transform:scale(.5)}55%{transform:scale(1.35);color:var(--green)}to{transform:scale(1)}}.bar{width:80%;height:22px;background:#ffffff1f;border-radius:11px;overflow:hidden}#bar-fill{height:100%;width:0;border-radius:11px;background:repeating-linear-gradient(45deg,#ff2b36,#ff2b36 12px,#ff8a3d 12px,#ff8a3d 24px);background-size:34px 34px;animation:stripes .8s linear infinite;box-shadow:0 0 16px #ff5a3cb3;transition:width 80ms linear}@keyframes stripes{to{background-position:34px 0}}.msg{min-height:1.6em;font-size:clamp(1.6rem,4vw,3.2rem);font-weight:700;color:var(--green);text-align:center;text-shadow:0 0 24px rgba(125,255,154,.55)}.msg.warn{color:var(--amber);text-shadow:0 0 24px rgba(255,200,87,.5)}.msg.pop{animation:msgPop .45s cubic-bezier(.2,1.8,.4,1)}@keyframes msgPop{0%{transform:scale(.4) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}.manual{display:flex;gap:10px;opacity:.55}.cam-wrap{position:relative;background:#000;border:3px solid var(--accent);border-radius:28px;overflow:hidden;align-self:center;aspect-ratio:9 / 12;width:100%;max-height:100%;animation:rise .6s .1s cubic-bezier(.2,1.2,.4,1) both,ring 2.4s ease-in-out infinite}@keyframes ring{0%,to{box-shadow:0 0 #ff2b3673}50%{box-shadow:0 0 0 10px #ff2b3600}}.cam-wrap:after{content:"";position:absolute;top:14px;left:14px;width:14px;height:14px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 10px #ff3b5c;animation:blink 1.2s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.cam-wrap video,.cam-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.talk{min-height:5.2rem;padding:0 26px 22px;display:flex;justify-content:center;align-items:center}.bubble{display:inline-flex;align-items:center;gap:14px;max-width:1100px;background:var(--glass);border:1.5px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;padding:10px 26px 10px 12px;font-size:clamp(1rem,min(2.3vw,3.4vh),2rem);line-height:1.25;box-shadow:0 10px 30px #00000040;animation:bubbleIn .5s cubic-bezier(.2,1.5,.4,1);transition:opacity .7s}.bubble.out{opacity:0}.bubble-text{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.coach-av{flex:none;width:2.4em;height:2.4em;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--amber),var(--pink));box-shadow:0 0 18px #ffc85780;animation:bob 2.4s ease-in-out infinite}@keyframes bubbleIn{0%{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:none}}.cover-sub{font-size:.42em;font-weight:500;color:var(--muted);margin-top:18px;max-width:760px;margin-inline:auto;line-height:1.3}.debug{position:absolute;left:26px;bottom:4px;font:14px monospace;color:var(--amber);z-index:6}.cover{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#080306c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;text-align:center;padding:24px}.cover.show{display:flex}.cover-text{font-size:clamp(1.6rem,5vw,4rem);font-weight:700;max-width:900px;animation:msgPop .5s cubic-bezier(.2,1.6,.4,1)}.bignum{font-size:clamp(5rem,22vw,16rem);color:var(--accent);line-height:1;margin-top:12px;text-shadow:0 0 50px rgba(255,43,54,.7);animation:tick 1s ease-out}@keyframes tick{0%{transform:scale(1.5);opacity:.3}40%{transform:scale(1);opacity:1}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;overflow:hidden}.confetti i{position:absolute;top:-6vh;left:var(--x);border-radius:2px;animation:fall var(--d) var(--delay) cubic-bezier(.3,.6,.5,1) both}@keyframes fall{to{transform:translate(var(--dx),112vh) rotate(var(--r))}}@media (max-width: 820px) and (orientation: portrait){.topbar{font-size:1rem;padding:10px 16px;gap:8px}.topbar #who,.topbar #progress{white-space:nowrap;padding:4px 12px}.stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:10px;padding:0 16px 12px}.cam-wrap{aspect-ratio:auto;height:100%}.count{font-size:clamp(3.5rem,16vw,7rem)}.count-wrap{gap:8px}.setlabel{font-size:1.1rem}.msg{font-size:1.4rem}.cue{font-size:1rem;padding:6px 12px 10px}.talk{min-height:4.4rem;padding:0 16px 14px}.bubble{font-size:1rem;padding:8px 18px 8px 10px}.tile{min-width:220px;padding:28px 34px}.person{min-width:190px;padding:20px 28px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.review{text-align:left;border-top:1px solid rgba(255,255,255,.15);padding:10px 0;display:flex;flex-direction:column;gap:6px}.review:first-of-type{border-top:none}.reviews{max-width:760px}.feel{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:14px}.feel .cover-sub{width:100%}.chip{font-size:.85rem;padding:4px 10px;border-radius:999px;background:#ffffff1f}.chip.on{background:#7dff9a40;color:#7dff9a}.chip:empty{display:none}.tv{min-height:100vh;display:flex;flex-direction:column;padding:2.5vh 3vw;box-sizing:border-box}.tv-center{align-items:center;justify-content:center;text-align:center;gap:2vh}.tv h1{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;color:#ff2a35;text-shadow:0 0 20px rgba(255,42,53,.8);font-size:clamp(3rem,7vw,7rem);margin:0}.tv-sub{font-size:clamp(1.4rem,2.6vw,2.8rem);opacity:.9;margin:0}.tv-sound{font-size:clamp(1.4rem,2.4vw,2.4rem);margin-top:3vh}.tv-pair{flex-direction:row;align-items:center;justify-content:center;gap:5vw}.tv-pair-text{display:flex;flex-direction:column;gap:2vh}.tv-steps{font-size:clamp(1.3rem,2.4vw,2.6rem);line-height:1.5;padding-left:1.4em;margin:0}.tv-code{font-size:clamp(3.5rem,8vw,9rem);font-weight:700;letter-spacing:.12em;color:var(--accent)}.tv-qr{width:clamp(220px,24vw,460px);height:auto;background:#fff;border-radius:16px;padding:10px}.tv-top{display:flex;justify-content:space-between;font-size:clamp(1.4rem,2.6vw,2.8rem);opacity:.9}.tv-stage{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3vw;align-items:center;min-height:0}.tv-demo{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;gap:1vh}.tv-demo canvas{height:62vh;width:auto;max-width:100%}.tv-cue{font-size:clamp(1.2rem,2.2vw,2.4rem);text-align:center;opacity:.9}.tv-count{display:flex;flex-direction:column;align-items:center;gap:2vh}.tv-set{font-size:clamp(1.6rem,3vw,3.2rem);opacity:.9}.tv-reps{font-family:var(--display);font-size:clamp(7rem,20vw,22rem);font-weight:800;line-height:1;color:var(--accent)}.tv-reps .of{font-size:.4em;opacity:.7}.tv-reps .pop{display:inline-block;animation:popnum .45s ease}@keyframes popnum{0%{transform:scale(1.5)}to{transform:scale(1)}}.tv-flash{min-height:1.4em;font-size:clamp(2rem,4vw,4.4rem);font-weight:700;color:#7dff9a}.tv-flash.warn{color:#ffd166}.tv-bubble{min-height:7vh;font-size:clamp(1.3rem,2.2vw,2.4rem);text-align:center;opacity:0;transition:opacity .4s;padding:1vh 2vw;background:#ffffff1a;border-radius:24px}.tv-bubble.show{opacity:1}.tv-cover{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;text-align:center;background:#080306e6;padding:4vw}.tv-cover.show{display:flex}.tv-cover-title{font-size:clamp(2.4rem,5vw,5.4rem);font-weight:700;margin-bottom:2vh}#tv-cover-text .bignum{font-size:clamp(8rem,22vw,24rem);font-weight:700;color:var(--accent);line-height:1}@media (max-aspect-ratio: 1/1){.tv-pair{flex-direction:column}.tv-stage{grid-template-columns:1fr}}body.workout .bg{background:radial-gradient(circle at 12% 8%,rgba(91,43,214,.45),transparent 55%),radial-gradient(circle at 92% 25%,rgba(10,165,200,.35),transparent 50%),radial-gradient(circle at 40% 105%,rgba(194,40,122,.3),transparent 55%)}body.workout .bg i{display:none}body.workout *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}body.workout .demo-wrap,body.workout .cam-wrap,body.workout .cam-wrap:after,body.workout #bar-fill{animation:none!important}.g-pip{position:absolute;left:8px;bottom:9%;width:26%;max-width:220px;aspect-ratio:4 / 3;object-fit:cover;transform:scaleX(-1);border-radius:12px;border:2px solid rgba(255,255,255,.5);opacity:.9;z-index:2}.game{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1f4a;overflow:hidden}.g-cam{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.g-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.g-top{position:absolute;bottom:3.5%;left:0;right:0;display:flex;justify-content:center;gap:12px;align-items:center;z-index:3}.g-bubble{position:absolute;left:50%;bottom:12%;transform:translate(-50%) scale(.9);max-width:86%;padding:10px 18px;border-radius:18px;background:#000000a6;color:#fff;font-size:clamp(16px,3.2vw,28px);font-weight:700;text-align:center;opacity:0;transition:opacity .2s,transform .2s;z-index:3;pointer-events:none}.g-bubble.show{opacity:1;transform:translate(-50%) scale(1)}.g-panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#081432b8;z-index:2;padding:24px;text-align:center}.g-panel.hide{display:none}.g-text{font-size:clamp(20px,4vw,36px);font-weight:800;color:#fff;max-width:28em}.games-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:16px 0}.game-card{text-align:left}.game-card .tdesc{white-space:normal}.tv-game{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(#0b1f4a,#2a6fb5)}.tv-game canvas{width:100%;height:100%;display:block}
