:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0c1320;color:#edf4f8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#173e37,transparent 55%)}[hidden]{display:none!important}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:#bde4da}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffd740;outline-offset:3px}.botHeader{display:flex;justify-content:space-between;align-items:center;padding:12px max(16px,calc((100% - 1100px)/2));border-bottom:1px solid #304151;background:#0b1420}.botHeader img{height:66px;width:auto}.botHeader>a:last-child{font-weight:700;text-decoration:none}main{max-width:1100px;margin:0 auto;padding:32px 18px 70px}.eyebrow{color:#8fdec2;font-size:11px;font-weight:900;letter-spacing:.16em}h1{font-size:clamp(30px,5vw,52px);margin:8px 0}h2{margin:0;font-size:23px}h3{font-size:16px}.botIntro>p,.muted,.legend{color:#a5b8c6;line-height:1.6}.botIntro{margin-bottom:32px}.challengeBar{display:flex;align-items:center;justify-content:space-between;gap:20px}.challengeBar p{font-size:12px;color:#a5b8c6;max-width:360px}.gold{color:#ffd740}.botLevels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.botLevel{position:relative;text-align:left;padding:17px;border:1px solid #344758;border-radius:12px;background:#121f2e;color:#edf4f8}.botLevel[aria-pressed=true]{border-color:#67e0bd;box-shadow:0 0 0 1px #67e0bd;background:#16382f}.botLevel.complete{border-color:#b89b30}.levelTitle{display:flex;justify-content:space-between;gap:10px;font-size:18px;font-weight:800}.levelStats{display:block;color:#a5b8c6;font-size:11px;margin:8px 0}.modeMarks{display:flex;gap:6px;flex-wrap:wrap}.modeMarks span{padding:4px 7px;background:#08121e;border-radius:5px;font-size:11px;color:#9aabba}.modeMarks .won{color:#67e0bd}.modeMarks .gold{color:#ffd740;background:#3d3414}.botSettings,#scoreForm{display:flex;align-items:end;gap:12px;margin-top:24px;flex-wrap:wrap}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#b4c5d1}input,select{min-height:46px;padding:10px 12px;background:#08121e;border:1px solid #3c5262;border-radius:8px;color:#fff;max-width:100%}button.primary,button.secondary{min-height:46px;padding:10px 17px;border:1px solid #3c5262;border-radius:8px;font-weight:800}.primary{background:#ffd740;color:#151515}.secondary{background:#182737;color:#dfe9f1}.muted{font-size:12px}.legend{font-size:12px}.matchHeading{display:flex;justify-content:space-between;align-items:center;gap:15px}.matchHeading h2{margin-top:6px}.scoreboards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.scoreboards article{padding:24px;text-align:center;background:#132231;border:1px solid #344758;border-radius:12px;display:grid;gap:8px}.scoreboards article.active{border-color:#6ee6c0;background:#14382e}.scoreboards strong{font-size:clamp(54px,10vw,84px);line-height:1.2}.scoreboards span{font-weight:800}.scoreboards small{color:#afc0cd}.turnStatus{padding:14px 0;font-weight:800;min-height:52px}#visitScore{width:160px;font-size:20px}.error{color:#ff9d9d;min-height:20px;font-size:13px}.matchActions{display:flex;gap:10px;flex-wrap:wrap}.visitHistory{max-height:300px;overflow:auto;padding:0;list-style:none}.visitHistory li{padding:10px 12px;border-bottom:1px solid #2b3e4b;display:flex;justify-content:space-between;gap:12px;font-size:13px}.visitHistory small{color:#9bb4c4}@media(max-width:600px){main{padding:22px 12px 50px}.botLevels{grid-template-columns:1fr}.challengeBar{display:block}.botSettings{display:grid;grid-template-columns:1fr 1fr}.botSettings .primary{grid-column:1/-1}.scoreboards article{padding:16px 8px}.matchHeading h2{font-size:20px}.matchHeading .secondary{font-size:11px;padding:8px}.botHeader img{height:52px}#scoreForm{display:grid;grid-template-columns:1fr 1fr}#scoreForm input,#scoreForm select{width:100%}.levelStats{font-size:10px}}
/* A single scrollable ladder: strongest at the top, Billy at the bottom. */
.botLevels{display:flex;flex-direction:column;gap:12px;max-width:760px;margin:0 auto;max-height:65vh;min-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:12px;scroll-padding:12px;border:1px solid #344758;border-radius:14px;background:#08131d;scrollbar-color:#467b6a #08131d}
.botLevel{flex:none;width:100%;cursor:default}.botLevel.unlocked{border-color:#568d7c;background:#142f2b}.botLevel.locked{background:#111b28;color:#9aabba}.botLevel.locked .levelStats{color:#8496a5}.botLevel.complete{border-color:#d0af3f}.levelNumber{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#a4b9c4;margin-bottom:6px}.levelTitle{align-items:center}.levelTitle h3{margin:0;font-size:23px;color:inherit}.levelTitle>span{font-size:12px}.levelStats{font-size:14px;margin:8px 0 12px}.botCardControls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px;margin-top:15px}.botCardControls>label{grid-column:1/-1}.botCardControls .primary{min-width:0}.lockedHint{margin:10px 0 0;color:#9aabba;font-size:12px}.ladderOptions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.ladderOptions p{max-width:580px;color:#a5b8c6;line-height:1.5;font-size:13px}.ladderOptions select{min-width:120px}
@media(max-width:600px){.botLevels{padding:8px;max-height:62vh}.botLevel{padding:15px}.ladderOptions{align-items:end;gap:12px}.ladderOptions p{font-size:11px}.ladderOptions select{min-width:90px;padding:8px}.botCardControls select,.botCardControls button{font-size:12px;padding:9px}.levelTitle h3{font-size:21px}}
/* Shared completion chips and player list. */
.flawlessCount{color:#ffd740;white-space:nowrap}
.bullModeRules{padding:12px 14px;border:1px solid #806d29;border-radius:8px;background:#332c13;color:#ffe393!important;font-size:13px;line-height:1.6}.bullModeRules[hidden]{display:none!important}
.completionCount{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;background:#08121e;border:1px solid #344758;border-radius:6px;font-size:12px;color:#b4c5d1;cursor:pointer}.completionCount b{display:inline-grid;place-items:center;min-width:20px;min-height:20px;padding:1px 5px;border-radius:4px;background:#233848;color:#f1f6f9}.completionCount.won{color:#67e0bd}.completionCount.gold{color:#ffd740;border-color:#806d29}.completionCount:hover{border-color:#67e0bd}.botCompletionTotal{margin-top:9px}.botCompletionTotal .completionCount{font-size:11px;background:transparent;border-color:transparent;padding:2px 0}.completionDialog{width:min(480px,calc(100% - 24px));max-height:80vh;padding:22px;background:#132231;color:#edf4f8;border:1px solid #568d7c;border-radius:14px;box-shadow:0 20px 80px #0009}.completionDialog::backdrop{background:#030911cc}.completionHeading{display:flex;align-items:center;justify-content:space-between;gap:15px}.completionHeading h2{font-size:20px}.completionDialog p{color:#a5b8c6;line-height:1.5}.completionDialog ul{list-style:none;padding:0;max-height:45vh;overflow:auto}.completionDialog li{padding:12px 8px;border-bottom:1px solid #344758}.completionDialog .secondary{min-height:38px;padding:7px 10px}
/* Named avatars and score-specific completion medals. */
.rulesToolbar{display:flex;gap:10px;justify-content:flex-end;margin:0}.rulesDialog{width:min(650px,calc(100% - 24px));line-height:1.6}.rulesDialog ul{list-style:disc;padding-left:22px;max-height:none;overflow:visible}.rulesDialog li{border:0;padding:4px 0;font-size:13px}.rulesDialog h3{color:#8fdec2;margin:22px 0 6px}
.challengeBar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.challengeBar>p{margin:0}.challengeBar #saveStatus{flex:1;min-width:180px}.completionActions{display:flex;flex-wrap:wrap;gap:8px}.completionActions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.challengeBar #progressSummary{width:100%}.challengeBar #saveStatus{font-size:12px}.challengeBar .rulesToolbar{margin-left:auto}}
.challengeTabs{display:flex;gap:8px;margin:0 0 24px}.challengeTabs button{padding:12px 18px;border:1px solid #344758;border-radius:8px;background:#132231;color:#a5b8c6;font-weight:800}.challengeTabs button[aria-selected=true]{background:#194436;color:#8fdec2;border-color:#67e0bd}.leaderboardScroll{overflow-x:auto}.leaderboardTable{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px;text-align:left}.leaderboardTable th,.leaderboardTable td{padding:14px 10px;border-bottom:1px solid #344758}.leaderboardTable thead{color:#a5b8c6;font-size:12px}.leaderboardTable .challengesTotal{color:#67e0bd;font-weight:800}.leaderboardTable .flawlessTotal{color:#ffd740;font-weight:800;white-space:nowrap}@media(max-width:600px){.leaderboardTable{font-size:12px}.leaderboardTable th,.leaderboardTable td{padding:12px 7px}}
.signupToPlay{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:10px 12px;border:1px solid #3c5262;border-radius:8px;font-weight:800;text-decoration:none}.unlockRequirements{margin-top:16px;padding-top:12px;border-top:1px solid #344758;font-size:12px;color:#a5b8c6}.unlockRequirements h4{margin:0 0 8px;color:#dfe9f1;font-size:12px}.unlockRequirements ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.unlockRequirements li{line-height:1.45}.unlockRequirements li.met{color:#67e0bd}
.scorerIdentity{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px}.scorerIdentity img{width:48px;height:52px;object-fit:contain;flex:none}@media(max-width:600px){.scorerIdentity{min-height:44px;gap:5px;font-size:13px}.scorerIdentity img{width:36px;height:44px}}
.botCardHeading{display:flex;align-items:center;gap:15px}.botCardHeading>div{flex:1;min-width:0}.botAvatar{width:100px;height:108px;object-fit:contain;flex:none}.botLevel.locked .botAvatar{filter:saturate(.5);opacity:.7}.completionScores{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.completionScores span{font-size:12px}.won{color:#67e0bd}.completionDialog li>small{display:block;color:#a5b8c6;font-size:11px;margin-top:5px}.completionCount.gold{color:#ffd740!important;border-color:#9c8126;background:#332c13}.completionCount.won{color:#67e0bd!important}
@media(max-width:600px){.botAvatar{width:78px;height:90px}.botCardHeading{gap:10px}.botCardHeading .levelTitle{flex-wrap:wrap;gap:5px}.botCardHeading .levelTitle h3{font-size:20px}}
