.view-load-state{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-4)}.view-load-state>.pixel-btn{justify-self:start}:root{color-scheme:dark;--bg-primary: #100922;--bg-surface: #1b1038;--bg-surface-elevated: #2c1752;--bg-surface-hover: #42246f;--border-color: #7952ac;--border-glow: #b17aff;--neon-pink: #ff4caa;--neon-cyan: #21edff;--neon-yellow: #ffdf24;--neon-green: #53ff8b;--neon-purple: #b17aff;--neon-orange: #ff9740;--accent: var(--neon-pink);--focus-ring: var(--neon-cyan);--accent-soft: color-mix(in srgb, var(--accent) 16%, var(--bg-surface));--surface-highlight: linear-gradient(135deg, var(--bg-surface-elevated), var(--bg-surface));--text-main: #fff9f0;--text-muted: #cfc0e8;--text-dim: #bba6d7;--text-glow: 2px 2px 0 #080311;--font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: var(--font-ui);--font-body: var(--font-ui);--font-pixel: "Press Start 2P", monospace;--font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;--type-label: .75rem;--type-small: .875rem;--type-body: 1rem;--type-title: clamp(.75rem, 2.6vw, .875rem);--type-display: clamp(.9rem, 3.4vw, 1.3rem);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--pixel-shadow-sm: 2px 2px 0 #080311;--pixel-shadow: 4px 4px 0 #080311;--pixel-shadow-lg: 6px 6px 0 #080311;--pixel-shadow-neon: 4px 4px 0 #9e205f;--pixel-shadow-cyan: 4px 4px 0 #097681;--pixel-shadow-green: 4px 4px 0 #237742;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{width:100%;max-width:100vw;overflow-x:hidden}input,textarea{-webkit-user-select:text;user-select:text}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-body);min-height:100dvh;width:100%;max-width:100vw;overflow-x:hidden;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background-image:radial-gradient(ellipse at 15% 0,#ff4caa20,transparent 55%),radial-gradient(ellipse at 90% 25%,#7d39ff30,transparent 60%),linear-gradient(#b17aff0c 1px,transparent 1px),linear-gradient(90deg,#b17aff0c 1px,transparent 1px);background-size:auto,auto,32px 32px,32px 32px;font-size:var(--type-body);-webkit-font-smoothing:antialiased;line-height:1.5}button,input,select,textarea{font:inherit}button{min-width:40px;min-height:44px;word-break:break-word;overflow-wrap:anywhere;text-align:center}button svg{flex-shrink:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}h1,h2,h3,p,label{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.3}::selection{background:var(--neon-purple);color:var(--bg-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-glow);border-radius:3px}.font-pixel{font-family:var(--font-pixel);letter-spacing:.5px}.font-heading{font-family:var(--font-heading)}.ui-label{font:800 var(--type-small)/1.5 var(--font-ui);letter-spacing:.025em}.ui-title{font:400 var(--type-title)/1.8 var(--font-pixel);text-transform:uppercase;text-shadow:var(--text-glow);text-wrap:pretty}.ui-display{font:400 var(--type-display)/1.8 var(--font-pixel);text-transform:uppercase;text-shadow:3px 3px 0 #080311;text-wrap:pretty}.ui-stat{font:700 1.125rem/1.4 var(--font-ui);font-variant-numeric:tabular-nums}.ui-score{font:800 clamp(1.75rem,6vw,2.5rem)/1.3 var(--font-ui);font-variant-numeric:tabular-nums}.arcade-value{font:400 clamp(.875rem,3.2vw,1.125rem)/1.6 var(--font-pixel);font-variant-numeric:tabular-nums}.room-code{font:800 clamp(1.5rem,5vw,2rem)/1 var(--font-ui);letter-spacing:.08em;white-space:nowrap;color:var(--neon-yellow)}.notification-count{font:700 .75rem/1.4 var(--font-ui);min-width:18px}.pixel-card{background:var(--bg-surface);border:2px solid var(--border-color);box-shadow:var(--pixel-shadow);border-radius:var(--radius-md);position:relative;transition:border-color .15s ease,box-shadow .15s ease}.pixel-card-neon{border-color:var(--neon-pink);box-shadow:var(--pixel-shadow-neon)}.pixel-card-cyan{border-color:var(--neon-cyan);box-shadow:var(--pixel-shadow-cyan)}.pixel-card-green{border-color:var(--neon-green);box-shadow:var(--pixel-shadow-green)}.pixel-btn{font-family:var(--font-body);font-weight:800;font-size:var(--type-small);line-height:1.4;padding:12px 18px;background:var(--bg-surface-elevated);color:var(--text-main);border:2px solid var(--border-color);box-shadow:var(--pixel-shadow);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-transform:none;transition:background-color .15s ease,border-color .15s ease;position:relative;max-width:100%;min-width:44px;min-height:44px;flex-shrink:0;box-sizing:border-box;word-break:break-word;overflow-wrap:anywhere;text-align:center}.pixel-btn:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--text-muted)}.pixel-btn:active:not(:disabled){background:var(--bg-primary)}.pixel-btn:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:3px}.pixel-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.pixel-btn-primary,.pixel-btn-pink{background:var(--neon-pink);border-color:var(--neon-pink);color:#240a24}.pixel-btn-primary:hover:not(:disabled),.pixel-btn-pink:hover:not(:disabled){background:color-mix(in srgb,var(--neon-pink),white 15%);border-color:var(--neon-pink)}.pixel-btn-cyan{background:var(--neon-cyan);border-color:var(--neon-cyan);color:#091d2b}.pixel-btn-cyan:hover:not(:disabled){background:color-mix(in srgb,var(--neon-cyan),white 15%);border-color:var(--neon-cyan)}.pixel-btn-green{background:var(--neon-green);border-color:var(--neon-green);color:#092615}.pixel-btn-green:hover:not(:disabled){background:color-mix(in srgb,var(--neon-green),white 15%);border-color:var(--neon-green)}.pixel-btn-yellow{background:var(--neon-yellow);border-color:var(--neon-yellow);color:#291c09}.pixel-btn-yellow:hover:not(:disabled){background:color-mix(in srgb,var(--neon-yellow),white 15%);border-color:var(--neon-yellow)}.pixel-btn:is(.pixel-btn-primary,.pixel-btn-pink,.pixel-btn-cyan,.pixel-btn-green,.pixel-btn-yellow):active:not(:disabled){background:var(--text-main)}.pixel-btn-sm{padding:8px 12px;font-size:.8rem}.pixel-btn-lg{padding:14px 20px;font-size:.95rem}@media(max-width:600px){.ui-title{font-size:.72rem}.ui-display{font-size:clamp(.75rem,3vw,.9rem)}.pixel-btn{padding:10px 12px;font-size:.85rem}.pixel-btn-sm{padding:8px 10px;font-size:.8rem}.pixel-btn-lg{padding:12px 14px;font-size:.9rem}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}80%{transform:translateY(-120px);opacity:.8}to{transform:translateY(-160px);opacity:0}}.pixel-input-wrapper{display:flex;flex-direction:column;gap:6px;width:100%}.pixel-label{font-family:var(--font-body);font-weight:800;font-size:.8rem;color:var(--neon-cyan);text-transform:none}.pixel-input{font-family:var(--font-body);font-size:1rem;padding:12px 14px;background:var(--bg-primary);color:var(--text-main);border:2px solid var(--border-color);box-shadow:inset 2px 2px #080311;border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease;width:100%;max-width:100%;box-sizing:border-box}.pixel-input:focus{outline:none;border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 18%,transparent)}.pixel-input::placeholder{color:var(--text-dim);opacity:.8}.pixel-input-code{font-family:var(--font-pixel);font-weight:400;letter-spacing:clamp(3px,1.5vw,6px);text-align:center;font-size:clamp(1.2rem,5vw,1.6rem);text-transform:none;color:var(--neon-yellow)}.pixel-badge{font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-align:center}.pixel-badge-host{background:var(--neon-yellow);color:var(--bg-primary);border-color:var(--neon-yellow)}.pixel-badge-ready{background:var(--neon-green);color:var(--bg-primary);border-color:var(--neon-green)}.pixel-badge-waiting{background:var(--bg-surface-hover);color:var(--text-muted)}@keyframes neonPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.98)}}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-pulse-slow{animation:neonPulse 2s infinite ease-in-out}.animate-bounce-slow{animation:bounceSlow 2s infinite ease-in-out}.pixel-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0b16cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:clamp(8px,2.5vw,16px);box-sizing:border-box}.pixel-modal-content{background:var(--bg-surface);border:2px solid var(--border-glow);box-shadow:var(--pixel-shadow-lg);border-radius:var(--radius-lg);width:100%;max-width:min(94vw,540px);max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(14px,4vw,24px);position:relative;box-sizing:border-box;animation:modalPop .2s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-container{min-height:100dvh;display:flex;flex-direction:column;position:relative;max-width:900px;width:100%;margin:0 auto;padding:12px 10px;box-sizing:border-box}@media(min-width:480px){.app-container{padding:16px}}@media(min-width:640px){.app-container{padding:24px}}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:16px;background:var(--bg-surface);border:2px solid var(--border-color);box-shadow:var(--pixel-shadow-sm);border-radius:var(--radius-md);flex-wrap:wrap;gap:8px}@media(min-width:480px){.top-nav{padding:12px 16px;margin-bottom:20px}}.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer;min-width:0}.logo-text{font-family:var(--font-pixel);font-size:clamp(.75rem,3vw,.9rem);color:var(--neon-pink);text-shadow:2px 2px 0 #080311;white-space:nowrap}.logo-party{color:var(--neon-yellow);text-shadow:2px 2px 0 #080311}.room-code-badge{display:inline-block;line-height:1;white-space:nowrap;flex-shrink:0;padding:var(--space-1) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface-elevated);color:var(--text-muted)}.room-code-label{font:700 var(--type-label)/1.5 var(--font-ui);vertical-align:middle}.room-code-badge .room-code{margin-inline-start:var(--space-2);vertical-align:middle}@media(max-width:479px){.room-code-badge{padding-inline:6px}.room-code-label{font-size:.65rem}.room-code-badge .room-code{margin-inline-start:var(--space-1)}}.screen-container{flex:1;display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.grid-2{display:grid;grid-template-columns:1fr;gap:12px;width:100%;box-sizing:border-box}@media(min-width:600px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:100%;box-sizing:border-box}@media(min-width:600px){.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.network-status{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));z-index:100;width:auto;max-width:880px;margin-inline:auto;pointer-events:none;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid var(--neon-yellow);border-radius:var(--radius-md);color:var(--neon-yellow);background:#211b29;font-size:clamp(.75rem,2.8vw,.875rem);overflow-wrap:anywhere;word-break:break-word;text-align:center}.game-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px}.game-nav-title{overflow:hidden}.game-nav-actions{min-width:0}.game-nav-actions>.pixel-btn{min-width:44px;min-height:44px;font-family:var(--font-body)}.game-nav-actions .game-nav-score-label{font-size:.8rem!important}.game-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.game-icon>svg{display:block;width:100%;height:100%;pointer-events:none}.pixel-avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:var(--radius-md);background:var(--avatar-color);color:#252332;padding:0;vertical-align:middle}.pixel-avatar svg{width:100%;height:100%}.pixel-avatar[aria-pressed=true]{outline:3px solid var(--neon-yellow);outline-offset:3px}.pixel-avatar:hover[aria-pressed]{border-color:#252332}.brand-mark{flex-shrink:0;color:var(--neon-pink)}.player-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap-row{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.pixel-card,.grid-2>*,.grid-3>*{min-width:0}.pixel-modal-content>div:first-child{gap:8px;min-width:0}.pixel-modal-content>div:first-child>div{min-width:0}.pixel-modal-content>div:first-child>button{flex-shrink:0;display:grid;place-items:center}@media(max-width:600px){.game-nav{grid-template-columns:minmax(0,1fr);gap:8px}.game-nav-actions{display:grid!important;grid-template-columns:repeat(5,minmax(44px,1fr));width:100%;gap:6px!important}.game-nav-score-label,.game-nav-menu-label{display:none}.game-nav-actions>button{width:100%}.game-nav-title .game-icon{width:30px!important;height:30px!important}}.game-picker{display:grid;gap:10px;min-width:0}.game-choice{display:flex;flex-direction:column;gap:8px;min-width:0;width:100%;padding:12px;background:var(--bg-surface-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);text-align:center;color:var(--text-main)}.game-choice[aria-pressed=true]{border-color:var(--neon-pink);background:var(--accent-soft)}.game-choice-heading{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.game-choice-heading>svg{flex-shrink:0}.game-choice-heading strong{flex:1;min-width:0;font:800 1.05rem/1.4 var(--font-heading)}.game-choice-description{font-size:.8rem;line-height:1.5;color:var(--text-muted)}.game-choice-players{font-size:.75rem;color:var(--neon-yellow);align-self:center}.room-step{font:700 var(--type-label)/1.6 var(--font-ui);letter-spacing:.08em;color:var(--neon-purple);margin-bottom:6px}.room-flow-title{font:400 var(--type-title)/1.8 var(--font-pixel);text-transform:uppercase;color:var(--neon-yellow);text-shadow:var(--text-glow)}.room-flow-hint{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin:10px 0 16px}.create-game-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;background:var(--accent-soft);border:1px solid var(--neon-pink);min-width:0}.create-game-summary>div{flex:1;min-width:100px;overflow-wrap:anywhere}.create-game-summary p{font-size:.75rem;color:var(--text-muted)}.lobby-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;min-width:0;gap:10px}.game-choice:hover{border-color:var(--neon-purple);background:var(--bg-surface-hover)}.game-choice[aria-pressed=true]:hover{border-color:var(--neon-pink)}.game-choice:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:3px}.game-selected{color:var(--neon-pink);flex-shrink:0}.lobby-start-hint{color:var(--text-muted);text-align:center;font-size:.85rem;line-height:1.5}.symbol-icon{vertical-align:middle;flex-shrink:0}.decrypto-game{min-width:0;overflow-wrap:anywhere}.decrypto-game div{min-width:0}.decrypto-clue-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px}.decrypto-clue-label{font:700 .85rem/1.5 var(--font-body);color:var(--neon-yellow);white-space:nowrap}@media(max-width:600px){.decrypto-clue-row{grid-template-columns:minmax(0,1fr);gap:6px}}.decrypto-status{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.decrypto-status>div:nth-child(2){grid-column:1 / -1;grid-row:1;text-align:left!important;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.pixel-input{min-height:44px}.solo-preview-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--neon-cyan);font-size:.85rem;font-weight:700;text-underline-offset:4px}.app-preview-link{align-self:center;margin:12px 0}.game-lobby,.lobby-body,.unique-lobby{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}.lobby-room-bar{display:flex;flex-direction:column;gap:6px;padding:8px}.lobby-room-title{display:flex;align-items:center;gap:8px;min-width:0}.lobby-room-title .game-icon{flex-shrink:0}.lobby-room-title h1{font:800 clamp(.9rem,3.5vw,1.05rem)/1.3 var(--font-heading);overflow-wrap:anywhere}.lobby-room-bar .pixel-btn{min-height:44px;padding:var(--space-1) var(--space-2);gap:6px;font-size:.75rem}.pixel-btn.game-help-button{min-width:44px;min-height:44px;padding:8px}.lobby-action-label{display:none}.lobby-room-controls{display:flex;align-items:center;min-width:0;gap:var(--space-1)}.lobby-room-count{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto;font-size:.75rem;color:var(--text-muted);white-space:nowrap}@media(max-width:374px){.lobby-room-controls .pixel-btn{min-width:40px;padding-inline:var(--space-1);gap:var(--space-1)}.lobby-room-controls .room-code{font-size:1.25rem;letter-spacing:.02em}.lobby-room-count>svg{display:none}}@media(min-width:768px){.lobby-action-label{display:inline}}.lobby-content{border:0;min-width:0;width:100%;padding:0;margin:0}.lobby-setup,.lobby-team{padding:12px;display:flex;flex-direction:column;min-width:0;gap:10px}.lobby-setup h2,.lobby-team h2{font:800 1rem/1.3 var(--font-heading)}.lobby-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.lobby-team{padding:10px}.lobby-team-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.lobby-team-heading h2{flex:1;min-width:0;font-size:.95rem}.lobby-team-count{font-size:.75rem;color:var(--text-muted)}.lobby-team>.lobby-roster{flex:1}.lobby-team>.pixel-btn{font-size:.75rem;padding:8px;min-height:44px}.lobby-actions{display:flex;flex-direction:column;min-width:0;gap:8px}.lobby-roster{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0;min-width:0}.lobby-roster li{display:flex;align-items:center;gap:6px;min-width:0;padding:6px;background:#ffffff08;border:2px solid var(--border-color)}.lobby-roster .player-name{font-size:.85rem}.lobby-roster li>svg{flex-shrink:0;color:var(--neon-yellow)}.lobby-seat-number{flex-shrink:0;width:24px;text-align:center;color:var(--neon-pink);font-weight:800}.settings-themes{display:flex;flex-direction:column;gap:12px}.settings-themes p{font-size:.9rem;color:var(--text-muted)}.theme-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.theme-selection-grid button{font-size:.8rem}.theme-selection-grid button[aria-pressed=true]{border-color:var(--neon-yellow);background:color-mix(in srgb,var(--neon-yellow) 7.1%,transparent);color:var(--neon-yellow)}.lobby-countdown{text-align:center;border-color:var(--neon-yellow)}.lobby-countdown h2{font:800 clamp(1.3rem,5vw,1.8rem)/1.3 var(--font-heading);margin:12px 0}.lobby-countdown-number{display:block;color:var(--neon-yellow);font:400 clamp(4rem,20vw,6rem)/1.5 var(--font-pixel);margin:16px 0;text-shadow:4px 4px 0 #7a4200}.lobby-countdown p{color:var(--text-muted);font-size:.9rem}.lobby-countdown .countdown-sound{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.8rem}.lobby-team-0{border-color:var(--neon-cyan)}.lobby-team-1{border-color:var(--neon-pink)}.create-game-summary,.lobby-roster li{border-radius:var(--radius-sm)}.game-choice{transition:background-color .15s,border-color .15s}.game-choice-heading strong{text-align:left;font-weight:700}.game-choice-description{text-align:left;font-size:var(--type-small)}.game-choice-players{align-self:flex-start;color:var(--text-dim)}.game-menu-choice{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-elevated);min-width:0}.game-menu-choice[data-active=true]{border-color:var(--accent);background:var(--accent-soft)}@media(min-width:601px){.game-menu-choice{grid-template-columns:minmax(0,1fr) auto}}.lobby-actions .lobby-start-hint{min-block-size:3em}.lobby-ready-button>svg{flex-shrink:0}.lobby-roster .pixel-badge{flex:0 0 6rem}.pixel-btn.kick-player-button{flex-shrink:0;width:44px;min-width:44px;height:44px;padding:0;color:var(--neon-pink)}.lobby-roster-moderated li{padding-block:4px}.lobby-roster-moderated .pixel-badge{flex-basis:4.5rem}@media(max-width:600px){.lobby-team .lobby-roster li{flex-wrap:wrap}.lobby-team .lobby-roster .kick-player-button{margin-left:auto}.lobby-team .lobby-roster .player-name{flex-basis:calc(100% - 36px)}}.game-choice-card{position:relative;min-width:0}.game-choice-card .game-choice-players{display:flex;align-items:center;min-height:44px;padding-right:48px}.game-choice-card>.game-choice-help{position:absolute;bottom:12px;right:12px}.game-choice-help{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0;align-self:flex-start;background:transparent;border-color:transparent;box-shadow:none;word-break:break-word;overflow-wrap:anywhere;text-align:center}.game-choice-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}@media(max-width:600px){.game-choice-help{font-size:.68rem}}.app-container:has(.landing-page){max-width:1160px;isolation:isolate}.landing-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:clip;pointer-events:none;background:var(--bg-primary)}.landing-backdrop:before,.landing-backdrop:after{content:"";position:absolute}.landing-backdrop:before{top:-12%;right:-12%;bottom:-12%;left:-12%;background:radial-gradient(ellipse at 12% 18%,color-mix(in srgb,var(--neon-pink) 38%,transparent),transparent 50%),radial-gradient(ellipse at 88% 48%,color-mix(in srgb,var(--neon-cyan) 24%,transparent),transparent 48%),radial-gradient(ellipse at 55% 90%,color-mix(in srgb,var(--neon-purple) 32%,transparent),transparent 55%)}.landing-backdrop:after{top:-32px;right:-32px;bottom:-32px;left:-32px;background-image:linear-gradient(color-mix(in srgb,var(--neon-purple) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--neon-purple) 12%,transparent) 1px,transparent 1px);background-size:32px 32px}.landing-pixel{position:absolute;left:calc(var(--pixel-x) * 1%);top:var(--pixel-y);width:var(--pixel-size);height:var(--pixel-size);color:var(--neon-cyan);background:currentColor;box-shadow:0 0 12px currentColor;opacity:.7}.landing-pixel:nth-child(2),.landing-pixel:nth-child(5){color:var(--neon-pink)}.landing-pixel:nth-child(4),.landing-pixel:nth-child(7){color:var(--neon-yellow)}.landing-pixel:nth-child(8){color:var(--neon-purple)}@media(prefers-reduced-motion:no-preference){.landing-backdrop:before{animation:landingGlowDrift 10s ease-in-out -5s infinite alternate}.landing-backdrop:after{animation:landingGridDrift 12s linear infinite}.landing-pixel{left:calc(var(--pixel-x) * 1vw + var(--pixel-x) * .5dvh);top:-16px;animation:landingPixelDrift var(--pixel-duration) linear var(--pixel-delay) both}.landing-pixel:after{content:"";position:absolute;left:0;bottom:50%;width:100%;height:var(--pixel-trail);background:linear-gradient(to top,currentColor,transparent);opacity:.65;transform:rotate(26.6deg);transform-origin:50% 100%;clip-path:polygon(0 100%,100% 100%,55% 0,45% 0)}.landing-room:after{animation:landingRoomGlow 4s ease-in-out infinite}.landing-enter-room:not(:disabled):not(:active){animation:landingEnterPulse 4s ease-in-out infinite}.landing-enter-room:not(:disabled):after{animation:landingRoomGlow 4s ease-in-out infinite}.landing-perk-glitch:before,.landing-perk-glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;color:var(--neon-cyan);text-shadow:none;opacity:0;--glitch-shift: -2px;animation:landingPerkGlitch var(--glitch-period) steps(1,end) var(--glitch-delay) infinite}.landing-perk-glitch:after{color:var(--neon-pink);--glitch-shift: 2px;animation-delay:calc(var(--glitch-delay) + 60ms)}#root[inert] .landing-backdrop:before,#root[inert] .landing-backdrop:after,#root[inert] .landing-pixel,#root[inert] .landing-room:after{animation-play-state:paused}#root[inert] .landing-enter-room,#root[inert] .landing-enter-room:after{animation-play-state:paused}#root[inert] .landing-perk-glitch:before,#root[inert] .landing-perk-glitch:after{animation-play-state:paused}}@keyframes landingGlowDrift{0%{transform:translate3d(-8%,-5%,0) scale(1)}to{transform:translate3d(8%,5%,0) scale(1.12)}}@keyframes landingGridDrift{to{transform:translate3d(32px,32px,0)}}@keyframes landingPixelDrift{0%{transform:translateZ(0);opacity:0}5%,95%{opacity:.7}to{transform:translate3d(-50dvh,calc(100dvh + 32px),0);opacity:0}}@keyframes landingRoomGlow{0%,to{opacity:0}50%{opacity:1}}@keyframes landingEnterPulse{0%,to{background-color:color-mix(in srgb,var(--neon-pink) var(--enter-fill-low, 85%),var(--bg-primary));border-color:color-mix(in srgb,var(--neon-pink) var(--enter-fill-low, 85%),var(--bg-primary))}50%{background-color:var(--neon-pink);border-color:var(--neon-pink)}}@keyframes landingPerkGlitch{0%,90%,95%,to{opacity:0;transform:translate(0);clip-path:inset(0)}91%{opacity:.9;transform:translate(var(--glitch-shift));clip-path:inset(28% 0 58%)}92.25%{opacity:.75;transform:translate(calc(var(--glitch-shift) * -1));clip-path:inset(60% 0 24%)}93.5%{opacity:.85;transform:translate(var(--glitch-shift));clip-path:inset(42% 0 42%)}}.landing-page{width:100%;min-width:0;margin:var(--space-2) auto var(--space-4)}.landing-lineup{padding-bottom:var(--space-6);border-bottom:1px solid var(--border-color)}.landing-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start;padding-block:48px}.landing-hero{min-width:0;padding-top:var(--space-4)}.landing-page .landing-eyebrow{display:flex;align-items:center;gap:var(--space-2);color:var(--neon-cyan);font-size:var(--type-label);letter-spacing:.08em}.landing-eyebrow>span{flex:none;width:6px;height:6px;background:var(--neon-cyan);box-shadow:3px 3px color-mix(in srgb,var(--neon-cyan) 25%,transparent)}.landing-page .landing-title{--type-display: clamp(1.25rem, 3.1vw, 2.125rem);margin:var(--space-6) 0 var(--space-4);font-size:var(--type-display);line-height:1.7}.landing-title>span{color:var(--neon-yellow);text-shadow:3px 3px 0 color-mix(in srgb,var(--neon-orange) 45%,var(--bg-primary))}.landing-intro{color:var(--text-muted);font-size:1.125rem;line-height:1.65}.landing-explore{margin-top:var(--space-6);box-shadow:var(--pixel-shadow-neon)}.landing-perks{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4);list-style:none}.landing-perks li{--glitch-period: 7.3s;--glitch-delay: -4.5s;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--type-small)}.landing-perks li:nth-child(2){--glitch-period: 9.7s;--glitch-delay: -4s}.landing-perks li:nth-child(3){--glitch-period: 12.1s;--glitch-delay: -4.8s}.landing-perk-label{position:relative;display:inline-block}.landing-perk-glitch{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none}.landing-perks svg{color:var(--neon-green)}.landing-steps{display:grid;gap:var(--space-4);margin-top:32px;padding-top:var(--space-6);border-top:1px solid var(--border-color)}.landing-steps>div{display:flex;align-items:center;gap:var(--space-3);min-width:0}.landing-step-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;background:var(--bg-surface);color:var(--neon-purple);border:1px solid var(--border-color);box-shadow:var(--pixel-shadow-sm)}.landing-steps>div:nth-child(2) .landing-step-icon{color:var(--neon-pink)}.landing-steps>div:nth-child(3) .landing-step-icon{color:var(--neon-cyan)}.landing-steps p{display:grid;gap:2px}.landing-steps strong{font-size:var(--type-body);font-weight:600}.landing-steps p>span{color:var(--text-dim);font-size:var(--type-small)}.landing-page .landing-room{background:color-mix(in srgb,var(--bg-surface) 82%,transparent);background-clip:padding-box;border-color:color-mix(in srgb,var(--neon-cyan) 42%,transparent);box-shadow:4px 4px color-mix(in srgb,var(--neon-cyan) 12%,transparent);scroll-margin-block:var(--space-4)}.landing-enter-room{--landing-glow-color: var(--neon-pink)}.landing-entry-form .landing-enter-room{transition:opacity .6s ease,box-shadow .6s ease,background-color .2s ease,border-color .2s ease}.landing-entry-form .landing-enter-room:not(:active){background:color-mix(in srgb,var(--neon-pink) var(--enter-fill-low, 85%),var(--bg-primary));border-color:color-mix(in srgb,var(--neon-pink) var(--enter-fill-low, 85%),var(--bg-primary));color:var(--bg-primary)}.landing-enter-room:hover:not(:disabled){--enter-fill-low: 90%}.landing-room:after,.landing-enter-room:not(:disabled):after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid color-mix(in srgb,var(--landing-glow-color, var(--neon-cyan)) 28%,transparent);border-radius:inherit;box-shadow:0 0 12px color-mix(in srgb,var(--landing-glow-color, var(--neon-cyan)) 25%,transparent),0 0 24px color-mix(in srgb,var(--landing-glow-color, var(--neon-cyan)) 12%,transparent),inset 0 0 8px color-mix(in srgb,var(--landing-glow-color, var(--neon-cyan)) 8%,transparent);opacity:0;pointer-events:none}.landing-enter-room:not(:disabled):after{border-color:transparent;box-shadow:0 0 14px color-mix(in srgb,var(--neon-pink) 42%,transparent),0 0 30px color-mix(in srgb,var(--neon-pink) 22%,transparent)}.landing-room-label{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;padding:var(--space-2) var(--space-4);color:var(--text-main);background:color-mix(in srgb,var(--neon-cyan) 16%,transparent);letter-spacing:.12em}.landing-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);padding:var(--space-4) var(--space-4) 0}.landing-modes>button{min-width:0;box-shadow:none}.landing-modes>button[aria-pressed=true],.landing-modes>button[aria-pressed=true]:hover{background:var(--accent-soft);border-color:var(--neon-pink);color:var(--neon-pink)}.landing-form{padding:var(--space-6)}.landing-entry-form{display:flex;flex-direction:column;gap:var(--space-4)}.landing-entry-form .pixel-input{height:52px;min-height:52px;font:400 1rem/1.5 var(--font-pixel);letter-spacing:normal;text-align:left}.landing-entry-form .pixel-input::placeholder{font-size:.75rem}.landing-game-list{max-height:min(48dvh,460px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:var(--space-1)}.landing-form-heading{padding-bottom:var(--space-1)}.landing-form-heading h2{color:var(--neon-yellow)}.landing-form-heading p{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--type-small)}.landing-input-hint{color:var(--text-dim);font-size:var(--type-label)}.landing-entry-form>button[type=submit]{justify-content:space-between;margin-top:var(--space-1)}@media(min-width:1000px){.landing-page[data-picking-game=true] .landing-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px}.landing-page[data-picking-game=true] .landing-title{--type-display: 1.75rem}.landing-page .game-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.landing-page .game-choice{height:100%}.landing-page .game-choice-heading{flex-wrap:wrap}.landing-page .game-choice-heading strong{flex-basis:calc(100% - 90px)}.landing-page .game-choice-heading>svg{display:none}.landing-page .game-choice-players{margin-top:auto}}@media(max-height:540px){.landing-game-list{max-height:38dvh}}@media(max-width:759px){.landing-page{max-width:520px}.landing-lineup{display:none}.landing-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-6)}.landing-hero{padding-top:0;text-align:center}.landing-page .landing-eyebrow{justify-content:center;font-size:.65rem}.landing-page .landing-title{--type-display: clamp(1.25rem, 5.6vw, 1.8rem);margin-block:var(--space-3)}.landing-intro{font-size:var(--type-body)}.landing-page .landing-explore{display:none}.landing-perks{justify-content:center;gap:var(--space-2) var(--space-3)}.landing-perks li{font-size:var(--type-label)}.landing-steps{display:none}.landing-form{padding:var(--space-4)}.landing-modes{padding:var(--space-3) var(--space-3) 0}}.game-shelf{min-width:0}.game-shelf-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.game-shelf-header>div{min-width:0}.game-shelf-header h2{color:var(--neon-cyan);font-size:var(--type-label);letter-spacing:.1em}.game-shelf-header p{color:var(--text-dim);font-size:var(--type-small);margin-top:var(--space-1)}.game-shelf-controls{display:flex;gap:var(--space-2);flex:none}.game-shelf-controls .pixel-btn{width:44px;height:44px;padding:0;box-shadow:none}.game-carousel{display:flex;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-1) var(--space-1) var(--space-2);list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-1);scrollbar-width:none}.game-carousel::-webkit-scrollbar{display:none}.game-carousel-item{flex:0 0 252px;min-width:0;scroll-snap-align:start}.game-preview-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-3);align-items:center;width:100%;height:132px;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--game-accent) 42%,var(--bg-surface));border-bottom:3px solid var(--game-accent);border-radius:var(--radius-md);background:linear-gradient(120deg,color-mix(in srgb,var(--game-accent) 9%,var(--bg-surface)),var(--bg-surface));color:var(--text-main);box-shadow:var(--pixel-shadow-sm);cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s}.game-preview-card:hover{border-color:var(--game-accent);background:color-mix(in srgb,var(--game-accent) 12%,var(--bg-surface))}.game-preview-card{text-decoration:none}.game-preview-card:focus-visible{outline-offset:1px}.game-preview-art{display:grid;place-items:center;min-width:0;width:88px;height:92px;background:radial-gradient(ellipse,color-mix(in srgb,var(--game-accent) 16%,transparent),transparent 70%)}.game-preview-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0}.game-carousel-name{font:700 1rem/1.2 var(--font-ui);letter-spacing:-.01em;overflow-wrap:normal}.game-preview-copy>span{color:var(--text-dim);font-size:var(--type-label)}.game-preview-copy .game-preview-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);color:var(--game-accent);font-size:.7rem;font-weight:600}@media(max-width:759px){.game-shelf-header h2{font-size:.65rem}.game-shelf-header p{font-size:var(--type-label)}.game-shelf-controls{gap:var(--space-1)}}.game-icon .mark-part{transform-box:view-box;transform-origin:64px 64px}@media(prefers-reduced-motion:no-preference){.game-icon--animated .mark-fish-swim{animation:markFishSwim 4s ease-in-out infinite}.game-icon--animated .mark-fish-tail{transform-origin:38px 83px;animation:markFishTail .85s ease-in-out infinite}.game-icon--animated .mark-fish-water{transform-origin:64px 90px;animation:markFishWater 4s ease-in-out infinite}.game-icon--animated .mark-fish-note{transform-origin:97px 28px;animation:markFishNote 4s ease-in-out infinite}.game-icon--animated .mark-fish-bubble{animation:markFishBubble 2.8s ease-in-out infinite}.game-icon--animated .mark-fish-bubble-late{animation-delay:-1.4s}.game-icon--animated .mark-scatter-red{transform-origin:62px 99px;animation:markScatterRed 4.2s ease-in-out infinite}.game-icon--animated .mark-scatter-blue{transform-origin:62px 99px;animation:markScatterBlue 4.2s ease-in-out infinite}.game-icon--animated .mark-scatter-page{transform-origin:62px 99px;animation:markScatterPage 4.2s ease-in-out infinite}.game-icon--animated .mark-scatter-letter{transform-origin:61px 83px;animation:markScatterLetter 4.2s ease-in-out infinite}.game-icon--animated .mark-decrypto-eye{transform-origin:64px 61px;animation:markDecryptoBlink 6s ease-in-out infinite}.game-icon--animated .mark-decrypto-pupil{animation:markDecryptoLook 6s ease-in-out infinite}.game-icon--animated .mark-decrypto-key{animation:markDecryptoKey 3s ease-in-out infinite}.game-icon--animated .mark-decrypto-signal{animation:markDecryptoSignal 3s ease-in-out infinite}.game-icon--animated .mark-chatter-bubble{animation:markChatterBubble 3.6s ease-in-out infinite}.game-icon--animated .mark-chatter-dot{animation:markChatterDot 1.8s ease-in-out infinite}.game-icon--animated .mark-chatter-dot-2{animation-delay:-.3s}.game-icon--animated .mark-chatter-dot-3{animation-delay:-.6s}.game-icon--animated .mark-chatter-mouth{transform-origin:82px 95px;animation:markChatterTalk 3.6s ease-in-out infinite}.game-icon--animated .mark-chatter-flaps{transform-origin:77px 52px;animation:markChatterFlaps 3.6s ease-in-out infinite}.game-icon--animated .mark-machine-gear{transform-origin:63px 62px;animation:markMachineGear 18s linear infinite}.game-icon--animated .mark-machine-manual{transform-origin:62px 69px;animation:markMachineRattle 4.8s ease-in-out infinite}.game-icon--animated .mark-machine-sparks{animation:markMachineSpark 4.8s ease-in-out infinite}.game-icon--animated .mark-telephone-receiver{transform-origin:54px 66px;animation:markTelephoneRing 4.4s ease-in-out infinite}.game-icon--animated .mark-telephone-cord{transform-origin:77px 83px;animation:markTelephoneCord 4.4s ease-in-out infinite}.game-icon--animated .mark-telephone-pencil{transform-origin:90px 89px;animation:markTelephoneScribble 4.4s ease-in-out infinite}.game-icon--animated .mark-telephone-ring{animation:markTelephoneSound 4.4s ease-in-out infinite}.game-icon--animated .mark-duel-pencil-left{transform-origin:64px 74px;animation:markDuelLeft 3.2s ease-in-out infinite}.game-icon--animated .mark-duel-pencil-right{transform-origin:64px 74px;animation:markDuelRight 3.2s ease-in-out infinite}.game-icon--animated .mark-duel-crown{transform-origin:62px 35px;animation:markDuelCrown 3.2s ease-in-out infinite}.game-icon--animated .mark-duel-impact{transform-origin:63px 72px;animation:markDuelImpact 3.2s ease-out infinite}.game-icon--animated .mark-punch-glove{transform-origin:76px 90px;animation:markPunchGlove 3.8s ease-in-out infinite}.game-icon--animated .mark-punch-burst{animation:markPunchBurst 3.8s ease-out infinite}.game-icon--animated .mark-punch-speech{transform-origin:47px 48px;animation:markPunchSpeech 3.8s ease-in-out infinite}.game-icon--animated .mark-weave-mint{animation:markWeaveMint 5.6s ease-in-out infinite}.game-icon--animated .mark-weave-gold{animation:markWeaveGold 5.6s ease-in-out infinite}.game-icon--animated .mark-weave-thread{stroke-dasharray:12 5;animation:markWeaveThread 12s linear infinite}.game-icon--animated .mark-weave-leaves{animation:markWeaveLeaves 5.6s ease-in-out infinite}.game-icon--animated .mark-weave-sparkles{animation:markWeaveSparkles 5.6s ease-in-out infinite}.game-icon--animated .mark-wavelength-needle{transform-origin:60px 88px;animation:markWavelengthTune 4s ease-in-out infinite}.game-icon--animated .mark-ink-ghost{animation:markInkFloat 3s ease-in-out infinite}.game-icon--animated .mark-part{animation-play-state:paused}.game-icon--animated[data-playing=true] .mark-part{animation-play-state:running}#root[inert] .game-icon--animated .mark-part{animation-play-state:paused}}@keyframes markFishSwim{0%,to{transform:translate(-3px,1px) rotate(-2deg)}50%{transform:translate(4px,-2px) rotate(2deg)}}@keyframes markFishTail{0%,to{transform:scaleX(1) rotate(-5deg)}50%{transform:scaleX(.7) rotate(7deg)}}@keyframes markFishWater{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes markFishNote{0%,to{transform:rotate(-4deg) translateY(1px)}50%{transform:rotate(5deg) translateY(-2px)}}@keyframes markFishBubble{0%{opacity:0;transform:translateY(10px)}20%,55%{opacity:.95}to{opacity:0;transform:translate(3px,-16px)}}@keyframes markScatterRed{0%,65%,to{transform:rotate(0)}25%,40%{transform:rotate(-10deg)}}@keyframes markScatterBlue{0%,65%,to{transform:rotate(0)}25%,40%{transform:rotate(9deg)}}@keyframes markScatterPage{0%,65%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-4px) rotate(3deg)}45%{transform:translateY(-2px) rotate(-2deg)}}@keyframes markScatterLetter{0%,20%,55%,to{transform:scale(1)}35%{transform:scale(1.09) translateY(-2px)}}@keyframes markDecryptoLook{0%,12%,82%,to{transform:translate(0)}22%,35%{transform:translate(-7px)}52%,65%{transform:translate(7px)}}@keyframes markDecryptoBlink{0%,74%,82%,to{transform:scaleY(1)}78%{transform:scaleY(.08)}}@keyframes markDecryptoKey{0%,to{opacity:1}50%{opacity:.5}}@keyframes markDecryptoSignal{0%,to{opacity:.5}50%{opacity:1}}@keyframes markChatterBubble{0%,to{transform:translateY(1px)}50%{transform:translateY(-3px)}}@keyframes markChatterDot{0%,45%,to{transform:translateY(0);opacity:.6}22%{transform:translateY(-4px);opacity:1}}@keyframes markChatterTalk{0%,24%,48%,72%,to{transform:scaleY(1)}12%,36%,60%{transform:scaleY(.5)}}@keyframes markChatterFlaps{0%,24%,48%,72%,to{transform:rotate(0)}12%,36%,60%{transform:rotate(-3deg)}}@keyframes markMachineGear{to{transform:rotate(360deg)}}@keyframes markMachineRattle{0%,30%,to{transform:rotate(0)}8%,20%{transform:rotate(-2deg) translateY(-1px)}14%,26%{transform:rotate(2deg)}}@keyframes markMachineSpark{0%,32%,to{opacity:.45}12%,22%{opacity:1}}@keyframes markTelephoneRing{0%,36%,to{transform:rotate(0)}6%,18%,30%{transform:rotate(-6deg)}12%,24%{transform:rotate(6deg)}}@keyframes markTelephoneCord{0%,36%,to{transform:rotate(0)}6%,18%,30%{transform:rotate(-2deg)}12%,24%{transform:rotate(2deg)}}@keyframes markTelephoneScribble{0%,40%,85%,to{transform:translate(0) rotate(0)}50%,70%{transform:translate(-2px,1px) rotate(-4deg)}60%,80%{transform:translate(2px,-1px) rotate(3deg)}}@keyframes markTelephoneSound{0%,40%,to{opacity:.25}8%,28%{opacity:1}18%{opacity:.5}}@keyframes markDuelLeft{0%,45%,to{transform:rotate(0)}15%{transform:rotate(-12deg)}25%{transform:rotate(5deg)}32%{transform:rotate(-3deg)}}@keyframes markDuelRight{0%,45%,to{transform:rotate(0)}15%{transform:rotate(12deg)}25%{transform:rotate(-5deg)}32%{transform:rotate(3deg)}}@keyframes markDuelCrown{0%,20%,50%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-5px) rotate(-6deg)}40%{transform:translateY(-1px) rotate(4deg)}}@keyframes markDuelImpact{0%,15%,55%,to{transform:scale(.65);opacity:.6}25%{transform:scale(1.35);opacity:1}40%{transform:scale(1);opacity:1}}@keyframes markPunchGlove{0%,50%,to{transform:translate(0) rotate(0)}17%{transform:translate(5px,5px) rotate(8deg)}25%{transform:translate(-7px,-8px) rotate(-7deg) scale(1.05)}33%{transform:translate(2px,2px) rotate(3deg)}}@keyframes markPunchBurst{0%,17%,55%,to{transform:scale(.94)}25%{transform:scale(1.01) rotate(-2deg)}38%{transform:scale(.98) rotate(1deg)}}@keyframes markPunchSpeech{0%,17%,50%,to{transform:translate(0) rotate(0)}27%{transform:translate(-3px,-3px) rotate(-7deg)}36%{transform:translate(1px,1px) rotate(2deg)}}@keyframes markWeaveMint{0%,75%,to{transform:translate(0)}30%{transform:translate(-3px,2px)}55%{transform:translate(1px,-1px)}}@keyframes markWeaveGold{0%,75%,to{transform:translate(0)}30%{transform:translate(3px,-2px)}55%{transform:translate(-1px,1px)}}@keyframes markWeaveThread{to{stroke-dashoffset:-136}}@keyframes markWeaveLeaves{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes markWeaveSparkles{0%,to{opacity:.55}60%{opacity:1}}@keyframes markWavelengthTune{0%,to{transform:rotate(-128.4deg)}50%{transform:rotate(51.6deg)}}@keyframes markInkFloat{50%{transform:translateY(-5px)}}.public-game-description,.public-game-fit{display:grid;gap:var(--space-4)}.public-game-description>p,.public-game-fit>p{color:var(--text-muted);line-height:1.75;max-width:75ch}.public-catalog{min-width:0}.public-catalog>h2{margin-bottom:var(--space-6)}.public-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);list-style:none}.public-game-grid>li{min-width:0}.public-game-card{display:flex;align-items:flex-start;gap:var(--space-3);height:100%;padding:var(--space-4);color:var(--text-main);text-decoration:none}.public-game-card:hover{border-color:var(--neon-cyan)}.public-game-card>div{min-width:0}.public-game-card h3{color:var(--neon-cyan);font-size:1.125rem;line-height:1.4}.public-game-card p{color:var(--text-muted);font-size:var(--type-small);margin-block:var(--space-2)}.public-game-players{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--neon-yellow);font-size:var(--type-small)}.public-page{max-width:1040px}.public-page main{display:grid;gap:32px;min-width:0}.public-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);color:var(--text-muted)}.public-breadcrumb a,.public-back-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--neon-cyan);text-underline-offset:4px}.public-game-overview{display:grid;gap:var(--space-6);padding:clamp(16px,4vw,36px);border-color:var(--neon-purple)}.public-game-heading{display:flex;align-items:center;gap:var(--space-4)}.public-game-heading>div{min-width:0}.public-game-heading h1{margin-block:var(--space-3);color:var(--neon-yellow)}.public-game-heading .ui-label{color:var(--neon-cyan)}.public-game-lede{font-size:1.25rem;color:var(--text-main);max-width:65ch}.public-game-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.public-game-actions>.pixel-btn{min-height:44px;max-width:100%}.public-game-fit{padding-top:var(--space-6);border-top:1px solid var(--border-color)}@media(max-width:600px){.public-game-grid{grid-template-columns:minmax(0,1fr)}.public-game-heading{align-items:flex-start;flex-direction:column}.public-game-actions{display:grid;grid-template-columns:minmax(0,1fr)}.public-game-card{padding:var(--space-3)}.public-game-lede{font-size:1.125rem}}
