:root{--ink:#12253d;--muted:#708096;--line:#e6ebf1;--cyan:#00a9c1;--blue:#0f2c52;--paper:#f6f8fb;--white:#fff}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:20;background:#10233d;flex-direction:column;width:226px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0 10px 34px;display:flex}.brand-mark{color:#72e0e8;border:1px solid #4ed1dd;border-radius:8px 2px;place-items:center;width:38px;height:38px;font:italic 900 22px Georgia;display:grid;transform:skew(-5deg)}.brand small{letter-spacing:2px;color:#7f94aa;margin-top:3px;font-size:7px;display:block}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#9eb0c4;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:14px;height:48px;padding:0 14px;font-size:14px;transition:all .2s;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#1e3b5e}.sidebar nav button.active{box-shadow:inset 3px 0 #2bd4df}.nav-icon{text-align:center;width:19px;font-size:17px}.side-footer{margin-top:auto}.side-footer>button{color:#8499b0;background:0 0;border:0;gap:14px;padding:14px;display:flex}.mini-profile{border-top:1px solid #29415d;align-items:center;gap:10px;padding:20px 8px 0;display:flex}.avatar{color:#068a9b;background:#dff7f7;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.mini-profile b,.mini-profile small{display:block}.mini-profile small{color:#8094aa;margin-top:3px;font-size:10px}.mini-profile i{color:#7d90a5;margin-left:auto;font-size:10px}.content{min-height:100vh;margin-left:226px}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;align-items:center;height:72px;padding:0 44px;display:flex;position:sticky;top:0}.search{color:#96a3b3;align-items:center;gap:8px;width:370px;display:flex}.search input{width:100%;color:var(--ink);border:0;outline:0;font-size:13px}.top-actions{align-items:center;gap:15px;margin-left:auto;display:flex}.icon-btn{background:0 0;border:0;width:38px;height:38px;font-size:20px;position:relative}.icon-btn i{color:#fff;background:#f05e62;border-radius:50%;place-items:center;width:17px;height:17px;font:9px sans-serif;display:grid;position:absolute;top:0;right:-1px}.primary-btn,.outline-btn{border-radius:6px;height:40px;padding:0 18px;font-size:13px;font-weight:700}.primary-btn{background:var(--cyan);color:#fff;border:0;box-shadow:0 6px 14px #00a9c129}.outline-btn{color:var(--ink);background:#fff;border:1px solid #d4dce5}.page{max-width:1480px;margin:auto;padding:38px 44px 70px}.welcome{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.eyebrow,.section-label{color:#05a5bb;letter-spacing:2px;margin:0 0 7px;font-size:9px;font-weight:900}.welcome h1,.page-title h1{margin:0 0 8px;font-family:Georgia,Songti SC,serif;font-size:28px}.welcome h1 span{font-family:sans-serif}.welcome>div>p:last-child,.page-title>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.hero-grid{grid-template-columns:1.6fr 1fr;gap:20px;display:grid}.live-card{color:#fff;background:linear-gradient(135deg,#142f51,#0c1e36);border-radius:10px;padding:24px 28px 0;overflow:hidden;box-shadow:0 14px 34px #12253d20}.live-top{color:#a9b8c8;align-items:center;gap:12px;font-size:11px;display:flex}.live-pill{color:#fa686b;letter-spacing:1px;font-weight:800}.live-pill i{background:#fa686b;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 0 5px #fa686b18}.score-row{justify-content:center;align-items:center;gap:45px;padding:26px 0 20px;display:flex}.team{text-align:center;min-width:100px}.team-logo{border:3px solid #fff2;border-radius:50%;place-items:center;width:42px;height:42px;margin:auto auto 8px;font-weight:900;display:grid}.team-logo.cyan{background:#0a9fb4}.team-logo.coral{background:#e46660}.team b,.team small{display:block}.team b{font-size:13px}.team small{letter-spacing:1.5px;color:#8097ae;margin-top:4px;font-size:7px}.score{text-align:center;grid-template-columns:auto auto auto;align-items:center;gap:14px;display:grid}.score span{font:700 37px Georgia}.score em{color:#70859a;font-style:normal}.score small{color:#6f859a;grid-column:1/4;font-size:9px}.court-line{color:#94a9bd;border-top:1px solid #ffffff17;justify-content:space-between;padding:12px 0;font-size:10px;display:flex}.court-line b{color:#fff;letter-spacing:1px}.live-card>button{color:#6bd6df;background:#ffffff06;border:0;border-top:1px solid #ffffff17;width:calc(100% + 56px);height:40px;margin:0 -28px;font-size:10px;font-weight:700}.next-card{background:#fff;border-radius:10px;padding:24px 26px;box-shadow:0 8px 26px #17314c0d}.date-block{align-items:center;gap:10px;margin:18px 0 12px;display:flex}.date-block>b{color:#0a99ad;font:700 45px/.8 Georgia}.date-block>span{color:#0a99ad;font-size:10px;font-weight:900}.date-block small{color:#8090a1;margin-top:5px;font-weight:500;display:block}.next-card h3{margin:0 0 8px;font:700 18px Georgia}.next-card>p{color:var(--muted);font-size:11px}.avatars{align-items:center;margin-top:21px;display:flex}.avatars span{color:#fff;background:#1a405d;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:9px;display:grid}.avatars span+span{background:#19a7b6;margin-left:-7px}.avatars i{color:#8090a0;margin-left:auto;font-size:9px;font-style:normal}.section-head{justify-content:space-between;align-items:end;margin:38px 0 16px;display:flex}.section-head h2{margin:0;font:700 21px Georgia,Songti SC,serif}.section-head>button,.section-head div+button{color:#118da0;background:0 0;border:0;font-size:10px;font-weight:700}.event-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.event-card{background:#fff;border:1px solid #edf0f3;border-radius:9px;outline:0;transition:all .2s;overflow:hidden}.event-card:hover,.event-card:focus{transform:translateY(-3px);box-shadow:0 12px 28px #16304c12}.event-art{background:#dceef1;height:116px;padding:15px;position:relative;overflow:hidden}.event-art:after{content:"";border:28px solid #ffffff18;border-radius:50%;width:170px;height:170px;position:absolute;top:-60px;right:-30px}.event-art.blue{background:linear-gradient(135deg,#203a67,#4f76a0)}.event-art.orange{background:linear-gradient(135deg,#e9764d,#efaa68)}.event-art.purple{background:linear-gradient(135deg,#5a4592,#a277ba)}.event-art.green{background:linear-gradient(135deg,#17776c,#61b195)}.event-status{color:#1b7f92;background:#fff;border-radius:3px;padding:5px 8px;font-size:8px;font-weight:800}.event-art i{color:#ffffff26;font:italic 900 64px Georgia;position:absolute;bottom:20px;right:50px}.event-art b{color:#fff;font:700 34px Georgia;position:absolute;bottom:20px;right:18px}.event-art small{color:#fffa;font-size:7px;position:absolute;bottom:10px;right:22px}.event-body h3{margin:0 0 9px;font:700 14px Georgia,Songti SC}.event-body p{color:#7d8a98;margin:0 0 13px;font-size:9px}.progress{background:#ecf0f3;border-radius:3px;height:3px;overflow:hidden}.progress span{background:#11a9bd;height:100%;display:block}.event-foot{color:#7d8997;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;display:flex}.event-foot b{color:#0b9eb2}.event-foot button{color:#128ea1;background:0 0;border:0;font-size:9px}.lower-grid{grid-template-columns:1.4fr 1fr;gap:26px;display:grid}.section-head.compact{margin:34px 0 13px}.post-card{background:#fff;border:1px solid #edf0f3;border-radius:9px;padding:18px}.post-author{align-items:center;gap:10px;display:flex}.avatar.purple{color:#835ca1;background:#ede4f7}.post-author div b,.post-author div small{display:block}.post-author small{color:#9aa5b0;margin-top:3px;font-size:8px}.post-author button{color:#8d99a6;background:0 0;border:0;margin-left:auto}.post-card>p{margin:15px 0;font-size:12px;line-height:1.8}.post-tag{color:#60758a;background:#f4f8fa;padding:10px;font-size:9px}.post-actions{border-top:1px solid #eef1f3;gap:17px;margin-top:14px;padding-top:12px;display:flex}.post-actions button{color:#7c8996;background:0 0;border:0;font-size:10px}.post-actions button:last-child{color:#0b94a6;margin-left:auto;font-weight:800}.post-actions .liked{color:#e65d70}.post-actions .joined{color:#fff;background:#10a7bb;border-radius:4px;padding:4px 9px}.venue-mini-list{background:#fff;border:1px solid #edf0f3;border-radius:9px;padding:3px 17px}.venue-mini-list button{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:13px 0;display:flex}.venue-mini-list button+button{border-top:1px solid #edf0f3}.venue-thumb{color:#fff;border-radius:5px;place-items:center;width:47px;height:42px;font-size:20px;display:grid}.v1{background:linear-gradient(135deg,#1c6b73,#8dc6ad)}.v2{background:linear-gradient(135deg,#ba6d50,#efb36d)}.v3{background:linear-gradient(135deg,#55488e,#aa87c1)}.venue-mini-list b,.venue-mini-list small{display:block}.venue-mini-list small{color:#8b98a5;margin-top:5px;font-size:8px}.venue-mini-list strong{text-align:center;color:#0aa0b3;margin-left:auto;font:700 18px Georgia}.venue-mini-list strong small{font:7px sans-serif}.mobile-brand,.mobile-nav{display:none}.toast{z-index:50;color:#fff;background:#10233d;border-radius:8px;padding:14px 19px;font-size:12px;animation:.25s up;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 34px #0d213b44}.toast span{color:#63dae1;margin-right:9px}@keyframes up{0%{opacity:0;transform:translateY(8px)}}.page-title{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.page-title h1{font-size:32px}.tab-row{border-bottom:1px solid #dfe5eb;gap:28px;margin-bottom:22px;display:flex}.tab-row button{color:#7a8795;background:0 0;border:0;padding:0 2px 14px;font-size:12px}.tab-row button.active{color:#102b48;border-bottom:2px solid #0aa8bb;font-weight:800}.tab-row i{vertical-align:top;background:#ef6268;border-radius:50%;width:5px;height:5px;display:inline-block}.event-grid.wide{grid-template-columns:repeat(4,1fr)}.draw-panel{color:#fff;background:#102d4c;border-radius:10px;align-items:center;gap:30px;margin-top:28px;padding:28px 32px;display:flex}.draw-panel h2{margin:0 0 8px;font:700 21px Georgia}.draw-panel p:last-child{color:#9db0c2;margin:0;font-size:11px}.draw-panel .outline-btn{color:#71d9e0;background:0 0;border-color:#42617d;margin-left:auto}.draw-balls{margin-left:auto;display:flex}.draw-balls span{color:#13314f;background:#fff;border:3px solid #173854;border-radius:50%;place-items:center;width:42px;height:42px;margin-left:-5px;font:700 14px Georgia;display:grid}.community-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px;display:grid}.composer{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:12px;height:68px;padding:0 18px;display:flex}.composer button{text-align:left;color:#9ba5ae;background:#f4f6f8;border:0;border-radius:18px;flex:1;padding:10px 15px;font-size:11px}.composer i{font-style:normal}.post-card.large{margin-top:17px}.rally-visual{color:#ffffff40;letter-spacing:2px;background:linear-gradient(135deg,#143959,#0d9cac);justify-content:center;align-items:center;gap:20px;height:170px;margin:14px 0;font:900 30px Georgia;display:flex;position:relative;overflow:hidden}.rally-visual:after{content:"";border:40px solid #ffffff0c;border-radius:50%;width:230px;height:230px;position:absolute;right:-70px}.rally-visual b{color:#fff;font-size:46px}.rally-visual span{color:#72dce3;font:700 12px sans-serif}.groups-panel{border:1px solid var(--line);background:#fff;border-radius:9px;height:max-content;padding:0 18px}.groups-panel .section-head{margin:0;padding:20px 0 12px}.group-row{text-align:left;background:0 0;border:0;border-top:1px solid #eff2f4;align-items:center;gap:12px;width:100%;padding:14px 0;display:flex}.group-row>span{background:#e9f7f7;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.group-row b,.group-row small{display:block}.group-row b{font-size:11px}.group-row small{color:#8b98a5;margin-top:4px;font-size:8px}.group-row i{color:#9ba7b2;margin-left:auto;font-style:normal}.all-groups{color:#0b96a9;background:0 0;border:0;border-top:1px solid #eff2f4;width:100%;padding:16px;font-size:10px}.date-picker{border:1px solid var(--line);background:#fff;border-radius:10px;gap:10px;width:max-content;padding:12px;display:flex}.date-picker button{color:#7d8995;background:0 0;border:0;border-radius:7px;width:62px;height:64px}.date-picker span,.date-picker b{display:block}.date-picker span{margin-bottom:6px;font-size:9px}.date-picker b{font:700 18px Georgia}.date-picker button.active{color:#fff;background:#0c9fb3;box-shadow:0 7px 15px #0c9fb32b}.filter-row{color:#758494;justify-content:space-between;align-items:center;margin:24px 0 14px;font-size:11px;display:flex}.filter-row button{color:#546477;background:#fff;border:1px solid #dfe5ea;border-radius:5px;margin-left:7px;padding:8px 11px;font-size:9px}.venue-list{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.venue-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.venue-hero{color:#fff;flex-direction:column;justify-content:space-between;height:128px;padding:14px;display:flex}.venue-hero>span{color:#23415b;background:#fffd;border-radius:3px;align-self:flex-start;padding:5px 8px;font-size:8px}.venue-hero>b{letter-spacing:3px;color:#ffffff80;font:700 22px Georgia}.venue-info{padding:17px}.venue-title{justify-content:space-between;display:flex}.venue-title h3{margin:0 0 7px;font:700 15px Georgia}.venue-title p{color:#82909c;margin:0;font-size:9px}.venue-title strong{text-align:center;color:#079caf;font:700 22px Georgia}.venue-title strong small{font:7px sans-serif;display:block}.slot-label{color:#7f8c98;margin:17px 0 8px;font-size:9px}.slots{flex-wrap:wrap;gap:7px;display:flex}.slots button{color:#536577;background:#fff;border:1px solid #dce3e8;border-radius:4px;padding:7px 9px;font-size:9px}.slots button.active{color:#07899a;background:#e8f8fa;border-color:#079caf;font-weight:800}.book-btn{color:#fff;background:#0ba2b6;border:0;border-radius:5px;width:100%;height:38px;margin-top:16px;font-size:10px;font-weight:800}.book-btn span{float:right;margin-right:8px}.book-btn:disabled{color:#9ba5ae;cursor:not-allowed;background:#e8ecef}@media (width<=1050px){.sidebar{width:190px}.content{margin-left:190px}.page{padding-left:28px;padding-right:28px}.topbar{padding:0 28px}.event-grid.wide,.venue-list{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.sidebar{display:none}.content{margin-left:0}.topbar{height:62px;padding:0 16px}.mobile-brand{align-items:center;gap:8px;display:flex}.mobile-brand .brand-mark{width:31px;height:31px}.search,.top-actions .primary-btn{display:none}.page{padding:25px 16px 92px}.welcome,.page-title{align-items:flex-start}.welcome .outline-btn{display:none}.welcome h1,.page-title h1{font-size:25px}.hero-grid,.lower-grid,.community-layout{grid-template-columns:1fr}.score-row{gap:12px}.live-card{padding-left:17px;padding-right:17px}.live-card>button{width:calc(100% + 34px);margin-left:-17px}.event-grid,.event-grid.wide,.venue-list{grid-template-columns:1fr}.lower-grid{gap:0}.mobile-nav{border-top:1px solid var(--line);z-index:30;background:#fff;grid-template-columns:repeat(4,1fr);height:66px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8794a2;background:0 0;border:0;font-size:8px}.mobile-nav span{margin-bottom:5px;font-size:17px;display:block}.mobile-nav button.active{color:#069caf}.date-picker{width:100%;overflow:auto}.date-picker button{min-width:54px}.page-title>.primary-btn{padding:0 12px;font-size:10px}.draw-panel{display:block}.draw-balls{margin:20px 0}.draw-panel .outline-btn{margin:0}.toast{text-align:center;bottom:82px;left:20px;right:20px}.tab-row{overflow:auto}.tab-row button{white-space:nowrap}.filter-row{align-items:flex-start}.filter-row div{display:flex}.filter-row button{white-space:nowrap}}.role-chip,.admin-lock,.privacy-note{color:#66778a;background:#f6f8fa;border:1px solid #dce4ea;border-radius:20px;padding:8px 12px;font-size:9px;font-weight:700}.event-grid{grid-template-columns:minmax(280px,420px)}.tournament-card{padding-bottom:0}.tournament-copy>p{letter-spacing:2px;color:#76dce4;margin:0 0 5px;font-size:8px}.tournament-copy h2{margin:0 0 17px;font:700 30px Georgia,Songti SC}.tournament-copy div{gap:8px;display:flex}.tournament-copy div span{color:#b9c8d5;background:#ffffff0e;border:1px solid #ffffff12;border-radius:4px;padding:7px 10px;font-size:9px}.single-event-hero{color:#fff;background:linear-gradient(115deg,#102d4c,#0c6e7b);border-radius:12px;justify-content:space-between;min-height:214px;padding:29px 34px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px #12253d18}.single-event-hero:after{content:"";border:48px solid #ffffff0a;border-radius:50%;width:310px;height:310px;position:absolute;top:-100px;right:-80px}.single-event-hero .event-status{color:#13334e;background:#68dee2}.single-event-hero p{letter-spacing:2px;color:#7bd9de;margin:20px 0 5px;font-size:8px}.single-event-hero h2{margin:0;font:700 27px Georgia,Songti SC}.event-metrics{gap:25px;margin-top:26px;display:flex}.event-metrics span{color:#a9bdcc;font-size:9px}.event-metrics b{color:#fff;margin-bottom:2px;font:700 18px Georgia;display:block}.hero-racket{color:#ffffff16;align-self:center;margin-right:70px;font:italic 900 92px Georgia;transform:rotate(-10deg)}.schedule-tabs{margin-top:31px}.schedule-card,.directory-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.schedule-heading{justify-content:space-between;align-items:end;padding:22px 24px 15px;display:flex}.schedule-heading h2{margin:0;font:700 20px Georgia}.schedule-heading>span{color:#82909e;font-size:9px}.table-scroll{overflow:auto}.schedule-table,.members-table{border-collapse:collapse;width:100%;min-width:960px}.schedule-table th,.members-table th{color:#708093;letter-spacing:.5px;text-align:left;background:#f4f7f9;border-top:1px solid #e8edf1;border-bottom:1px solid #e8edf1;padding:12px 14px;font-size:9px}.schedule-table td,.members-table td{color:#526377;border-bottom:1px solid #edf1f4;padding:12px 14px;font-size:10px}.schedule-table td:first-child{color:#16324e;white-space:nowrap;font-weight:800}.schedule-table td:nth-child(2){color:#18324e;font-weight:700}.schedule-table .match-row{background:#f9fcfc}.status-tag{color:#078ea1;white-space:nowrap;background:#e9f8fa;border-radius:12px;padding:4px 8px;font-size:8px;display:inline-block}.status-tag.done{color:#71808e;background:#eef1f3}.team-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.team-summary>button{text-align:left;background:#fff;border:2px solid #0000;border-radius:10px;align-items:flex-start;gap:12px;padding:20px 17px;transition:all .2s;display:flex;box-shadow:0 6px 18px #1b324908}.team-summary>button:hover,.team-summary>button.active{border-color:currentColor;transform:translateY(-2px)}.team-summary .team-number{opacity:.35;font:700 25px Georgia}.team-summary h3{margin:1px 0 5px;font:700 15px Georgia}.team-summary p{margin:0 0 5px;font-size:9px}.team-summary small{opacity:.7;font-size:8px}.team-summary i{margin-left:auto;font-style:normal}.team-summary .potato{color:#a87a15;background:#fff9e9}.team-summary .donut{color:#bb6a3d;background:#fff2e9}.team-summary .match{color:#3d815d;background:#edf7e9}.team-summary .safeguard{color:#4b6c9f;background:#eef3fb}.directory-tools{justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.member-search{color:#83919f;background:#f4f7f9;border-radius:6px;align-items:center;gap:7px;width:220px;padding:9px 11px;display:flex}.member-search input{background:0 0;border:0;outline:0;width:100%;font-size:10px}.filter-chips{gap:7px;display:flex;overflow:auto}.filter-chips button{color:#71808f;white-space:nowrap;background:#fff;border:1px solid #dfe5ea;border-radius:15px;padding:6px 10px;font-size:8px}.filter-chips button.active{color:#fff;background:#143350;border-color:#143350}.members-table td:nth-child(2) b{color:#16324e}.team-dot{border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.team-dot.potato{background:#e0ad39}.team-dot.donut{background:#e78c58}.team-dot.match{background:#70a95a}.team-dot.safeguard{background:#6f91c6}.level{border-radius:12px;padding:4px 8px;font-size:8px}.level-黄金{color:#9b7112;background:#fff3cc}.level-铂金{color:#556477;background:#eef1f5}.level-白银{color:#77838d;background:#f4f6f8}.level-青铜{color:#a06c53;background:#f7eee9}.masked-phone{letter-spacing:.5px;font-family:monospace}.captain-tag{color:#fff;background:#153854;border-radius:3px;padding:4px 7px;font-size:8px}.directory-foot{color:#8995a0;background:#fafbfc;justify-content:space-between;padding:13px 20px;font-size:8px;display:flex}@media (width<=1050px){.team-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.top-actions .role-chip{padding:6px 8px;font-size:7px}.mobile-nav{grid-template-columns:repeat(5,1fr)}.mobile-nav button{font-size:7px}.mobile-nav span{font-size:16px}.team-summary{grid-template-columns:1fr}.single-event-hero{padding:25px 20px}.hero-racket{display:none}.event-metrics{flex-wrap:wrap;gap:14px}.directory-tools{display:block}.member-search{width:100%;margin-bottom:12px}.directory-foot{display:block}.directory-foot span{margin:4px 0;display:block}.admin-lock,.privacy-note{white-space:nowrap;font-size:7px}.schedule-heading{align-items:flex-start}.schedule-heading>span{display:none}}.live-stock{color:#26805c;background:#eaf8f2;border-radius:20px;align-items:center;gap:7px;padding:8px 12px;font-size:9px;font-weight:800;display:flex}.live-stock i{background:#35b77b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #35b77b1c}.venue-overview{color:#fff;background:#102d4c;border-radius:11px;grid-template-columns:1.5fr 1fr;margin-bottom:20px;display:grid;overflow:hidden}.venue-cover{background:linear-gradient(115deg,#12385b,#087d8a);flex-direction:column;justify-content:center;min-height:150px;padding:27px 30px;display:flex;position:relative;overflow:hidden}.venue-cover:after{content:"04";color:#ffffff0d;font:900 110px Georgia;position:absolute;top:15px;right:35px}.venue-cover span{letter-spacing:2px;color:#76dce4;font-size:8px}.venue-cover b{margin:8px 0;font:700 25px Georgia,Songti SC}.venue-cover small{color:#b4c7d2;font-size:9px}.venue-stats{text-align:center;grid-template-columns:repeat(3,1fr);align-items:center;display:grid}.venue-stats span{color:#9fb3c3;font-size:8px}.venue-stats span+span{border-left:1px solid #ffffff15}.venue-stats b{color:#fff;margin-bottom:5px;font:700 25px Georgia;display:block}.booking-panel{border:1px solid var(--line);background:#fff;border-radius:11px;padding:22px;overflow:hidden}.booking-step{align-items:center;gap:10px;margin-bottom:13px;display:flex}.booking-step>span{color:#fff;background:#143653;border-radius:50%;place-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:grid}.booking-step div b,.booking-step div small{display:block}.booking-step div small{color:#84919d;margin-top:3px;font-size:8px}.booking-dates{margin-bottom:26px}.booking-dates button{position:relative}.booking-dates button small{opacity:.7;margin-top:3px;font-size:7px;display:block}.slot-legend{color:#7b8995;align-items:center;gap:5px;font-size:8px;margin-left:auto!important;display:flex!important}.slot-legend i{border-radius:2px;width:10px;height:10px;margin-left:8px}.slot-legend .free{background:#e8f7f2;border:1px solid #9bd7c2}.slot-legend .booked{background:#eef1f3;border:1px solid #d8dee3}.slot-legend .chosen{background:#0aa4b7}.my-booking-banner{color:#207456;background:#e9f8f4;border:1px solid #c1ebdc;border-radius:6px;margin:0 0 14px 34px;padding:10px 13px;font-size:9px}.my-booking-banner.warn{color:#946526;background:#fff5e8;border-color:#f4d8ae}.court-inventory{border:1px solid #e5eaee;border-radius:8px;transition:all .2s;overflow:auto}.court-inventory.is-loading{opacity:.55}.time-scale,.court-row{grid-template-columns:105px repeat(18,62px);min-width:1221px;display:grid}.time-scale{background:#f5f7f9;border-bottom:1px solid #e4e9ed}.time-scale span,.time-scale b{color:#82909d;text-align:center;padding:10px 5px;font-size:7px}.time-scale b{border-left:1px solid #e8ecef;font-weight:600}.court-row+.court-row{border-top:1px solid #edf0f2}.court-name{z-index:2;background:#fff;border-right:1px solid #e6ebef;grid-template-rows:auto auto;grid-template-columns:32px auto;align-content:center;padding:10px;display:grid;position:sticky;left:0}.court-name>span{color:#fff;background:#153a57;border-radius:6px;grid-row:1/3;place-items:center;width:27px;height:27px;font:700 12px Georgia;display:grid}.court-name b{margin-left:7px;font-size:9px}.court-name small{color:#8b98a2;margin:2px 0 0 7px;font-size:7px}.court-slots{display:contents}.court-slots button{color:#25795b;background:#eaf8f3;border:0;border-left:1px solid #edf0f2;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:58px;display:flex}.court-slots button:hover:not(:disabled),.court-slots button.chosen{color:#fff;background:#0aa4b7;box-shadow:inset 0 0 0 2px #087f8f}.court-slots button.booked{color:#a2acb4;cursor:not-allowed;background:#f0f2f4}.court-slots button:disabled:not(.booked){cursor:not-allowed;opacity:.45}.court-slots button span{font-size:8px;font-weight:800}.court-slots button small{font-size:7px}.booking-submit{background:#f7f9fa;border-radius:7px;justify-content:space-between;align-items:center;margin-top:17px;padding:13px 15px;display:flex}.booking-submit div span,.booking-submit div b{display:block}.booking-submit div span{color:#82909d;margin-bottom:3px;font-size:8px}.booking-submit div b{color:#17344e;font-size:11px}.booking-submit .book-btn{width:auto;margin:0;padding:0 24px}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b1f34a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.booking-modal{background:#fff;border-radius:13px;width:min(440px,100%);padding:30px;position:relative;box-shadow:0 22px 70px #07152555}.modal-close{color:#81909c;background:0 0;border:0;font-size:22px;position:absolute;top:12px;right:15px}.modal-icon{background:#e8f8fa;border-radius:50%;place-items:center;width:45px;height:45px;margin-bottom:16px;font-size:20px;display:grid}.booking-modal h2{margin:0 0 20px;font:700 22px Georgia,Songti SC}.booking-receipt{border:1px solid #e4e9ed;border-radius:8px;padding:4px 16px}.booking-receipt div{justify-content:space-between;padding:12px 0;display:flex}.booking-receipt div+div{border-top:1px solid #edf0f2}.booking-receipt span{color:#82909d;font-size:9px}.booking-rule{color:#8f6828;background:#fff7e9;border-radius:5px;margin:14px 0 19px;padding:10px 12px;font-size:8px}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-actions button{width:100%}@media (width<=900px){.venue-overview{grid-template-columns:1fr}.venue-stats{padding:20px}.booking-page{padding-left:16px;padding-right:16px}}@media (width<=760px){.venue-overview{margin-top:5px}.venue-cover{min-height:135px;padding:22px}.booking-panel{padding:16px 12px}.booking-dates{width:100%}.booking-dates button{min-width:57px}.booking-step{align-items:flex-start}.slot-legend{display:none!important}.my-booking-banner{margin-left:0}.booking-submit{align-items:flex-end;gap:12px}.booking-submit .book-btn{white-space:nowrap;padding:0 16px}.venue-stats b{font-size:20px}}.qualifying-live{border:1px solid var(--line);background:#fff;border-radius:11px;margin-top:24px;overflow:hidden}.live-score-head{color:#fff;background:linear-gradient(110deg,#102d4c,#153f61);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.live-score-head .live-pill{margin-bottom:12px;display:inline-block}.live-score-head h2{margin:0 0 5px;font:700 22px Georgia,Songti SC}.live-score-head small{color:#a8bdcc;font-size:8px}.score-summary{gap:12px;display:flex}.score-summary span{text-align:center;color:#a9bfcd;background:#ffffff0c;border:1px solid #ffffff13;border-radius:7px;min-width:84px;padding:12px;font-size:8px}.score-summary b{color:#fff;margin-bottom:3px;font:700 22px Georgia;display:block}.score-table-wrap{max-height:390px;overflow:auto}.live-score-table{border-collapse:collapse;width:100%;min-width:720px}.live-score-table th{z-index:2;text-align:left;color:#768696;background:#f4f7f9;padding:11px 14px;font-size:8px;position:sticky;top:0}.live-score-table td{color:#536578;border-top:1px solid #edf1f4;padding:10px 14px;font-size:9px}.live-score-table td:first-child{color:#173651;font-weight:800}.live-score-table .winner{color:#0a8b9b;font-weight:800}.score-number{color:#183651;white-space:nowrap;font:700 14px Georgia}.winner-tag{color:#28785d;background:#e9f8f3;border-radius:12px;padding:4px 7px;font-size:8px}.grade{border-radius:12px;padding:4px 8px;font-size:8px;display:inline-block}.grade-青铜{color:#a26748;background:#f8eee8}.grade-白银{color:#687581;background:#f0f3f5}.grade-铂金{color:#967019;background:#fff4d1}.grade-跨级{color:#835ba0;background:#f4eafa}.pending-score{background:#fffaf1}.fixture-section{margin-top:25px}.fixture-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.fixture-card{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.fixture-meta{color:#738394;background:#f5f8fa;justify-content:space-between;padding:12px 15px;font-size:8px;display:flex}.fixture-meta b{color:#0a91a3}.fixture-teams{text-align:center;grid-template-columns:1fr 60px 1fr;align-items:center;padding:18px 16px;display:grid}.fixture-teams>div{align-items:center;gap:9px;display:flex}.fixture-teams>div:last-child{flex-direction:row-reverse}.fixture-teams div span{color:#fff;background:#153a57;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.fixture-teams div:last-child span{background:#0da2b4}.fixture-teams b{font-size:10px;line-height:1.45}.fixture-teams strong{color:#8b98a3;font:700 18px Georgia}.fixture-teams strong small{font:7px sans-serif;display:block}.rubber-list{border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.rubber-list div{grid-template-columns:1fr auto 58px;align-items:center;padding:9px 14px;font-size:8px;display:grid}.rubber-list div+div{border-top:1px solid #f0f2f4}.rubber-list span{color:#637587}.rubber-list b{color:#193853;font:700 11px Georgia}.rubber-list i{text-align:right;color:#8b98a3;font-style:normal}.fixture-foot{color:#8a97a2;justify-content:space-between;align-items:center;padding:11px 14px;font-size:8px;display:flex}.fixture-foot button{color:#0b92a4;background:0 0;border:0;font-size:8px}.reservation-banner{justify-content:space-between;align-items:center;display:flex}.reservation-banner div b,.reservation-banner div span{display:block}.reservation-banner div span{margin-top:4px;font-size:8px}.reservation-banner>button{color:#b64d4d;white-space:nowrap;background:#fff;border:1px solid #d68a8a;border-radius:4px;padding:6px 9px;font-size:8px}.receipt-slots{align-items:flex-start!important}.receipt-slots b{text-align:right;gap:6px;display:grid}.receipt-slots em{font-style:normal;font-weight:700}.modal-icon.danger{color:#c54b4b;background:#fff0f0;font-weight:900}.cancel-copy{color:#6f7e8b;margin:0 0 22px;font-size:10px;line-height:1.7}.danger-btn{color:#fff;background:#c94f55;border:0;border-radius:6px;height:40px;font-size:10px;font-weight:800}@media (width<=900px){.fixture-grid{grid-template-columns:1fr}}@media (width<=760px){.live-score-head{display:block}.score-summary{margin-top:16px}.score-summary span{flex:1}.fixture-teams{grid-template-columns:1fr 45px 1fr;padding:15px 10px}.fixture-teams b{font-size:9px}.reservation-banner{align-items:flex-start;gap:10px}.booking-submit div b{white-space:nowrap;text-overflow:ellipsis;max-width:210px;overflow:hidden}}.admin-edit-btn{color:#087f90;white-space:nowrap;background:#effafb;border:1px solid #b8e2e6;border-radius:5px;padding:6px 9px;font-size:8px;font-weight:800}.admin-edit-btn:hover{color:#fff;background:#0aa4b7;border-color:#0aa4b7}.rubber-list .rubber-detail{grid-template-columns:105px 1fr 52px 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.rubber-label{font-weight:800;color:#26445f!important}.lineup{justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}.lineup b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:#24445f!important;font:700 8px sans-serif!important}.lineup small{color:#9ba6ae;font-size:6px}.rubber-score{text-align:center;font:700 13px Georgia!important}.rubber-venue{text-align:right;color:#718493!important;font-size:7px!important}.score-editor{width:min(470px,100%)}.editor-matchup{text-align:center;background:#f5f8fa;border-radius:8px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:15px;display:grid}.editor-matchup b{font-size:13px}.editor-matchup span{color:#7e8c98;font-size:8px}.score-inputs{grid-template-columns:1fr 20px 1fr;align-items:end;gap:10px;margin:20px 0;display:grid}.score-inputs label,.fixture-editor label{color:#758594;font-size:8px}.score-inputs input,.fixture-editor input,.fixture-editor select{color:#17344f;background:#fff;border:1px solid #dce4e9;border-radius:6px;outline:0;width:100%;height:40px;margin-top:7px;padding:0 11px;display:block}.score-inputs input:focus,.fixture-editor input:focus,.fixture-editor select:focus{border-color:#08a0b3;box-shadow:0 0 0 3px #08a0b312}.score-inputs i{text-align:center;padding-bottom:9px;font:700 20px Georgia}.editor-hint{color:#7d8b97;background:#fff7e9;border-radius:5px;margin:0 0 18px;padding:10px 12px;font-size:8px;line-height:1.6}.fixture-editor{width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto}.fixture-editor-grid{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;display:grid}.fixture-editor fieldset{border:1px solid #e1e7eb;border-radius:8px;padding:12px}.fixture-editor legend{color:#24435d;padding:0 6px;font-size:9px;font-weight:800}.fixture-editor fieldset label+label{margin-top:10px;display:block}.fixture-score-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px;display:grid}.venue-field{margin-bottom:20px;display:block}.fixture-editor .modal-actions{margin-top:5px}@media (width<=760px){.rubber-list .rubber-detail{grid-template-columns:90px 1fr auto;gap:8px}.lineup{grid-column:2/4;justify-content:flex-start}.rubber-score{grid-area:1/2}.rubber-venue{text-align:left;grid-column:1/3}.rubber-detail .admin-edit-btn{grid-area:3/3}.fixture-editor-grid{grid-template-columns:1fr}.fixture-score-row{grid-template-columns:1fr 1fr}.booking-modal{padding:24px 18px}}.auth-link{color:#65778a;border:1px solid #dce4ea;border-radius:5px;place-items:center;height:32px;padding:0 11px;font-size:9px;font-weight:800;text-decoration:none;display:grid}.auth-link.sign-in{color:#fff;background:#0aa4b7;border-color:#0aa4b7}.member-gate-page{place-items:center;min-height:calc(100vh - 72px);display:grid}.member-gate{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;width:min(630px,100%);padding:54px;box-shadow:0 18px 50px #142d4812}.gate-icon{background:#eaf8fa;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 19px;font-size:26px;display:grid}.member-gate h1{margin:0 0 13px;font:700 28px Georgia,Songti SC}.member-gate>p:last-of-type{color:#728294;max-width:480px;margin:0 auto;font-size:11px;line-height:1.8}.gate-actions{justify-content:center;gap:10px;margin:25px 0 17px;display:flex}.gate-actions a{place-items:center;text-decoration:none;display:grid}.member-gate>small{color:#99a4ae;font-size:8px}.community-tabs{gap:7px;margin:20px 0;display:flex}.community-tabs button{color:#6f7f8e;background:#fff;border:1px solid #dfe5ea;border-radius:20px;padding:8px 14px;font-size:9px;font-weight:800}.community-tabs button.active{color:#fff;background:#143653;border-color:#143653}.community-tabs button span{color:#078fa1;background:#e8f8fa;border-radius:9px;place-items:center;min-width:17px;height:17px;margin-left:5px;display:inline-grid}.gallery-section{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.gallery-intro{color:#fff;background:linear-gradient(110deg,#102d4c,#0a707d);justify-content:space-between;align-items:end;padding:23px 25px;display:flex}.gallery-intro h2{margin:0 0 7px;font:700 23px Georgia,Songti SC}.gallery-intro p:last-child{color:#b4c8d4;margin:0;font-size:9px}.gallery-intro>span{color:#a8dce0;font-size:8px}.gallery-grid{background:#e7ecef;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.gallery-card{background:#fff;overflow:hidden}.gallery-card img{aspect-ratio:4/3;object-fit:cover;background:#eaf0f3;width:100%;display:block}.gallery-card>div{padding:15px 16px 17px}.gallery-card span{color:#09a0b3;font-size:8px;font-weight:800}.gallery-card h3{margin:6px 0;font:700 14px Georgia,Songti SC}.gallery-card p{color:#718190;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 12px;font-size:9px;line-height:1.65;display:-webkit-box;overflow:hidden}.gallery-card small{color:#98a3ac;font-size:7px}.gallery-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:35px;display:flex}.gallery-empty>span{font-size:34px}.gallery-empty h3{margin:12px 0 7px;font:700 17px Georgia,Songti SC}.gallery-empty p{color:#81909c;margin:0 0 18px;font-size:9px}.gallery-empty .primary-btn{width:auto}.gallery-upload-modal{width:min(620px,100%)}.gallery-upload-form{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:20px;display:grid}.gallery-upload-form label{color:#728294;font-size:8px}.gallery-upload-form label.wide{grid-column:1/3}.gallery-upload-form input:not([type=file]),.gallery-upload-form textarea{color:#17344f;border:1px solid #dce4e9;border-radius:6px;outline:0;width:100%;margin-top:7px;padding:10px 11px;display:block}.gallery-upload-form input:not([type=file]){height:40px}.gallery-upload-form textarea{resize:vertical;height:82px;font:inherit}.gallery-upload-form input:focus,.gallery-upload-form textarea:focus{border-color:#08a0b3;box-shadow:0 0 0 3px #08a0b312}.file-drop{text-align:center;cursor:pointer;background:#f0fafb;border:1px dashed #a8d5da;border-radius:7px;place-items:center;min-height:62px;padding:12px;display:grid;position:relative;color:#087f90!important}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop span{font-size:9px;font-weight:800}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.top-actions{gap:7px}.auth-link{padding:0 8px;font-size:7px}.member-gate-page{min-height:calc(100vh - 62px)}.member-gate{padding:38px 22px}.member-gate h1{font-size:23px}.gate-actions{display:grid}.gallery-intro{display:block}.gallery-intro>span{margin-top:13px;display:block}.gallery-grid,.gallery-upload-form{grid-template-columns:1fr}.gallery-upload-form label.wide{grid-column:1}.community-tabs{overflow:auto}}:root{--ink:#14231d;--muted:#68766f;--line:#dfe8e2;--cyan:#20b875;--blue:#15382a;--paper:#f4f8f4;--white:#fff;--lime:#dfff63;--surface:#fff;--surface-soft:#edf5ef;--shadow:0 14px 40px #19412d14}html,body{background:var(--paper);color:var(--ink);font-family:Aptos,PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:16px;line-height:1.6}body{letter-spacing:.01em}button,input,textarea,select{font-family:inherit}button,a{transition:background-color .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #20b87538}.sidebar{background:#12382a;border-right:1px solid #ffffff14;width:248px;padding:28px 20px 22px}.content{margin-left:248px}.brand{gap:13px;padding:2px 10px 38px}.brand-mark{background:var(--lime);color:#16382b;border:0;border-radius:13px;width:42px;height:42px;font:italic 900 23px/1 system-ui;box-shadow:0 8px 20px #00000029}.brand b{letter-spacing:2px;font-size:20px}.brand small{letter-spacing:1.6px;color:#a6c6b5;font-size:9px}.sidebar nav{gap:8px}.sidebar nav button{color:#b9cfc2;border-radius:14px;height:50px;padding:0 15px;font-size:14px;font-weight:650}.sidebar nav button:hover{color:#fff;background:#ffffff14}.sidebar nav button.active{background:var(--lime);color:#15382a;box-shadow:0 10px 24px #0000001f}.nav-icon{font-size:18px}.side-footer>button{color:#a6c1b2;font-size:13px}.mini-profile{border-color:#ffffff1f}.mini-profile b{font-size:13px}.mini-profile small{color:#a5bdae;font-size:10px}.topbar{border-color:var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;height:76px;padding:0 48px}.search{background:var(--surface-soft);border:1px solid #0000;border-radius:14px;width:min(420px,42vw);height:42px;padding:0 14px}.search:focus-within{background:#fff;border-color:#9adbb7;box-shadow:0 0 0 4px #20b8751a}.search input{background:0 0;font-size:14px}.page{max-width:1500px;padding:46px 48px 84px}.subpage{padding-top:46px}.eyebrow,.section-label{letter-spacing:1.6px;color:#15945d;margin-bottom:8px;font-size:11px}.welcome h1,.page-title h1{letter-spacing:-.035em;margin-bottom:12px;font-family:inherit;font-size:clamp(29px,3vw,40px);font-weight:850;line-height:1.18}.welcome>div>p:last-child,.page-title>div>p:last-child{font-size:14px;line-height:1.8}.welcome p b{color:#15945d}.primary-btn,.outline-btn,.book-btn,.auth-link{border-radius:12px;min-height:42px;font-size:13px;font-weight:750}.primary-btn,.book-btn,.auth-link.sign-in{box-shadow:none;background:#1aaf6f;border-color:#1aaf6f}.primary-btn:hover,.book-btn:hover,.auth-link.sign-in:hover{background:#128a56;transform:translateY(-1px)}.outline-btn{background:#fff;border-color:#cfdcd3}.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:22px}.live-card{border-radius:24px;padding:30px 34px 0;box-shadow:0 20px 50px #15382a2e}.live-card>button{color:#dfff63;width:calc(100% + 68px);height:50px;margin-left:-34px;font-size:12px}.tournament-copy{padding:34px 0 25px}.tournament-copy>p{color:#bde8cc;font-size:10px}.tournament-copy h2{letter-spacing:-.045em;font-family:inherit;font-size:clamp(32px,4vw,50px);font-weight:900}.tournament-copy div span{border-radius:99px;padding:8px 12px;font-size:11px}.next-card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:30px}.date-block>b{color:#17945d;font-family:inherit;font-size:52px;font-weight:900}.date-block>span{color:#17945d;font-size:11px}.next-card h3{font-family:inherit;font-size:21px;font-weight:820;line-height:1.35}.next-card>p{font-size:13px}.avatars i{font-size:11px}.section-head{margin:48px 0 18px}.section-head h2,.schedule-heading h2,.gallery-intro h2,.live-score-head h2{letter-spacing:-.025em;font-family:inherit;font-size:24px;font-weight:850}.section-head>button,.section-head div+button{color:#168d59;font-size:12px}.event-grid{gap:20px}.event-card,.post-card,.venue-mini-list,.composer,.groups-panel,.venue-card,.schedule-card,.directory-card,.booking-panel,.qualifying-live,.fixture-card,.gallery-section,.member-gate{border-color:var(--line);border-radius:18px;box-shadow:0 8px 28px #1f48330b}.event-card:hover,.event-card:focus{box-shadow:var(--shadow);transform:translateY(-4px)}.event-art{height:138px}.event-body{padding:20px}.event-body h3{font-family:inherit;font-size:16px;font-weight:800}.event-body p{font-size:11px;line-height:1.7}.event-foot,.event-foot button{font-size:11px}.post-card{padding:22px}.post-author b{font-size:13px}.post-author small{font-size:10px}.post-card>p{font-size:14px}.post-tag{background:var(--surface-soft);border-radius:10px;font-size:11px}.post-actions button{font-size:12px}.venue-mini-list b{font-size:13px}.venue-mini-list small{font-size:10px}.page-title{margin-bottom:34px}.tab-row{gap:32px}.tab-row button{font-size:13px;font-weight:650}.role-chip,.admin-lock,.privacy-note,.community-tabs button{padding:8px 13px;font-size:11px}.auth-link{font-size:11px}.single-event-hero{border-radius:24px;padding:36px 40px}.single-event-hero h2{font-family:inherit;font-size:32px;font-weight:900}.event-metrics span{font-size:11px}.event-metrics b{font-family:inherit;font-size:22px}.hero-racket{font-family:inherit}.schedule-heading{padding:25px 28px 18px}.schedule-heading>span{font-size:11px}.schedule-table th,.members-table th{background:#eef5f0;padding:14px 16px;font-size:10px}.schedule-table td,.members-table td{padding:14px 16px;font-size:12px}.status-tag,.grade,.winner-tag,.captain-tag{padding:5px 9px;font-size:10px}.team-summary{gap:16px}.team-summary>button{border-radius:17px;padding:22px 19px}.team-summary h3{font-family:inherit;font-size:16px}.team-summary p{font-size:11px}.team-summary small{font-size:10px}.date-picker{border-radius:16px;padding:10px}.date-picker button{border-radius:12px}.date-picker span{font-size:10px}.date-picker b{font-family:inherit}.date-picker button.active{box-shadow:none;background:#1aaf6f}.venue-title h3{font-family:inherit;font-size:17px}.venue-title p,.slot-label{font-size:11px}.slots button{border-radius:9px;padding:8px 11px;font-size:11px}.booking-modal{border-radius:22px}.booking-modal h2,.member-gate h1,.gallery-card h3,.gallery-empty h3{font-family:inherit;font-weight:850}.booking-step div b{font-size:14px}.booking-step div small,.booking-receipt span,.booking-rule,.editor-hint{font-size:10px}.booking-receipt b{font-size:12px}.live-score-table th{font-size:10px}.live-score-table td{font-size:11px}.fixture-meta,.fixture-foot,.fixture-foot button{font-size:10px}.fixture-teams b{font-size:12px}.rubber-list div{font-size:10px}.rubber-list b{font-family:inherit}.gallery-card span{font-size:10px}.gallery-card h3{font-size:16px}.gallery-card p{font-size:11px}.gallery-card small{font-size:9px}@media (width<=1050px){.sidebar{width:210px}.content{margin-left:210px}.page,.topbar{padding-left:30px;padding-right:30px}}@media (width<=760px){html,body{font-size:15px}.sidebar{display:none}.content{margin-left:0}.topbar{height:66px;padding:0 16px}.page{padding:28px 16px 96px}.welcome h1,.page-title h1{font-size:30px}.hero-grid{grid-template-columns:1fr}.live-card{border-radius:20px;padding:24px 20px 0}.live-card>button{width:calc(100% + 40px);margin-left:-20px}.tournament-copy h2{font-size:38px}.next-card{border-radius:20px}.section-head{margin-top:38px}.section-head h2{font-size:22px}.event-art{height:126px}.mobile-nav{border-color:var(--line);height:72px;box-shadow:0 -8px 24px #1f483312}.mobile-nav button{font-size:9px;font-weight:700}.mobile-nav button.active{color:#15945d}.single-event-hero{padding:28px 22px}.single-event-hero h2{font-size:27px}.schedule-table td,.members-table td{font-size:11px}.top-actions .role-chip,.auth-link{font-size:9px}}:root{--ink:#132238;--muted:#66758a;--line:#dfe6ef;--cyan:#2563eb;--blue:#102a56;--paper:#f5f7fb;--lime:#bff34a;--surface-soft:#edf2f8;--shadow:0 16px 42px #1c396817}html,body{color:var(--ink);background:linear-gradient(#f8faff 0,#f4f7fb 42%,#f7f9fc 100%)}.sidebar{background:linear-gradient(#102a56,#0c2144)}.brand-mark,.sidebar nav button.active{background:var(--lime);color:#102a56}.brand small{color:#9fb5d7}.sidebar nav button{color:#b5c4dc}.mini-profile small,.side-footer>button{color:#9fb1cc}.topbar{border-bottom-color:#e5eaf1}.search{background:#f1f4f8}.search:focus-within{border-color:#8eb5ff;box-shadow:0 0 0 4px #2563eb1a}.eyebrow,.section-label,.section-head>button,.section-head div+button,.welcome p b{color:#2563eb}.primary-btn,.book-btn,.auth-link.sign-in{background:#2563eb;border-color:#2563eb}.primary-btn:hover,.book-btn:hover,.auth-link.sign-in:hover{background:#1d4ed8}.outline-btn:hover{color:#1d4ed8;border-color:#7da6f7}.live-card,.single-event-hero,.venue-overview,.live-score-head,.gallery-intro{background:linear-gradient(135deg,#102a56 0%,#174da0 64%,#2475e8 100%)}.live-card{box-shadow:0 22px 52px #18469133}.live-card>button{color:#dfff73}.tournament-copy>p{color:#b9d5ff}.date-block>b,.date-block>span{color:#2563eb}.next-card,.event-card,.post-card,.venue-mini-list,.composer,.groups-panel,.venue-card,.schedule-card,.directory-card,.booking-panel,.qualifying-live,.fixture-card,.gallery-section,.member-gate{background:#fffffff5;border-color:#e2e8f0;box-shadow:0 10px 34px #1636630e}.next-card:hover,.event-card:hover,.post-card:hover,.venue-card:hover{box-shadow:0 18px 44px #1636631c}.post-tag,.schedule-table th,.members-table th{background:#f1f5fa}.tab-row button.active{color:#153b79;border-color:#2563eb}.date-picker button.active{background:#2563eb}.slots button.active{color:#1d4ed8;background:#edf3ff;border-color:#2563eb}.mobile-nav button.active{color:#2563eb}.role-chip.is-admin,.admin-lock.active-admin{color:#1d4ed8;background:#eef4ff;border-color:#c9dafd}.role-chip.is-guest{color:#8a6a00;background:#fff8df;border-color:#f0dfa1}.privacy-note{color:#1d4ed8;background:#eef4ff;border-color:#c9dafd}.page{padding-top:52px}.welcome{margin-bottom:38px}.hero-grid{gap:26px}.section-head{margin-top:54px}.lower-grid{gap:30px}.event-grid,.fixture-grid,.team-summary,.venue-list{gap:22px}.event-body,.post-card{padding:24px}.next-card{padding:34px}.booking-panel,.member-gate{padding:32px}@media (width<=760px){.page{padding-top:30px}.welcome{margin-bottom:28px}.hero-grid{gap:18px}.section-head{margin-top:42px}.event-body,.post-card{padding:20px}.next-card{padding:25px}.booking-panel{padding:18px 14px}}.page-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.score-portal{background:linear-gradient(110deg,#fff 0%,#f3f7ff 100%);border:1px solid #dce5f3;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;margin:0 0 24px;padding:25px 28px;display:flex;box-shadow:0 12px 32px #1636630f}.score-portal>div{padding-left:56px;position:relative}.score-portal-icon{background:var(--lime);color:#102a56;border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:900;display:grid;position:absolute;top:2px;left:0}.score-portal h2{margin:0 0 6px;font-size:21px}.score-portal p:last-child{color:var(--muted);margin:0;font-size:12px}.score-portal .primary-btn{white-space:nowrap}.score-detail-page{gap:22px;display:grid}.score-week-bar{background:#dfe7f2;border:1px solid #dfe7f2;border-radius:18px;grid-template-columns:2fr 1fr 1fr;gap:1px;display:grid;overflow:hidden;box-shadow:0 10px 30px #1636630d}.score-week-bar>div{background:#fff;padding:19px 22px}.score-week-bar span,.score-week-bar b{display:block}.score-week-bar span{color:var(--muted);margin-bottom:7px;font-size:10px;font-weight:700}.score-week-bar b{color:#153b79;font-size:15px}.score-heading-actions{align-items:center;gap:12px;display:flex}.score-heading-actions>span{color:var(--muted);font-size:10px}.score-empty{text-align:center;background:#fff;border:1px dashed #cbd8e8;border-radius:20px;padding:56px 24px}.score-empty>span{font-size:32px}.score-empty h3{margin:12px 0 7px;font-size:18px}.score-empty p{max-width:520px;color:var(--muted);margin:0 auto 20px;font-size:12px;line-height:1.7}@media (width<=760px){.page-title{flex-direction:column;gap:18px}.page-title-actions{justify-content:flex-start}.score-portal{flex-direction:column;align-items:flex-start;padding:22px}.score-portal>div{padding-top:54px;padding-left:0}.score-portal-icon{top:0}.score-portal .primary-btn{width:100%}.score-week-bar{grid-template-columns:1fr}.score-week-bar>div{padding:15px 18px}.score-heading-actions{flex-direction:column;align-items:flex-end}.score-detail-page .schedule-heading{align-items:flex-start;gap:15px}.score-empty{padding:40px 18px}}.event-type-tag{color:#1d4ed8;background:#e8f0ff;border-radius:8px;align-items:center;margin-right:9px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:850;display:inline-flex}.schedule-editor{width:min(720px,100vw - 32px)}.schedule-form-grid{grid-template-columns:1fr 1fr;gap:15px;margin:22px 0;display:grid}.schedule-form-grid label,.venue-field{color:#516278;gap:7px;font-size:11px;font-weight:750;display:grid}.schedule-form-grid input,.schedule-form-grid select,.venue-field input{width:100%;height:42px;color:var(--ink);background:#fff;border:1px solid #d9e2ee;border-radius:10px;outline:none;padding:0 12px}.schedule-form-grid input:focus,.schedule-form-grid select:focus,.venue-field input:focus{border-color:#7da6f7;box-shadow:0 0 0 3px #2563eb1a}.event-selector{margin:2px 0 18px}.event-selector>span{color:#516278;margin-bottom:9px;font-size:11px;font-weight:750;display:block}.event-selector>div{flex-wrap:wrap;gap:8px;display:flex}.event-selector button{color:#596a7f;background:#fff;border:1px solid #d9e2ee;border-radius:10px;padding:8px 14px;font-size:11px}.event-selector button.active{color:#1d4ed8;background:#edf3ff;border-color:#2563eb;font-weight:800}.schedule-editor .modal-actions{margin-top:24px}@media (width<=760px){.schedule-form-grid{grid-template-columns:1fr}.schedule-editor{max-height:88vh;overflow:auto}.page-title-actions .primary-btn{order:-1}}.recent-week-card{border:1px solid var(--line);background:#fff;border-radius:20px;margin:0 0 24px;overflow:hidden;box-shadow:0 10px 34px #1636630e}.recent-match-list{display:grid}.recent-match-list>button{text-align:left;background:#fff;border:0;border-top:1px solid #edf1f5;grid-template-columns:90px 1fr auto;align-items:center;gap:18px;padding:15px 24px;display:grid}.recent-match-list>button:hover{background:#f7faff}.recent-match-list time{color:#153b79;font-weight:850}.recent-match-list time small{color:var(--muted);margin-top:4px;font-weight:600;display:block}.recent-match-list b,.recent-match-list span{display:block}.recent-match-list b{font-size:13px}.recent-match-list span{color:var(--muted);margin-top:5px;font-size:10px}.recent-match-list i{font-style:normal}.recent-match-empty{text-align:center;color:var(--muted);padding:30px;font-size:12px}.grading-history{background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:24px;box-shadow:0 10px 32px #1636630e}.grading-history-head{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.grading-history-head h2{margin:0;font-size:20px}.grading-history-head>span{color:var(--muted);font-size:11px}.grading-score-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.grading-score-grid article{background:#f9fbfe;border:1px solid #e2e8f0;border-radius:13px;padding:13px;position:relative}.grading-score-grid article>span{color:var(--muted);font-size:9px}.grading-score-grid article>div{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:9px;display:grid}.grading-score-grid article>div b{font-size:11px}.grading-score-grid article>div b:last-child{text-align:right}.grading-score-grid strong{color:#153b79;font-size:15px}.grading-score-grid .admin-edit-btn{margin-top:10px}@media (width<=1050px){.grading-score-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.recent-match-list>button{grid-template-columns:70px 1fr;gap:12px;padding:14px 16px}.recent-match-list>button>i{grid-column:2;justify-self:start}.grading-history{padding:18px}.grading-history-head{flex-direction:column;align-items:flex-start;gap:8px}.grading-score-grid{grid-template-columns:1fr}}.compact-result-card .fixture-meta{padding:14px 18px}.compact-result-card .fixture-teams{padding:19px 18px}.compact-result-card .fixture-teams>strong{color:#153b79;align-items:center;gap:8px;font-size:30px;display:flex}.compact-result-card .fixture-teams>strong small{color:var(--muted);font-size:9px}.compact-result-card .rubber-list{padding:0 18px}.compact-result-card .rubber-detail{grid-template-columns:120px minmax(220px,1fr) auto auto;gap:14px;padding:12px 0}.compact-result-card .rubber-venue{display:none}.compact-result-card .rubber-score{gap:5px;display:flex}.compact-result-card .rubber-score i{color:#153b79;text-align:center;background:#edf3ff;border-radius:7px;min-width:47px;padding:6px 7px;font-style:normal}.best-of-three{border:1px solid #dce5ef;border-radius:13px;margin:20px 0;display:grid;overflow:hidden}.best-of-three>div{grid-template-columns:80px 1fr 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.best-of-three>div+div{border-top:1px solid #e8edf3}.best-of-three>div:first-child{color:#516278;background:#f1f5fa;font-size:10px}.best-of-three span{color:var(--muted);font-size:10px}.best-of-three b{text-align:center;font-size:11px}.best-of-three input{text-align:center;color:#153b79;border:1px solid #d7e0eb;border-radius:9px;outline:none;width:100%;height:40px;font-weight:850}.best-of-three input:focus{border-color:#7da6f7;box-shadow:0 0 0 3px #2563eb1a}@media (width<=760px){.compact-result-card .rubber-detail{grid-template-columns:1fr auto}.compact-result-card .lineup{grid-column:1/-1}.compact-result-card .admin-edit-btn{grid-column:2}.compact-result-card .rubber-score{flex-wrap:wrap}.best-of-three>div{grid-template-columns:58px 1fr 1fr;padding:9px}}.fixture-meta>div{align-items:center;gap:12px;display:flex}.fixture-manage-actions{gap:6px;display:flex}.fixture-manage-actions button{color:#2456a6;background:#fff;border:1px solid #cbd9ed;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:750}.fixture-manage-actions button.danger{color:#c33e49;border-color:#f0c6ca}.fixture-manage-actions button:hover{background:#f2f6fc}.fixture-manage-actions button.danger:hover{background:#fff1f2}.fixture-manage-actions.locked button,.admin-edit-btn.locked{color:#7b8897;background:#f7f9fb;border-color:#dbe2ea}.admin-edit-btn.locked:before{content:"🔒";margin-right:4px;font-size:8px}@media (width<=760px){.fixture-meta>div{flex-direction:column;align-items:flex-end}.fixture-manage-actions{margin-top:4px}}.home-service-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 0;display:grid}.home-service-grid button{text-align:left;background:#fff;border:1px solid #dfe7f2;border-radius:16px;align-items:center;gap:13px;padding:17px;transition:all .2s;display:flex;box-shadow:0 8px 24px #1636630b}.home-service-grid button:hover{border-color:#abc4f2;transform:translateY(-2px);box-shadow:0 13px 30px #16366317}.home-service-grid>button>span{color:#2563eb;font-size:10px;font-weight:900}.home-service-grid div b,.home-service-grid div small{display:block}.home-service-grid div b{font-size:13px}.home-service-grid div small{color:var(--muted);margin-top:4px;font-size:9px}.home-service-grid i{color:#2563eb;margin-left:auto;font-style:normal}.home-info-grid{grid-template-columns:1.45fr 1fr;gap:20px;margin-top:24px;display:grid}.notice-board,.club-overview{background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:0 24px;box-shadow:0 10px 32px #1636630d}.notice-board .section-head{margin:0;padding:22px 0 12px}.notice-board .section-head>span{color:var(--muted);font-size:10px}.notice-list>button{text-align:left;background:0 0;border:0;border-top:1px solid #edf1f5;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;width:100%;padding:14px 0;display:grid}.notice-list time{color:#2563eb;font-size:10px;font-weight:850}.notice-list b,.notice-list small{display:block}.notice-list b{font-size:12px}.notice-list small{color:var(--muted);margin-top:4px;font-size:9px}.notice-list i{color:#1d4ed8;background:#edf3ff;border-radius:8px;padding:4px 7px;font-size:8px;font-style:normal}.club-overview{color:#fff;background:linear-gradient(145deg,#102a56,#174da0);padding:24px}.club-overview .eyebrow{color:#bff34a}.club-overview h2{margin:0 0 10px;font-size:22px}.club-overview>p:not(.eyebrow){color:#c6d5eb;font-size:11px;line-height:1.75}.club-overview>div{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.club-overview>div span{color:#c9d7ea;border:1px solid #ffffff1f;border-radius:11px;padding:10px;font-size:9px}.club-overview>div b{color:#fff;margin-bottom:3px;font-size:19px;display:block}.club-overview .outline-btn{color:#153b79;background:#fff;border:0}.league-info-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);gap:20px;margin:24px 0;display:grid}.standings-card,.rules-card{background:#fff;border:1px solid #dfe7f2;border-radius:20px;overflow:hidden;box-shadow:0 10px 32px #1636630d}.standings-card table{border-collapse:collapse;width:100%}.standings-card th,.standings-card td{text-align:center;border-top:1px solid #edf1f5;padding:12px 15px;font-size:10px}.standings-card th{color:var(--muted);background:#f3f6fa}.standings-card th:nth-child(2),.standings-card td:nth-child(2){text-align:left}.standings-card td>b{color:#1d4ed8;background:#edf3ff;border-radius:50%;place-items:center;width:23px;height:23px;display:inline-grid}.standings-card td strong{color:#153b79;font-size:14px}.rules-card{padding:24px}.rules-card h2{margin:0 0 14px;font-size:20px}.rules-card ul{margin:0 0 20px;padding:0;list-style:none}.rules-card li{border-top:1px solid #edf1f5;grid-template-columns:52px 1fr;gap:8px;padding:12px 0;display:grid}.rules-card li b{color:#2563eb;font-size:10px}.rules-card li span{color:#516278;font-size:10px}.academy-badge{color:#1d4ed8;background:#edf3ff;border-radius:14px;padding:9px 13px;font-size:10px;font-weight:800}.academy-hero{color:#fff;background:linear-gradient(135deg,#102a56,#174da0 65%,#2475e8);border-radius:24px;grid-template-columns:1.1fr 1fr;gap:28px;padding:34px;display:grid;box-shadow:0 18px 45px #1646912e}.academy-hero h2{margin:0 0 10px;font-size:28px}.academy-hero>div>p:not(.eyebrow){color:#c7d7ed;max-width:610px;font-size:12px;line-height:1.8}.academy-hero .primary-btn{color:#102a56;background:#bff34a;margin-top:12px}.academy-plan{grid-template-columns:1fr 1fr;gap:10px;display:grid}.academy-plan span{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:14px;padding:14px;font-size:11px}.academy-plan b,.academy-plan small{display:block}.academy-plan b{color:#bff34a;margin-bottom:10px}.academy-plan small{color:#9eb6d5;margin-top:4px;font-size:9px}.academy-filters{gap:8px;margin:25px 0 16px;display:flex;overflow:auto}.academy-filters button{white-space:nowrap;color:#637388;background:#fff;border:1px solid #dbe4ef;border-radius:10px;padding:8px 13px;font-size:10px}.academy-filters button.active{color:#1d4ed8;background:#edf3ff;border-color:#2563eb;font-weight:800}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-grid article{background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:20px;box-shadow:0 9px 28px #1636630b}.course-grid article>div{gap:7px;display:flex}.course-grid article>div span,.course-grid article>div i{color:#1d4ed8;background:#edf3ff;border-radius:8px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:800}.course-grid article>div i{color:#27835a;background:#f1f5f3}.course-grid h3{margin:15px 0 7px;font-size:15px}.course-grid>article>p{color:var(--muted);margin:0;font-size:10px}.course-grid ol{margin:15px 0;padding-left:18px}.course-grid li{color:#506176;margin:7px 0;font-size:10px;line-height:1.5}.course-grid footer{color:var(--muted);border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;padding-top:13px;font-size:9px;display:flex}.course-grid footer button{color:#2563eb;background:0 0;border:0;font-size:9px;font-weight:800}.academy-safety{background:#fffaf0;border:1px solid #e9dcc2;border-radius:16px;align-items:center;gap:14px;margin-top:20px;padding:17px 20px;display:flex}.academy-safety>span{color:#9a6200;background:#ffe8b7;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.academy-safety h3{margin:0 0 4px;font-size:12px}.academy-safety p{color:#766b58;margin:0;font-size:10px}@media (width<=1050px){.home-service-grid,.course-grid{grid-template-columns:1fr 1fr}.academy-hero,.league-info-grid{grid-template-columns:1fr}}@media (width<=760px){.mobile-nav{grid-template-columns:repeat(6,1fr);overflow-x:auto}.mobile-nav button{min-width:58px}.home-service-grid,.home-info-grid,.course-grid{grid-template-columns:1fr}.home-service-grid{gap:9px}.home-info-grid{margin-top:16px}.academy-hero{padding:25px 20px}.academy-hero h2{font-size:23px}.academy-plan{grid-template-columns:1fr 1fr}.notice-board{padding:0 18px}.league-info-grid{gap:14px}.standings-card table{min-width:520px}}.forum-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr)}.forum-layout>aside{gap:16px;height:max-content;display:grid}.forum-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.forum-toolbar>div{gap:7px;display:flex;overflow:auto}.forum-toolbar button{white-space:nowrap;color:#637388;background:#fff;border:1px solid #dce5ef;border-radius:9px;padding:7px 10px;font-size:9px}.forum-toolbar button:hover,.forum-toolbar button.active{color:#1d4ed8;background:#edf3ff;border-color:#2563eb}.forum-toolbar>span{color:var(--muted);white-space:nowrap;font-size:9px}.forum-feed{gap:12px;display:grid}.forum-post{background:#fff;border:1px solid #dfe7f2;border-radius:17px;grid-template-columns:145px 1fr;display:grid;overflow:hidden;box-shadow:0 8px 26px #1636630b}.forum-author{text-align:center;background:#f6f8fb;padding:20px 16px}.forum-author .avatar{margin:0 auto 9px}.forum-author b,.forum-author small{display:block}.forum-author b{font-size:12px}.forum-author small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.forum-author small i,.comment-thread p i{color:#2563eb;font-style:normal}.forum-post-body{padding:20px}.forum-post-body>div:first-child{justify-content:space-between;align-items:center;display:flex}.forum-post-body>div:first-child>span{color:#1d4ed8;background:#edf3ff;border-radius:8px;padding:5px 8px;font-size:8px;font-weight:800}.forum-post-body time{color:#94a0ae;font-size:8px}.forum-post-body h2{margin:13px 0 8px;font-size:16px}.forum-post-body>p{color:#4e5e72;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.8}.forum-reply-toggle{color:#2563eb;background:0 0;border:0;margin-top:15px;font-size:9px;font-weight:800}.comment-thread{border-top:1px solid #e8edf3;margin-top:13px}.comment-thread>div:not(.comment-composer){border-bottom:1px solid #edf1f5;grid-template-columns:40px 1fr auto;gap:9px;padding:11px 0;display:grid}.comment-thread>div>span{color:#94a0ae;font-size:8px}.comment-thread p{margin:0;font-size:10px;line-height:1.6}.comment-thread p b{margin-right:8px}.comment-composer{gap:8px;padding-top:13px;display:flex}.comment-composer input{border:1px solid #d9e2ee;border-radius:9px;flex:1;height:38px;padding:0 11px;font-size:10px}.comment-composer button{color:#fff;background:#2563eb;border:0;border-radius:8px;padding:0 14px;font-size:9px;font-weight:800}.forum-rank{background:#fff;border:1px solid #dfe7f2;border-radius:17px;padding:20px}.forum-rank h2{margin:0 0 10px;font-size:18px}.forum-rank>div{border-top:1px solid #edf1f5;align-items:center;gap:9px;padding:10px 0;display:flex}.forum-rank>div>strong{color:#2563eb;width:18px;font-size:10px}.forum-rank .avatar{width:30px;height:30px}.forum-rank p{margin:0}.forum-rank p b,.forum-rank p small{display:block}.forum-rank p b{font-size:10px}.forum-rank p small{color:var(--muted);margin-top:3px;font-size:8px}.forum-empty{text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd8e7;border-radius:17px;padding:48px 20px;font-size:11px}.forum-empty>span{font-size:28px}.forum-empty h3{color:var(--ink)}.forum-post-modal{width:min(620px,100vw - 32px)}.forum-post-form{gap:13px;margin:20px 0;display:grid}.forum-post-form label{color:#526278;gap:6px;font-size:10px;font-weight:750;display:grid}.forum-post-form input,.forum-post-form select,.forum-post-form textarea{color:var(--ink);font:inherit;background:#fff;border:1px solid #d9e2ee;border-radius:9px;padding:10px 12px}.forum-post-form textarea{resize:vertical;min-height:140px}.forum-points-note{color:#806718;background:#fff8df;border-radius:10px;padding:11px 13px;font-size:9px}@media (width<=900px){.forum-layout{grid-template-columns:1fr}.forum-layout>aside{grid-template-columns:1fr 1fr}}@media (width<=760px){.forum-layout>aside{grid-template-columns:1fr}.forum-toolbar{flex-direction:column;align-items:flex-start}.forum-post{grid-template-columns:1fr}.forum-author{text-align:left;align-items:center;gap:10px;padding:12px 15px;display:flex}.forum-author .avatar{margin:0}.forum-post-body{padding:16px}.comment-thread>div:not(.comment-composer){grid-template-columns:32px 1fr}.comment-thread time{grid-column:2}.comment-composer{flex-direction:column;align-items:stretch}.comment-composer button{height:36px}}.top-actions button.auth-link{cursor:pointer;font-family:inherit}.auth-backdrop{z-index:90}.auth-modal{width:min(520px,100vw - 32px);padding:34px}.auth-modal:has(.admin-auth-grid){width:min(860px,100vw - 32px)}.auth-heading{align-items:center;gap:14px;margin-bottom:22px;display:flex}.auth-heading .modal-icon{flex:none;margin:0}.auth-heading h2{margin:0 0 4px}.auth-heading small{color:var(--muted);font-size:11px;display:block}.auth-tabs{background:#f1f5f9;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:4px;display:grid}.auth-tabs button{color:#718096;background:0 0;border:0;border-radius:9px;height:38px;font-size:12px;font-weight:800}.auth-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 3px 12px #213f6917}.auth-form{gap:14px;display:grid}.auth-form>label,.auth-field-row label{color:#526278;gap:7px;font-size:11px;font-weight:750;display:grid}.auth-form input{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #d9e2ee;border-radius:11px;outline:none;padding:0 13px}.auth-form input:focus{border-color:#7da6f7;box-shadow:0 0 0 3px #2563eb1a}.auth-submit{width:100%;margin-top:2px}.auth-form button:disabled{cursor:wait;opacity:.65}.auth-error{color:#b42336;background:#fff1f2;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.5}.auth-security,.auth-note{color:#8896a7;margin:15px 0 0;font-size:9px;line-height:1.6}.admin-auth-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-auth-card{background:#f9fbfd;border:1px solid #e0e7ef;border-radius:16px;align-content:start;padding:20px}.admin-auth-card h3{margin:0 0 3px;font-size:15px}.auth-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.invite-result{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;gap:7px;padding:13px;display:grid}.invite-result span{color:#60758b;font-size:9px}.invite-result b{overflow-wrap:anywhere;color:#1d4ed8;font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace}.invite-result button{color:#1d4ed8;background:0 0;border:0;justify-self:start;padding:0;font-size:10px;font-weight:800}.gate-actions button{min-width:190px}@media (width<=760px){.auth-modal{max-height:calc(100vh - 32px);padding:28px 20px;overflow:auto}.auth-modal:has(.admin-auth-grid){width:min(520px,100vw - 24px)}.admin-auth-grid{grid-template-columns:1fr}.auth-field-row{grid-template-columns:1fr 1fr}.top-actions button.auth-link:not(.sign-in){padding:0 7px}.gate-actions button{width:100%}}.team-summary .team-green{color:#2f7d4d;background:#edf8ef}.team-summary .team-blue{color:#2563b5;background:#eef5ff}.team-summary .team-orange{color:#b75b18;background:#fff3e9}.team-summary .team-purple{color:#7750a8;background:#f5effd}.team-dot.team-green{background:#4b9f63}.team-dot.team-blue{background:#4382d0}.team-dot.team-orange{background:#df7b2b}.team-dot.team-purple{background:#8a63b8}.standings-card .finalist-row{background:#f7fbef}.finalist-tag{color:#476d00;vertical-align:middle;background:#dff3a8;border-radius:999px;margin-left:7px;padding:3px 6px;font-size:7px;font-weight:850;display:inline-flex}.negative-points{color:#c2414b;font-weight:800}.fixture-attendance{background:#f9fbfe;border-top:1px solid #edf1f5;grid-template-columns:1fr 1fr;gap:8px;padding:13px 18px;display:grid}.fixture-attendance span{color:#667589;background:#fff;border:1px solid #e1e8f0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-size:9px;display:flex}.fixture-attendance b{color:#183b6e;font-size:10px}.attendance-editor{width:min(570px,100vw - 32px)}.attendance-inputs{grid-template-columns:1fr 1fr;gap:13px;margin:22px 0 16px;display:grid}.attendance-inputs label{background:#f8faff;border:1px solid #dfe7f1;border-radius:14px;gap:7px;padding:16px;display:grid}.attendance-inputs label>b{color:#173c76;font-size:14px}.attendance-inputs label>span{color:#738197;font-size:9px}.attendance-inputs input{text-align:center;color:#153b79;background:#fff;border:1px solid #cbd7e6;border-radius:10px;outline:none;height:48px;font-size:20px;font-weight:850}.attendance-inputs input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.attendance-rule{background:#eef4ff;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px;display:grid}.attendance-rule span{text-align:center;color:#5d6f87;font-size:9px}.attendance-rule b{color:#1d4ed8;margin-top:4px;font-size:13px;display:block}.season-honors{background:linear-gradient(145deg,#fff 0%,#f5f8ff 58%,#eef4ff 100%);border:1px solid #dce6f5;border-radius:24px;margin:28px 0 8px;padding:28px 30px;box-shadow:0 16px 44px #163e8014}.season-honors-head{justify-content:space-between;align-items:end;display:flex}.season-honors-head h2{margin:3px 0 0;font-size:25px}.season-honors-head>span{color:#71819a;font-size:10px}.honor-podium{grid-template-columns:1fr 1.18fr 1fr;align-items:end;gap:12px;margin-top:24px;display:grid}.honor-podium article{text-align:center;background:#fff;border:1px solid #dce5f2;border-radius:18px 18px 8px 8px;min-height:98px;padding:20px 14px 17px;position:relative}.honor-podium article>i{color:#48617f;background:#e8eef8;border-radius:50%;place-items:center;width:36px;height:36px;margin:-38px auto 10px;font-size:15px;font-style:normal;font-weight:900;display:grid;box-shadow:0 5px 14px #18365d1f}.honor-podium article>span{color:#78889d;letter-spacing:1px;font-size:9px;font-weight:800}.honor-podium h3{color:#163b77;margin:7px 0 6px;font-size:18px}.honor-podium small{color:#7b899c;font-size:9px}.honor-podium .honor-champion{background:linear-gradient(#fffdf2,#fff8d8);border-color:#e8cb69;min-height:126px;box-shadow:0 12px 28px #b886161f}.honor-podium .honor-champion>i{background:#ffd95c;width:44px;height:44px;margin-top:-43px;font-size:20px}.honor-podium .honor-champion h3{color:#8c5d00;font-size:22px}.honor-podium .honor-third>i{color:#9b5f35;background:#f0ddd0}.honor-note{text-align:center;color:#67788e;border-top:1px solid #e1e8f2;margin:18px 0 0;padding-top:14px;font-size:9px}.playoff-score-note{text-align:center;color:#61728a;background:#f5f7fb;border-top:1px solid #edf1f5;padding:13px 18px;font-size:9px;font-weight:700}@media (width<=760px){.fixture-attendance,.attendance-inputs{grid-template-columns:1fr}.attendance-rule{grid-template-columns:1fr 1fr}.standings-card table{min-width:720px}.season-honors{padding:24px 16px}.season-honors-head{align-items:flex-start}.season-honors-head>span{display:none}.honor-podium{grid-template-columns:1fr;gap:22px}.honor-podium .honor-champion{order:-1;min-height:auto}.honor-podium article{border-radius:16px;min-height:auto}.honor-note{text-align:left;line-height:1.7}}.fixture-manage-actions button.score-entry-primary{color:#fff;background:#2563eb;border-color:#2563eb}.fixture-manage-actions button.score-entry-primary:hover{background:#174db3}.result-mode{margin-top:20px}.result-mode select{color:#153b79;background:#fff;border:1px solid #d7e0eb;border-radius:9px;height:44px;padding:0 11px;font-weight:750}.activities-section{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 45px #1436530d}.activities-intro{color:#fff;background:linear-gradient(112deg,#102d4c 0%,#0a6f7d 100%);justify-content:space-between;align-items:end;gap:24px;padding:27px 29px;display:flex}.activities-intro h2{margin:0 0 7px;font:700 24px Georgia,Songti SC}.activities-intro p:last-child{color:#c7dce3;margin:0;font-size:10px}.activities-intro .primary-btn{color:#153650;background:#bfff38;border-color:#bfff38;flex:none}.activities-list{background:#f4f7f8;gap:14px;padding:20px;display:grid}.activity-card{background:#fff;border:1px solid #e0e7ea;border-radius:12px;grid-template-columns:86px 1fr;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;overflow:hidden}.activity-card:hover{border-color:#b9dfe3;transform:translateY(-1px);box-shadow:0 12px 28px #13365214}.activity-date{color:#0a7f8e;background:#e9f8f9;border-right:1px solid #d5ebed;flex-direction:column;justify-content:center;align-items:center;padding:18px 10px;display:flex}.activity-date strong{font:700 31px/1 Georgia}.activity-date span{white-space:nowrap;margin-top:7px;font-size:9px}.activity-main{min-width:0;padding:19px 22px 17px}.activity-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.activity-heading h3{color:#163650;margin:6px 0;font:700 18px Georgia,Songti SC}.activity-heading p{color:#738392;margin:0;font-size:9px;line-height:1.65}.activity-time{color:#0796a7;letter-spacing:.05em;font-size:8px;font-weight:850}.activity-heading>b{color:#0c9cad;background:#eefafb;border-radius:8px;flex:none;padding:8px 11px;font:700 22px Georgia}.activity-heading>b small{color:#729099;font:700 9px sans-serif}.activity-heading>b.is-full{color:#df5f51;background:#fff1ef}.activity-heading>b.is-full small{color:#a87972}.activity-participants{flex-wrap:wrap;gap:7px;margin:16px 0 14px;display:flex}.activity-participants>span{color:#4b6376;background:#fafcfc;border:1px solid #dfe7ea;border-radius:18px;align-items:center;gap:5px;padding:5px 9px 5px 5px;font-size:9px;display:inline-flex}.activity-participants>span i{color:#537184;background:#e5eef1;border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;font-style:normal;display:grid}.activity-participants>span.organizer{color:#087d8c;background:#f0fbfc;border-color:#a9dfe4}.activity-participants>span.organizer i{color:#fff;background:#0a9dae}.activity-participants em{color:#078b9a;background:#d9f3f5;border-radius:7px;padding:2px 5px;font-size:7px;font-style:normal}.activity-actions{border-top:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:15px;padding-top:13px;display:flex}.activity-actions>span{color:#8896a0;font-size:8px}.activity-actions>div{align-items:center;gap:8px;display:flex}.activity-actions .primary-btn,.activity-actions .outline-btn{min-width:92px;height:34px;padding:0 12px}.activity-cancel{color:#c95c51;cursor:pointer;background:0 0;border:0;padding:7px;font-size:8px;font-weight:750}.activity-actions button:disabled{opacity:.55;cursor:not-allowed}.activities-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:36px;display:flex}.activities-empty>span{font-size:35px}.activities-empty h3{margin:12px 0 7px;font:700 18px Georgia,Songti SC}.activities-empty p{color:#80909c;margin:0 0 19px;font-size:9px}.activities-empty .primary-btn{width:auto}.activity-modal{width:min(610px,100%)}.activity-form{grid-template-columns:1fr 1fr;gap:13px;margin:20px 0 14px;display:grid}.activity-form label{color:#728294;font-size:8px}.activity-form label.wide{grid-column:1/3}.activity-form input,.activity-form textarea{color:#17344f;background:#fff;border:1px solid #dce4e9;border-radius:7px;outline:0;width:100%;margin-top:7px;padding:10px 11px;display:block}.activity-form input{height:41px}.activity-form textarea{resize:vertical;height:82px;font:inherit}.activity-form input:focus,.activity-form textarea:focus{border-color:#08a0b3;box-shadow:0 0 0 3px #08a0b312}.activity-form-note{color:#49707b;background:#eef9fa;border:1px solid #d2edef;border-radius:7px;margin-bottom:18px;padding:10px 12px;font-size:8px}@media (width<=760px){.activities-intro{padding:23px 20px;display:block}.activities-intro .primary-btn{width:100%;margin-top:16px}.activities-list{padding:12px}.activity-card{grid-template-columns:64px 1fr}.activity-date strong{font-size:25px}.activity-main{padding:16px 14px}.activity-heading{display:block}.activity-heading>b{margin-top:12px;display:inline-block}.activity-actions{flex-direction:column;align-items:flex-start}.activity-actions>div{width:100%}.activity-actions>div button{flex:1}.activity-form{grid-template-columns:1fr}.activity-form label.wide{grid-column:1}.activity-participants{gap:5px}}.appearance-count{white-space:nowrap;font-weight:850;color:#087f90!important}.skip-link{z-index:120;color:#fff;background:#10233d;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:800;transition:transform .18s;position:fixed;top:12px;left:16px;transform:translateY(-80px)}.skip-link:focus{transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb61}#main-content:focus{outline:none}.mobile-search-trigger{display:none}.search{position:relative}.search-results{z-index:70;background:#fff;border:1px solid #dbe5f0;border-radius:13px;position:absolute;top:40px;left:0;right:0;overflow:hidden;box-shadow:0 18px 42px #102a562e}.search-results button{text-align:left;background:#fff;border:0;border-top:1px solid #edf1f5;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.search-results button:first-child{border-top:0}.search-results button:hover,.search-results button:focus-visible{background:#f2f7ff}.search-results button>span{min-width:0}.search-results b,.search-results small{display:block}.search-results b{color:#153b79;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.search-results small{color:#7a899b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.search-results i{color:#2563eb;margin-left:auto;font-style:normal}.search-results p{color:#7a899b;text-align:center;margin:0;padding:18px;font-size:10px}.live-pill.is-complete{color:#b9c7d8}.live-pill.is-complete i{background:#91a5bb;box-shadow:0 0 0 5px #91a5bb21}.tournament-copy>div{flex-wrap:wrap}.tournament-copy>div span:last-child{color:#d9ff77;border-color:#bff34a57}.next-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.next-card-heading .section-label{margin:0}.next-card-heading>span{color:#1d4ed8;background:#eef4ff;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.next-schedule-detail{background:#f5f8fc;border-radius:10px;gap:7px;margin:16px 0 0;padding:11px 13px;display:grid}.next-schedule-detail span{color:#1d4ed8;font-size:10px;font-weight:850}.next-schedule-detail small{color:#6f7e91;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.5;overflow:hidden}.next-card-actions{gap:8px;margin-top:14px;display:flex}.next-card-actions button{color:#315477;background:#fff;border:1px solid #cdd9e8;border-radius:8px;height:34px;padding:0 13px;font-size:9px;font-weight:800}.next-card-actions button:first-child{color:#fff;background:#2563eb;border-color:#2563eb}.next-card-actions button:disabled{cursor:not-allowed;opacity:.45}.community-action-card{background:#fff;border:1px solid #dfe7f2;border-radius:18px;grid-template-columns:90px 1fr;min-height:218px;display:grid;overflow:hidden;box-shadow:0 10px 32px #1636630d}.community-action-card>span{background:linear-gradient(145deg,#102a56,#2475e8);place-items:center;font-size:38px;display:grid}.community-action-card>div{padding:25px}.community-action-card h3{color:#153b79;margin:2px 0 8px;font:700 21px Georgia,Songti SC,serif}.community-action-card>div>p:not(.section-label){color:#65758a;margin:0;font-size:10px;line-height:1.7}.community-action-card>div>div{flex-wrap:wrap;gap:7px;margin:16px 0;display:flex}.community-action-card>div>div b{color:#1d4ed8;background:#eef4ff;border-radius:999px;padding:5px 8px;font-size:8px}.community-action-card .primary-btn{height:36px}@media (width<=760px){.mobile-search-trigger{color:#1d4ed8;background:#edf3ff;border:0;border-radius:9px;place-items:center;width:34px;height:34px;margin-left:auto;font-size:18px;display:grid}.top-actions{margin-left:4px}.search.mobile-open{z-index:75;background:#fff;border:1px solid #dbe5f0;border-radius:12px;width:auto;padding:12px 14px;display:flex;position:absolute;top:66px;left:12px;right:12px;box-shadow:0 16px 38px #102a562e}.search.mobile-open input{display:block}.search.mobile-open .search-results{top:49px}.mobile-nav{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.page{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.toast{right:16px;bottom:calc(78px + env(safe-area-inset-bottom));text-align:center;left:16px}.next-card{padding:21px}.next-schedule-detail small{white-space:normal}.community-action-card{grid-template-columns:64px 1fr}.community-action-card>span{font-size:27px}.community-action-card>div{padding:21px 17px}.community-action-card .primary-btn{width:100%}.tournament-copy>div{gap:7px}.tournament-copy>div span{margin:0}.notice-list>button{grid-template-columns:64px 1fr auto}.notice-list time{line-height:1.35}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.live-scorer-setup{max-width:1180px}.connection-chip{border-radius:999px;padding:7px 10px;font-size:9px;font-weight:850;display:inline-flex}.connection-chip.online{color:#167344;background:#e8f8ef}.connection-chip.offline{color:#9a5c00;background:#fff1dc}.scorer-setup-card{background:#fff;border:1px solid #dce6f3;border-radius:24px;gap:18px;padding:26px;display:grid;box-shadow:0 14px 40px #12346412}.scorer-step{border-bottom:1px solid #e8edf4;grid-template-columns:40px 1fr;gap:16px;padding-bottom:20px;display:grid}.scorer-step>span{color:#dfff73;background:#153b79;border-radius:12px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:900;display:grid}.scorer-step h2{margin:3px 0 14px;font-size:18px}.scorer-step label{color:#66768b;gap:7px;font-size:9px;font-weight:800;display:grid}.scorer-step select,.scorer-step input{color:#17395e;background:#fff;border:1px solid #cfdae8;border-radius:10px;outline:none;width:100%;height:42px;padding:0 11px;font-size:11px}.match-mode-toggle{gap:8px;margin-bottom:14px;display:flex}.match-mode-toggle button{color:#607188;background:#fff;border:1px solid #cfdae8;border-radius:999px;padding:9px 14px;font-size:9px;font-weight:850}.match-mode-toggle button.active{color:#1d4ed8;background:#edf3ff;border-color:#2563eb}.free-match-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.free-match-grid label:last-child{grid-column:1/-1}.standalone-note{color:#8b651a;background:#fff7e5;border-radius:9px;margin:11px 0 0;padding:10px 12px;font-size:9px;line-height:1.6}.rubber-selector{grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin-top:13px;display:grid}.rubber-selector button{text-align:left;background:#f9fbfe;border:1px solid #d9e2ee;border-radius:12px;gap:5px;padding:11px;display:grid}.rubber-selector button.active{background:#edf3ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb17}.rubber-selector b{color:#193c68;font-size:10px}.rubber-selector small{color:#8492a4;font-size:8px}.lineup-setup{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lineup-setup fieldset{border:1px solid #dce5f0;border-radius:14px;grid-template-columns:1fr 1fr;gap:10px;padding:13px;display:grid}.lineup-setup legend{color:#1d4ed8;padding:0 6px;font-size:11px;font-weight:900}.serve-setup{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.start-scoring-btn{color:#fff;background:linear-gradient(120deg,#153b79,#2563eb);border:0;border-radius:14px;height:52px;font-size:13px;font-weight:900;box-shadow:0 10px 24px #2563eb38}.offline-trust{background:#f8faff;border:1px solid #dfe7f2;border-radius:16px;grid-template-columns:100px 1fr;gap:13px;margin-top:16px;padding:17px;display:grid}.offline-trust b{color:#1d4ed8;font-size:11px}.offline-trust span{color:#64758c;font-size:10px;line-height:1.7}.live-scorer-shell{color:#fff;min-height:calc(100vh - 72px);padding:20px 24px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:none;background:#071a34}.scorer-topbar{grid-template-columns:42px 1fr auto;align-items:center;gap:12px;max-width:980px;margin:0 auto 14px;display:grid}.scorer-topbar>button{color:#fff;background:#ffffff0c;border:1px solid #ffffff28;border-radius:12px;width:42px;height:42px;font-size:19px}.scorer-topbar b,.scorer-topbar small{display:block}.scorer-topbar b{font-size:13px}.scorer-topbar small{color:#9db5d4;margin-top:4px;font-size:9px}.scorer-live-state{text-align:right}.scorer-live-state>span{border-radius:999px;padding:7px 10px;font-size:8px;font-weight:900;display:inline-block}.scorer-live-state>span.online{color:#77edb5;background:#153f37}.scorer-live-state>span.offline{color:#ffc86c;background:#4b3318}.scorer-live-state>small{font-size:7px}.scorer-storage-warning{color:#ffd08a;background:#4b3318;border:1px solid #ffb45c66;border-radius:10px;max-width:980px;margin:0 auto 10px;padding:9px 12px;font-size:9px;line-height:1.5}.scorer-status{text-align:center;background:#ffffff09;border:1px solid #ffffff16;border-radius:13px;grid-template-columns:1fr 2fr 1fr;align-items:center;max-width:980px;margin:0 auto 12px;padding:10px 14px;display:grid}.scorer-status span{color:#9eb5d1;font-size:9px}.scorer-status span:last-child{text-align:right}.scorer-status span:first-child{text-align:left}.scorer-status b{color:#dfff73;font-size:14px}.scorer-status strong{font-size:11px}.mobile-scoreboard{grid-template-columns:1fr 1fr;gap:12px;max-width:980px;margin:auto;display:grid}.mobile-scoreboard button{color:#fff;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:24px;min-height:370px;padding:25px}.mobile-scoreboard button.side-a{background:linear-gradient(155deg,#124b85,#2475e8)}.mobile-scoreboard button.side-b{background:linear-gradient(155deg,#6d2e68,#a4489d)}.mobile-scoreboard button.serving{border-color:#dfff73;box-shadow:0 0 0 4px #dfff731f}.mobile-scoreboard button:disabled{opacity:1}.mobile-scoreboard span{background:#ffffff18;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900;display:inline-flex}.mobile-scoreboard h2{margin:22px 0 0;font-size:22px}.mobile-scoreboard button>b{margin:12px 0 8px;font-size:132px;line-height:1;display:block}.mobile-scoreboard small{color:#c9dbf4;font-size:9px}.service-panel{grid-template-columns:1fr 1fr;gap:12px;max-width:980px;margin:12px auto;display:grid}.service-panel>div{background:#ffffff09;border:1px solid #ffffff14;border-radius:15px;padding:15px}.service-panel span,.service-panel b,.service-panel small{display:block}.service-panel span{color:#8fa9c9;font-size:8px}.service-panel b{color:#dfff73;margin:5px 0;font-size:16px}.service-panel small{color:#b8c9dc;font-size:9px}.court-mini{text-align:center;grid-template-columns:1fr 2px 1fr;align-items:center;display:grid!important}.court-mini i{background:#dfff73;width:2px;height:34px;display:block}.court-mini span{color:#e7eff9;font-size:10px}.scorer-actions{grid-template-columns:repeat(4,1fr);gap:8px;max-width:980px;margin:12px auto;display:grid}.scorer-actions button{color:#dce8f7;background:#ffffff0d;border:1px solid #fff2;border-radius:11px;min-height:42px;font-size:9px;font-weight:800}.scorer-actions button:disabled{opacity:.35}.game-strip{justify-content:center;gap:8px;max-width:980px;margin:14px auto;display:flex}.game-strip span{color:#9db3ce;background:#ffffff0d;border-radius:9px;padding:8px 11px;font-size:8px}.game-strip b{color:#fff;margin-left:4px;font-size:11px}.scorer-tip{text-align:center;color:#819ab8;max-width:980px;margin:12px auto 0;font-size:8px;line-height:1.7}.sync-result-btn{color:#102a56;background:#dfff73;border:0;border-radius:14px;width:min(520px,100%);height:54px;margin:17px auto 0;font-size:13px;font-weight:950;display:block;box-shadow:0 10px 28px #dfff732b}@media (width<=760px){.live-scorer-shell{min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 10px calc(18px + env(safe-area-inset-bottom));z-index:40;margin-top:-66px;position:relative}.scorer-topbar{grid-template-columns:38px 1fr auto;margin-bottom:9px}.scorer-topbar>button{width:38px;height:38px}.scorer-status{grid-template-columns:1fr 1.6fr 1fr;padding:8px 9px}.mobile-scoreboard{gap:7px}.mobile-scoreboard button{border-radius:18px;min-height:52dvh;padding:16px 7px}.mobile-scoreboard h2{font-size:16px}.mobile-scoreboard button>b{margin:22px 0 13px;font-size:28vw}.service-panel{grid-template-columns:1fr 1fr;gap:7px;margin:8px auto}.service-panel>div{padding:11px}.scorer-actions{grid-template-columns:1fr 1fr;gap:7px;margin:8px auto}.scorer-actions button{min-height:40px}.game-strip{margin:9px auto}.scorer-tip{padding:0 9px}.scorer-setup-card{padding:18px 14px}.scorer-step{grid-template-columns:30px 1fr;gap:10px}.scorer-step>span{width:30px;height:30px}.match-mode-toggle{grid-template-columns:1fr 1fr;display:grid}.free-match-grid{grid-template-columns:1fr}.free-match-grid label:last-child{grid-column:auto}.rubber-selector{display:flex;overflow-x:auto}.rubber-selector button{min-width:122px}.lineup-setup,.serve-setup,.lineup-setup fieldset,.offline-trust{grid-template-columns:1fr}.live-scorer-setup .page-title-actions{align-items:flex-start}}.scorer-actions button.discard{color:#ffb6b6;border-color:#ff8d8d45}.gate-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width>=761px){.scorer-actions{grid-template-columns:repeat(5,1fr)}}.scorer-history{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:980px;margin:18px auto 0;padding:20px}.scorer-history-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.scorer-history-head h2{margin:3px 0;font-size:20px}.scorer-history-head span{color:#7d8b9c;font-size:9px}.scorer-history-list{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.scorer-history-list article{border:1px solid #e8edf2;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.scorer-history-list article div span,.scorer-history-list article div b,.scorer-history-list article div small,.scorer-history-list article strong small{display:block}.scorer-history-list article div span{color:#8794a3;font-size:8px}.scorer-history-list article div b{margin:3px 0;font-size:10px}.scorer-history-list article div small,.scorer-history-list article strong small{color:#728094;font-size:8px}.scorer-history-list article strong{color:#102a56;text-align:right;font:800 19px Georgia}.scorer-history-list article strong small{white-space:nowrap;margin-top:3px}.scorer-history-empty{color:#7c8998;margin:16px 0 0;font-size:10px}@media (width<=760px){.scorer-history{padding:15px 12px}.scorer-history-head{align-items:flex-start}.scorer-history-list{grid-template-columns:1fr}.scorer-history-list article{padding:11px}}.live-sync-label{color:#dfff73!important}.public-live-board{color:#fff;background:linear-gradient(145deg,#102a56,#153b79);border:1px solid #b8d5ff;border-radius:20px;padding:22px;box-shadow:0 16px 38px #102a562e}.public-live-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.public-live-head h2{margin:2px 0 0;font-size:22px}.public-live-head>span{color:#bcd0ee;align-items:center;gap:7px;font-size:9px;display:flex}.public-live-head>span i{background:#ff6b6b;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite livePulse;box-shadow:0 0 0 5px #ff6b6b24}.public-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.public-live-grid article{background:#ffffff0b;border:1px solid #ffffff17;border-radius:15px;padding:15px}.public-live-meta{color:#b9cceb;justify-content:space-between;gap:12px;font-size:9px;display:flex}.public-live-meta b{color:#dfff73}.public-live-score{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:15px 0;display:grid}.public-live-score>div span,.public-live-score>div b,.public-live-score>div strong,.public-live-score>div small{display:block}.public-live-score>div span{color:#9fb5d4;font-size:8px}.public-live-score>div b{margin:5px 0;font-size:12px}.public-live-score>div strong{font:800 52px/1 Georgia}.public-live-score>div small{color:#a8bdd9;min-height:13px;margin-top:6px;font-size:8px}.public-live-score>em{color:#7791b4;font-size:20px;font-style:normal}.public-live-games{color:#9db3cf;border-top:1px solid #ffffff12;justify-content:center;align-items:center;gap:8px;padding-top:11px;font-size:8px;display:flex}.public-live-games b{color:#fff;background:#ffffff0c;border-radius:7px;padding:5px 8px}@keyframes livePulse{50%{opacity:.35;transform:scale(.8)}}@media (width<=760px){.public-live-board{padding:18px 12px}.public-live-grid{grid-template-columns:1fr}.public-live-meta{align-items:flex-start}.public-live-score>div strong{font-size:46px}}
