:root{--ink:#17233a;--muted:#667085;--paper:#f6f8fc;--line:#dce3ef;--white:#fff;--blue:#1d4ed8;--navy:#152c58;--red:#e44b4b;--green:#168363;--gold:#f6bf40}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.topbar{padding:30px max(24px,calc((100vw - 1180px)/2));background:var(--navy);color:#fff;display:flex;align-items:end;justify-content:space-between}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:700;margin:0 0 3px;color:#bdd2ff}.topbar h1{font-size:2rem;margin:0}.tagline{margin:0;opacity:.8}.tabs{display:flex;gap:6px;padding:12px max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;padding:10px 14px;border-radius:7px;color:var(--muted);font-weight:700}.tab.active{background:#e9f0ff;color:var(--blue)}main{max-width:1180px;margin:0 auto;padding:25px 20px 50px}.grid{display:grid;gap:20px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 1px 2px #17233a0a}.card h2,.card h3{margin:0 0 14px}.card h2{font-size:1.15rem}.muted{color:var(--muted)}.notice{padding:12px 14px;border-radius:8px;background:#fff6d9;color:#715500;margin:12px 0}.notice.error{background:#ffeded;color:#9d1e1e}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 12px;font-weight:650;color:var(--ink)}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.danger{color:#b42318}.button.ghost{background:transparent}.settings{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:14px}.switch{display:flex;align-items:center;gap:7px}.range{display:flex;align-items:center;gap:8px}.range output{font-weight:700;min-width:1ch}.presence-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.presence{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;gap:8px;align-items:center}.presence strong{display:block}.presence small{color:var(--muted)}.goalie-choice{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.goalie-choice label{padding:7px 10px;border:1px solid var(--line);border-radius:7px}.team-header{display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid var(--team);padding-bottom:10px}.team-header h2{margin:0}.team-roster{margin:14px 0;padding:0;list-style:none}.player-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.badge{font-size:.74rem;border-radius:99px;padding:3px 7px;background:#eef2f7;font-weight:700}.team-select{border:1px solid var(--line);border-radius:6px;padding:5px;background:#fff}.stat-table{width:100%;border-collapse:collapse}.stat-table th,.stat-table td{text-align:right;padding:8px;border-bottom:1px solid var(--line)}.stat-table th:first-child,.stat-table td:first-child{text-align:left}.delta{font-size:.78rem;color:var(--muted)}.charts{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.chart{width:100%;height:auto}.chart text{fill:var(--muted);font-size:12px}.history-item{border-top:1px solid var(--line);padding:14px 0}.history-item:first-child{border-top:0}.history-item p{margin:5px 0}.player-form{display:grid;gap:14px}.player-form label{display:grid;gap:5px;font-weight:650}.player-form input[type=text],.player-form input[type=number],.player-form input:not([type]){padding:8px;border:1px solid var(--line);border-radius:6px}.player-form fieldset{display:flex;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px}.player-form fieldset label{display:block;font-weight:500}.ratings{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ratings label{font-size:.88rem}.form-actions{display:flex;gap:8px}.roster-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.positions{font-size:.85rem;color:var(--muted)}.empty{padding:22px 0;color:var(--muted);text-align:center}.share{width:100%;min-height:130px;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}.team-name-input{max-width:150px;border:0;font:inherit;font-weight:750;font-size:1.15rem;min-width:0}.position-legend{display:flex;gap:11px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;margin-right:4px}.def{background:#1d4ed8}.att{background:#e44b4b}.goal{background:#168363}@media(max-width:760px){.topbar{align-items:start;flex-direction:column;gap:8px}.split,.charts{grid-template-columns:1fr}.ratings{grid-template-columns:1fr}.player-row{grid-template-columns:1fr auto}.player-row select{grid-column:1/-1}.roster-row{grid-template-columns:1fr auto}.roster-row .positions{grid-column:1/-1}.tagline{font-size:.9rem}}
