:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#f973162e,#0000 35%),linear-gradient(#0f172a 0%,#020617 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{max-width:1100px;margin:0 auto;padding:24px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.hero h1{margin:0 0 12px;font-size:clamp(2.5rem,6vw,4rem)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#fb923c;font-size:.8rem;font-weight:700}.lede,.subtle{color:#94a3b8}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:32px 0;display:grid}.card{background:#0f172ae0;border:1px solid #94a3b82e;border-radius:20px;padding:24px;box-shadow:0 20px 60px #02061759}.card.highlight{border-color:#f9731673}.center-card{text-align:center}.button{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:linear-gradient(135deg,#f97316,#ea580c)}.button:disabled{opacity:.6;cursor:not-allowed}.field{text-align:left;gap:8px;margin:16px 0;display:grid}.field input{color:#fff;background:#020617;border:1px solid #94a3b840;border-radius:10px;padding:10px 12px}.play-grid{grid-template-columns:1.1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.spin-wheel{text-align:center;background:linear-gradient(160deg,#1e293bf2,#0f172af2);border:1px solid #f9731659;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:24px;display:flex}.spin-wheel.spinning{box-shadow:0 0 30px #f9731640}.slot-machine{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin:16px 0;display:grid}.slot-reel-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:8px;font-size:.75rem}.slot-reel-window{background:#020617;border:2px solid #f9731673;border-radius:16px;justify-content:center;align-items:center;min-height:96px;display:flex;overflow:hidden}.slot-value{font-weight:900;transition:filter .1s}.slot-value.team-value{letter-spacing:.08em;font-size:2.8rem}.slot-value.decade-value{color:#fdba74;font-size:1.5rem}.slot-value.blur-scroll{filter:blur(.3px);animation:80ms linear infinite slotTick}.respin-actions{width:100%;margin-top:16px}.respin-note{color:#94a3b8;margin:0 0 10px;font-size:.8rem}.respin-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.respin-button{padding:8px 12px;font-size:.85rem}.spin-caption{color:#cbd5e1;font-size:.95rem}.mode-picker,.solo-links{justify-content:center;gap:12px;margin:16px 0;display:flex}.mode-option{color:#fff;cursor:pointer;background:#020617b3;border:1px solid #94a3b840;border-radius:14px;flex:1;gap:4px;max-width:180px;padding:12px;font-weight:700;display:grid}.mode-option span{color:#94a3b8;font-size:.8rem;font-weight:500}.mode-option.active{background:#f973161f;border-color:#f97316a6}.button.secondary{color:#fff;background:#334155e6}.player-positions{color:#fdba74;margin-top:6px;font-size:.82rem}.blind-meta{font-style:italic}.player-list-section{overflow-anchor:none;gap:12px;display:grid}.draft-pick-section,.play-page,.multiplayer-page{overflow-anchor:none}.slot-player{flex-direction:column;gap:4px;display:flex}.slot-player-meta{color:#94a3b8;font-size:.85rem}.roster-stat-totals{color:#fdba74;background:#f9731614;border:1px solid #f9731633;border-radius:10px;margin:10px 0 14px;padding:10px 12px;font-size:.92rem;font-weight:600}.roster-stat-totals.compact{margin:0 0 10px;font-size:.85rem}.sort-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sort-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-size:.82rem;font-weight:700}.blind-sort-label{margin:0}.sort-options{flex-wrap:wrap;gap:8px;display:flex}.sort-option{color:#fff;cursor:pointer;background:#020617b3;border:1px solid #94a3b840;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700}.sort-option.active{color:#fdba74;background:#f9731626;border-color:#f97316a6}.spin-waiting{text-align:center;margin:12px 0 0}.replay-button{margin-top:18px}.replay-waiting{text-align:center;margin-top:18px}.all-rosters-grid{gap:16px;display:grid}.player-roster-card{background:#02061773;border:1px solid #94a3b833;border-radius:12px;padding:14px}.player-roster-card.highlight{border-color:#f9731673}.player-roster-header{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.results-roster.compact .results-row{padding:6px 0}.standings-row.self-row{color:#fdba74}.waiting-card{margin-top:20px}@keyframes slotTick{0%{transform:translateY(-2px)}50%{transform:translateY(2px)}to{transform:translateY(-2px)}}.player-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.player-card{text-align:left;color:#fff;cursor:pointer;background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;padding:14px}.player-card.selected{border-color:#f97316;box-shadow:0 0 0 1px #f9731666}.player-meta,.player-rating,.slot-player span{color:#94a3b8;font-size:.85rem}.roster-board{gap:10px;display:grid}.roster-slot{background:#020617a6;border:1px solid #94a3b81f;border-radius:14px;grid-template-columns:56px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.slot-label{color:#fdba74;font-weight:800}.slot-action{color:#fdba74;cursor:pointer;background:0 0;border:1px dashed #f9731680;border-radius:10px;padding:10px}.draft-timer{background:#0f172ae6;border:1px solid #94a3b833;border-radius:999px;padding:10px 14px;font-size:1.4rem;font-weight:800}.draft-timer.urgent{color:#fca5a5;border-color:#f8717180}.results-panel{background:#0f172aeb;border:1px solid #22c55e40;border-radius:20px;margin-top:24px;padding:24px}.results-record{font-size:3rem;font-weight:900}.results-row,.standings-row{border-bottom:1px solid #94a3b81f;grid-template-columns:60px 1fr 100px;gap:12px;padding:10px 0;display:grid}.error-text{color:#fca5a5}.back-link{color:#fdba74}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@media (width<=800px){.play-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}}
