:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1528;--bg-deep:#08101f;--panel:#0f1f39;--line:#ffffff1a;--text:#e9f0ff;--muted:#8fa6cc;--accent:#2a73ff;--accent-strong:#0f62fb}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(80% 80% at 100% 0%, #19408a 0%, transparent 60%), radial-gradient(80% 80% at -10% 100%, #11366d 0%, transparent 58%), linear-gradient(160deg, var(--bg) 0%, var(--bg-deep) 100%);font-family:Manrope,system-ui,-apple-system,sans-serif}#app{min-height:100dvh}.app-shell{grid-template-rows:auto 1fr auto;gap:.75rem;width:min(1600px,100%);min-height:100dvh;margin:0 auto;padding:.75rem;display:grid}.app-header{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff14,#ffffff05);border-radius:1rem;justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;padding:.85rem 1rem;display:flex}.app-header__brand{align-items:center;gap:.75rem;min-width:0;display:flex}.app-header__logo{border-radius:.75rem;flex:none;width:2.85rem;height:2.85rem;box-shadow:0 10px 30px #08122359}.app-header__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.app-header__title{margin:.2rem 0 0;font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.2}.app-header__date{color:var(--muted);text-transform:capitalize;margin:0;font-size:.83rem}.content-slot{min-width:0;min-height:0}.view-host{border:1px solid var(--line);background:#0b1424;border-radius:1rem;height:100%;overflow:hidden}.view-frame{background:#0b1424;border:0;width:100%;height:100%;min-height:70dvh;display:block}.tabs-bar{border:1px solid var(--line);grid-template-columns:repeat(var(--nav-count,7), minmax(0, 1fr));background:linear-gradient(165deg,#ffffff14,#ffffff05);border-radius:1rem;gap:.35rem;min-width:0;padding:.45rem;display:grid}.nav-tab{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.8rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:100%;min-width:0;min-height:3.1rem;padding:.5rem .25rem;transition:all .13s;display:inline-flex}.nav-tab:hover{color:var(--text);border-color:var(--line);background:#ffffff0f}.nav-tab--active{color:#fff;background:linear-gradient(160deg, var(--accent), var(--accent-strong));border-color:#0000;box-shadow:0 10px 26px #071d5266}.nav-tab__icon{font-size:1.2rem;line-height:1}.nav-tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;font-weight:700;line-height:1;overflow:hidden}.query-screen{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff14,#ffffff05);border-radius:1rem;gap:.9rem;padding:1rem;display:grid}.query-screen__header h2{margin:0;font-size:clamp(1.05rem,2.1vw,1.4rem)}.query-screen__header p{color:var(--muted);margin:.3rem 0 0;font-size:.92rem}.query-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;display:grid}.query-form label{color:var(--muted);gap:.35rem;font-size:.84rem;display:grid}.query-form input,.query-form select{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#050d1a80;border-radius:.75rem;padding:.58rem .65rem}.query-btn{background:linear-gradient(160deg, var(--accent), var(--accent-strong));color:#fff;cursor:pointer;border:0;border-radius:.75rem;align-self:end;min-height:2.45rem;font-weight:800}.query-btn:disabled{opacity:.65;cursor:not-allowed}.query-error{color:#ffd9d9;background:#a223;border:1px solid #ff787859;border-radius:.7rem;margin:0;padding:.6rem .75rem;font-size:.9rem}.query-meta{color:var(--muted);justify-content:space-between;gap:.6rem;font-size:.86rem;display:flex}.query-table-wrap{border:1px solid var(--line);border-radius:.8rem;overflow:auto}.query-table{border-collapse:collapse;width:100%;min-width:920px}.query-results--mobile{display:none}.query-table th,.query-table td{border-bottom:1px solid var(--line);text-align:left;padding:.6rem .7rem;font-size:.86rem}.query-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffffff0d;font-size:.78rem}.query-table__score{font-weight:800}.query-table__empty{color:var(--muted)}.query-card{border-bottom:1px solid var(--line);gap:.55rem;padding:.75rem;display:grid}.query-card--empty{color:var(--muted)}.query-card__top{color:var(--muted);justify-content:space-between;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.query-card__match{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem;display:grid}.query-card__match strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.query-card__match strong:last-child{text-align:right}.query-card__score{font-size:.95rem;font-weight:800}.query-card__bottom{color:var(--muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.query-card__venue,.match-venue{align-items:center;gap:.28rem;min-width:0;display:inline-flex}.query-card__venue{color:var(--muted);margin:0;font-size:.68rem}a.query-card__venue,a.match-venue{color:#aac5f6;text-decoration:none}a.query-card__venue:hover,a.match-venue:hover{color:#fff;text-underline-offset:.16em;text-decoration:underline}.match-venue .material-symbols-outlined,.query-card__venue .material-symbols-outlined{flex:none;font-size:.82rem;line-height:1}.match-venue{font-size:.68rem;line-height:1.2}.match-weather{flex-wrap:wrap;align-items:center;gap:.32rem;font-size:.74rem;display:inline-flex}.match-weather .material-symbols-outlined{color:#d6b25e;flex:none;font-size:1rem;line-height:1}.daily-match__weather{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;justify-content:center;gap:.16rem;max-width:5.9rem;margin:0;font-size:.5rem;line-height:1.05;overflow:hidden}.daily-match__weather .material-symbols-outlined{font-size:.62rem}.pill{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;display:inline-flex}.pill--ok{background:#26a65b33;border-color:#3fcc7b59}.pill--info{background:#1e6dff38;border-color:#4089ff59}.pill--live{color:#bfffd2;background:#22c55e38;border-color:#4ade807a}.pill--finished{color:#ffd0d0;background:#ef444433;border-color:#f8717180}.pill--warning{color:#ffe8a3;background:#f59e0b33;border-color:#fbbf2480}.match-score{color:#fff;font-weight:900}.match-score--live{color:#7dffa6}.match-score--finished{color:#ff9b9b}.match-score--warning{color:#ffd36a}.world-cup-screen{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff14,#ffffff05);border-radius:1rem;gap:.9rem;min-width:0;padding:1rem;display:grid}.world-cup-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.world-cup-kicker{color:#f7c948;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .2rem;font-size:.72rem;font-weight:900}.world-cup-filter{grid-template-columns:1fr;width:min(16rem,100%)}.world-cup-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.world-cup-summary .stat-card strong{overflow-wrap:anywhere;min-width:0;display:block}.world-cup-section{gap:.65rem;min-width:0;display:grid}.world-cup-section__title{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.world-cup-section__title h3,.world-cup-round h3{margin:0;font-size:.98rem}.world-cup-groups{grid-template-columns:repeat(auto-fit,minmax(34rem,1fr));gap:.75rem;min-width:0;display:grid}.world-cup-group{border:1px solid var(--line);background:#ffffff0a;border-radius:.85rem;gap:.55rem;min-width:0;padding:.7rem;display:grid}.world-cup-group__header{justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.world-cup-group__header h3{margin:0;font-size:.94rem}.world-cup-group__header span{color:var(--muted);font-size:.74rem;font-weight:800}.world-cup-table-wrap{min-width:0;overflow-x:auto}.world-cup-table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.78rem}.world-cup-table th,.world-cup-table td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:.42rem .35rem}.world-cup-table th{color:var(--muted);text-transform:uppercase;font-size:.68rem}.world-cup-table th:nth-child(2),.world-cup-table td:nth-child(2){text-align:left;width:100%}.world-cup-table tbody tr:last-child td{border-bottom:0}.world-cup-bracket{min-width:0;padding-bottom:0;display:block;overflow:visible}.world-cup-road{gap:.75rem;min-width:0;display:grid}.world-cup-road__scroll{scroll-behavior:smooth;scroll-snap-type:x proximity;min-width:0;padding-bottom:.55rem;overflow-x:auto}.world-cup-jump{flex:none}.world-cup-finals-wrap{gap:.6rem;min-width:0;display:grid}.world-cup-finals-wrap h3{text-align:center;margin:0;font-size:.98rem}.world-cup-finals{background:linear-gradient(90deg,#f7c9481a,#0000 38% 68%,#f7c94824),#ffffff09;border:1px solid #f7c94852;border-radius:1rem;grid-template-columns:minmax(0,1fr) minmax(17rem,.92fr) minmax(0,1fr);grid-template-areas:"left trophy right""left final right";align-items:center;gap:1.15rem;width:min(66rem,100%);margin-inline:auto;padding:.85rem;display:grid}.world-cup-finals__round,.world-cup-finals__trophy{min-width:0;position:relative}.world-cup-finals__round h3{text-align:center;margin:0 0 .5rem;font-size:.9rem}.world-cup-finals__round--left{grid-area:left}.world-cup-finals__round--right{grid-area:right}.world-cup-finals__round--final{grid-area:final}.world-cup-finals__matches{gap:.55rem;display:grid}.world-cup-finals__round--left:after{content:"";background:linear-gradient(90deg,#f7c9484d,#f7c948f2);width:1.15rem;height:2px;position:absolute;top:50%;right:-1.15rem}.world-cup-finals__round--right:before{content:"";background:linear-gradient(90deg,#f7c948f2,#f7c9484d);width:1.15rem;height:2px;position:absolute;top:50%;left:-1.15rem}.world-cup-finals__round--final:before{content:"";background:linear-gradient(#f7c948e6,#f7c94859);width:2px;height:1.15rem;position:absolute;top:-1.15rem;left:50%;transform:translate(-50%)}.world-cup-finals__trophy{text-align:center;background:linear-gradient(165deg,#f7c9483b,#ffffff0d);border:1px solid #f7c94880;border-radius:1rem;grid-area:trophy;align-content:center;justify-self:center;place-items:center;gap:.35rem;width:min(9rem,100%);min-height:7.5rem;display:grid}.world-cup-finals__trophy:after{content:"";background:linear-gradient(#f7c94859,#f7c948e6);width:2px;height:1.15rem;position:absolute;bottom:-1.15rem;left:50%;transform:translate(-50%)}.world-cup-finals__trophy .material-symbols-outlined{color:#f7c948;font-size:2.7rem;line-height:1}.world-cup-finals__trophy strong{color:#fff;font-size:1.02rem}.world-cup-road__track{--road-round-width:17.25rem;--road-gap:1.35rem;grid-template-columns:repeat(var(--road-round-count,6), var(--road-round-width));gap:var(--road-gap);border:1px solid var(--line);background:linear-gradient(90deg,#f7c9481c,#0000 22% 78%,#f7c94824),#ffffff06;border-radius:.9rem;align-items:stretch;width:max-content;min-width:100%;padding:.75rem;display:grid;position:relative}.world-cup-round{align-content:start;gap:.55rem;min-width:0;display:grid}.world-cup-round--road{scroll-snap-align:start;grid-template-rows:auto 1fr}.world-cup-round__matches{gap:.55rem;display:grid}.world-cup-round--road .world-cup-round__matches{min-height:var(--road-height,48rem);flex-direction:column;justify-content:space-around;gap:.55rem;display:flex}.world-cup-match{border:1px solid var(--line);background:#ffffff0b;border-radius:.8rem;gap:.5rem;min-width:0;padding:.65rem;display:grid;position:relative}.world-cup-match--road{background:linear-gradient(165deg,#ffffff12,#ffffff09);border-color:#ffffff29;min-height:6rem}.world-cup-match--finals{border-color:#f7c94838}.world-cup-match--final{background:linear-gradient(165deg,#f7c94826,#ffffff0b)}.world-cup-match--third-place{background:linear-gradient(165deg,#fff1,#ffffff09);border-color:#ffffff2e}.world-cup-round--road:not(.world-cup-round--final) .world-cup-match--road:after,.world-cup-round--final .world-cup-match--road:after,.world-cup-trophy:before{content:"";top:50%;right:calc(var(--road-gap) * -1);width:var(--road-gap);background:linear-gradient(90deg,#f7c94859,#f7c948e6);height:2px;position:absolute;transform:translateY(-50%)}.world-cup-round--road:not(:first-child) .world-cup-match--road:before{content:"";top:50%;left:calc(var(--road-gap) * -1);width:var(--road-gap);background:linear-gradient(90deg,#f7c948b3,#f7c94840);height:2px;position:absolute;transform:translateY(-50%)}.world-cup-match__top{color:var(--muted);justify-content:space-between;align-items:center;gap:.6rem;font-size:.73rem;display:flex}.world-cup-match__teams{grid-template-columns:minmax(0,1fr);gap:.32rem;display:grid}.world-cup-match__team{background:#ffffff0a;border:1px solid #ffffff14;border-radius:.58rem;min-width:0;padding:.34rem .45rem}.world-cup-match__team strong{overflow-wrap:anywhere;min-width:0;font-size:.84rem;line-height:1.25;display:block}.world-cup-match__score{text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;justify-self:center;min-width:2.6rem;padding:.12rem .55rem;font-size:.74rem;font-weight:900;line-height:1.2}.world-cup-match__venue{color:var(--muted);font-size:.7rem;line-height:1.35}.world-cup-match--road .world-cup-match__venue{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.world-cup-match .nav-link-btn{justify-self:start}.world-cup-trophy{min-height:var(--road-height,48rem);color:#fff;text-align:center;background:linear-gradient(165deg,#f7c94833,#ffffff0a),#ffffff09;border:1px solid #f7c94873;border-radius:1rem;align-content:center;place-items:center;gap:.45rem;padding:1rem;display:grid;position:relative}.world-cup-trophy:before{left:calc(var(--road-gap) * -1);right:auto}.world-cup-trophy .material-symbols-outlined{color:#f7c948;font-size:3.2rem;line-height:1}.world-cup-trophy strong{font-size:1.2rem}.world-cup-trophy p{color:var(--muted);margin:0;font-size:.8rem}.world-cup-placement{border:1px solid var(--line);background:#ffffff09;border-radius:.9rem;gap:.55rem;width:min(36rem,100%);margin-inline:auto;padding:.75rem;display:grid}.world-cup-placement h3{text-align:center;margin:0;font-size:.95rem}.world-cup-placement__matches{gap:.55rem;display:grid}.world-cup-bracket-map{--bracket-gap:.95rem;--bracket-height:75rem;--bracket-card-mid:2.5rem;--bracket-connector:#f7c948eb;--bracket-connector-half:calc(var(--bracket-gap) / 2 + 1px);gap:var(--bracket-gap);border:1px solid var(--line);background:linear-gradient(90deg,#ffffff09,#f7c94814,#ffffff09),#ffffff06;border-radius:.9rem;grid-template-columns:repeat(4,minmax(7.15rem,1fr)) minmax(9.5rem,.9fr) repeat(4,minmax(7.15rem,1fr));align-items:stretch;min-width:0;padding:.65rem;display:grid;position:relative;overflow-x:auto}.world-cup-bracket-column,.world-cup-bracket-center{z-index:1;grid-template-rows:auto 1fr;min-width:0;display:grid;position:relative;overflow:visible}.world-cup-bracket-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.world-cup-bracket-lines__path{fill:none;stroke:var(--bracket-connector);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #f7c94859)}.world-cup-bracket-column h3,.world-cup-bracket-center h3{text-align:center;margin:0 0 .5rem;font-size:.78rem;line-height:1.2}.world-cup-bracket-column__matches{min-height:var(--bracket-height);position:relative;overflow:visible}.world-cup-bracket-entry{left:0;right:0;top:var(--entry-top);min-width:0;position:absolute;overflow:visible;transform:translateY(-50%)}.world-cup-bracket-center{min-height:var(--bracket-height);grid-template-rows:1fr auto 1fr;align-content:center;gap:.6rem}.world-cup-bracket-cup{color:#fff;text-align:center;background:linear-gradient(165deg,#f7c9483d,#ffffff0b);border:1px solid #f7c94885;border-radius:.85rem;align-content:center;place-self:end center;place-items:center;gap:.24rem;width:min(7.4rem,100%);min-height:5.7rem;display:grid}.world-cup-bracket-cup .material-symbols-outlined{color:#f7c948;font-size:2.35rem;line-height:1}.world-cup-bracket-cup strong{font-size:.94rem}.world-cup-bracket-center__final{align-self:center;position:relative}.world-cup-bracket-center__placement{align-self:start;gap:.45rem;display:grid}.world-cup-match--bracket{z-index:1;border-color:#ffffff26;gap:.24rem;padding:.34rem;position:relative}.world-cup-match--bracket .world-cup-match__top,.world-cup-match--mobile .world-cup-match__top{font-size:.66rem}.world-cup-match--bracket .world-cup-match__top{display:none}.world-cup-match__code{color:#ffe38a;text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;font-weight:900}.world-cup-match--bracket .world-cup-match__team,.world-cup-match--mobile .world-cup-match__team{padding:.24rem .32rem}.world-cup-match--bracket .world-cup-match__team strong,.world-cup-match--mobile .world-cup-match__team strong{font-size:.7rem}.world-cup-match--bracket .world-cup-match__score,.world-cup-match--mobile .world-cup-match__score{min-width:2.1rem;padding:.08rem .42rem;font-size:.66rem}.world-cup-match--bracket .world-cup-match__venue{min-width:0;color:var(--muted);align-items:flex-start;gap:.16rem;font-size:.54rem;line-height:1.18;display:flex;overflow:hidden}.world-cup-match--bracket .world-cup-match__venue .material-symbols-outlined{flex:none;font-size:.72rem;line-height:1}.world-cup-match--bracket .nav-link-btn,.world-cup-mobile-bracket,.world-cup-mobile-pager{display:none}.world-cup-mobile-sections{gap:.75rem;display:grid}.world-cup-mobile-section{border:1px solid var(--line);background:#ffffff09;border-radius:.9rem;min-width:0;padding:.65rem}.world-cup-mobile-section h3{margin:0 0 .55rem;font-size:.94rem}.world-cup-mobile-section__bracket{gap:.75rem;display:grid;position:relative}.world-cup-mobile-branch{--mobile-branch-connector:#f7c948eb;--mobile-branch-reach:.68rem;--mobile-branch-card-mid:2.35rem;z-index:1;grid-template-columns:minmax(0,1fr) .75rem minmax(0,1fr);align-items:center;gap:.25rem;min-width:0;display:grid;position:relative}.world-cup-mobile-lines{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.world-cup-mobile-lines__path{fill:none;stroke:#f7c948eb;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #f7c94859)}.world-cup-mobile-branch__source,.world-cup-mobile-branch__target{min-width:0}.world-cup-mobile-branch__source{gap:.55rem;display:grid}.world-cup-mobile-branch__target{align-self:center;display:grid}.world-cup-mobile-branch__connector{align-self:stretch;min-height:100%;position:relative}.world-cup-mobile-cup{justify-items:stretch;gap:.55rem;display:grid;position:relative}.world-cup-mobile-cup__placement{gap:.45rem;display:grid}.world-cup-mobile-cup__placement h4{color:#ffe38a;margin:0;font-size:.82rem}.data-screen{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff14,#ffffff05);border-radius:1rem;gap:.85rem;min-width:0;padding:1rem;display:grid}.data-screen>*{min-width:0}.data-screen__header h2{margin:0;font-size:clamp(1.05rem,2.1vw,1.4rem)}.data-screen__header p{color:var(--muted);margin:.35rem 0 0;font-size:.91rem}.filter-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:.65rem;min-width:0;display:grid}.form-field{color:var(--muted);gap:.3rem;min-width:0;font-size:.82rem;display:grid}.form-field--wide{grid-column:span 2}.form-field input,.form-field select{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--text);font:inherit;background:#050d1a80;border-radius:.75rem;padding:.56rem .62rem}.btn-primary{background:linear-gradient(160deg, var(--accent), var(--accent-strong));color:#fff;cursor:pointer;border:0;border-radius:.75rem;min-height:2.45rem;padding:.3rem .85rem;font-weight:800}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary,.icon-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0f;transition:all .14s}.btn-secondary{min-height:2.45rem;font:inherit;border-radius:.75rem;justify-content:center;align-self:end;align-items:center;gap:.35rem;padding:.3rem .8rem;font-weight:800;display:inline-flex}.btn-secondary .material-symbols-outlined{font-size:1.08rem}.icon-btn{border-radius:.7rem;place-items:center;width:2.45rem;min-width:2.45rem;height:2.45rem;padding:0;display:inline-grid}.icon-btn .material-symbols-outlined{font-size:1.25rem}.btn-secondary:hover,.icon-btn:hover{background:#ffffff1f;border-color:#ffffff4d}.btn-secondary--active{color:#ffe39a;background:#ffd36a24;border-color:#ffd36a8c}.btn-secondary:disabled,.icon-btn:disabled{opacity:.55;cursor:not-allowed}.status-error{color:#ffd9d9;background:#a223;border:1px solid #ff787859;border-radius:.7rem;margin:0;padding:.6rem .75rem;font-size:.9rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;min-width:0;display:grid}.dashboard-filter{grid-template-columns:minmax(170px,1fr) minmax(130px,.75fr) minmax(230px,1.1fr) auto;min-width:0}.date-stepper{align-items:center;gap:.35rem;width:100%;min-width:0;max-width:100%;display:flex}.date-stepper input{flex:1 1 0;width:0;min-width:0;max-width:100%}.stat-card{border:1px solid var(--line);background:#ffffff0a;border-radius:.85rem;padding:.6rem .7rem}.stat-card p{color:var(--muted);margin:0;font-size:.76rem}.stat-card strong{font-size:1.15rem}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;display:grid}.panel-card{border:1px solid var(--line);background:#ffffff0a;border-radius:.9rem;min-width:0;padding:.75rem}.panel-card h3{margin:0;font-size:.95rem}.today-panel{gap:.75rem;display:grid}.match-carousel{grid-template-columns:5.4rem minmax(0,1fr) 5.4rem;align-items:stretch;gap:.65rem;min-width:0;display:grid}.match-carousel__panel{min-height:10.5rem}.match-carousel__switch{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;font-size:.76rem;font-weight:800;display:grid}.match-carousel__position{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-carousel__position:last-child{text-align:right}.match-carousel__position--active{color:var(--text)}.match-carousel__today{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:999px;padding:.28rem .75rem;font-size:.76rem;font-weight:900}.match-carousel__today--active{background:linear-gradient(160deg, var(--accent), var(--accent-strong));color:#fff;border-color:#0000}.match-carousel__list{margin-top:0}.carousel-arrow{border:1px solid var(--line);color:var(--text);min-width:0;font:inherit;cursor:pointer;background:#ffffff0b;border-radius:.9rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.75rem .7rem;font-size:.82rem;font-weight:900;transition:all .14s;display:inline-flex}.carousel-arrow .material-symbols-outlined{font-size:1.35rem}.carousel-arrow:hover{background:#ffffff1a;border-color:#ffffff4d}.carousel-arrow:disabled{opacity:.55;cursor:not-allowed}.today-panel__header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.daily-match-list{gap:.5rem;display:grid}.daily-match{border:1px solid var(--line);background:#ffffff0a;border-radius:.75rem;grid-template-columns:4.3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem .75rem;display:grid}.daily-match--empty{color:var(--muted);grid-template-columns:1fr}.daily-match--timeline{grid-template-columns:7.5rem minmax(0,1fr) auto}.daily-match--empty p{margin:0}.daily-match__time{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.25}.daily-match__schedule{text-align:center;align-content:start;justify-items:center;gap:.12rem;min-width:0;display:grid}.daily-match__teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;display:grid}.daily-match__body{gap:.18rem;min-width:0;display:grid}.daily-match__teams strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.daily-match__teams strong:last-child{text-align:right}.daily-match__teams span{color:#fff;font-weight:900}.daily-match__teams .match-score--live{color:#7dffa6}.daily-match__teams .match-score--finished{color:#ff9b9b}.daily-match__teams .match-score--warning{color:#ffd36a}.daily-match__meta{color:var(--muted);justify-content:flex-end;align-items:center;gap:.5rem;font-size:.78rem;display:inline-flex}.favorite-btn{border:1px solid var(--line);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:#ffffff0d;border-radius:999px;place-items:center;transition:all .14s;display:inline-grid}.favorite-btn:hover{color:#ffe39a;background:#ffd36a1f;border-color:#ffd36a73}.favorite-btn--active{color:#ffd36a;background:#ffd36a29;border-color:#ffd36a99}.favorite-btn .material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24;font-size:1.15rem}.favorite-btn--active .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 700, "GRAD" 0, "opsz" 24}.settings-notification{border:1px solid var(--line);background:#ffffff0a;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.9rem;padding:.75rem;display:flex}.panel-muted{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.data-list{gap:.45rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.data-list__item{border:1px solid var(--line);border-radius:.7rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.data-list__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}.data-list__title{margin:0;font-size:.84rem;font-weight:700}.data-list__subtitle{color:var(--muted);margin:.1rem 0 0;font-size:.72rem}.data-list__value{font-size:.84rem}.nav-link-btn{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border-radius:.55rem;padding:.25rem .55rem;font-size:.73rem;font-weight:700;transition:all .14s}.nav-link-btn:hover{background:#ffffff1f;border-color:#ffffff4d}.table-link-btn,.text-link-btn{color:#9fc0ff;font:inherit;cursor:pointer;text-underline-offset:.16em;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #9fc0ff80;text-decoration:underline #9fc0ff80}.table-link-btn{font-weight:700}.table-link-btn:hover,.text-link-btn:hover{color:#d6e5ff}.data-list__empty{color:var(--muted);font-size:.82rem}.table-wrap{border:1px solid var(--line);border-radius:.7rem;margin-top:.65rem;overflow:auto}.basic-table{border-collapse:collapse;width:100%;min-width:380px}.basic-table th,.basic-table td{border-bottom:1px solid var(--line);text-align:left;padding:.55rem .65rem;font-size:.8rem}.basic-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.73rem}.table-empty{color:var(--muted)}.cards-grid{gap:.75rem;display:grid}.cards-grid--discovery{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stats-inline{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin-top:.45rem;font-size:.78rem;display:flex}.match-hero h3{justify-content:space-between;align-items:center;gap:.5rem;margin:.35rem 0;display:flex}.match-hero h3 span{font-size:1.15rem}@media (width<=960px){.app-shell{gap:.5rem;padding:.45rem}.tabs-bar{z-index:10;position:sticky;bottom:.25rem}.view-frame{min-height:74dvh}.content-slot{padding-bottom:4.25rem}.query-meta,.world-cup-header{flex-direction:column}.world-cup-filter{width:100%}.world-cup-summary,.panel-grid{grid-template-columns:1fr}.match-carousel{grid-template-columns:minmax(0,1fr)}.carousel-arrow{min-height:2.8rem}.carousel-arrow[data-action=dashboard-match-prev]{order:2}.match-carousel__panel{order:1}.carousel-arrow[data-action=dashboard-match-next]{order:3}.dashboard-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field--date{grid-column:1/-1}}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start}.app-header__brand{gap:.6rem}.app-header__logo{border-radius:.65rem;width:2.45rem;height:2.45rem}.app-header__date{font-size:.72rem}.nav-tab__label{display:none}.tabs-bar{gap:.22rem;padding:.34rem}.nav-tab{min-height:2.75rem;padding:.45rem .15rem}.nav-tab__icon{font-size:1.28rem}.query-screen,.world-cup-screen{gap:.75rem;padding:.75rem}.world-cup-groups{grid-template-columns:minmax(0,1fr)}.world-cup-group{padding:.6rem}.world-cup-table{min-width:31rem;font-size:.74rem}.world-cup-road__track{--road-round-width:16rem;--road-gap:1rem;padding:.6rem}.world-cup-bracket-map{display:none}.world-cup-mobile-bracket{gap:.75rem;display:grid}.world-cup-mobile-pager{grid-template-columns:2.65rem minmax(0,1fr) 2.65rem;align-items:center;gap:.45rem;display:grid}.world-cup-mobile-pager__btn{color:#fff;background:#f7c9481f;border:1px solid #f7c94861;border-radius:.75rem;place-items:center;width:2.65rem;height:2.65rem;padding:0;display:inline-grid}.world-cup-mobile-pager__btn:disabled{cursor:not-allowed;opacity:.42}.world-cup-mobile-pager__btn .material-symbols-outlined{font-size:1.8rem;line-height:1}.world-cup-mobile-pager__status{border:1px solid var(--line);color:#ffe38a;text-align:center;overflow-wrap:anywhere;background:#ffffff0a;border-radius:.75rem;min-width:0;padding:.65rem .7rem;font-size:.82rem;font-weight:800;line-height:1.2}.world-cup-mobile-section{display:none}.world-cup-mobile-section--active{display:block}.world-cup-finals{grid-template-columns:1fr;grid-template-areas:"trophy""final""left""right";gap:.75rem}.world-cup-finals__round:before,.world-cup-finals__round:after,.world-cup-finals__trophy:after{display:none}.world-cup-finals__trophy{min-height:6.5rem}.world-cup-section__title{flex-direction:column;align-items:stretch}.world-cup-jump{width:100%}.query-screen__header p{font-size:.86rem}.query-form{grid-template-columns:1fr;gap:.6rem}.query-form label{font-size:.8rem}.query-form input,.query-form select{min-height:2.6rem;padding:.62rem .7rem}.query-btn{width:100%;min-height:2.75rem}.query-table.query-results--desktop{display:none}.query-results--mobile{display:grid}.data-screen{padding:.75rem}.filter-form,.dashboard-filter{grid-template-columns:1fr}.form-field--wide{grid-column:auto}.form-field input,.form-field select,.btn-secondary,.btn-primary{min-height:2.65rem}.date-stepper{width:calc(100vw - 2.75rem)}.icon-btn{width:2.65rem;min-width:2.65rem;height:2.65rem}.today-panel__header{flex-direction:column}.match-carousel__switch{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.match-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}.match-carousel__panel{order:3;grid-column:1/-1}.carousel-arrow[data-action=dashboard-match-prev]{order:1}.carousel-arrow[data-action=dashboard-match-next]{order:2}.carousel-arrow{width:100%}.daily-match{grid-template-columns:1fr;align-items:stretch}.daily-match__teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.daily-match__meta{justify-content:space-between}.settings-notification{flex-direction:column;align-items:stretch}.data-list__item{flex-direction:column;align-items:flex-start}.data-list__actions{justify-content:space-between;width:100%}}
