:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}body{color:#f9fafb;background:#111827;margin:0;font-family:system-ui,sans-serif}.app{box-sizing:border-box;place-items:center;min-height:100vh;padding:5rem 1.25rem 1.25rem;display:grid}.top-nav{z-index:10;background:#111827;border-bottom:1px solid #374151;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}.top-nav a,.nav-muted{color:#f9fafb;font-weight:700;text-decoration:none}.top-nav a:hover{color:#facc15}.nav-spacer{flex:1}.nav-muted{color:#9ca3af}.nav-button{color:#f9fafb;background:#374151;padding:.55rem .75rem}.realtime-status{color:#d1d5db;border-radius:.375rem;padding:.35rem .5rem;font-size:.8rem;font-weight:700}.realtime-status:before{content:"";background:#ef4444;border-radius:50%;width:.5rem;height:.5rem;margin-right:.35rem;display:inline-block}.realtime-status.is-connected:before{background:#22c55e}.game-card{text-align:center;box-sizing:border-box;background:#1f2937;border-radius:.5rem;width:min(920px,94vw);max-width:100%;padding:clamp(1.25rem,3vw,2rem);overflow:hidden;box-shadow:0 20px 50px #00000040}.game-card h1{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.game-card>p{margin:.25rem 0}button{cursor:pointer;color:#111827;background:#facc15;border:0;border-radius:.375rem;padding:.7rem 1rem;font-weight:700;line-height:1.1}button:disabled{cursor:not-allowed;opacity:.55}.round-tabs{background:#111827;border:1px solid #374151;border-radius:.5rem;gap:.5rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.round-tabs button{color:#f9fafb;background:0 0}.round-tabs button.active{color:#111827;background:#facc15}.large-count-picker{margin:1rem 0}.large-count-picker p{color:#d1d5db;margin-bottom:.5rem}.option-row,.operators{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.option-row button,.operators button{color:#f9fafb;background:#374151}.option-row button.active,.operators button.active{color:#111827;background:#facc15}.letter-section{margin-top:1.5rem}.letter-section h2{color:#d1d5db;margin:0 0 .75rem;font-size:1rem}.letters{--tile-size:clamp(2.75rem, 8vw, 3.25rem)}.numbers{--tile-size:clamp(4.5rem, 14vw, 6.25rem)}.letters{grid-template-columns:repeat(auto-fit, var(--tile-size));justify-content:center;gap:.5rem;max-width:100%;margin:0;display:grid}.numbers{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.5rem;margin:0;display:flex}.letter,.number{width:var(--tile-size);height:var(--tile-size);background:#2563eb;border-radius:.375rem;place-items:center;font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700;display:grid}.tile-button{padding:0}.letter-placeholder{background:0 0;border:1px dashed #4b5563}.number-tile{width:var(--tile-size);height:var(--tile-size);color:#f9fafb;background:#2563eb;padding:.5rem;position:relative}.number-tile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1.1rem,3vw,1.65rem);line-height:1.1;display:block;overflow:hidden}.number-tile.is-combined{width:fit-content;min-width:calc(var(--tile-size) * 1.6);max-width:min(100%,34rem);height:auto;min-height:var(--tile-size);background:#4f46e5;padding-top:1.35rem}.number-tile.is-combined strong{text-overflow:clip;white-space:normal;overflow:visible}.number-tile.selected{outline:3px solid #facc15}.tile-uncombine{color:#f9fafb;background:#111827;border-radius:.25rem;padding:.18rem .35rem;font-size:.65rem;line-height:1;position:absolute;top:.3rem;right:.3rem}.operators{margin-top:1.25rem}.operators button{width:3rem;height:3rem;padding:0;font-size:1.25rem}.empty-letters{color:#9ca3af}.current-word{overflow-wrap:anywhere;margin:1.5rem 0 .75rem}.target{justify-content:center;gap:.25rem;margin:1rem 0 1.25rem;display:grid}.target span{color:#d1d5db;font-size:.875rem}.target strong{color:#facc15;font-size:clamp(3rem,9vw,5rem);line-height:.95}form{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}input{text-transform:uppercase;border:0;border-radius:.375rem;min-width:14rem;padding:.7rem}input:disabled{opacity:.65}.account-card{width:min(460px,94vw)}.account-form{text-align:left;gap:.9rem;display:grid}.account-form label{color:#d1d5db;gap:.35rem;font-weight:700;display:grid}.account-form input{text-transform:none;min-width:0}.account-switch{text-align:center;color:#d1d5db;margin:1rem 0 0}.account-switch a{color:#facc15;font-weight:700;text-decoration:none}.table-card,.profile-card{text-align:left}.table-card h1,.profile-card h1,.profile-card>p,.profile-created{text-align:center}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:1rem}th,td{border-bottom:1px solid #374151;padding:.75rem}th{color:#d1d5db;text-align:left}td a,.match-row a{color:#facc15;font-weight:700;text-decoration:none}.current-user{background:#facc151f}.empty-state{text-align:center;color:#d1d5db}.result{color:#86efac;margin-top:1rem}.error{color:#fca5a5;margin-top:1rem}.status{margin:1rem 0;font-weight:700}.loading{margin-top:1rem}.profile-card h1{margin-top:.75rem}.home-link{color:#facc15;font-weight:700;text-decoration:none}.profile-hero{text-align:center;background:#111827;border:1px solid #334155;border-radius:8px;justify-items:center;gap:.4rem;margin:.75rem auto 1.25rem;padding:1.25rem;display:grid}.profile-hero span{color:#94a3b8;text-transform:uppercase;font-size:.8rem;font-weight:900}.profile-hero strong{color:#facc15;font-size:clamp(3rem,9vw,5rem);line-height:.95}.profile-hero p{color:#d1d5db;margin:0;font-weight:800}.profile-hero button{width:min(100%,16rem);margin-top:.35rem}.profile-highlights{grid-template-columns:.7fr 1fr 1.6fr;gap:.75rem;margin-top:1rem;display:grid}.profile-highlights div{background:#0f172a;border:1px solid #334155;border-radius:.375rem;align-content:center;gap:.35rem;padding:1rem;display:grid}.profile-highlights span{color:#94a3b8;text-transform:uppercase;font-size:.78rem;font-weight:900}.profile-highlights strong{color:#f8fafc;font-size:1rem;line-height:1.25}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.profile-stats div{background:#111827;border-radius:.375rem;gap:.35rem;padding:1rem;display:grid}.profile-stats span{color:#d1d5db;font-size:.85rem}.profile-stats strong{font-size:1.4rem}.profile-created{color:#d1d5db;margin-top:1.25rem}.recent-matches{margin-top:2rem}.recent-matches h2{color:#d1d5db;margin:0 0 .75rem;font-size:1.1rem}.match-list{gap:.5rem;display:grid}.match-row{background:#111827;border-radius:.375rem;grid-template-columns:.6fr minmax(8rem,1.4fr) .55fr .75fr .75fr .9fr auto;align-items:center;gap:.75rem;padding:.85rem;display:grid}.match-result{color:#f8fafc;text-transform:uppercase;background:#374151;border-radius:999px;width:fit-content;padding:.25rem .55rem;font-size:.78rem;font-weight:900}.match-result.win{color:#86efac;background:#22c55e33}.match-result.loss{color:#fca5a5;background:#f871712e}.match-result.draw{color:#fde68a;background:#facc1529}.match-opponent{min-width:0}.match-opponent span,.match-final-rating,.match-row time{color:#d1d5db}.match-opponent a,.match-opponent span:last-child{margin-left:.25rem}.match-score,.match-rating-change{color:#f8fafc;font-weight:900}.match-detail-link{justify-self:end}.match-found{background:#111827;border-radius:.375rem;gap:.35rem;max-width:28rem;margin:1.25rem auto;padding:1rem;display:grid}.match-found h2,.match-found p{margin:0}.match-found h2{color:#facc15;font-size:1.25rem}.active-match-card{background:#111827;border:1px solid #facc15;border-radius:8px;gap:.5rem;max-width:30rem;margin:1rem auto 1.25rem;padding:1rem;display:grid}.active-match-card h2,.active-match-card p{margin:0}.active-match-card h2{color:#facc15;font-size:1.25rem}.active-match-card p{color:#d1d5db}.match-room{gap:1.25rem;width:100%;min-width:0;display:grid}.match-card{width:min(1180px,96vw)}.match-card-active{width:min(1380px,98vw);max-height:calc(100vh - 5.5rem);padding:clamp(.75rem,1.6vw,1.25rem)}.match-card-completed{width:min(960px,96vw);padding:clamp(.75rem,1.6vw,1.25rem)}.match-card-active .match-header,.match-card-completed .match-header{margin-bottom:.65rem}.match-card-active h1,.match-card-completed h1{margin-bottom:.15rem;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1}.match-card-active .status,.match-card-completed .status{margin:.15rem 0}.match-room-active{grid-template-columns:1fr;align-items:start;gap:.65rem}.match-room-completed{grid-template-columns:1fr;gap:.65rem}.match-room-completed>.match-scoreboard{display:none}.match-meta,.player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.match-meta>div,.player-card{background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;padding:1rem}.match-meta span,.player-card span{color:#94a3b8;margin-bottom:.35rem;font-size:.9rem;font-weight:700;display:block}.match-meta strong,.player-card strong{overflow-wrap:anywhere;color:#f8fafc;text-transform:capitalize;font-size:1.25rem;display:block}.player-card p{margin:.35rem 0 0}.player-card.is-current-player{border-color:#facc15}.match-scoreboard{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;width:min(100%,44rem);margin:0 auto;display:grid}.score-player{text-align:center;background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;padding:.55rem .7rem}.score-player.is-current-player{border-color:#facc15}.score-player span{color:#94a3b8;text-transform:uppercase;font-size:.7rem;font-weight:800;display:block}.score-player strong{overflow-wrap:anywhere;color:#f8fafc;font-size:clamp(.95rem,2vw,1.2rem);line-height:1.1;display:block}.score-player p{color:#d1d5db;margin:.15rem 0 0;font-size:.78rem}.scoreline{place-items:center;min-width:5.5rem;display:grid}.scoreline strong{color:#facc15;white-space:nowrap;font-size:clamp(1.75rem,4vw,2.8rem);line-height:1}.fight-round-tabs{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.35rem;width:100%;min-width:0;display:grid}.fight-round-tabs button{white-space:nowrap;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:.3rem;min-width:0;display:grid}.fight-round-tabs span{background:#11182738;border-radius:999px;place-items:center;width:1.25rem;height:1.25rem;font-size:.8rem;display:grid}.fight-round-tabs strong{font-size:.95rem}.fight-round-tabs em{color:inherit;text-transform:uppercase;font-size:.72rem;font-style:normal;font-weight:900}.match-room-active .fight-round-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;width:min(100%,30rem);margin:0 auto}.match-room-active .fight-round-tabs button{color:#d1d5db;background:#374151;min-height:2rem;padding:.4rem .5rem}.fight-round-tabs button.active{color:#111827;background:#facc15}.match-timer{background:#0f172a;border:1px solid #334155;border-radius:8px;justify-items:center;gap:.25rem;width:min(100%,22rem);margin:0 auto;padding:.85rem;display:grid}.match-timer p{margin:0}.match-room-active .match-timer{text-align:center;justify-items:center;width:min(100%,18rem);padding:.75rem .9rem}.match-countdown{color:#facc15;font-size:clamp(2.75rem,7vw,4.75rem);line-height:.9}.match-timer span{color:#f8fafc;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:900;line-height:1;display:block}.match-timer p{color:#d1d5db;text-align:center;font-size:.9rem;font-weight:800}.round-review{background:#111827;border:1px solid #facc15;border-radius:8px;gap:.35rem;width:min(100%,34rem);margin:0 auto;padding:1rem;display:grid}.round-review span{color:#94a3b8;font-size:.9rem;font-weight:800}.round-review strong{color:#facc15;font-size:clamp(1.25rem,4vw,1.75rem)}.round-review p{color:#d1d5db;margin:0}.match-room-active .round-review{align-content:center;width:min(100%,48rem);min-height:18rem;padding:1rem}.round-review-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0;display:grid}.round-review-answers article{background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;padding:1rem}.round-review-answers article:first-child{border-color:#facc15}.round-review-answers article span{color:#94a3b8;font-size:.8rem;font-weight:800;display:block}.round-review-answers article strong{overflow-wrap:anywhere;color:#f8fafc;margin-top:.25rem;font-size:clamp(1.5rem,4vw,2.5rem);display:block}.round-review-answers article small,.round-history-answers small{color:#94a3b8;overflow-wrap:anywhere;margin-top:.25rem;font-weight:800;display:block}.round-review-answers article p{margin-top:.35rem}.fight-summary{text-align:center;background:#111827;border:1px solid #facc15;border-radius:8px;justify-items:center;gap:1rem;padding:1.25rem;display:grid}.fight-summary>span,.round-history h2{color:#94a3b8;text-transform:uppercase;margin:0;font-size:.95rem;font-weight:800}.fight-summary>strong{color:#facc15;font-size:clamp(2rem,6vw,3.5rem);line-height:1}.final-score{justify-items:center;gap:.15rem;display:grid}.final-score span{color:#94a3b8;text-transform:uppercase;font-size:.78rem;font-weight:900}.final-score strong{color:#f8fafc;font-size:clamp(2.5rem,8vw,4.25rem);line-height:.95}.fight-scorecards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;display:grid}.fight-scorecards article{background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;padding:.9rem}.fight-scorecards span,.round-history-heading span,.round-history-answers span{color:#94a3b8;font-weight:800;display:block}.fight-scorecards strong{color:#f8fafc;margin-top:.35rem;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1;display:block}.fight-scorecards p,.round-target,.round-history-answers p{color:#d1d5db;margin:.25rem 0 0}.fight-scorecards b{color:#facc15}.fight-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;width:min(100%,20rem);display:flex}.fight-actions button{width:100%}.round-history{text-align:left;gap:.5rem;display:grid}.match-room-completed .round-history{grid-template-columns:repeat(4,minmax(0,1fr))}.match-room-completed .round-history h2{grid-column:1/-1}.round-history-row{background:#111827;border-radius:8px;gap:.45rem;padding:.65rem;display:grid}.match-room-completed .fight-summary,.match-room-completed .round-history-row,.match-room-completed .fight-scorecards article,.match-room-completed .round-history-answers>div,.match-room-completed .match-meta>div,.match-room-completed .player-card{padding:.65rem .75rem}.match-room-completed .fight-summary{gap:.75rem}.match-room-completed .fight-summary>strong{font-size:clamp(2rem,5vw,3rem)}.match-room-completed .fight-scorecards,.match-room-completed .round-history-answers{gap:.4rem}.match-room-completed .fight-scorecards strong{font-size:clamp(1.35rem,3vw,2rem)}.match-room-completed .round-history-row{gap:.4rem}.round-history-heading{gap:.15rem;display:grid}.round-history-heading strong{color:#facc15}.round-history-answers{gap:.4rem;display:grid}.round-history-answers>div{background:#0f172a;border:1px solid #334155;border-radius:8px;min-width:0;padding:.55rem}.round-history-answers strong{color:#f8fafc;overflow-wrap:anywhere;margin-top:.25rem;font-size:.95rem;display:block}.match-numbers-round{gap:1rem;display:grid}.match-room-active .letter-section{margin-top:0}.match-room-active .letter-section h2{margin-bottom:.45rem}.match-room-active .letters{--tile-size:clamp(3.1rem, 6vw, 4.25rem);gap:.55rem;max-width:52rem;margin:0 auto}.match-room-active .letter{font-size:clamp(1.55rem,3vw,2.15rem)}.match-room-active .numbers{--tile-size:clamp(4.1rem, 8vw, 5.75rem);gap:.45rem;max-width:54rem;margin:0 auto}.match-room-active .target{margin:0}.match-room-active .target strong{font-size:clamp(2.6rem,6vw,4.25rem)}.match-room-active .operators{margin-top:.5rem}.match-room-active .current-word{margin:.45rem 0}.match-submit{justify-items:stretch;gap:.75rem;width:min(100%,28rem);margin:0 auto;display:grid}.match-submit label{color:#e2e8f0;font-weight:800}.match-room-active .match-submit{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem;width:min(100%,22rem)}.submission-list{gap:.5rem;display:grid}.submission-row{background:#111827;border-radius:.375rem;grid-template-columns:minmax(7rem,1.2fr) minmax(7rem,1fr) minmax(5rem,.8fr) minmax(5rem,.8fr);align-items:center;gap:.75rem;padding:.85rem;display:grid}.submission-row span{color:#d1d5db;overflow-wrap:anywhere;min-width:0}.match-help{color:#d1d5db;font-size:.82rem}.match-card-active>button{margin-top:.65rem;padding:.55rem .8rem}@media (width<=900px){.match-card-active,.match-card-completed{max-height:none}.match-room-active,.match-room-completed{grid-template-columns:1fr}.match-room-completed .round-history{grid-template-columns:repeat(2,minmax(0,1fr))}.match-room-completed>.match-scoreboard,.match-room-completed>.fight-summary,.match-room-completed>.round-history{grid-area:auto/1}.match-meta,.player-list,.fight-scorecards,.round-history-answers{grid-template-columns:1fr}.match-scoreboard{width:100%}.submission-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.letters{grid-template-columns:repeat(3, var(--tile-size))}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-highlights{grid-template-columns:1fr}.top-nav{flex-wrap:wrap}.nav-spacer{display:none}.match-row{grid-template-columns:1fr}.match-detail-link{justify-self:start}.fight-round-tabs,.match-scoreboard,.round-review-answers{grid-template-columns:1fr}.scoreline{order:-1}.submission-row{grid-template-columns:1fr}}
