@font-face{font-family:Patrick Hand;src:url(/assets/patrickhand-400-B7HHA2Vw.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Caveat;src:url(/assets/caveat-700-D8_1Nw6V.woff2) format("woff2");font-weight:700;font-display:swap}:root{--ink: #14120f;--ink-soft: #4a4640;--ink-faint: #8d877d;--paper: #faf8f4;--paper-warm: #f2eee6;--font-hand: "Patrick Hand", "Comic Sans MS", ui-rounded, system-ui, sans-serif;--font-script: "Caveat", "Patrick Hand", cursive;--wob-1: 255px 15px 225px 15px / 15px 225px 15px 255px;--wob-2: 15px 225px 15px 255px / 255px 15px 225px 15px;--wob-card: 14px 10px 16px 11px / 11px 16px 10px 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-hand);font-size:18px;line-height:1.45;overscroll-behavior-y:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}#app{position:relative;z-index:1;min-height:100dvh}button,input,textarea{font:inherit;color:inherit}button,.menu-item,.badge,.chip,.card{font-variant-emoji:text}h1,h2,h3{font-family:var(--font-script);font-weight:700;line-height:1;margin:0;letter-spacing:.01em}h1{font-size:clamp(2.6rem,12vw,4.2rem)}h2{font-size:clamp(1.8rem,7vw,2.6rem)}h3{font-size:1.5rem}.sk{position:relative;border:2px solid var(--ink);border-radius:var(--wob-1);background:var(--paper)}.sk--double:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:2px solid var(--ink);border-radius:var(--wob-2);opacity:.28;pointer-events:none}.rule{height:0;border:0;border-top:2px solid var(--ink);border-radius:var(--wob-1);opacity:.25;margin:1rem 0}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.55em 1.15em;min-height:48px;border:2.5px solid var(--ink);border-radius:var(--wob-1);background:var(--paper);color:var(--ink);font-family:var(--font-hand);font-size:1.15rem;cursor:pointer;transition:transform .08s ease,background .15s ease,color .15s ease;text-align:center}.btn:active{transform:translateY(2px) rotate(-.4deg)}.btn--primary{background:var(--ink);color:var(--paper)}.btn--block{display:flex;width:100%}.btn--ghost{border-color:transparent;min-height:40px;padding:.35em .7em}.btn--sm{min-height:38px;font-size:1rem;padding:.3em .8em}.btn:disabled{cursor:not-allowed;color:var(--ink-faint);border-color:var(--ink-faint);border-style:dashed}.btn--primary:disabled{background:var(--paper-warm);color:var(--ink-faint)}.btn--icon{width:48px;min-height:48px;padding:0;border-radius:50%;font-size:1.4rem;line-height:1}.field{width:100%;padding:.6em .85em;min-height:50px;background:transparent;border:2.5px solid var(--ink);border-radius:var(--wob-card);font-size:1.15rem;outline:none}.field:focus{box-shadow:0 0 0 2px var(--ink) inset}.field::placeholder{color:var(--ink-faint)}textarea.field{resize:none;min-height:90px;line-height:1.35}.label{display:block;font-size:.95rem;color:var(--ink-soft);margin:0 0 .3rem .2rem;text-transform:lowercase;letter-spacing:.04em}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + .9rem) .9rem calc(var(--safe-bottom) + .9rem);max-width:760px;margin:0 auto;gap:.9rem}.stack{display:flex;flex-direction:column;gap:.8rem}.row{display:flex;align-items:center;gap:.6rem}.row--wrap{flex-wrap:wrap}.spacer{flex:1}.center{text-align:center}.muted{color:var(--ink-soft)}.tiny{font-size:.9rem}.card{position:relative;display:flex;flex-direction:column;padding:.85rem .85rem 2rem;border:2.5px solid var(--ink);border-radius:var(--wob-card);background:var(--paper);color:var(--ink);font-size:1.05rem;line-height:1.25;text-align:left;min-height:128px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.card__logo{position:absolute;left:.85rem;bottom:.6rem;font-size:.7rem;letter-spacing:.06em;opacity:.5;text-transform:uppercase}.card--black{background:var(--ink);color:var(--paper);border-color:var(--ink)}.card--black .card__logo{opacity:.55}.card--big{font-size:clamp(1.25rem,5.2vw,1.75rem);min-height:170px;padding:1.1rem 1.1rem 2.2rem;cursor:default}.card--picked{transform:translateY(-8px) rotate(-1deg);box-shadow:5px 6px 0 var(--ink)}.card--dim{opacity:.45}.card--home{border-style:dashed}.card--home .card__logo{opacity:.9;letter-spacing:.08em}.card--back{background:repeating-linear-gradient(45deg,var(--ink) 0 6px,#262320 6px 12px);color:var(--paper);align-items:center;justify-content:center;text-align:center}.card__blank{display:inline-block;min-width:3.2em;border-bottom:2.5px solid currentColor;vertical-align:baseline;margin:0 .15em}.card__fill{display:inline;padding:0 .15em;font-weight:400;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.card__badge{position:absolute;right:.7rem;bottom:.55rem;font-size:.75rem;letter-spacing:.05em;border:2px solid currentColor;border-radius:var(--wob-1);padding:.05rem .5rem;text-transform:uppercase}.card__index{position:absolute;right:.65rem;top:.45rem;font-family:var(--font-script);font-size:1.4rem;opacity:.45}.hand{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}@media(min-width:560px){.hand{grid-template-columns:repeat(3,1fr)}}.subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.hand>*:nth-child(3n+1),.subs>*:nth-child(3n+1){transform:rotate(-.7deg)}.hand>*:nth-child(3n+2),.subs>*:nth-child(3n+2){transform:rotate(.5deg)}.hand>*:nth-child(3n),.subs>*:nth-child(3n){transform:rotate(-.2deg)}.hand>.card--picked,.subs>.card--picked{transform:translateY(-8px) rotate(-1deg)}.avatar{position:relative;flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:2.5px solid var(--ink);background:var(--paper-warm);overflow:hidden;font-family:var(--font-hand);font-size:1.25rem;line-height:1;-webkit-user-select:none;user-select:none}.avatar img,.portrait{filter:grayscale(.72) contrast(1.06)}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar--tap{cursor:pointer}.portrait{width:100%;max-width:340px;aspect-ratio:1;object-fit:cover;border:3px solid var(--ink);border-radius:var(--wob-card);background:var(--paper-warm)}.avatar-wrap{position:relative;display:inline-block;flex:none}.avatar--lg{width:96px;height:96px;font-size:2.3rem;border-width:3px}.avatar--xl{width:130px;height:130px;font-size:3rem;border-width:3px}.avatar--off{opacity:.4;filter:grayscale(1)}.avatar__crown{position:absolute;top:-.62em;left:50%;transform:translate(-50%);font-size:1.6rem;line-height:1;pointer-events:none}.players{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.7rem}.player{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .3rem;text-align:center}.player__name{font-size:.95rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;padding:.05rem .5rem;border:2px solid var(--ink);border-radius:var(--wob-1);font-size:.8rem;line-height:1.4}.badge--fill{background:var(--ink);color:var(--paper)}.badge--tick{border-color:var(--ink)}.scores{display:flex;gap:.55rem;overflow-x:auto;padding:.15rem .1rem .35rem;scrollbar-width:none}.scores::-webkit-scrollbar{display:none}.score{display:flex;align-items:center;gap:.35rem;flex:none;padding:.2rem .6rem .2rem .2rem;border:2px solid var(--ink);border-radius:999px;background:var(--paper)}.score--czar{background:var(--ink);color:var(--paper)}.score--czar .avatar{border-color:var(--paper)}.score .avatar{width:30px;height:30px;font-size:.95rem;border-width:2px}.score__pts{font-family:var(--font-script);font-size:1.3rem;line-height:1}.score--done{box-shadow:3px 3px 0 var(--ink)}.topbar{display:flex;align-items:center;gap:.5rem}.topbar__title{font-family:var(--font-script);font-size:1.9rem;line-height:1}.phase-note{font-size:1.05rem;color:var(--ink-soft);display:flex;align-items:center;gap:.4rem;min-height:1.5em}.actionbar{position:sticky;bottom:0;z-index:5;display:flex;gap:.6rem;padding:.6rem 0 calc(var(--safe-bottom) + .2rem);background:linear-gradient(to top,var(--paper) 68%,transparent)}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#14120f8c;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade .15s ease}@media(min-width:620px){.sheet-bg{align-items:center;padding:1rem}}.sheet{position:relative;width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper);border:3px solid var(--ink);border-radius:22px 22px 0 0;padding:1.1rem 1rem calc(var(--safe-bottom) + 1.1rem);animation:rise .22s cubic-bezier(.2,.9,.3,1)}@media(min-width:620px){.sheet{border-radius:var(--wob-card);padding-bottom:1.1rem}}.sheet__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.menu-list{display:flex;flex-direction:column;gap:.55rem}.menu-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.7rem .85rem;min-height:54px;border:2.5px solid var(--ink);border-radius:var(--wob-card);background:var(--paper);font-size:1.1rem;text-align:left;cursor:pointer}.menu-item:active{background:var(--paper-warm)}.menu-item__icon{font-size:1.3rem;width:1.6em;text-align:center}.qr{display:block;width:100%;max-width:300px;margin:0 auto;image-rendering:pixelated;border:3px solid var(--ink);border-radius:var(--wob-card);background:#fff;padding:10px}.qr-url{word-break:break-all;font-size:1rem;text-align:center;color:var(--ink-soft)}.podium{display:flex;flex-direction:column;gap:.6rem}.rank{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;border:2.5px solid var(--ink);border-radius:var(--wob-card);background:var(--paper)}.rank--1{background:var(--ink);color:var(--paper);padding:.9rem}.rank--1 .avatar{border-color:var(--paper)}.rank__pos{font-family:var(--font-script);font-size:2rem;line-height:1;width:1.6em;flex:none;text-align:center}.rank__name{flex:1;font-size:1.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank__pts{font-family:var(--font-script);font-size:1.9rem;line-height:1}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 1.2rem);transform:translate(-50%);z-index:90;max-width:min(92vw,460px);padding:.6rem 1rem;background:var(--ink);color:var(--paper);border-radius:var(--wob-card);font-size:1rem;text-align:center;animation:rise .18s ease}.offline{position:fixed;top:calc(var(--safe-top) + .5rem);left:50%;transform:translate(-50%);z-index:80;padding:.25rem .9rem;background:var(--ink);color:var(--paper);border-radius:999px;font-size:.9rem}.dots:after{content:"";animation:dots 1.4s steps(4,end) infinite}.empty{padding:1.2rem;text-align:center;color:var(--ink-faint)}.chip-list{display:flex;flex-direction:column;gap:.45rem}.chip{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border:2px solid var(--ink);border-radius:var(--wob-card);font-size:1rem;line-height:1.2}.chip--black{background:var(--ink);color:var(--paper)}.chip__text{flex:1;overflow-wrap:anywhere}.chip__remove{flex:none;min-height:34px;padding:.1em .6em;font-size:.9rem}.chip--black .chip__remove{color:var(--paper);border-color:var(--paper);background:transparent}.invite{display:flex;align-items:center;gap:.8rem;width:100%;padding:.85rem 1rem;border-radius:var(--wob-card);text-align:left;cursor:pointer;font:inherit;color:inherit}.invite:active{transform:translateY(2px) rotate(-.3deg)}.invite__mark{font-size:1.6rem;line-height:1;flex:none}.invite__body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.invite__arrow{flex:none;opacity:.5}.tabs{display:flex;gap:.5rem}.tab{flex:1;padding:.4rem;min-height:44px;border:2.5px solid var(--ink);border-radius:var(--wob-card);background:var(--paper);cursor:pointer}.tab[aria-selected=true]{background:var(--ink);color:var(--paper)}.winner-wrap{display:flex;flex-direction:column;align-items:center;gap:.7rem;animation:pop .35s cubic-bezier(.2,1.4,.4,1)}.wordmark{display:inline-flex;align-items:flex-end;gap:.45rem}.wordmark__by{font-size:.82rem;line-height:1;color:var(--ink-faint);white-space:nowrap;margin-bottom:.75rem;transform-origin:left center;animation:sign-breathe 4.5s ease-in-out infinite alternate}@keyframes sign-breathe{0%{transform:rotate(-4deg) scale(.94)}to{transform:rotate(-4deg) scale(1.1)}}.timer{position:relative;flex:none;width:44px;height:44px;display:grid;place-items:center}.timer svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.timer__track{fill:none;stroke:var(--ink);stroke-width:3;opacity:.16}.timer__bar{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.timer__num{font-family:var(--font-script);font-size:1.3rem;line-height:1}.timer--urgent{animation:pulse 1s ease-in-out infinite}.flip{perspective:1200px;cursor:pointer}.flip__inner{display:grid;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.3,1)}.flip.is-flipped .flip__inner{transform:rotateY(180deg)}.flip__face{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip__face--back{transform:rotateY(180deg)}.flip__face>.card{height:100%;margin:0}.setting{display:flex;align-items:center;gap:.8rem;padding:.35rem .1rem}.setting__text{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}.stepper{display:flex;align-items:center;gap:.35rem;flex:none}.setting--tap{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.switch{flex:none;width:58px;height:32px;border:2.5px solid var(--ink);border-radius:999px;background:var(--paper);display:flex;align-items:center;padding:2px;transition:background .18s ease}.switch__knob{width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .18s cubic-bezier(.2,.9,.3,1)}.switch.is-on{background:var(--ink)}.switch.is-on .switch__knob{background:var(--paper);transform:translate(26px)}.reacts{display:flex;gap:.3rem;justify-content:center;margin-top:.35rem}.react{display:inline-flex;align-items:center;gap:.2rem;min-height:34px;padding:.1rem .5rem;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:1rem;line-height:1;cursor:pointer;opacity:.45;transition:opacity .15s ease,transform .12s ease,background .15s ease}.react.has-count{opacity:1}.react.is-mine{opacity:1;background:var(--ink);color:var(--paper)}.react:active{transform:scale(.9)}.react__n{font-family:var(--font-script);font-size:1.05rem}.recap{display:flex;flex-direction:column;gap:1rem}.recap__item{display:flex;flex-direction:column;gap:.4rem}.recap__head{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.stepper__value{min-width:3.1em;text-align:center;font-family:var(--font-script);font-size:1.45rem;line-height:1}.btn,.card,.menu-item,.tab,.avatar--tap,.flip{touch-action:manipulation}.enter{animation:phase-in .28s cubic-bezier(.2,.9,.3,1) backwards}.hand>.card{animation:deal .34s cubic-bezier(.2,.9,.3,1) backwards}.subs>.flip{animation:phase-in .3s cubic-bezier(.2,.9,.3,1) backwards}.card:active{transform:scale(.975)}.score__pts{animation:bump .45s cubic-bezier(.2,1.7,.4,1)}@keyframes phase-in{0%{opacity:0;transform:translateY(12px)}}@keyframes deal{0%{opacity:0;transform:translateY(28px) scale(.94)}}@keyframes bump{40%{transform:scale(1.45)}}@keyframes pulse{50%{transform:scale(1.1)}}@keyframes rise{0%{transform:translateY(18px);opacity:0}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.86);opacity:0}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
