:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#17232a;background:#f3f7f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.topbar{min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff;border-bottom:1px solid #dbe7e5}.topbar>div{display:flex;gap:.75rem;align-items:baseline;color:#5d6f72;font-size:.9rem}.brand{font-size:1.2rem;font-weight:800;color:#0f766e;text-decoration:none;letter-spacing:-.03em}main{max-width:1180px;padding:0 5vw 4rem;margin:auto}.hero{padding:3.2rem 0 2rem;max-width:720px}.hero h1{margin:.3rem 0 .75rem;font-size:clamp(2rem,5vw,3.7rem);line-height:1;letter-spacing:-.055em;color:#123b3d}.hero p{color:#587074;margin:0;font-size:1.05rem}.eyebrow{color:#0f766e!important;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem!important;font-weight:800}.notice{margin-bottom:1.4rem;padding:.9rem 1rem;border-left:4px solid #0f766e;border-radius:6px;color:#164c4a;background:#e7f5f2}.setup-grid,.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{background:#fff;border:1px solid #dbe7e5;border-radius:14px;padding:1.2rem;box-shadow:0 1px 2px #15323208}.card-title{display:flex;align-items:center;gap:.55rem;margin-bottom:1rem}.card-title>span:first-child{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:#ddf1ec;color:#0f766e;font-weight:800;font-size:.82rem}h2,h3,h4{margin:0;color:#163c3d;letter-spacing:-.025em}h2{font-size:1.1rem}h3{font-size:1rem}h4{font-size:.9rem}label{display:grid;gap:.35rem;color:#486065;font-size:.85rem;font-weight:650}input,select{width:100%;border:1px solid #bfd1ce;padding:.58rem .65rem;border-radius:7px;background:#fff;color:#17232a}input:focus,select:focus{outline:3px solid #b5e6dc;outline-offset:1px;border-color:#0f766e}.role-list{display:grid;gap:.45rem;margin:.8rem 0}.role-list label{grid-template-columns:1fr auto;align-items:center}.setup-grid .card label+label{margin-top:.75rem}.hint{margin:.65rem 0 0;color:#718488;font-size:.82rem;font-weight:400}.players-card,.attendance,.results,.generate{margin-top:1rem}.players-card .card-title .hint{margin:0 0 0 auto}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid #e4ecea;vertical-align:middle;white-space:nowrap}thead th{color:#557074;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}td input,td select{min-width:96px;padding:.4rem .5rem}.icon-button{border:0;background:transparent;color:#7a9291;min-width:30px;min-height:30px;border-radius:50%;font-size:1.4rem;line-height:1}.icon-button:hover{background:#eff5f4;color:#b42318}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}.secondary,.quiet{border:1px solid #b7ceca;border-radius:8px;padding:.58rem .78rem;background:#fff;color:#155c58;font-weight:720}.secondary:hover,.quiet:hover{background:#edf7f5}.quiet{border:0}.attendance-list{display:flex;flex-wrap:wrap;gap:.6rem}.attendance-button{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:#fff;border:1px solid #cbdad8;border-radius:9px;color:#254247}.attendance-button span{padding:.16rem .45rem;border-radius:20px;font-size:.72rem;font-weight:750}.attendance-button.here{border-color:#6fc7b8;background:#f0fbf8}.attendance-button.here span{background:#cbeddf;color:#096b5c}.attendance-button.away{opacity:.58}.attendance-button.away span{background:#edf0f0;color:#637274}.generate{text-align:center;padding:1.6rem 0 .5rem}.generate p{color:#708185;font-size:.85rem}.primary{border:0;border-radius:9px;padding:.85rem 1.15rem;background:#0f766e;color:#fff;font-weight:800;box-shadow:0 3px #095d57}.primary:hover{background:#0c685f}.primary:active{transform:translateY(1px);box-shadow:0 2px #095d57}.primary.small{padding:.6rem .8rem}.results{margin-top:2rem}.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:.8rem}.results-head h2{font-size:1.65rem}.score{color:#61777a;font-size:.85rem}.score strong{display:inline-block;margin-left:.25rem;color:#0f766e;font-size:1.1rem}.progress{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(260px,2fr);gap:1rem;align-items:center}.progress .button-row{grid-column:1 / -1;margin-top:0}.progress p{color:#728689;font-size:.85rem;margin:.35rem 0 0}.progress-track{display:flex}.progress-track span{flex:1;padding:.38rem .25rem;border-top:4px solid #cbd9d7;color:#74888a;text-align:center;font-size:.7rem;font-weight:750}.progress-track span.played{border-color:#0f766e;color:#0f766e}.progress-track span.current{border-color:#ee9b24;color:#a96000}.progress-track small{display:block;font-size:.8rem}.live{display:flex;gap:.7rem;align-items:end;margin-top:1rem}.live>div{flex:1}.live label{min-width:190px}.live .hint{margin-bottom:0}.warnings{margin:1rem 0;padding:1rem 1.2rem;border-radius:12px;background:#fff8e8;color:#735819}.warnings ul{margin:.55rem 0 0;padding-left:1.1rem;font-size:.88rem}.warnings li+li{margin-top:.35rem}.plan{min-width:0}.plan .hint{margin-bottom:.7rem}.plan-table th{white-space:normal}.plan-table td{min-width:130px}.plan-table .frozen{background:#edf6f4;color:#255c59;font-weight:700}.plan-table thead .frozen{background:#dff0ec}.totals{min-width:0}.totals td,.totals th{white-space:normal}.changes{margin-top:1rem}.changes>h3{margin-bottom:.7rem}.change{padding:.7rem 0;border-bottom:1px solid #e1eae8}.change:last-child{border:0;padding-bottom:0}.change p{margin:.35rem 0 0;color:#536c70;font-size:.88rem}@media(max-width:780px){main{padding-inline:1rem}.topbar{padding-inline:1rem}.topbar>div span{display:none}.setup-grid,.result-grid{grid-template-columns:1fr}.hero{padding-top:2.2rem}.players-card{padding-inline:.75rem}.players-card .card-title .hint{display:none}.progress{grid-template-columns:1fr}.live{align-items:stretch;flex-direction:column}.live label{min-width:0}.results-head{align-items:start;gap:.5rem;flex-direction:column}.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-button{justify-content:space-between}.progress-track span{font-size:.62rem}}
