*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}:root{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-app)}body{background:var(--surface-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh}body,#app,.screen,.tab-bar,.match-detail-panel,.settings-panel,.match-card,.round-header{transition:background-color .26s ease,color .26s ease,border-color .26s ease}a{color:inherit;text-decoration:none}#app{display:flex;flex-direction:column;min-height:100dvh;background:var(--surface-app)}.screen-slot{flex:1;display:flex;flex-direction:column;min-height:0}.screen{display:flex;flex-direction:column;flex:1;min-height:0}.screen-header{display:flex;align-items:baseline;justify-content:space-between;padding:8px 20px 16px}.screen-header h1{font-size:30px;font-weight:500;color:var(--text-primary);letter-spacing:-.3px}.season-year{font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums}.placeholder{padding:40px 20px;color:var(--text-muted);text-align:center}.loading,.error{padding:40px 20px;color:var(--text-muted);text-align:center;font-size:14px}.tab-bar{display:flex;height:76px;padding-top:10px;border-top:.5px solid var(--border-tabbar);background:var(--surface-tabbar);flex-shrink:0}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-tabbar-inactive);text-decoration:none;cursor:pointer}.tab-item.is-active{color:var(--text-tabbar-active)}.tab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.tab-icon-outline,.tab-icon-filled{display:inline-flex;align-items:center;justify-content:center;line-height:0}.tab-icon-outline svg,.tab-icon-filled svg{display:block}.tab-icon-filled,.tab-item.is-active .tab-icon-outline{display:none}.tab-item.is-active .tab-icon-filled{display:inline-flex}.tab-label{font-size:10px;font-weight:400}.tab-item.is-active .tab-label{font-weight:500}.fixture-comp-switcher{padding:0 14px 12px;display:flex;justify-content:center}.fixture-scroll{flex:1;overflow-y:auto;padding:0 14px 80px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;scroll-padding-top:4px}.round-panel{display:block;border-radius:14px;padding:12px 14px;border:.5px solid;cursor:pointer;scroll-snap-align:start;scroll-snap-stop:always}.round-panel.is-active{background:var(--surface-panel-active);border-color:var(--border-panel-active);color:var(--text-primary)}.round-panel.is-quiet{background:var(--surface-panel-quiet);border-color:var(--border-panel-quiet);color:var(--text-secondary)}.round-header{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px;margin-bottom:10px}.round-title{font-size:17px;font-weight:500}.round-meta{font-size:13px;color:var(--text-muted)}.round-empty{font-size:13px;color:var(--text-muted);padding:4px 2px 2px}.day-group+.day-group .day-header{border-top:.5px solid var(--border-divider-quiet)}.round-panel.is-active .day-group+.day-group .day-header{border-top-color:var(--border-divider-active)}.day-header{font-size:12px;font-weight:500;letter-spacing:.4px;padding:6px 2px 4px;color:var(--accent-live-quiet)}.round-panel.is-active .day-header{color:var(--accent-live)}.match-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 2px}.round-panel.is-active .match-row{padding:8px 2px}.match-teams{flex:1;font-size:15px;color:var(--text-secondary);min-width:0}.round-panel.is-active .match-teams{font-size:16px;color:var(--text-primary)}.match-teams .is-winner{font-weight:600;color:var(--text-primary)}.match-teams .is-loser,.match-teams .vs{color:var(--text-muted)}.match-state{text-align:right;font-size:15px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.round-panel.is-active .match-state{font-size:16px;color:var(--text-primary)}.match-state .final-score{font-variant-numeric:tabular-nums;font-weight:600}.match-state .live-text{color:var(--accent-live);font-weight:500;font-variant-numeric:tabular-nums}.round-panel.is-quiet .match-state .live-text{color:var(--accent-live-quiet)}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-live);animation:br-pulse 1.5s ease-in-out infinite}.round-panel.is-quiet .live-dot{background:var(--accent-live-quiet)}@keyframes br-pulse{0%,to{opacity:.4}50%{opacity:1}}.kickoff{font-variant-numeric:tabular-nums}.byes-footer{margin-top:10px;padding:10px 2px 2px;border-top:.5px solid var(--border-divider-quiet);font-size:13px;display:flex;gap:6px;flex-wrap:wrap}.round-panel.is-active .byes-footer{border-top-color:var(--border-divider-active)}.byes-label{color:var(--text-muted);font-weight:500}.byes-list{color:var(--text-faint);flex:1}.br-segmented{display:flex;padding:4px;gap:4px;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-active);border-radius:12px}.br-seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.br-seg-btn.is-active{background:var(--surface-panel-active);color:var(--text-primary);box-shadow:0 1px 2px #0000002e,inset 0 0 0 .5px #ffffff14}:root[data-theme=boundary-light] .br-seg-btn.is-active{box-shadow:0 1px 2px #00000014,inset 0 0 0 .5px #0000000a}.competition-picker{width:min(260px,100%);height:auto;padding:3px}.competition-picker .br-seg-btn{padding:6px 14px;font-size:13px;letter-spacing:.3px;font-weight:600}.segmented-control{position:relative;display:flex;height:32px;margin:0 14px 8px;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-quiet);border-radius:8px;padding:2px;gap:0}.segment-indicator{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--seg-count, 4));transform:translate(calc(var(--seg-active, 0) * 100%));transition:transform .34s cubic-bezier(.32,.72,0,1);pointer-events:none;z-index:0}.segment-indicator-inner{position:absolute;inset:0;border-radius:6px;background:linear-gradient(180deg,#ffffff1a,#ffffff05 60%),var(--surface-panel-active);box-shadow:0 2px 8px #00000059,0 1px 2px #00000040,inset 0 0 0 .5px #ffffff29,inset 0 1px #ffffff2e;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);transform-origin:center;will-change:transform,box-shadow}.segment-indicator-inner.is-pulsing{animation:seg-bubble .34s cubic-bezier(.32,.72,0,1)}@keyframes seg-bubble{0%{transform:scale(1)}35%{transform:scale(1.1,1.16)}to{transform:scale(1)}}html[style*="--surface-app: #f5f5f5"] .segment-indicator-inner,html:has(body[data-theme=boundary-light]) .segment-indicator-inner{background:linear-gradient(180deg,#ffffffb3,#ffffff4d 60%),var(--surface-panel-active);box-shadow:0 2px 6px #0000001f,0 1px 2px #00000014,inset 0 0 0 .5px #fff9,inset 0 1px #fffc}.segment{position:relative;z-index:1;flex:1;background:transparent;border:none;color:var(--text-muted);font-size:13px;font-family:inherit;font-weight:400;cursor:pointer;padding:0;transition:color .2s ease-out}.segment.is-active{color:var(--text-primary);font-weight:500}.ladder-header{justify-content:center;padding:6px 20px}.ladder-column-headers{height:24px;display:flex;align-items:center}.col-heads{display:flex;align-items:center;width:100%;gap:8px;padding:0 14px}.col-head{font-size:11px;font-weight:500;letter-spacing:.3px;color:var(--text-muted);text-align:right;text-transform:uppercase;font-variant-numeric:tabular-nums}.col-heads:before{content:"";width:50px;flex-shrink:0}.col-head.col-name{flex:1;text-align:left}.col-head.col-chip,.col-head.col-next5{flex:1}.col-head.col-last10,.col-head.col-last5,.col-head.col-streak{width:44px}.ladder-body-wrap{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;min-height:0}.ladder-body{position:relative;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s ease-out;will-change:transform}.ladder-body.slide-in-left{transform:translate(100%);opacity:0}.ladder-body.slide-in-right{transform:translate(-100%);opacity:0}.ladder-body.slide-out-left{position:absolute;top:0;left:0;right:0;transform:translate(-100%);opacity:0}.ladder-body.slide-out-right{position:absolute;top:0;left:0;right:0;transform:translate(100%);opacity:0}.ladder-row{position:relative;display:flex;align-items:center;height:32px;padding:0 14px;border-bottom:.5px solid var(--border-divider-quiet);gap:8px}.favourite-stripe{position:absolute;left:0;top:0;bottom:0;width:4px;display:flex;flex-direction:column}.row-pos{width:22px;text-align:right;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.row-pos.in-finals{color:var(--text-primary)}.row-pos.out{color:var(--text-muted)}.row-chip{display:inline-flex;align-items:center}.row-name{flex:1;font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-name-fixed{flex:0 0 140px}.ladder-body.view-extended .row-name{display:none}.row-stat{text-align:right;font-size:13px;font-weight:400;color:var(--text-secondary);font-variant-numeric:tabular-nums;display:inline-block}.row-stat.is-primary{color:var(--text-primary);font-weight:500}.ladder-body.view-extended .row-stat,.ladder-body.view-brief .row-stat{font-size:14px}.row-next5{display:flex;gap:4px;margin-left:auto}.next5-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:22px;height:23px}.next5-bye{font-size:10px;font-weight:500;color:var(--text-muted);line-height:14px}.next5-home{color:var(--text-muted);height:10px;display:flex;align-items:center;margin-top:auto}.next5-spacer{height:10px;margin-top:auto}.row-last10,.row-last5{width:44px;text-align:right;font-size:14px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.row-streak{width:44px;display:flex;justify-content:flex-end}.streak-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}.streak-pill.is-win{background:var(--accent-success-background);color:var(--accent-success-text)}.streak-pill.is-loss{background:var(--accent-danger-background);color:var(--accent-danger-text)}.streak-pill.is-draw{background:var(--surface-panel-quiet);color:var(--text-muted)}.streak-pill.is-empty{background:transparent;color:var(--text-muted)}.streak-pill.is-bye{background:var(--surface-panel-active);color:var(--text-faint)}.screen-match-day{display:flex;flex-direction:column;flex:1;min-height:0}.screen-match-day .match-day-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;gap:10px}.screen-match-day .match-day-title{display:inline-flex;align-items:center;gap:8px;flex:1;justify-content:center}.screen-match-day .match-day-round{font-size:21px;font-weight:500;color:var(--text-primary);letter-spacing:-.2px}.screen-match-day .live-count-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-quiet);font-size:13px;font-weight:500;color:var(--accent-live);letter-spacing:.2px}.screen-match-day .match-day-nav-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-quiet);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:transform .1s ease-out}.screen-match-day .match-day-nav-button:active:not(:disabled){transform:scale(.94)}.screen-match-day .match-day-nav-button:disabled{opacity:.35;cursor:default}.screen-match-day .match-day-scroll{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;min-height:0;-webkit-overflow-scrolling:touch}.screen-match-day .match-day-content{display:flex;flex-direction:column;gap:16px;padding:0 14px 80px;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s ease-out;will-change:transform}.screen-match-day .match-day-content.slide-in-left{transform:translate(100%);opacity:0}.screen-match-day .match-day-content.slide-in-right{transform:translate(-100%);opacity:0}.screen-match-day .match-day-content.slide-out-left{position:absolute;top:0;left:0;right:0;transform:translate(-100%);opacity:0}.screen-match-day .match-day-content.slide-out-right{position:absolute;top:0;left:0;right:0;transform:translate(100%);opacity:0}.screen-match-day .match-day-day-group{display:flex;flex-direction:column;gap:8px}.screen-match-day .match-day-day-header{font-size:14px;font-weight:500;letter-spacing:.4px;padding:4px 2px 0;color:var(--text-muted);text-transform:uppercase}.screen-match-day .match-card{position:relative;display:block;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-quiet);border-radius:14px;padding:12px 14px;cursor:pointer;overflow:hidden}.screen-match-day .match-card.is-live{background:var(--surface-panel-active);border-color:var(--border-panel-active)}.screen-match-day .match-card-team-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;min-height:34px}.screen-match-day .match-card-team-left{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1}.screen-match-day .match-card-team-name{font-size:19px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-match-day .match-card-team-row.is-leading .match-card-team-name{color:var(--text-primary)}.screen-match-day .match-card-team-row.is-trailing .match-card-team-name{color:var(--text-secondary)}.screen-match-day .match-card-team-right{display:inline-flex;align-items:baseline;gap:8px;flex-shrink:0}.screen-match-day .match-card-margin{font-size:14px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.screen-match-day .match-card-score{font-size:23px;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.screen-match-day .match-card-team-row.is-leading .match-card-score{color:var(--text-primary)}.screen-match-day .match-card-team-row.is-trailing .match-card-score{color:var(--text-secondary)}.screen-match-day .match-card-score.is-time{font-size:18px;font-weight:400;color:var(--text-secondary)}.screen-match-day .match-card-divider{height:1px;background:var(--text-muted);opacity:.6;margin:6px 0 0}.screen-match-day .match-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:5px;font-size:12px;line-height:1}.screen-match-day .match-card-status{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-weight:500}.screen-match-day .match-card-status .live-text{color:var(--accent-live);font-variant-numeric:tabular-nums}.screen-match-day .match-card-countdown{color:var(--text-secondary);font-variant-numeric:tabular-nums}.screen-match-day .match-card-venue{color:var(--text-muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.screen-match-day .byes-footer{margin-top:4px}.screen-match-detail{display:flex;flex-direction:column;flex:1;min-height:0}.screen-match-detail .match-detail-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;gap:12px}.screen-match-detail .match-detail-back,.screen-match-detail .match-detail-header-spacer{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-quiet);border-radius:8px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:transform .1s ease-out}.screen-match-detail .match-detail-header-spacer{visibility:hidden;cursor:default}.screen-match-detail .match-detail-back:active{transform:scale(.94)}.screen-match-detail .match-detail-breadcrumb{flex:1;text-align:center;font-size:26px;font-weight:500;color:var(--text-primary);letter-spacing:-.3px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-match-detail .match-detail-scroll{flex:1;overflow-y:auto;padding:0 14px 80px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}.screen-match-detail .match-detail-section-label{font-size:14px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--text-secondary);padding:12px 4px 4px}.screen-match-detail .match-detail-panel{background:var(--surface-panel-quiet);border:.5px solid var(--border-divider-bright);border-radius:14px;padding:14px}.screen-match-detail .hero-panel{padding:16px 14px 14px}.screen-match-detail .hero-teams{display:flex;align-items:center;justify-content:space-around;gap:12px}.screen-match-detail .hero-team{display:inline-flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:0}.screen-match-detail .hero-team-name{font-size:17px;font-weight:500;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.screen-match-detail .hero-vs{color:var(--text-primary);font-size:16px;font-weight:500;align-self:center;margin-top:-26px}.screen-match-detail .hero-divider{height:0;border-top:.5px solid var(--border-divider-bright);margin:14px 0 10px}.screen-match-detail .hero-countdown{text-align:center;font-size:17px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.screen-match-detail .hero-meta{text-align:center;font-size:13px;color:var(--text-secondary);margin-top:4px;display:flex;flex-direction:column;gap:2px}.screen-match-detail .h2h-table{display:grid;grid-template-columns:1fr 96px 1fr;column-gap:14px;row-gap:0}.screen-match-detail .h2h-cell{padding:9px 0;font-size:16px;font-variant-numeric:tabular-nums;border-bottom:.5px solid var(--border-divider-bright);display:inline-flex;align-items:center}.screen-match-detail .h2h-table .h2h-cell:nth-last-child(-n+3){border-bottom:none}.screen-match-detail .h2h-cell.is-home,.screen-match-detail .h2h-cell.is-away{justify-content:center;color:var(--text-primary)}.screen-match-detail .h2h-cell.is-label{color:var(--text-secondary);font-weight:500;justify-content:center;text-align:center}.screen-match-detail .h2h-cell.is-value{font-weight:500}.screen-match-detail .h2h-cell.is-secondary,.screen-match-detail .h2h-cell.is-header{color:var(--text-secondary)}.screen-match-detail .h2h-form{gap:2px}.screen-match-detail .h2h-form .streak-pill{min-width:16px;width:16px;height:18px;font-size:11px;padding:0}.screen-match-detail .recent-row{display:grid;grid-template-columns:64px 1fr 80px;align-items:center;gap:10px;padding:9px 0;border-bottom:.5px solid var(--border-divider-bright)}.screen-match-detail .recent-row:last-child{border-bottom:none}.screen-match-detail .recent-left{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.screen-match-detail .recent-mid{font-size:16px;color:var(--text-primary);font-variant-numeric:tabular-nums}.screen-match-detail .recent-right{font-size:13px;color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.screen-match-detail .late-changes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.screen-match-detail .late-change-col{display:flex;flex-direction:column;gap:6px}.screen-match-detail .late-change-header{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:var(--text-primary);padding-bottom:4px;border-bottom:.5px solid var(--border-divider-bright)}.screen-match-detail .late-change{padding:4px 0}.screen-match-detail .late-change-line{display:inline-flex;align-items:baseline;gap:6px;font-size:16px}.screen-match-detail .late-change.is-in .late-change-sign{color:var(--accent-success-text);font-weight:600}.screen-match-detail .late-change.is-out .late-change-sign{color:var(--accent-danger-text);font-weight:600}.screen-match-detail .late-change.is-milestone .late-change-sign{color:var(--text-secondary)}.screen-match-detail .late-change-name{color:var(--text-primary)}.screen-match-detail .late-change-reason{font-size:13px;color:var(--text-secondary);padding-left:18px;font-style:italic}.screen-match-detail .late-changes-empty{text-align:center;font-size:16px;color:var(--text-secondary);font-style:italic;padding:4px 0}.screen-match-detail .late-changes-empty-col{text-align:left;padding:4px 0}.finals-line{position:absolute;left:0;right:0;top:256px;height:2px;background:var(--accent-finals-line);pointer-events:none;margin-top:-1px}.screen-match-detail.is-postgame .match-detail-scroll{padding:0 14px 80px}.screen-match-detail .postgame-switcher{padding:8px 0 2px}.screen-match-detail .postgame-body-wrap{position:relative}.screen-match-detail .postgame-body{display:flex;flex-direction:column;gap:8px;transition:transform .32s ease-out,opacity .32s ease-out;will-change:transform}.screen-match-detail .postgame-body.slide-in-left{transform:translate(100%);opacity:0}.screen-match-detail .postgame-body.slide-in-right{transform:translate(-100%);opacity:0}.screen-match-detail .postgame-body.slide-out-left{position:absolute;top:0;left:0;right:0;transform:translate(-100%);opacity:0}.screen-match-detail .postgame-body.slide-out-right{position:absolute;top:0;left:0;right:0;transform:translate(100%);opacity:0}.screen-match-detail .match-detail-hero.is-postgame{display:flex;flex-direction:column;gap:0}.screen-match-detail .postgame-team-row{display:grid;grid-template-columns:56px 1fr auto auto;align-items:center;gap:12px;padding:8px 0}.screen-match-detail .postgame-team-chip{display:inline-flex;justify-content:center;align-items:center}.screen-match-detail .postgame-team-name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.screen-match-detail .postgame-team-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-match-detail .postgame-team-row.is-loser .postgame-team-name,.screen-match-detail .postgame-team-row.is-loser .postgame-total{color:var(--text-muted)}.screen-match-detail .postgame-team-gbt{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.screen-match-detail .postgame-margin{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:24px;text-align:right}.screen-match-detail .postgame-total{font-size:30px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1;min-width:52px;text-align:right}.screen-match-detail .postgame-divider{height:0;border-top:.5px solid var(--border-divider-bright);margin:4px 0}.screen-match-detail .postgame-meta{text-align:center;font-size:10px;color:var(--text-secondary);padding:6px 0 2px}.screen-match-detail .score-worm{display:block;width:100%}.screen-match-detail .score-worm-svg{width:100%;height:auto;display:block}.screen-match-detail .score-worm-path{stroke:var(--text-primary);stroke-width:1.25;fill:none}.screen-match-detail .score-worm-zero{stroke:var(--border-divider-bright);stroke-width:.75;stroke-dasharray:3 3}.screen-match-detail .score-worm-divider{stroke:var(--border-divider-bright);stroke-width:.5;stroke-dasharray:2 3}.screen-match-detail .score-worm-qlabel,.screen-match-detail .score-worm-ylabel{fill:var(--text-secondary);font-size:9px;font-family:inherit}.screen-match-detail .score-worm.is-unavailable{text-align:center;color:var(--text-secondary);font-style:italic;font-size:13px;padding:18px 0}.screen-match-detail .by-quarter-table{display:grid;grid-template-columns:1.4fr repeat(4,1fr);column-gap:8px;row-gap:0}.screen-match-detail .by-quarter-cell{padding:8px 0;font-size:14px;font-variant-numeric:tabular-nums;border-bottom:.5px solid var(--border-divider-bright);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.screen-match-detail .by-quarter-cell.is-label{justify-content:flex-start;gap:6px;color:var(--text-primary)}.screen-match-detail .by-quarter-cell.is-header{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.3px}.screen-match-detail .by-quarter-team-name{font-size:14px;font-weight:500}.screen-match-detail .by-quarter-cell.is-loser{color:var(--text-muted)}.screen-match-detail .by-quarter-cell.is-loser.is-final{color:var(--text-secondary)}.screen-match-detail .by-quarter-cell.is-winner.is-final{color:var(--text-primary);font-weight:500}.screen-match-detail .by-quarter-table>.by-quarter-cell:nth-last-child(-n+5){border-bottom:none}.screen-match-detail .two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.screen-match-detail .postgame-col-header{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary);padding-bottom:6px;border-bottom:.5px solid var(--border-divider-bright);margin-bottom:4px}.screen-match-detail .goal-kickers-col,.screen-match-detail .best-players-col{display:flex;flex-direction:column}.screen-match-detail .goal-kickers-row{display:flex;align-items:baseline;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:.5px solid var(--border-divider-quiet)}.screen-match-detail .goal-kickers-col .goal-kickers-row:last-child{border-bottom:none}.screen-match-detail .gk-name{color:var(--text-primary)}.screen-match-detail .gk-goals{color:var(--text-secondary);font-variant-numeric:tabular-nums}.screen-match-detail .best-players-row{padding:6px 0;border-bottom:.5px solid var(--border-divider-quiet)}.screen-match-detail .best-players-col .best-players-row:last-child{border-bottom:none}.screen-match-detail .bp-name{font-size:11px;color:var(--text-primary)}.screen-match-detail .bp-stat-line{font-size:9px;color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:2px}.screen-match-detail .empty-state{color:var(--text-secondary);font-size:13px;padding:6px 0}.screen-match-detail.is-live .match-detail-scroll{padding:0 14px 80px}.screen-match-detail .live-switcher{padding:8px 0 2px}.screen-match-detail .live-body-wrap{position:relative}.screen-match-detail .live-body{display:flex;flex-direction:column;gap:8px;transition:transform .32s ease-out,opacity .32s ease-out;will-change:transform}.screen-match-detail .live-body.slide-in-left{transform:translate(100%);opacity:0}.screen-match-detail .live-body.slide-in-right{transform:translate(-100%);opacity:0}.screen-match-detail .live-body.slide-out-left{position:absolute;top:0;left:0;right:0;transform:translate(-100%);opacity:0}.screen-match-detail .live-body.slide-out-right{position:absolute;top:0;left:0;right:0;transform:translate(100%);opacity:0}.screen-match-detail .live-hero-panel{padding:16px 14px 14px}.screen-match-detail .match-detail-hero.is-live{display:flex;flex-direction:column}.screen-match-detail .live-hero-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:8px;padding:2px 0 6px}.screen-match-detail .live-hero-team{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}.screen-match-detail .live-hero-name{font-size:12px;font-weight:500;color:var(--text-primary);letter-spacing:.2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-match-detail .live-hero-team.is-trailing .live-hero-name{color:var(--text-muted)}.screen-match-detail .live-hero-total{font-size:48px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1;letter-spacing:-1.5px;margin-top:2px}.screen-match-detail .live-hero-team.is-trailing .live-hero-total{color:var(--text-muted)}.screen-match-detail .live-hero-gbt{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.3px}.screen-match-detail .live-hero-team.is-trailing .live-hero-gbt{color:var(--text-muted)}.screen-match-detail .live-hero-lead-by{font-size:13px;font-weight:600;color:var(--accent-live);font-variant-numeric:tabular-nums;letter-spacing:.2px;margin-top:2px;min-height:1em}.screen-match-detail .live-hero-lead-by.is-spacer{visibility:hidden}.screen-match-detail .live-hero-lead-by.is-ticking{animation:live-hero-tick .5s ease-out}@keyframes live-hero-tick{0%{transform:translateY(0);opacity:1}40%{transform:translateY(-4px)}to{transform:translateY(0);opacity:1}}.screen-match-detail .live-hero-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:28px 4px 0}.screen-match-detail .live-hero-meta{text-align:center;font-size:12px;color:var(--text-muted);padding-top:10px}.screen-match-detail .live-clock-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface-panel-active);border:.5px solid var(--border-panel-active);font-variant-numeric:tabular-nums}.screen-match-detail .live-clock-pill .live-clock-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-live);animation:live-pulse 1.5s ease-in-out infinite}.screen-match-detail .live-clock-pill .live-clock-quarter{font-size:12px;font-weight:600;color:var(--accent-live);letter-spacing:.4px}.screen-match-detail .live-clock-pill .live-clock-time{font-size:14px;font-weight:500;color:var(--text-primary)}@keyframes live-pulse{0%,to{opacity:.4}50%{opacity:1}}.screen-match-detail .break-pill{display:flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:var(--surface-panel-active);border:.5px solid var(--border-panel-active);position:relative;overflow:hidden;min-width:200px}.screen-match-detail .break-pill-progress{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#d85a302e,#d85a300a);width:0%;transition:width 1s linear}.screen-match-detail .break-pill-inner{position:relative;z-index:1;display:inline-flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.screen-match-detail .break-pill-label{font-size:13px;color:var(--text-secondary);letter-spacing:.2px}.screen-match-detail .break-pill-countdown{font-size:17px;font-weight:600;color:var(--text-primary)}.screen-match-detail .by-quarter-cell.is-live{color:var(--accent-live);font-weight:500}.screen-match-detail .by-quarter-cell.is-pending{color:var(--text-faint)}.screen-match-detail .leading-players-col{display:flex;flex-direction:column}.screen-match-detail .leading-players-row{padding:6px 0;border-bottom:.5px solid var(--border-divider-quiet)}.screen-match-detail .leading-players-col .leading-players-row:last-child{border-bottom:none}.screen-match-detail .leading-players-row .lp-name{font-size:12px;color:var(--text-primary);font-weight:500}.screen-match-detail .leading-players-row .lp-stat-line{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:2px}.screen-match-detail .leading-players-empty{color:var(--text-faint);font-style:italic;font-size:12px;padding:6px 0}.screen-match-detail .where-to-watch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.screen-match-detail .w2w-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--surface-panel-active);border:.5px solid var(--border-panel-active);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:transform .1s ease-out}.screen-match-detail .w2w-btn:active{transform:scale(.98)}.screen-match-detail .w2w-logo{width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.screen-match-detail .w2w-ext{width:12px;height:12px;color:var(--text-muted)}.screen-match-detail .stats-teamrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:2px 2px 4px}.screen-match-detail .stats-teamrow .stc-team{display:flex;flex-direction:column;gap:6px}.screen-match-detail .stats-teamrow .stc-start{align-items:flex-start;justify-self:start}.screen-match-detail .stats-teamrow .stc-end{align-items:flex-end;justify-self:end}.screen-match-detail .stats-teamrow .stc-abbr{font-size:11px;font-weight:600;color:var(--text-primary);letter-spacing:.4px}.screen-match-detail .stats-teamrow .stc-vs{font-size:10px;font-weight:600;letter-spacing:.6px;color:var(--text-muted);text-transform:uppercase}.screen-match-detail .stats-head-label{font-size:10px;color:var(--text-muted);text-align:center;letter-spacing:.4px;text-transform:uppercase;font-weight:600;margin:0 0 2px}.screen-match-detail .stat-rows{margin-top:4px}.screen-match-detail .stat-row{display:grid;grid-template-columns:1fr;gap:4px;padding:10px 2px;border-bottom:.5px solid var(--border-divider-quiet)}.screen-match-detail .stat-row:last-child{border-bottom:none}.screen-match-detail .stat-row-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.screen-match-detail .stat-label{text-align:center;font-size:11px;font-weight:500;color:var(--text-secondary);letter-spacing:.2px}.screen-match-detail .stat-num{font-size:15px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.screen-match-detail .stat-num.is-lead{font-weight:600}.screen-match-detail .stat-num.is-trail{color:var(--text-muted)}.screen-match-detail .stat-num.home{text-align:left}.screen-match-detail .stat-num.away{text-align:right}.screen-match-detail .stat-bar{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:4px;margin-top:2px}.screen-match-detail .stat-bar .sb-side{position:relative;background:var(--surface-panel-active);border-radius:2px;overflow:hidden}.screen-match-detail .stat-bar .sb-fill{position:absolute;top:0;bottom:0;transition:width .4s cubic-bezier(.16,1,.3,1)}.screen-match-detail .stat-bar .sb-home .sb-fill{right:0}.screen-match-detail .stat-bar .sb-away .sb-fill{left:0}.screen-match-detail .stat-split{display:flex;height:4px;margin-top:2px;border-radius:2px;overflow:hidden;background:var(--surface-panel-active)}.screen-match-detail .stat-split>div{height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.screen-match-detail .stat-split .ss-home{border-right:1px solid var(--surface-panel-quiet)}.screen-match-detail .live-players-panel{padding:12px}.screen-match-detail .players-teamtoggle{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--surface-panel-active);border-radius:10px;padding:3px;margin-bottom:12px}.screen-match-detail .players-tt-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;border-radius:8px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,color .15s}.screen-match-detail .players-tt-btn.is-active{background:var(--surface-app);color:var(--text-primary);box-shadow:0 0 0 .5px var(--border-panel-active)}.screen-match-detail .players-tt-btn .tt-logo{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.screen-match-detail .players-table{display:grid;grid-template-columns:22px minmax(0,1fr) repeat(7,26px);column-gap:4px;row-gap:0;align-items:center}.screen-match-detail .pt-head{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;text-align:center;padding:4px 0 6px;background:transparent;border:none;cursor:pointer;font-family:inherit}.screen-match-detail .pt-head.is-name{text-align:left;padding-left:6px;cursor:default}.screen-match-detail .pt-head.is-active{color:var(--accent-live)}.screen-match-detail .pt-head-row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;border-bottom:.5px solid var(--border-divider-bright);position:sticky;top:0;background:var(--surface-panel-quiet);z-index:1}.screen-match-detail .pt-row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;padding:8px 0;border-bottom:.5px solid var(--border-divider-quiet);align-items:center}.screen-match-detail .pt-row:last-child{border-bottom:none}.screen-match-detail .pt-row.is-bench{opacity:.55}.screen-match-detail .pt-no{font-size:12px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center}.screen-match-detail .pt-name{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:6px}.screen-match-detail .pt-row.is-bench .pt-name:after{content:" · B";font-size:9px;color:var(--text-muted);letter-spacing:.3px;font-weight:600}.screen-match-detail .pt-cell{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center}.screen-match-detail .pt-cell.is-active{color:var(--accent-live);font-weight:600}.screen-match-detail .players-footer{text-align:center;font-size:11px;color:var(--text-muted);padding:12px 0 4px}.screen-settings{display:flex;flex-direction:column;flex:1;min-height:0}.screen-settings .settings-scroll{flex:1;overflow-y:auto;padding:4px 16px 96px;display:flex;flex-direction:column;gap:28px;-webkit-overflow-scrolling:touch}.screen-settings .settings-group{display:flex;flex-direction:column;gap:10px}.screen-settings .settings-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.screen-settings .settings-group-label{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);padding:0 4px}.screen-settings .settings-clear-btn{background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px}.screen-settings .settings-clear-btn:active{background:var(--surface-panel-active)}.screen-settings .settings-panel{background:var(--surface-panel-quiet);border:.5px solid var(--border-panel-active);border-radius:14px}.screen-settings .settings-hint{font-size:12px;color:var(--text-muted);line-height:1.45;padding:0 4px}.screen-settings .settings-footer{font-size:11px;color:var(--text-faint);text-align:center;padding:8px 14px;line-height:1.5}.screen-settings .settings-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:6px}.screen-settings .settings-team-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:14px 6px 12px;border-radius:12px;background:transparent;border:none;cursor:pointer;font-family:inherit;color:var(--text-secondary);transition:background-color .18s ease,color .18s ease;min-height:82px}.screen-settings .settings-team-cell:active{background:var(--surface-panel-active)}.screen-settings .settings-team-cell.is-active{background:var(--surface-panel-active);color:var(--text-primary);box-shadow:inset 0 0 0 .5px var(--accent-live)}.screen-settings .settings-team-chip{display:inline-flex;align-items:center;justify-content:center;width:40px;height:28px;transition:transform .18s ease}.screen-settings .settings-team-cell.is-active .settings-team-chip{transform:scale(1.08)}.screen-settings .settings-team-name{font-size:11px;font-weight:500;letter-spacing:.1px;text-align:center;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-settings .settings-team-cell.is-active .settings-team-name{font-weight:600}.ptr-wrapper{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ptr-wrapper>.ptr-indicator{position:absolute;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0}.ptr-wrapper>*:not(.ptr-indicator){position:relative;z-index:1;flex:1;min-height:0;background:var(--surface-app);will-change:transform}.ptr-wrapper>*:not(.ptr-indicator).is-resetting{transition:transform .28s cubic-bezier(.2,0,0,1)}.ptr-spinner{display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .16s ease}.ptr-indicator.is-armed .ptr-spinner,.ptr-indicator.is-refreshing .ptr-spinner{color:var(--accent-live)}.ptr-indicator.is-refreshing .ptr-spinner{animation:ptr-spin .9s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ptr-wrapper>*:not(.ptr-indicator).is-resetting{transition:none}.ptr-indicator.is-refreshing .ptr-spinner{animation:none}}
