:root{--ink:#edf5ed;--muted:#9eb7aa;--lime:#d0ff68;--green:#b8ed72;--paper:#061b17;--line:#ffffff14;--white:#122f27;color-scheme:dark;background:var(--paper);color:var(--ink)}
body{background:radial-gradient(ellipse at 95% 0%,#20564065 0,transparent 38%),radial-gradient(ellipse at 0% 75%,#25412c50 0,transparent 45%),#061b17;background-attachment:fixed}
.sidebar{background:linear-gradient(165deg,#081c17,#0e3024);border-right:1px solid #cfff6815;box-shadow:14px 0 60px #0001}
.brand-mark{color:var(--lime);text-shadow:0 0 28px #cfff6830}.brand b{color:white}.side-label{color:#98b69f}.side-bottom{color:#a8c3b2}.side-bottom small{color:#809e8c}.side-credit{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);line-height:1.7}.side-credit>span{display:block;font-size:8px;letter-spacing:1.5px;color:#8daa98}.side-credit strong{font-size:11px;color:var(--lime);font-weight:550}
.desktop-nav .nav-item.active{color:#112516;box-shadow:0 8px 30px #cfff6814}.desktop-nav .nav-item:hover:not(.active){background:#ffffff09}.topbar{background:#061b17d9;border-bottom-color:#ffffff0b}.icon-button{background:#ffffff08;border-color:#ffffff13;color:#d5e8d4;transition:background .2s,transform .2s}.icon-button:hover{background:#cfff6818;transform:rotate(-8deg)}.top-context strong{color:var(--lime)}
.developer-ribbon{display:flex;align-items:center;gap:10px;padding:13px 44px;background:linear-gradient(90deg,#cfff680b,transparent 75%);border-bottom:1px solid #cfff6812}.olipep-symbol{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--lime);color:#103125;font-size:30px;font-weight:850;letter-spacing:-3px;line-height:1;flex-shrink:0;box-shadow:0 0 28px #cfff6812}.olipep-symbol>span{color:#103125;font-size:23px;position:relative;top:-6px;left:1px}.developer-ribbon small{display:block;font-size:7px;letter-spacing:1.6px;color:#a0ba9d;margin-bottom:3px}.developer-ribbon strong{display:block;font-size:11px;font-weight:650;color:#e4f2dc}.ribbon-note{margin-left:auto;font-size:8px;letter-spacing:1.6px;color:#91a98e}
main{padding-top:30px}.page-heading{margin-bottom:24px}.page-heading h1{color:#f0f7e9;font-size:40px;font-weight:780;letter-spacing:-1.8px}.eyebrow{color:var(--lime)}.sync-pill{background:#bce67412;border:1px solid #d0ff6820;color:#caeeb5}.sync-pill::before{background:var(--lime);box-shadow:0 0 9px #cfff6870}.sync-pill.stale{background:#d6a32d16;border-color:#d6a32d40;color:#ffe0a0}.sync-pill.stale::before{background:#ffc864}.competition-bar{background:linear-gradient(120deg,#17382c,#10291f);border:1px solid #ffffff15;box-shadow:0 12px 35px #00000016}.competition-bar label span{color:#98b79f}.competition-bar select{color:#f2f8ee}.competition-bar select option{background:#102b22;color:#eaf5e6}.competition-bar .group-label{border-color:#cfff681a}.notice{background:#392e15;border-color:#766230;color:#f2dbab}
.hero{isolation:isolate;background:radial-gradient(ellipse at 80% 10%,#345b32aa,transparent 55%),linear-gradient(145deg,#214e32,#09271f 75%);border:1px solid #cafb682e;box-shadow:0 22px 55px #0004,inset 0 1px 0 #ffffff08;padding:28px 30px;min-height:350px}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.7%,#cfff6809 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#cfff6809 50%,transparent 50.3%);background-size:100% 100%;pointer-events:none;z-index:0}.hero::after{width:330px;height:330px;right:-120px;top:-135px;border-color:#cfff6819;box-shadow:0 0 0 40px #cfff6803,0 0 0 80px #cfff6803}.hero .court-decoration{position:absolute;right:10px;top:68px;width:170px;height:170px;opacity:.055;transform:rotate(-22deg);z-index:0;pointer-events:none}.court-decoration svg{width:100%;height:100%;stroke-width:.7}.hero .hero-top .eyebrow{color:var(--lime);font-size:9px;letter-spacing:1.8px}.hero .tag{background:#031b1660;border-color:#d0ff6840;color:#d5edc5;font-size:9px;padding:7px 10px}.matchday-title{font-size:32px;color:#f2ffe9;letter-spacing:-1.3px;font-weight:780;line-height:1.1;margin:18px 0 2px}.hero-teams{margin:24px 0 19px;gap:25px}.hero-team{color:#f2f8ed;font-size:12px;font-weight:650;letter-spacing:.1px}.hero-team .badge{width:72px;height:72px;border-radius:20px;background:#fff;border:4px solid #f1f8e7;padding:7px;box-shadow:0 8px 25px #0003,0 0 0 1px #cfff6817;transition:transform .25s}.hero:hover .hero-team .badge{transform:translateY(-3px)}.versus{width:39px;height:39px;background:#cfff680a;border:1px solid #cfff6829;border-radius:50%;display:grid;place-items:center;color:#dcf7ba;font-size:10px;letter-spacing:1px;flex-shrink:0}.hero-date{color:#edffd5;font-size:13px}.hero-date svg{color:var(--lime)}.hero-venue{display:flex;align-items:center;justify-content:center;gap:6px;color:#a9c4ad;font-size:10px;margin-top:10px}.hero-venue svg{width:13px;height:13px}.hero-actions{display:flex;gap:9px;margin-top:21px}.hero-actions .hero-link,.hero-map{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;margin:0;padding:12px 8px;min-height:45px;border-radius:11px;line-height:1.4;font-size:11px;font-weight:700}.hero-actions .hero-link{background:#ffffff09;border:1px solid #ffffff1f;color:#edf6e6}.hero-map{background:var(--lime);color:#13321f;box-shadow:0 7px 22px #cfff6816;border:1px solid #d9ff8b}.hero-map:hover{background:#e0ff96}.hero-actions svg{width:16px;height:16px;flex-shrink:0}.hero-map svg{stroke-width:2}
.stats-panel{position:relative;overflow:hidden;background:linear-gradient(140deg,#d8ff83,#abdc55);border:1px solid #ebffbd;color:#173219;box-shadow:0 18px 44px #0002}.stats-panel::after{content:"";position:absolute;right:-36px;top:-36px;border:1px solid #163c1824;width:150px;height:150px;border-radius:50%;box-shadow:0 0 0 25px #17321905;pointer-events:none}.stats-panel .eyebrow{color:#345324}.stats-panel .club-name{color:#12321c}.big-stats strong{color:#13301b;font-size:48px;font-weight:850;letter-spacing:-2.3px}.big-stats small{color:#42602d;letter-spacing:.6px;font-size:9px}.form-row{border-color:#35522124;color:#345428}.form-chip{background:#17321912;color:#254e24;border:1px solid #264c1c19}.stats-panel .muted{color:#345428}
.section-head h2{color:#ecf5e7;font-size:21px;font-weight:720}.section-head p{color:#90aa96}.text-button{color:var(--lime)}.match-card{background:linear-gradient(125deg,#15342a,#0f2c24);border:1px solid #ffffff0e;box-shadow:0 6px 20px #0000000c;border-radius:17px;transition:transform .2s,border-color .2s,box-shadow .2s}.match-card:hover{border-color:#d0ff6850;box-shadow:0 10px 30px #0003;transform:translateY(-3px)}.match-card.club{border-left:3px solid var(--lime);background:linear-gradient(115deg,#24422a,#102f25)}.match-meta{color:#94ae9a;font-size:9px;letter-spacing:.15px}.match-meta .published{color:#caf4a7;background:#d0ff6810;border:1px solid #d0ff6817;padding:4px 6px;white-space:nowrap}.team-line{color:#e7f1e3}.team-line .badge{border:2px solid #f3f8ee;background:#fff;box-shadow:0 3px 10px #0002}.score{color:#d3ff80;font-size:23px;font-weight:800;letter-spacing:1.2px;text-shadow:0 0 25px #cfff680b}.score.pending{color:#a5bfa9}.match-bottom{color:#90aa95;line-height:1.5}.match-bottom>span:first-child{flex:1;min-width:0}.match-bottom .sets{color:#c2dfa1;font-size:9px}.match-bottom svg{color:#b5d293;margin-right:2px}
.panel{background:#102d24;border-color:#ffffff0f;box-shadow:0 14px 40px #0002}.mini-table th{background:#0b241d;color:#8da48f;font-size:8px;letter-spacing:1.4px}.mini-table td{border-color:#ffffff09;color:#deedda}.mini-table tr.highlight{background:#d0ff680b}.mini-table tr.highlight .points{color:var(--lime)}.mini-table .position{color:#95b28f}.panel-foot{color:#8ba78e;border-color:#ffffff0e;background:#ffffff02}.quick-link{background:linear-gradient(100deg,#163a2b,#133026);border:1px solid #cfff6815;box-shadow:0 7px 22px #0002}.quick-link>svg{color:var(--lime);width:32px;height:32px}.quick-link h3{color:#d9eace}.quick-link p{color:#9ab69e}
.round-switch{background:#15352a;border-color:#ffffff15;box-shadow:0 10px 30px #0002}.round-switch select{color:#f1f9eb}.round-switch button{background:#cfff6812;color:var(--lime)}.round-switch option{background:#102d24}.toggle{background:#ffffff06;border:1px solid #ffffff0d}.toggle button{color:#a4b7a2}.toggle button.active{background:#d0ff68;color:#15311d;box-shadow:0 3px 15px #0002}.rounds-strip button{background:#133326;border-color:#ffffff11;color:#9db695;transition:background .2s}.rounds-strip button.active{background:var(--lime);color:#12321c;border-color:#d9ff96;box-shadow:0 4px 18px #cfff681a}.date-heading{color:#c9deb8;display:flex;align-items:center;gap:8px;font-size:12px}.date-heading::before{content:"";width:4px;height:14px;border-radius:2px;background:var(--lime)}
.full-table th{background:#0a261d;color:#a8c39b}.full-table td{color:#d6e7ce;border-color:#ffffff09}.full-table th:first-child,.full-table td:first-child{background:#102d24;box-shadow:4px 0 15px #0002}.full-table tr.highlight td{background:#244427}.full-table td:last-child{color:var(--lime)}.table-legend{color:#95ad93}.team-card{background:radial-gradient(ellipse at 80% 0%,#31532e35,transparent 70%),#133125;border:1px solid #ffffff0e;box-shadow:0 10px 24px #0001;transition:transform .2s,border-color .2s}.team-card:hover{transform:translateY(-3px);border-color:#cfff6830}.team-card .badge{background:#fff;border:3px solid #edf6e7;box-shadow:0 7px 20px #0002}.team-card .favorite{color:#91ab90;border-radius:10px}.team-card .favorite.selected{color:var(--lime);background:#d0ff6810}.team-card .favorite.selected svg{fill:#d0ff6825}.team-card h3{color:#f0f6e8}.team-card p{color:#9db496}.team-card .team-action{background:#cfff680e;color:#d0f496;border:1px solid #cfff681b}.team-card .team-action:hover{background:#cfff681f}.search-field{background:#133326;color:#edf6e9;border-color:#ffffff14}.search-field::placeholder{color:#9bb594}.empty{background:#123024;border-color:#ffffff10;color:#c8dbc0}.loading{color:#b5cdaa}.loading span{border-color:#cfff6812;border-top-color:var(--lime)}
footer{border-color:#cfff6815;color:#90ab8f;gap:13px;line-height:1.9}.developer-signature{flex-basis:100%;display:flex;gap:14px;align-items:center;padding:22px 24px;margin-bottom:7px;background:linear-gradient(110deg,#cfff680b,#cfff6802);border:1px solid #cfff6819;border-radius:16px}.developer-signature .olipep-symbol{height:44px;width:44px;font-size:38px;border-radius:13px}.developer-signature small{display:block;color:#a1bd91;font-size:8px;letter-spacing:1.8px}.developer-signature strong{display:block;color:#effcde;font-size:16px;font-weight:700;letter-spacing:-.3px}.developer-signature div>span{display:block;font-size:10px;color:#9db38f}.developer-signature .olipep-symbol>span{font-size:28px}
dialog{background:radial-gradient(ellipse at 100% 0%,#345d3430,transparent 50%),#102d24;color:#e9f4e2;border:1px solid #cfff6828;box-shadow:0 35px 120px #0008}dialog::backdrop{background:#00120ecc;backdrop-filter:blur(9px)}dialog .hero{padding:22px;margin-bottom:22px;border-radius:16px;min-height:0;box-shadow:0 10px 20px #0001}dialog .hero .matchday-title{font-size:25px}dialog .hero-teams{margin:22px 0 16px}dialog .hero-team .badge{width:59px;height:59px;border-radius:16px;padding:4px}dialog .hero-date{font-size:11px}dialog h3{color:#d4edbb}.detail-data{color:#d9eacd;padding:0 4px}.detail-data strong{color:#98b98d;letter-spacing:1.2px}.detail-data strong svg{width:14px;height:14px;vertical-align:middle;position:relative;top:-1px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.detail-actions a,.detail-actions button{display:flex;align-items:center;justify-content:center;gap:7px;background:#cfff6808;border-color:#cfff681f;color:#d2edb8;border-radius:11px;font-size:11px;padding:13px 10px;line-height:1.4}.detail-actions svg{height:17px;width:17px;flex-shrink:0}.detail-actions .map-action{grid-column:1/-1;background:var(--lime);color:#13331e;font-size:13px;font-weight:750;padding:17px;border:1px solid #e3ffa4;box-shadow:0 7px 24px #cfff6815;justify-content:flex-start}.map-action svg:first-child{width:24px;height:24px;stroke-width:2}.map-action svg:last-child{margin-left:auto;width:17px;height:17px}.detail-credit{font-size:9px;text-align:center;color:#8eae85;margin:22px 0 0}.detail-credit strong{font-weight:600;color:#c4dba4}.set-cell{background:#cfff6808;border-color:#cfff6818;color:var(--lime)}.set-cell small{color:#97b589}dialog .close-dialog{background:#ffffff06;border:1px solid #ffffff13;color:#d4e7c9;min-height:43px;margin-top:18px}.primary{background:var(--lime);color:#15321e;font-weight:650}.secondary{background:#ffffff08;color:#d1e4c8}#endpoint{background:#0a251b;border-color:#cfff6820;color:#edf6e6}#toast{background:var(--lime);color:#14331d;box-shadow:0 12px 40px #0005}
@media(max-width:1150px){.developer-ribbon{padding:12px 25px}.page-heading h1{font-size:34px}.hero{padding:25px}.matchday-title{font-size:29px}.hero-team .badge{width:66px;height:66px}.hero{min-height:350px}}
@media(max-width:900px){.hero{min-height:360px}.hero-team .badge{width:75px;height:75px}.hero-teams{gap:35px}.dashboard-right .stats-panel{min-height:250px}}
@media(max-width:680px){.topbar{height:66px;background:#061b17ea;border-color:#ffffff08}.mobile-brand{color:#e8f4df}.mobile-brand b{color:var(--lime);font-size:19px}.mobile-brand b span{color:var(--lime)}.icon-button{background:#cfff6807;border-color:#cfff6818;width:37px;height:37px}.developer-ribbon{padding:9px 18px;gap:8px;background:linear-gradient(90deg,#cfff6809,transparent)}.developer-ribbon .olipep-symbol{width:27px;height:27px;font-size:25px;border-radius:8px}.developer-ribbon .olipep-symbol>span{font-size:19px;top:-5px}.developer-ribbon small{font-size:6px;letter-spacing:1.5px;margin-bottom:2px}.developer-ribbon strong{font-size:10px}.ribbon-note{display:none}main{padding:22px 16px 102px}.page-heading{gap:11px;margin-bottom:18px}.page-heading h1{font-size:30px;letter-spacing:-1.25px;line-height:1.1}.page-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.sync-pill{font-size:8px;padding:7px 9px}.competition-bar{padding:12px;margin-bottom:20px;gap:10px;border-radius:13px}.competition-bar select{font-size:10px}.competition-bar .group-label{flex-basis:99px;padding-left:10px}.competition-bar label span{font-size:7px;letter-spacing:1.4px}.hero{padding:23px 19px 19px;border-radius:22px;min-height:350px}.hero .hero-top .eyebrow{font-size:8px;letter-spacing:1.5px}.hero .tag{font-size:8px;padding:6px 8px}.matchday-title{font-size:27px;letter-spacing:-1.1px;margin-top:18px}.hero .court-decoration{width:145px;height:145px;right:2px;top:68px}.hero-teams{gap:15px;margin:25px 0 20px}.hero-team{font-size:10px;line-height:1.5;width:40%}.hero-team .badge{width:65px;height:65px;border-radius:18px;border-width:3px;padding:6px;margin-bottom:10px}.versus{height:32px;width:32px;font-size:9px}.hero-date{font-size:11px;gap:6px}.hero-date svg{height:15px;width:15px}.hero-venue{font-size:9px;margin-top:9px;gap:5px}.hero-venue svg{width:12px;height:12px}.hero-actions{gap:8px;margin-top:21px}.hero-actions .hero-link,.hero-map{font-size:10px;padding:11px 7px;min-height:43px;gap:7px}.hero-actions svg{width:15px;height:15px}.section-head{margin:24px 0 13px}.section-head h2{font-size:19px;letter-spacing:-.55px}.section-head p{font-size:9px}.text-button{font-size:10px}.match-card{padding:14px;border-radius:15px}.match-meta{font-size:8px;letter-spacing:0;gap:4px}.match-meta .published{font-size:7px;padding:4px 5px}.score{font-size:21px}.match-bottom{font-size:8px;align-items:flex-start;gap:7px}.match-bottom .sets{max-width:47%;font-size:8px;line-height:1.7;text-align:right;word-spacing:1px}.team-line{font-size:9px;line-height:1.5}.team-line .badge{width:31px;height:31px;border-radius:9px;padding:3px}.stats-panel{border-radius:20px;padding:23px;margin-bottom:22px;min-height:0!important}.stats-panel .club-name{font-size:19px}.big-stats strong{font-size:43px}.big-stats small{font-size:8px;letter-spacing:.6px}.form-row{font-size:9px}.round-switch{border-radius:13px}.rounds-strip{scrollbar-color:#658446 transparent}.rounds-strip button{border-radius:10px}.toggle button{font-size:10px}.mini-table th{font-size:8px}.mini-table td{font-size:11px}.mini-table .team-line{font-size:9px}.team-card{padding:19px 13px;border-radius:17px}.team-card .badge{width:49px;height:49px;border-radius:14px}.team-card h3{font-size:11px;line-height:1.5}.team-card .team-action{border-radius:10px;min-height:43px}.team-card .favorite{padding:7px}.team-card .favorite svg{width:19px;height:19px}.bottom-nav{background:#0b251de8;border-color:#cfff6820;padding:9px 10px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0004;backdrop-filter:blur(18px);gap:5px}.bottom-nav .nav-item{color:#96ac8e;border-radius:13px;min-height:49px;padding:7px 4px;font-size:8px;gap:5px;transition:background .2s}.bottom-nav .nav-item svg{width:19px;height:19px}.bottom-nav .nav-item.active{background:var(--lime);color:#19351e;font-weight:700;box-shadow:0 5px 20px #cfff6814}.bottom-nav .nav-item:hover:not(.active){background:#ffffff05}.developer-signature{padding:18px 16px;gap:12px;border-radius:17px}.developer-signature strong{font-size:14px}.developer-signature small{font-size:7px;letter-spacing:1.4px}.developer-signature div>span{font-size:8px}.developer-signature .olipep-symbol{width:38px;height:38px;font-size:32px;border-radius:11px}footer{font-size:8px;gap:10px}dialog{padding:21px;border-radius:24px;max-height:89dvh}dialog .hero{padding:20px 16px;min-height:0}dialog .hero .matchday-title{font-size:25px}dialog .hero-team .badge{width:58px;height:58px}dialog .hero-team{font-size:9px}dialog .hero .tag{font-size:7px}.detail-actions a,.detail-actions button{font-size:10px;gap:6px;padding:12px 8px}.detail-actions .map-action{font-size:12px;min-height:57px}.detail-credit{font-size:8px}.detail-data{font-size:11px;line-height:1.9}.detail-data strong{font-size:9px}.set-cell{padding:11px 4px}.empty{font-size:12px}.notice{font-size:10px}}
@media(max-width:360px){.page-heading h1{font-size:27px}.hero{padding:21px 16px 18px}.matchday-title{font-size:24px}.hero .hero-top .eyebrow{font-size:7px}.hero-date{font-size:10px}.hero-team{font-size:9px}.match-meta{flex-wrap:wrap;row-gap:6px}.hero-actions .hero-link,.hero-map{font-size:9px}.competition-bar .group-label{flex-basis:87px}.team-line{font-size:8px}.team-line .badge{width:27px;height:27px}}
@media(max-width:680px){.developer-ribbon strong{font-size:12px}.developer-ribbon small{font-size:7px}.hero-team{font-size:11px}.hero-date{font-size:12px}.team-line{font-size:11px}.match-meta{font-size:9px}.match-meta .published{font-size:8px}.match-bottom{font-size:10px}.match-bottom .sets{font-size:9px}.detail-credit{font-size:10px}.bottom-nav .nav-item{font-size:9px}.mini-table .team-line{font-size:11px}.hero-venue{font-size:10px}.competition-bar select{font-size:11px}.hero-map,.hero-actions .hero-link{font-size:11px}}
@media(max-width:360px){.team-line{font-size:10px}.hero-team{font-size:10px}.hero-date{font-size:11px}.competition-bar select{font-size:10px}}
@media(max-width:680px){.top-actions .icon-button{width:44px;height:44px}.hero-actions .hero-link,.hero-map{min-height:46px}.team-card .favorite{min-width:44px;min-height:44px}.rounds-strip button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.hero:hover .hero-team .badge,.match-card:hover,.team-card:hover,.icon-button:hover{transform:none}}
