:root{--ink:#f6f7ef;--muted:#aab6ad;--bg:#07110e;--surface:#0e1d18;--surface-2:#142721;--line:#ffffff1a;--lime:#d8ff3e;--lime-soft:#d8ff3e1f;--aqua:#63e7c2;--danger:#ff8a72;--radius:22px;--shadow:0 24px 80px #00000047}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--ink);margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin-top:0}.app-shell{overscroll-behavior:none;background:radial-gradient(circle at 75% -10%, #49b88b21, transparent 36%), var(--bg);height:100dvh;min-height:100svh;position:fixed;inset:0;overflow:hidden}.app-scroll{overscroll-behavior:none;scrollbar-gutter:stable;height:100%;overflow:auto}.public-page,.admin-page{width:min(100%,1040px);padding:0 max(18px, env(safe-area-inset-right)) calc(56px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));margin:0 auto}.hero{padding:calc(34px + env(safe-area-inset-top)) 0 28px;position:relative;overflow:hidden}.hero-glow{z-index:-1;background:radial-gradient(circle,#d8ff3e33,#d8ff3e00 68%);border-radius:50%;width:320px;height:320px;position:absolute;top:-100px;right:-100px}.brand-mark{width:58px;height:58px;color:var(--bg);background:var(--lime);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;display:grid;transform:rotate(-8deg);box-shadow:0 0 0 8px #d8ff3e14}.brand-mark span{letter-spacing:-1.5px;font-size:22px;font-weight:950;transform:rotate(8deg)}.eyebrow,.section-kicker{color:var(--lime);letter-spacing:.14em;text-transform:uppercase;margin:22px 0 8px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.055em;max-width:820px;margin-bottom:20px;font-size:clamp(40px,9vw,82px);font-weight:900;line-height:.95}.event-facts{color:#dbe2dc;flex-wrap:wrap;gap:8px;display:flex}.event-facts span{border:1px solid var(--line);text-transform:capitalize;background:#ffffff09;border-radius:999px;align-items:center;min-height:34px;padding:7px 12px;font-size:14px;display:inline-flex}.sync-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.connection-dot{background:var(--aqua);width:8px;height:8px;box-shadow:0 0 12px var(--aqua);border-radius:50%}.connection-dot.is-offline{background:var(--danger);box-shadow:none}.refresh-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:12px;min-height:44px;margin-left:auto;padding:0 14px;font-size:13px;font-weight:750}.refresh-button:disabled{opacity:.55}.section-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07110ee0;border-bottom:1px solid #ffffff0f;gap:6px;margin:0 -6px 28px;padding:10px 6px;display:flex;position:sticky;top:0;overflow-x:auto}.section-nav a{min-height:44px;color:var(--muted);white-space:nowrap;background:#ffffff0a;border-radius:999px;align-items:center;padding:0 15px;font-size:13px;font-weight:750;display:inline-flex}.section-nav a:active{color:var(--bg);background:var(--lime)}.content-section{margin:0 0 62px;scroll-margin-top:76px}.section-heading,.admin-card-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.section-heading h2,.admin-card-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(27px,6vw,42px);line-height:1}.section-heading .section-kicker,.admin-card-heading .section-kicker{margin:0 0 7px}.section-count{color:var(--muted);font-size:13px}.round-list{gap:26px;display:grid}.round-block{gap:10px;display:grid}.round-label{justify-content:space-between;align-items:center;padding:0 3px;display:flex}.round-label span{letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:850}.round-label small{color:var(--muted)}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.match-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg,#ffffff0e,#ffffff06);min-width:0;padding:14px;box-shadow:0 10px 34px #0000001f}.match-card.is-live{border-color:#63e7c273;box-shadow:0 0 0 1px #63e7c214,0 14px 40px #00000040}.match-card-topline{justify-content:space-between;align-items:start;gap:8px;min-height:28px;margin-bottom:8px;display:flex}.status-pill{min-height:25px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;border-radius:999px;align-items:center;padding:4px 9px;font-size:10px;font-weight:850;display:inline-flex}.status-in_progress{color:var(--aqua);background:#63e7c21a}.status-completed{color:var(--lime);background:var(--lime-soft)}.tie-break-note{color:var(--muted);font-size:11px}.team-row{color:#c8d0ca;border-top:1px solid #fff1;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;min-width:0;min-height:48px;display:grid}.team-row span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.team-row strong{text-align:right;font-size:24px}.team-row.is-winner{color:var(--ink)}.team-row.is-winner span{font-weight:850}.team-row.is-winner strong{color:var(--lime)}.standings-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.standings-head,.standing-row{grid-template-columns:38px minmax(0,1fr) 36px 44px;align-items:center;gap:8px;display:grid}.standings-head{min-height:38px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#ffffff08;padding:0 14px;font-size:10px;font-weight:800}.standing-row{border-top:1px solid var(--line);min-height:74px;padding:11px 14px}.standing-row .rank{width:31px;height:31px;color:var(--bg);background:var(--lime);border-radius:50%;place-items:center;display:grid}.standing-row>div{min-width:0}.standing-row>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.standing-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.standing-row .draw-note{color:var(--lime)}.standing-row>strong:not(.rank){text-align:center}.positive{color:var(--aqua)}.standings-legend{color:var(--muted);margin:11px 4px 0;font-size:11px;line-height:1.5}.final-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px 3px;font-size:12px}.podium-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.podium-summary p{border-radius:var(--radius);color:var(--bg);background:var(--lime);flex-direction:column;margin:0;padding:18px;display:flex}.podium-summary p+p{background:var(--aqua)}.podium-summary span{letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:850}.podium-summary strong{margin-top:4px;font-size:19px}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.rules-grid li{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff08;align-items:flex-start;gap:14px;padding:18px;display:flex}.rules-grid li>span{height:38px;color:var(--bg);background:var(--lime);border-radius:12px;flex:0 0 38px;place-items:center;font-size:13px;font-weight:900;display:grid}.rules-grid strong{font-size:15px}.rules-grid p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.site-footer{padding:24px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;display:flex}.site-footer>div{flex-direction:column;gap:4px;display:flex}.site-footer span{color:var(--muted);font-size:12px}.install-button,.ios-install summary{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:13px;align-items:center;min-height:44px;padding:0 15px;font-size:13px;font-weight:800;display:inline-flex}.ios-install{max-width:250px}.ios-install p{color:var(--muted);font-size:12px;line-height:1.4}.update-toast{z-index:100;right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));min-height:48px;color:var(--bg);background:var(--lime);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:14px;padding:0 16px;font-weight:850;position:fixed}.admin-login-page,.state-page{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));align-content:center;justify-items:center;display:grid}.admin-login-page .back-link{top:calc(18px + env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left));position:absolute}.admin-login-card{border:1px solid var(--line);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow);border-radius:28px;padding:clamp(24px,6vw,40px)}.admin-login-card h1,.state-page h1{letter-spacing:-.05em;margin-bottom:12px;font-size:clamp(34px,8vw,52px);line-height:1}.admin-login-card>p:not(.eyebrow),.state-page>p:not(.eyebrow){color:var(--muted);line-height:1.55}.admin-login-card label{color:var(--muted);gap:7px;margin-top:24px;font-size:12px;font-weight:750;display:grid}.back-link{min-height:44px;color:var(--muted);align-items:center;font-size:13px;font-weight:750;display:inline-flex}.primary-button,.secondary-button,.small-button,.danger-button{cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:850;display:inline-flex}.primary-button{width:100%;color:var(--bg);background:var(--lime);margin-top:16px}.secondary-button{color:var(--bg);background:var(--lime)}.small-button{min-height:44px;color:var(--bg);background:var(--lime)}.small-button.is-quiet{color:var(--ink);background:var(--surface-2);border:1px solid var(--line)}.danger-button{color:#2b0904;background:var(--danger)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #d8ff3e8c}input,select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#091611;border-radius:12px;padding:0 12px;font-size:16px}input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--lime)}.admin-page{padding-top:calc(24px + env(safe-area-inset-top))}.admin-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.admin-header h1{letter-spacing:-.05em;margin:8px 0 5px;font-size:clamp(36px,8vw,64px);line-height:1}.admin-header p{color:var(--muted);margin:0}.admin-header-actions{gap:8px;display:flex}.admin-card{border:1px solid var(--line);background:var(--surface);border-radius:24px;margin-bottom:18px;padding:clamp(16px,4vw,26px);box-shadow:0 14px 46px #00000024}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-card-heading{grid-column:1/-1;align-items:center}.admin-card-heading h2{font-size:30px}.form-grid label,.team-editor label,.match-editor label{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.field-span{grid-column:1/-1}.checkbox-field{align-items:center;min-height:44px;gap:10px!important;display:flex!important}.form-actions{justify-content:flex-end;align-items:center;gap:12px;min-height:46px;display:flex}.save-message{color:var(--aqua);margin:0 auto 0 0;font-size:12px}.save-message.is-error,.inline-message.is-error{color:var(--danger)}.inline-message{color:var(--aqua);background:#63e7c20f;border:1px solid #63e7c240;border-radius:12px;padding:12px 14px;font-size:13px}.inline-message.is-error{background:#ff8a720f;border-color:#ff8a7240}.team-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.team-editor{border:1px solid var(--line);background:#ffffff06;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px;display:grid}.team-editor>strong,.team-editor .form-actions{grid-column:1/-1}.match-editor-list{gap:12px;display:grid}.match-editor{border:1px solid var(--line);background:#ffffff06;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.match-editor-title,.match-editor .score-inputs,.match-editor .form-actions{grid-column:1/-1}.match-editor-title small{color:var(--lime);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:850;display:block}.match-editor-title strong{font-size:16px}.match-editor-title strong span{color:var(--muted);margin:0 6px;font-weight:500}.score-inputs{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:8px;display:grid}.score-inputs>span{min-height:48px;color:var(--muted);place-items:center;display:grid}.score-inputs input{text-align:center;font-size:22px;font-weight:900}.tie-inputs{background:var(--lime-soft);border-radius:14px;padding:12px}.admin-hint{color:var(--muted);font-size:13px;line-height:1.5}.state-page{text-align:center;max-width:620px;margin:0 auto}.state-page .brand-mark{margin-bottom:16px}.state-page .primary-button{width:auto}@media (max-width:700px){.match-grid,.rules-grid,.podium-summary,.team-editor-grid{grid-template-columns:1fr}.hero h1{max-width:540px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header-actions{width:100%}.admin-header-actions button{flex:1}}@media (max-width:480px){.public-page,.admin-page{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.hero{padding-top:calc(24px + env(safe-area-inset-top))}.hero h1{margin-top:16px}.event-facts{display:grid}.event-facts span{width:fit-content}.sync-row .refresh-button{width:100%;margin-left:0}.section-nav{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.content-section{margin-bottom:48px}.form-grid,.match-editor{grid-template-columns:1fr}.form-grid>*,.match-editor>*{grid-column:1!important}.team-editor{grid-template-columns:1fr}.team-editor>*{grid-column:1!important}.site-footer{flex-direction:column;align-items:flex-start}}@media (max-height:520px) and (orientation:landscape){.hero{padding-top:calc(16px + env(safe-area-inset-top))}.hero h1{font-size:42px}.section-nav{padding-top:6px;padding-bottom:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
