:root{--page: #edeef0;--surface: #fff;--ink: #2b2c2d;--muted: #62676c;--red: #d00;--header: #292a2b;--border: #dcdddf;--blue: #0665be;color:var(--ink);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,Roboto,Arial,Helvetica Neue,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.shell{padding-bottom:40px}.masthead{display:flex;align-items:center;gap:22px;min-height:64px;padding:0 max(20px,calc((100vw - 1160px)/2));background:var(--header);color:#fff}.wordmark{flex-shrink:0;align-self:stretch;display:flex;align-items:center;max-width:min(480px,calc(100vw - 90px));min-height:64px;padding:10px 28px 10px 16px;overflow:hidden;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:900;font-style:italic;letter-spacing:-.5px;clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}.season-mark{display:inline-flex;align-items:center;height:64px}.season-mark img{height:64px;width:auto;display:block}nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:14px;font-weight:600}nav a{color:#fff;text-decoration:none;padding:22px 0}nav a:hover{box-shadow:inset 0 -3px var(--red)}.text-button{border:0;padding:0;color:#c7c8c9;background:transparent;font-size:12px}.page{max-width:1160px;padding:30px 20px 0;margin:auto}h1,h2,p{margin-top:0}h1{font-size:clamp(24px,3vw,32px);line-height:1.15;letter-spacing:-.6px;font-weight:800;margin-bottom:12px;color:#151617}h2{font-size:19px;line-height:1.25;font-weight:700;margin-bottom:16px}p{line-height:1.5}.eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}.subhead,.week-intro>div>p{color:var(--muted);font-size:13px}.week-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;background:#fff;border-radius:10px;padding:24px;border-top:4px solid var(--red)}.weekly-controls{position:sticky;top:8px;z-index:20;box-shadow:0 4px 16px #20212422}.entry-page{display:grid;grid-template-columns:minmax(0,1fr) 234px;align-items:start}.entry-page>:not(.entry-intro,.entry-save-panel){grid-column:1 / -1}.entry-intro{grid-column:1;grid-row:1;position:sticky;top:8px;z-index:20;margin-bottom:14px;border-radius:10px 0 0 10px;box-shadow:0 4px 16px #20212422}.save-panel.entry-save-panel{grid-column:2;grid-row:1;position:sticky;top:8px;z-index:20;align-self:stretch;align-content:center;margin-bottom:14px;padding:24px;border-top:4px solid var(--red);border-left:0;border-radius:0 10px 10px 0;background:#fff;box-shadow:0 4px 16px #20212422}.week-intro p:last-child{margin-bottom:0}.week-navigation{display:flex;align-items:center;gap:12px}.week-navigation h1{margin:0}.week-navigation .secondary{margin:0;white-space:nowrap;min-height:34px;padding:7px 11px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;border:1px solid #c8c9cc;border-radius:8px;background:#fff;color:var(--red);padding:0;margin:0;cursor:pointer;flex-shrink:0}.icon-button:hover:not(:disabled){background:#f0f1f2}.icon-button:disabled{opacity:.35;cursor:default}.week-navigation .week-select{min-height:34px;border:1px solid #c8c9cc;border-radius:6px;padding:5px 8px;background:#fff;color:var(--ink);font-size:13px;font-weight:700}.save-panel{min-width:210px;display:grid;gap:5px;border-left:1px solid var(--border);padding-left:24px}.save-panel strong{font-size:16px}.save-panel span{color:var(--muted);font-size:12px}.pick-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.preset-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.preset-buttons>span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.preset-buttons button,.line-toggle{min-height:30px;border:1px solid #c8c9cc;border-radius:4px;padding:5px 9px;color:var(--ink);background:#fff;font-size:12px;font-weight:700}.preset-buttons button:hover,.line-toggle:hover{background:#f0f1f2}.line-toggle[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:#f0f6ff}.primary,.secondary{border:0;border-radius:20px;font-size:13px;font-weight:700;padding:11px 18px;margin-top:8px;min-height:40px}.primary{background:var(--red);color:#fff}.primary:hover:not(:disabled){background:#b90000}.secondary{border:1px solid #c8c9cc;background:#fff;color:var(--ink)}.secondary:hover:not(:disabled){background:#f0f1f2}.source-bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:6px 4px 16px}.source-bar a{font-weight:700}.banner{background:#fff8e5;border-left:3px solid #be8818;border-radius:4px;color:#68501a;font-size:13px;padding:13px 16px;margin-bottom:18px}.banner.error,.form-error{background:#fff0f0;border-color:var(--red);color:#a50000}.form-error{padding:10px;margin:0;font-size:13px}.day-section{border-radius:10px;background:#fff;padding:20px;margin-bottom:16px}.day-section>h2{border-bottom:1px solid #bdbfc2;padding-bottom:14px;margin-bottom:0}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.game-card{min-width:0;border-bottom:1px solid var(--border);padding:15px 0}.game-card.locked{background:#f7f7f7;box-shadow:inset 3px 0 #d3d5d8;padding-left:10px;padding-right:10px}.game-card.locked .pick{background:#f2f3f4}.game-card.locked .pick.selected{border-color:#a4a7aa;background:#e5e6e8;box-shadow:inset 3px 0 #85898d}.game-card.locked .pick.selected>strong{background:#85898d}.game-meta,.game-footer{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.game-meta{margin-bottom:10px}.game-meta>span:first-child{color:var(--blue)}.column-labels,.pick{display:grid;grid-template-columns:minmax(0,1fr) 60px 60px;column-gap:4px;align-items:center}.column-labels.pool-only,.pick.pool-only{grid-template-columns:minmax(0,1fr) 60px}.column-labels{color:var(--muted);font-size:10px;margin-bottom:4px;padding:0 8px}.column-labels span:not(:first-child){text-align:center}.teams{display:grid;gap:4px}.pick{width:100%;min-height:54px;text-align:left;padding:6px 8px;border:1px solid transparent;border-radius:4px;color:var(--ink);background:#fff}.pick:hover:not(:disabled){border-color:#bfc1c4;background:#f6f7f8}.pick.selected{border-color:var(--red);background:#fff3f3;box-shadow:inset 3px 0 var(--red)}.pick:disabled{opacity:1}.team-name{font-weight:600;font-size:14px;line-height:1.3}.team-name small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}.market-spread,.pick>strong{text-align:center;padding:12px 2px;background:#f4f4f4;border-radius:3px;color:var(--blue);font-size:13px;font-variant-numeric:tabular-nums}.pick>strong{color:var(--ink);background:#eceef0}.pick.selected>strong{color:#fff;background:var(--red)}.game-footer{margin-top:10px;min-height:14px}.grade{text-transform:uppercase;font-weight:700}.grade.win{color:#14753e}.grade.loss{color:#b40000}.grade.push{color:#896013}.line-timestamp{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:8px}.game-details{display:flex;flex-wrap:wrap;gap:5px 12px;padding-top:9px;color:var(--muted);font-size:11px;line-height:1.35}.game-details a{color:var(--blue);font-weight:600}.table-wrap{overflow-x:auto;background:#fff;border-radius:10px}table{border-collapse:collapse;width:100%;min-width:550px}th,td{padding:15px 18px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}th{color:var(--muted);font-size:11px;text-transform:uppercase;background:#fafafa}tbody tr:last-child td{border-bottom:0}.auth-page,.centered{min-height:70vh;display:grid;place-items:center;padding:24px}.auth-page{min-height:100vh}.auth-card{width:min(100%,440px);background:#fff;border-radius:10px;border-top:5px solid var(--red);padding:36px;box-shadow:0 2px 10px #0000000a}.auth-card h1{font-size:30px}.auth-card>p:not(.eyebrow){color:var(--muted);font-size:14px}form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--ink);font-size:13px;font-weight:600}input{width:100%;padding:11px 12px;border:1px solid #bfc2c6;border-radius:4px;background:#fff;color:var(--ink)}input:focus{outline:2px solid var(--blue);outline-offset:1px}.auth-card small{display:block;margin-top:24px;color:var(--muted);font-size:12px;line-height:1.5}.auth-card .primary{width:100%}.admin-grid,.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{background:#fff;border-radius:10px;padding:24px;margin-bottom:16px}.panel p{color:var(--muted);font-size:13px}.panel .secondary{display:block;width:100%}.invite-link{margin-top:18px;padding:14px;background:#f5f6f7;border-radius:4px}.invite-link input{margin:8px 0;font-size:12px}.invite-link small{color:var(--muted);font-size:11px}.score-form{border:1px solid var(--border);border-radius:4px;padding:14px;gap:8px}.score-form>strong{font-size:13px}.score-form .secondary{margin:2px 0 0}.job-list{max-height:250px;overflow:auto}.job-list p{border-bottom:1px solid var(--border);padding:8px 0;font-size:12px;margin-bottom:0;overflow-wrap:anywhere}.empty{padding:30px;background:#fff;border-radius:10px}.operation-result{padding:10px;background:#f0f6ff;border-radius:4px}.account-page{max-width:600px}.account-form{display:grid;gap:14px}.account-form small{color:var(--muted);font-weight:400}.commissioner-tabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.tab{border:1px solid var(--border);border-radius:4px;padding:8px 16px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}.tab:hover{background:#f0f1f2}.tab.active{background:var(--header);color:#fff;border-color:var(--header)}.standings-select{display:flex;align-items:center;gap:6px;margin-bottom:20px}.standings-select label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.standings-select select{min-height:36px;border:1px solid #c8c9cc;border-radius:6px;padding:6px 10px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}.history-section{margin-top:30px}.history-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.history-heading h2{margin-bottom:4px}.history-heading .standings-select{margin-bottom:12px}.user-name-cell{font-weight:600}.inline-edit{display:flex;gap:6px;align-items:center}.inline-edit input{max-width:180px}.row-actions{display:flex;gap:8px}.text-button.danger{color:var(--red)}.paid-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px}.paid-toggle input{width:auto}.paid-toggle span{font-size:12px}.picks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.picks-view-toggle{display:flex;gap:4px;margin:0 0 16px}.week-intro .picks-view-toggle{margin:0}.picks-matrix-wrap{border:1px solid var(--border)}.picks-matrix{min-width:max-content}.picks-matrix th,.picks-matrix td{min-width:106px;padding:8px;text-align:center;vertical-align:middle}.picks-matrix thead th{position:sticky;top:8px;z-index:2}.picks-matrix thead th:first-child,.picks-matrix tbody th{position:sticky;left:0;z-index:3;min-width:184px;text-align:left;background:#fff}.picks-matrix thead th:first-child{z-index:4;background:#fafafa}.picks-matrix thead th>span,.picks-matrix thead th>small{display:block}.picks-matrix thead small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:600}.matrix-user{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:center;font-size:13px}.matrix-user>strong{grid-row:span 2;color:var(--muted)}.matrix-user>small{grid-column:2;color:var(--muted);font-weight:400}.picks-matrix tr.current-user>th,.picks-matrix tr.current-user>td{background:#eef8fb}.matrix-pick,.matrix-hidden,.matrix-empty{display:grid;min-height:52px;align-content:center;gap:3px;border-radius:6px;font-size:12px}.matrix-pick{background:#f4f4f4}.matrix-pick small{color:var(--muted);font-size:11px}.matrix-pick.win{background:#e9f6ee;color:#116638}.matrix-pick.loss{background:#fff0f0;color:#a50000}.matrix-pick.push{background:#fff8e5;color:#74550e}.matrix-hidden,.matrix-empty{border:1px solid #e3e4e6;color:var(--muted);font-size:11px}.picks-game{padding:16px!important;margin-bottom:0!important}.picks-game.locked{background:#f7f7f7;border:1px solid #e1e2e4}.picks-game-header{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;margin-bottom:10px}.picks-game-header span{color:var(--muted);font-size:11px}.picks-list{display:flex;flex-wrap:wrap;gap:6px 12px}.pick-badge{font-size:12px;background:#f4f4f4;padding:4px 8px;border-radius:4px}.pick-badge strong{color:var(--blue)}.pick-badge small{font-weight:800;margin-left:6px}.pick-badge.win{background:#e9f6ee;color:#116638}.pick-badge.win strong{color:#116638}.pick-badge.loss{background:#fff0f0;color:#a50000}.pick-badge.loss strong{color:#a50000}.pick-badge.push{background:#fff8e5;color:#74550e}.pick-badge.push strong{color:#74550e}.picks-empty{color:var(--muted);font-size:12px;margin:0}@media(max-width:800px){.masthead{flex-wrap:wrap;gap:0 14px;padding:0 16px}.masthead nav{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;gap:0 14px;border-top:1px solid #444}.masthead nav a{padding:13px 0;font-size:13px}.page{padding:16px 12px 0}.history-heading{align-items:stretch;flex-direction:column;gap:8px}.entry-page{display:block}.entry-intro{position:static;margin-bottom:0;border-radius:10px 10px 0 0;box-shadow:none}.save-panel.entry-save-panel{position:sticky;top:8px;z-index:20;min-height:0;margin-bottom:14px;padding:14px 20px;border-top:1px solid var(--border);border-left:0;border-radius:0 0 10px 10px;box-shadow:0 4px 16px #20212422}.week-intro{display:grid;padding:20px;gap:16px}.week-navigation{align-items:flex-start;flex-wrap:wrap}.week-navigation h1{width:100%;order:-1}.save-panel{min-width:0}.games,.admin-grid,.score-grid,.picks-grid{grid-template-columns:1fr}.picks-matrix thead th{top:8px}.picks-matrix th,.picks-matrix td{min-width:92px}.picks-matrix thead th:first-child,.picks-matrix tbody th{min-width:156px}.day-section{padding:16px}.auth-card{padding:28px 24px}.column-labels,.pick{grid-template-columns:minmax(0,1fr) 48px 48px}.team-name{font-size:13px}.game-meta{flex-wrap:wrap;gap:4px}.source-bar{line-height:1.5}}
