:root{--ink:#f0f1e9;--muted:#989f98;--bg:#101612;--panel:#19211b;--panel2:#202a23;--line:#344037;--lime:#c6ee78;--lime2:#d9f4a5;--orange:#ef9e65;--red:#e37670;--radius:16px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 88% -5%,#29372c 0,transparent 36%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.wordmark{font-family:'Space Grotesk',sans-serif}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.loading{padding:4rem;text-align:center;color:var(--muted)}.shell{max-width:1260px;margin:auto;padding:30px 34px 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:42px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--lime);color:#172016;font-size:18px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.7px;text-transform:uppercase}.userbar{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.user-dot{width:30px;height:30px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:50%;color:var(--lime);font-weight:700}.link-button,.quiet-button{background:none;border:0;color:var(--muted);padding:8px}.link-button:hover{color:var(--ink)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--lime);font-weight:700;margin-bottom:11px}.hero h1{font-size:clamp(32px,5vw,48px);letter-spacing:-2px;margin-bottom:8px}.hero p{color:var(--muted);margin-bottom:0}.tabs{display:flex;background:#171e19;border:1px solid var(--line);padding:4px;border-radius:12px;gap:3px;flex-shrink:0}.tabs button{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:700}.tabs button.active{background:var(--lime);color:#1a231b}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:35px 0 15px}.section-head h2{font-size:20px;margin:0;letter-spacing:-.6px}.section-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.week-select{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:9px 12px;border-radius:9px}.grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.85fr);gap:18px;align-items:start}.stack{display:grid;gap:12px}.card{background:linear-gradient(145deg,#1c251e,#171e19);border:1px solid #303b33;border-radius:var(--radius);padding:20px}.game-card{padding:0;overflow:hidden}.game-meta{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid #2d382f;color:var(--muted);font-size:11px;letter-spacing:.3px}.kickoff{display:flex;align-items:center;gap:7px}.live-dot{width:6px;height:6px;background:var(--lime);border-radius:50%}.matchup{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:8px;padding:17px 17px 12px}.team-pick{border:1px solid transparent;color:var(--ink);background:transparent;border-radius:12px;min-height:84px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:.15s}.team-pick:hover:not(:disabled){background:#263129;border-color:#465448}.team-pick.selected{background:#28351f;border-color:#8cae56;box-shadow:inset 0 0 0 1px #8cae5630}.team-pick:disabled{cursor:default;opacity:.8}.team-logo{height:44px;width:44px;object-fit:contain}.team-name{font-size:12px;font-weight:700;text-align:center}.team-city{font-size:10px;color:var(--muted)}.vs{color:#68746a;text-transform:uppercase;font-size:10px;letter-spacing:1px;text-align:center}.pick-footer{height:34px;text-align:center;color:var(--muted);font-size:11px}.picked-note{color:var(--lime)}.scoreline{display:flex;justify-content:center;gap:10px;font-size:11px;color:var(--muted);padding:0 10px 12px}.scoreline strong{color:var(--ink)}.empty{padding:38px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;font-family:'Space Grotesk';color:var(--ink);font-size:16px;margin-bottom:7px}.side-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.side-title h3{font-size:16px;margin:0}.side-title span{color:var(--muted);font-size:11px}.stand-row{display:grid;grid-template-columns:27px 1fr auto;gap:10px;align-items:center;border-top:1px solid #2c372f;padding:12px 0}.stand-row:first-of-type{border-top:0}.rank{font-family:'Space Grotesk';font-weight:700;color:#809080;font-size:12px}.stand-row:first-of-type .rank{color:var(--lime)}.stand-name{font-size:13px;font-weight:600}.stand-meta{font-size:10px;color:var(--muted);margin-top:3px}.points{font-family:'Space Grotesk';font-weight:700;font-size:14px}.points small{display:block;text-align:right;color:var(--muted);font:10px 'DM Sans'}.callout{color:var(--muted);font-size:12px;line-height:1.55;padding:13px 15px;background:#202a23;border-radius:11px;margin-top:14px}.admin-panel{margin-top:24px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.admin-box h3{font-size:15px;margin-bottom:5px}.admin-box p{font-size:11px;color:var(--muted);margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-grid .wide{grid-column:1/-1}.field{display:grid;gap:6px;font-size:11px;color:var(--muted)}.field input,.field select,.search-input{width:100%;background:#111813;border:1px solid #39463c;color:var(--ink);padding:10px 11px;border-radius:9px}.primary{background:var(--lime);color:#1a241a;border:0;border-radius:9px;padding:11px 14px;font-size:12px;font-weight:700}.primary:hover{background:var(--lime2)}.secondary{background:#29342b;color:var(--ink);border:1px solid #435244;border-radius:8px;padding:8px 11px;font-weight:600;font-size:11px}.secondary:hover{border-color:#8cae56}.form-grid .primary{grid-column:1/-1}.schedule-list{display:grid;gap:8px;max-height:250px;overflow:auto;margin-top:15px}.schedule-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-top:1px solid #344037;padding-top:9px;font-size:11px}.schedule-row select{background:#111813;color:var(--ink);border:1px solid #39463c;border-radius:7px;padding:6px}.invite-result{padding:12px 10px;margin-top:10px;background:#26351e;color:var(--lime);border-radius:8px;overflow-wrap:anywhere;font-size:13px}.poll-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:start}.poll-tools{display:flex;gap:9px;align-items:center;margin:13px 0}.poll-tools .search-input{flex:1}.roster{max-height:260px;overflow:auto;display:flex;flex-wrap:wrap;gap:6px}.team-chip{background:#222d25;border:1px solid #37443a;border-radius:999px;padding:7px 10px;color:#d5ded3;font-size:11px}.team-chip:hover:not(:disabled){border-color:var(--lime);color:var(--lime)}.team-chip:disabled{opacity:.35}.ballot-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px 9px;border-top:1px solid #303c32;font-size:12px}.ballot-row:first-child{border-top:0}.ballot-rank{font-family:'Space Grotesk';color:var(--lime);font-weight:700}.row-actions{display:flex;gap:3px}.row-actions button{background:#263129;border:1px solid #39473c;border-radius:6px;color:var(--muted);width:25px;height:25px}.row-actions button:hover{color:var(--lime)}.ballot-scroll{max-height:545px;overflow:auto}.poll-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.poll-submit .primary:disabled{opacity:.45;cursor:not-allowed}.result-row{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;padding:11px 0;border-top:1px solid #2e3931}.result-row:first-child{border-top:0}.result-rank{font-family:'Space Grotesk';color:var(--lime);font-size:13px;font-weight:700}.result-team{font-size:12px;font-weight:600}.result-votes{font-size:10px;color:var(--muted);text-align:right}.bar{height:4px;background:#2d382f;border-radius:8px;margin-top:6px;overflow:hidden}.bar i{display:block;background:#a9d763;height:100%;border-radius:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(100%,420px);background:#1b241d;border:1px solid #364238;padding:34px;border-radius:20px;box-shadow:0 24px 80px #0005}.login-card .brand{margin-bottom:34px}.login-card h1{font-size:27px;letter-spacing:-1px;margin-bottom:6px}.login-card p{font-size:13px;color:var(--muted);line-height:1.55}.login-form{display:grid;gap:13px;margin-top:20px}.login-form .primary{margin-top:4px}.notice{color:#f1aaa3;font-size:12px;min-height:17px}.helper{font-size:11px;color:var(--muted);margin-top:16px}.muted{color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;background:#d6f0a1;color:#1a251a;padding:12px 15px;border-radius:10px;box-shadow:0 12px 35px #0005;font-size:12px;font-weight:700;z-index:10;animation:fade 2.5s forwards}@keyframes fade{0%,75%{opacity:1}100%{opacity:0}}@media(max-width:850px){.grid,.poll-grid{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.tabs{width:100%}.tabs button{flex:1}.shell{padding:22px 18px 55px}.topbar{margin-bottom:32px}.admin-grid{grid-template-columns:1fr}}@media(max-width:440px){.shell{padding-inline:12px}.card{padding:15px}.game-card{padding:0}.matchup{padding-inline:8px}.team-pick{padding:6px 2px}.team-logo{width:36px;height:36px}.team-name{font-size:11px}.section-head h2{font-size:17px}.tabs button{padding:10px 5px;font-size:12px}.userbar{gap:7px}.user-name{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
