/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#172119;--navy:#304c35;--navy-2:#4f7051;--lime:#dfe8d9;--paper:#f2f2ed;--card:#fff;--line:#d6dbd4;--muted:#667267;--red:#a83e3a}*{box-sizing:border-box}html{background:var(--paper);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body), Arial, Helvetica, sans-serif;margin:0;font-size:16px;line-height:1.45}button,input,textarea{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible){outline-offset:2px;outline:3px solid #4f705161}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-heading), Arial, Helvetica, sans-serif;font-weight:500}a{color:inherit}.app-shell{min-height:100vh}.sidebar{z-index:20;background:var(--navy-2);color:#fff;flex-direction:column;width:222px;padding:26px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:0 5px 28px;display:flex}.brand>span{height:38px;color:var(--navy-2);font-family:var(--font-heading);letter-spacing:-.5px;clip-path:polygon(50% 0,100% 30%,90% 30%,90% 100%,10% 100%,10% 30%,0 30%);background:#fff;border-radius:2px;flex:0 0 46px;place-items:center;padding-top:7px;font-weight:700;display:grid;position:relative}.brand b,.brand small{display:block}.brand b{font-family:var(--font-heading);font-size:15px;font-weight:600}.brand small{color:#d9e3d8;margin-top:2px;font-size:9px}.sidebar nav{gap:5px;margin-top:28px;display:grid}.sidebar nav button{color:#e2e9e1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:12px;min-height:44px;padding:0 11px;font-size:13px;font-weight:650;display:flex}.sidebar nav button span{letter-spacing:.08em;color:#c0d0c0;width:23px;font-size:9px}.sidebar nav button:hover{color:#fff;background:#ffffff0f}.sidebar nav button.active{color:var(--navy-2);background:#fff;box-shadow:0 10px 25px #1d301f29}.sidebar nav button.active span{color:#7d957f}.sidebar-source{border-top:1px solid #ffffff1a;margin-top:auto;padding:18px 7px 0}.sidebar-source span,.sidebar-source a{display:block}.sidebar-source span{color:#c0d0c0;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}.sidebar-source a{color:#fff;margin-top:6px;font-size:11px;text-decoration:none}.page-frame{min-height:100vh;margin-left:222px}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;border-bottom:1px solid var(--line);background:#fffefaeb;justify-content:space-between;align-items:center;gap:20px;height:82px;padding:0 clamp(24px,4vw,62px);display:flex;position:sticky;top:0}.eyebrow{color:#75818a;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:850;line-height:1.2}.topbar h1{letter-spacing:.005em;text-transform:uppercase;margin-top:3px;font-size:21px}.top-actions{align-items:center;gap:10px;display:flex}.live-pill{background:#edf3ee;border:1px solid #d6e3d9;border-radius:99px;padding:9px 13px;font-size:11px;font-weight:800}.live-pill i,.auto-badge i{background:#23a45a;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 3px #23a45a1f}.sync-pill{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:#fff;border:1px solid #d7ddd5;border-radius:99px;align-items:center;padding:8px 11px;font-size:8px;font-weight:850;display:inline-flex}.sync-pill i{background:#23a45a;border-radius:50%;width:7px;height:7px;margin-right:6px}.sync-pill.saving i,.sync-pill.loading i{background:#d28c2c;animation:1s infinite syncPulse}.sync-pill.offline i{background:var(--red)}.role-button{border:1px solid var(--navy-2);color:var(--navy-2);cursor:pointer;background:#fff;border-radius:3px;padding:11px 13px;font-size:9px;font-weight:900}.role-button.admin{background:#e4eee1}.role-button:disabled{opacity:.5;cursor:wait}@keyframes syncPulse{50%{opacity:.35}}.ghost-button,.primary-button,.danger-button,.outline-button{cursor:pointer;border:0;border-radius:3px;padding:12px 17px;font-size:12px;font-weight:750}.ghost-button{background:var(--navy);color:#fff}.primary-button{background:var(--lime);color:var(--navy);box-shadow:0 9px 22px #1b2a2f1a}.primary-button:disabled{opacity:.5;cursor:default}.danger-button{color:var(--red);background:#f5e8e7}.dashboard{max-width:1440px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(24px,4vw,62px) 64px}.mode-banner{border:1px solid var(--line);background:#fff;border-radius:3px;justify-content:space-between;align-items:center;gap:20px;min-height:56px;margin-bottom:15px;padding:9px 13px;display:flex}.mode-banner>div{align-items:center;gap:11px;display:flex}.mode-banner>div>span{background:var(--navy);height:34px;color:var(--lime);border-radius:50%;flex:0 0 34px;place-items:center;font-size:7px;font-weight:950;display:grid}.mode-banner p b,.mode-banner p small{display:block}.mode-banner p b{font-size:10px}.mode-banner p small{color:var(--muted);margin-top:3px;font-size:8px}.mode-banner>button{color:var(--navy-2);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.mode-banner.admin{background:#edf3eb;border-color:#c6d7c3}.mode-banner.admin>div>span{background:var(--lime);color:var(--navy)}.spectator-page{gap:18px;display:grid}.spectator-hero{color:#fff;background:radial-gradient(circle at 78% 12%,#cfe2c940,#0000 25%),linear-gradient(122deg,#172119,#304c35 60%,#4f7051);border-radius:3px;min-height:300px;overflow:hidden}.spectator-hero-copy{flex-direction:column;justify-content:center;max-width:980px;min-height:300px;padding:clamp(34px,5vw,64px);display:flex}.spectator-hero-copy .eyebrow{color:#bed0bd}.spectator-hero-copy h2{letter-spacing:-.035em;text-transform:uppercase;max-width:720px;margin:10px 0 14px;font-size:clamp(46px,6vw,78px);line-height:.9}.spectator-hero-copy>p:not(.eyebrow){color:#e1e9e0;max-width:650px;font-size:13px;line-height:1.55}.spectator-hero-copy>div{align-items:center;gap:13px;margin-top:24px;display:flex}.spectator-share{color:#d2dfd1;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:9px 5px;font-size:9px;font-weight:800;-webkit-text-decoration:underline #d2dfd18c;text-decoration:underline #d2dfd18c}.spectator-share:hover{color:#fff;text-decoration-color:#fff}.next-edition-hero{background:radial-gradient(circle at 84% 18%,#c9e64640,#0000 26%),linear-gradient(122deg,#101b14,#294630 56%,#4f7051);min-height:430px}.next-edition-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:clamp(34px,6vw,88px);min-height:430px;padding:clamp(38px,6vw,76px);display:grid}.next-edition-copy .eyebrow{color:#c9e646}.next-edition-copy h2{letter-spacing:-.045em;text-transform:uppercase;max-width:840px;margin:10px 0 20px;font-size:clamp(54px,7vw,94px);line-height:.88}.next-edition-copy>p:not(.eyebrow){color:#e3ece2;max-width:690px;font-size:18px;line-height:1.55}.cup-actions{align-items:center;gap:13px;margin-top:28px;display:flex}.next-edition-mark{background:linear-gradient(155deg,#ffffff21,#ffffff0a);border:1px solid #ffffff38;border-radius:3px;flex-direction:column;justify-content:flex-end;min-height:290px;padding:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0003}.next-edition-mark>span{color:#c9e6462e;font-family:var(--font-heading);font-size:190px;font-weight:900;line-height:1;position:absolute;top:-38px;right:8px}.next-edition-mark p{color:#fff;font-family:var(--font-heading);text-transform:uppercase;font-size:22px;font-weight:800;line-height:1;position:relative}.next-edition-mark b{color:#c9e646;font-family:var(--font-heading);text-transform:uppercase;font-size:68px;font-style:italic;line-height:.9;position:relative}.next-edition-mark small{color:#172119;letter-spacing:.12em;background:#c9e646;border-radius:99px;width:fit-content;margin-top:16px;padding:8px 12px;font-size:13px;font-weight:900;position:relative}.cup-archive-card{border:1px solid var(--line);background:linear-gradient(100deg,#f7faf5,#fff 64%);border-radius:3px;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr) auto;align-items:center;gap:clamp(22px,3vw,42px);padding:22px 26px;display:grid;box-shadow:0 8px 24px #1721190b}.cup-archive-kicker{border-right:1px solid var(--line);align-items:center;gap:14px;min-width:0;padding-right:clamp(18px,2.5vw,34px);display:flex}.cup-archive-kicker>span{background:var(--navy);height:54px;color:var(--lime);font-family:var(--font-heading);border-radius:50%;flex:0 0 54px;place-items:center;font-size:24px;font-weight:800;display:grid}.cup-archive-kicker .eyebrow{color:var(--navy-2)}.cup-archive-kicker small{color:var(--muted);white-space:nowrap;margin-top:5px;font-size:13px;line-height:1.35;display:block}.cup-archive-copy{min-width:0}.cup-archive-copy h3{margin:0 0 6px;font-size:22px;line-height:1.15}.cup-archive-copy p{max-width:760px;color:var(--muted);font-size:15px;line-height:1.5}.archive-link-button{border:1px solid var(--navy);background:var(--navy);color:#fff;min-height:46px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:3px;justify-content:center;justify-self:end;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:850;display:inline-flex}.archive-link-button span{color:var(--lime);font-size:18px;line-height:1}.archive-link-button:hover{background:var(--navy-2)}.spectator-metrics{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.spectator-metrics>div{background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:82px;padding:0 20px;display:flex}.spectator-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:850}.spectator-metrics b{font-size:28px}.spectator-metrics b small{color:#9ba69d;margin-left:2px;font-size:11px}.spectator-metrics .metric-text{text-align:right;max-width:125px;font-size:12px;line-height:1.3}.spectator-metrics .status-live{color:#2d7142}.spectator-metrics .status-offline{color:var(--red)}.spectator-main-grid{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px;display:grid}.spectator-next>header,.spectator-results>header,.spectator-finals>header,.spectator-leaders>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.spectator-next>header h3,.spectator-results>header h3,.spectator-finals>header h3,.spectator-leaders>header h3{margin-top:5px;font-size:23px}.spectator-next>header>span{color:var(--navy-2);text-transform:uppercase;background:#eef3ec;border:1px solid #cbd8c9;border-radius:2px;padding:7px 9px;font-size:8px;font-weight:900}.spectator-scoreboard{grid-template-columns:1fr 62px 1fr;align-items:center;gap:18px;min-height:175px;display:grid}.spectator-scoreboard>.team-badge{text-align:center;flex-direction:column;gap:10px}.spectator-scoreboard>.team-badge i{border:5px solid #edf0eb;width:62px;height:62px}.spectator-scoreboard>div{text-align:center;color:#8a9790}.spectator-scoreboard>div b,.spectator-scoreboard>div small{display:block}.spectator-scoreboard>div b{font-size:18px}.spectator-scoreboard>div small{margin-top:4px;font-size:8px}.spectator-next>footer{border-top:1px solid var(--line);min-height:41px;color:var(--muted);justify-content:space-between;align-items:flex-end;gap:15px;padding-top:13px;font-size:9px;display:flex}.spectator-next>footer button,.spectator-results>header button,.spectator-finals>header button,.spectator-section-head button{cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.spectator-finished{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:190px;display:flex}.spectator-finished b{font-size:15px}.spectator-finished button{background:var(--lime);color:var(--navy);border:0;padding:10px 13px;font-size:9px;font-weight:900}.spectator-results{padding:0;overflow:hidden}.spectator-results>header{align-items:center;min-height:75px;padding:0 20px}.spectator-result-row{width:100%;min-height:64px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border:0;border-top:1px solid #e3e7e1;grid-template-columns:75px minmax(0,1fr) 52px;align-items:center;gap:12px;padding:7px 20px;display:grid}.spectator-result-row:hover{background:#f4f7f2}.spectator-result-row>span b,.spectator-result-row>span small{display:block}.spectator-result-row>span b{font-size:11px}.spectator-result-row>span small{color:var(--muted);margin-top:3px;font-size:7px}.spectator-result-row>strong{font-size:9px;line-height:1.5}.spectator-result-row>em{color:var(--navy-2);text-align:right;font-size:19px;font-style:normal;font-weight:900}.spectator-empty{min-height:190px;color:var(--muted);place-items:center;font-size:10px;display:grid}.spectator-section-head{justify-content:space-between;align-items:flex-end;margin-top:9px;display:flex}.spectator-section-head h3{text-transform:uppercase;margin-top:5px;font-size:27px}.spectator-tables .panel{overflow-x:auto}.spectator-bottom-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;display:grid}.spectator-finals{padding:0;overflow:hidden}.spectator-finals>header{align-items:center;min-height:75px;padding:0 20px}.spectator-finals>div{border-top:1px solid #e3e7e1;grid-template-columns:84px minmax(0,1fr) 48px;align-items:center;gap:12px;min-height:59px;padding:7px 20px;display:grid}.spectator-finals>div>span{color:var(--muted);font-size:8px}.spectator-finals>div>span b{color:var(--ink);margin-top:3px;font-size:10px;display:block}.spectator-finals>div>strong{font-size:9px}.spectator-finals>div>strong small{color:var(--muted);margin-top:4px;font-size:8px;font-weight:600;display:block}.spectator-finals>div>em{color:var(--navy-2);text-align:right;font-size:16px;font-style:normal;font-weight:900}.spectator-leaders{border:1px solid var(--line);background:var(--navy);color:#fff;border-radius:3px;overflow:hidden}.spectator-leaders>header{align-items:center;min-height:75px;padding:0 20px}.spectator-leaders>header button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.spectator-leaders .eyebrow{color:#9fb3a0}.spectator-leaders>.top-scorer-row{border-top:1px solid #ffffff1f;grid-template-columns:38px minmax(0,1fr) 58px;align-items:center;gap:11px;min-height:67px;padding:9px 20px;display:grid}.top-scorer-row>span{width:28px;height:28px;color:var(--lime);border:1px solid #ffffff47;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.top-scorer-row p{min-width:0}.top-scorer-row p b,.top-scorer-row p small,.top-scorer-row>strong small{display:block}.top-scorer-row p b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.top-scorer-row p small{color:#cbd8ca;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.top-scorer-row>strong{color:var(--lime);text-align:right;font-size:22px;line-height:1}.top-scorer-row>strong small{color:#a9bba9;text-transform:uppercase;margin-top:4px;font-size:7px;font-weight:800}.spectator-empty.dark{color:#cbd8ca}.hero-row,.section-intro{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.hero-row{color:#fff;background:radial-gradient(circle at 86% 26%,#b5ccb094,#0000 17%),linear-gradient(118deg,#18231a 0%,#304c35 58%,#4f7051 100%);border-radius:3px;align-items:center;min-height:225px;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}.hero-row:after{content:"";pointer-events:none;border:3px solid #ffffff38;border-radius:50%;width:360px;height:250px;position:absolute;bottom:-105px;right:-65px;transform:rotate(-15deg)}.hero-row>*{z-index:1;position:relative}.hero-row .eyebrow{color:#d7e3d6}.hero-row .muted{color:#e6ece5}.hero-row .primary-button{color:var(--navy-2);background:#fff}.hero-row h2,.section-intro h2{letter-spacing:-.025em;text-transform:uppercase;margin:8px 0 11px;font-size:clamp(38px,4.4vw,58px);line-height:.98}.muted{color:var(--muted);font-size:13px;line-height:1.55}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:34px 0 18px;display:grid}.metric-card{background:var(--card);border:1px solid var(--line);border-radius:3px;min-height:132px;padding:20px;position:relative;overflow:hidden}.metric-card.accent:after{content:"";background:var(--lime);border-radius:50%;width:110px;height:110px;position:absolute;top:-48px;right:-42px}.metric-card>span,.metric-card>small{color:var(--muted);font-size:11px;font-weight:750;display:block}.metric-card strong{letter-spacing:-.06em;margin:12px 0 8px;font-size:38px;line-height:1;display:block}.metric-card strong em{color:#a2abb1;letter-spacing:-.02em;margin-left:3px;font-size:16px;font-style:normal}.analytics-panel{margin-top:18px;padding:0;overflow:hidden}.analytics-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:0 22px;display:flex}.analytics-panel>header h3{text-transform:uppercase;margin-top:5px;font-size:23px}.analytics-state{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#eceae3;border-radius:99px;padding:7px 10px;font-size:8px;font-weight:900}.analytics-state.ready{color:#28623e;background:#e3f0e4}.analytics-state.error{color:var(--red);background:#f7e8e6}.analytics-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.analytics-summary>div{border-right:1px solid var(--line);min-height:102px;padding:19px 22px}.analytics-summary>div:last-child{border-right:0}.analytics-summary span,.analytics-summary small{color:var(--muted);font-size:9px;display:block}.analytics-summary span{text-transform:uppercase;letter-spacing:.08em;font-weight:850}.analytics-summary b{margin:9px 0 5px;font-size:30px;line-height:1;display:block}.analytics-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:12px;min-height:190px;padding:23px 22px 19px;display:grid}.analytics-chart>div{grid-template-rows:100px 18px 18px;place-items:end center;gap:3px;display:grid}.analytics-chart>div>span{background:#edf0eb;border-radius:3px;align-items:flex-end;width:min(46px,75%);height:100px;display:flex;overflow:hidden}.analytics-chart i{background:linear-gradient(180deg,var(--navy-2),var(--navy));border-radius:3px 3px 0 0;width:100%;min-height:5px;display:block}.analytics-chart b{font-size:11px}.analytics-chart small{color:var(--muted);white-space:nowrap;font-size:8px}.analytics-chart>p{color:var(--muted);grid-column:1/-1;place-self:center;font-size:10px}.analytics-panel>footer{border-top:1px solid var(--line);color:var(--muted);background:#f7f7f3;padding:11px 22px;font-size:8px;line-height:1.5}.overview-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:18px;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:23px;box-shadow:0 10px 30px #304c3509}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.panel-heading h3{letter-spacing:-.04em;margin-top:5px;font-size:21px}.match-tag{color:var(--navy-2);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#edf2eb;border:1px solid #c7d2c5;border-radius:2px;padding:7px 9px;font-size:9px;font-weight:850}.link-button{cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:850}.scoreboard{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:22px;min-height:178px;padding:24px 4px 19px;display:grid}.scoreboard>.team-badge{text-align:center;flex-direction:column;gap:12px}.scoreboard>.team-badge i{border:5px solid #edf0ef;width:60px;height:60px;font-size:14px}.team-badge{align-items:center;gap:10px;min-width:0;display:flex}.team-badge i{color:#fff;letter-spacing:-.02em;border-radius:8px;flex:none;place-items:center;width:40px;height:36px;font-size:9px;font-style:normal;font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #17211914}.team-badge i>span{z-index:0;position:relative}.team-badge i img{z-index:1;object-fit:contain;background:#fff;width:100%;height:100%;padding:3px;position:absolute;inset:0}.team-badge.compact i img{padding:2px}.team-badge b{text-overflow:ellipsis;font-size:12px;line-height:1.25;overflow:hidden}.team-badge.compact i{border-radius:6px;width:30px;height:26px;font-size:7px}.team-badge.compact{gap:7px}.team-badge.compact b{white-space:nowrap;font-size:11px}.team-placeholder{color:var(--muted);font-size:11px;font-style:italic}.versus{text-align:center;color:#91a0aa;font-size:17px;font-weight:950}.versus small{margin-top:5px;font-size:8px;font-weight:750;display:block}.match-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-top:15px;font-size:10px;display:flex}.match-footer button{cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:900}.empty-inline{min-height:170px;color:var(--muted);place-items:center;font-size:13px;display:grid}.standings-block{min-width:0;margin-top:5px}.table-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:43px;display:flex}.table-title span{font-size:12px;font-weight:900}.table-title small{color:var(--muted);font-size:9px}.standings-head,.standings-row{border-bottom:1px solid #e9e8e2;grid-template-columns:28px minmax(135px,1fr) 34px 28px 28px 28px 62px 45px 38px;align-items:center;gap:3px;min-height:43px;font-size:10px;display:grid}.standings-head{color:var(--muted);text-transform:uppercase;min-height:34px;font-size:8px;font-weight:850}.standings-row .rank{font-weight:900}.standings-row>strong{font-size:13px}.standings-row:last-child{border-bottom:0}.compact-table .table-title{display:none}.compact-table .standings-head,.compact-table .standings-row{grid-template-columns:26px minmax(130px,1fr) 36px 48px 38px}.compact-table .standings-head span:nth-child(4),.compact-table .standings-head span:nth-child(5),.compact-table .standings-head span:nth-child(6),.compact-table .standings-head span:nth-child(7),.compact-table .standings-row>span:nth-child(4),.compact-table .standings-row>span:nth-child(5),.compact-table .standings-row>span:nth-child(6),.compact-table .standings-row>span:nth-child(7){display:none}.compact-table .standings-block{margin-top:19px}.flow-strip{background:var(--navy);color:#fff;border-radius:3px;grid-template-columns:1fr auto 1fr auto 1fr auto;align-items:center;gap:22px;margin-top:18px;padding:21px 24px;display:grid}.flow-strip>b{color:#c7d8c5;font-size:18px}.flow-strip>div strong,.flow-strip>div span{display:block}.flow-strip>div strong{font-family:var(--font-heading);text-transform:uppercase;margin:5px 0 3px;font-size:14px;font-weight:500}.flow-strip>div span{color:#b6c6b7;font-size:10px}.flow-strip .eyebrow{color:#9fb2a0}.flow-strip button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:2px;padding:10px 13px;font-size:10px;font-weight:850}.section-page{animation:.28s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.section-intro{align-items:flex-start;margin-bottom:32px}.section-intro>div{max-width:760px}.auto-badge{white-space:nowrap;background:#ebf1e9;border:1px solid #c7d6c6;border-radius:2px;padding:10px 13px;font-size:10px;font-weight:850}.pdf-ready-badge{color:var(--navy-2);white-space:nowrap;background:#ebf1e9;border:1px solid #c7d6c6;border-radius:2px;padding:10px 13px;font-size:10px;font-weight:850}.day-block{background:var(--card);border:1px solid var(--line);border-radius:3px;margin-bottom:14px;overflow:hidden}.day-block>header{background:#e7ece5;justify-content:space-between;align-items:center;min-height:48px;padding:0 18px;display:flex}.day-block>header div{align-items:center;gap:10px;display:flex}.day-block>header div span{background:var(--navy);color:#fff;border-radius:6px;padding:6px 7px;font-size:9px;font-weight:900}.day-block>header strong{font-size:12px}.day-block>header small{color:var(--muted);font-size:9px}.match-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e7e5de;grid-template-columns:120px minmax(0,1fr) 90px;align-items:center;gap:18px;width:100%;min-height:76px;padding:10px 18px;display:grid}.match-row:last-child{border-bottom:0}.match-row:hover:not(:disabled){background:#faf9f4}.match-row:disabled{cursor:default}.match-row.read-only:not(.unresolved):disabled{opacity:1;background:#fff}.match-row.read-only:not(.unresolved):disabled .match-teams{color:var(--ink);font-style:normal;font-weight:800}.match-row.read-only.finished:not(.unresolved):disabled{background:#fbfcfa}.match-when b,.match-when small{display:block}.match-when b{font-size:15px}.match-when small{color:var(--muted);margin-top:3px;font-size:9px}.match-teams{gap:5px;font-size:11px;font-weight:800;display:grid}.match-teams span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.match-row:disabled .match-teams{color:#89949b;font-style:italic;font-weight:600}.match-teams .team-badge{width:100%;font-style:normal}.match-teams .team-badge b{text-overflow:ellipsis;min-width:0;overflow:hidden}.match-result{text-align:right}.match-result>strong,.match-result>span,.match-result>small{display:block}.result-score{letter-spacing:-.03em;font-size:19px}.open-score{color:#9aa3a9;font-weight:900}.match-result small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:7px}.tables-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tournament-tree{border:1px solid var(--line);background:#f8f8f4;border-radius:4px;overflow:hidden;box-shadow:0 14px 38px #304c350f}.tree-overview-head{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:20px 24px;display:flex}.tree-overview-head .eyebrow{color:#9fb3a0}.tree-overview-head h3{text-transform:uppercase;margin-top:5px;font-size:27px}.tree-progress{align-items:center;gap:8px;display:flex}.tree-progress span{color:#d5dfd4;white-space:nowrap;background:#ffffff12;border:1px solid #fff3;border-radius:99px;padding:9px 12px;font-size:9px;font-weight:750}.tree-progress b{color:var(--lime);font-size:15px}.tree-main{grid-template-columns:minmax(250px,.9fr) 76px minmax(285px,1fr) 76px minmax(285px,1fr);align-items:center;gap:0;padding:28px 24px 24px;display:grid}.tree-stage{min-width:0}.tree-stage>header{align-items:center;gap:11px;margin-bottom:15px;display:flex}.tree-stage>header>span{background:var(--navy);width:36px;height:36px;color:var(--lime);border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid}.tree-stage>header b,.tree-stage>header small{display:block}.tree-stage>header b{font-size:14px}.tree-stage>header small{color:var(--muted);margin-top:2px;font-size:9px}.tree-link{color:#8b9990;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;display:flex;position:relative}.tree-link:before{content:"";border-top:2px solid #bcc8bb;position:absolute;top:50%;left:5px;right:5px}.tree-link span{z-index:1;background:#f8f8f4;padding:7px 5px;font-size:8px;font-weight:800;line-height:1.45;position:relative}.tree-link i{z-index:2;width:30px;height:30px;color:var(--navy-2);background:#f8f8f4;border:2px solid #bcc8bb;border-radius:50%;place-items:center;font-size:14px;font-style:normal;display:grid;position:absolute;top:calc(50% - 15px);right:2px}.tree-match-stack{gap:30px;padding:8px 0;display:grid}.tree-game-node{position:relative}.tree-game-node:after{content:"";border-top:2px solid #bcc8bb;width:38px;position:absolute;top:50%;right:-38px}.tree-game-node>em{z-index:2;color:#35613d;text-transform:uppercase;letter-spacing:.05em;background:#e8f1e5;border-radius:99px;padding:5px 8px;font-size:7px;font-style:normal;font-weight:900;position:absolute;top:-10px;right:9px}.tree-final-label{align-items:center;gap:9px;min-height:38px;margin:4px 0 8px;display:flex}.tree-final-label>span{background:var(--lime);width:30px;height:30px;color:var(--navy);border-radius:50%;place-items:center;font-size:13px;font-weight:900;display:grid}.tree-final-label b,.tree-final-label small{display:block}.tree-final-label b{font-size:12px}.tree-final-label small{color:var(--muted);margin-top:2px;font-size:8px}.tree-final-label.secondary{margin-top:18px}.tree-final-label.secondary>span{color:var(--navy-2);background:#e7ece5}.group-mini{border:1px solid var(--line);background:var(--card);border-radius:11px;margin-bottom:10px;padding:13px}.group-mini h4{text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:10px}.group-mini>div{border-top:1px solid #eceae3;grid-template-columns:20px minmax(0,1fr) 34px;align-items:center;min-height:34px;display:grid}.group-mini>div>span,.group-mini>div>b{font-size:9px}.group-mini>div>b{text-align:right}.bracket-match{background:var(--card);border-radius:11px;grid-template-columns:58px minmax(0,1fr) 55px;gap:10px;min-height:94px;margin-bottom:13px;padding:12px;box-shadow:0 8px 20px #10283b08;border:1px solid var(--line)!important}.bracket-match .match-when small{display:none}.bracket-match .match-when b{font-size:13px}.bracket-match .match-teams{font-size:10px}.bracket-match .result-score{font-size:15px}.tree-game-node .bracket-match,.tree-finals .bracket-match,.tree-placement-lane .bracket-match{margin-bottom:0}.tree-finals .bracket-match{border-left:4px solid var(--lime)!important}.tree-finals .tree-final-label.secondary+.bracket-match{border-left-color:#9aab9a!important}.tree-placement-lane{border-top:1px solid var(--line);background:#eef3ec;grid-template-columns:minmax(250px,1fr) 150px minmax(285px,1fr);align-items:center;gap:22px;padding:21px 24px;display:grid}.tree-placement-copy{align-items:center;gap:13px;display:flex}.tree-placement-copy>span{background:var(--navy);height:46px;color:var(--lime);border-radius:50%;flex:0 0 46px;place-items:center;font-size:18px;font-weight:900;display:grid}.tree-placement-copy b,.tree-placement-copy small{display:block}.tree-placement-copy b{margin:4px 0 3px;font-size:15px}.tree-placement-copy small{color:var(--muted);font-size:9px;line-height:1.4}.tree-placement-route{justify-content:center;align-items:center;gap:10px;display:flex}.tree-placement-route i{width:40px;height:40px;color:var(--navy-2);background:#fff;border:1px solid #aabaaa;border-radius:50%;place-items:center;font-size:10px;font-style:normal;font-weight:900;display:grid}.tree-placement-route b{color:#728377;font-size:18px}.logic-note{border-left:4px solid var(--navy-2);background:#e7ece5;border-radius:0 3px 3px 0;grid-template-columns:180px 1fr;gap:20px;margin-top:27px;padding:17px 20px;font-size:11px;line-height:1.5;display:grid}.logic-note span{color:var(--muted)}.leaderboard-card{padding:0;overflow:hidden}.leader-head,.leader-row{grid-template-columns:65px minmax(140px,1fr) minmax(190px,1fr) 70px 70px 48px;align-items:center;gap:12px;min-height:58px;padding:0 23px;font-size:11px;display:grid}.leader-head{min-height:42px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#e7ece5;border-bottom:1px solid #d4dbd2;font-size:8px;font-weight:850}.leader-entry{border-bottom:1px solid #e1e6df}.leader-entry:last-child{border-bottom:0}.leader-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0}.leader-row:hover{background:#f8faf7}.leader-row:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #4f705159;position:relative}.leader-entry.open .leader-row{background:#f2f6f0}.leader-player{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leader-games small,.leader-goals small{display:none}.leader-goals{color:var(--navy-2);font-size:20px}.leader-toggle{width:30px;height:30px;color:var(--navy-2);background:#e7ece5;border-radius:50%;justify-self:end;place-items:center;font-size:18px;font-weight:900;display:grid}.leader-entry.open .leader-toggle{background:var(--navy);color:var(--lime)}.scorer-game-breakdown{background:#f2f4ef;padding:0 23px 15px 100px}.scorer-game-head,.scorer-game-row{grid-template-columns:115px minmax(180px,1fr) 80px 65px 84px;align-items:center;gap:12px;display:grid}.scorer-game-head{min-height:34px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:850}.scorer-game-row{width:100%;min-height:61px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #dbe2d8}.scorer-game-row:hover{background:#ffffffb3}.scorer-game-row:focus-visible{outline-offset:-3px;outline:3px solid #4f705159}.scorer-game-meta b,.scorer-game-meta small,.scorer-game-goals small{display:block}.scorer-game-meta b{font-size:11px}.scorer-game-meta small{color:var(--muted);margin-top:3px;font-size:8px}.scorer-game-opponent{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.scorer-game-result{color:var(--muted);font-size:13px;font-style:normal;font-weight:800}.scorer-game-goals{color:var(--navy-2);font-size:19px}.scorer-game-goals small{color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:7px}.scorer-game-row>i{color:var(--navy-2);font-size:9px;font-style:normal;font-weight:850}.medal{background:var(--lime);border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:30px;display:flex}.empty-state>span{background:var(--navy);width:58px;height:58px;color:var(--lime);border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid}.empty-state h3{margin:17px 0 7px;font-size:20px}.empty-state p{color:var(--muted);margin-bottom:18px;font-size:12px}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.roster-card header{justify-content:space-between;align-items:center;display:flex}.roster-card header>span{border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:8px;font-weight:850}.roster-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:22px 0 7px;font-size:8px;font-weight:850;display:block}.roster-card textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:130px;color:var(--ink);background:#faf9f5;border-radius:8px;padding:11px;font-size:11px;line-height:1.55}.roster-card textarea:disabled{color:#69736a;cursor:not-allowed;background:#f1f2ed}.roster-card>small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.print-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.print-options{gap:9px;display:grid}.print-option{background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:3px;grid-template-columns:0 40px 1fr 28px;align-items:center;gap:12px;min-height:78px;padding:12px 15px;display:grid;overflow:hidden}.print-option input{opacity:0;width:0}.print-option>span{background:#e7ece5;border-radius:2px;place-items:center;width:36px;height:36px;font-size:8px;font-weight:900;display:grid}.print-option b,.print-option small{display:block}.print-option b{font-size:12px}.print-option small{color:var(--muted);margin-top:4px;font-size:9px}.print-option>i{opacity:0;background:var(--lime);border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-style:normal;display:grid}.print-option.selected{border-color:var(--navy-2);box-shadow:0 0 0 2px #4f705129}.print-option.selected>span{background:var(--navy-2);color:#fff}.print-option.selected>i{opacity:1}.manual-download-card{min-height:78px;color:var(--ink);background:#edf3eb;border:1px solid #c6d7c3;border-radius:3px;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:12px;padding:12px 15px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.manual-download-card:hover{border-color:var(--navy-2);transform:translateY(-1px);box-shadow:0 8px 20px #304c3517}.manual-download-card>span{background:var(--navy-2);color:#fff;border-radius:2px;place-items:center;width:36px;height:36px;font-size:16px;font-weight:900;display:grid}.manual-download-card b,.manual-download-card small{display:block}.manual-download-card b{font-size:13px}.manual-download-card small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.manual-download-card>i{color:var(--navy-2);text-transform:uppercase;font-size:10px;font-style:normal;font-weight:900}.print-preview{background:var(--navy-2);color:#fff;text-align:center;border-radius:3px;padding:25px;position:sticky;top:110px}.paper-preview{width:200px;height:282px;color:var(--ink);text-align:left;background:#fff;margin:0 auto 19px;padding:20px;box-shadow:0 14px 28px #1c2c1f47}.mini-brand{background:var(--lime);width:28px;height:28px;color:var(--navy-2);border-radius:2px;place-items:center;font-size:8px;font-weight:900;display:grid}.paper-preview p{letter-spacing:.1em;margin:30px 0 5px;font-size:6px}.paper-preview h3{letter-spacing:0;text-transform:uppercase;font-size:21px}.preview-lines{border-top:5px solid var(--navy-2);background:repeating-linear-gradient(#0000 0 15px,#dfe2e2 16px);height:100px;margin-top:18px}.paper-preview small{color:var(--muted);font-size:6px}.print-actions{gap:8px;display:grid}.print-preview .primary-button{width:100%;color:var(--navy-2);background:#fff}.print-preview .primary-button:disabled{opacity:.65;cursor:wait}.outline-button{color:#fff;background:0 0;border:1px solid #ffffff8c;width:100%}.print-preview>p{color:#d1ddd0;margin-top:10px;font-size:8px;line-height:1.4}.pdf-status{text-align:left;border-radius:2px;padding:8px 9px;font-size:8px!important}.pdf-status.success{background:#dfe8d9;color:#27462c!important}.pdf-status.error{background:#f2dddd;color:#7c302e!important}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#142117ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.score-modal{background:var(--card);border-radius:15px;width:min(880px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 30px 80px #00000047}.score-modal>header{justify-content:space-between;align-items:flex-start;display:flex}.score-modal>header h3{letter-spacing:-.045em;margin-top:5px;font-size:23px}.close-button{cursor:pointer;background:#eceae3;border:0;border-radius:50%;width:34px;height:34px;font-size:22px;line-height:1}.match-detail-modal{background:var(--card);border-radius:15px;width:min(820px,100%);max-height:calc(100vh - 40px);padding:25px;overflow:auto;box-shadow:0 30px 80px #00000047}.match-detail-modal>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.match-detail-modal>header h3{text-transform:uppercase;margin-top:5px;font-size:25px}.detail-scoreboard{background:var(--navy);color:#fff;border-radius:10px;grid-template-columns:1fr 130px 1fr;align-items:center;gap:20px;min-height:150px;margin:22px 0 18px;padding:22px;display:grid}.detail-scoreboard>.team-badge{text-align:center;flex-direction:column;gap:10px}.detail-scoreboard>.team-badge i{width:58px;height:58px}.detail-scoreboard>.team-badge b{color:#fff}.detail-scoreboard>strong{color:var(--lime);text-align:center;font-size:38px;line-height:1}.detail-scoreboard>strong small{color:#b7c6b7;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;font-size:9px;display:block}.detail-scorer-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.detail-scorer-grid>article{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.detail-scorer-grid>article>header{background:#eef3ec;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:flex}.detail-scorer-grid>article>header>b{white-space:nowrap}.detail-scorer-head,.detail-scorer-row{border-top:1px solid #e3e7e1;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:10px;padding:0 14px;display:grid}.detail-scorer-head{min-height:34px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:850}.detail-scorer-head span:last-child,.detail-scorer-row b{text-align:right}.detail-scorer-row{min-height:46px;font-size:12px}.detail-scorer-row b{color:var(--navy-2);font-size:17px}.detail-scorer-row.unassigned{color:var(--muted);font-style:italic}.detail-scorer-grid>article>p{min-height:92px;color:var(--muted);text-align:center;place-items:center;padding:15px;font-size:11px;display:grid}.match-detail-modal>footer{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding-top:19px;font-size:11px;display:flex}.pdf-import-panel{background:#ebf1e9;border:1px solid #c7d6c6;border-radius:3px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:13px 14px;display:flex}.pdf-import-panel>div:first-child{align-items:center;gap:11px;display:flex}.pdf-import-panel>div:first-child>span{background:var(--navy);height:38px;color:var(--lime);border-radius:8px;flex:0 0 38px;place-items:center;font-size:8px;font-weight:900;display:grid}.pdf-import-panel p b,.pdf-import-panel p small{display:block}.pdf-import-panel p b{font-size:10px}.pdf-import-panel p small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.4}.pdf-import-actions{flex:none;align-items:center;gap:7px;display:flex}.hhv-import-button,.pdf-upload{font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:10px 13px;font-size:9px;font-weight:850}.hhv-import-button{border:1px solid var(--navy);background:var(--navy);color:#fff}.hhv-import-button:disabled{opacity:.55;cursor:wait}.pdf-upload{color:var(--navy);background:#fff;border:1px solid #9caf9b;position:relative;overflow:hidden}.pdf-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.pdf-upload:has(input:disabled){opacity:.55;cursor:wait}.import-status{border-radius:8px;margin-top:9px;padding:10px 12px;font-size:9px;line-height:1.45}.import-status.loading{color:var(--muted);background:#eceae3}.import-status.success{color:#28623e;background:#e7f2e9}.import-status.error{color:var(--red);background:#f7e8e6}.score-inputs{grid-template-columns:1fr 30px 1fr;align-items:end;gap:18px;margin:27px 0;display:grid}.score-inputs>span{text-align:center;padding-bottom:16px;font-size:27px}.score-inputs label{grid-template-columns:minmax(0,1fr) 86px;align-items:center;gap:13px;display:grid}.score-inputs input{border:1px solid var(--line);text-align:center;width:86px;height:74px;color:var(--ink);background:#fff;border-radius:10px;font-size:31px;font-weight:900}.scorer-columns{grid-template-columns:1fr 1fr;gap:17px;display:grid}.scorer-column{background:#f2f0e9;border-radius:10px;padding:13px}.scorer-title{justify-content:space-between;align-items:center;min-height:28px;display:flex}.scorer-title b{font-size:10px}.scorer-title button{cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:850}.scorer-line{grid-template-columns:1fr 52px 28px;gap:6px;margin-top:7px;display:grid}.scorer-line input{border:1px solid var(--line);min-width:0;height:36px;color:var(--ink);background:#fff;border-radius:7px;padding:0 9px;font-size:10px}.scorer-line input[type=number]{text-align:center;font-weight:850}.scorer-line button{color:#9b6460;cursor:pointer;background:0 0;border:0}.scorer-empty{color:var(--muted);padding:17px 2px 7px;font-size:9px}.modal-note{color:var(--muted);background:#e9e6dc;border-radius:7px;margin-top:14px;padding:10px 12px;font-size:9px;line-height:1.5}.form-error{color:var(--red);background:#f7e8e6;border-radius:7px;margin-top:10px;padding:10px 12px;font-size:10px;font-weight:750}.score-modal>footer{justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.score-modal>footer>div{gap:8px;display:flex}.admin-modal{text-align:center;background:#fff;border-radius:15px;width:min(430px,100%);padding:30px;position:relative;box-shadow:0 30px 80px #00000047}.admin-modal>.close-button{position:absolute;top:15px;right:15px}.admin-mark{background:var(--navy);width:58px;height:58px;color:var(--lime);font-family:var(--font-heading);border-radius:50%;place-items:center;margin:2px auto 18px;font-size:15px;font-weight:700;display:grid}.admin-modal h3{text-transform:uppercase;margin:6px 0 9px;font-size:25px}.admin-modal>p:not(.eyebrow){color:var(--muted);font-size:10px;line-height:1.55}.admin-modal form{text-align:left;margin:21px 0 14px}.admin-modal form label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:8px;font-weight:900;display:block}.admin-modal form input{border:1px solid var(--line);text-align:center;letter-spacing:.18em;width:100%;height:52px;color:var(--ink);border-radius:8px;padding:0 14px;font-size:20px}.admin-modal form .primary-button{width:100%;margin-top:10px}.admin-modal>small{color:var(--muted);font-size:8px;line-height:1.5;display:block}.auth-error{color:var(--red);text-align:left;background:#f7e8e6;border-radius:6px;margin-top:8px;padding:9px 10px;font-size:9px}.mobile-nav,.print-report{display:none}@media (max-width:1120px){.sidebar{width:190px}.page-frame{margin-left:190px}.brand b{font-size:11px}.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.flow-strip{grid-template-columns:1fr auto 1fr auto 1fr}.flow-strip button{grid-column:1/-1}.tables-grid{grid-template-columns:1fr}.roster-grid{grid-template-columns:repeat(2,1fr)}.spectator-main-grid,.spectator-bottom-grid{grid-template-columns:1fr}.spectator-metrics{grid-template-columns:repeat(2,1fr)}.cup-archive-card{grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr)}.archive-link-button{grid-column:2;justify-self:start}.tree-main{grid-template-columns:1fr;gap:11px;padding:24px}.tree-stage{width:100%;max-width:700px;margin:auto}.tree-link{min-height:74px}.tree-link:before{border-top:0;border-left:2px solid #bcc8bb;inset:5px auto 5px 50%}.tree-link span{padding:5px 9px}.tree-link i{inset:auto auto 0 calc(50% - 15px);transform:rotate(90deg)}.tree-game-node:after{display:none}.tree-placement-lane{grid-template-columns:minmax(240px,1fr) 110px minmax(280px,1fr)}}@media (max-width:1000px){.sidebar{display:none}.page-frame{margin:0;padding-bottom:72px}.topbar{height:68px;padding:0 18px}.topbar .eyebrow{display:none}.topbar h1{margin:0;font-size:17px}.live-pill,.sync-pill{display:none}.role-button{padding:9px 10px;font-size:7px}.dashboard{padding:26px 16px 38px}.mode-banner{align-items:flex-start}.mode-banner p small{line-height:1.35}.mode-banner>button{white-space:nowrap}.hero-row,.section-intro{flex-direction:column;align-items:stretch;gap:18px}.hero-row h2,.section-intro h2{font-size:36px}.hero-row .primary-button{width:100%}.metric-grid{gap:9px;margin-top:26px}.metric-card{min-height:118px;padding:16px}.metric-card strong{font-size:32px}.analytics-summary{grid-template-columns:1fr 1fr}.analytics-summary>div{min-height:86px;padding:15px}.analytics-summary>div:nth-child(2){border-right:0}.analytics-summary>div:last-child{border-top:1px solid var(--line);grid-column:1/-1}.analytics-chart{gap:5px;padding-inline:12px}.analytics-chart>div{grid-template-rows:82px 18px 18px}.analytics-chart>div>span{width:min(34px,78%);height:82px}.analytics-chart small{font-size:7px}.spectator-hero-copy{min-height:275px;padding:32px 24px}.spectator-hero-copy h2{font-size:49px}.spectator-hero-copy>div{flex-wrap:wrap}.next-edition-layout{grid-template-columns:1fr;gap:28px;min-height:0;padding:40px 24px}.next-edition-copy h2{font-size:clamp(49px,13vw,72px)}.next-edition-copy>p:not(.eyebrow){font-size:17px}.cup-actions{flex-wrap:wrap}.next-edition-mark{min-height:190px}.cup-archive-card{grid-template-columns:1fr;align-items:start;gap:18px;padding:21px}.cup-archive-kicker{border-right:0;border-bottom:1px solid var(--line);width:100%;padding:0 0 18px}.cup-archive-kicker small{white-space:normal}.archive-link-button{grid-column:auto;justify-self:stretch;width:100%}.spectator-metrics>div{min-height:65px;padding:0 14px}.spectator-metrics b{font-size:22px}.spectator-scoreboard{grid-template-columns:1fr 45px 1fr;gap:6px}.spectator-result-row{grid-template-columns:58px minmax(0,1fr) 46px;padding-inline:14px}.spectator-section-head{align-items:flex-start;gap:12px}.spectator-finals>div{grid-template-columns:65px minmax(0,1fr) 40px;padding-inline:14px}.overview-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:18px}.scoreboard{gap:8px}.scoreboard>.team-badge i{border-width:4px;width:49px;height:49px}.scoreboard>.team-badge b{font-size:10px}.flow-strip{grid-template-columns:1fr;gap:13px}.flow-strip>b{justify-self:center;transform:rotate(90deg)}.compact-table{overflow-x:auto}.standings-block{min-width:570px}.tables-grid .panel{overflow-x:auto}.match-row{grid-template-columns:65px minmax(0,1fr) 56px;gap:9px;padding:10px 13px}.match-when small{display:none}.match-teams{font-size:10px}.roster-grid{grid-template-columns:1fr}.leaderboard-card{overflow:hidden}.leader-head{display:none}.leader-row{grid-template-columns:42px minmax(0,1fr) 62px 38px;grid-template-areas:"rank player goals toggle""rank team games toggle";gap:5px 10px;min-width:0;min-height:96px;padding:12px 14px}.leader-rank{grid-area:rank}.leader-player{grid-area:player}.leader-row>.team-badge{grid-area:team}.leader-games{color:var(--muted);grid-area:games}.leader-games small{display:inline}.leader-goals{text-align:right;grid-area:goals}.leader-goals small{color:var(--muted);text-transform:uppercase;font-size:8px;display:block}.leader-toggle{grid-area:toggle}.scorer-game-breakdown{padding:0 14px 12px}.scorer-game-head{display:none}.scorer-game-row{grid-template-columns:minmax(0,1fr) 72px;grid-template-areas:"meta goals""opponent goals""result details";gap:4px 10px;min-height:112px;padding:11px 8px}.scorer-game-meta{grid-area:meta}.scorer-game-opponent{white-space:normal;grid-area:opponent}.scorer-game-result{grid-area:result}.scorer-game-goals{text-align:right;grid-area:goals}.scorer-game-row>i{text-align:right;grid-area:details}.print-layout{grid-template-columns:1fr}.print-preview{position:static}.logic-note{grid-template-columns:1fr;gap:7px}.score-inputs{grid-template-columns:1fr 16px 1fr;gap:6px}.score-inputs label{text-align:center;grid-template-columns:1fr;justify-items:center}.score-inputs input{width:100%;height:62px}.score-inputs>span{padding-bottom:18px}.scorer-columns{grid-template-columns:1fr}.score-modal{padding:18px}.score-modal>footer{flex-direction:column-reverse;align-items:stretch}.score-modal>footer>div{grid-template-columns:1fr 1fr;display:grid}.danger-button{width:100%}.tree-overview-head{flex-direction:column;align-items:flex-start;padding:20px}.tree-progress{flex-wrap:wrap;width:100%}.tree-progress span{text-align:center;flex:130px}.tree-main{padding:20px 14px}.tree-stage>header{padding-left:4px}.tree-placement-lane{grid-template-columns:1fr;gap:15px;padding:19px 14px}.tree-placement-route{justify-content:flex-start;padding-left:59px}.tree-placement-lane .bracket-match{width:100%}.tree-match-stack{gap:28px}.match-detail-modal{padding:18px}.match-detail-modal>header h3{font-size:21px}.detail-scoreboard{grid-template-columns:1fr 90px 1fr;gap:8px;padding:17px 10px}.detail-scoreboard>strong{font-size:31px}.detail-scoreboard>.team-badge i{width:50px;height:50px}.detail-scorer-grid{grid-template-columns:1fr}.match-detail-modal>footer{flex-direction:column;align-items:stretch}.match-detail-modal>footer .primary-button{width:100%}.pdf-import-panel,.pdf-import-actions{flex-direction:column;align-items:stretch}.hhv-import-button,.pdf-upload{text-align:center}.mobile-nav{z-index:30;background:var(--navy);border-top:1px solid #ffffff1a;grid-template-columns:repeat(5,1fr);height:66px;padding:5px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{color:#859ba9;background:0 0;border:0;border-radius:8px;font-size:7px;font-weight:750;overflow:hidden}.mobile-nav button span{margin-bottom:4px;font-size:8px;display:block}.mobile-nav button.active{background:var(--lime);color:var(--navy)}}@media (max-width:430px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card>span,.metric-card>small{font-size:9px}.metric-card strong{font-size:29px}.top-actions .ghost-button{display:none}.panel-heading h3{font-size:18px}.team-badge b{font-size:10px}.mode-banner>button{display:none}.next-edition-layout{padding:34px 20px}.next-edition-copy h2{font-size:48px}.next-edition-mark b{font-size:58px}.cup-archive-card h3{font-size:20px}.spectator-metrics{grid-template-columns:1fr 1fr}.spectator-metrics>div{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.spectator-metrics .metric-text{text-align:left}}@media screen{body{font-size:17px}.brand small,.sidebar-source span{font-size:12px;line-height:1.45}.sidebar-source a{font-size:14px}.sidebar nav button{min-height:50px;font-size:16px}.sidebar nav button span{font-size:12px}.eyebrow{font-size:13px;line-height:1.4}.topbar h1{font-size:26px}.sync-pill{font-size:11px}.live-pill{font-size:14px}.role-button{font-size:13px}.ghost-button,.primary-button,.danger-button,.outline-button{font-size:14px}.mode-banner p b{font-size:15px}.mode-banner p small{font-size:13px;line-height:1.5}.mode-banner>button{font-size:13px}.muted{font-size:17px}.spectator-hero-copy>p:not(.eyebrow){font-size:18px}.spectator-share{font-size:14px}.spectator-metrics span{font-size:13px}.spectator-metrics .metric-text{font-size:16px}.spectator-scoreboard>div small{font-size:12px}.spectator-next>footer,.spectator-next>footer button,.spectator-results>header button,.spectator-finals>header button,.spectator-section-head button{font-size:13px}.spectator-result-row>span b{font-size:15px}.spectator-result-row>span small{font-size:12px}.spectator-result-row>strong{font-size:14px}.spectator-finals>div>span,.spectator-finals>div>strong small{font-size:13px}.spectator-finals>div>span b,.spectator-finals>div>strong{font-size:15px}.spectator-leaders>div span{font-size:12px}.spectator-leaders>div b{font-size:19px}.spectator-leaders>div small{font-size:13px}.metric-card>span,.metric-card>small{font-size:15px;line-height:1.5}.panel-heading h3{font-size:26px}.match-tag,.auto-badge,.pdf-ready-badge{font-size:14px}.team-badge b{font-size:16px}.team-badge.compact b,.team-placeholder{font-size:15px}.match-footer,.match-footer button{font-size:14px}.table-title span{font-size:16px}.table-title small{font-size:13px}.standings-head{font-size:12px}.standings-row{font-size:15px}.compact-table .standings-head{font-size:12px}.compact-table .standings-row{font-size:15px}.day-block>header strong{font-size:16px}.day-block>header small{font-size:13px}.match-row,.match-teams{font-size:15px}.match-when b{font-size:16px}.match-when small,.match-result small{font-size:12px}.result-score{font-size:21px}.leader-head{font-size:12px}.leader-row{font-size:15px}.scorer-game-head{font-size:12px}.scorer-game-meta b,.scorer-game-opponent,.scorer-game-result{font-size:14px}.scorer-game-meta small,.scorer-game-goals small{font-size:11px}.scorer-game-goals{font-size:21px}.scorer-game-row>i,.tree-progress span{font-size:13px}.tree-stage>header b{font-size:17px}.tree-stage>header small,.group-mini h4,.group-mini>div>span,.group-mini>div>b{font-size:13px}.tree-link span{font-size:11px}.tree-game-node>em{font-size:10px}.tree-final-label b{font-size:15px}.tree-final-label small{font-size:12px}.tree-placement-copy b{font-size:17px}.tree-placement-copy small,.tree-placement-route i{font-size:13px}.print-option b,.manual-download-card b{font-size:15px}.print-option small,.manual-download-card small{font-size:13px;line-height:1.5}.print-preview>p,.pdf-status{font-size:12px!important}.roster-card label,.roster-card small{font-size:12px}.roster-card textarea,.pdf-import-panel p b{font-size:15px}.pdf-import-panel p small,.import-status,.modal-note,.scorer-empty,.hhv-import-button,.pdf-upload,.scorer-title b,.scorer-title button{font-size:13px}.scorer-line input,.admin-modal>p:not(.eyebrow){font-size:15px}.admin-modal form label,.admin-modal>small,.auth-error{font-size:13px}}@media screen and (max-width:1000px){.page-frame{padding-bottom:84px}.topbar h1{font-size:22px}.role-button{padding:10px 11px;font-size:13px}.eyebrow{font-size:13px}.mode-banner p b{font-size:16px}.mode-banner p small{font-size:14px}.spectator-hero-copy>p:not(.eyebrow){font-size:18px}.spectator-metrics span{font-size:13px}.spectator-metrics .metric-text{font-size:16px}.metric-card>span,.metric-card>small{font-size:14px}.metric-card strong{font-size:36px}.panel-heading h3{font-size:24px}.scoreboard>.team-badge b,.team-badge b,.team-badge.compact b{font-size:15px}.match-row{grid-template-columns:76px minmax(0,1fr) 72px;min-height:76px;font-size:15px}.match-teams{font-size:15px}.match-when small,.match-result small,.standings-head{font-size:12px}.standings-row{font-size:15px}.mobile-nav{height:78px}.mobile-nav button{font-size:13px;line-height:1.2}.mobile-nav button span{font-size:14px}.print-option b,.manual-download-card b{font-size:16px}.print-option small,.manual-download-card small{font-size:14px}.analytics-summary span,.analytics-summary small{font-size:13px}.analytics-chart small{font-size:12px}.spectator-result-row>span small,.spectator-leaders>div span{font-size:13px}.spectator-result-row>strong,.spectator-finals>div>strong{font-size:15px}.spectator-finals>div>span,.spectator-finals>div>strong small,.spectator-leaders>div small{font-size:13px}}@media print{@page{size:A4 portrait;margin:12mm}html,body{color:#172119!important;background:#fff!important}.no-print{display:none!important}.print-report{font-family:Arial,Helvetica,sans-serif;font-size:9pt;display:block!important}.print-header{border-bottom:3px solid #4f7051;justify-content:space-between;align-items:center;margin-bottom:7mm;padding-bottom:7mm;display:flex}.print-header>div{align-items:center;gap:4mm;display:flex}.print-header>div>span{border-radius:1mm;place-items:center;width:12mm;height:12mm;font-weight:900;display:grid;color:#4f7051!important;background:#dfe8d9!important}.print-header p{text-transform:uppercase;letter-spacing:.12em;font-size:7pt}.print-header h1{letter-spacing:0;text-transform:uppercase;font-size:22pt}.print-header aside{text-align:right;color:#566570;font-size:8pt;line-height:1.5}.print-section{margin-bottom:8mm}.print-section h2{margin:0 0 4mm;font-size:15pt}.print-section table{border-collapse:collapse;width:100%}.print-section th{text-align:left;padding:2.2mm;font-size:7pt;color:#fff!important;background:#4f7051!important}.print-section td{border-bottom:.2mm solid #d6d9da;padding:2.1mm;font-size:7.5pt}.print-qr-card{text-align:center;border:2mm solid #4f7051;flex-direction:column;justify-content:center;align-items:center;height:245mm;padding:12mm 15mm;display:flex}.print-qr-card .print-club-logo{object-fit:contain;width:34mm;height:34mm;margin-bottom:4mm}.print-qr-card>p{color:#4f7051;text-transform:uppercase;letter-spacing:.12em;font-size:9pt;font-weight:900}.print-qr-card h2{text-transform:uppercase;max-width:150mm;margin:5mm 0 3mm;font-size:31pt;line-height:1}.print-qr-card>span{color:#566570;font-size:10pt}.print-qr-card .print-qr-code,.print-qr-placeholder{width:82mm;height:82mm;margin:7mm 0}.print-qr-placeholder{border:1mm solid #4f7051;place-items:center;font-size:30pt;display:grid}.print-qr-card h3{text-transform:uppercase;font-size:19pt}.print-qr-card>small{color:#566570;margin-top:6mm;font-size:8pt}.page-break{break-before:page;padding-top:3mm}.print-tables{gap:8mm;display:grid}.print-table{min-width:0}.print-table .table-title{display:flex}.print-table .standings-head,.print-table .standings-row{grid-template-columns:10mm 1fr 12mm 10mm 10mm 10mm 22mm 15mm 13mm;min-height:8mm;font-size:7pt}.print-table .team-badge i{width:7mm;height:7mm;font-size:5pt}.print-table .team-badge b{font-size:7pt}.print-flow{grid-template-columns:1fr 1fr;gap:6mm;display:grid}.print-flow>div{border:.3mm solid #cfd3d4;border-radius:2mm;padding:4mm}.print-flow h3{margin-bottom:3mm;font-size:10pt}.print-flow p{border-top:.2mm solid #d9dcdd;grid-template-columns:13mm 1fr 14mm;align-items:center;gap:2mm;padding:2.5mm 0;display:grid}.print-flow p span{font-size:7pt}.print-flow p b{font-size:7.2pt}.print-flow p strong{text-align:right}.print-footer{color:#75818a;border-top:.2mm solid #d6d9da;padding-top:2mm;font-size:6.5pt;position:fixed;bottom:0;left:0;right:0}}
