:root{--bg:#f5f5f7;--surface:#fff;--fill:#78788029;--text:#1d1d1f;--text-2:#6e6e73;--separator:#3c3c432e;--accent:#ff5a5f;--danger:#ff3b30;--success:#34c759;--warning:#ff9f0a;--material:#f5f5f7c7;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:30px;--r-pill:999px;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 2px #0000000a, 0 8px 24px #00000012;--shadow-lg:0 2px 6px #0000000d, 0 18px 44px #0000001f;--ease-out:cubic-bezier(.2, .9, .3, 1);--press:.1s ease-out;--tap:2.75rem;--theme:var(--accent);--theme-strong:color-mix(in srgb, var(--theme) 82%, black);--theme-soft:color-mix(in srgb, var(--theme) 12%, var(--surface));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font:100%/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--surface:#1c1c1e;--fill:#78788052;--text:#f5f5f7;--text-2:#98989d;--separator:#54545899;--danger:#ff453a;--success:#30d158;--material:#1c1c1ec7;--shadow-sm:none;--shadow-md:0 0 0 1px #ffffff0f;--shadow-lg:0 0 0 1px #ffffff14, 0 18px 44px #0009;--theme-soft:color-mix(in srgb, var(--theme) 22%, var(--surface))}}[style*=--theme]{--theme-strong:color-mix(in srgb, var(--theme) 82%, black);--theme-soft:color-mix(in srgb, var(--theme) 12%, var(--surface))}@media (prefers-color-scheme:dark){[style*=--theme]{--theme-soft:color-mix(in srgb, var(--theme) 22%, var(--surface))}}*{box-sizing:border-box}html,body{overflow-x:clip}body{min-height:100dvh;margin:0}button,input,textarea{font:inherit;color:inherit}button{touch-action:manipulation}:focus-visible{outline:3px solid color-mix(in srgb, var(--theme) 55%, transparent);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));place-items:center;display:grid}.page{gap:var(--s-5);width:min(100%,34rem);padding:max(1rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);align-content:start;margin:0 auto;display:grid}.page__header{gap:var(--s-1);justify-items:start;display:grid}.page__title{letter-spacing:-.025em;margin:0;font-size:2.125rem;font-weight:800;line-height:1.1}.section-title{margin:0 0 var(--s-2) var(--s-1);color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem;font-weight:600}.muted{color:var(--text-2);margin:0;font-size:1rem;line-height:1.4}.center{text-align:center}.primary,.secondary{min-height:3.25rem;padding:0 var(--s-5);border-radius:var(--r-md);cursor:pointer;transition:transform var(--press), opacity .16s ease-out, background-color .16s ease-out;border:0;font-size:1.0625rem;font-weight:600}.primary{background:var(--theme);color:#fff;box-shadow:0 8px 22px color-mix(in srgb, var(--theme) 30%, transparent)}.primary:disabled{opacity:.55;cursor:default}.primary--danger{background:var(--danger);box-shadow:0 8px 22px color-mix(in srgb, var(--danger) 30%, transparent)}.secondary{background:var(--fill)}.link-button{min-height:var(--tap);margin-top:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:var(--theme);cursor:pointer;background:0 0;border:0;justify-self:center;font-weight:600}.link-button--inline{margin:0}.back{min-height:var(--tap);margin-left:calc(-1 * var(--s-2));padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--theme);white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:1.0625rem;font-weight:600}.back>span{vertical-align:-.1em;font-size:1.5rem;line-height:0}.primary:active:not(:disabled),.secondary:active,.back:active,.link-button:active,.theme-tile:active,.hero:active,.person:active,.next__button:active,.game__end:active{transform:scale(.97)}.badge{border-radius:var(--r-pill);background:var(--theme);color:#fff;justify-self:center;padding:.375rem .875rem;font-size:.875rem;font-weight:600}.waiting{background:var(--theme);border-radius:50%;flex:none;justify-self:center;width:.75rem;height:.75rem;animation:1.6s ease-in-out infinite breathe;display:inline-block}.waiting--inline{width:.5rem;height:.5rem}@keyframes breathe{50%{opacity:.4;transform:scale(1.6)}}.login{gap:var(--s-3);width:min(100%,24rem);display:grid}.login__title{letter-spacing:-.035em;text-align:center;margin:0;font-size:2.75rem;font-weight:800;line-height:1.05}.login__title:before{content:"🃏";margin-bottom:var(--s-3);animation:wiggle 2.4s var(--ease-out) .3s 1;font-size:3rem;display:block}@keyframes wiggle{20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(0)}}.login__subtitle{margin:0 0 var(--s-4);color:var(--text-2);text-align:center;font-size:1.0625rem;line-height:1.35}.login__people{gap:var(--s-3);margin:0 0 var(--s-2);border:0;grid-template-columns:1fr 1fr;padding:0;display:grid}.person{border-radius:var(--r-lg);background:var(--surface);letter-spacing:-.02em;min-height:6.5rem;box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--press), background-color .16s ease-out, border-color .16s ease-out, color .16s ease-out;border:2px solid #0000;font-size:1.5rem;font-weight:700}.person[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 8px 24px #ff5a5f59}.field{border:1.5px solid var(--separator);border-radius:var(--r-md);background:var(--surface);outline:none;width:100%;min-height:3.5rem;padding:0 1.125rem;font-size:1.0625rem;transition:border-color .16s ease-out,box-shadow .16s ease-out}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px #ff5a5f2e}.field[aria-invalid=true]{border-color:var(--danger)}.login__error{min-height:1.35em;color:var(--danger);text-align:center;margin:0;font-size:.9375rem;line-height:1.35}.status-screen{gap:var(--s-3);text-align:center;justify-items:center;width:min(100%,22rem);display:grid}.status-screen__emoji{font-size:3rem}.status-screen__title{letter-spacing:-.02em;margin:0;font-size:1.5rem;line-height:1.15}.status-screen .secondary{margin-top:var(--s-3);min-width:12rem}.presence{color:var(--text-2);white-space:nowrap;align-items:center;gap:.4rem;font-size:.9375rem;display:inline-flex}.presence__dot{background:var(--text-2);opacity:.5;border-radius:50%;flex:none;width:.5rem;height:.5rem;transition:background-color .3s ease-out,opacity .3s ease-out}.presence--on .presence__dot{background:var(--success);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 22%, transparent)}.hello{gap:var(--s-1);padding-top:var(--s-4);display:grid}.hero{align-content:end;justify-items:start;gap:var(--s-1);min-height:9.5rem;padding:var(--s-5);border-radius:var(--r-xl);background:linear-gradient(145deg, var(--theme), var(--theme-strong));color:#fff;text-align:left;cursor:pointer;box-shadow:0 14px 34px color-mix(in srgb, var(--theme) 35%, transparent);transition:transform var(--press);border:0;display:grid;position:relative;overflow:hidden}.hero__title{letter-spacing:-.02em;font-size:1.625rem;font-weight:800;line-height:1.1}.hero__meta{opacity:.88;font-size:.9375rem}.hero__cards{top:var(--s-4);right:var(--s-5);display:flex;position:absolute}.hero__cards>span{width:3rem;height:4rem;animation:fan-left .6s var(--ease-out) both;background:#fffffff2;border-radius:10px;place-items:center;font-size:1.5rem;display:grid;transform:rotate(-10deg);box-shadow:0 6px 16px #0000002e}.hero__cards>span+span{margin-left:-1rem;animation-name:fan-right;transform:rotate(9deg)translateY(4px)}@keyframes fan-left{0%{transform:rotate(0)}}@keyframes fan-right{0%{transform:rotate(0)translateY(0)}}.progress-list{padding:var(--s-1) var(--s-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);margin:0;list-style:none;display:grid}.progress{align-items:center;gap:var(--s-3);min-height:var(--tap);padding:var(--s-2) 0;display:flex}.progress+.progress{border-top:.5px solid var(--separator)}.progress__emoji{background:var(--theme-soft);border-radius:9px;flex:none;place-items:center;width:2rem;height:2rem;font-size:1.125rem;display:grid}.progress__body{flex:1;gap:.375rem;min-width:0;display:grid}.progress__row{justify-content:space-between;gap:var(--s-2);font-size:.9375rem;display:flex}.progress__title{font-weight:600}.progress__count{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.progress__bar{background:var(--fill);border-radius:2px;height:4px;overflow:hidden}.progress__bar>span{border-radius:inherit;background:var(--theme);height:100%;display:block}.theme-grid{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.theme-tile{min-height:8.5rem;padding:var(--s-4);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--theme), var(--theme-strong));color:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb, var(--theme) 30%, transparent);transition:transform var(--press);animation:tile-in .42s var(--ease-out) both;animation-delay:calc(var(--i,0) * 25ms);border:0;align-content:end;justify-items:start;gap:.125rem;display:grid}.theme-tile--wide{grid-column:1/-1;min-height:7rem}.theme-tile--done{opacity:.6}.theme-tile__emoji{padding-bottom:var(--s-3);margin-bottom:auto;font-size:2rem;line-height:1}.theme-tile__title{letter-spacing:-.01em;font-size:1.0625rem;font-weight:700;line-height:1.2}.theme-tile__meta{opacity:.88;font-size:.8125rem}@keyframes tile-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.lobby{gap:var(--s-4);text-align:center;width:min(100%,24rem);display:grid}.lobby__emoji{background:var(--theme-soft);border-radius:50%;justify-self:center;place-items:center;width:6rem;height:6rem;font-size:3rem;display:grid}.lobby__emoji--waiting{animation:2s ease-out infinite pulse-ring}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--theme) 35%, transparent)}to{box-shadow:0 0 0 1.5rem #0000}}.lobby__title{margin:var(--s-2) 0 0;letter-spacing:-.025em;font-size:2rem;font-weight:800;line-height:1.1}.game__bar{align-items:center;gap:var(--s-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.game__bar .presence{justify-self:center;max-width:100%;font-size:.875rem}.presence__text{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=359px){.game__bar .presence__state,.game__bar .back__label{display:none}.game__bar .back{min-width:var(--tap)}}.game__end{min-height:var(--tap);margin-right:calc(-1 * var(--s-2));padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--text-2);cursor:pointer;transition:transform var(--press);background:0 0;border:0;font-size:1rem;font-weight:600}.qcard{gap:var(--s-4);min-height:19rem;padding:var(--s-5) var(--s-5) var(--s-4);border-radius:var(--r-xl);background:radial-gradient(120% 80% at 100% 0%, #ffffff38, transparent 60%), linear-gradient(155deg, var(--theme), var(--theme-strong));color:#fff;box-shadow:0 2px 6px #00000014, 0 20px 44px color-mix(in srgb, var(--theme) 38%, transparent);animation:deal .52s var(--ease-out);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.qcard:after{content:"";border-radius:calc(var(--r-xl) - 8px);pointer-events:none;border:1.5px solid #ffffff47;position:absolute;inset:8px}.qcard__top,.qcard__bottom{align-items:center;gap:var(--s-2);display:flex}.qcard__bottom{justify-content:space-between}.qcard__corner{font-size:1.75rem;line-height:1}.qcard__corner--flip{transform:rotate(180deg)}.qcard__theme{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;opacity:.92;flex:1;min-width:0;font-size:.875rem;font-weight:600;overflow:hidden}.qcard__count{border-radius:var(--r-pill);font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff38;padding:.25rem .625rem;font-size:.875rem;font-weight:700}.qcard__text{letter-spacing:-.02em;text-wrap:pretty;overflow-wrap:break-word;align-self:center;margin:0;font-size:clamp(1.5rem,6.4vw,2rem);font-weight:750;line-height:1.15}.qcard__depth>span:first-child{gap:4px;display:inline-flex}.qcard__depth i{background:#ffffff59;border-radius:50%;width:7px;height:7px}.qcard__depth i.on{background:#fff}@keyframes deal{0%{opacity:0;transform:translateY(24px)rotate(-2.5deg)scale(.96)}}.next{justify-content:center;align-items:center;gap:var(--s-3);min-height:3rem;display:flex}.next__button{min-height:3rem;padding:0 var(--s-5);border-radius:var(--r-pill);background:var(--text);color:var(--bg);cursor:pointer;transition:transform var(--press);border:0;font-size:1rem;font-weight:600}.next--waiting{padding:0 var(--s-1) 0 var(--s-4);border-radius:var(--r-lg);background:var(--fill);justify-content:space-between;animation:.2s ease-out fade-in}.next__wait{min-width:0;color:var(--text-2);align-items:center;gap:.625rem;font-size:.9375rem;display:inline-flex}.consent{gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:var(--theme-soft);animation:consent-in .32s var(--ease-out);display:grid}.consent__title{letter-spacing:-.01em;text-align:center;margin:0;font-size:1.0625rem;font-weight:700}.consent__actions{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.consent__actions>button{min-height:3rem;padding:0 var(--s-2);white-space:nowrap;font-size:1rem}@media (width<=359px){.consent__actions{grid-template-columns:1fr}}.consent .secondary{background:var(--surface)}@keyframes consent-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.page--chat{padding-bottom:calc(var(--composer-h,5rem) + var(--kb,0px) + 1rem)}.chat{gap:var(--s-3);display:grid}.chat__empty{padding:0 var(--s-4);color:var(--text-2);text-align:center;margin:0;font-size:.9375rem;line-height:1.4}.chat__list{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.chat__list:empty{display:none}.bubble{overflow-wrap:anywhere;white-space:pre-wrap;max-width:82%;animation:bubble-in .26s var(--ease-out);border-radius:20px;gap:.125rem;padding:.5rem .875rem .375rem;font-size:1.0625rem;line-height:1.35;display:grid;position:relative}.bubble--mine{background:var(--theme-strong);color:#fff;border-bottom-right-radius:6px;justify-self:end}.bubble--pending{opacity:.6}.bubble--partner{background:var(--surface);box-shadow:var(--shadow-sm);border-bottom-left-radius:6px;justify-self:start}.bubble__time{letter-spacing:.02em;opacity:.65;font-variant-numeric:tabular-nums;justify-self:end;font-size:.6875rem}.bubble--hidden{gap:.375rem;min-width:12rem}.bubble__veil{filter:blur(5px);gap:.4rem;padding:.35rem 0 .15rem;display:grid}.bubble__veil>span{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--theme), color-mix(in srgb, var(--theme) 35%, var(--surface)));opacity:.55;height:.7rem}.bubble__veil>span:last-child{width:62%}.bubble__hint{color:var(--text-2);font-size:.8125rem;line-height:1.3}.bubble--reveal{animation:reveal .56s var(--ease-out)}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes reveal{0%{filter:blur(8px);opacity:.4;transform:scale(.97)}}.typing{align-items:center;gap:var(--s-2);color:var(--text-2);margin:0;font-size:.875rem;animation:.2s ease-out fade-in;display:flex}.typing__dots{border-radius:var(--r-pill);background:var(--surface);gap:3px;padding:.5rem .625rem;display:inline-flex}.typing__dots>span{background:var(--text-2);opacity:.6;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing}.typing__dots>span:nth-child(2){animation-delay:.15s}.typing__dots>span:nth-child(3){animation-delay:.3s}@keyframes typing{30%{opacity:1;transform:translateY(-3px)}}.composer{z-index:5;left:0;right:0;bottom:var(--kb,0px);align-items:flex-end;gap:var(--s-2);width:min(100%,34rem);padding:.625rem max(1rem, env(safe-area-inset-right)) max(.625rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:var(--material);-webkit-backdrop-filter:blur(20px)saturate(180%);margin:0 auto;display:flex;position:fixed}@media (width>=34rem){.composer{border-radius:24px 24px 0 0}}.composer__field{min-width:0;min-height:var(--tap);border:1.5px solid var(--separator);background:var(--surface);resize:none;border-radius:22px;outline:none;flex:1;max-height:9.5rem;padding:.6rem 1rem;font-size:1.0625rem;line-height:1.35;transition:border-color .16s ease-out}.composer__field:focus{border-color:var(--theme)}.composer__send{width:var(--tap);height:var(--tap);background:var(--theme);color:#fff;cursor:pointer;transition:transform var(--press), opacity .16s ease-out;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.composer__send:disabled{opacity:.35;cursor:default}.composer__send:active:not(:disabled){transform:scale(.9)}.final{z-index:1;gap:var(--s-4);text-align:center;width:min(100%,24rem);animation:deal .52s var(--ease-out);display:grid;position:relative}.final__emoji{animation:wiggle 1.6s var(--ease-out) .4s 1;font-size:4rem;line-height:1}.final__count{color:var(--text-2);margin:0;font-size:1.0625rem}.final__count strong{color:var(--theme);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:800;line-height:1;display:block}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti>i{opacity:0;border-radius:2px;width:8px;height:14px;animation:2.6s cubic-bezier(.25,.6,.45,1) forwards confetti;position:absolute;top:-1rem}.confetti>i.confetti__dot{border-radius:50%;width:9px;height:9px}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:1}to{transform:translate(var(--drift), 105dvh) rotate(var(--spin));opacity:0}}.connection,.toast{z-index:10;border-radius:var(--r-lg);color:#fff;-webkit-backdrop-filter:blur(20px)saturate(180%);max-width:calc(100vw - 2rem);animation:drop-in .28s var(--ease-out);background:#1d1d1ff0;font-size:.875rem;font-weight:500;line-height:1.3;position:fixed;left:50%;transform:translate(-50%)}.connection{top:max(.75rem, env(safe-area-inset-top));align-items:center;gap:var(--s-3);width:max-content;min-height:2.25rem;padding:.375rem 1rem;display:flex}.connection:has(.connection__retry){padding-right:.375rem}.connection>span:nth-child(2){min-width:0;display:grid}.connection__note{opacity:.75;font-size:.75rem}.connection__dot{background:var(--warning);border-radius:50%;flex:none;width:.5rem;height:.5rem;animation:1.6s ease-in-out infinite breathe}.connection__dot--bad{background:var(--danger)}.connection__retry{min-height:var(--tap);border-radius:var(--r-pill);color:#fff;cursor:pointer;background:#ffffff2e;border:0;flex:none;padding:0 .875rem;font-size:.875rem;font-weight:600}.toast{bottom:calc(max(1.25rem, env(safe-area-inset-bottom)) + var(--composer-h,0px) + var(--kb,0px));text-align:center;width:max-content;padding:.625rem 1rem}@keyframes drop-in{0%{opacity:0;translate:0 -6px}}.scrim{z-index:20;background:#00000052;align-items:end;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.sheet{gap:var(--s-3);width:min(100%,30rem);padding:var(--s-3) var(--s-5) max(1.5rem, env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;animation:sheet-in .34s var(--ease-out);margin:0 auto;display:grid}.sheet__grabber{width:2.25rem;height:5px;margin-bottom:var(--s-2);border-radius:var(--r-pill);background:var(--fill);justify-self:center}.sheet__emoji{font-size:2.5rem}.sheet__title{letter-spacing:-.02em;margin:0;font-size:1.5rem;line-height:1.15}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.bubble--reveal,.qcard,.sheet,.final{animation:.2s ease-out fade-in!important}.confetti{display:none}.primary:active:not(:disabled),.secondary:active,.back:active,.link-button:active,.theme-tile:active,.hero:active,.person:active,.next__button:active,.game__end:active,.composer__send:active:not(:disabled){transform:none}}@media (prefers-reduced-transparency:reduce){.connection,.toast{-webkit-backdrop-filter:none;background:#1d1d1f}.composer{background:var(--bg);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.person,.field,.composer__field,.bubble--partner{border:1.5px solid var(--text)}}
