@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--green:#0e4c3b;--lime:#d4f36b;--paper:#f5f6f0;--ink:#14251f;--muted:#77837d;--line:#e5e9e2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif;min-height:100vh}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 960px)/2));border-bottom:1px solid var(--line);background:#fbfcf8}.brand{display:flex;gap:11px;align-items:center;color:var(--green)}.brand b{font:800 21px Manrope;letter-spacing:-1px;display:block}.brand small{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.ball{display:grid;place-items:center;background:var(--lime);width:36px;height:36px;border-radius:50%;font-size:17px;color:var(--green);border:5px solid #b3dc4f}main{max-width:920px;margin:56px auto;padding:0 22px;min-height:calc(100vh - 180px)}h1,h2{font-family:Manrope;letter-spacing:-1.2px;margin:8px 0 12px}h1{font-size:36px}h2{font-size:27px}p{color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#6c8177}.card,.login{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 9px 30px #24433308}.login{max-width:460px;margin:70px auto;padding:36px}.login h1{font-size:32px}label{display:block;font-size:13px;font-weight:600;margin:19px 0 8px}label small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin:5px 0}input,select{width:100%;border:1px solid #dfe5de;border-radius:10px;background:#fff;padding:13px 14px;margin-top:8px;font:inherit;color:var(--ink);outline-color:#86aa98}button{font:600 14px 'DM Sans';cursor:pointer;border:0;border-radius:10px;padding:12px 16px}.primary{background:var(--green);color:white}.primary span{float:right;color:var(--lime)}.login .primary{width:100%;margin-top:22px;text-align:left}.quiet{background:transparent;color:var(--muted)}.outline{background:#fff;border:1px solid var(--line);color:var(--green)}.full{width:100%;margin-top:24px}.topline{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.topline h1{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}.ranking-card{padding:22px;cursor:pointer;transition:.15s}.ranking-card:hover{transform:translateY(-2px);border-color:#abc0b3}.ranking-card h3{margin:0 0 7px;font:700 18px Manrope}.sub{font-size:13px;color:var(--muted)}.pill{display:inline-block;background:#edf5dd;color:#48632c;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:700;margin-top:17px}.empty{padding:36px;text-align:center;color:var(--muted);border:1px dashed #cbd5cc;border-radius:16px}.detail-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0 24px}.back{background:none;color:var(--green);padding-left:0}.match-card{padding:22px;margin:12px 0}.match-card h3{margin:0 0 8px;font:700 16px Manrope}.teams{font-size:15px;font-weight:600;margin:18px 0}.versus{color:var(--muted);font-size:12px;padding:0 6px}.meta{color:var(--muted);font-size:13px;line-height:1.8}.score{background:#f0f5ec;padding:10px 13px;border-radius:10px;font-weight:700;color:var(--green);display:inline-block;margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 12px}.hidden{display:none!important}dialog{border:0;border-radius:20px;padding:30px;width:min(460px,calc(100% - 28px));box-shadow:0 25px 90px #10251b44}dialog::backdrop{background:#10251b88}.close{float:right;background:#f0f3ef;border-radius:50%;padding:5px 11px;font-size:20px}.player-row{display:flex;gap:7px;margin:7px 0}.player-row input{margin:0}.player-row button{background:#f8eeee;color:#a03b3b}.row{display:flex;gap:12px}.row>*{flex:1}.set-row{display:flex;align-items:center;gap:8px;margin:8px 0}.set-row input{text-align:center}.set-row span{color:var(--muted)}.error{color:#a23232;font-size:13px;margin-top:10px;min-height:18px}footer{border-top:1px solid var(--line);padding:24px;text-align:center;font-size:12px;color:var(--muted)}footer span{margin-left:5px}
.standings{overflow:auto;padding:5px 18px;margin-bottom:26px}.standing-row{display:grid;grid-template-columns:minmax(110px,1fr) 58px 65px 75px;gap:9px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);font-size:13px}.standing-row:last-child{border-bottom:0}.standing-row span:not(:first-child){text-align:center;color:var(--muted)}.standing-row.heading{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.standing-row b{font-weight:600}
.week-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:18px 0}.week-controls label{margin:0;max-width:240px}.week-controls button:disabled{opacity:.55;cursor:default}.bye-note{background:#edf5dd;color:#48632c;border-radius:10px;padding:12px 15px;font-size:13px;margin:12px 0}.match-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.match-actions button{padding:9px 4px;color:var(--green)}
@media(max-width:600px){.week-controls{align-items:stretch;flex-direction:column}.week-controls label{max-width:none}.week-controls button{width:100%}}
.ranking-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:25px 0 20px;padding-bottom:10px}.ranking-nav a{padding:10px 14px;border-radius:9px;color:var(--muted);text-decoration:none;font-weight:600}.ranking-nav a.active{background:#e8efe8;color:var(--green)}.page-content{min-height:260px}.page-intro{margin-top:0}.history-week{margin:22px 0}.history-week h2{font-size:20px}.back{text-decoration:none;display:inline-block}.ranking-card{display:flex;align-items:center;justify-content:space-between;gap:8px}.ranking-card .end-ranking{color:#9a5852;flex:none}
@media(max-width:600px){.ranking-nav{gap:2px;justify-content:space-between}.ranking-nav a{font-size:12px;padding:9px 8px}}
main{min-height:calc(100vh - 76px)}
@media(max-width:600px){main{margin:30px auto;padding:0 16px}.login{margin:38px auto;padding:26px 22px}h1{font-size:31px}.topline{align-items:start;gap:12px}.topline .primary{padding:11px 12px}.row{gap:8px}.match-card{padding:18px}.detail-head{align-items:start}.ranking-card{padding:19px}}
.ranking-card{display:flex;align-items:center;justify-content:space-between;gap:8px}.ranking-card .end-ranking{color:#9a5852;flex:none}
.score-block{margin-top:12px}.score-block>small{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.7px;margin-bottom:6px}.score{display:flex;gap:10px;background:transparent;padding:0;margin:0}.set-score{display:grid;justify-items:center;gap:3px;min-width:66px;padding:8px 10px;border-radius:10px;background:#f0f5ec}.set-score small{font-size:10px;font-weight:500;color:var(--muted)}.set-score b{font-size:16px}.score-player-labels,.set-row{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) 36px;align-items:center;gap:8px}.score-player-labels{margin:12px 0 4px;font-size:12px;font-weight:700;color:var(--green)}.score-player-labels span:first-child{text-align:center}.score-player-labels span:nth-child(3){text-align:center}.set-row{margin:8px 0}.set-row input{min-width:0;margin:0}.set-row span{text-align:center}.set-row button{padding:8px 10px}
.check-option{display:flex;align-items:center;gap:9px;cursor:pointer}.check-option input{width:18px;height:18px;margin:0;accent-color:var(--green)}
.primary:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.45)}
.set-entry{margin:12px 0}.set-label{font-size:12px;font-weight:700;color:var(--green);margin:0 0 4px}.set-entry .set-row{margin:0}
.upcoming-week{margin-top:34px;padding-top:8px;border-top:1px solid var(--line)}
.grecaptcha-badge{visibility:hidden!important}.captcha-terms{display:block;margin-top:12px;color:var(--muted);font-size:11px;line-height:1.5}.captcha-terms a{color:var(--green)}
