@import"https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@700;800;900&family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap";:root{--color-paper: oklch(13% .018 55);--color-paper-2: oklch(17% .022 55);--color-paper-3: oklch(22% .024 55);--color-paper-4: oklch(28% .026 55);--color-ink: oklch(94% .012 75);--color-ink-2: oklch(78% .018 75);--color-muted: oklch(66% .018 70);--color-rule: oklch(34% .03 58);--color-rule-2: oklch(44% .04 58);--color-accent: oklch(72% .17 48);--color-accent-ink: oklch(15% .02 55);--color-focus: oklch(80% .15 85);--color-success: oklch(72% .15 150);--color-warning: oklch(80% .14 85);--color-danger: oklch(66% .19 24);--color-info: oklch(72% .13 235);--font-display: "Big Shoulders Display", "Arial Narrow", Impact, ui-sans-serif, sans-serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-outlier: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--text-display: clamp(2.75rem, 5vw + .75rem, 5.4rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-thin: 1px;--rule-thick: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-whisper: 0 1px 2px oklch(9% .02 55 / .35)}*{box-sizing:border-box}html,body{margin:0;min-width:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}body{min-height:100svh}button,input,select{font:inherit}button{cursor:pointer}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(100%,1560px);margin-inline:auto;padding:var(--space-md)}.topbar{display:grid;gap:var(--space-lg);padding:var(--space-md) 0 var(--space-lg);border-bottom:var(--rule-thick) solid var(--color-ink)}.brand-block{min-width:0}.issue-line{display:block;color:var(--color-accent);font-family:var(--font-outlier);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display);font-size:var(--text-display);line-height:1.02;text-transform:uppercase;overflow-wrap:anywhere;max-width:10ch}.brand-block p{color:var(--color-ink-2);max-width:58ch;margin-top:var(--space-sm)}.nav-actions,.segmented,.score-pair,.search-box,.select-box,.champion-callout,.page-footer{display:flex;align-items:center}.nav-actions{gap:var(--space-xs);flex-wrap:wrap}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);padding:0 var(--space-md);color:var(--color-ink);background:var(--color-paper-2);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}.button.solid{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);font-weight:700}@media(hover:hover)and (pointer:fine){.button:hover,.segmented button:hover{transform:translateY(-1px)}}.button:active,.segmented button:active{transform:translateY(1px)}.control-deck{display:grid;gap:var(--space-sm);margin-block:var(--space-lg)}.segmented{min-width:0;gap:var(--space-2xs);padding:var(--space-2xs);background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg)}.segmented button{min-height:40px;flex:1 1 auto;border:0;border-radius:var(--radius-md);padding:0 var(--space-sm);color:var(--color-ink-2);background:transparent;white-space:nowrap;transition:transform .1s var(--ease-out),background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.segmented button.is-active{color:var(--color-accent-ink);background:var(--color-accent);font-weight:700}.toggle-card,.search-box,.select-box{min-height:52px;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2)}.toggle-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm)}.toggle-card input{width:1.2rem;height:1.2rem;accent-color:var(--color-accent)}.toggle-card span{display:grid;gap:var(--space-2xs)}.toggle-card small,.section-heading p,.qualification-panel p,.seed-chip small,.ko-status,.page-footer{color:var(--color-muted)}.search-box,.select-box{gap:var(--space-xs);padding-inline:var(--space-sm)}.search-box input,.select-box select{width:100%;min-width:0;min-height:44px;color:var(--color-ink);background:transparent;border:0}.scoreboard-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-xl)}.stat-tile{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xs) var(--space-sm);align-items:center;min-width:0;padding:var(--space-md);background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg)}.stat-tile strong{grid-column:1 / -1;font-family:var(--font-display);font-size:var(--text-2xl);line-height:.95;font-variant-numeric:tabular-nums}.stat-tile span{color:var(--color-ink-2);min-width:0}.tone-accent svg{color:var(--color-accent)}.tone-info svg{color:var(--color-info)}.workbench-grid,.groups-section{display:grid;gap:var(--space-lg)}.groups-column{min-width:0}.section-heading{display:grid;gap:var(--space-xs);margin-bottom:var(--space-md)}.section-heading h2,.qualification-panel h2,.round-column h3{font-family:var(--font-display);text-transform:uppercase;font-size:var(--text-2xl);line-height:1.02}.groups-grid{display:grid;gap:var(--space-md)}.group-card,.qualification-panel,.bracket-section{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);box-shadow:var(--shadow-whisper)}.group-card{overflow:clip}.group-card__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--color-paper-3);border-bottom:var(--rule-thin) solid var(--color-rule)}.group-card__head div{display:grid;gap:var(--space-2xs)}.group-card__head span,.group-card__head small{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.group-card__head strong{font-family:var(--font-display);font-size:var(--text-3xl);line-height:1.02}.match-list{display:grid;gap:0}.match-row{display:grid;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule)}.match-row.is-locked{background:linear-gradient(90deg,oklch(72% .17 48 / .08),transparent 26%),var(--color-paper-2)}.match-row__teams{display:grid;gap:var(--space-xs);min-width:0}.team-name{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-ink)}.team-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-name.is-muted,.team-name.is-empty{color:var(--color-muted)}.team-flag{width:32px;height:24px;flex:0 0 auto;object-fit:cover;border:var(--rule-thin) solid var(--color-rule-2)}.flag-fallback{width:18px;height:18px;color:var(--color-muted)}.score-pair{gap:var(--space-xs);font-family:var(--font-outlier);font-variant-numeric:tabular-nums}.score-input{width:3.25rem;min-height:44px;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);outline:2px solid transparent;outline-offset:1px;text-align:center;color:var(--color-ink);background:var(--color-paper)}.score-input:focus-visible{outline-color:var(--color-focus)}.score-input:disabled{opacity:.5;cursor:not-allowed}.match-actions{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.predict-btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:0 var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);color:var(--color-ink);background:var(--color-paper-3);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform .1s var(--ease-out)}@media(hover:hover)and (pointer:fine){.predict-btn:hover:not(:disabled){color:var(--color-accent-ink);background:var(--color-accent);transform:translateY(-1px)}}.predict-btn:active:not(:disabled){transform:translateY(1px)}.predict-btn:disabled{opacity:.58;cursor:not-allowed}.mini-loader{width:.9rem;height:.9rem;border:var(--rule-thick) solid var(--color-rule-2);border-top-color:var(--color-accent);border-radius:var(--radius-pill);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.prediction-result{margin:0;min-height:1lh;padding:var(--space-xs);color:var(--color-ink);background:var(--color-paper);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.45}.prediction-result small{color:var(--color-muted)}.prediction-result a{color:var(--color-accent);text-underline-offset:2px}.prediction-result.is-error{color:var(--color-danger)}.status-pill,.tag{width:max-content;display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-xs);border-radius:var(--radius-pill);border:var(--rule-thin) solid var(--color-rule-2);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.status-terminé,.tag-win{color:var(--color-success)}.status-en-cours,.tag-run{color:var(--color-info)}.status-à-jouer,.tag-out{color:var(--color-muted)}.tag-third{color:var(--color-warning)}.standings-table{display:grid;padding:var(--space-sm) var(--space-md) var(--space-md)}.standings-table__row{display:grid;grid-template-columns:2rem minmax(7rem,1fr) 2rem 3rem 3rem 4rem;gap:var(--space-xs);align-items:center;min-width:0;padding-block:var(--space-xs);border-bottom:var(--rule-thin) solid var(--color-rule);font-variant-numeric:tabular-nums}.standings-table__head{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.qualification-panel{height:max-content;padding:var(--space-md);position:sticky;top:var(--space-md)}.qualification-panel--page{position:static;margin-bottom:var(--space-xl)}.qualification-panel>p{margin-top:var(--space-xs)}.qualification-grid{display:grid;gap:var(--space-lg);margin-top:var(--space-lg)}.qualification-grid .seed-list{margin-top:0}.seed-list{margin-top:var(--space-lg)}.seed-list h3{margin-bottom:var(--space-sm);font-family:var(--font-outlier);font-size:var(--text-sm);text-transform:uppercase}.seed-list>div{display:grid;gap:var(--space-xs)}.seed-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-width:0;padding:var(--space-xs);background:var(--color-paper);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md)}.bracket-section{padding:var(--space-md)}.champion-callout{gap:var(--space-xs);width:max-content;max-width:100%;padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-md);color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-md);font-weight:700}.bracket-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16rem,1fr);gap:var(--space-md);overflow-x:auto;padding-bottom:var(--space-xs)}.round-column{min-width:0;display:grid;align-content:start;gap:var(--space-sm)}.round-column h3{font-size:var(--text-xl);padding-bottom:var(--space-xs);border-bottom:var(--rule-thick) solid var(--color-ink)}.ko-card{display:grid;gap:var(--space-xs);min-width:0;padding:var(--space-sm);background:var(--color-paper);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md)}.ko-team{min-width:0;padding:var(--space-2xs) 0}.ko-team.is-winner .team-name{color:var(--color-success);font-weight:700}.ko-score{margin-top:var(--space-xs)}.winner-select{display:grid;gap:var(--space-2xs);color:var(--color-warning);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.winner-select select{min-height:44px;color:var(--color-ink);background:var(--color-paper-2);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm)}.ko-status{min-height:1lh}.page-footer{justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xl);padding-top:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.page-footer span:first-child{color:var(--color-ink)}@media(min-width:40rem){.app-shell{padding:var(--space-lg)}.control-deck{grid-template-columns:1fr 1fr}.scoreboard-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.match-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.prediction-result{grid-column:1 / -1}}@media(min-width:60rem){.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.control-deck{grid-template-columns:1.2fr 1fr 1fr .7fr}.workbench-grid{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);align-items:start}.qualification-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:90rem){.groups-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:39.99rem){.nav-actions{align-items:stretch}.nav-actions .button{flex:1 1 100%}.segmented{overflow-x:auto}.standings-table__row{grid-template-columns:1.8rem minmax(6rem,1fr) 2rem 2.5rem 2.5rem}.standings-table__row span:nth-child(6){display:none}.qualification-panel{position:static}.bracket-scroll{grid-auto-columns:minmax(15rem,86vw)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}
