:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf1f5;background:#07111d;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% -12%,#163354 0,transparent 34%),#07111d}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}.shell{max-width:1480px;margin:auto;padding:28px 36px 44px}.top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:25px}.brand{display:flex;align-items:center;gap:15px}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid #d2a85b;color:#e9c985;font:700 32px Georgia,serif;transform:skew(-5deg)}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.5rem,2.3vw,2.25rem);letter-spacing:-.045em;line-height:1.1}h2{font-size:1.5rem;letter-spacing:-.035em}h3{font-size:1rem}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.16em;color:#d4af6a;margin-bottom:7px}.top-actions,.round-controls,.editor-actions{display:flex;gap:9px;flex-wrap:wrap}.ghost,.primary{min-height:40px;border-radius:7px;padding:9px 15px;font-size:.88rem;font-weight:700}.ghost{border:1px solid #344960;background:#102033;color:#dce6ed}.ghost:hover:not(:disabled){border-color:#c9a75f;background:#1a3044}.primary{border:1px solid #deb96b;background:#d9ad5a;color:#0b1723}.primary:hover:not(:disabled){background:#f2c87c}.notice{display:flex;gap:14px;align-items:center;background:#152436;border:1px solid #2e475c;border-left:3px solid #d7ae62;padding:13px 17px;border-radius:7px;color:#bacbd7;font-size:.88rem;margin-bottom:18px}.notice strong{color:#f4d28b;white-space:nowrap}.notice b{color:#f4d28b}.control,.stage{border:1px solid #2c4054;background:#0b1a2a;border-radius:12px}.control{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:18px}.control p,.stage-head p{color:#a9bdc9;font-size:.88rem;margin-top:6px}.playin-choices{display:grid;grid-template-columns:repeat(4,minmax(118px,1fr));gap:8px;min-width:53%}.playin-option{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #30475c;background:#12253a;color:#f0f4f7;border-radius:8px;padding:8px}.playin-option:hover,.playin-option.chosen{border-color:#dfb669;background:#26384a}.playin-option span:not(.logo){display:flex;flex-direction:column;min-width:0}.playin-option strong{font-size:.9rem}.playin-option small{font-size:.7rem;color:#b4c5d1;line-height:1.35}.logo{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #5b7181;border-radius:6px;background:#223447;color:#f1d69a;font-size:.7rem;font-weight:800;overflow:hidden}.logo img{display:none;max-width:100%;max-height:100%;object-fit:contain}.logo.loaded img{display:block}.logo.loaded span{display:none}.stage{padding:24px}.stage-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.round-tabs{display:flex;border-bottom:1px solid #2b4256;gap:4px;overflow-x:auto;margin:23px 0 22px}.round-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:11px 17px;color:#9eb4c3;font-size:.78rem;font-weight:800;letter-spacing:.1em;white-space:nowrap}.round-tabs button.active{color:#f1d086;border-bottom-color:#dfb569}.stage-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-content:start}.match{border:1px solid #31475b;border-radius:9px;background:#102236;overflow:hidden}.match-head{display:flex;justify-content:space-between;color:#9bb2c1;font-size:.7rem;font-weight:800;letter-spacing:.12em;padding:10px 13px;background:#182d41}.competitor{width:100%;display:flex;align-items:center;gap:11px;text-align:left;min-height:66px;padding:10px 13px;border:0;border-top:1px solid #273b4d;background:transparent;color:#e9f0f4}.competitor:hover{background:#1b3850}.competitor.picked{background:#1b3c43;box-shadow:inset 3px 0 #6dc4a4}.competitor.lost{opacity:.55}.team-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.team-text strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-text small{color:#9fb4c1;font-size:.72rem}.pick-glyph{font-size:.7rem;letter-spacing:.08em;font-weight:800;color:#d5b56f}.picked .pick-glyph{color:#7be0bb;font-size:1.1rem}.sidebar{display:flex;flex-direction:column;gap:13px}.side-card{border:1px solid #30475b;border-radius:9px;background:#102236;padding:16px}.side-card h3{margin-bottom:14px}.progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.progress-stats div{border:1px solid #2c4356;border-radius:7px;padding:9px;display:flex;flex-direction:column}.progress-stats strong{font-size:1.35rem;color:#ecc579}.progress-stats span{font-size:.73rem;color:#a9bac5}.standing{display:flex;align-items:center;gap:8px;border-top:1px solid #253b4d;padding:5px 0;font-size:.79rem}.standing .logo{width:24px;height:24px;font-size:.54rem}.standing span:nth-child(2){flex:1}.standing b{color:#cad9e1}.standing b.advanced{color:#77d5af}.standing b.eliminated{color:#e48c86}.rules p{color:#adbfcb;font-size:.81rem;line-height:1.55}.empty{padding:48px 20px;text-align:center;color:#a9bdc9;grid-column:1/-1;border:1px dashed #385267;border-radius:8px}footer{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;color:#7f97a8;font-size:.72rem;margin-top:20px}footer a{color:#aac6d7}dialog{width:min(1000px,calc(100% - 26px));max-height:88vh;border:1px solid #4c6578;border-radius:12px;background:#102236;color:#eaf1f5;box-shadow:0 30px 80px #0009;padding:24px}dialog::backdrop{background:#010810bb}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin-bottom:10px}dialog p{color:#adc0cb;font-size:.88rem;line-height:1.5;margin-bottom:14px}dialog code{color:#e9c779}.editor-actions{margin-bottom:15px}.import{display:inline-flex;align-items:center;cursor:pointer}.import input{display:none}.table-wrap{max-height:48vh;overflow:auto;border:1px solid #385167;border-radius:7px}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:8px;border-bottom:1px solid #2c4254;text-align:left}th{position:sticky;top:0;background:#1a3145;color:#acc3d1;font-size:.76rem;letter-spacing:.07em}td{font-size:.8rem}td:first-child{white-space:nowrap}td small{display:block;color:#91a9b8;margin-top:2px}td input,td select{width:100%;background:#091a2a;border:1px solid #3a5468;border-radius:5px;color:#edf3f6;padding:7px;font-size:.8rem}.dialog-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:16px}.dialog-foot span{color:#e9c779;font-size:.8rem}@media(max-width:1050px){.control{display:block}.playin-choices{margin-top:16px}.stage-grid{grid-template-columns:minmax(0,1fr) 220px}}@media(max-width:780px){.shell{padding:17px 14px 32px}.top{align-items:flex-start}.top-actions{justify-content:flex-end}.control,.stage{padding:16px}.stage-head{align-items:flex-start;flex-direction:column}.stage-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.playin-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.top{display:block}.top-actions{margin-top:17px;justify-content:flex-start}.notice{align-items:start;flex-direction:column;gap:4px}.matches,.sidebar{grid-template-columns:1fr}.round-controls{width:100%}.round-controls button{flex:1}.team-text strong{white-space:normal}.control.compact p{display:none}}

/* Knockout bracket */
[hidden]{display:none!important}
.roster-hint{margin:-5px 0 9px;color:#7f97a8;font-size:.62rem;line-height:1.35}.roster-trigger{cursor:help;outline:none;transition:border-color .15s,box-shadow .15s}.roster-trigger:hover,.roster-trigger:focus-visible{border-color:#dfb669;box-shadow:0 0 0 2px #dfb66933}.roster-card{position:fixed;z-index:1000;width:min(430px,calc(100vw - 20px));max-height:calc(100vh - 20px);overflow:auto;padding:16px;border:1px solid #bd9b5e;border-radius:11px;background:#0b1a2af5;box-shadow:0 18px 55px #000b;color:#eaf1f5}.roster-card header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.roster-card header div{display:flex;flex-direction:column}.roster-card header span{color:#dcb96f;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.roster-card header strong{font-size:1.05rem}.roster-card header small{color:#829bab;font-size:.62rem;text-align:right}.roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.roster-person{min-width:0;text-align:center}.roster-face{display:block;aspect-ratio:1/1;margin-bottom:5px;overflow:hidden;border:1px solid #3a5266;border-radius:7px;background:#192d40;color:#e7c77f;font-weight:800}.roster-face img{width:100%;height:100%;object-fit:cover;object-position:top center}.roster-person>span:last-child{display:flex;flex-direction:column;min-width:0}.roster-person strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.roster-person small{color:#91a9b8;font-size:.59rem}.roster-card h4{margin:14px 0 7px;color:#c3d1da;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase}.roster-extras{display:flex;flex-wrap:wrap;gap:8px}.roster-extras .roster-person{display:flex;align-items:center;gap:7px;text-align:left}.roster-extras .roster-face{width:34px;margin:0}.roster-coaches{display:flex;gap:8px;margin-top:13px;padding-top:10px;border-top:1px solid #294154;font-size:.7rem}.roster-coaches b{color:#d9b76f}.roster-coaches span{color:#adc0cb}
.update-banner{flex-wrap:wrap}
.update-banner span{flex:1}
.knockout-stage{margin-top:18px}
.knockout-controls{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}
.bracket{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}
.bracket-column{display:flex;flex-direction:column;gap:12px;min-width:0;padding:13px;border:1px solid #2b4256;border-radius:10px;background:#0d1e30}
.bracket-column.active{border-color:#bd9b5e;box-shadow:inset 0 0 0 1px #705d3d}
.bracket-column h3{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 3px;color:#f0d394;font-size:.94rem}
.bracket-column h3 span{color:#9db3c0;font-size:.7rem;letter-spacing:.1em}
.bracket-column .match{flex:none}
.bracket-pending{display:grid;place-items:center;min-height:130px;padding:18px;border:1px dashed #385267;border-radius:8px;color:#91aabb;text-align:center;font-size:.84rem;line-height:1.4}
.champion{display:flex;align-items:center;gap:15px;margin-top:20px;padding:17px 20px;border:1px solid #d2ad60;border-radius:9px;background:linear-gradient(90deg,#263847,#142636);box-shadow:inset 3px 0 #e2bd6c}
.champion .logo{width:51px;height:51px}
.champion div{display:flex;flex-direction:column;gap:3px}
.champion span{color:#e6c274;font-size:.72rem;font-weight:800;letter-spacing:.17em}
.champion strong{font-size:1.25rem}
@media(max-width:950px){.bracket{grid-template-columns:1fr 1fr}.bracket-column:last-child{grid-column:1/-1}}
@media(max-width:650px){
  .bracket{grid-template-columns:1fr}
  .bracket-column:last-child{grid-column:auto}
  .knockout-controls{position:sticky;top:8px;z-index:5;display:grid;grid-template-columns:1fr;box-shadow:0 5px 18px #07111dcc}
  .knockout-controls button{width:100%}
  .bracket-column,.bracket .match,.matches .match{scroll-margin-top:65px}
}

@media(max-width:520px){.roster-card{left:10px!important;right:10px;top:auto!important;bottom:10px;width:auto}.roster-grid{gap:5px}.roster-person strong{font-size:.64rem}.roster-person small{font-size:.55rem}}
.roster-ranking{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;margin:10px 0;padding:9px 10px;border:1px solid #31516a;border-radius:8px;background:#0b1d2b}.roster-ranking span{font-size:11px;color:#9eb5c5;text-transform:uppercase;letter-spacing:.06em}.roster-ranking strong{font-size:14px;color:#f0c766}.roster-ranking small{grid-column:1/-1;color:#7894a8;font-size:10px}
.win-odds{flex:none;min-width:42px;padding:4px 6px;border:1px solid #334e63;border-radius:999px;color:#9db2c1;background:#0c1d2c;font-size:.68rem;font-weight:800;text-align:center}.win-odds.favorite{border-color:#8f7646;color:#efca7d;background:#2a261d}.competitor.picked .win-odds{opacity:.8}
.auto-sim-group{position:relative;display:block}.simulation-toggle{position:absolute;top:calc(100% + 6px);left:0;display:flex;align-items:center;justify-content:flex-start;gap:8px;width:max-content;padding:0;border:0;background:transparent;color:#91a8b7;font-size:.7rem;cursor:pointer;white-space:nowrap}.simulation-toggle i{position:relative;width:34px;height:19px;border:1px solid #40586b;border-radius:999px;background:#0a1825;transition:.18s}.simulation-toggle i::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#78909f;transition:.18s}.simulation-toggle.active{color:#e9c779}.simulation-toggle.active i{border-color:#c9a45e;background:#5b4828}.simulation-toggle.active i::after{left:17px;background:#f0c96f}.simulation-toggle:hover i{border-color:#bd9b5e}
