@font-face{font-family:BarlowCondensed;src:url('/assets/barlow.woff2') format('woff2');font-style:normal;font-weight:500 900;font-display:swap}

@font-face{font-family:Rajdhani;src:url('/assets/rajdhani.woff2') format('woff2');font-style:normal;font-weight:500 700;font-display:swap}

:root{font-family:Inter,"Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;color:#e9f0f6;background:#070d19;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#070d19;--panel:#0c1525;--panel2:#101c2d;--line:#1c2b40;--muted:#8393a9;--soft:#b6c2d1;--cyan:#34d6ed;--blue:#477df2;--gold:#d9b969;--font-display:BarlowCondensed,"Arial Narrow",sans-serif;--font-tech:Rajdhani,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 53% 0%,#15223b 0,transparent 31rem),var(--bg);min-width:340px}
button,input{font:inherit}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
.site-shell{max-width:1920px;margin:auto}
.topbar{height:76px;padding:0 clamp(22px,4.5vw,76px);display:flex;align-items:center;border-bottom:1px solid rgba(154,184,219,.13);gap:45px;background:rgba(7,13,25,.82);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:11px;min-width:230px}
.brand-mark{width:43px;height:43px;object-fit:contain}
.brand>span,.footer-brand>span{font:800 20px/19px var(--font-display);letter-spacing:1px}
.brand>span b{color:var(--cyan)}
.brand>span small,.footer-brand small{display:block;color:#8291a7;font:700 9px/14px var(--font-tech);letter-spacing:1.1px}
.primary-nav{height:100%;display:flex;gap:28px;align-items:stretch;flex:1}
.nav-link{position:relative;border:0;background:none;color:#91a0b4;font-size:13px;font-weight:600;padding:0 2px}
.nav-link:hover,.nav-link.active{color:#f3f6f8}
.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cyan)}
.top-actions{display:flex;align-items:center;gap:23px}
.icon-button{border:0;background:transparent;color:#a9b5c4;font-size:12px}
.icon-button span{color:var(--cyan);padding-left:5px}
.profile-button{background:transparent;border:0;display:flex;gap:10px;align-items:center;text-align:left;padding:5px 0}
.avatar{width:34px;height:34px;display:grid;place-items:center;background:#152b4c;border:1px solid #285075;color:var(--cyan);font:700 18px var(--font-display);clip-path:polygon(16% 0,84% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%)}
.profile-copy b,.profile-copy small,.predictor-line b,.predictor-line small{display:block}
.profile-copy b{font-size:12px}
.profile-copy small{color:#8998ab;font:600 10px var(--font-tech);margin-top:2px}
.chevron{color:#8392a7;margin-left:3px}
.hero{min-height:440px;position:relative;overflow:hidden;border-bottom:1px solid rgba(112,161,219,.22);background:#09142c}
.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,13,30,.98) 0%,rgba(5,13,30,.83) 29%,rgba(5,13,30,.3) 64%,rgba(5,13,30,.12) 100%),linear-gradient(0deg,rgba(7,13,25,.67),transparent 52%),url('/assets/worlds-hero.jpg');background-size:cover;background-position:center 29%;transform:scale(1.01)}
.hero:after{content:"";position:absolute;inset:0;border-top:1px solid rgba(119,185,236,.18);pointer-events:none}
.hero-content{position:relative;z-index:1;padding:56px clamp(26px,6vw,108px) 36px;max-width:960px}
.eyebrow,.section-kicker{font:700 11px var(--font-tech);letter-spacing:1.25px;color:#a8bed1}
.eyebrow{display:flex;align-items:center;gap:11px}
.eyebrow i{height:1px;width:34px;background:#52718e}
.live-dot,.stamp-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.hero h1{font:900 clamp(66px,7vw,108px)/.79 var(--font-display);margin:27px 0 30px;letter-spacing:1px;color:#f1f4f5;text-shadow:0 3px 22px #051020}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero-bottom{display:flex;align-items:end;gap:48px}
.hero-bottom p{margin:0;color:#c0cbd7;font-size:14px;line-height:1.9}
.hero-facts{display:flex;gap:27px;border-left:1px solid rgba(172,199,222,.4);padding-left:25px}
.hero-facts span{color:#9faec0;font-size:10px;white-space:nowrap}
.hero-facts b{display:block;color:#f2f6f8;font:700 22px/22px var(--font-tech)}
.hero-index{position:absolute;right:clamp(26px,6vw,108px);bottom:28px;z-index:1;font:700 17px var(--font-tech);color:#dce5ed}
.hero-index span{color:var(--cyan);margin:0 5px}
.event-strip{min-height:82px;padding:13px clamp(26px,6vw,108px);display:flex;align-items:center;gap:48px;background:#0a1424;border-bottom:1px solid var(--line)}
.event-place{display:flex;align-items:center;gap:13px;flex:1}
.place-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #2a506b;color:var(--cyan);font-size:16px}
.event-place b,.event-place small,.event-date small,.event-date b{display:block}
.event-place b{font-size:12px}
.event-place small{font-size:10px;color:var(--muted);margin-top:5px}
.event-date{border-left:1px solid var(--line);padding-left:28px;min-width:190px}
.event-date small{font-size:9px;color:var(--muted);margin-bottom:5px}
.event-date b{font:700 19px var(--font-tech)}
.event-date b span{font:500 10px system-ui;color:#a1afbf;margin-left:6px}
.official-link{font-size:11px;color:#b7c4d1}
.official-link span{color:var(--cyan);margin-left:7px}
.workspace{padding:39px clamp(22px,4.5vw,78px) 75px;scroll-margin-top:18px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}
.section-kicker{display:block;color:#56cde1;font-size:10px}
.section-heading h2,.modal h2{margin:5px 0 0;font:800 38px/1 var(--font-display)}
.section-heading h2 span,.modal h2 span{color:#8d9caf}
.heading-actions{display:flex;align-items:center;gap:8px}
.small-button,.primary-button,.danger-button{border:1px solid #2a405b;background:#101d2f;color:#cfdae4;min-height:35px;padding:0 13px;font-size:11px;transition:.16s ease}
.small-button:hover,.icon-plain:hover{border-color:#58cfe2;color:#fff;background:#12243a}
.primary-button{background:var(--cyan);border-color:var(--cyan);color:#061320;font-weight:700}
.primary-button:hover{background:#8aeeff}
.danger-button{border-color:#863c54;color:#ffc1c9;background:#341923}
.icon-plain{width:35px;height:35px;background:#101d2f;border:1px solid #2a405b;color:#b8c6d6;font-size:17px}
.stage-tabs{height:59px;display:flex;align-items:stretch;border-top:1px solid #1c2a3e;border-bottom:1px solid #1c2a3e;gap:0}
.stage-tab{display:flex;align-items:center;gap:9px;position:relative;padding:0 20px;border:0;background:transparent;color:#9caabd;font-size:12px;font-weight:600;white-space:nowrap}
.stage-tab small{font:600 9px var(--font-tech);color:#677991}
.stage-tab:hover,.stage-tab.selected{color:#f1f6f8}
.stage-tab.selected:after{content:"";position:absolute;bottom:-1px;left:14px;right:14px;height:2px;background:var(--cyan)}
.tab-number{font:600 12px var(--font-tech);color:#6086aa}
.stage-tab.selected .tab-number{color:var(--cyan)}
.tab-spacer{flex:1}
.data-stamp{display:flex;align-items:center;gap:8px;color:#8292a7;font:600 10px var(--font-tech);white-space:nowrap}
.data-stamp .stamp-dot{width:5px;height:5px}
.prediction-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:22px;padding-top:19px}
.bracket-panel{min-width:0}
.board-caption{height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px;color:#acbacb;font-size:10px}
.board-caption>span{font:600 10px var(--font-tech);color:#8191a5}
.official-tag{display:inline-block;color:#091622;background:var(--cyan);padding:3px 6px;margin-right:8px;font:700 9px var(--font-tech)}
.simulated-tag{background:#28364d;color:#cad6e3}
.caption-sep{margin:0 6px;color:#52647c}
.swiss-scroll{overflow:auto;overscroll-behavior-x:contain;padding-bottom:10px}
.swiss-board{display:grid;grid-template-columns:repeat(5,minmax(174px,1fr));min-width:980px;gap:9px;align-items:start}
.round-column{background:rgba(12,21,37,.68);border:1px solid #1a2b43;min-height:390px}
.round-header{height:59px;border-bottom:1px solid #1e2c41;display:flex;align-items:center;gap:9px;padding:0 9px;background:linear-gradient(90deg,rgba(36,64,104,.34),rgba(12,21,37,.1))}
.round-index{font:700 17px var(--font-display);color:var(--cyan)}
.round-header>div{min-width:0;flex:1}
.round-header>div b,.round-header>div small{display:block}
.round-header>div b{font:700 14px var(--font-display);white-space:nowrap}
.round-header>div small{margin-top:3px;color:#8291a6;font:600 9px var(--font-tech);white-space:nowrap}
.round-progress{font:600 10px var(--font-tech);color:#8b9bb0}
.round-progress.complete{color:var(--cyan)}
.round-matches{display:flex;flex-direction:column;gap:7px;padding:8px}
.match-card{border:1px solid #1b2a40;background:#0b1422;min-width:0}
.match-meta,.match-footer{display:flex;align-items:center;justify-content:space-between;padding:5px 7px;color:#8494a9;font:600 9px var(--font-tech)}
.match-meta{border-bottom:1px solid #19263a}
.match-meta span:last-child{color:#9bc4d6}
.match-teams{padding:3px 5px}
.team-pick{position:relative;width:100%;min-height:39px;display:flex;align-items:center;gap:7px;padding:3px 5px;background:transparent;border:1px solid transparent;text-align:left;color:#dbe4ec}
.team-pick+.team-pick{border-top-color:#1b293b}
.team-pick:hover{background:#13243a;border-color:#29425d}
.team-pick.is-winner{background:linear-gradient(90deg,rgba(27,100,127,.38),rgba(15,36,54,.15));border-color:#26748a}
.team-pick.is-loser{opacity:.48}
.team-logo{width:25px;height:25px;flex:none;display:grid;place-items:center;background:#0d1724;border:1px solid rgba(113,139,168,.21);overflow:hidden}
.team-logo img{display:block;max-width:85%;max-height:85%;width:auto;height:auto;object-fit:contain}
.team-logo b{font:700 9px var(--font-tech);color:var(--team-color)}
.team-pick-copy{display:flex;min-width:0;flex:1;align-items:center;justify-content:space-between;gap:3px}
.team-pick-copy b{font:700 12px var(--font-tech);color:#eff5f8}
.team-pick-copy small{font-size:8px;color:#8493a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:88px}
.pick-check{color:var(--cyan);font-size:11px}
.score-select{display:flex;gap:4px;padding:3px 7px 6px}
.score-choice{flex:1;height:22px;background:#101e30;border:1px solid #283950;color:#8f9fb2;font:600 10px var(--font-tech)}
.score-choice:disabled{opacity:.32;cursor:not-allowed}
.score-choice:not(:disabled):hover,.score-choice.chosen{border-color:#4abfd0;color:#64e2f0;background:#102d3a}
.match-footer{border-top:1px solid #19263a}
.match-footer span:last-child{color:#d0deeb}
.round-complete{color:#52d4e8;font:600 9px var(--font-tech);padding:3px 9px 9px;text-align:center}
.round-complete span{margin-left:3px}
.locked-column{background:repeating-linear-gradient(135deg,rgba(13,23,39,.72),rgba(13,23,39,.72) 8px,rgba(17,29,47,.5) 8px,rgba(17,29,47,.5) 16px)}
.locked-column .round-header{opacity:.8}
.round-lock{color:#708096}
.locked-body{min-height:278px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8b9aaf;gap:8px}
.lock-glyph{font-size:25px;color:#4e7397}
.locked-body b{font:700 14px var(--font-display)}
.locked-body small{font-size:9px;line-height:1.8;color:#728198}
.board-footnote{font-size:10px;color:#7f8da1;margin-top:11px;line-height:1.7}
.board-footnote span{color:var(--cyan);margin-right:4px}
.prediction-aside{display:flex;flex-direction:column;gap:11px}
.score-panel,.standing-panel,.elimination-panel{border:1px solid #1c2d43;background:rgba(13,23,38,.88);padding:13px}
.aside-heading,.panel-title{display:flex;align-items:center;justify-content:space-between}
.aside-heading{font:700 10px var(--font-tech);letter-spacing:1px;color:#92a5ba}
.aside-heading button{border:0;background:none;color:var(--cyan);font-size:16px}
.progress-number{display:flex;align-items:center;gap:9px;margin:13px 0 8px}
.progress-number strong{font:700 42px/.95 var(--font-display);color:#f0f7fb}
.progress-number>span{font:700 11px/13px var(--font-tech);color:#8fa0b6}
.progress-number small{font:500 9px system-ui;color:#8190a5}
.progress-track{height:3px;background:#1c2d42}
.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#3981ee,var(--cyan));transition:width .2s}
.predictor-line{display:flex;align-items:center;gap:8px;margin-top:12px}
.small-avatar{width:25px;height:25px;font-size:13px}
.predictor-line b{font-size:10px}
.predictor-line small{font:600 9px var(--font-tech);color:#8191a6;margin-top:2px}
.panel-title b{font:700 15px var(--font-display)}
.panel-title span{font:600 11px var(--font-tech);color:#8fa1b7}
.standing-group{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:5px;padding-top:10px}
.standing-record{font:700 11px var(--font-tech);color:#b5c5d5}
.standing-record.perfect{color:#f0cd70}
.standing-teams{display:flex;align-items:center;gap:3px;min-height:22px}
.team-logo.mini{width:18px;height:18px;background:#131f30}
.standing-teams>b{font:700 9px var(--font-tech);color:#cfdae4}
.standing-group>small{font-size:8px;color:#7c8ba0;text-align:right}
.empty-slots{font:600 10px var(--font-tech);color:#526278}
.eliminated-teams{display:flex;gap:9px;align-items:center;min-height:29px;margin-top:7px;flex-wrap:wrap}
.eliminated-teams>span{display:flex;align-items:center;gap:4px}
.eliminated-teams>span b{font:700 9px var(--font-tech);color:#b1bdca}
.eliminated-teams>small{color:#78899d;font-size:9px}
.champion-panel{position:relative;overflow:hidden;min-height:129px;border:1px solid #244a67;padding:14px;background:linear-gradient(120deg,#11233b,#0a1424 75%)}
.champion-panel:after{content:"";position:absolute;right:-10px;bottom:-38px;width:120px;height:120px;border:1px solid rgba(60,177,207,.2);transform:rotate(45deg);box-shadow:0 0 0 12px rgba(52,214,237,.025),0 0 0 24px rgba(52,214,237,.025)}
.champion-crown{position:absolute;right:12px;top:7px;color:#d4bd77;font-size:24px}
.champion-panel .section-kicker{font-size:9px}
.champion-panel>b,.champion-panel>small{display:block;position:relative;z-index:1}
.champion-panel>b{font:700 18px var(--font-display);margin-top:8px}
.champion-panel>small{font-size:9px;color:#9badc0;margin-top:4px}
.aside-note{color:#78889d;font-size:9px;line-height:1.6;margin:0}
.knockout-wrap,.schedule-view,.teams-view{padding-top:20px}
.knockout-head{display:flex;justify-content:space-between;align-items:center;color:#b9c7d5;font-size:12px;padding:0 2px 15px}
.knockout-head small{font-size:10px;color:#8090a5}
.knockout-bracket{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;overflow:auto;padding-bottom:10px}
.ko-column{min-width:220px}
.ko-header{height:55px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #26364b;margin-bottom:12px}
.ko-header>span{font:700 22px var(--font-display);color:var(--cyan)}
.ko-header b,.ko-header small{display:block}
.ko-header b{font:700 17px var(--font-display)}
.ko-header small{font:600 10px var(--font-tech);color:#8393a8;margin-top:2px}
.ko-matches{display:flex;flex-direction:column;justify-content:space-around;gap:14px;min-height:450px}
.ko-match{max-width:360px}
.ko-placeholder{height:88px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 14px;background:#0c1728;border:1px dashed #27384d;color:#74849a;font-size:9px}
.ko-placeholder b{font:700 12px var(--font-display);color:#40546f}
.bracket-note{border-top:1px solid #1c2a3d;padding-top:12px;color:#78899e;font-size:10px}
.empty-stage{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.empty-emblem{width:55px;height:55px;border:1px solid #28506b;display:grid;place-items:center;color:var(--cyan);font-size:25px;clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%);margin-bottom:18px}
.empty-stage h3{font:700 25px var(--font-display);margin:10px 0 4px}
.empty-stage p{font-size:11px;line-height:1.7;color:#8a9aae;max-width:390px}
.empty-stage .primary-button{margin-top:12px}
.schedule-top{display:flex;align-items:end;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #203047}
.schedule-top h3{font:700 25px var(--font-display);margin:5px 0 0}
.schedule-top h3 em{font-style:normal;color:var(--cyan)}
.filter-tabs,.segmented{display:flex;gap:3px;background:#0a1422;padding:3px;border:1px solid #1d2c41}
.filter-tabs button,.segmented button{border:0;background:transparent;color:#8192a7;padding:7px 11px;font-size:10px}
.filter-tabs button.on,.segmented button.on{background:#193149;color:#e8f2f7}
.segmented button{font-size:9px;padding:6px 9px}
.schedule-row{min-height:82px;display:grid;grid-template-columns:37px minmax(145px,190px) 1fr 95px 20px;align-items:center;gap:12px;border-bottom:1px solid #18273a;padding:10px 7px}
.schedule-index{font:700 17px var(--font-display);color:#63758c}
.schedule-date b,.schedule-date small,.schedule-event>span,.schedule-event>b,.schedule-event>small{display:block}
.schedule-date b{font:700 15px var(--font-tech);color:#e8f0f7}
.schedule-date small{color:#8191a7;font-size:9px;margin-top:4px}
.schedule-event>span{font:600 9px var(--font-tech);color:var(--cyan)}
.schedule-event>b{font:600 12px system-ui;margin-top:3px}
.schedule-event>small{font-size:9px;color:#8291a6;margin-top:3px}
.schedule-format{justify-self:end;color:#a7b7c7;font:700 12px var(--font-tech)}
.schedule-arrow{color:#71839a}
.schedule-source,.roster-source{font-size:10px;color:#8594a9;padding-top:15px}
.schedule-source a,.roster-source a{color:#68d9e9;margin-left:5px}
.teams-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px}
.teams-top p{margin:0;color:#8a99ad;font-size:10px}
.region-section{margin-top:16px}
.region-section>header{height:37px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #26364a}
.region-section>header b{font:700 17px var(--font-display);color:#f1f5f8}
.region-section>header small{font:600 10px var(--font-tech);color:#8293a8}
.region-section>header i{height:1px;background:linear-gradient(90deg,#334e69,transparent);flex:1}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:9px}
.roster-card{min-width:0;min-height:102px;display:grid;grid-template-columns:42px 1fr auto;grid-template-rows:20px 1fr;align-items:center;gap:6px;padding:9px 11px;background:#0c1625;border:1px solid #1a2a3e}
.roster-seed{grid-column:1/4;color:#8294a9;font:600 9px var(--font-tech)}
.roster-seed b{color:#b1c3d5;margin-left:3px}
.large-logo{width:37px;height:37px;border-color:#26364b;background:#101c2c}
.roster-name{min-width:0}
.roster-name b,.roster-name small{display:block}
.roster-name b{font-size:10px;line-height:1.4;max-height:28px;overflow:hidden}
.roster-name small{font:700 10px var(--font-tech);color:var(--cyan);margin-top:2px}
.roster-region{align-self:end;color:#8493a7;font:600 9px var(--font-tech);padding-bottom:2px}
.footer{min-height:100px;border-top:1px solid #1b2b40;padding:22px clamp(24px,4.5vw,78px);display:flex;align-items:center;gap:24px;background:#080f1b}
.footer-brand{display:flex;align-items:center;gap:9px;flex:none}
.footer-brand img{width:34px;height:34px;object-fit:contain}
.footer-brand>span{font-size:15px;line-height:14px}
.footer-brand small{font-size:8px}
.footer>p{font-size:9px;line-height:1.7;color:#74859a;max-width:520px;margin:0;flex:1}
.footer-links{display:flex;gap:17px}
.footer-links a{white-space:nowrap;color:#94a5b8;font-size:9px}
.footer-links a:hover{color:var(--cyan)}
.modal{position:fixed;max-height:min(86vh,780px);overflow:auto;width:min(610px,calc(100vw - 30px));padding:33px;border:1px solid #29415d;background:#0b1525;color:#e8eff5;box-shadow:0 25px 90px #000b}
.modal::backdrop{background:rgba(3,7,14,.78);backdrop-filter:blur(4px)}
.modal h2{font-size:32px;margin:8px 0 24px}
.modal-close{position:absolute;right:15px;top:13px;background:transparent;border:0;font-size:24px;color:#97a7b9}
.rule-intro{padding:14px 16px;border-left:2px solid var(--cyan);background:#101f32}
.rule-intro b,.rule-grid b{font:700 16px var(--font-display)}
.rule-intro p,.rule-grid p,.confirm-modal>p,.import-modal>p{font-size:11px;line-height:1.8;color:#9baabd;margin-bottom:0}
.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.rule-grid article{padding:13px;background:#0e1a2a;border:1px solid #1c2c40}
.rule-grid p{margin-top:6px}
.source-row{display:flex;justify-content:space-between;padding:10px 2px;border-top:1px solid #1e2c40;font-size:10px;color:#aebccc}
.source-row span{color:var(--cyan)}
.field-label{display:block;font-size:10px;color:#9cacc0;margin:13px 0 6px}
.profile-modal input{width:100%;height:41px;border:1px solid #2a3d55;background:#08111e;color:#edf3f7;padding:0 11px;font-size:12px;outline:0}
.profile-modal input:focus{border-color:#50bdd0}
.profile-id-row{display:flex;align-items:center;justify-content:space-between;margin:15px 0;padding:12px;background:#101d2d}
.profile-id-row small,.profile-id-row b{display:block}
.profile-id-row small{color:#8292a8;font-size:9px}
.profile-id-row b{font:700 14px var(--font-tech);color:var(--cyan);margin-top:4px}
.modal-note{font-size:10px;color:#8392a6;line-height:1.7}
.full-button{width:100%;margin-top:10px}
.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.file-drop{display:flex;align-items:center;justify-content:center;min-height:75px;border:1px dashed #3a5876;color:#b7c7d7;font-size:11px;margin-top:15px;cursor:pointer}
.file-drop input{position:absolute;opacity:0;pointer-events:none}
.form-message{color:#ffb2be;font-size:10px;min-height:15px}
.toast{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#d8f7fb;color:#06131e;padding:11px 17px;font-size:11px;box-shadow:0 8px 35px #0007;transition:opacity .15s,transform .15s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.roster-count{font-size:10px;color:#91a1b5}

@media(min-width:1600px){.prediction-layout{grid-template-columns:minmax(0,1fr) 280px}
.swiss-board{gap:12px}
.round-matches{padding:10px}
.match-card{margin-bottom:1px}
}

@media(max-width:1100px){.topbar{gap:24px}
.brand{min-width:200px}
.primary-nav{gap:17px}
.prediction-layout{grid-template-columns:minmax(0,1fr) 230px;gap:14px}
.swiss-board{grid-template-columns:repeat(5,190px);min-width:990px}
.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stage-tab{padding:0 12px}
.data-stamp{font-size:9px}
}

@media(max-width:760px){.topbar{height:63px;padding:0 15px;gap:10px;justify-content:space-between}
.brand{min-width:0;gap:7px}
.brand-mark{width:34px;height:34px}
.brand>span{font-size:16px}
.brand>span small{font-size:7px}
.primary-nav{display:none}
.top-actions{gap:10px}
.icon-button{font-size:10px}
.profile-copy,.chevron{display:none}
.hero{min-height:400px}
.hero-photo{background-position:60% 25%;background-image:linear-gradient(90deg,rgba(5,13,30,.88),rgba(5,13,30,.33)),linear-gradient(0deg,rgba(7,13,25,.73),transparent 60%),url('/assets/worlds-hero.jpg')}
.hero-content{padding:49px 22px 28px}
.eyebrow{font-size:9px}
.hero h1{font-size:65px;margin:27px 0 27px}
.hero-bottom{display:block}
.hero-bottom p{font-size:12px}
.hero-facts{margin-top:20px;padding-left:14px;gap:22px}
.hero-facts b{font-size:19px}
.event-strip{padding:12px 19px;gap:14px;min-height:72px}
.event-place{gap:8px}
.place-mark{width:30px;height:30px}
.event-place b{font-size:10px}
.event-place small{font-size:8px;max-width:190px}
.event-date{padding-left:12px;min-width:auto}
.event-date small{font-size:8px}
.event-date b{font-size:16px}
.event-date b span{display:block;font-size:8px;margin:0}
.official-link{display:none}
.workspace{padding:30px 14px 50px}
.section-heading{align-items:center;margin-bottom:18px}
.section-heading h2{font-size:33px}
.heading-actions{gap:4px}
.heading-actions .small-button{font-size:9px;padding:0 8px;min-height:32px}
.heading-actions .icon-plain{width:31px;height:32px}
.stage-tabs{height:54px;overflow:auto;scrollbar-width:none}
.stage-tabs::-webkit-scrollbar{display:none}
.stage-tab{padding:0 10px;font-size:10px;gap:6px}
.stage-tab small{display:none}
.tab-number{font-size:10px}
.tab-spacer,.data-stamp{display:none}
.prediction-layout{display:flex;flex-direction:column;padding-top:13px;gap:14px}
.prediction-aside{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.score-panel{grid-column:1/3}
.standing-panel,.elimination-panel{min-height:110px;padding:11px}
.champion-panel{grid-column:1/3;min-height:105px}
.aside-note{grid-column:1/3}
.swiss-board{grid-template-columns:repeat(5,208px);min-width:1080px;gap:9px}
.round-column{min-height:365px}
.round-header{height:54px}
.round-matches{gap:6px}
.board-caption{font-size:9px}
.board-caption>span{font-size:9px}
.knockout-head{align-items:flex-start;gap:8px}
.knockout-head small{max-width:150px;text-align:right;line-height:1.6}
.knockout-bracket{grid-template-columns:repeat(3,250px);gap:11px}
.ko-matches{min-height:360px}
.schedule-top{display:block}
.filter-tabs{margin-top:13px;width:max-content;max-width:100%;overflow:auto}
.filter-tabs button{padding:7px 9px;font-size:9px}
.schedule-row{grid-template-columns:22px minmax(105px,123px) 1fr 48px;gap:7px;min-height:80px;padding:9px 1px}
.schedule-index{font-size:14px}
.schedule-date b{font-size:13px}
.schedule-date small{font-size:8px}
.schedule-event>b{font-size:10px;line-height:1.4}
.schedule-event>small{font-size:8px}
.schedule-format{font-size:10px}
.schedule-arrow{display:none}
.schedule-source{font-size:9px;line-height:1.7}
.teams-top{display:block}
.teams-top p{margin:7px 0 0;font-size:9px}
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.roster-card{min-height:91px;padding:7px}
.roster-name b{font-size:9px}
.large-logo{width:32px;height:32px}
.footer{padding:18px;flex-wrap:wrap;gap:13px}
.footer>p{order:3;flex-basis:100%;max-width:none}
.footer-links{margin-left:auto;gap:10px}
.footer-links a{font-size:8px}
.modal{padding:27px 19px}
.modal h2{font-size:28px}
.rule-grid{gap:6px}
.rule-grid article{padding:10px}
.rule-intro p,.rule-grid p{font-size:10px}
}

@media(max-width:390px){.hero h1{font-size:58px}
.hero-facts{gap:15px}
.event-date{padding-left:8px}
.event-place small{max-width:145px}
.stage-tab{padding:0 8px}
.heading-actions .small-button:first-child{max-width:73px;overflow:hidden}
.team-grid{gap:5px}
.roster-card{grid-template-columns:36px 1fr auto;gap:5px;padding:6px}
.large-logo{width:30px;height:30px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}


/* Compact Swiss cards echo the side-by-side broadcast draw. */
.round-matches .match-teams{display:flex;align-items:center;gap:2px;padding:5px}

.round-matches .team-pick{width:50%;min-height:43px;gap:5px;padding:4px}

.round-matches .team-pick+.team-pick{border-top-color:transparent;border-left-color:#23354c}

.round-matches .team-pick.is-winner{border-color:#26748a}

.round-matches .team-pick-copy{display:block}

.round-matches .team-pick-copy b{font-size:15px;line-height:17px}

.round-matches .team-pick-copy small{display:block;font:600 8px var(--font-tech);margin-top:1px;max-width:none}

.round-matches .team-logo{width:25px;height:25px;border:0;background:transparent}

.round-matches .pick-check{position:absolute;right:2px;top:0;font-size:8px}

.round-matches .match-footer{font-size:8px;padding:4px 7px}

.round-matches .match-meta{padding:4px 7px}

.stage-tabs{position:sticky;top:0;z-index:3;background:#080f1d}

.standing-teams{flex-wrap:wrap}

@media(max-width:760px){.round-matches .team-pick-copy b{font-size:16px}
.round-matches .team-pick{min-height:44px}
.hero{min-height:380px}
}

@media(max-width:760px){
  .section-heading{flex-wrap:wrap;gap:14px;align-items:flex-start}
  .section-heading h2{white-space:nowrap}
  .heading-actions{width:100%;justify-content:flex-end}
  .heading-actions .small-button{white-space:nowrap;padding:0 12px}
  .heading-actions .small-button:first-child{max-width:none}
  .hero-photo{background-image:linear-gradient(90deg,rgba(5,13,30,.88),rgba(5,13,30,.33)),linear-gradient(0deg,rgba(7,13,25,.98),transparent 70%),url('/assets/worlds-hero.jpg')}
}
