:root{--bg: #0f0a1a;--bg2: #1a1230;--card: #241a3d;--accent: #ff2d6a;--accent2: #7c5cff;--mint: #3dffb5;--warn: #ffc857;--text: #f4efff;--muted: #a89bc4;--border: #3a2d5c;--danger: #ff4d6d;font-family:Space Grotesk,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 20% 0%,#2a1548 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,#1a2040 0%,transparent 45%),var(--bg);min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--mint)}.app-shell{max-width:960px;margin:0 auto;padding:1.25rem}.logo{font-weight:700;letter-spacing:-.03em;font-size:1.75rem}.logo span{color:var(--accent)}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.25rem;box-shadow:0 12px 40px #00000059}.grid-2{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr}}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.name-label{font-size:1.45rem;font-weight:700;color:var(--text);margin-bottom:.5rem;letter-spacing:-.02em}input#nick,input#player-nick,input#change-nick{font-size:1.15rem;padding:.95rem 1rem;min-height:52px}input,textarea{width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border);background:var(--bg2);outline:none}input:focus,textarea:focus{border-color:var(--accent2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.1rem;border-radius:12px;border:none;cursor:pointer;font-weight:600;background:var(--accent2);color:#fff;transition:transform .08s ease,filter .15s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),#ff6b9d)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-danger{background:var(--danger)}.btn-mint{background:var(--mint);color:#0a1620}.btn-block{width:100%}.btn-sm{padding:.4rem .65rem;font-size:.8rem;border-radius:8px}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.err{background:#ff4d6d26;border:1px solid var(--danger);color:#ffb3c1;padding:.65rem .85rem;border-radius:10px;font-size:.9rem}.err-loud{font-size:1.1rem;font-weight:700;padding:.9rem 1rem;border-width:2px;animation:err-pop .35s ease}@keyframes err-pop{0%{transform:scale(.98);box-shadow:0 0 #ff4d6d73}60%{transform:scale(1.01);box-shadow:0 0 0 8px #ff4d6d00}to{transform:scale(1)}}.join-hint{background:#3dffb514;border:1px solid rgba(61,255,181,.35);border-radius:12px;padding:.85rem 1rem;font-size:.95rem;line-height:1.45}.join-hint p{margin:0 0 .55rem}.join-hint p:last-child{margin:0}.stage-phone-hint{background:#7c5cff1f;border:1px solid var(--accent2);border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem;font-weight:600}.code-huge{font-family:JetBrains Mono,monospace;font-size:clamp(2.5rem,8vw,4rem);letter-spacing:.25em;font-weight:700;color:var(--mint)}.player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.player-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;background:var(--bg2);border-radius:10px;border:1px solid var(--border)}.badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;background:var(--accent2)}.badge-away{background:var(--warn);color:#1a1200}.badge-host{background:var(--accent)}.qr-wrap{display:flex;justify-content:center;padding:1rem;background:#fff;border-radius:12px;width:fit-content;margin:0 auto}.vote-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.vote-btn{min-height:88px;font-size:1.1rem;font-weight:700;border-radius:14px;border:2px solid transparent;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.vote-grid-touch{gap:.9rem}.vote-grid-touch .vote-btn{min-height:112px;font-size:1.28rem;padding:1.1rem .85rem;border-radius:16px}.vote-btn-label{pointer-events:none}.vote-btn-check{font-size:1.35rem;line-height:1}.vote-btn:nth-child(1){background:#ff2d6a}.vote-btn:nth-child(2){background:#7c5cff}.vote-btn:nth-child(3){background:#00c2ff}.vote-btn:nth-child(4){background:#3dffb5;color:#0a1620}.vote-btn.selected{border-color:#fff;box-shadow:0 0 0 3px #ffffff59}.vote-btn:disabled{opacity:.55}.vote-panel{display:flex;flex-direction:column;gap:.75rem}.tap-hint{margin:0;text-align:center;font-size:1.15rem;font-weight:700;color:var(--warn);letter-spacing:.02em}.vote-confirm{text-align:center;font-size:1.15rem;font-weight:700;color:#0a1620;background:var(--mint);border-radius:12px;padding:.75rem 1rem}.tally-bar{height:28px;background:var(--bg2);border-radius:8px;overflow:hidden;margin-top:.35rem}.tally-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--mint));transition:width .35s ease;display:flex;align-items:center;padding-left:.5rem;font-size:.8rem;font-weight:700;min-width:0}.tally-bars{display:flex;flex-direction:column;gap:.5rem}.tally-row.is-mine strong{color:var(--mint)}.tally-row.is-correct strong{color:var(--warn)}.results-picks .tally-bars{margin-top:.5rem}.timer{font-family:JetBrains Mono,monospace;font-size:2rem;color:var(--warn)}.room-table{width:100%;border-collapse:collapse;font-size:.95rem}.room-table th,.room-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--border)}.room-table th{color:var(--muted);font-weight:500}.stage-prompt{font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700;text-align:center;margin:.5rem 0 1.25rem}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:var(--bg2);border:1px solid var(--border);font-size:.8rem;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--danger)}.dot.on{background:var(--mint)}.option-row{display:flex;gap:.5rem;align-items:flex-end}.option-row>div{flex:1}.option-add{font-size:1.5rem;min-width:3rem;padding:.65rem .75rem;line-height:1}.option-actions{display:flex;gap:.5rem;flex-wrap:wrap}.vote-btn:nth-child(5n+1){background:#ff2d6a}.vote-btn:nth-child(5n+2){background:#7c5cff}.vote-btn:nth-child(5n+3){background:#00c2ff}.vote-btn:nth-child(5n+4){background:#3dffb5;color:#0a1620}.vote-btn:nth-child(5n+5){background:#ffc857;color:#1a1230}.change-name-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.scoreboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.scoreboard-list li{display:grid;grid-template-columns:2rem 1fr auto;gap:.5rem;align-items:center;padding:.45rem .65rem;border-radius:10px;background:#0003;border:1px solid transparent}.scoreboard-list li.scoreboard-me{border-color:var(--mint);background:#3dffb514}.scoreboard-rank{font-family:JetBrains Mono,monospace;color:var(--muted);font-weight:700}.scoreboard-name{font-weight:600}.scoreboard-pts{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--mint);font-size:1.1rem}.scoreboard-stage .scoreboard-pts{font-size:1.5rem}.scoreboard-stage .scoreboard-name{font-size:1.15rem}.past-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.past-item{border:1px solid var(--border);border-radius:12px;padding:.65rem .75rem;background:#00000026}.past-item-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.past-item-prompt{font-weight:600}.grade-panel{border:2px dashed rgba(255,200,87,.45);border-radius:14px;padding:.85rem;background:#ffc8570f}.grade-heading{margin:0;text-align:center;font-size:1.05rem;color:var(--warn)}.grade-grid .grade-btn,.grade-btn{min-height:88px;font-size:1.05rem;font-weight:700;border-radius:14px;border:2px solid rgba(255,200,87,.55);cursor:pointer;color:#1a1230;background:linear-gradient(135deg,#ffc857,#ffe0a3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.85rem .75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.vote-grid-touch .grade-btn{min-height:112px;font-size:1.15rem}.grade-btn-prefix{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.grade-btn.selected{border-color:var(--mint);box-shadow:0 0 0 3px #3dffb559}.grade-submit{font-weight:700}.score-guess-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.score-guess-panel .score-guess-grid input{font-size:1.35rem;text-align:center;min-height:52px}.type-picker{display:flex;flex-wrap:wrap;gap:.4rem}.timer-open{font-size:1rem;color:var(--mint);font-family:inherit;font-weight:700}.vote-breakdown{background:#0003;border-radius:10px;padding:.65rem .75rem;border:1px solid var(--border)}.vote-breakdown-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem}.vote-breakdown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.didnt-vote{font-size:.85rem;color:var(--warn)}textarea{width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border);background:var(--bg2);outline:none;resize:vertical;min-height:64px}textarea:focus{border-color:var(--accent2)}.active-question+.active-question{margin-top:0}.live-score-strip{background:linear-gradient(135deg,#7c5cff40,#3dffb51f);border:1px solid var(--border);border-radius:14px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem}.live-score-strip.compact{padding:.6rem .85rem}.live-score-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem}.live-score-board{font-size:1.25rem;letter-spacing:-.02em}.live-score-drive{font-size:.85rem}.live-score-assist{font-size:.85rem;color:var(--mint)}.nfl-game-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.nfl-game-btn{width:100%;text-align:left;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.nfl-game-btn:hover{border-color:var(--accent2)}.nfl-game-btn.selected{border-color:var(--mint);box-shadow:0 0 0 1px #3dffb559}.nfl-game-title{font-weight:600}.canned-picker{display:flex;flex-direction:column;gap:.4rem}.canned-list{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg2);display:flex;flex-direction:column}.canned-item{text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:.55rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem}.canned-item:last-child{border-bottom:none}.canned-item:hover{background:#7c5cff26}.canned-item-label{font-weight:600;font-size:.95rem}.canned-item-meta{font-size:.75rem}.canned-item-prompt{font-size:.8rem;color:var(--muted)}.live-assist{margin-top:.25rem}.code-invite{font-family:JetBrains Mono,monospace;font-size:clamp(1.2rem,4vw,2rem);letter-spacing:.12em;font-weight:700;color:var(--mint);word-break:break-all;text-align:center}.invite-link{display:flex;gap:.5rem;width:100%;align-items:center}.invite-link input{flex:1;font-family:JetBrains Mono,monospace;font-size:.8rem}.game-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.game-btn{width:100%;text-align:left;display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--bg2);cursor:pointer}.game-btn.selected{border-color:var(--mint);box-shadow:0 0 0 2px #3dffb559}.game-btn-title{font-weight:600}.game-chip{display:inline-flex;gap:.4rem;align-items:center;padding:.35rem .7rem;border-radius:999px;background:var(--bg2);border:1px solid var(--border);font-size:.85rem}.picks-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.badge-standard{background:var(--accent2)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table td,.admin-table th{padding:.4rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.admin-table th{color:var(--muted);font-weight:500}.admin-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.ok-msg{background:#3dffb51f;border:1px solid var(--mint);color:var(--mint);padding:.6rem .85rem;border-radius:10px}select{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;width:100%}.results-hero{align-items:flex-start}.final-score{display:flex;gap:.75rem;align-items:baseline;font-size:1.6rem;flex-wrap:wrap}.final-score strong{font-size:2.2rem}.standings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.standings li{display:flex;justify-content:space-between;padding:.45rem .6rem;border-radius:10px;background:#ffffff0a}.standings li.me{outline:1px solid rgba(94,234,212,.6)}.results-picks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.results-picks li{padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.results-prompt{font-weight:600}.live-count{display:inline-flex;align-items:center;gap:.4rem}.my-games{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.my-games li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:10px;background:#ffffff0a}.my-games .mg-title{font-weight:600}.my-games .mg-meta{font-size:.8rem}.share-panel{margin-top:.75rem}.stake-controls{display:flex;flex-direction:column;gap:.4rem}.stake-quick{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.stake-quick input[type=number]{width:5.5rem;margin:0}.tally-mult{color:var(--mint);font-weight:600}.scoreboard-net{font-size:.8em;font-weight:600}.scoreboard-net.is-up{color:var(--mint)}.scoreboard-net.is-down{color:var(--warn)}.scoreboard-legacy{font-size:.7em;font-weight:400}.settle-up{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.settle-up li{padding:.45rem .6rem;border-radius:10px;background:#ffffff0a}
