
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Outfit:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#10161f;--surface:#1a2431;--line:#303d4e;--muted:#9aaabc;--ink:#f4f6fa;--accent:#d7f56d;--danger:#ff9c9c;font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit}button,.button{cursor:pointer;border:1px solid transparent;background:var(--accent);color:#16200a;border-radius:9px;padding:10px 16px;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{filter:brightness(1.08)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}button.danger{background:transparent;border-color:#654043;color:var(--danger)}button.ghost{background:transparent;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,select{width:100%;min-height:46px;color:var(--ink);background:#111b27;border:1px solid var(--line);border-radius:8px;padding:10px 12px}input:disabled{opacity:.6}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent)}label{display:grid;gap:8px;color:var(--muted);font-size:14px}h1,h2,h3,p{margin:0}h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(42px,6vw,72px);line-height:1.05;letter-spacing:-.02em;overflow-wrap:anywhere}h2{font-size:24px;line-height:1.3}h3{font-size:18px}p{line-height:1.6;color:var(--muted)}small{color:var(--muted);line-height:1.5}strong{font-weight:600}.match-form-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:24px}.match-format-form{padding-top:20px;border-top:1px solid var(--line);min-width:0}.match-format-form h3{margin-bottom:6px}.match-format-form small{display:block;margin:8px 0}.match-format-form fieldset:disabled{opacity:.55}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:12px;font-size:18px}main{max-width:1280px;margin:auto;padding:40px 32px 64px;min-height:calc(100dvh - 170px)}.masthead{min-height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-.04em;text-decoration:none;flex-shrink:0}.brand span{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding-left:18px;border-left:1px solid var(--line);margin-left:10px}nav{display:flex;flex-wrap:wrap;gap:6px}nav button{background:transparent;color:var(--muted);font-size:14px}nav button[aria-current=page]{color:var(--accent);background:#263020}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.heading p{margin-top:12px;max-width:650px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.stack{display:grid;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.panel h2{margin-bottom:18px}.muted{color:var(--muted)}.accent{color:var(--accent)}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{grid-column:1/-1}.form-footer{padding-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.error{color:var(--danger);background:#321e26;border:1px solid #63434a;padding:12px;border-radius:8px;margin-top:14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.error:empty{display:none}.empty{padding:40px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px}.empty h2{margin-bottom:10px}.login{max-width:460px;margin:clamp(20px,5vh,80px) auto}.login h1{margin-bottom:16px}.login form{margin-top:28px}.login label+label{margin-top:18px}.login .button,.login form>button{width:100%;margin-top:22px}.table-list{display:grid;gap:0}.list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.list-row:first-child{padding-top:0}.list-row:last-child{border:0;padding-bottom:0}.list-row h3{overflow-wrap:anywhere;margin-bottom:5px}.list-row .actions{flex-shrink:0}.badge{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:7px}.badge:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.badge.closed{color:var(--muted)}.meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:22px}.toolbar input{max-width:420px}.player-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:18px 0;border-bottom:1px solid var(--line)}.player-edit:first-child{padding-top:0}.seed-row{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.seed-number{font-family:'Barlow Condensed',sans-serif;font-size:24px;color:var(--accent);width:28px;flex-shrink:0}.seed-name{flex:1;overflow-wrap:anywhere;min-width:0}.seed-row button{min-width:44px;padding:8px}.seed-pick{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 0}.seed-pool{max-height:350px;overflow:auto}.share{display:flex;gap:10px;margin:20px 0}.share input{min-width:0}.locked{border-left:3px solid var(--accent);padding:12px 16px;background:#222d25;color:var(--muted);line-height:1.5;margin-bottom:16px}.count-strip{display:flex;gap:32px;flex-wrap:wrap;padding:20px 0 28px;margin-bottom:24px;border-bottom:1px solid var(--line)}.count-strip strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:38px;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.count-strip small{text-transform:uppercase;font-size:11px;letter-spacing:.1em}.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:18px;margin-top:20px}.match-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.match-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;font-size:12px;color:var(--muted)}.score-player{display:grid;grid-template-columns:minmax(0,1fr) 48px 48px 72px;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.score-player strong{overflow-wrap:anywhere}.score-player .score{font-family:'Barlow Condensed',sans-serif;font-size:38px;text-align:center}.score-player .remainder{text-align:right;color:var(--accent)}.score-labels{display:grid;grid-template-columns:minmax(0,1fr) 48px 48px 72px;gap:8px;text-align:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.score-labels span:last-child{text-align:right}.throwing:before{content:'› ';color:var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 18px}.rounds{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start}.round h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.fixture{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px;background:var(--surface)}.fixture-name{padding:12px;display:flex;gap:8px;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.fixture-name:last-child{border:0}.fixture-name span{overflow-wrap:anywhere}.fixture-name.winner{background:#263020;color:var(--accent)}.fixture-status{padding:7px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line)}.champion{border-left:4px solid var(--accent);padding:18px 22px;background:#253020;margin-bottom:24px}.champion strong{font-family:'Barlow Condensed',sans-serif;font-size:38px;display:block;margin-top:4px}.update-status{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:13px}.update-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.update-status.offline{color:var(--danger)}.offline .update-dot{background:var(--danger)}footer{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:16px;padding:24px 32px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;max-width:460px;width:calc(100% - 32px)}dialog::backdrop{background:#060a10bb}dialog p{margin:16px 0 24px}dialog .actions{justify-content:flex-end}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);border-radius:10px;color:#16200a;background:var(--accent);padding:12px 20px;box-shadow:0 8px 32px #0005;display:none;z-index:10}.skip{position:fixed;left:16px;top:-80px;background:var(--accent);color:#16200a;padding:12px;z-index:20}.skip:focus{top:10px}.loading{padding:60px 0;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.masthead{align-items:flex-start;flex-direction:column;padding:18px 20px}.brand span{font-size:10px;padding-left:10px;margin-left:4px}nav{width:100%}nav button{flex:1;padding:10px 8px}main{padding:28px 20px 44px}.heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}.split{grid-template-columns:1fr}.panel{padding:20px}.list-row{align-items:flex-start;flex-direction:column;gap:14px}.form-grid{gap:14px}.player-edit{grid-template-columns:1fr 1fr}.player-edit .actions{grid-column:1/-1}.count-strip{gap:26px}.score-player,.score-labels{grid-template-columns:minmax(0,1fr) 38px 38px 58px;gap:5px}.score-player .score{font-size:32px}.share{flex-wrap:wrap}.share input{flex-basis:100%}footer{padding:24px 20px}footer span{display:none}}
@media(prefers-reduced-motion:no-preference){button,.button{transition:filter .15s,background .15s}.match-card{animation:appear .2s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
