:root{--ground:#12161c;--panel:#1a1f27;--panel-2:#212731;--panel-3:#272e3a;--rule:#2e3642;--rule-soft:#232a34;--ink:#e9edf3;--ink-dim:#9aa5b5;--ink-faint:#626e7d;--live:#f5a524;--decided:#4fc9d4;--danger:#e5484d;--sign:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--data:"JetBrains Mono", ui-monospace, "Cascadia Mono", Menlo, monospace;--card-h:78px;--slat-h:38px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--live);outline-offset:2px}.sign{font-family:var(--sign);text-transform:uppercase;letter-spacing:.14em;font-weight:600}.eyebrow{font-family:var(--sign);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);font-size:11px;font-weight:600}.num{font-family:var(--data);font-variant-numeric:tabular-nums}.app{flex-direction:column;min-height:100%;display:flex}.rail{background:var(--panel);border-bottom:1px solid var(--rule);z-index:20;align-items:center;gap:18px;height:54px;padding:0 20px;display:flex;position:sticky;top:0}.rail__mark{font-family:var(--sign);text-transform:uppercase;letter-spacing:.2em;color:var(--ink);white-space:nowrap;font-size:15px;font-weight:700}.rail__mark span{color:var(--live)}.rail__spacer{flex:1}.rail__status{font-family:var(--data);color:var(--ink-dim);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.dot{background:var(--ink-faint);border-radius:50%;flex:none;width:7px;height:7px}.dot--live{background:var(--live);box-shadow:0 0 0 3px #f5a52429}.dot--decided{background:var(--decided);box-shadow:0 0 0 3px #4fc9d429}.tabs{background:var(--panel);border-bottom:1px solid var(--rule);z-index:19;gap:2px;padding:0 20px;display:flex;position:sticky;top:54px}.tab{appearance:none;cursor:pointer;font-family:var(--sign);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 16px;font-size:13px;font-weight:600;transition:color .12s,border-color .12s}.tab:hover{color:var(--ink-dim)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--live)}.tab__count{font-family:var(--data);letter-spacing:0;color:var(--ink-faint);margin-left:7px;font-size:11px}.screen{flex:1;padding:22px 20px 64px}.btn{appearance:none;background:var(--panel-2);color:var(--ink);border:1px solid var(--rule);cursor:pointer;font-family:var(--sign);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border-radius:3px;padding:7px 13px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.btn:hover:not(:disabled){background:var(--panel-3);border-color:var(--ink-faint)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn--go{background:var(--live);border-color:var(--live);color:#1a1206}.btn--go:hover:not(:disabled){background:#ffb63f;border-color:#ffb63f}.btn--ghost{background:0 0}.btn--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.btn--icon{letter-spacing:0;color:var(--ink-faint);background:0 0;border-color:#0000;padding:4px 8px;font-size:13px;line-height:1}.btn--icon:hover:not(:disabled){color:var(--ink);background:var(--panel-3);border-color:var(--rule)}.field{background:var(--ground);border:1px solid var(--rule);color:var(--ink);border-radius:3px;width:100%;padding:7px 10px}.field:focus{border-color:var(--ink-faint);outline:none}.field::placeholder{color:var(--ink-faint)}select.field{cursor:pointer}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:4px}.panel__head{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:11px 14px;display:flex}.panel__title{font-family:var(--sign);text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:600}.panel__body{padding:14px}.hint{color:var(--ink-faint);font-size:12.5px;line-height:1.5}.notice{border-left:2px solid var(--live);color:var(--ink-dim);background:#f5a52412;border-radius:0 3px 3px 0;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;display:flex}.notice--flat{border-left-color:var(--rule);background:var(--panel-2)}.empty{text-align:center;max-width:420px;margin:14vh auto 0}.empty h1{font-family:var(--sign);text-transform:uppercase;letter-spacing:.2em;margin:0 0 8px;font-size:26px;font-weight:700}.empty p{color:var(--ink-dim);margin:0 0 22px}.empty__row{gap:8px;display:flex}.roster-grid{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:start;gap:16px;max-width:1000px;display:grid}.roster-list{margin:0;padding:0;list-style:none}.roster-row{border-bottom:1px solid var(--rule-soft);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:5px 14px 5px 10px;display:grid}.roster-row:last-child{border-bottom:0}.roster-row:hover{background:var(--panel-2)}.roster-row__seed{font-family:var(--data);font-variant-numeric:tabular-nums;color:var(--ink-faint);text-align:right;font-size:12px}.roster-row__name{background:0 0;border:1px solid #0000;border-radius:3px;width:100%;min-width:0;padding:4px 7px}.roster-row__name:hover:not(:disabled){border-color:var(--rule)}.roster-row__name:focus{border-color:var(--ink-faint);background:var(--ground);outline:none}.roster-row__name:disabled{color:var(--ink-dim)}.roster-row__tools{opacity:0;gap:1px;transition:opacity .12s;display:flex}.roster-row:hover .roster-row__tools,.roster-row:focus-within .roster-row__tools{opacity:1}.add-row{border-top:1px solid var(--rule);gap:8px;padding:12px 14px;display:flex}.paste-area{resize:vertical;min-height:210px;font-family:var(--data);font-size:12.5px;line-height:1.7}.paste-foot{align-items:center;gap:12px;margin-top:12px;display:flex}.paste-foot__read{color:var(--ink-dim);flex:1;font-size:12.5px}.setup{max-width:640px}.setup__row{border-bottom:1px solid var(--rule-soft);grid-template-columns:152px 1fr;align-items:center;gap:14px;padding:11px 0;display:grid}.setup__row:last-of-type{border-bottom:0}.setup__label{font-family:var(--sign);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);font-size:12.5px;font-weight:600}.segmented{border:1px solid var(--rule);border-radius:3px;justify-self:start;display:inline-flex;overflow:hidden}.segmented button{appearance:none;background:var(--panel-2);border:0;border-right:1px solid var(--rule);cursor:pointer;font-family:var(--sign);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);padding:6px 13px;font-size:12px;font-weight:600;transition:background .12s,color .12s}.segmented button:last-child{border-right:0}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--panel-3);color:var(--ink);box-shadow:inset 0 2px 0 var(--live)}.stepper{justify-self:start;align-items:center;gap:9px;display:inline-flex}.stepper input{text-align:center;width:66px;font-family:var(--data)}.setup__foot{align-items:center;gap:12px;margin-top:18px;display:flex}.match{height:var(--card-h);background:var(--panel);border:1px solid var(--rule);border-left:2px solid var(--ink-faint);border-radius:3px;flex-direction:column;display:flex;position:relative}.match[data-state=live]{border-left-color:var(--live)}.match[data-state=decided]{border-left-color:var(--decided)}.match[data-state=waiting]{border-left-color:var(--rule);background:var(--panel)}.match[data-state=error]{border-left-color:var(--danger)}.slat{flex:1;grid-template-columns:1fr 46px;align-items:center;gap:8px;min-width:0;padding:0 0 0 11px;display:grid}.slat+.slat{border-top:1px solid var(--rule-soft)}.slat__name{white-space:nowrap;text-overflow:ellipsis;color:var(--ink-dim);font-size:13.5px;font-weight:500;overflow:hidden}.slat[data-role=winner] .slat__name{color:var(--decided);font-weight:600}.slat[data-role=loser] .slat__name{color:var(--ink-faint)}.slat[data-role=empty] .slat__name{color:var(--ink-faint);font-style:italic}.slat__score{background:var(--ground);border:0;border-left:1px solid var(--rule-soft);text-align:center;width:100%;height:100%;font-family:var(--data);font-variant-numeric:tabular-nums;color:var(--ink);-moz-appearance:textfield;font-size:14px;font-weight:600}.slat__score::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.slat__score::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slat__score:focus{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--live);outline:none}.slat__score:disabled{color:var(--ink-faint);background:var(--panel-2)}.slat[data-role=winner] .slat__score{color:var(--decided)}.match__bye{font-family:var(--sign);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.match__err{color:var(--danger);white-space:nowrap;font-size:11px;position:absolute;bottom:-17px;left:11px}.match__clear{appearance:none;cursor:pointer;color:var(--ink-faint);opacity:0;background:0 0;border:0;padding:2px 5px;font-size:11px;line-height:1;transition:opacity .12s,color .12s;position:absolute;top:-1px;right:47px}.match:hover .match__clear{opacity:1}.match__clear:hover{color:var(--danger)}.bracket-scroll{padding-bottom:14px;overflow-x:auto}.bracket{align-items:flex-start;gap:44px;min-width:min-content;padding:4px 0;display:flex}.round{flex-direction:column;flex:none;width:218px;display:flex}.round__head{font-family:var(--sign);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);border-bottom:1px solid var(--rule);margin-bottom:3px;padding-bottom:9px;font-size:11.5px;font-weight:600}.round__body{flex-direction:column;display:flex}.link-out,.link-in{background:var(--rule);width:22px;height:2px;transition:background .15s;position:absolute;top:50%}.link-out{left:100%}.link-in{right:100%}.link-out[data-lit=true],.link-in[data-lit=true]{background:var(--decided)}.link-vert{background:var(--rule);width:2px;position:absolute;top:50%;left:calc(100% + 22px)}.champion{height:var(--card-h);border:1px solid var(--live);background:#f5a52417;border-radius:3px;flex-direction:column;justify-content:center;gap:3px;padding:0 16px;display:flex}.champion__label{font-family:var(--sign);text-transform:uppercase;letter-spacing:.22em;color:var(--live);font-size:10.5px;font-weight:700}.champion__name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.stage{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:18px;display:grid}.stage__side{flex-direction:column;gap:14px;display:flex;position:sticky;top:108px}.round-block+.round-block{margin-top:20px}.round-block__head{border-bottom:1px solid var(--rule);align-items:center;gap:12px;margin-bottom:11px;padding-bottom:8px;display:flex}.round-block__title{font-family:var(--sign);text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:600}.match-grid{grid-template-columns:repeat(auto-fill,minmax(min(248px,100%),1fr));gap:11px 14px;display:grid}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(min(400px,100%),1fr));align-items:start;gap:16px;display:grid}.table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:12.5px}.table th{font-family:var(--sign);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);text-align:right;border-bottom:1px solid var(--rule);padding:0 4px 7px;font-size:10.5px;font-weight:600}.table td{border-bottom:1px solid var(--rule-soft);text-align:right;font-family:var(--data);font-variant-numeric:tabular-nums;color:var(--ink-dim);padding:6px 4px}.table .t-rank{text-align:left;width:30px;color:var(--ink-faint);padding-left:8px}.table .t-name{text-align:left;font-family:var(--body);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding-left:8px;padding-right:10px;overflow:hidden}.table .t-num{width:24px}.table .t-diff{width:32px}.table .t-bh{width:30px}.table .t-pts{width:38px;color:var(--ink);padding-right:8px;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table tr[data-qualified=true] .t-rank{color:var(--decided)}.table tr[data-qualified=true] .t-name{color:var(--ink);box-shadow:inset 2px 0 0 var(--decided);font-weight:600}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.panel__body--slim{border-bottom:1px solid var(--rule-soft);padding:9px 12px}.scrub-row{margin-bottom:14px}.scrub{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.scrub__chips{flex-wrap:wrap;gap:4px;display:flex}.scrub__chip{appearance:none;background:var(--panel-2);border:1px solid var(--rule);cursor:pointer;min-width:27px;font-family:var(--sign);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);border-radius:3px;padding:3px 8px;font-size:11.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.scrub__chip:hover{color:var(--ink);border-color:var(--ink-faint)}.scrub__chip[aria-pressed=true]{background:var(--panel-3);border-color:var(--decided);color:var(--ink)}.scrub__note{font-family:var(--data);color:var(--live);font-size:11px}.foot{background:var(--panel);border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:11px 20px;display:flex}.foot__by{font-family:var(--sign);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-faint);align-items:center;gap:7px;font-size:11.5px;display:flex}.foot__org{color:var(--ink-dim);font-weight:700}.foot__sep{color:var(--ink-faint);opacity:.6}.foot__link{font-family:var(--data);text-transform:none;letter-spacing:0;color:var(--ink-faint);border-bottom:1px solid var(--rule);font-size:11px;text-decoration:none}.foot__link:hover{color:var(--decided);border-bottom-color:var(--decided)}.foot__spacer{flex:1}.foot__note{font-family:var(--data);color:var(--ink-dim);font-size:11.5px}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}@media (width<=900px){.roster-grid,.stage{grid-template-columns:minmax(0,1fr)}.stage__side{position:static}}@media (width<=700px){.rail{flex-wrap:wrap;gap:8px 10px;height:auto;padding:9px 14px;position:static}.rail>select{flex:120px;min-width:0}.rail__spacer{display:none}.rail__status{flex-basis:100%}.tabs{position:static}.screen{padding:16px 14px 48px}.foot{padding:10px 14px}.foot__by{flex-basis:100%}.foot__spacer{display:none}.setup__row{grid-template-columns:minmax(0,1fr);gap:7px}}
