@font-face{font-family:system-fallback;src:local('Segoe UI')} :root{--green:#175947;--green-dark:#103e32;--ink:#1b3029;--muted:#62756c;--line:#dce5df;--paper:#f5f7f2;--bs-success:#175947;--bs-success-rgb:23,89,71;--bs-body-color:#1b3029;--bs-link-color:#175947;--bs-link-hover-color:#103e32}*{box-sizing:border-box}body{font-family:Inter,system-fallback,system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;margin:0}a{color:var(--green);text-underline-offset:4px}h1,h2,h3{font-weight:750;letter-spacing:-.04em;line-height:1.15}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:1.5rem}h3{font-size:1.2rem}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9d6915;outline-offset:3px}button,.btn,.form-control,.form-select,.dropdown-item{min-height:46px}.btn{border-radius:10px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:.65rem 1rem}.btn-success{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green-dark);--bs-btn-hover-border-color:var(--green-dark);--bs-btn-active-bg:var(--green-dark);--bs-btn-disabled-bg:var(--green)}.btn-outline-success{--bs-btn-color:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green);--bs-btn-hover-border-color:var(--green)}.btn-outline-secondary{--bs-btn-color:#42574b;--bs-btn-border-color:#ccd7ce;--bs-btn-hover-bg:#e5ebe4;--bs-btn-hover-color:#1b3029;--bs-btn-hover-border-color:#b4c4b8}.btn-light{color:var(--green-dark)}.form-control,.form-select{border-radius:10px;border-color:#cbd7ce;font-size:16px}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem #17594720}.form-check-input:checked{background-color:var(--green);border-color:var(--green)}.form-label,legend{font-weight:650;font-size:.9rem}legend{float:none;width:auto;margin-bottom:.6rem}.text-secondary{color:var(--muted)!important}.shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;line-height:1.3;font-size:1.15rem;font-weight:600}.brand b{font-weight:850}.brand small{display:block;font-size:.56rem;letter-spacing:.15em;margin-top:5px;font-weight:650;color:var(--muted)}.brand-mark{display:grid;place-items:center;background:var(--green);color:white;width:44px;height:44px;border-radius:12px}.desktop-nav{display:flex;align-items:center;gap:12px}.desktop-nav a{padding:12px 15px;color:#5d6d62;font-size:.9rem;text-decoration:none;border-radius:8px}.desktop-nav a.active{background:#edf3ec;color:var(--green);font-weight:700}.account-button{border:1px solid #d4ded4;background:#edf3ec;border-radius:50%;width:44px;min-height:44px;color:var(--green);font-weight:750}.private-label{font-size:.8rem;color:var(--muted);border:1px solid var(--line);padding:8px 12px;border-radius:20px}.main-content{padding-block:38px 50px;min-height:70vh}.site-footer{display:flex;justify-content:space-between;color:#718076;font-size:.8rem;padding-block:20px 28px;border-top:1px solid var(--line)}.mobile-nav{display:none}.skip-link{position:fixed;top:-100px;z-index:10000;background:white;padding:15px}.skip-link:focus{top:0}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.eyebrow,.section-kicker{font-size:.65rem;font-weight:750;letter-spacing:.17em;margin-bottom:14px;display:block}.section-kicker{color:var(--green)}.welcome{background:var(--green);color:#fff;min-height:310px;padding:38px 42px;border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:center}.welcome h1{font-size:clamp(2.25rem,4vw,3rem);line-height:1.13}.welcome p:not(.eyebrow){color:#d5e7dc;font-size:.95rem;margin-block:16px 24px}.welcome>div:first-child{position:relative;z-index:2}.welcome .eyebrow{color:#c1d8ad}.hero-stamp{position:absolute;right:22px;top:22px;font-size:.62rem;letter-spacing:.17em;text-align:right;line-height:1.8;color:#c1d8ad}.pitch{position:relative;width:350px;height:220px;border:2px solid #ffffff38;border-radius:4px;transform:rotate(-13deg);overflow:visible}.welcome>.pitch{position:absolute;right:50px;top:70px;opacity:.8}.pitch-line{position:absolute;left:50%;height:100%;border-left:2px solid #ffffff38}.pitch-circle{position:absolute;width:90px;height:90px;border:2px solid #ffffff38;border-radius:50%;left:calc(50% - 45px);top:calc(50% - 45px)}.rod{position:absolute;height:300px;width:5px;top:-40px;background:#dae5d2;border-radius:5px;box-shadow:0 7px 0 #0d392329}.rod:after,.rod:before{content:'';position:absolute;left:-9px;top:60px;width:23px;height:40px;background:#d5e59b;border-radius:6px 6px 3px 3px;box-shadow:0 6px 0 #0002}.rod:after{top:190px}.rod-one{left:80px}.rod-two{right:80px}.rod-two:after,.rod-two:before{background:#f2b790}.ball{position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;left:53%;top:66%;box-shadow:4px 5px 10px #0004}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block:32px 18px}.section-heading h2{margin:0}.section-heading .section-kicker{margin-bottom:6px}.text-link{font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}.cup-card h3{font-size:1.45rem;overflow-wrap:anywhere;margin-block:22px 8px}.format-label{display:inline-flex;font-size:.72rem;background:#f0f4ed;padding:6px 10px;border-radius:6px;color:#4c6756;font-weight:600}.cup-icon{color:#6e8d74}.dot{margin-inline:5px}.cup-card progress{display:block;width:100%;height:7px;border:0;border-radius:10px;background:#e9eee6;margin-top:24px;overflow:hidden}.cup-card progress::-webkit-progress-bar{background:#e9eee6}.cup-card progress::-webkit-progress-value{background:#6f9464;border-radius:10px}.cup-card progress::-moz-progress-bar{background:#6f9464}.progress-caption{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:10px}.cup-actions{display:flex;gap:10px;margin-top:25px}.cup-actions .btn{font-size:.8rem}.cup-actions .btn:first-child{flex:1}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p:last-child{margin-bottom:0}.cup-selector{min-width:260px;max-width:100%}.cup-selector .form-select{min-width:0}.filter-panel{padding:24px}.player-chips{display:flex;flex-wrap:wrap;gap:8px}.player-chip{position:relative;cursor:pointer}.player-chip input{position:absolute;opacity:0;width:1px;height:1px}.player-chip span{min-height:44px;display:flex;align-items:center;padding:8px 16px;border:1px solid #d3ded3;border-radius:10px;background:white;font-size:.9rem}.player-chip input:checked+span{background:var(--green);color:white;border-color:var(--green)}.player-chip input:focus-visible+span{outline:3px solid #9d6915;outline-offset:3px}.filter-bottom{display:flex;gap:12px;align-items:end;margin-top:20px}.filter-bottom>div{min-width:160px}.match-card{display:block;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:16px;background:white;padding:20px;transition:border-color .15s,transform .15s}.match-card:hover{color:var(--ink);border-color:#6f9464;transform:translateY(-2px)}.match-meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);align-items:center;margin-bottom:20px}.status{border-radius:20px;padding:5px 10px;font-size:.7rem;white-space:nowrap;font-weight:650}.status.pending{background:#f7f0de;color:#7b5a16}.status.done{background:#e9f2e9;color:#315b39}.match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}.team-name{display:flex;flex-direction:column;font-size:.95rem;overflow-wrap:anywhere}.team-name strong{font-weight:700}.team-name small{font-size:.6rem;color:var(--muted);margin-top:6px}.team-label{font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750;margin-bottom:6px;display:block}.team-a .team-label{color:#256457}.team-b .team-label{color:#965b30}.team-b{text-align:right}.match-score{font-size:1.4rem;font-weight:750;white-space:nowrap}.score-separator{padding-inline:5px;color:#9aa89d}.vs{font-size:.72rem;color:#92a092;letter-spacing:.08em}.match-foot{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:.7rem;color:var(--muted)}.pagination-line{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:24px;font-size:.85rem}.empty-state{text-align:center;padding:50px 24px;border:1px dashed #bccdbf;border-radius:16px;color:var(--muted)}.ranking-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.ranking-panel .section-heading{margin-top:0;align-items:start}.ranking-panel .section-heading h2{font-size:1.25rem}.rank-header,.rank-row summary{display:grid;grid-template-columns:minmax(125px,1fr) 48px 60px 70px 48px;gap:8px;align-items:center}.rank-header{font-size:.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-block:12px;border-bottom:1px solid var(--line)}.rank-row{border-bottom:1px solid var(--line)}.rank-row:last-child{border:0}.rank-row summary{list-style:none;cursor:pointer;padding-block:16px;font-size:.8rem}.rank-row summary::-webkit-details-marker{display:none}.rank-person{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.rank-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;color:var(--muted)}.rank-number.podium{background:#edf2e3;color:#536a2e}.rank-points{font-size:1.05rem;text-align:right}.rank-points small{font-size:.6rem;margin-left:3px;font-weight:500}.rank-details{font-size:.8rem;display:flex;flex-direction:column;gap:10px;padding:0 0 18px 42px;color:var(--muted)}.rules-panel{align-self:start}.rules-panel h3{margin-top:18px}.rules-panel dl{margin-top:24px}.rules-panel dt{font-weight:500;font-size:.85rem;color:var(--muted)}.rules-panel dd{font-weight:700;margin-bottom:18px}.back-link{display:inline-block;min-height:44px;font-size:.85rem;text-decoration:none}.score-panel{max-width:650px;margin:auto}.score-teams{display:grid;grid-template-columns:1fr 1fr;gap:20px}.score-team{background:#f1f6f0;border-radius:12px;padding:20px;overflow-wrap:anywhere}.score-team.team-b{background:#fbf4ec;text-align:left}.score-team h2{margin:10px 0 1px;font-size:1.35rem}.position-label{font-size:.7rem;color:var(--muted)}.score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.score-input{font-size:2.5rem;min-height:90px;text-align:center;font-weight:750}.passage-option{display:flex;gap:14px;align-items:center;padding:20px 0;cursor:pointer}.passage-option .form-check-input{width:23px;height:23px;flex-shrink:0}.passage-option b{font-size:.95rem}.passage-option small{display:block;font-size:.75rem;color:var(--muted)}.result-review{padding:20px;background:#eef5eb;border-radius:10px;margin-bottom:16px;font-weight:650}.result-feedback:not(:empty){padding:16px;background:#fff0ec;color:#842f1f;border-radius:10px;margin-bottom:16px}.final-score{font-size:3.5rem;font-weight:800;text-align:center;margin-block:24px 10px;letter-spacing:-.05em}.final-score span{padding-inline:20px;color:#9aaa9f}.history-entry{padding-top:16px;border-top:1px solid var(--line);font-size:.85rem}.history-entry p{color:var(--muted)}.avatar{height:48px;width:48px;display:grid;place-items:center;border-radius:50%;background:#edf2e3;color:#516946;font-weight:750;font-size:1.25rem;flex-shrink:0}.player-card{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink)}.player-card>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.player-card small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat b{display:block;font-size:2rem;letter-spacing:-.05em}.stat span{font-size:.8rem;color:var(--muted)}.partner-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding-block:16px;border-bottom:1px solid var(--line);font-size:.85rem}.partner-row:last-child{border:0}.partner-row b{text-align:right}.partner-row span{color:var(--muted)}.admin-cup,.account-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-block:18px}.admin-cup strong,.account-row strong{overflow-wrap:anywhere}.admin-cup small,.account-row small{display:block;color:var(--muted);font-size:.75rem}.admin-player-list details{padding-block:15px;border-top:1px solid var(--line)}.admin-player-list summary{font-weight:650;min-height:30px}.import-preview{background:#f1f6ed;border-radius:12px;padding:20px}.narrow{max-width:650px;margin:auto}.auth-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:30px 0}.auth-intro h1{font-size:clamp(3rem,5.5vw,4.7rem);line-height:1.05}.auth-intro h1 em{color:var(--green);font-style:normal}.auth-intro>p:not(.eyebrow){max-width:350px;color:var(--muted);margin-top:24px}.auth-intro>.pitch{background:var(--green);margin:45px 30px 10px;width:300px;height:160px;transform:rotate(-8deg);border:0;border-radius:12px;overflow:hidden}.auth-intro .rod{top:-60px}.auth-panel{padding:36px}.auth-panel h2{font-size:1.75rem;margin-top:22px}.auth-panel>p{font-size:.85rem;margin-bottom:30px}.auth-help{font-size:.75rem!important;text-align:center;color:var(--muted);margin:26px 0 0!important}.alert{border-radius:12px;overflow-wrap:anywhere}.dropdown-menu{border-color:var(--line);border-radius:12px;padding:8px}.dropdown-item{border-radius:6px;display:flex;align-items:center}.cup-estimate{font-weight:650;color:var(--green)}
@media(max-width:991.98px){.ranking-layout{grid-template-columns:1fr}.rules-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.welcome>.pitch{right:-90px;opacity:.35}.desktop-nav{gap:0}.desktop-nav a{padding:10px}.auth-layout{gap:30px}.account-row{flex-wrap:wrap}}
@media(max-width:767.98px){.shell{width:calc(100% - 32px)}.header-inner{height:76px;gap:10px}.brand{font-size:1rem;gap:10px}.brand-mark{width:40px;height:40px}.brand small{font-size:.5rem}.desktop-nav{display:none}.main-content{padding-block:22px 30px}.site-footer{padding-bottom:100px;gap:12px;font-size:.65rem}.mobile-nav{display:flex;position:fixed;z-index:1000;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(10px)}.mobile-nav a{display:flex;flex:1;flex-direction:column;gap:3px;align-items:center;justify-content:center;text-decoration:none;color:#748378;min-height:50px;font-size:.65rem;border-radius:10px}.mobile-nav a.active{color:var(--green);background:#edf3e9;font-weight:750}.welcome{padding:28px 24px;min-height:300px;border-radius:18px}.welcome h1{font-size:2.15rem}.welcome>.pitch{right:-150px;top:105px;opacity:.22}.hero-stamp{display:none}.welcome .eyebrow{font-size:.56rem}.welcome p:not(.eyebrow){font-size:.85rem;max-width:230px}.section-heading{gap:12px;margin-block:26px 16px;flex-wrap:wrap}.section-heading h2{font-size:1.3rem}.text-link{font-size:.78rem}.panel{padding:22px;border-radius:14px}.cup-card h3{font-size:1.4rem}.cup-actions{flex-wrap:wrap}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:2rem}.page-heading p{font-size:.85rem}.page-heading>.status{display:inline-flex;margin-top:16px}.cup-selector{margin-top:20px;min-width:0}.filter-bottom{align-items:stretch;flex-direction:column}.filter-bottom .btn{width:100%}.player-chip span{padding-inline:13px}.match-card{padding:18px}.match-teams{gap:10px}.team-name{font-size:.9rem}.match-score{font-size:1.3rem}.rank-header{display:none}.rank-row summary{display:flex;justify-content:space-between;font-size:.95rem}.rank-desktop{display:none}.rank-points{font-size:1.25rem}.rank-points small{font-size:.65rem}.rank-details{padding-left:0}.ranking-panel .section-heading{display:block}.ranking-panel .format-label{margin-top:10px}.score-panel{padding:18px}.score-team{padding:15px}.score-team h2{font-size:1.2rem}.score-teams,.score-inputs{gap:12px}.score-input{font-size:2rem}.score-inputs .form-label{font-size:.8rem}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:20px}.stat b{font-size:1.8rem}.partner-row{grid-template-columns:1fr auto;font-size:.8rem}.partner-row span{grid-column:1;grid-row:2}.partner-row b{grid-column:2;grid-row:1 / 3;align-self:center}.admin-cup,.account-row{flex-wrap:wrap}.auth-layout{display:block;padding:0}.auth-intro{padding:16px 6px 26px}.auth-intro h1{font-size:2.8rem}.auth-intro>.pitch{display:none}.auth-intro>p:not(.eyebrow){font-size:.85rem;margin:16px 0 0}.auth-intro .eyebrow{font-size:.6rem}.auth-panel{padding:24px}.auth-panel h2{font-size:1.5rem;margin-top:14px}.private-label{font-size:.65rem;padding:6px 9px}.auth-panel>p{margin-bottom:22px}.pagination-line{gap:10px;font-size:.75rem}.pagination-line .btn{font-size:.8rem;padding:.5rem .8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
