*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;font-family:var(--font-body);color:var(--text-on-deep);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-touch-callout:none;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none}html{background-color:var(--surface-deep);min-height:100%}html:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--pantsy-bg-grad);pointer-events:none}body{background:transparent;height:100vh;height:100dvh;overflow:hidden;min-height:100vh;min-height:100dvh}html,body{overscroll-behavior:none}.brand,.hero h1,h2,.code-display,.reveal-card .word,.recap-card .player-name,.timer span:not(.label){font-family:var(--font-display);letter-spacing:var(--track-tightest);font-weight:var(--fw-bold)}.code-display,input.code-input{font-family:var(--font-mono);letter-spacing:var(--track-caps-wide);font-weight:var(--fw-bold)}.app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;height:100%;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + var(--space-16)) max(var(--space-12),env(safe-area-inset-left)) var(--cta-bottom-gap) max(var(--space-12),env(safe-area-inset-right));-webkit-user-select:none;user-select:none;touch-action:manipulation}input,textarea,[contenteditable=true],[contenteditable=""]{-webkit-user-select:text;user-select:text}@media(display-mode:standalone){body,.app{min-height:100vh}body{height:100vh}.app{height:100%;padding-bottom:calc(env(safe-area-inset-bottom) + var(--cta-bottom-gap))}}html[data-fullscreen-shell] body,html[data-fullscreen-shell] .app{min-height:100vh}html[data-fullscreen-shell] body{height:100vh}html[data-fullscreen-shell] .app{height:100%;padding-bottom:calc(env(safe-area-inset-bottom) + var(--cta-bottom-gap))}.app:has(.lobby-text-action,.result-skip-cta,.result-end-game-link){padding-bottom:var(--cta-bottom-gap)}@media(display-mode:standalone){.app:has(.lobby-text-action,.result-skip-cta,.result-end-game-link){padding-bottom:calc(env(safe-area-inset-bottom) + var(--cta-bottom-gap))}}html[data-fullscreen-shell] .app:has(.lobby-text-action,.result-skip-cta,.result-end-game-link){padding-bottom:calc(env(safe-area-inset-bottom) + var(--cta-bottom-gap))}@media(min-width:600px){.app{padding-left:var(--space-20);padding-right:var(--space-20)}}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);font-size:var(--fs-base);color:color-mix(in srgb,var(--surface-card) 70%,transparent);position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--space-16));z-index:10}.topbar-right{display:flex;align-items:center;gap:var(--gap-sm)}.topbar .brand{display:flex;align-items:center;gap:var(--gap-xs);font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--track-tight);color:var(--text-on-deep);font-size:var(--fs-md)}.topbar .brand .flame{display:inline-block;filter:drop-shadow(0 0 8px var(--primary-glow))}.topbar .brand .brand-pantsy{font-family:var(--font-display);font-weight:var(--fw-bold)}.topbar .brand .brand-pantsy.brand-vert-chip{cursor:pointer;-webkit-tap-highlight-color:transparent}.topbar .brand .brand-pantsy.brand-vert-chip:after{content:" \2304";opacity:.7}.topbar .brand .brand-pantsy.brand-spectator-chip{opacity:.55}.topbar .brand .brand-pantsy.spectator-pulse{animation:pof-spectator-label-pulse .8s ease-in-out 2}@keyframes pof-spectator-label-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.topbar .brand .brand-pantsy.spectator-pulse{animation:none;opacity:1}}.profile-btn{width:34px;height:34px;border-radius:var(--radius-pill);background:var(--surface-hi);border:1px solid color-mix(in srgb,var(--overlay-white) 8%,transparent);color:var(--text-on-deep);font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;letter-spacing:var(--track-none);padding:0;transition:transform var(--dur-fast) var(--ease-default),background var(--dur-fast) var(--ease-default);box-shadow:none}@media(hover:hover){.profile-btn:hover{background:color-mix(in srgb,var(--overlay-white) 10%,transparent)}}.profile-btn:active{transform:scale(.96)}.profile-btn-menu{font-size:var(--fs-lg);line-height:var(--lh-flat)}#screen{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-x:hidden;overscroll-behavior-x:none}.screen{flex:1;display:flex;flex-direction:column;gap:var(--gap-base)}.screen>.btn:last-child{flex-shrink:0}.screen.intro{animation:slideIn .28s cubic-bezier(.32,.72,.32,1) both;will-change:transform}.screen.screen-freezing,.screen.screen-freezing *{animation-play-state:paused!important}@keyframes slideIn{0%{transform:translateY(6px)}to{transform:translateY(0)}}.hero{text-align:center;padding:var(--space-8) var(--space-16) var(--space-4)}.hero .logo{font-size:var(--fs-mega);line-height:var(--lh-flat);filter:drop-shadow(0 6px 20px var(--primary-glow));animation:flicker 2s ease-in-out infinite alternate}@keyframes flicker{0%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.04)}to{transform:rotate(-1deg) scale(1)}}.hero-mascot{display:flex;align-items:flex-end;justify-content:center;gap:0;height:170px;margin:var(--space-4) auto var(--space-8);position:relative;margin-left:-8px}.hero-mascot .mascot-flame{transform-origin:50% 100%;animation:heroFlameStrut 1.6s ease-in-out infinite;margin-right:-34px;margin-bottom:var(--space-4)}.hero-mascot .mascot-flame svg{display:block;filter:drop-shadow(0 0 14px var(--primary));transform-origin:50% 100%;animation:heroFlameBlaze .6s ease-in-out infinite}.hero-mascot .mascot-jeans{transform-origin:50% 100%;animation:heroJeansRock 3.2s ease-in-out infinite;filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--shadow-black) 40%,transparent));position:relative}.hero-mascot .mascot-jeans svg{display:block}.home-screen .hero-mascot .mascot-flame{position:relative;z-index:2}.home-screen .hero-mascot .mascot-jeans{z-index:1}.home-screen .hero-mascot .mascot-flame svg{filter:drop-shadow(0 0 14px var(--primary)) drop-shadow(3px 0 18px var(--primary))}@keyframes heroFlameStrut{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes heroFlameBlaze{0%,to{transform:scaleY(1) scaleX(1);opacity:1}33%{transform:scaleY(1.08) scaleX(.96);opacity:.92}66%{transform:scaleY(.95) scaleX(1.04);opacity:1}}@keyframes heroJeansRock{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.hero h1{margin:2px 0;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:calc(clamp(38px,12vw,48px) * var(--text-scale));letter-spacing:var(--track-tightest);line-height:var(--lh-ultra);color:var(--text-on-deep)}.hero h1 .letter{display:inline-block;white-space:pre;animation:letterDrop .5s cubic-bezier(.2,.9,.3,1.2) both}.hero h1 .letter.fire-pulse{animation:letterDrop .5s cubic-bezier(.2,.9,.3,1.2) both,letterFirePulse 6s ease-in-out infinite;animation-delay:0s,1.6s}.hero h1.wordmark-settled .letter{animation:none}.hero h1.wordmark-settled .letter.fire-pulse{animation:letterFirePulse 6s ease-in-out infinite;animation-delay:1.6s}@keyframes letterDrop{0%{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes letterFirePulse{0%,92%,to{color:var(--text-on-deep);text-shadow:none}94%{color:var(--primary);text-shadow:0 0 14px color-mix(in srgb,var(--primary) 55%,transparent)}96%{color:var(--gold);text-shadow:0 0 18px color-mix(in srgb,var(--gold) 65%,transparent)}98%{color:var(--primary);text-shadow:0 0 14px color-mix(in srgb,var(--primary) 55%,transparent)}}@media(prefers-reduced-motion:reduce){.hero .logo,.hero-mascot .mascot-flame,.hero-mascot .mascot-flame svg,.hero-mascot .mascot-jeans,.hero h1 .letter,.hero h1 .letter.fire-pulse,.hero h1.wordmark-settled .letter.fire-pulse{animation:none}}.hero p.tagline{font-size:var(--fs-sm);color:var(--text-muted);margin:var(--space-6) auto 0;max-width:340px;line-height:var(--lh-cozy)}
