:root{--dark:#112b27;--dark2:#1b3a30;--lime:#c9f46d;--text:#18302a;--muted:#77877e;--surface:#fff;--bg:#f4f6f2;--stroke:#e4ebe4;--green:#5b853f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0;color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:16px!important}h1,h2,h3,p{margin-top:0}.top{background:var(--dark);color:white}.top-inner{max-width:950px;margin:auto;min-height:74px;padding:12px 23px;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;gap:10px;align-items:center;font-weight:900;font-size:16px;letter-spacing:.9px;line-height:1.1;white-space:nowrap}.brand em{color:var(--lime);font-style:normal}.brand small{display:block;color:#85a49b;letter-spacing:1.55px;font-size:8px;margin-top:5px}.brand-ball{background:#254a3b;border-radius:14px;padding:11px;font-size:22px}.top-right{display:flex;align-items:center;gap:7px}.top-link{color:#dae7da;font-size:12px;background:#29453c;border:0;border-radius:10px;padding:11px;white-space:nowrap}.user-chip{font-size:11px;color:#b9d0c3;text-align:right}.main{max-width:950px;margin:auto;padding:19px 22px 70px;min-height:calc(100dvh - 125px)}.foot{color:#98a69b;font-size:11px;text-align:center;padding:15px 10px 35px}.foot a{text-decoration:underline}.hero{background:var(--dark);color:white;border-radius:22px;padding:33px 30px 35px;margin:5px 0 26px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-45px;top:-55px;width:260px;height:260px;border:45px solid #d0ee7420;border-radius:50%;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#799b85;font-weight:900;text-transform:uppercase}.hero .eyebrow{color:var(--lime)}.live-dot{display:inline-block;width:7px;height:7px;background:#aee968;border-radius:50%;margin-right:6px}.hero h1{font-size:clamp(28px,5vw,48px);letter-spacing:-1.8px;line-height:1.08;margin:16px 0 13px;font-weight:850}.hero h1 span{color:var(--lime)}.hero p{color:#afc7bb;max-width:445px;font-size:14px;line-height:1.55}.hero .btn{margin-top:13px;position:relative;z-index:1}.hero.slim{padding:25px 28px}.hero.slim h1{font-size:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0 12px}.section-heading h2,.card h2{font-size:19px;letter-spacing:-.5px;font-weight:840;margin:0}.section-heading .subtext{white-space:nowrap}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 5px 16px #1b302608}.card h2{margin-bottom:14px}.card p{line-height:1.5}.days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}.day-card{display:block;transition:transform .15s}.day-card:hover{transform:translateY(-2px)}.day-card-main{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 16px}.day-card-main strong{font-size:20px;letter-spacing:-.5px}.chevron{background:#f0f5e7;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font-size:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.subtext,.muted{color:var(--muted);font-size:12px}.small{font-size:12px}.status{font-size:11px;font-weight:800;background:#eef0ec;color:#59705e;padding:7px 10px;border-radius:30px;white-space:nowrap}.status.live{background:#e0f6b8;color:#477122}.status.finished{background:#dceae1;color:#47705d}.notice{padding:13px 15px;border-radius:12px;margin:0 0 15px;font-size:13px;font-weight:700;line-height:1.45}.notice.success{background:#e2f2c8;color:#3b692b}.notice.error{background:#fce9e4;color:#963c2f}.soft-note{padding:12px 13px;background:#edf3e7;border-radius:12px;color:#637967;font-size:12px;line-height:1.5}.back{display:inline-flex;margin:4px 0 18px;color:#748478;font-size:12px;font-weight:700}.page-head h1{font-size:31px;letter-spacing:-1px;margin:9px 0 6px}.page-head p{color:#758579;font-size:13px;margin-bottom:22px}.narrow{max-width:430px;margin:auto}.form-stack{display:flex;flex-direction:column;gap:15px}.form-stack label{display:block;font-size:12px;font-weight:760;color:#45574c}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack select,.form-stack textarea,.form-inline input,.form-inline select{display:block;margin-top:7px;width:100%;background:#f8faf7;color:#172e24;border:1px solid #dfe9dc;outline:none;border-radius:12px;padding:12px 13px;min-height:45px}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.form-inline input:focus{border-color:#8db45e;box-shadow:0 0 0 3px #c9f46d50}.form-stack input[type=file]{padding:12px;background:#f7faf4;border:1px dashed #b9ceb0;border-radius:12px;max-width:100%}.btn{border:0;border-radius:12px;padding:13px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:850;font-size:13px;min-height:43px;text-align:center}.btn.primary{background:#17382e;color:#fff}.btn.lime{background:var(--lime);color:#22331d}.btn.secondary{background:#edf3e9;color:#385a38}.btn:hover{filter:brightness(.97)}.btn.wide{width:100%}.btn.small-btn{padding:9px 11px;font-size:11px;min-height:34px}.btn.danger-soft{background:#fee8e5;color:#a54d3d}.settings-link{display:block;margin:20px 0;color:#42603c;font-size:13px;font-weight:750}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--stroke)}.admin-row:last-child{border-bottom:0}.admin-row b{display:block;font-size:14px;margin-bottom:4px}.day-hero{border-radius:22px;background:var(--dark);padding:24px 25px 21px;color:#fff;position:relative;overflow:hidden}.day-hero:before{content:"";position:absolute;right:-42px;top:-58px;width:210px;height:210px;border:38px solid #bada741c;border-radius:50%;pointer-events:none}.day-hero .eyebrow{color:var(--lime)}.hero-main{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:11px 0}.hero-main h1{font-size:29px;line-height:1.1;letter-spacing:-.9px;margin:0 0 6px}.hero-main p{font-size:12px;color:#a2c4ae;margin:0}.facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.facts span{background:#24443a;border:1px solid #2a5041;border-radius:9px;color:#c3d8ca;font-size:11px;padding:8px 9px;white-space:nowrap}.stage-switch{padding:13px 0 0}.stage-pills{display:flex;gap:7px;overflow-x:auto;padding:8px 0 4px}.stage-pill{background:#e4ebe3;border:1px solid #dae6d8;white-space:nowrap;border-radius:30px;padding:9px 12px;font-weight:750;font-size:12px}.stage-pill.selected{background:#234b37;color:white;border-color:#234b37}.tab-bar{display:flex;align-items:stretch;gap:5px;margin:17px 0 20px;border-bottom:1px solid #dfe7df;padding:0 0 8px;overflow-x:auto}.tab{color:#7e8f82;padding:10px 13px 11px;border-radius:11px;white-space:nowrap;display:flex;align-items:center;gap:7px;font-weight:750;font-size:12px}.tab.chosen{background:#e2efcd;color:#375e2d}.next-card{background:var(--dark2);color:white;border-radius:20px;padding:21px 20px 18px;margin-bottom:23px;box-shadow:0 13px 28px #143c2620}.next-card .eyebrow{color:var(--lime)}.next-tag{background:var(--lime);color:#1f361c;padding:7px 10px;border-radius:40px;font-size:10px;font-weight:900}.versus{display:grid;grid-template-columns:minmax(0,1fr) 27px minmax(0,1fr);align-items:center;gap:8px;padding:19px 0;font-size:clamp(16px,3vw,24px);font-weight:850;line-height:1.25;text-align:center}.versus span{overflow-wrap:anywhere}.versus small{color:#9bb9a3;font-size:11px}.score-form{display:grid;grid-template-columns:1fr 15px 1fr;gap:12px;align-items:end}.score-form label{min-width:0;text-align:center;font-size:10px;color:#a5c0ab}.score-form label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px}.score-form input{width:100%;height:65px;border:1px solid #7fa489;background:#284538;border-radius:12px;color:#fff;text-align:center;font-size:32px!important;font-weight:900;appearance:textfield}.score-form>b{font-size:25px;text-align:center;line-height:65px}.score-form .btn{grid-column:1/-1;margin-top:10px}.next-foot{font-size:10px;color:#9db7a5;margin:10px 0 0;text-align:center}.awaiting{background:#284f3d;text-align:center;border-radius:12px;padding:12px;color:#d8f0d3;font-size:12px}.match-list{padding:3px 16px}.fixture{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf0e9}.fixture:last-child{border-bottom:0}.fixture.up-next{background:#eff8e4;margin:7px -9px 0;padding:13px 9px;border-radius:12px;border:0}.match-position{font-weight:900;font-size:13px;width:22px;text-align:center;color:#8b9c8d;flex-shrink:0}.fixture-names{font-weight:800;line-height:1.35;flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px}.fixture-names em{font-style:normal;color:#9aac9e;font-weight:400}.fixture-names small{display:block;font-size:10px;color:#9ca99e;font-weight:600;margin-top:4px}.live-flag{color:#4c752d;background:#d9edc0;font-weight:800;font-size:10px;padding:5px 6px;border-radius:6px}.move-buttons{display:flex;flex-shrink:0;gap:4px}.move-buttons button{border:1px solid #dce6d8;border-radius:8px;width:29px;height:31px;background:#fff;color:#50784d;font-size:16px;font-weight:850}.played-row{padding:14px 0;border-bottom:1px solid #edf0e9}.played-row:last-child{border-bottom:0}.played-row .fixture-names{font-weight:700}.score-result{font-size:18px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}.warning{display:block;color:#ac7239;font-size:11px;padding-top:6px}.edit-details{border-top:1px solid #edf1eb;margin-top:12px;padding-top:10px}.edit-details summary{font-size:11px;color:#658269;font-weight:800;cursor:pointer;list-style:none;padding:4px 0}.edit-details summary:after{content:' ↓';color:#a2b19e}.edit-details[open] summary{margin-bottom:14px}.mini-score{display:flex;align-items:center;gap:7px}.mini-score input{min-width:0;width:65px;max-width:23%;border:1px solid #d8e4d5;border-radius:10px;padding:10px;font-size:16px;text-align:center}.mini-score .btn{flex:1;min-width:0}.admin-chip{font-size:10px;font-weight:900;letter-spacing:.8px;background:#dcefc8;color:#426739;padding:6px 8px;border-radius:6px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.action-grid button{font-size:11px}.admin-tools .card{margin-top:12px}.form-details summary{font-weight:900;cursor:pointer;list-style:none}.inner-form{margin-top:17px}.table-card{padding:8px 10px}.table-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}.standings{width:100%;min-width:500px;border-collapse:collapse;font-size:12px}.standings th{text-align:left;font-size:10px;color:#8ca08e;letter-spacing:.4px;padding:14px 8px;border-bottom:1px solid #e8eee8}.standings td{padding:15px 8px;border-bottom:1px solid #f0f3ef;font-variant-numeric:tabular-nums}.standings tr:last-child td{border:0}.table-team{font-weight:850;min-width:135px;max-width:270px;overflow-wrap:anywhere}.big-points{font-weight:950;font-size:17px}.rank{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#edf3e9;color:#577357;font-weight:900}.rank.leader{background:#d5ecac;color:#436b29}.tie-mark{color:#b75f32}.team-entry .row{justify-content:flex-start}.team-icon{width:43px;height:43px;background:#dceecb;color:#52743c;display:grid;place-items:center;font-size:18px;font-weight:900;border-radius:13px;flex-shrink:0}.team-info{min-width:0}.team-info strong{font-size:15px;overflow-wrap:anywhere}.team-info .subtext{margin-top:4px}.form-inline{display:flex;gap:9px;margin:12px 0;align-items:center}.form-inline>*:first-child{flex:1;min-width:0}.form-inline .btn{flex-shrink:0}.mini-head{font-weight:900;font-size:12px;margin:14px 0 5px}.player-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf0e9;font-size:12px}.text-danger{border:0;background:transparent;color:#b75442;font-size:11px;font-weight:800}.players-public{border-top:1px solid #edf0e9;margin-top:12px;padding-top:9px;display:flex;flex-wrap:wrap;gap:7px}.players-public span{font-size:11px;background:#eef3ec;padding:6px 9px;border-radius:9px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:18px}.gallery-cell{position:relative;aspect-ratio:1;overflow:hidden;background:#d5e4d4;border-radius:13px}.gallery-cell img{width:100%;height:100%;object-fit:cover}.delete-photo{position:absolute;right:6px;top:6px;border:0;border-radius:50%;width:29px;height:29px;background:#ffffffec;color:#983c34;font-size:19px;font-weight:850}.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.check{display:flex!important;flex-direction:row;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eaf0e8}.check input{width:20px;height:20px;accent-color:#54803c}.check span b{display:block;font-size:13px}.check span small{display:block;color:#8a998d;margin-top:3px;font-size:11px}.big-icon{font-size:29px}.empty{text-align:center;padding:36px 18px}.empty h2,.empty h3{font-size:19px;margin:9px 0}.empty p{color:#819184;font-size:13px}.complete{text-align:center;padding:30px}.complete p{color:#849287}.bottom-nav{display:none}
@media(max-width:640px){.top-inner{padding:10px 14px;min-height:65px}.brand{font-size:13px;gap:8px}.brand-ball{font-size:17px;padding:8px;border-radius:11px}.brand small{font-size:7px}.user-chip{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-link{font-size:11px;padding:9px}.main{padding:11px 12px 100px}.hero{padding:28px 21px;margin:4px 0 20px}.hero h1{font-size:34px}.day-hero{padding:21px 18px 19px;border-radius:18px}.hero-main h1{font-size:25px}.facts{gap:6px;margin-top:18px}.facts span{font-size:10px;padding:7px}.tab-bar{display:none}.section-heading h2,.card h2{font-size:17px}.card{border-radius:15px;padding:15px}.next-card{padding:19px 16px}.next-card .versus{font-size:17px}.action-grid{grid-template-columns:1fr 1fr}.bottom-nav{display:flex;position:fixed;left:0;bottom:0;right:0;justify-content:space-around;align-items:stretch;background:#fff;border-top:1px solid #e0e8dd;z-index:20;padding:8px 5px max(9px,env(safe-area-inset-bottom));box-shadow:0 -5px 20px #172f210d}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;color:#859384;font-weight:780;font-size:10px;padding:5px 2px;border-radius:9px;white-space:nowrap}.bottom-nav a span{font-size:20px;line-height:21px}.bottom-nav a.active{color:#426a36;background:#edf6e2}.foot{padding-bottom:100px}.gallery{gap:6px}.form-inline .btn{padding:10px 11px}.stage-switch{padding-top:10px}}
@media(min-width:641px) and (max-width:900px){.tab{padding:10px 7px}}

.user-admin-card{padding:13px 0;border-bottom:1px solid var(--stroke)}.user-admin-card:last-child{border:0}.user-admin-card b{display:block;font-size:14px;margin-bottom:4px}.goal-team{padding:9px 0 12px}.goal-team+.goal-team{border-top:1px solid #edf0e9}.nested-details{margin:11px 0;font-size:11px;color:#668469;font-weight:800}.nested-details summary{cursor:pointer}.nested-details .form-inline{margin:8px 0}.admin-tools .card .form-stack{margin-top:16px}

/* Tournament v0.2: compact round labels, bracket, history and awards. */
.round-chip{display:inline-block;background:rgba(196,239,89,.18);color:#ddf8a3;font-size:12px;font-weight:800;border-radius:20px;padding:5px 11px;margin-top:13px}
.fixture-names small{display:block;font-size:11px;font-weight:650;color:#738679;margin-top:6px}
.played-row{padding-block:15px}
.played-row .row{align-items:center}
.played-row .fixture-names{min-width:0;overflow-wrap:anywhere}
.penalty-winner{background:#eaf5da;border-radius:10px;color:#406527;padding:9px 12px;margin:8px 0;font-size:12px;font-weight:800;line-height:1.5}
.penalty-urgent{border:2px solid #d4a955;background:#fffaf0}
.penalty-urgent .eyebrow{color:#986217}
.cup-bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px;margin-bottom:22px}
.cup-step{background:#fff;border-radius:18px;padding:14px;border:1px solid #e4e8df}
.cup-step h3{margin:0 0 12px;font-size:15px;color:#243e33}
.cup-step.final{background:#ecf6d8;border-color:#d6e9b4}
.cup-step.bronze{background:#fffaf0}
.cup-fixture{border-radius:12px;border:1px solid #e7ede1;padding:10px 12px;margin-top:8px;background:#fff}
.cup-fixture .row{font-size:13px;padding:6px 0;gap:10px}
.cup-fixture .row span{min-width:0;overflow-wrap:anywhere}
.cup-fixture small{display:block;border-top:1px solid #e7ede1;margin-top:5px;padding-top:9px;color:#567b36;font-weight:700;line-height:1.5}
.final-banner{text-align:center;background:#f0f8e0}
.final-banner strong{font-size:clamp(20px,5vw,28px);color:#315a26}
.award{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:3px 10px;border-bottom:1px solid #e7eee4;padding:12px 0;align-items:baseline;font-size:16px}
.award span{color:#708175;font-size:13px}
.award strong{grid-column:2;font-size:18px;overflow-wrap:anywhere}
.history-intro h2{font-size:24px;margin-block:15px}
.history-matches .fixture{align-items:flex-start}
.history-matches .fixture strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.history-intro,.history-matches{overflow:hidden}
.standings td,.standings th{white-space:nowrap}
.standings .table-team{white-space:normal;min-width:130px}
@media(max-width:460px){.cup-bracket{grid-template-columns:1fr}.cup-step{padding:13px}}
