:root{--bg: #f7f9f8;--surface: #ffffff;--surface-2: #eef4f1;--ink: #14213d;--muted: #68727f;--line: #dde5e2;--green: #07583e;--green-2: #0d7552;--navy: #08265c;--gold: #e3aa10;--red: #b64242;--shadow: 0 12px 28px rgba(12, 34, 45, .08);--radius: 8px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-width:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);-webkit-text-size-adjust:100%}button,input,select{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}@media(display-mode:standalone){.topbar{padding-top:max(0px,env(safe-area-inset-top))}}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--green),var(--navy));font-weight:900;letter-spacing:0}.brand h1{margin:0;font-size:30px;line-height:1;letter-spacing:0}.top-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ghost-button,.primary-button,.danger-button,.mini-button,.pick-button,.tab-button{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;padding:0 14px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:700}.primary-button,.tab-button.active{border-color:var(--green);color:#fff;background:var(--green)}.danger-button{border-color:#ead0d0;color:var(--red)}.mini-button{min-height:32px;padding:0 10px;font-size:13px}.layout{display:grid;grid-template-columns:280px minmax(560px,1fr) 320px;gap:16px;padding:16px}.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.sidebar,.right-rail{padding:14px;align-self:start;position:sticky;top:88px}.section-label{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.week-control{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfc}.week-line{display:flex;align-items:center;gap:8px}.week-line select{flex:1;min-width:0}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-weight:900}.field,select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);padding:0 10px;color:var(--ink);background:var(--surface)}.helper{margin:0;color:var(--muted);font-size:13px}.stack{display:grid;gap:10px}.participant-row{width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:var(--radius);color:var(--ink);background:transparent;text-align:left;cursor:pointer}.participant-row:hover,.participant-row:focus-visible{border-color:var(--line);background:#f7faf9}.participant-row.active{color:#fff;background:linear-gradient(135deg,var(--green),#0c6d4a)}.participant-row.active:hover,.participant-row.active:focus-visible{border-color:var(--green);background:linear-gradient(135deg,var(--green),#0c6d4a)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--navy);font-size:12px;font-weight:900}.participant-row.active .avatar{background:#ffffff2e}.name{display:block;font-size:14px;font-weight:800}.subtle{display:block;color:var(--muted);font-size:12px}.participant-row.active .subtle{color:#ffffffbf}.score{font-weight:900}.manager{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.center-screen,.auth-screen{min-height:100vh;display:grid;place-items:center;padding:18px}.center-screen{gap:14px;align-content:center}.center-screen h1{margin:0;font-size:22px}.auth-card{width:min(460px,100%);padding:22px}.auth-brand{margin-bottom:14px}.auth-form{margin-top:18px}.code-field{min-height:54px;text-align:center;font-size:24px;font-weight:800;letter-spacing:0}.text-button{width:100%;margin-top:12px;border:0;padding:8px;color:var(--green);background:transparent;font-weight:700}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:16px;padding:24px 16px}.setup-card{padding:18px}.setup-card h2{margin:0 0 14px;font-size:20px}.notice{margin:12px 16px;padding:10px 12px;border:1px solid #9fc6ba;border-radius:var(--radius);color:var(--green);background:#f7fcfa;font-size:13px;font-weight:700}.notice.error{border-color:#ead0d0;color:var(--red);background:#fff8f8}.invite-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 16px;padding:10px 12px;border:1px solid #9fc6ba;border-radius:var(--radius);background:#f7fcfa;font-size:13px}.invite-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.auth-card .notice,.setup-card .notice{margin:12px 0}.signed-in-box{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfc}.main-panel{min-width:0;overflow:hidden}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;background:var(--surface);border-bottom:1px solid var(--line)}.tab-button{min-width:0;min-height:48px;font-size:17px;line-height:1.15;white-space:normal}.tab-button:not(.active){background:var(--navy);border-color:var(--navy);color:#fff}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfcfc}.toolbar h2{margin:0;font-size:18px}.toolbar p{margin:3px 0 0;color:var(--muted);font-size:13px}.toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.game-table{width:100%;border-collapse:collapse}.game-table th,.game-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.game-table th{color:var(--muted);background:#f9fbfa;font-size:12px;font-weight:900;letter-spacing:.04em;text-align:left;text-transform:uppercase}.game-table tr:last-child td{border-bottom:0}.matchup{display:grid;gap:5px;min-width:210px}.sport-tag{width:fit-content;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.sport-cfb{color:#7a4d00;background:#fff1c7}.sport-pl{color:#fff;background:var(--navy)}.team-line{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:800}.rank{min-width:26px;color:var(--gold);font-weight:900}.kickoff{color:var(--muted);font-size:13px;white-space:nowrap}.pick-cell{min-width:130px}.pick-pair{display:grid;gap:6px}.pick-button{color:var(--green);border-color:#9fc6ba;background:#f7fcfa}.pick-button.selected{color:#fff;border-color:var(--green);background:var(--green)}.draw-pick:not(.selected){color:#26344d;border-color:#b9c1ce;background:#f7f8fa}.result-correct{color:var(--green);font-weight:900}.result-wrong{color:var(--red);font-weight:900}.result-open{color:var(--muted);font-weight:700}.standings{width:100%;border-collapse:collapse}.standings th,.standings td{padding:9px 7px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.standings th{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.standings tr.leader{color:#fff;background:var(--green)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.stat{padding:12px 10px;border:1px solid var(--line);border-radius:var(--radius);text-align:center}.stat b{display:block;color:var(--green);font-size:24px}.stat span{color:var(--muted);font-size:11px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-grid .wide{grid-column:1 / -1}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#08142573;z-index:30}.modal{width:min(760px,100%);max-height:86vh;overflow:auto;padding:18px}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.modal h2{margin:0;font-size:22px}.modal h3{margin:18px 0 8px;font-size:15px}.history-heading{display:flex;align-items:center;gap:10px}.history-note{margin:0 0 14px;padding:9px 10px;color:var(--muted);background:#f7faf9;font-size:12px}.history-list{display:grid;gap:18px}.history-week{display:grid}.history-week-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.history-week-title h3{margin:0}.history-week-title span{color:var(--muted);font-size:12px}.history-pick{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.history-pick>div:first-child{display:grid;justify-items:start;gap:4px}.history-pick strong{font-size:13px}.history-selection{display:grid;justify-items:end;gap:3px;font-size:13px}.history-selection>span{font-weight:800}.history-selection b{font-size:11px}.empty{padding:36px 18px;color:var(--muted);text-align:center}.json-box{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius);padding:10px;color:var(--ink)}.footer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}@media(max-width:1120px){.layout{grid-template-columns:240px minmax(480px,1fr)}.right-rail{grid-column:1 / -1;position:static}}@media(max-width:820px){body{overflow-x:hidden}.topbar{width:100vw;max-width:100vw;height:auto;align-items:start;flex-direction:column;gap:12px;padding:16px;overflow:hidden}.layout{width:100vw;max-width:100vw;grid-template-columns:1fr;padding:10px;overflow:hidden}.setup-grid{grid-template-columns:1fr;padding:10px}.panel{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.top-actions{width:calc(100vw - 32px);max-width:calc(100vw - 32px);display:grid;grid-template-columns:1fr 1fr;gap:8px}.top-actions button{min-width:0;width:100%;padding:0 8px;font-size:13px}.top-actions button:last-child{grid-column:auto}.top-actions button:nth-child(odd):last-child{grid-column:1 / -1}.sidebar{position:static}.toolbar{align-items:start;flex-direction:column}.toolbar-actions{width:100%;display:grid;grid-template-columns:1fr}.tab-button{padding:0 8px;font-size:14px}.form-grid{grid-template-columns:1fr}.brand h1{font-size:25px}}@media(max-width:640px){.brand{gap:10px}.brand-mark{width:38px;height:38px}.brand h1{font-size:22px}.toolbar h2{font-size:17px}.invite-prompt{align-items:stretch;flex-direction:column}.game-table{display:grid;gap:10px;padding:10px}.game-table thead{display:none}.game-table tbody{display:grid;gap:10px}.game-table tr{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.game-table th,.game-table td{border-bottom:0}.game-table td{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;padding:0}.game-table td:first-child{grid-template-columns:1fr}.game-table td:not(:first-child):before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.matchup{min-width:0}.team-line{justify-content:flex-start;gap:12px}.rank{min-width:22px}.pick-cell{min-width:0}.pick-pair{grid-template-columns:1fr 1fr}.pick-pair.has-draw{grid-template-columns:1fr}.pick-button{min-height:44px;padding:0 8px}.history-pick{grid-template-columns:1fr}.history-selection{grid-template-columns:1fr auto;justify-items:start}}
