:root{--bg: #07140d;--surface: #0d1f15;--surface-strong: #123121;--surface-soft: #163827;--text: #f4f7f4;--text-muted: #c6d2c9;--line: rgba(255, 255, 255, .1);--accent: #64d26f;--accent-strong: #9bf34b;--danger: #ff6767;--warning: #ffd166;--shadow: 0 18px 50px rgba(0, 0, 0, .22);--radius: 20px;--max-width: 1240px;font-family:Segoe UI,Helvetica Neue,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(100,210,111,.12),transparent 35%),linear-gradient(180deg,#06110c,#0a1811)}:root[data-theme=light]{--bg: #f4f8f2;--surface: #ffffff;--surface-strong: #edf7ef;--surface-soft: #f6fbf5;--text: #102215;--text-muted: #54665a;--line: rgba(16, 34, 21, .1);--accent: #117d37;--accent-strong: #0c9b43;--danger: #c83b3b;--warning: #ab6c00;--shadow: 0 18px 50px rgba(16, 34, 21, .12)}:root[data-theme=system]{color-scheme:light dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}button,input,select{font:inherit}.app-shell{min-height:100vh}.centered-shell{display:grid;place-items:center;padding:24px}.page{width:min(100%,var(--max-width));margin:0 auto;padding:20px 16px 120px}.page-header,.hero-panel{display:grid;gap:14px;margin-bottom:20px}.tournament-header{gap:12px;margin-bottom:16px}.tournament-header-card{display:grid;gap:12px;padding:14px 0 0}.tournament-hero-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.tournament-title-block{display:grid;gap:6px;min-width:0}.tournament-meta-card{padding-top:2px}.hero-panel{padding:28px 22px;background:linear-gradient(135deg,#64d26f33,#0d1f15a6),var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.hero-copy{max-width:56ch;color:var(--text-muted)}.home-hero-panel{gap:18px}.home-choice-grid{display:grid;gap:14px}.hero-actions,.row{display:flex;gap:12px;flex-wrap:wrap}.space-between{justify-content:space-between}.align-start{align-items:flex-start}.stack{display:grid;gap:16px}.large-stack{gap:20px}.small-gap{gap:8px}.bottom-action-bar{position:sticky;bottom:12px;display:flex;gap:12px;justify-content:flex-end;padding:14px;border-radius:22px;background:#07140dd9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line)}.sticky-header{position:sticky;top:0;z-index:3;padding-top:14px;padding-bottom:12px;background:linear-gradient(180deg,var(--bg) 72%,transparent)}.bracket-shell{display:grid;gap:14px}.bracket-view{--round-gap: 26px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(84vw,84vw);gap:var(--round-gap);overflow-x:auto;padding:2px 10vw 18px 0;scroll-snap-type:x proximity;align-items:start}.round-column{display:grid;gap:14px;align-content:start;position:relative;scroll-snap-align:start}.round-header{position:sticky;top:144px;z-index:2;padding:14px 16px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--line)}.round-ties{--tie-gap: 18px;display:grid;gap:var(--tie-gap);position:relative}.segment-control{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.segment-control button{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:10px 14px;border-radius:999px;white-space:nowrap}.segment-control button.active{background:var(--accent);color:#07140d;border-color:transparent;font-weight:700}@media (min-width: 900px){.page{padding:28px 24px 120px}.home-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.tournament-header{gap:16px;margin-bottom:18px}.tournament-header-card{gap:14px;padding:18px 20px 0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--surface);box-shadow:var(--shadow)}.tournament-hero-row{gap:18px;align-items:center}.tournament-title-block{gap:8px}.tournament-meta-card{max-width:90ch}.tournament-filter-bar{padding:4px 2px 0}.bracket-shell{gap:18px}.bracket-view{grid-auto-columns:minmax(320px,360px);padding-right:18px}.round-header{top:24px}}@media (max-width: 680px){.page{padding-top:14px}.home-hero-panel{padding:22px 18px;gap:16px}.tournament-header{position:static;gap:10px;margin-bottom:14px}.tournament-header-card{padding-top:0;gap:10px}.tournament-hero-row{gap:10px}.tournament-filter-bar{padding-top:2px;padding-bottom:6px}.bracket-shell{gap:12px}.bracket-view{padding-top:0}.round-header{top:auto;position:relative}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;min-height:48px;padding:0 18px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#06110c;font-weight:800}.button.secondary{background:var(--surface-strong);color:var(--text);border:1px solid var(--line)}.button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.button.danger{background:var(--danger);color:#fff;font-weight:700}.full-width{width:100%}.icon-button{width:48px;padding:0}.input{width:100%;min-height:48px;padding:12px 14px;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:14px}.compact-select{width:auto}.field{display:grid;gap:8px}.field.compact span{font-size:.9rem}.eyebrow{margin:0;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,6vw,3.6rem);line-height:.96}h2{font-size:clamp(1.4rem,4vw,2.2rem)}h3{font-size:1.1rem}.subtle,.card-meta,.winner-text{color:var(--text-muted)}.global-message,.validation-message{margin:16px auto 0;width:min(100%,var(--max-width));padding:14px 16px;border-radius:16px;background:#ffd16624;border:1px solid rgba(255,209,102,.4)}.validation-message{margin:0}.tournament-list,.team-list{display:grid;gap:14px}.tournament-card.selected{outline:2px solid rgba(100,210,111,.5)}.card-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.team-row{display:grid;grid-template-columns:38px 1fr auto 48px;gap:10px;align-items:center}.order-actions{display:flex;gap:8px}.team-number{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--surface-strong);font-weight:700}.toggle-row{display:flex;gap:10px;align-items:center}.winner-banner{margin-bottom:18px;padding:20px;border-radius:24px;background:linear-gradient(135deg,#9bf34b2e,#117d3742),var(--surface);border:1px solid rgba(155,243,75,.25)}.summary-grid{display:grid;gap:12px;margin-top:16px}.summary-label{display:block;margin-bottom:4px;color:var(--text-muted);font-size:.85rem}.tie-card{display:grid;gap:12px;padding:16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--surface);position:relative}.tie-card.is-complete{border-color:#64d26f57;box-shadow:var(--shadow),0 0 0 1px #64d26f1f inset}.tie-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tie-format-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#ffffff0f;color:var(--text-muted);font-size:.78rem;font-weight:700}.team-lane{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface-soft);border:1px solid transparent}.team-lane.winner{background:linear-gradient(135deg,#64d26f2e,#64d26f0f);border-color:#64d26f59}.team-lane-main{display:grid;gap:6px;min-width:0}.team-lane-main strong{line-height:1.2}.winner-mark{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:0 8px;border-radius:999px;background:#06110c8c;color:var(--accent-strong);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.team-score{min-width:42px;min-height:42px;display:grid;place-items:center;border-radius:12px;background:#0000002e;font-size:1.05rem;font-weight:800}.tie-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.tie-result-label{margin-bottom:4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.aggregate-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#64d26f24;border:1px solid rgba(100,210,111,.24);font-weight:700}.bracket-intro{display:grid;gap:10px;padding:16px 18px}.bracket-intro h2{max-width:22ch}.tie-slot{position:relative}.tie-slot.has-next-round:after{content:"";position:absolute;top:50%;right:-14px;width:16px;border-top:2px solid rgba(100,210,111,.45);transform:translateY(-50%)}.tie-slot.pair-top:before,.tie-slot.pair-bottom:before{content:"";position:absolute;right:-14px;width:0;border-right:2px solid rgba(100,210,111,.45)}.tie-slot.pair-top:before{top:50%;height:calc(50% + 9px)}.tie-slot.pair-bottom:before{top:-9px;height:calc(50% + 9px)}.round-arrow{position:absolute;top:64px;right:-16px;z-index:2;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#06110c;font-size:1rem;font-weight:900;box-shadow:var(--shadow)}.versus{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center}.versus-chip{display:inline-flex;justify-content:center;align-items:center;width:fit-content;margin:-2px auto;min-height:24px;padding:0 10px;border-radius:999px;background:#ffffff0d;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.aggregate{font-weight:700}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid var(--line)}.status-badge.completed,.status-badge.active,.status-badge.ready{background:#64d26f29}.status-badge.pending,.status-badge.in_progress{background:#ffd16626}.status-badge.bye{background:#ffffff14}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:end center;background:#0208058c;padding:16px}.dialog{width:min(100%,720px)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.impact-warning{padding:12px 14px;border-radius:16px;background:#ffd1661f;border:1px solid rgba(255,209,102,.35)}.match-editor{display:grid;gap:16px;max-height:calc(100vh - 32px);overflow:auto}.leg-section{display:grid;gap:12px;padding:14px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.empty-state{display:grid;gap:14px;text-align:left}.league-table-wrap{overflow-x:auto}.league-table{width:100%;border-collapse:collapse;min-width:640px}.league-table th,.league-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.league-table th:last-child,.league-table td:last-child{font-weight:800}.leader-row td{background:#64d26f14}.league-match-list{display:grid;gap:12px}.league-match-card{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.rename-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-rename-row{gap:8px}.back-button{width:fit-content}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.home-choice-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--line);border-radius:26px;padding:20px;text-align:left;cursor:pointer;display:grid;gap:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--surface);color:var(--text);box-shadow:var(--shadow);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.home-choice-card:hover{transform:translateY(-2px);border-color:#64d26f59;box-shadow:var(--shadow),0 0 0 1px #64d26f1f inset}.home-choice-card:focus-visible{outline:2px solid rgba(100,210,111,.5);outline-offset:3px}.home-choice-card.tournament-choice{background:radial-gradient(circle at top right,rgba(100,210,111,.12),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--surface)}.home-choice-card.league-choice{background:radial-gradient(circle at top right,rgba(255,209,102,.14),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.04),transparent),var(--surface)}.home-choice-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#ffffff0f;font-size:1.5rem;font-weight:900}.home-choice-content{display:grid;gap:8px}.home-choice-title{font-size:clamp(1.35rem,4vw,1.9rem);line-height:1.02;font-weight:800}.home-choice-copy{color:var(--text-muted);line-height:1.5;max-width:32ch}.home-choice-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;width:fit-content;border-radius:999px;background:#64d26f24;border:1px solid rgba(100,210,111,.2);color:var(--text);font-weight:700}@media (max-width: 680px){.card-actions,.dialog-actions,.hero-actions,.bottom-action-bar{flex-direction:column}.dialog-backdrop{place-items:end stretch;padding:0}.dialog{width:100%;border-radius:24px 24px 0 0}h1{font-size:clamp(1.85rem,11vw,2.8rem);line-height:.98}h2{font-size:clamp(1.2rem,7vw,1.6rem);line-height:1.05}.tournament-title-block .eyebrow{margin-bottom:2px}.tie-footer{align-items:stretch;flex-direction:column}.round-arrow{right:-10px}.bracket-intro{gap:8px;padding:14px 16px}.bracket-intro-copy{font-size:.95rem;line-height:1.4}.segment-control{gap:6px}.segment-control button{min-height:42px;padding:8px 12px}.status-badge{min-height:28px;padding:0 10px;font-size:.74rem}.home-choice-card{padding:18px;gap:16px}.home-choice-copy{max-width:none}.home-choice-cta{width:100%}}@media (min-width: 900px){.back-button{min-height:42px;padding:0 16px}.compact-rename-row{gap:10px;align-items:center}.bracket-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding:18px 20px}.bracket-intro-copy{max-width:34ch;text-align:right;line-height:1.45}}
