@font-face{font-family:Plex;src:url('fonts/ibm-plex-sans-condensed-400.woff2')}@font-face{font-family:Plex;src:url('fonts/ibm-plex-sans-condensed-600.woff2');font-weight:600}@font-face{font-family:Serif;src:url('fonts/source-serif-4-400.woff2')}@font-face{font-family:Mono;src:url('fonts/ibm-plex-mono-500.woff2');font-weight:500}
:root{font-family:Plex,Arial,sans-serif;font-size:18px;color:#171819;--red:#b52d27;--blue:#275d7c;--rule:#ccd0d3;--soft:#f3f4f5;--muted:#555d64;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#fff}button,input,textarea,select{font:inherit;color:inherit}button{border:1px solid var(--rule);background:white;min-height:44px;padding:.55rem .9rem;cursor:pointer;font-weight:600}button:hover{background:#e9edf0}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #227ab0;outline-offset:3px}input,textarea,select{border:1px solid #aeb7be;background:white;padding:.55rem .65rem;width:100%;border-radius:0;min-height:44px}textarea{resize:vertical;line-height:1.5}select{appearance:none;padding-right:2.5rem;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23171819' stroke-width='2'/%3E%3C/svg%3E") right 15px center/14px no-repeat}.primary{background:var(--red);border-color:var(--red);color:white}.primary:hover{background:#90231f}.dark{background:#202326;color:white;border-color:#202326}.dark:hover{background:#3b4146}.text-button{border:0;text-decoration:underline;text-underline-offset:4px;background:transparent}.eyebrow{font:500 .66rem/1.5 Mono,monospace;letter-spacing:.08em;color:var(--muted)}h1,h2,h3{font-family:Serif,Georgia,serif;font-weight:400}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:.7rem 0}h2{font-size:1.8rem;line-height:1.2;margin:0}p{line-height:1.5}.hint{font-size:.86rem;color:var(--muted);font-weight:400}.site-head{max-width:1500px;margin:auto;padding:1.2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}.site-head a{display:flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none;font-family:Serif,Georgia,serif;font-size:1rem;line-height:1.1}.site-head img{object-fit:contain}main{max-width:1500px;padding:2rem 2.5rem;margin:auto}.intro{margin-bottom:2rem}.intro>p:last-child{font-size:1.12rem;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:20}summary{cursor:pointer;font-weight:600;min-height:44px;padding:.6rem 0}#setup{border-top:3px solid #171819;border-bottom:1px solid var(--rule)}#setup>summary{font-size:1.25rem;padding:1rem 0}.summary-hint{float:right;font-size:.85rem;font-weight:400;color:var(--muted)}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding:.3rem 0 1.5rem}.setup-grid label{display:block;font-weight:600;margin:.25rem 0 .5rem}.setup-grid label .hint{float:right}.setup-options>label:not(:first-child){margin-top:.9rem}.inline{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.setup-grid .inline{margin-top:.6rem}.samples{margin:1.25rem 0}.setup-options>.primary{margin-top:.4rem}#notice:empty{display:none}#notice{color:var(--blue)}#error,#result-error:not(:empty){background:#fff0ed;border-left:3px solid var(--red);padding:.8rem;color:#86251e}.empty{padding:3rem 1rem;text-align:center;background:var(--soft);margin:1.5rem 0;border:1px solid var(--rule)}.empty p{max-width:470px;margin:1rem auto;color:var(--muted)}.empty-icon{font:500 1.7rem Mono;color:var(--blue);letter-spacing:.3rem;margin-bottom:1rem}.game{margin-top:1.5rem;border:1px solid var(--rule);background:var(--soft);padding:1.4rem}.board-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.board-head h2{overflow-wrap:anywhere}.board-head .eyebrow{margin:0 0 .5rem}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.4rem 0}.segmented{display:flex;flex-shrink:0}.segmented button[aria-pressed=true]{background:#202326;color:white;border-color:#202326}.segmented button+button{border-left:0}.board-toolbar p{margin:0}.champion{padding:1.2rem 1.5rem;background:white;border-top:5px solid var(--red);margin-top:1.2rem}.champion strong{display:block;font-size:2rem;overflow-wrap:anywhere}.champion p{margin:.3rem 0 0}#bracket-wrap{overflow:auto;padding:6px 4px 16px;scrollbar-color:#9ea9b2 #e3e7eb}#bracket{display:flex;gap:30px;min-width:max-content}.round{width:240px;flex-shrink:0;display:flex;flex-direction:column}.round>h3{font:500 .7rem Mono;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 1rem}.round-matches{display:flex;flex:1;flex-direction:column;justify-content:space-around;gap:18px}.match{position:relative;background:white;border:1px solid #c3cbd1;border-left:4px solid var(--blue);text-align:left;width:100%;padding:0;min-height:112px;font-weight:400}.match:after{content:'';position:absolute;right:-27px;top:50%;width:22px;border-top:1px solid #a7b2bc}.round:last-child .match:after{display:none}.match .match-meta{display:block;padding:.35rem .65rem;font:500 .55rem Mono;color:var(--muted);background:#f9fafb}.match .entrant{display:flex;gap:.5rem;align-items:center;padding:.35rem .65rem;min-height:35px;overflow-wrap:anywhere}.match .entrant+.entrant{border-top:1px solid #e4e8eb}.entrant .name{flex:1;min-width:0}.seed{font:500 .6rem Mono;color:#69747d;min-width:15px}.points{font-weight:600}.match .winner{font-weight:600;color:var(--blue);background:#edf3f6}.match.completed{border-left-color:#69747d}.match.waiting{border-left-color:#c3cbd1;color:#69747d;cursor:default}.match.waiting:hover{background:white}.match .waiting-name{font-size:.85rem}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--rule);padding-top:1rem;margin-top:.5rem}.game-footer p{color:var(--muted);font-size:.9rem}.file-bar{padding:1.2rem 0;border-bottom:1px solid var(--rule)}.help{margin-top:1rem}.help p{max-width:850px;color:var(--muted)}footer{font-size:.8rem;color:var(--muted);padding:2rem 0}#match-view>label{display:block;margin-bottom:.4rem}#match-select{max-width:650px}#match-feature{margin:1.4rem auto;max-width:950px}.feature-teams{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.feature-card{border:1px solid var(--rule);border-top:6px solid var(--red);background:white;padding:2.5rem 1rem;text-align:center;min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.6rem}.feature-card:nth-child(2){border-top-color:var(--blue)}.feature-card strong{font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.15;overflow-wrap:anywhere;max-width:100%}.feature-actions{text-align:center;margin-top:1rem}.feature-note{text-align:center;color:var(--muted)}dialog{border:1px solid var(--rule);padding:1.5rem;max-width:600px;width:calc(100% - 2rem);max-height:90dvh;overflow:auto}dialog::backdrop{background:#111a}.dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1.2rem}.dialog-head button{font-size:1.5rem;padding:0 .65rem}.dialog-head .eyebrow{margin:0 0 .4rem}#winner-choices{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}#winner-choices button{font-size:1.2rem;min-height:110px;overflow-wrap:anywhere;border-top:5px solid var(--red)}#winner-choices button+button{border-top-color:var(--blue)}#winner-choices button[aria-pressed=true]{background:#eaf1f5;outline:3px solid var(--blue);outline-offset:-3px}#winner-choices small{display:block;font-size:.8rem;font-weight:400;margin-bottom:.35rem}.score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.score-inputs label{min-width:0;overflow-wrap:anywhere}.score-inputs input{margin-top:.4rem}#record{width:100%;margin-top:.8rem}body.presenting{overflow:auto}body.presenting .site-head,body.presenting .intro,body.presenting #setup,body.presenting .file-bar,body.presenting .help,body.presenting footer,body.presenting #notice{display:none}body.presenting main{max-width:none;padding:0}body.presenting .game{margin:0;min-height:100dvh;border:0;padding:1.5rem}body.presenting #large{display:none}body.presenting #exit-large{display:block}body.presenting .feature-card{min-height:35vh}body.presenting .feature-card strong{font-size:clamp(2rem,5vw,4rem)}
@media(max-width:750px){:root{font-size:17px}.site-head{padding:1rem}.site-head>.eyebrow{font-size:.5rem}main{padding:1.3rem .85rem}.setup-grid{grid-template-columns:1fr;gap:.7rem}.summary-hint{display:none}.game{padding:.8rem}.board-head,.board-toolbar,.game-footer{align-items:start;flex-direction:column}.board-head>.inline{width:100%}.board-toolbar{gap:.65rem}.round{width:220px}.game-footer>.inline{width:100%}.feature-teams{gap:.6rem}.feature-card{padding:1.5rem .6rem;min-height:140px}.feature-card strong{font-size:1.5rem}.file-bar .inline{gap:.4rem}.file-bar button{flex:1;padding:.55rem}.intro>p:last-child{font-size:1rem}body.presenting .game{padding:1rem}body.presenting .feature-card strong{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{@page{size:landscape;margin:12mm}body{font-family:Arial,sans-serif;font-size:11pt;background:white}.site-head,.intro,#setup,#notice,#error,#empty,.file-bar,.help,footer,.board-toolbar,.board-head>.inline,.game-footer,#match-view,dialog,.skip{display:none!important}main,body.presenting main{padding:0;max-width:none}.game,body.presenting .game{border:0;margin:0;padding:0;background:white;min-height:0}.board-head h2{font-size:22pt}.board-head{margin-bottom:15px}#bracket-wrap{display:block!important;overflow:visible;padding:0}#bracket{display:flex;gap:15px;min-width:0}.round{flex:1;width:auto;min-width:0}.match{min-height:85px;break-inside:avoid;print-color-adjust:exact}.match:after{display:none}.round-matches{gap:10px}.champion{margin:10px 0;padding:8px}.champion strong{font-size:18pt}body.big-print #bracket{display:block}body.big-print .round{break-after:page}body.big-print .round:last-child{break-after:auto}body.big-print .round-matches{display:grid;grid-template-columns:1fr 1fr;gap:10px}body.big-print .round h3{font-size:14pt}}

#bracket{position:relative}.connectors{position:absolute;inset:0;pointer-events:none;overflow:visible}.connectors path{fill:none;stroke:#a7b2bc;stroke-width:1.5}.match:after{display:none}.round{position:relative}
@media print{.connectors{display:none}}

.last-result{color:var(--blue);text-align:center;font-weight:600}.last-result:empty{display:none}
@media(min-width:751px){body.presenting .board-head h2{font-size:1.6rem}body.presenting .board-toolbar{margin:.8rem 0}body.presenting .champion{padding:.6rem 1rem;display:flex;align-items:center;gap:1rem}body.presenting .champion strong{font-size:1.7rem}body.presenting .champion p{display:none}body.presenting .feature-card{min-height:0;padding:1.3rem 1rem}body.presenting #match-feature{margin:.8rem auto}body.presenting .feature-card strong{font-size:clamp(1.7rem,4vw,3rem)}body.presenting .game-footer{padding-top:.5rem}body.presenting .game-footer p{margin:.4rem 0}body.presenting .feature-note{margin:.4rem 0}body.presenting .last-result{margin:.4rem 0}}

.feature-context{text-align:center;margin:.5rem 0 .8rem}

.check-option{display:flex!important;gap:.6rem;align-items:center}.check-option input{width:20px;min-height:20px;height:20px;flex-shrink:0}#third-place-board{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.5rem;break-inside:avoid}#third-place-board .match{max-width:320px}#third-place-board h3{font-size:1.1rem}#rename-form>label{display:block;margin:.8rem 0 .3rem}#rename-error:not(:empty){color:var(--red)}@media print{#third-place-board{display:block!important}#third-place-board:empty{display:none!important}}

.print-meta{display:none}@media print{.match-meta{display:none!important}.print-meta{display:block;padding:4px 8px;font-size:8pt;color:#555}}

.more-tools{border-top:1px solid var(--rule);margin-top:2rem;padding-top:1rem}body.presenting .more-tools{display:none}@media print{.more-tools{display:none}}
