.mf-battle{--bb-bg:#fffcf4;--bb-card:#fffef9;--bb-border:#ded9cf;--bb-muted:#756f65;--bb-green:#087a55;--bb-soft:#e8f4ed;--bb-ink:#211f1c;box-sizing:border-box;width:min(720px,calc(100vw - 28px));max-width:720px;max-height:calc(100dvh - 32px);padding:0;border:2px solid var(--bb-ink);border-radius:24px;background:var(--bb-bg);color:var(--bb-ink);font:16px/1.45 "Avenir Next",system-ui,sans-serif;box-shadow:0 24px 90px #0003;overflow:hidden}
.mf-battle[open]{display:flex;flex-direction:column}.mf-battle::backdrop{background:#171c1866;backdrop-filter:blur(3px)}.mf-battle *{box-sizing:border-box}.mf-battle button,.mf-battle input,.mf-battle textarea,.mf-battle select{font:inherit;color:inherit}.mf-battle button{border:1px solid var(--bb-border);background:var(--bb-card);border-radius:10px;padding:9px 14px;min-height:44px;cursor:pointer;letter-spacing:normal;text-transform:none;box-shadow:none}.mf-battle button:hover{border-color:var(--bb-green)}.mf-battle button:disabled{opacity:.5;cursor:wait}.mf-battle .bb-primary{background:var(--bb-green);color:#fff;border-color:var(--bb-green);font-weight:750}.mf-battle .bb-link{border:0;background:transparent;padding:6px 2px;color:var(--bb-green);font-size:14px;min-height:36px}.mf-battle .bb-danger{color:#ae3832}.mf-battle :focus-visible{outline:2px solid var(--bb-green);outline-offset:3px}
.bb-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--bb-border);flex:none}.bb-head h2{font-size:23px;line-height:1.2;letter-spacing:-.5px;margin:0;flex:1;overflow-wrap:anywhere}.bb-head .bb-close{font-size:22px;padding:2px;width:44px;flex:none}.bb-content{padding:22px;overflow:auto;overscroll-behavior:contain;min-height:0}.bb-status{margin:0;padding:0 22px;color:var(--bb-muted);font-size:14px;flex:none}.bb-status:not(:empty){padding:12px 22px;border-bottom:1px solid var(--bb-border)}.bb-status[data-error=true]{color:#b64232}.bb-muted{color:var(--bb-muted);font-size:14px}.bb-content h3{font-size:19px;margin:24px 0 12px}.bb-content p{margin:8px 0 14px}.bb-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.bb-card{padding:16px;border:1px solid var(--bb-border);border-radius:16px;background:var(--bb-card);margin:12px 0;overflow-wrap:anywhere}.bb-group{width:100%;display:flex!important;text-align:left;justify-content:space-between;align-items:center;gap:14px;margin:10px 0}.bb-group strong{display:block;font-size:19px}.bb-group small{display:block;color:var(--bb-muted);margin-top:4px}.bb-field{display:block;margin:14px 0}.bb-field>span{display:block;font-weight:700;margin-bottom:7px}.mf-battle input,.mf-battle textarea,.mf-battle select{display:block;width:100%;border:1px solid var(--bb-border);border-radius:10px;background:var(--bb-card);padding:12px;min-height:44px}.mf-battle textarea{min-height:88px;max-height:180px;resize:vertical;line-height:1.4}.bb-score-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:var(--bb-muted);margin:4px 0 12px}.bb-scores{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px}.bb-score{flex:1 0 100px;text-align:center;border:1px solid var(--bb-border);background:var(--bb-card);padding:12px 8px;border-radius:15px;max-width:180px}.bb-score.you{border-color:var(--bb-green)}.bb-score.leader{background:var(--bb-soft)}.bb-score strong{display:block;font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums}.bb-score span{display:block;font-weight:700;font-size:13px;overflow-wrap:anywhere;margin-top:5px}.bb-score small{font-size:10px;color:var(--bb-muted);letter-spacing:1px}.bb-challenge{color:var(--bb-green);font-weight:650;font-size:14px}.bb-chat-heading{display:flex;align-items:baseline;justify-content:space-between}.bb-chat-heading h3{margin-bottom:0}.bb-chat-heading small{color:var(--bb-muted)}.bb-composer{padding:14px;background:var(--bb-soft);border-radius:14px;margin:14px 0}.bb-composer .bb-actions{justify-content:flex-end;margin-top:8px}.bb-composer label{display:block;font-size:13px;margin:8px 0}.bb-message-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bb-message-head strong{font-size:14px}.bb-message-head time{color:var(--bb-muted);font-size:12px}.bb-message-text{white-space:pre-wrap;overflow-wrap:anywhere}.bb-quote{font-size:13px;color:var(--bb-muted);border-left:3px solid var(--bb-green);padding:4px 10px;margin:8px 0}.bb-bubble{display:inline-block;border:2px solid var(--bb-green);border-radius:28px;font-size:18px;font-weight:750;padding:9px 16px;margin:4px 0 10px;overflow-wrap:anywhere;max-width:100%}.bb-ref{font-size:13px;border-width:1px}.bb-checkbox{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--bb-border)}.mf-battle .bb-checkbox input{width:20px;min-height:20px;flex:none;accent-color:var(--bb-green);margin-top:3px}.bb-footnote{font-size:12px;color:var(--bb-muted);margin-top:24px!important}.bb-empty{padding:18px 0;color:var(--bb-muted)}.bb-busy{opacity:.7}
html[data-mindfree-theme=dark] .mf-battle{--bb-bg:#1c1f1a;--bb-card:#252922;--bb-border:#4b5147;--bb-muted:#bebbae;--bb-green:#6fd2ae;--bb-soft:#183a2e;--bb-ink:#f4efe6}html[data-mindfree-theme=dark] .mf-battle .bb-primary{background:#087a55;border-color:#199774;color:#fff}
@media(max-width:520px){.mf-battle{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}.bb-head{padding:14px}.bb-head h2{font-size:20px}.bb-content{padding:16px}.bb-status:not(:empty){padding:10px 16px}.bb-score{flex-basis:90px}.bb-message-head{align-items:flex-start}}

/* First-visit discovery stays in the header flow; never covers category chips. */
.bb-discovery-hint{display:block;margin:8px 0 0 auto;padding:10px 13px;min-height:44px;max-width:100%;border:1px solid #087a5566;border-radius:12px;background:#e8f4ed;color:#075d42;line-height:1.4;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:normal}
.bb-discovery-hint[hidden]{display:none!important}.bb-discovery-hint:hover{background:#d6ecdf}.bb-discovery-hint:focus-visible{outline:2px solid #087a55;outline-offset:3px}
html[data-mindfree-theme=dark] .bb-discovery-hint{background:#183a2e;color:#b7edda;border-color:#6fd2ae80}

.mf-battle .bb-integrity{display:block;width:100%;margin-top:7px;padding:6px 2px;min-height:44px;border:0;background:transparent;font-size:11px;font-weight:650;line-height:1.35;text-align:center;color:var(--bb-ink);cursor:pointer}.bb-integrity-explanation{padding:14px;border:1px solid var(--bb-border);border-radius:12px;background:var(--bb-soft);font-size:13px;margin-top:8px}.bb-integrity-explanation p{font-size:13px;color:var(--bb-muted)}.bb-integrity-explanation[hidden]{display:none}

/* Scores are visible on the first screen behind the fire button. */
.mf-battle .bb-overview{display:block!important;padding:16px;border-radius:18px}
.bb-overview-scores{display:block;margin-top:12px;font-size:15px}
.bb-overview-day{display:block;font-size:10px;letter-spacing:1px;color:var(--bb-muted);margin-bottom:8px}
.bb-overview-player{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 0}
.bb-overview-player.you{color:var(--bb-green);font-weight:750}
.bb-overview-player b{font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums}
.bb-overview-total{display:block;margin-top:8px;font-size:12px;color:var(--bb-muted)}
.bb-overview-open{display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--bb-border);font-size:13px;font-weight:750;color:var(--bb-green)}

/* Continuous chronological chat, with its own scroll area and composer below. */
.bb-chat-stats{margin-bottom:8px}.bb-chat-stats summary{cursor:pointer;font-weight:700;color:var(--bb-green);padding:8px 0}
.bb-chat-stream{height:clamp(240px,42dvh,560px);overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;border-top:1px solid var(--bb-border);border-bottom:1px solid var(--bb-border);padding:8px 2px}
.bb-chat-line{padding:12px 4px;border-bottom:1px solid var(--bb-border);overflow-wrap:anywhere}.bb-chat-line:last-child{border-bottom:0}
.bb-chat-line .bb-message-head{margin-bottom:5px}.bb-chat-line .bb-actions{gap:16px;margin-top:3px}.bb-chat-line .bb-link{font-size:12px;min-height:30px}
.bb-chat-reference{font-size:14px;color:var(--bb-muted);margin:6px 0;white-space:pre-wrap}
.bb-compose-bottom{position:sticky;bottom:-22px;background:var(--bb-bg);padding:6px 0 2px}.bb-compose-bottom .bb-composer{margin:0;padding:10px}.bb-compose-bottom textarea{min-height:60px}
.bb-compose-bottom .bb-latest{display:block;margin-left:auto;font-size:12px}
@media(max-width:520px){.bb-compose-bottom{bottom:-16px}.bb-chat-stream{height:38dvh;min-height:200px}}
