:root{--paper: #fff7e0;--paper-2: #fffdf5;--ink: #1b1b1f;--line: #e8dcc0;--red: #ff3b4e;--orange: #ff8a2b;--yellow: #ffd12b;--green: #3ddc74;--blue: #2b6cff;--purple: #8b5cf6;--pink: #ff5fa8;--muted: #686052;--shadow: 0 4px 0 var(--ink);--shadow-sm: 0 3px 0 var(--ink);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--font-head: "Fredoka", "Nunito", system-ui, sans-serif;--font-hand: "Patrick Hand", "Comic Sans MS", cursive}button:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}input{caret-color:var(--blue)}input::placeholder{color:var(--muted);opacity:1}::selection{background:var(--yellow);color:var(--ink)}.home-intro,.home-actions{display:flex;flex-direction:column;gap:14px;min-width:0}.home-art{display:block;width:100%;height:auto;max-height:230px;object-fit:contain;border-radius:12px}.home-actions .input{min-width:0}.language-select{padding:5px 12px;background:var(--paper-2);border:2px solid var(--ink);border-radius:8px}.home-screen>.grow{display:none}.home-screen>.sub:last-child{margin-top:auto;padding-top:10px}.home-screen{overflow-y:auto;overflow-x:hidden}.home-screen .card{margin:3px}.moderation-fab{position:absolute;top:calc(var(--sat) + 10px);right:14px;z-index:20;background:var(--paper-2);border:2px solid var(--ink);border-radius:8px;min-height:36px;padding:6px;font-size:14px}.moderation-sheet{max-height:85dvh;overflow:auto}.moderation-player{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:10px}.moderation-player .name{flex:1;min-width:90px;overflow-wrap:anywhere}.screen>.row.between:first-child{min-width:0}.in-game .screen>.row.between:first-child{margin-right:66px}.in-game .screen>.center:first-child{padding-right:85px}.player-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media(min-width:760px){.app{max-width:960px;padding-inline:26px}.home-screen{display:grid;grid-template-columns:1.2fr 1fr;align-content:center;column-gap:36px;padding-block:16px}.home-intro{align-self:center}.home-art{max-height:310px}.home-screen>.sub:last-child{grid-column:1 / -1;padding-top:24px}.home-intro h1{font-size:3rem}.home-actions{justify-content:center}.app:has(.home-screen){max-width:1060px}.role-card{width:min(380px,100%)}}@media(max-height:620px){.app{padding-top:calc(var(--sat) + 6px);padding-bottom:calc(var(--sab) + 8px)}.screen{gap:6px}.home-intro h1{font-size:1.8rem}.home-art{max-height:145px}.home-intro,.home-actions{gap:9px}.home-screen .card{padding:9px}.home-screen .btn{min-height:44px}.screen>.row.between:first-child .title{font-size:1.1rem}.role-card{max-height:270px}.role-card .big{font-size:1.4rem}.role-card .word{font-size:1.5rem}.canvas-fit{min-height:100px}.podium{max-height:200px}}@media(max-width:759px){.home-screen{flex:none;min-height:100%}.home-art{max-height:160px}}*{box-sizing:border-box}html,body{height:100%;margin:0;overscroll-behavior:none}body{font-family:var(--font-head);color:var(--ink);background:var(--paper);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-size:16px}input,button,select{font:inherit;color:inherit}button{cursor:pointer}input{font-size:16px}#app{height:100dvh}@supports (-webkit-touch-callout: none){#app{min-height:-webkit-fill-available}}.app{height:100dvh;overflow-y:auto;max-width:520px;margin:0 auto;padding:calc(var(--sat) + 10px) 14px calc(var(--sab) + 12px);display:flex;flex-direction:column;gap:10px;position:relative;background-color:var(--paper);background-image:repeating-linear-gradient(transparent 0 30px,#2b6cff1a 30px 31px)}.app:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.screen{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0;animation:screenIn .28s cubic-bezier(.2,.9,.3,1.2)}@keyframes screenIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.grow{flex:1;min-height:0}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:2.2rem;line-height:1}h2{font-size:1.5rem;line-height:1.1}h3{font-size:1.1rem}.title{font-size:1.45rem;font-weight:700;text-align:center}.sub{color:var(--muted);font-size:1.05rem}.hand{font-family:var(--font-hand)}.big{font-size:2rem;font-weight:700}.huge{font-size:3rem;font-weight:700;line-height:1}.tiny{font-size:.92rem}.card{background:var(--paper-2);border:3px solid var(--ink);border-radius:18px;box-shadow:var(--shadow);padding:14px;transform:rotate(var(--tilt, 0deg))}.card.flat{box-shadow:none}.sticker{--tilt: -1.5deg}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:3px solid var(--ink);border-radius:16px;background:#fff;box-shadow:var(--shadow);font-weight:700;font-size:1.1rem;min-height:56px;padding:0 18px;transition:transform .06s,box-shadow .06s,background .15s;text-decoration:none;color:var(--ink)}.btn:active,.btn.pressed{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{background:var(--yellow)}.btn.danger{background:var(--red);color:#fff}.btn.ok{background:var(--green)}.btn.blue{background:var(--blue);color:#fff}.btn.block{width:100%}.btn.sm{min-height:42px;font-size:.95rem;padding:0 14px;border-radius:12px;box-shadow:var(--shadow-sm)}.btn.icon{width:48px;min-height:48px;padding:0;border-radius:14px;font-size:1.3rem}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.input{width:100%;border:3px solid var(--ink);border-radius:14px;padding:12px 14px;background:#fff;font-size:1.1rem;font-weight:600;outline:none;box-shadow:var(--shadow-sm)}.input.code{text-align:center;letter-spacing:.4em;text-transform:uppercase;font-size:1.6rem;font-family:monospace}.avatar{width:44px;height:44px;border-radius:50%;border:3px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;background:var(--av-bg, #fff);box-shadow:0 2px 0 var(--ink);position:relative}.avatar.lg{width:72px;height:72px;font-size:2.2rem}.avatar.sm{width:32px;height:32px;font-size:1rem;border-width:2px}.avatar.off{opacity:.45;filter:grayscale(1)}.avatar .badge{position:absolute;right:-6px;bottom:-6px;font-size:.8rem;background:#fff;border:2px solid var(--ink);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.chip{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink);border-radius:999px;padding:4px 10px;background:#fff;font-weight:600;font-size:.9rem}.chip.on{background:var(--yellow)}.chip.red{background:var(--red);color:#fff}.chip.green{background:var(--green)}.player-list{display:flex;flex-direction:column;gap:8px}.player-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid var(--ink);border-radius:14px;background:#fff}.player-row .name{font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.canvas-wrap{position:relative;width:100%;aspect-ratio:4 / 5;max-height:100%;border:3px solid var(--ink);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden;margin:0 auto}.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.canvas-wrap canvas.live{z-index:2}.canvas-fit{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.canvas-fit .canvas-wrap{height:100%;width:auto;max-width:100%}.palette{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid var(--ink);box-shadow:0 2px 0 var(--ink);transition:transform .1s}.swatch.on{transform:scale(1.22);outline:3px solid var(--yellow);outline-offset:2px}.sizes{display:flex;gap:8px;align-items:center}.size{width:40px;height:40px;border-radius:12px;border:3px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center}.size.on{background:var(--yellow)}.size i{display:block;background:var(--ink);border-radius:50%}.stickers{display:flex;gap:6px;overflow-x:auto;padding:4px 2px}.stickers button{font-size:1.5rem;width:44px;height:44px;border-radius:12px;border:3px solid var(--ink);background:#fff;flex-shrink:0}.stickers button.on{background:var(--yellow)}.timer{position:relative;width:56px;height:56px;flex-shrink:0}.timer svg{width:100%;height:100%;transform:rotate(-90deg)}.timer circle{fill:none;stroke-width:6}.timer .bg{stroke:var(--line)}.timer .fg{stroke:var(--blue);stroke-linecap:round;transition:stroke .3s}.timer.hot .fg{stroke:var(--red)}.timer.hot{animation:pulse .5s infinite alternate}.timer .num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.timer.big{width:96px;height:96px}.timer.big .num{font-size:2rem}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.role-card{perspective:1000px;width:100%;max-width:320px;aspect-ratio:4/5;margin:0 auto}.role-card .inner{position:relative;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.9,.3,1.1);transform-style:preserve-3d}.role-card.open .inner{transform:rotateY(180deg)}.role-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:3px solid var(--ink);border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}.role-face.back{background:repeating-linear-gradient(45deg,var(--yellow) 0 12px,#ffdf5e 12px 24px)}.role-face.front{transform:rotateY(180deg);background:#fff}.role-face.front.impostor{background:#fff0f2}.word{font-size:2.4rem;font-weight:700;line-height:1.05}.cat-chip{display:inline-flex;align-items:center;gap:6px;background:var(--yellow);border:3px solid var(--ink);border-radius:999px;padding:4px 14px;font-weight:700;font-size:1.1rem;box-shadow:var(--shadow-sm);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media(max-width:380px){.app{padding-left:10px;padding-right:10px}.title{font-size:1.2rem}.cat-chip{font-size:.95rem;padding:3px 10px;border-width:2px}.chip{font-size:.8rem;padding:3px 8px}.timer{width:46px;height:46px}.timer .num{font-size:.95rem}.btn.icon{width:42px;min-height:42px;font-size:1.15rem}.btn.sm{min-height:40px;font-size:.88rem;padding:0 10px}.size{width:38px;height:38px}.word{font-size:1.9rem}.vote-intro .huge{font-size:1.8rem}.avatar.lg{width:60px;height:60px;font-size:1.8rem}}.screen>.row.between{flex-wrap:wrap;row-gap:6px}.vote-intro{position:absolute;inset:0;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:#1b1b1feb;color:#fff;text-align:center;pointer-events:none;animation:introOut 2.2s forwards}.vote-intro .huge{font-size:2.4rem;line-height:1.15}@keyframes introOut{0%{opacity:0;transform:scale(.92)}12%{opacity:1;transform:scale(1)}82%{opacity:1}to{opacity:0;visibility:hidden}}.leave-fab{position:absolute;top:calc(var(--sat) + 6px);left:6px;z-index:55;width:36px;height:36px;border-radius:12px;border:2px solid var(--ink);background:#ffffffe6;font-size:.95rem;opacity:.65;display:flex;align-items:center;justify-content:center}.in-game .screen>.row.between:first-child{margin-left:40px}.in-game .screen>.center:first-child,.in-game .screen>.title:first-child{padding-left:42px;padding-right:42px}.reveal-stage{position:relative}.reveal-author{position:absolute;left:0;right:0;bottom:-18px;display:flex;justify-content:center;z-index:5}.author-tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:6px 14px 6px 6px;box-shadow:var(--shadow-sm);font-weight:700;font-size:1.1rem;animation:popIn .35s cubic-bezier(.2,1.4,.3,1)}@keyframes popIn{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.pencil{position:absolute;z-index:4;font-size:1.6rem;pointer-events:none;transform:translate(-6px,-26px) rotate(-20deg)}.dots{display:flex;gap:6px;justify-content:center}.dots i{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:#fff}.dots i.on{background:var(--blue)}.react-bar{display:flex;gap:10px;justify-content:center}.react-bar button{font-size:1.7rem;width:60px;height:52px;border-radius:16px;border:3px solid var(--ink);background:#fff;box-shadow:var(--shadow-sm)}.react-bar button:active{transform:translateY(3px);box-shadow:none}.float-react{position:absolute;bottom:20%;font-size:2rem;animation:floatUp 1.8s ease-out forwards;pointer-events:none;z-index:20}@keyframes floatUp{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(-20px) scale(1.2)}to{transform:translateY(-220px) scale(1);opacity:0}}.vote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px 8px 4px}.vote-card{border:3px solid var(--ink);border-radius:14px;background:#fff;padding:6px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .12s;position:relative}.vote-card .thumb{width:100%;aspect-ratio:4/5;border:2px solid var(--ink);border-radius:10px;background:#fff;overflow:hidden}.vote-card .thumb canvas{width:100%;height:100%;display:block}.vote-card .nm{font-weight:700;font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vote-card.sel{transform:scale(1.06);background:var(--yellow);box-shadow:var(--shadow-sm)}.vote-card.me{opacity:.5}.vote-card .count{position:absolute;top:-8px;right:-8px;background:var(--red);color:#fff;border:2px solid var(--ink);border-radius:999px;min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.vote-card .gold{position:absolute;top:-8px;left:-8px;font-size:1.3rem}.vote-card .tag{position:absolute;bottom:30px;left:50%;transform:translate(-50%) rotate(-8deg);background:var(--red);color:#fff;border:2px solid var(--ink);border-radius:8px;padding:2px 8px;font-weight:700;font-size:.85rem;white-space:nowrap}.vote-card .tag.ok{background:var(--green);color:var(--ink)}.score-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid var(--ink);border-radius:14px;background:#fff}.score-row .bar{flex:1;height:14px;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff}.score-row .bar i{display:block;width:100%;height:100%;background:var(--blue);transform-origin:left center;transition:transform .8s cubic-bezier(.25,1,.5,1)}.delta{font-weight:700;color:var(--green);min-width:36px;text-align:right}.delta.zero{color:var(--muted)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:8px}.podium .col{display:flex;flex-direction:column;align-items:center;gap:6px;width:30%}.podium .base{width:100%;border:3px solid var(--ink);border-radius:12px 12px 0 0;background:var(--yellow);display:flex;align-items:flex-start;justify-content:center;font-weight:700;font-size:1.3rem;padding-top:6px;box-shadow:var(--shadow-sm)}.toast{position:absolute;left:50%;top:calc(var(--sat) + 12px);transform:translate(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600;z-index:100;animation:popIn .25s;max-width:90%;text-align:center}.overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:#1b1b1fe0;color:#fff;text-align:center;animation:screenIn .25s}.canvas-wrap .canvas-wrap.calco{position:absolute;inset:0;width:100%;height:100%;z-index:1;border:0;border-radius:0;box-shadow:none;margin:0;background:transparent;pointer-events:none;filter:blur(5px) saturate(1.3);opacity:.55;animation:calcoIn .35s}@keyframes calcoIn{0%{opacity:0;filter:blur(14px)}}.calco-tag{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:45;background:var(--ink);color:#fff;border-radius:999px;padding:4px 12px;font-weight:700;font-size:.85rem;pointer-events:none;animation:screenIn .25s}.card-fab.spy{right:auto;left:14px;background:#fff}.has-voice .card-fab.spy{bottom:calc(var(--sab) + 76px)}.has-voice .spy-strip{bottom:calc(var(--sab) + 136px)}.card-fab.spy.ready{background:var(--red);color:#fff;animation:none}.spy-strip{position:absolute;left:14px;right:14px;bottom:calc(var(--sab) + 74px);z-index:45;display:flex;gap:8px;align-items:center;overflow-x:auto;padding:8px;background:var(--paper-2);border:3px solid var(--ink);border-radius:16px;box-shadow:var(--shadow-sm);animation:screenIn .2s}.spy-strip .chip{flex:0 0 auto;min-height:40px}.spy-flash{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;font-size:2rem;background:#ffd12b59;animation:spyFlash .7s forwards;pointer-events:none}@keyframes spyFlash{0%{opacity:1}to{opacity:0}}.vote-card .eye{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:4;background:var(--ink);color:#fff;border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:700}.shake{animation:shake .5s}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.bounce{animation:bounce .6s cubic-bezier(.2,1.4,.3,1)}@keyframes bounce{0%{transform:scale(.3)}to{transform:scale(1)}}.confetti{position:absolute;inset:0;pointer-events:none;z-index:60}.hold-hint{color:var(--muted);font-size:.95rem}.progress-ring{width:38px;height:38px}.settings{display:flex;flex-direction:column;gap:8px}.setting{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:2px solid var(--ink);border-radius:12px;background:#fff}.seg{display:inline-flex;border:2px solid var(--ink);border-radius:10px;overflow:hidden}.seg button{border:0;background:#fff;padding:6px 10px;font-weight:700;min-width:44px;min-height:40px}.seg button.on{background:var(--yellow)}.toggle{width:54px;height:32px;border:2px solid var(--ink);border-radius:999px;background:#fff;position:relative;padding:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:left .15s}.toggle.on{background:var(--green)}.toggle.on:after{left:25px}.cat-grid{display:flex;flex-wrap:wrap;gap:6px}.qr{image-rendering:pixelated;border:3px solid var(--ink);border-radius:10px;background:#fff}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.voice-btn{position:absolute;left:14px;bottom:calc(var(--sab) + 14px);z-index:40;width:54px;height:54px;border-radius:50%;border:3px solid var(--ink);background:#fff;box-shadow:var(--shadow-sm);font-size:1.4rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;line-height:1}.voice-btn small{font-size:.6rem;font-weight:700}.voice-btn.on{background:var(--green)}.voice-btn.speaking{box-shadow:0 0 0 5px #3ddc7473,var(--shadow-sm);animation:talk .6s infinite alternate}.voice-btn:active{transform:translateY(3px);box-shadow:none}.avatar.speaking{box-shadow:0 0 0 4px var(--green),0 2px 0 var(--ink);animation:talk .5s infinite alternate}@keyframes talk{0%{transform:scale(1)}to{transform:scale(1.06)}}.has-voice .screen>.btn:last-child,.has-voice .screen>.card:last-child{margin-left:62px;width:calc(100% - 62px)}.has-voice .screen>.row:last-child{padding-left:62px}.mode-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode-tile{border:3px solid var(--ink);border-radius:14px;background:#fff;padding:8px 6px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;min-height:96px}.mode-tile.on{background:var(--yellow);box-shadow:var(--shadow-sm)}.mode-tile b{font-size:.9rem}.mode-tile small{font-size:.7rem;color:var(--muted);line-height:1.15}.mode-tile .em{font-size:1.6rem}.chip.clue{background:#fff}.chip.clue.twin{background:#fff3c4;transform:rotate(-3deg);transition:all .4s}.clue-tag{bottom:auto;top:4px;transform:rotate(2deg);font-size:.8rem;background:#fff3c4}.kit-chip{font-size:.8rem;line-height:1;opacity:.85}.vote-card.gold-win{background:#fff3c4;border-color:#c99a00;box-shadow:0 0 0 4px #ffd12b8c,var(--shadow-sm);transform:scale(1.04);transition:transform .4s,box-shadow .4s}.chip.clue.small{padding:2px 8px}.turn-dot{position:relative;display:inline-flex;padding:2px;border-radius:50%;border:3px solid transparent}.turn-dot.cur{border-color:var(--c);animation:pulse .5s infinite alternate}.turn-dot.done{opacity:.55}.turn-dot i{position:absolute;right:-6px;bottom:-6px;font-style:normal;font-size:.75rem}.canvas-wrap.my-turn{box-shadow:0 0 0 4px #ffd12b99,var(--shadow)}.dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}.caption{position:absolute;left:4px;right:4px;bottom:4px;background:#fff;border:2px solid var(--ink);border-radius:8px;padding:2px 6px;font-family:var(--font-hand);font-size:.9rem;transform:rotate(-2deg);pointer-events:none}.caption+.caption{bottom:30px;transform:rotate(2deg)}.setting.off{opacity:.5}.setting small{display:block;color:var(--muted);font-size:.75rem}.card-fab{position:absolute;right:14px;bottom:calc(var(--sab) + 14px);z-index:40;width:54px;height:54px;border-radius:16px;border:3px solid var(--ink);background:#fff;box-shadow:var(--shadow-sm);font-size:1.5rem;display:flex;align-items:center;justify-content:center}.card-fab.ready{background:var(--yellow);animation:pulse .6s infinite alternate}.card-fab.used{opacity:.45}.card-fab.used span{text-decoration:line-through}.sheet-bg{position:absolute;inset:0;z-index:60;background:#1b1b1f80;display:flex;align-items:flex-end}.sheet{width:100%;background:var(--paper-2);border:3px solid var(--ink);border-bottom:0;border-radius:20px 20px 0 0;padding:16px 14px calc(var(--sab) + 16px);display:flex;flex-direction:column;gap:12px;animation:sheetIn .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes sheetIn{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.role-strip{display:flex;flex-direction:column;gap:6px}.has-voice .screen>.role-strip{margin-left:62px;width:calc(100% - 62px)}.role-strip .player-row{padding:6px 10px}.blackout{position:absolute;inset:0;z-index:3;background:repeating-linear-gradient(45deg,#1b1b1f 0 14px,#2a2a30 14px 28px);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.4rem;pointer-events:none;border-radius:15px}.has-card .screen>.btn:last-child,.has-card .screen>.card:last-child{width:calc(100% - 62px)}.has-voice.has-card .screen>.btn:last-child,.has-voice.has-card .screen>.card:last-child{width:calc(100% - 124px)}@media(min-width:760px){.app .home-screen{display:grid;grid-template-columns:1.2fr 1fr;align-content:center;column-gap:36px}.app{max-width:960px;padding-inline:26px}}@media(max-width:759px){.app .home-screen{flex:none;min-height:100%}}.chatter{display:flex;flex-direction:column;gap:6px}.chatter .bubble{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--ink);border-radius:14px 14px 14px 4px;padding:6px 10px;font-size:.95rem;box-shadow:var(--shadow-sm);animation:popIn .3s cubic-bezier(.2,1.4,.3,1)}.app.has-coach{padding-bottom:calc(var(--sab) + var(--coach-h, 64px) + 14px)!important}.coach{position:absolute;z-index:65;left:12px;right:12px;bottom:calc(var(--sab) + 8px);min-height:56px;display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--ink);color:#fff;border-radius:14px;animation:popIn .3s cubic-bezier(.2,1.4,.3,1)}.coach-emoji{font-size:1.7rem}.coach-text{flex:1;font-weight:600;line-height:1.2;font-size:.95rem}.coach-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.coach .btn.sm{min-height:34px;font-size:.85rem;padding:0 12px}.coach .btn.ghost{color:#fff;text-decoration:underline}.has-coach .card-fab,.has-coach .voice-btn{bottom:calc(var(--sab) + var(--coach-h, 64px) + 16px)}@media(max-aspect-ratio:5/4){.coach{flex-wrap:wrap}.coach-text{flex:1 1 70%;font-size:.9rem}.coach-actions{flex:1 1 100%}}.goals{display:flex;gap:10px;justify-content:center}.goal{flex:1;max-width:200px;display:flex;flex-direction:column;align-items:center;padding:8px;background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:var(--shadow-sm)}.goal span{font-size:1.6rem}.goal b{font-size:1.5rem}.goal small{color:var(--muted);font-weight:600;text-align:center}.privacy-link{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:inherit}.privacy-sheet{max-height:85dvh;overflow:auto}@media(min-aspect-ratio:5/4){.app,.app:has(.home-screen){max-width:none;padding-inline:16px;padding-top:calc(var(--sat) + 8px);padding-bottom:calc(var(--sab) + 8px)}.app:has(.home-screen),.app:has(.lobby-screen){max-width:1100px}.app.in-game .screen{width:100%;max-width:1500px;margin-inline:auto}.draw-screen{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"head head head" "clue clue clue" "pal canvas tools";column-gap:18px}.draw-head{grid-area:head}.draw-screen>.clue-bar{grid-area:clue}.draw-screen>.canvas-fit{grid-area:canvas;height:100%}.draw-palette{grid-area:pal;align-self:start;margin-top:10px;justify-self:end;display:flex;flex-direction:column;gap:10px;max-width:200px}.draw-palette .palette{display:grid;grid-template-columns:repeat(3,40px);gap:10px;justify-content:end}.draw-palette .stickers{flex-wrap:wrap;overflow:visible;justify-content:flex-end}.draw-tools{grid-area:tools;align-self:center;justify-self:start;flex-direction:column;align-items:flex-start;gap:14px}.draw-tools .row{flex-direction:column;align-items:flex-start}.draw-tools .sizes{flex-direction:row}.draw-tools .btn.ok{min-height:56px;font-size:1.15rem;padding:0 22px}.role-screen .role-card{width:auto;height:min(calc(100dvh - 150px - var(--coach-h, 0px)),440px);max-width:none}.reveal-screen{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"head head head" ". canvas side";column-gap:18px}.reveal-head{grid-area:head}.reveal-screen>.canvas-fit{grid-area:canvas;height:100%;padding-bottom:22px}.reveal-side{grid-area:side;align-self:center;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.reveal-side .dots{margin-top:0!important}.reveal-side .react-bar{flex-direction:column}.vote-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start;--chrome: 210px;--side: 0px;--thumb-h: min(clamp(70px, calc((100dvh - var(--chrome) - var(--coach-h, 0px)) / var(--rows, 1) - 54px), 380px), calc(((100vw - 56px - var(--side)) / var(--n, 4) - 34px) / .8));max-width:calc(var(--n, 4) * (var(--thumb-h) * .8 + 28px) + 16px);margin-inline:auto}.vote-grid .vote-card{width:calc(var(--thumb-h) * .8 + 16px)}.vote-grid .vote-card .thumb{height:var(--thumb-h);width:auto;aspect-ratio:4 / 5}.debate-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);grid-template-rows:auto auto minmax(0,1fr);column-gap:14px}.debate-screen>.row.between:first-child,.debate-screen>.clue-bar{grid-column:1 / -1}.debate-screen>.grow,.debate-screen>.canvas-fit{grid-column:1;min-height:0}.debate-screen .vote-grid{--chrome: 110px;--side: 300px}.debate-side{grid-column:2;grid-row:3;align-self:end;display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;overflow-x:hidden}.debate-side .btn{white-space:normal}.debate-side .react-bar{justify-content:flex-start}.vote-screen .vote-grid{--chrome: 196px}}@media(min-aspect-ratio:5/4){.result-screen .vote-grid{--chrome: 250px}.result-screen>.verdict{min-height:0!important;padding-block:8px}}@media(min-aspect-ratio:5/4){.score-screen>.grow{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-content:start;column-gap:14px}.score-screen>.grow>.score-row{grid-column:1;padding-block:2px}.score-screen>.grow>.card{grid-column:2;grid-row:1 / span 12;align-self:start}.over-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;column-gap:20px}.over-screen>.center,.over-screen>.btn,.over-screen>.card{grid-column:1 / -1}.over-screen>.podium{grid-column:1;grid-row:2 / 4;align-self:center}.over-screen>.goals{grid-column:2;grid-row:2}.over-screen>.grow{grid-column:2;grid-row:3;min-height:0}.over-screen>.podium:has(+.grow){grid-row:2 / 4}}@media(min-aspect-ratio:5/4)and (min-height:740px){.app.in-game{font-size:18px}.app.in-game .title{font-size:1.8rem}.app.in-game .cat-chip{font-size:1.3rem}.draw-palette .palette{grid-template-columns:repeat(3,52px);gap:14px}.draw-palette .swatch{width:46px;height:46px}.draw-tools .size{width:54px;height:54px}.draw-tools .btn.icon{width:60px;min-height:60px;font-size:1.6rem}.draw-tools .btn.ok{min-height:68px;font-size:1.4rem;padding:0 30px}.app.in-game .timer{width:72px;height:72px}.app.in-game .timer .num{font-size:1.4rem}.react-bar button{width:72px;height:62px;font-size:2rem}.vote-card .nm{font-size:1rem}.coach{min-height:64px}.coach-text{font-size:1.1rem}}@media(min-aspect-ratio:5/4){.lobby-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto auto;column-gap:22px;row-gap:8px}.lobby-screen>:nth-child(1){grid-column:1 / -1}.lobby-screen>:nth-child(2),.lobby-screen>:nth-child(3){grid-column:1}.lobby-screen>.card.sticker{grid-column:1;grid-row:4 / 7;align-self:start}.lobby-screen>.grow,.lobby-screen>.settings{grid-column:2;grid-row:2 / 5;min-height:0}.lobby-screen>.btn,.lobby-screen>.card.flat{grid-column:2}}.fake-mini{flex:0 0 34%;min-height:0;display:flex;justify-content:center}.fake-mini .canvas-wrap{height:100%;width:auto;max-width:100%}@media(min-aspect-ratio:5/4){.vote-screen.fake,.result-screen.fake{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;column-gap:16px}.vote-screen.fake>*,.result-screen.fake>*{grid-column:1 / -1}.vote-screen.fake>.fake-mini,.result-screen.fake>.fake-mini{grid-column:1;grid-row:2 / 4;height:100%}.vote-screen.fake>.grow,.result-screen.fake>.grow{grid-column:2;grid-row:2;min-height:0}.vote-screen.fake>.btn,.vote-screen.fake>.row:last-child,.result-screen.fake>.verdict{grid-column:2;grid-row:3}.vote-screen.fake .vote-grid,.result-screen.fake .vote-grid{--side: calc((100dvh - 110px)*.8 + 50px) }}@media(min-aspect-ratio:5/4){.draw-screen .card-fab.spy{left:calc(100% + 18px);right:auto;bottom:0}}.vote-card>.row{max-width:100%;min-width:0;justify-content:center}.vote-card>.row .nm{min-width:0;flex:0 1 auto}.vote-card>.row .avatar,.vote-card>.row .kit-chip{flex-shrink:0}@media(min-aspect-ratio:5/4){.screen>.row.between:first-child>div:first-child{min-width:0;flex:1}.screen>.row.between:first-child .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.vote-card{container-type:inline-size}@container (max-width: 120px){.vote-card>.row .avatar{display:none}}@media(min-aspect-ratio:5/4){.debate-screen>.canvas-fit{grid-column:1;grid-row:2 / 4;height:100%}.debate-screen>.canvas-fit .canvas-wrap{height:100%;width:auto}.debate-screen>.canvas-fit+*{grid-column:2;grid-row:2;align-self:start}.score-screen>.grow{gap:4px!important}.score-screen .score-row{padding-block:2px;gap:8px}.score-screen .score-row .avatar.sm{width:26px;height:26px;font-size:.85rem}}@media(min-aspect-ratio:5/4)and (max-height:620px){.score-screen .score-row{padding-block:0;font-size:.9rem;min-height:28px;border-radius:10px}.score-screen .score-row .avatar.sm{width:22px;height:22px;font-size:.75rem;border-width:2px}.score-screen .score-row .avatar.sm .badge{display:none}.score-screen .score-row .bar{height:10px}}@media(min-aspect-ratio:5/4){.grow.scroll:has(>.vote-grid){display:flex;flex-direction:column;justify-content:safe center}.debate-side{align-self:center!important}}@media(min-aspect-ratio:5/4){.debate-screen>.grow{grid-row:3}}@media(min-aspect-ratio:5/4)and (min-height:740px){.role-screen .role-card{height:min(calc(100dvh - 170px - var(--coach-h, 0px)),620px)}.role-screen .role-card .word{font-size:3.2rem}.role-screen .role-face{gap:18px}.role-screen .role-face .sub{font-size:1.25rem}.role-screen .role-face .chip{font-size:1.1rem;padding:6px 14px}.score-screen>.grow{align-content:center}.score-screen>.grow>.score-row{padding-block:5px;font-size:1.1rem}.score-screen .score-row .avatar.sm{width:40px;height:40px;font-size:1.3rem}.score-screen .score-row .bar{height:18px}.score-screen>.grow>.card{align-self:center}}@media(min-aspect-ratio:5/4){.lobby-screen .player-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lobby-screen .player-row{padding:4px 8px;gap:8px}.lobby-screen .player-row .avatar{width:34px;height:34px;font-size:1.05rem}.over-screen>.grow{display:grid!important;grid-template-columns:1fr 1fr;align-content:start;gap:6px!important}.over-screen>.grow .player-row{padding:4px 8px;gap:6px;font-size:.9rem}.over-screen>.grow .player-row .sub.tiny{display:none}.over-screen>.grow .player-row>span:first-child{font-size:1.2rem!important}.debate-screen>.canvas-fit+.row .chip{padding:2px 8px;font-size:.8rem}}@media(min-aspect-ratio:5/4)and (max-height:620px){.lobby-screen .player-row .avatar{width:28px;height:28px;font-size:.9rem;border-width:2px}.lobby-screen .player-row{padding:2px 6px;font-size:.9rem}.lobby-screen .player-row .avatar .badge{display:none}.lobby-screen>.grow .hand{display:none}}@media(min-aspect-ratio:5/4){.over-screen>.grow .title-row{grid-column:1 / -1}.over-screen>.grow .player-row{min-width:0;padding-block:2px}.over-screen>.grow .player-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.over-screen>.grow .title-row>div{min-width:0}.over-screen>.grow .rank-row .name{min-width:0}.debate-screen>.canvas-fit+.row{gap:4px!important}}@media(min-aspect-ratio:5/4)and (max-height:620px){.over-screen .goal{padding:2px 6px;flex-direction:row;gap:6px}.over-screen .goal span,.over-screen .goal b{font-size:1.1rem}.over-screen .goal small{font-size:.75rem}.over-screen>.grow .player-row .avatar.sm{width:24px;height:24px;font-size:.8rem;border-width:2px}.over-screen>.grow .player-row .avatar .badge{display:none}.over-screen>.grow .player-row>span:first-child{font-size:1rem!important}.chatter .bubble{padding:3px 8px;font-size:.82rem}.chatter .bubble .avatar.sm{width:24px;height:24px;font-size:.8rem}.debate-screen>.canvas-fit+.row .chip{padding:1px 6px;font-size:.72rem}.debate-screen .react-bar button{height:40px;width:50px;font-size:1.3rem}}@media(min-aspect-ratio:5/4){.result-screen>.verdict{--tilt: 0deg;margin-bottom:2px}}@media(min-aspect-ratio:5/4)and (max-height:470px){.score-screen>.grow>.score-row{min-height:26px;font-size:.85rem}.score-screen>.grow{gap:3px!important}}@media(min-aspect-ratio:5/4)and (max-height:470px){.home-screen{padding-block:4px}.home-art{max-height:120px}.home-intro,.home-actions{gap:7px}}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:normal;font-display:swap;src:url(/fonts/font-1.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:normal;font-display:swap;src:url(/fonts/font-2.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:normal;font-display:swap;src:url(/fonts/font-3.ttf) format("truetype")}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:normal;font-display:swap;src:url(/fonts/font-4.ttf) format("truetype")}@font-face{font-family:Patrick Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-5.ttf) format("truetype")}.account-chip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;min-height:40px}.account-chip.guest{flex-direction:column;gap:4px}.account-chip.compact{justify-content:flex-start}.account-chip .sub{max-width:100%;text-align:center;white-space:normal}.account-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--blue);color:#fff;font-family:var(--font-head);font-weight:700;font-size:1.1rem;border:2px solid var(--ink);box-shadow:var(--shadow-sm)}.account-name{font-weight:800;color:var(--ink);max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supporter-badge{background:var(--yellow);color:var(--ink);font-weight:800}.gis-btn{min-height:32px;display:flex;justify-content:center}.home-account{display:flex;flex-direction:column;gap:8px}.lobby-account{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.lobby-account .btn{width:auto}.cos-sheet{max-height:min(92dvh,900px);overflow-y:auto;overflow-x:hidden}.cos-preview-wrap{display:flex;justify-content:center}.cos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.cos-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;background:#fff;border:2px solid var(--line)}.cos-item.on{border-color:var(--ink);background:#e9fbef}.cos-item.locked .cos-preview-card{opacity:.8}.cos-item .btn.sm{min-height:36px;font-size:.85rem;padding:0 10px}.cos-info{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.cos-name{font-size:.98rem;line-height:1.15}.cos-msg{color:var(--red)}.supporter-card{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding:12px;background:#fff3c4}.supporter-card b{font-size:1.1rem}.cos-preview-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;flex:none;width:76px;overflow:hidden;padding:4px}.cos-preview-card.lg{width:150px}.cos-thumb{width:100%;aspect-ratio:4/5;border:2px solid var(--ink);border-radius:10px;background:#fff;display:grid;place-items:center}.cos-doodle{width:70%;height:70%}.cos-name-row{display:flex;align-items:center;gap:4px;max-width:100%;font-size:.85rem}.cos-name-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cos-frame.cos-frame-wood{border:5px solid #8b5a2b!important;box-shadow:inset 0 0 0 3px #d9a066,0 2px #5c3a1a;background:#fffaf0}.cos-frame.cos-frame-neon{border:3px solid #ff5fa8!important;box-shadow:0 0 6px #ff5fa8,0 0 14px #2b6cffb3,inset 0 0 6px #ff5fa880;animation:cosNeon 2.4s ease-in-out infinite}.cos-frame.cos-frame-gold{border:5px solid #d4a017!important;background:#fffdf2;box-shadow:inset 0 0 0 2px #fff3b0,0 0 0 2px #8a6508,0 0 12px #d4a01799;position:relative}.cos-frame.cos-frame-gold:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%) -150% 0 / 250% 100% no-repeat;animation:cosShine 3.2s ease-in-out infinite}@keyframes cosNeon{50%{box-shadow:0 0 10px #2b6cff,0 0 20px #ff5fa8cc,inset 0 0 8px #2b6cff80;border-color:#2b6cff}}@keyframes cosShine{0%,40%{background-position:-150% 0}80%,to{background-position:150% 0}}.cos-badge{display:inline-grid;place-items:center;flex:none;min-width:1.5em;height:1.5em;padding:0 .25em;border:2px solid var(--ink);border-radius:999px;font-size:.78em;line-height:1;vertical-align:middle}.cos-badge.cos-badge-detective{background:#cfe0ff}.cos-badge.cos-badge-quill{background:linear-gradient(135deg,#ffe680,#d4a017);box-shadow:0 0 6px #d4a017b3}.cos-cheer{position:absolute;inset:-10px -6px auto;height:160px;pointer-events:none;z-index:2;overflow:visible}.cos-cheer i{position:absolute;top:0;left:calc(4% + var(--i) * 12%);font-style:normal;font-size:1.2rem;opacity:0}.cos-cheer.cos-cheer-pencils i{animation:cosFall 2.2s ease-in calc(var(--i) * .22s) 3 both}.cos-cheer.cos-cheer-fireworks i{top:30%;animation:cosBurst 1.6s ease-out calc(var(--i) * .2s) 4 both}.cos-cheer.loop i{animation-iteration-count:infinite}.cos-preview-card .cos-cheer{inset:0;height:100%}.cos-preview-card .cos-cheer i{font-size:.95rem}@keyframes cosFall{0%{transform:translateY(-10px) rotate(0);opacity:0}15%{opacity:1}to{transform:translateY(130px) rotate(200deg);opacity:0}}@keyframes cosBurst{0%{transform:translateY(30px) scale(.2);opacity:0}40%{opacity:1}to{transform:translate(calc((var(--i) - 3.5) * 6px),-40px) scale(1.4);opacity:0}}@media(prefers-reduced-motion:reduce){.cos-frame.cos-frame-neon,.cos-frame.cos-frame-gold:after{animation:none}.cos-cheer i{animation:none!important;opacity:1;position:static}.cos-cheer{position:absolute;display:flex;justify-content:center;gap:2px;height:auto;inset:-6px 0 auto}}
