:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#201b30;background:#f6f5fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#642bd0;border:1px solid transparent;color:#fff;border-radius:10px;padding:11px 18px;font-weight:650;transition:background .15s}button:hover{background:#5120ae}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9d78ed;outline-offset:3px}a{color:#642bd0}header{background:#fff;border-bottom:1px solid #e8e4ef;display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100vw - 1240px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#241b38;font-size:19px;font-weight:750}.brand small{display:block;font-size:10px;letter-spacing:3px;color:#775790;margin-top:2px}.brand-mark{background:#642bd0;color:#fff;border-radius:12px;padding:12px;font-size:18px}nav{display:flex;gap:6px;flex-wrap:wrap}.nav{background:transparent;color:#6e657c;font-size:14px;padding:10px 14px}.nav:hover,.nav.active{background:#eee7fc;color:#642bd0}main{max-width:1240px;margin:auto;padding:30px 24px 60px}.hero{display:flex;justify-content:space-between;gap:36px;align-items:center;padding:46px;border-radius:22px;background:linear-gradient(110deg,#ede5ff,#faf8ff);border:1px solid #e5d9fa;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.8px;color:#7851ac;margin:0 0 10px}h1{font-size:clamp(32px,4vw,50px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 16px;font-weight:750}h1 em{font-style:normal;color:#642bd0}.hero p:not(.eyebrow){max-width:470px;font-size:16px;color:#756980;line-height:1.65;margin:0}.hero-stat{text-align:center;min-width:215px;padding:28px;border:1px solid #dfd1f7;border-radius:20px;background:#ffffff90}.hero-stat strong{font-size:52px;display:block;line-height:1.2}.hero-stat>span:not(.live-dot){font-size:14px;color:#642bd0}.hero-stat small{display:block;margin-top:14px;max-width:170px;color:#85768f;font-size:11px}.live-dot{display:inline-block;width:9px;height:9px;background:#dc385c;border-radius:100%}.sport-tabs{display:flex;gap:9px;overflow:auto;padding-bottom:10px}.sport{background:#fff;border:1px solid #e1dce9;color:#776d84;white-space:nowrap;padding:10px 16px;font-size:13px}.sport.active,.sport:hover{background:#642bd0;color:#fff;border-color:#642bd0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0 22px}.page-heading h2{font-size:28px;font-weight:750;letter-spacing:-.7px;margin:0}.page-heading p:not(.eyebrow){color:#857b90}h3{font-weight:700;font-size:19px;margin:0 0 16px}h4{font-weight:650;margin:16px 0 10px}.section-title{margin:22px 0 15px}.section-title span{margin-left:8px;color:#988caa;font-size:13px}.public-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:start}.match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.match-card{text-align:left;background:#fff;border:1px solid #e3ddea;color:#211b2b;padding:22px;border-radius:15px;font-weight:400}.match-card:hover{background:#fff;border-color:#b18be6;box-shadow:0 5px 22px #3e21580a}.match-meta,.match-bottom{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#95869c}.match-meta{margin-bottom:20px}.status{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.4px;color:#8a7798}.status.live{color:#d12e55}.status.completed{color:#29835e}.team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:16px;font-weight:600}.team-row strong{font-size:26px;font-variant-numeric:tabular-nums}.match-bottom{border-top:1px solid #f0ebf5;padding-top:14px;margin-top:15px}.match-bottom span:last-child{color:#642bd0;font-weight:650}.panel{background:#fff;border:1px solid #e3ddea;border-radius:16px;padding:24px}.standings{margin-top:22px}.muted{color:#897c94;font-size:13px;line-height:1.5}.table-wrap{overflow:auto;margin:16px 0}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8d8197;font-size:10px;letter-spacing:.5px;padding:10px 8px;background:#faf8fd}td{padding:14px 8px;border-bottom:1px solid #f0ebf5}td strong{font-size:13px}td small{display:block;font-size:10px;color:#998aa5;margin-top:4px}.empty{border:1px dashed #d7cce3;border-radius:16px;padding:35px;text-align:center;background:#ffffff70;color:#897a96}.empty h3{color:#594466;margin:8px 0}.empty p{font-size:14px;line-height:1.6}.empty-icon{font-size:32px;color:#ac8fca}.connection{background:#fff0dc;color:#8a5719;padding:12px 24px;font-size:13px}.login{display:grid;grid-template-columns:1fr 420px;align-items:center;gap:50px;padding:60px 0}.login>div p{color:#8c7d9a;line-height:1.7}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}.field>span{font-size:12px;font-weight:600;color:#786785}input,textarea,select{background:#fff;border:1px solid #d8cde3;border-radius:8px;padding:10px 12px;color:#332242;max-width:100%;font-size:14px}textarea{min-height:75px;resize:vertical}.form h3{font-size:17px}.form p{font-size:12px}.error{color:#b62d4e;background:#fff0f2;border-radius:8px;padding:12px;font-size:13px}.success{color:#22704b;background:#eaf7f0;padding:10px;border-radius:8px}.admin-filter{display:flex;gap:18px}.admin-filter label{min-width:200px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.tag{background:#e8ddfa;color:#642bd0;border-radius:8px;padding:8px 14px;font-size:12px;text-transform:capitalize}footer{max-width:1192px;margin:auto;padding:24px 0;border-top:1px solid #e2dbe9;display:flex;justify-content:space-between;color:#a194ad;font-size:12px}footer strong{color:#4c385a;font-size:14px}.purple{color:#642bd0}.modal-backdrop{position:fixed;inset:0;background:#21133388;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px}.modal{position:relative;margin:0;background:#fff;border:0;border-radius:18px;padding:28px;width:850px;max-width:100%;max-height:90vh;overflow:auto;color:#201b30;box-shadow:0 20px 90px #21133355}.modal-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.modal-heading h2{font-weight:700;font-size:24px;line-height:1.3}.secondary{background:#f2ecfb;border:1px solid #ded1ef;color:#642bd0;font-size:12px}.secondary:hover{background:#e9dcfb}.scoreboard{display:flex;align-items:center;justify-content:center;gap:30px;margin:30px 0 12px;text-align:center}.scoreboard>div{flex:1}.scoreboard span{font-size:16px;font-weight:600}.scoreboard strong{display:block;font-size:58px;line-height:1.3;color:#642bd0}.score-separator{color:#c4b5d6}.center{text-align:center}.video{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#eee8f6;margin-top:20px}.video iframe{width:100%;height:100%;border:0}.stream-note{font-size:12px;line-height:1.6;color:#95859f}.stream-empty{background:#f5f0fb;text-align:center;padding:32px;margin:20px 0;border-radius:10px;color:#8d789e;font-size:13px}.set-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#8b7a97}.set-list span{background:#f3eef8;padding:8px;border-radius:6px}.editor{border-top:1px solid #e7ddef;margin-top:20px;padding-top:24px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.set-edit{display:flex;gap:10px;align-items:center;margin-bottom:10px}.set-edit input{width:110px}.set-edit>span{font-size:12px}.check{display:flex;align-items:center;gap:10px;font-size:13px;margin:15px 0}.notice{background:#f4eefc;padding:12px;border-radius:8px;color:#7951a3;font-size:12px;line-height:1.6}.actions{display:flex;gap:12px;margin:20px 0 0}.history-button{margin-top:20px}.history{padding:0;list-style:none;font-size:12px}.history li{padding:12px;border-bottom:1px solid #e7dfed}.history small{display:block;color:#9a88a5;margin-top:5px}.loading{padding:80px 24px}@media(max-width:850px){.public-layout{grid-template-columns:1fr}.login{grid-template-columns:1fr;gap:20px;padding:25px 0}.hero{padding:28px}.hero-stat{min-width:165px}.admin-filter{flex-wrap:wrap}footer{margin:0 24px}.modal{padding:20px}.modal-heading h2{font-size:19px}}@media(max-width:560px){header{padding:14px 18px;flex-wrap:wrap}.brand{font-size:16px}main{padding:18px}.hero{display:block;padding:26px}.hero-stat{margin-top:24px;padding:18px;text-align:left}.hero-stat strong{display:inline;font-size:32px;margin:0 8px}.hero-stat small{max-width:none;margin-top:7px}.sport-tabs{margin:0 -18px;padding-left:18px}.page-heading{flex-wrap:wrap}.match-grid{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr;gap:0}.set-edit{flex-wrap:wrap}.set-edit input{width:85px}.scoreboard{gap:12px}.scoreboard strong{font-size:44px}.scoreboard span{font-size:13px}.modal-backdrop{padding:8px}.modal{max-height:96vh}.admin-filter label{min-width:0;width:100%}footer{gap:15px;flex-wrap:wrap}}.demo-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:20px;border:1px solid #e6d8b9;background:#fff9e9;border-radius:10px;color:#8a682d;font-size:12px}.demo-banner strong{font-size:10px;white-space:nowrap;letter-spacing:1px}.demo-hero{position:relative;background:linear-gradient(90deg,#190c2fde,#190c2f61),url(/demo/badminton-banner.png) center/cover;min-height:300px;border:0}.demo-hero h1,.demo-hero h1 em{color:#fff}.demo-hero .eyebrow{color:#dac2ff}.demo-hero p:not(.eyebrow){color:#e8ddf3}.demo-hero .hero-stat{background:#ffffffed}.demo-signin{margin-bottom:20px}.demo-signin p{font-size:12px;color:#8b749b}.demo-buttons{display:flex;gap:8px;flex-wrap:wrap}.demo-signin hr{border:0;border-top:1px solid #e9dfef;margin-top:20px}.demo-signin code{font-weight:700;color:#642bd0}.login>div:first-child{padding:32px;border-radius:16px;background:linear-gradient(0deg,#261039dd,#26103966),url(/demo/badminton-banner.png) center/cover;color:#fff;min-height:340px}.login>div:first-child p{color:#e6d6f6}.demo-banner+.login{padding-top:20px}@media(max-width:560px){.demo-banner{align-items:start;flex-direction:column}.demo-hero{background-position:60% center}.login>div:first-child{min-height:230px}}.match-sport{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:12px;color:#642bd0;font-weight:700}.match-sport span{font-size:10px;color:#9989a6;font-weight:400}.demo-basketball{background-image:linear-gradient(90deg,#190c2fde,#190c2f61),url(/demo/basketball-banner.png)}.festival-logo{width:56px;height:56px;object-fit:contain}main{max-width:1450px}.hero{min-height:240px;padding:34px 42px}.hero h1{font-size:42px}.sports-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);gap:26px;align-items:start}.sports-nav{background:#fff;border:1px solid #e5dfec;border-radius:16px;padding:20px;position:sticky;top:20px}.sports-nav-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sports-nav-title h2{font-size:16px;margin:0;font-weight:750}.sports-nav-title>span{font-size:11px;color:#897498;background:#f4effa;padding:4px 7px;border-radius:6px}.sports-nav>input{width:100%;font-size:12px;padding:10px}.sport-group{margin-top:20px}.sport-group h3{font-size:10px;letter-spacing:1.2px;color:#a18baa;text-transform:uppercase;margin:0 0 7px}.sport-option{display:flex;width:100%;align-items:center;gap:10px;background:transparent;color:#64546f;border-radius:9px;font-size:12px;text-align:left;padding:8px 9px;margin-bottom:4px}.sport-option img{width:30px;height:30px;object-fit:contain}.sport-option:hover,.sport-option.selected{background:#efe7fb;color:#642bd0}.sport-option.selected{box-shadow:inset 3px 0 #642bd0}.sport-option small{margin-left:auto;color:#b24663;font-size:10px;display:flex;align-items:center;gap:4px}.sport-option small i{width:5px;height:5px;background:#d44268;border-radius:50%}.sport-monogram{width:30px;height:30px;background:#f1eafb;border-radius:8px;display:grid;place-items:center;font-size:9px}.official-link{display:block;font-size:11px;margin-top:24px;padding-top:16px;border-top:1px solid #eee7f4;text-decoration:none}.sports-content{min-width:0}.sport-overview{background:#fff;border:1px solid #e5dfec;border-radius:16px;padding:26px}.sport-overview-main{display:flex;align-items:center;gap:24px}.sport-art{width:94px;height:94px;object-fit:contain;flex-shrink:0}.type-art{border-radius:18px;background:#ede4fb;color:#642bd0;display:grid;place-items:center;font-size:25px;font-weight:750}.sport-overview h2{font-size:30px;font-weight:750;letter-spacing:-1px;margin:0 0 8px}.sport-overview-main p:not(.eyebrow){color:#86778f;font-size:13px;line-height:1.7;margin:0 0 9px}.sport-overview-main a{font-size:11px;text-decoration:none}.sport-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-top:1px solid #eee8f4;margin-top:22px;padding-top:20px}.sport-facts strong{display:block;color:#4c345e;font-size:23px}.sport-facts span{font-size:10px;color:#9986a5}.sport-facts .score-label{font-size:13px;line-height:28px}.sport-rule-note{font-size:12px;color:#795993;line-height:1.6;background:#f7f2fd;padding:12px;border-radius:8px}.sports-content .public-layout{grid-template-columns:minmax(0,1fr) 340px;gap:20px}.sports-content .page-heading h2{font-size:20px}.matches-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.matches-heading h3{font-size:15px;margin:0}.matches-heading h3 span{font-size:11px;color:#a18baa;margin-left:5px}.matches-heading input{font-size:11px;width:150px}.match-filters{display:flex;gap:6px;margin:15px 0}.match-filters button{background:transparent;color:#8b789a;font-size:11px;padding:8px 10px;border:1px solid #e9dff2;border-radius:7px}.match-filters button.selected{background:#eee5fa;color:#642bd0;border-color:#d3b9ef}.match-filters span{margin-left:7px;color:#aa96bb;font-size:10px}.match-list-section .match-grid{grid-template-columns:1fr}.live-card{border-left:3px solid #c94c6c}.team-identity{display:flex;align-items:center;gap:10px}.team-avatar{display:grid;place-items:center;font-style:normal;background:#efe7f9;color:#8c65b0;width:33px;height:33px;border-radius:10px;font-size:10px;flex-shrink:0}.team-row.winner strong{color:#642bd0}.standings{margin-top:0;padding:21px}.table-wrap th{font-size:9px;padding:9px 5px}.table-wrap td{padding:12px 5px}.table-wrap td small{max-width:140px;line-height:1.5}.demo-banner{font-size:11px;background:#fcfaf3;padding:10px 14px}.hero-stat{padding:20px}.sport-overview .eyebrow{font-size:9px}.match-card .team-row{font-size:13px}.public-layout .match-card{padding:18px}.page-heading select{font-size:12px}@media(max-width:1150px){.sports-content .public-layout{grid-template-columns:1fr}.sports-workspace{grid-template-columns:215px minmax(0,1fr)}.table-wrap td small{max-width:none}}@media(max-width:760px){.sports-workspace{grid-template-columns:1fr}.sports-nav{position:static}.sport-group{display:inline-block;vertical-align:top;width:50%;padding-right:8px}.sports-nav>input{max-width:300px}.official-link{margin-top:12px}.sport-overview{padding:20px}.hero h1{font-size:34px}.sport-overview-main{gap:14px}.sport-art{width:74px;height:74px}.sport-facts{gap:10px}.sport-facts .score-label{font-size:11px}.sport-overview h2{font-size:25px}.matches-heading{flex-wrap:wrap}.sports-content .public-layout{grid-template-columns:1fr}}.modal{width:1180px}.live-watch-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;margin:22px 0}.broadcast-panel,.live-score-panel{border:1px solid #e5dbef;border-radius:14px;overflow:hidden;min-width:0}.broadcast-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;background:#f8f5fc;font-size:12px}.broadcast-heading>span{color:#9981ab;font-size:10px}.broadcast-heading .connected-label{color:#318467}.broadcast-heading .disconnected-label{color:#b05c35}.broadcast-panel .video{margin:0;border-radius:0}.broadcast-panel .stream-note{padding:0 16px}.coverage-caption{padding:18px}.coverage-caption h3{font-size:17px;margin-bottom:7px}.coverage-caption p{font-size:12px;color:#9982a9;margin:0}.live-score-panel{padding-bottom:18px}.live-period{text-align:center;color:#997daa;font-size:12px;margin-top:16px}.watch-score{display:flex;align-items:center;justify-content:space-between;text-align:center;gap:12px;padding:15px}.watch-score>div{flex:1}.watch-score span{display:block;font-size:12px;font-weight:600;line-height:1.6}.watch-score strong{display:block;font-size:46px;color:#642bd0}.watch-score .versus{color:#c4abd7}.set-score-table{width:calc(100% - 28px);margin:0 14px;font-size:11px}.set-score-table th{font-size:9px}.set-score-table td{padding:9px 6px}.score-update-time{text-align:center;font-size:10px;color:#9c86ad}.live-score-panel>p.muted{margin:10px 18px;font-size:10px}.sample-video-note{background:#fff7e8;border-top:1px solid #f1dfbc;padding:12px 16px;font-size:11px;color:#9b793e;line-height:1.6}.view-toggle{display:flex;gap:8px;margin:20px 0}.view-toggle button{font-size:11px;background:#f5effb;color:#8e73a8}.view-toggle button.selected{background:#642bd0;color:#fff}.quick-score{margin:18px 14px 0;padding:17px;background:#f8f4fd;border:1px solid #e7daf4;border-radius:12px}.quick-score h3{font-size:16px;margin:0}.quick-score>p.muted{font-size:11px}.point-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.point-controls>div{background:#fff;border:1px solid #e7def0;border-radius:10px;padding:10px;display:flex;flex-direction:column;text-align:center;gap:8px}.point-controls span{font-size:10px;min-height:30px}.point-controls strong{font-size:30px;color:#642bd0}.point-controls button{padding:12px 7px;font-size:18px}.point-controls button.secondary{font-size:12px;padding:7px}.basketball-points{display:flex;gap:6px}.basketball-points button{flex:1;font-size:12px}.quick-score .success{font-size:10px}.quick-score .error{font-size:11px}@media(max-width:800px){.live-watch-layout{grid-template-columns:1fr}.modal-heading h2{font-size:18px}.watch-score strong{font-size:38px}.view-toggle{flex-wrap:wrap}.live-score-panel{max-width:100%}}.live-now{margin:24px 0}.live-now-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.live-now-heading h2{font-size:18px;font-weight:750;margin:0}.live-now-heading>span{font-size:11px;color:#987fa9}.live-now-list{display:flex;gap:12px;overflow:auto;padding-bottom:8px}.live-now-card{flex:0 0 255px;background:#fff;color:#3e2c4e;text-align:left;border:1px solid #e5dbef;border-top:3px solid #d24a6b;border-radius:12px;padding:15px}.live-now-card:hover{background:#faf6ff;border-color:#cfa7e8}.live-now-card .status{display:flex;justify-content:space-between;margin-bottom:13px}.live-now-card small{color:#997da8;font-size:10px;text-transform:none}.live-now-card>strong{display:flex;justify-content:space-between;font-size:11px;padding:5px 0;gap:10px}.live-now-card b{font-size:16px;color:#642bd0}.live-now-bottom{display:block;color:#8e69b0;border-top:1px solid #eee5f5;padding-top:10px;margin-top:8px;font-size:10px}.mobile-sport-toggle{display:none}img,iframe{max-width:100%}.admin-grid>*{min-width:0}.team-identity{min-width:0}.team-row>span{overflow-wrap:anywhere}.modal-heading>div{min-width:0}.modal-heading>.secondary{flex-shrink:0}.sports-content,.match-list-section,.standings{min-width:0}@media(max-width:900px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter{display:grid;grid-template-columns:1fr 1fr}.admin-filter label{min-width:0}.login{grid-template-columns:1fr;gap:20px}.public-layout,.live-watch-layout{grid-template-columns:1fr}}@media(max-width:600px){html{scroll-padding-top:20px}header{padding:12px 16px;gap:10px}.brand{font-size:16px;gap:8px}.festival-logo{width:42px;height:42px}.brand small{font-size:9px;letter-spacing:2px}nav{width:100%;display:flex;flex-wrap:nowrap;gap:6px}.nav{min-height:44px;font-size:12px;padding:9px 12px;flex:1;white-space:nowrap}main{padding:16px 14px 32px}.demo-banner{font-size:11px;line-height:1.5;gap:5px}.hero,.demo-hero{padding:24px;min-height:0;margin-bottom:20px;border-radius:16px}.hero h1{font-size:30px;letter-spacing:-1px}.hero p:not(.eyebrow){font-size:13px}.hero .eyebrow{font-size:9px;line-height:1.6}.hero-stat{margin-top:20px;display:flex;align-items:center;gap:7px;padding:12px 14px;flex-wrap:wrap;min-width:0}.hero-stat strong{font-size:25px;margin:0}.hero-stat small{width:100%;margin:0;font-size:10px}.live-now-heading{align-items:start}.live-now-heading h2{font-size:16px}.live-now-heading>span{font-size:10px;max-width:135px;text-align:right}.live-now-list{scroll-snap-type:x mandatory}.live-now-card{flex-basis:235px;scroll-snap-align:start;min-height:154px}.sports-workspace{gap:18px}.sports-nav{padding:14px}.sports-nav-title{margin-bottom:10px}.sports-nav-title h2{font-size:14px}.mobile-sport-toggle{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;min-height:48px;background:#efe7fb;color:#642bd0;font-size:14px;text-align:left}.mobile-sport-toggle span{font-size:11px}.sports-nav:not(.expanded)>.sport-group,.sports-nav:not(.expanded)>input,.sports-nav:not(.expanded)>.official-link{display:none}.sports-nav.expanded>input{margin-top:14px}.sport-option{min-height:48px;font-size:12px;padding:8px}.sport-group{width:100%;display:block}.sport-group h3{margin-top:15px}.sport-art{width:62px;height:62px}.sport-overview-main{align-items:start;gap:12px}.sport-overview{padding:18px}.sport-overview h2{font-size:24px}.sport-overview-main p:not(.eyebrow){font-size:12px}.sport-facts{grid-template-columns:1fr 1fr;gap:18px}.sport-facts strong{font-size:22px}.sport-facts span{font-size:11px}.sport-facts .score-label{font-size:13px}.page-heading{gap:12px;margin:20px 0 16px}.page-heading h1{font-size:29px;letter-spacing:-1px}.page-heading select{width:100%}.matches-heading{gap:12px}.matches-heading input{width:100%}.match-filters{overflow-x:auto;gap:6px;padding-bottom:4px}.match-filters button{min-height:44px;white-space:nowrap;flex-shrink:0;font-size:12px;padding:10px 12px}.match-card{padding:17px}.match-bottom,.match-meta{font-size:11px}.team-row{min-height:46px}.match-card .team-row{font-size:13px}.team-row strong{font-size:25px}.table-wrap{overscroll-behavior-x:contain}.table-wrap table{min-width:365px}.table-wrap td small{max-width:140px}.standings{padding:18px}.admin-grid{grid-template-columns:1fr}.admin-filter{grid-template-columns:1fr;gap:0}.admin-grid .form{padding:20px}.panel.form{max-width:100%}.field>span{font-size:13px}input,textarea,select{font-size:16px;min-height:46px;width:100%}.form>button,.actions>button,.demo-buttons>button{min-height:48px}.demo-buttons{display:grid;grid-template-columns:1fr}.login{padding:0;gap:16px}.login>div:first-child{padding:24px;min-height:215px}.login h1{font-size:30px}.form h3{font-size:18px}.modal-backdrop{padding:0}.modal{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:0 16px 28px;overscroll-behavior:contain}.modal-heading{position:sticky;top:0;z-index:2;background:#fff;padding:16px 0 12px;border-bottom:1px solid #eee5f5;gap:12px}.modal-heading h2{font-size:18px;margin:0;overflow-wrap:anywhere}.modal-heading .eyebrow{font-size:9px;margin-bottom:7px}.modal-heading>.secondary{min-height:44px;padding:10px 14px;white-space:nowrap}.view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.view-toggle button{min-height:48px;font-size:12px;line-height:1.4;padding:9px}.live-watch-layout{gap:16px;margin:16px 0}.broadcast-heading{padding:14px;font-size:13px}.watch-score span{font-size:13px}.point-controls button{min-height:50px}.quick-score .field select{font-size:16px}.quick-score>button{min-height:46px}.quick-score .point-controls>div{padding:12px}.set-score-table{table-layout:fixed}.set-score-table th,.set-score-table td{overflow-wrap:anywhere}.set-score-table th{font-size:10px}.set-score-table td{font-size:12px}.score-update-time{font-size:11px}.live-score-panel>p.muted{font-size:12px}.coverage-caption h3{font-size:16px}.stream-note{font-size:12px}.stream-note a{display:inline-block;padding:6px 0}.editor .two-fields{grid-template-columns:1fr;gap:0}.set-edit{display:grid;grid-template-columns:22px 1fr 1fr;gap:8px}.set-edit input{width:100%;min-width:0}.set-edit button{grid-column:2/4;min-height:44px}.check input{width:22px;min-height:22px;flex-shrink:0}.check{align-items:start;line-height:1.6}.actions{display:grid;grid-template-columns:1fr 1fr;position:sticky;bottom:0;background:#fff;padding:12px 0;margin-top:15px}.history-button{min-height:44px}.tag{font-size:11px}footer{margin:0 14px;padding:20px 0;font-size:11px;gap:12px}.connection{font-size:12px;padding:12px 14px}}@media(max-width:350px){.hero h1{font-size:27px}.sport-overview-main{flex-direction:column}.brand{font-size:14px}.nav{font-size:11px;padding:8px}.point-controls{gap:8px}.point-controls span{overflow-wrap:anywhere}.matches-heading h3{font-size:14px}}fieldset{border:0;padding:0;margin:0;min-width:0}dialog.modal::backdrop{background:#091520ad}dialog.modal{position:fixed;inset:0;margin:auto;width:min(1180px,calc(100vw - 40px));height:fit-content;max-height:90dvh}@media(max-width:600px){dialog.modal{margin:0;width:100%;height:100dvh;max-height:100dvh}}.sport-scoring{border-top:1px solid var(--line,#dbe4e1);padding-top:1rem;margin-top:1rem}.score-unit{font-weight:700}.scoring-rules{background:#f1f7f4;border-radius:10px;padding:12px;margin-bottom:16px}.scoring-rules summary,.sport-score-controls summary{cursor:pointer;font-weight:650}.scoring-rules a{color:#16603e;text-decoration:underline}.current-score{padding:12px;background:#e8f5ee;border-radius:10px;text-align:center}.current-score>span{display:block}.current-score>strong{font-size:2rem}.current-score p{margin:4px}.score-entry{border-top:1px solid #dbe4e1;padding-top:12px;margin:16px 0}.score-entry fieldset,.sport-score-controls>fieldset{border:0;padding:0;margin:0;min-width:0}.score-entry fieldset{display:grid;gap:12px}.score-entry h4{margin:0 0 12px}.score-table-wrap{overflow:auto;max-height:260px}.sport-scoring table{width:100%;font-size:.85rem}.sport-scoring th,.sport-scoring td{text-align:left;padding:8px;border-bottom:1px solid #dbe4e1}.scoring-setup{margin:20px 0}.sport-score-controls .point-controls>div{min-width:0}.sport-score-controls button{white-space:normal}.bowling-cards h4{margin-bottom:4px}.bowling-cards p{font-size:.85rem}.sport-scoring .two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:480px){.sport-scoring .two-fields{grid-template-columns:1fr}}.score-caption{display:block;font-size:.78rem;color:#52675e;margin:8px 0;font-weight:500}.sport-overview>.scoring-rules{margin:16px 0 0}.auth-qr{display:block;width:220px;max-width:100%;height:auto;background:#fff;padding:12px;border-radius:8px;margin:12px 0}.organiser-start{padding:24px;margin-bottom:28px}.organiser-start h2{font-size:24px;margin:0 0 16px}.organiser-start ol{padding-left:22px;display:grid;gap:12px;line-height:1.7}.organiser-start p{line-height:1.7}.setup-progress{display:flex;gap:10px;list-style:none;padding:0;margin:18px 0;flex-wrap:wrap;font-size:12px;color:#756980}.setup-progress li{display:flex;align-items:center;gap:6px}.setup-progress li[aria-current=step]{font-weight:750;color:#642bd0}.setup-progress span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eee7fc}.form .setup-help{font-size:13px}.form .setup-help a{overflow-wrap:anywhere}.workspace-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px;width:100%}.workspace-tabs button{background:#f1eaf9;color:#563675;min-height:44px}.workspace-tabs button.selected{background:#642bd0;color:#fff}.workspace-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.workspace-stats .panel{padding:22px}.workspace-stats strong{display:block;font-size:32px;color:#642bd0}.workspace-stats span{font-size:13px}.workspace-info{padding:26px;margin:20px 0;line-height:1.7}.workspace-info ol{padding-left:24px}.workspace-info li{margin:10px 0}.workspace-info dt{font-weight:700}.workspace-info dd{margin:0 0 16px}.assigned-sports{padding:14px 18px;background:#f3edfc;border-radius:10px;line-height:1.7}.sport-permissions{margin:18px 0}.sport-permissions legend{font-weight:700}.sport-permissions .check{display:flex;align-items:center;gap:10px;margin:8px 0;min-height:36px}.sport-permissions input{width:20px;height:20px;min-height:20px;flex-shrink:0}.record-id{font-size:11px;overflow-wrap:anywhere;max-width:220px}.staff-workspace .admin-grid{align-items:start}.staff-workspace .form{margin:20px 0}.staff-workspace h2{font-size:23px}.staff-workspace .admin-filter{margin:20px 0}@media(max-width:700px){.workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-stats .panel{padding:16px}.workspace-tabs{flex-wrap:wrap}.workspace-tabs button{font-size:12px;flex:1 0 40%;padding:10px}.workspace-info{padding:20px}.workspace-info table{min-width:650px}}.auth-form{display:grid;gap:20px;min-width:0}.auth-form h3,.auth-form p,.auth-form .setup-progress,.auth-form .field{margin:0}.auth-form>fieldset{display:grid;gap:18px;min-width:0}.auth-form .field{gap:8px}.auth-form .field input{width:100%;min-height:48px;padding:12px;font-size:16px;line-height:22px}.auth-form p{line-height:1.65}.auth-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:12px}.auth-form button{min-height:48px;padding:12px 16px;font-size:14px;line-height:22px;white-space:normal}.auth-actions>button{width:100%;height:100%}.sign-in-help{line-height:1.65}.sign-in-help a{font-weight:600}.auth-form .sign-in-help{border-top:1px solid #e8e4ef;padding-top:16px}.turnstile-check{position:relative;display:grid;gap:8px;min-width:0}.turnstile-widget{width:100%;min-width:0;min-height:65px}.turnstile-check p{margin:0;line-height:1.6}.turnstile-check>button{justify-self:start}.turnstile-check .turnstile-complete{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sponsor-banner{background:#140d25;color:#d9cfe7;flex:none}.sponsor-banner__inner{max-width:1192px;margin:0 auto;padding:10px 22px 2px}.sponsor-banner__creative{display:block;border-radius:8px;text-decoration:none;overflow:hidden;line-height:0}.sponsor-banner__creative picture,.sponsor-banner__creative img{display:block;width:100%;height:auto}.sponsor-banner__creative img{aspect-ratio:1456/180;object-fit:contain}.sponsor-banner__creative:focus-visible{outline:3px solid #d3ff82;outline-offset:3px}.sponsor-banner__caption{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;line-height:1.5}.sponsor-banner__caption strong{color:#fff}.sponsor-banner__motion{display:inline-flex;gap:7px;align-items:center;justify-content:center;background:transparent;color:#d9cfe7;font-size:11px;font-weight:500;border-radius:5px;padding:8px;min-width:70px;min-height:36px;flex-shrink:0}.sponsor-banner__motion:hover{background:#332048;color:#fff}.sponsor-banner__motion:focus-visible{outline-color:#d3ff82}.sponsor-banner--dialog{border-radius:10px;margin-bottom:20px}.sponsor-banner--dialog .sponsor-banner__inner{padding:7px 12px 0}@media(max-width:600px){.sponsor-banner__inner{padding:6px 12px 0}.sponsor-banner__creative img{aspect-ratio:720/220}.sponsor-banner__caption{font-size:10px;gap:6px}.sponsor-banner__motion{min-height:44px;min-width:64px;padding:8px;font-size:11px}.sponsor-banner--dialog{margin:0 -16px;border-radius:0}.sponsor-banner--dialog .sponsor-banner__inner{padding:6px 12px 0}}a.nav{display:inline-flex;align-items:center;text-decoration:none;border-radius:10px;font-weight:650}.site-footer{gap:24px;align-items:flex-start;flex-wrap:wrap}.site-footer>div{display:flex;flex-direction:column;gap:8px}.site-footer nav{max-width:660px;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px}.site-footer a{font-size:13px;line-height:1.6;text-underline-offset:3px}.information-page{max-width:1050px;padding-top:28px}.back-link{display:inline-block;margin-bottom:25px;font-size:14px;text-decoration:none}.information-page article{background:#fff;border:1px solid #e3ddea;border-radius:20px;padding:clamp(22px,5vw,52px)}.information-page h1{font-size:clamp(30px,5vw,44px);letter-spacing:-1px}.information-page h2{font-size:24px;letter-spacing:-.5px;line-height:1.25;margin:0 0 16px}.information-page p,.information-page li{font-size:15px;line-height:1.8;color:#544b63}.information-page .article-lead{font-size:18px;line-height:1.6;color:#6d5c83;margin:16px 0 26px}.information-page section{margin-top:34px;padding-top:30px;border-top:1px solid #eee8f6;scroll-margin-top:24px}.information-page li{padding-left:6px;margin-bottom:14px}.information-page .eyebrow{font-size:11px;color:#7851ac;line-height:1.5}.information-page strong{color:#2c1e40}.information-page a{text-underline-offset:3px;overflow-wrap:anywhere}.article-jumps{gap:8px;margin:24px 0;flex-wrap:wrap}.article-jumps a{font-size:13px;padding:10px 14px;background:#f1eafa;border-radius:9px;text-decoration:none}.help-callout{padding:22px 24px;background:#f6f1ff;border-left:4px solid #8c50dc;border-radius:4px 12px 12px 4px}.help-callout p{margin:8px 0 0}.help-steps{padding-left:24px}.information-page details{padding:16px 18px;border:1px solid #e5ddec;border-radius:10px;margin:12px 0}.information-page summary{cursor:pointer;font-weight:650;font-size:15px;color:#3c245d;line-height:1.6}.information-page summary:focus-visible{outline:3px solid #9d78ed;outline-offset:4px}.information-page details p:last-child{margin-bottom:0}.information-page code{font-size:12px;overflow-wrap:anywhere;white-space:normal}.help-table caption{text-align:left;font-size:13px;color:#71637f;padding:12px 0}.help-table td{vertical-align:top;line-height:1.8}.information-page .article-source,.information-page .article-date{font-size:12px;color:#766782;line-height:1.7}.information-page .article-date{margin-top:24px}.legal-preview p{margin:6px 0 0;font-size:13px}.setup-help{background:#f6f1ff;border:1px solid #e5d8f7;border-radius:9px;padding:12px 14px;font-size:13px;line-height:1.5}.setup-help small{display:block;color:#796b86;margin-top:5px}.stream-consent{background:#241632;color:#fff;width:100%;max-width:100%;min-width:0;min-height:220px;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}.stream-consent h3{color:#fff;margin:0;font-size:22px}.stream-consent p{color:#e3d8ee;font-size:13px;line-height:1.6;margin:0;width:100%;min-width:0;max-width:420px;overflow-wrap:anywhere}.stream-consent a{color:#d2b5ff}.stream-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-right:14px}.stream-controls .stream-note{flex:1;margin-bottom:8px}.stream-controls button{font-size:12px;padding:8px 12px;margin:8px 0}.collection-notice{font-size:12px;line-height:1.6;color:#796b86}@media(max-width:600px){header>nav{flex-wrap:wrap}.site-footer nav{justify-content:flex-start;gap:12px 16px;width:100%}.site-footer a{font-size:12px}.information-page{padding:22px 14px 36px}.information-page article{padding:24px 18px}.information-page h2{font-size:22px}.information-page p,.information-page li{font-size:14px}.information-page .article-lead{font-size:16px}.information-page .article-jumps{display:grid;grid-template-columns:1fr 1fr}.article-jumps a{min-width:0;text-align:center;overflow-wrap:normal}.help-callout{padding:16px}.information-page code{font-size:11px}.stream-consent{padding:20px 16px;min-height:250px;aspect-ratio:auto}}
