:root{--bg:#f3edff;--white:#fff;--purple:#7b52cc;--purple-pale:#e8dcff;--green:#39ff14;--green-pale:#d4ffc7;--pink:#ff6b9d;--yellow:#ffd166;--yellow-pale:#fff4d6;--red:#ff4757;--text:#1a1028;--muted:#5d4880;--win:#00c87a;--shadow:4px 4px 0 0 #1a1028;--shadow-sm:3px 3px 0 0 #1a1028}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 5%,#fff 0%,var(--bg) 55%);color:var(--text);min-height:100vh;margin:0;font:500 16px/1.5 Inter,sans-serif}h1,h2,h3,button,.chip{font-family:Fredoka,sans-serif}a{color:var(--purple);font-weight:700;text-decoration:none}button,.card{border:2px solid var(--text);box-shadow:var(--shadow);background:#fff;border-radius:16px}.card{margin-bottom:20px;padding:22px;transition:all .1s}.card:hover{box-shadow:var(--shadow-sm);transform:translate(2px,2px)}button{cursor:pointer;background:var(--green);border-radius:12px;min-height:44px;padding:10px 18px;font-size:16px;font-weight:700}button:hover:not(:disabled){box-shadow:none;transform:translate(4px,4px)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#fff}input,select{border:2px solid var(--text);min-height:44px;font:inherit;border-radius:12px;width:100%;padding:9px 12px}input[type=checkbox],input[type=radio]{width:22px;min-height:22px}label{gap:6px;font-weight:700;display:grid}form{gap:16px;display:grid}.auth{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card,.form-card{width:min(500px,100%);margin:auto}.brand{align-items:center;gap:10px;font:700 24px Fredoka;display:flex}.brand img{object-fit:contain;width:48px;height:48px}.login-card header{justify-content:center}.login-card [data-testid=link-sent]{text-align:center}.login-card [data-testid=link-sent] img{width:100px}.error,.negative{color:var(--red)}.positive{color:var(--win)}nav{z-index:10;border:2px solid var(--text);width:min(1180px,100% - 24px);box-shadow:var(--shadow);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;margin:12px auto;padding:10px 18px;display:flex;position:sticky;top:12px}.desktop{align-items:center;gap:24px;display:flex}.bottom{display:none}main{width:min(1120px,100% - 32px);margin:36px auto 100px}.page-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-head h1{margin:.35rem 0}.chip{border:2px solid var(--text);background:var(--purple-pale);border-radius:50px;margin-right:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.chip.ncaaf{background:var(--yellow-pale)}.chip.live{background:var(--pink)}.chip.won,.winner{background:var(--green-pale)}.chip.lost{background:#ffe0e3}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.contest-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contest-card{color:var(--text);display:block}.invite code{margin:12px 0;display:block;overflow:hidden}.empty{text-align:center;padding:30px}.empty img{max-width:150px}.chips,.actions,.toolbar{gap:14px;display:flex}.chips .selected{background:var(--green)}.tabs{gap:10px;margin:20px 0;display:flex}.tabs button{background:#fff}.game-row{grid-template-columns:1fr 2fr;align-items:center;gap:20px;display:grid}.pick-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.pick-grid button{padding:8px}.overlay{z-index:30;background:#1a102866;place-items:center;display:grid;position:fixed;inset:0}.pick-slip{width:min(430px,100% - 24px);position:relative}.pick-slip label{align-items:center;margin:12px 0;display:flex}.close{background:#fff;width:44px;padding:0;position:absolute;top:14px;right:14px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px}th,td{text-align:left;border-bottom:2px solid var(--purple-pale);padding:12px}[data-testid=winner-badge] img{vertical-align:middle;width:45px}.board-row{grid-template-columns:2fr 1fr 1fr;align-items:center;gap:16px;display:grid}.board-row label{align-items:center;display:flex}.warning{background:var(--yellow-pale);border:2px solid var(--text);padding:8px}.toast{border:2px solid var(--text);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:12px 20px;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}.loading{place-items:center;min-height:100vh;font:700 24px Fredoka;display:grid}@media (width<=1024px){.contest-grid,.dashboard-grid{grid-template-columns:1fr}}@media (width<=640px){.desktop{display:none}.bottom{z-index:20;border-top:2px solid var(--text);background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom a{place-items:center;min-height:52px;display:grid}.page-head{align-items:flex-start;gap:12px}.page-head h1{font-size:28px}.game-row{grid-template-columns:1fr}.pick-grid{grid-template-columns:1fr 1fr}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.overlay{align-items:end}.pick-slip{border-radius:18px 18px 0 0;width:100%;margin:0}.board-row{grid-template-columns:1fr 1fr}.board-row label{grid-column:1/-1}.toolbar,.actions{flex-wrap:wrap}main{width:min(100% - 24px,1120px);margin-top:24px}nav{top:4px}.brand img{width:36px;height:36px}}
