:root{--purple:#7c3aed;--purple-dark:#5b21b6;--yellow:#facc15;--ink:#1f2937;--card:#fff;--bg:#ede9fe;--green:#22c55e;--red:#ef4444;color:var(--ink);font-family:Fredoka,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#9fd3a8;height:100%;margin:0;overflow:hidden}#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}button{cursor:pointer;touch-action:manipulation;border:none;font-family:inherit}h1{color:#fff;text-shadow:0 6px 0 var(--purple-dark), 0 10px 20px #00000040;letter-spacing:1px;margin:0;font-size:clamp(48px,9vw,96px)}h2{margin:0 0 12px;font-size:34px}h3{margin:16px 0 8px}.big-btn{background:var(--yellow);color:var(--ink);border-radius:999px;padding:16px 40px;font-size:30px;font-weight:700;transition:transform 80ms;box-shadow:0 6px #ca8a04}.big-btn:active{transform:translateY(4px);box-shadow:0 2px #ca8a04}.btn{color:var(--ink);background:#fff;border-radius:18px;padding:12px 22px;font-size:22px;font-weight:600;box-shadow:0 4px #00000026}.btn:active{transform:translateY(3px);box-shadow:0 1px #00000026}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.screen{background:radial-gradient(circle at 50% 30%, #a78bfa, var(--purple) 60%, var(--purple-dark));touch-action:pan-y;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.screen.start .subtitle{color:#fde68a;font-size:30px;font-weight:600}.hero{gap:8px;display:flex}.hero canvas{animation:1.2s ease-in-out infinite hop}@keyframes hop{50%{transform:translateY(-14px)}}.gear{background:#fff3;border-radius:50%;width:56px;height:56px;font-size:30px;position:absolute;top:16px;right:16px}.creator{color:#fff}.creator-main{background:#ffffff26;border-radius:28px;align-items:center;gap:28px;max-width:100%;padding:18px;display:flex}.preview{background:#ffffff40;border-radius:24px;width:260px;height:300px}.pickers{flex-direction:column;gap:8px;max-width:560px;display:flex}.name-label{flex-direction:column;gap:6px;font-size:20px;font-weight:600;display:flex}.name{border:4px solid var(--yellow);-webkit-user-select:text;user-select:text;border-radius:16px;width:100%;padding:10px 16px;font-family:inherit;font-size:30px}.picker-title{margin-top:6px;font-size:20px;font-weight:700}.swatches,.hats{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:4px solid #fff9;border-radius:50%;width:48px;height:48px}.hat-btn{background:#ffffffd9;border:4px solid #0000;border-radius:14px;padding:2px}.swatch.sel,.hat-btn.sel{border-color:var(--yellow);transform:scale(1.1)}.modal{background:#1e1b4b8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.card{background:var(--card);text-align:center;border-radius:28px;width:min(900px,100%);max-width:900px;max-height:100%;padding:24px 28px;overflow:auto;box-shadow:0 12px #00000026}.emoji-big{font-size:92px;line-height:1.1}.pop{animation:.5s ease-out pop}@keyframes pop{0%{transform:scale(.2)}to{transform:scale(1)}}.tut-text{margin:10px 0;font-size:30px;font-weight:600}.reveal-title,.go-title{color:var(--purple);font-size:46px;font-weight:700}.go-stars{margin-top:6px;font-size:22px}.pin .card{max-width:420px}.pin-title{font-size:24px;font-weight:600}.pin-dots{letter-spacing:8px;min-height:56px;font-size:40px}.pin-error{color:var(--red);min-height:24px;font-weight:600}.keys{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{background:#f3f4f6;border-radius:18px;padding:14px;font-size:32px;font-weight:700;box-shadow:0 4px #d1d5db}.key.ok{background:var(--green);color:#fff;grid-column:span 3;box-shadow:0 4px #15803d}.toast{border:4px solid var(--purple);z-index:50;text-align:center;background:#fff;border-radius:999px;max-width:90vw;padding:12px 24px;font-size:24px;font-weight:600;transition:opacity .5s;position:fixed;top:150px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast.fade{opacity:0}.hud{position:fixed;inset:0;pointer-events:none!important}.hud>*{pointer-events:auto}.tasklist{background:#ffffffeb;border-radius:20px;width:270px;padding:10px;position:absolute;top:12px;left:12px;box-shadow:0 4px #00000026}.tl-title{margin:0 0 6px 4px;font-size:20px;font-weight:700}.tl-item{text-align:left;background:#fef9c3;border-radius:12px;width:100%;margin-top:6px;padding:8px 10px;font-size:19px;font-weight:600;display:block}.tl-item small{color:#6b7280;font-size:14px;font-weight:400;display:block}.tl-item.done{color:#6b7280;background:#dcfce7;text-decoration:line-through}.progress{text-align:center;width:min(420px,40vw);position:absolute;top:12px;left:50%;transform:translate(-50%)}.pl{color:#fff;text-shadow:0 2px #00000059;font-size:18px;font-weight:700}.bar{background:#ffffffb3;border:3px solid #fff;border-radius:999px;height:22px;overflow:hidden}.fill{background:linear-gradient(90deg,#4ade80,#22c55e);width:0;height:100%;transition:width .4s}.where{background:#ffffffe6;border-radius:999px;padding:8px 18px;font-size:22px;font-weight:600;position:absolute;bottom:16px;left:16px;pointer-events:none!important}.menu{background:#ffffffe6;border-radius:50%;width:60px;height:60px;font-size:28px;position:absolute;top:12px;right:12px}.action{background:var(--yellow);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;font-size:56px;animation:1s ease-in-out infinite pulse;display:flex;position:absolute;bottom:24px;right:24px;box-shadow:0 8px #ca8a04}.action span{font-size:22px;font-weight:700}.action.act-report{background:#93c5fd;box-shadow:0 8px #2563eb}.action.act-bell{background:#fca5a5;box-shadow:0 8px #dc2626}.action.hidden{display:none}@keyframes pulse{50%{transform:scale(1.07)}}.task .card{max-width:820px}.task-head{align-items:center;gap:12px;display:flex}.task-title{text-align:left;flex:1;font-size:26px;font-weight:700}.stars{font-size:28px}.icon-btn{background:#f3f4f6;border-radius:50%;width:56px;height:56px;font-size:28px}.task-body{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:300px;padding-top:10px;display:flex}.big{align-items:center;gap:14px;font-size:64px;font-weight:700;display:flex}.prompt{font-size:32px;font-weight:600}.items{max-width:700px;font-size:48px;line-height:1.3}.group{border:3px dashed #c4b5fd;border-radius:16px;margin:4px;padding:2px 8px;display:inline-block}.options{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.opt{background:#ede9fe;border-radius:22px;min-width:140px;min-height:110px;padding:10px 18px;font-size:44px;font-weight:700;box-shadow:0 6px #c4b5fd}.opt .word{font-size:40px}.opt .label{font-size:20px}.opt.right{background:#bbf7d0;box-shadow:0 6px #4ade80}.opt.wrong{opacity:.6;background:#fecaca;box-shadow:0 6px #f87171}.paint{vertical-align:middle;border:4px solid #e5e7eb;border-radius:50%;width:70px;height:70px;display:inline-block}.slots{gap:10px;display:flex}.slot{border-bottom:6px solid var(--purple);justify-content:center;align-items:center;width:70px;height:80px;font-size:56px;font-weight:700;display:flex}.letter{min-width:90px}.shake{animation:.4s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pads{grid-template-columns:repeat(2,150px);gap:16px;display:grid}.pad{opacity:.55;border-radius:24px;width:150px;height:110px;box-shadow:0 6px #0003}.pad.lit{opacity:1;transform:scale(1.06)}.ball-pit{background:#fef3c7;border-radius:24px;width:min(720px,80vw);height:300px;position:relative}.ball{color:#fff;text-shadow:0 2px 2px #0006;background:radial-gradient(circle at 30% 30%,#fff,#f97316 45%,#c2410c);border-radius:50%;width:80px;height:80px;font-size:34px;font-weight:700;animation:2s ease-in-out infinite bob;position:absolute}.ball.popped{visibility:hidden}@keyframes bob{50%{transform:translateY(-14px)}}.meeting{background:linear-gradient(#c4b5fd,#8b5cf6);flex-direction:column;justify-content:flex-start;gap:8px;padding:12px}.meeting-head{background:#fff;border-radius:999px;padding:8px 24px;font-size:24px;font-weight:700}.meeting-main{flex:1;gap:12px;width:100%;min-height:0;display:flex}.cards{grid-template-columns:repeat(3,1fr);align-content:start;gap:10px;width:46%;display:grid}.pcard{text-align:center;background:#fff;border:5px solid #0000;border-radius:20px;padding:6px;transition:transform .2s;position:relative}.pcard .pname{font-size:18px;font-weight:700}.pcard .badge{font-size:24px;position:absolute;top:4px;right:8px}.pcard .votes{flex-wrap:wrap;justify-content:center;min-height:0;display:flex}.pcard.inactive{opacity:.5}.pcard.speaking{border-color:var(--yellow);transform:scale(1.06)}.pcard.typing{border-color:#c4b5fd}.pcard.typing:after{content:"💭";font-size:26px;animation:.8s infinite hop;position:absolute;top:-6px;left:6px}.cards.voting .pcard:not(.inactive){cursor:pointer;animation:1.2s infinite pulse}.pcard.picked{border-color:var(--green)}.pcard.ejected{border-color:var(--red)}.chat{touch-action:pan-y;background:#ffffffd9;border-radius:22px;flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.bubble{align-items:flex-end;gap:8px;display:flex}.bubble .txt{background:#fff;border-radius:18px 18px 18px 4px;padding:10px 14px;font-size:22px;box-shadow:0 2px #0000001a}.bubble.me{flex-direction:row-reverse}.bubble.me .txt{background:#fef08a;border-radius:18px 18px 4px}.controls{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex}.talk{align-items:center;gap:14px;width:100%;display:flex}.mic{background:var(--yellow);touch-action:none;border-radius:30px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:220px;height:120px;font-size:44px;display:flex;box-shadow:0 6px #ca8a04}.mic span{font-size:18px;font-weight:700}.mic.rec{background:#f87171;animation:.6s infinite pulse;box-shadow:0 6px #b91c1c}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#fff;border-radius:999px;padding:10px 16px;font-size:19px;font-weight:600;box-shadow:0 3px #00000026}.chip.skip{background:#e5e7eb}.vote-hint,.waiting{color:#fff;text-shadow:0 2px #0000004d;font-size:26px;font-weight:700}.settings{color:var(--ink);background:#f5f3ff;justify-content:flex-start;align-items:stretch;gap:12px;padding:20px 28px 28px}.settings>*{width:min(1100px,100%);margin-left:auto;margin-right:auto}.set-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.set-head h2{margin:0}.spent{background:#fff;border-radius:999px;padding:6px 14px;font-size:18px}.settings h3{margin-top:6px;margin-bottom:0}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.flabel{color:#4c1d95;font-size:15px;font-weight:700}.field.check{flex-direction:row;align-items:center;gap:10px;font-size:17px;font-weight:600}.field.check input{width:26px;height:26px;accent-color:var(--purple)}.settings input.budget{-webkit-user-select:text;user-select:text;border:2px solid #c4b5fd;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:18px}.segmented{gap:6px;display:flex}.segmented button{background:#fff;border:2px solid #c4b5fd;border-radius:12px;flex:1;padding:10px;font-size:18px;font-weight:600}.segmented button.sel{background:var(--purple);color:#fff;border-color:var(--purple)}.stepper{align-items:center;gap:12px;display:flex}.stepper button{background:#fff;border:2px solid #c4b5fd;border-radius:12px;width:48px;height:48px;font-size:28px;font-weight:700}.stepper span{text-align:center;min-width:30px;font-size:26px;font-weight:700}.picker{text-align:left;background:#fff;border:2px solid #c4b5fd;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;width:100%;min-height:52px;padding:8px 12px;display:grid}.pk-label{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.pk-detail{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;grid-row:2;font-size:12.5px;overflow:hidden}.pk-detail:empty{display:none}.pk-caret{color:var(--purple);grid-area:1/2/span 2;align-self:center}.voice-slots{flex-direction:column;gap:10px;display:flex}.slot-row{background:#fff;border-radius:16px;grid-template-columns:100px minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1fr) 56px;align-items:end;gap:10px;padding:10px 12px;display:grid}.slot-name{align-self:center;font-size:20px;font-weight:700}.slot-row .test{height:52px;padding:0;font-size:22px}.set-actions{background:linear-gradient(#0000,#f5f3ff 30%);justify-content:flex-end;gap:16px;padding:12px 0 4px;display:flex;position:sticky;bottom:0}.picker-modal .card{text-align:left;flex-direction:column;max-width:620px;height:min(80vh,640px);padding:18px;display:flex}.pk-head{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:22px;display:flex}.pk-search{-webkit-user-select:text;user-select:text;border:2px solid #c4b5fd;border-radius:12px;margin-bottom:10px;padding:10px 14px;font-family:inherit;font-size:18px}.pk-list{touch-action:pan-y;flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.pk-item{text-align:left;background:#f5f3ff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.pk-item span{word-break:break-all;font-size:17px;font-weight:600}.pk-item small{color:#6b7280;font-size:13px}.pk-item.sel{background:var(--purple)}.pk-item.sel span,.pk-item.sel small{color:#fff}.pk-empty{color:#6b7280;text-align:center;padding:20px}@media (max-width:900px){.tasklist{width:210px}.tl-item{font-size:16px}.cards{grid-template-columns:repeat(2,1fr)}.slot-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.slot-name{grid-column:1/-1}.set-grid{grid-template-columns:minmax(0,1fr)}}.announce{color:#fff;text-shadow:0 3px #0000004d;text-align:center;font-size:32px;font-weight:700;animation:.4s ease-out pop}.controls{flex-direction:column;gap:8px}.disc{align-items:center;gap:14px;width:100%;display:flex}.timer{background:#fff6;border-radius:999px;flex:1;height:14px;overflow:hidden}.tfill{background:#fde047;width:100%;height:100%;transition:width .25s linear}.hand-btn{background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 26px;font-size:30px;display:flex;box-shadow:0 5px #0003}.hand-btn span{font-size:22px;font-weight:700}.hand-btn.raised{background:#fde047;animation:1s infinite pulse;box-shadow:0 5px #ca8a04}.talk-area{width:100%}.talk-area:empty{display:none}.pcard .hand{color:#7c3aed;font-size:22px;font-weight:700;animation:.8s infinite hop;position:absolute;top:4px;right:8px}.pcard .hand:empty{display:none}.tlabel{color:#fff;text-shadow:0 2px #0000004d;min-width:74px;font-size:26px;font-weight:700}.tlabel.low{color:#fde047;animation:.5s infinite pulse}.prank-banner{background:#fef3c7;border:3px solid #f59e0b;border-radius:999px;width:100%;margin-top:8px;padding:8px 14px;font-size:20px;font-weight:700;animation:1s infinite pulse}.prank-banner.flood{background:#e0f2fe;border-color:#0284c7}.prank-banner.hidden{display:none}.prank-btn{background:#c084fc;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;font-size:46px;display:flex;position:absolute;bottom:34px;right:190px;box-shadow:0 8px #7e22ce}.prank-btn span{font-size:18px;font-weight:700}.prank-btn.cooling,.action.cooling{filter:grayscale(.7);opacity:.75;animation:none}.action.act-tag{background:#7dd3fc;box-shadow:0 8px #0369a1}.action.act-fix{background:#fdba74;box-shadow:0 8px #c2410c}.prank-menu{background:#fff;border-radius:24px;gap:10px;padding:12px;display:flex;position:absolute;bottom:170px;right:24px;box-shadow:0 6px #0003}.prank-menu button{background:#f3e8ff;border-radius:18px;flex-direction:column;align-items:center;padding:10px 16px;font-size:40px;display:flex}.prank-menu button span{font-size:16px;font-weight:700}.reveal.is-prankster .card{color:#fff;background:#1e1b4b}.reveal.is-prankster .reveal-title{color:#f0abfc}.switches{gap:22px;display:flex}.switch{background:#334155;border-radius:20px;width:90px;height:150px;position:relative;box-shadow:0 6px #0f172a}.switch span{background:#ef4444;border-radius:12px;height:60px;transition:bottom .15s;position:absolute;bottom:15px;left:15px;right:15px}.switch.on span{background:#22c55e;bottom:75px}.valve{background:0 0;font-size:130px;transition:transform .2s}.creator{gap:8px;padding-top:12px;padding-bottom:12px}.creator h2{margin:0}.creator .pickers{gap:4px;max-width:640px}.creator .picker-title{margin-top:2px;font-size:18px}.creator .hats{gap:5px}.creator .swatch{width:42px;height:42px}.creator .name{padding:6px 14px;font-size:26px}
