/* Keep the puzzle dominant; character color stays in the portrait and picker. */
body[data-mini=blockplus] { --accent: #78caff; --surface: #152e50; background: #08152b; }
body[data-mini=blockplus] .mini-stage { border-color: #6b9dce; border-radius: 14px 14px 0 0; }
body[data-mini=blockplus] .mini-hud { background: linear-gradient(#102a49f5, #102a4900); }
body[data-mini=blockplus] .mini-hud > span:first-child { border-color: #8bbcf53d; background: #091b32b3; }
body[data-mini=blockplus] .mini-hud button { background: #183858; border-color: #82b6e34d; }
body[data-mini=blockplus] .mini-buddy { border-color: #6b9dce; border-top-color: #88b6df24; background: linear-gradient(110deg, #193658, #0d1e36); border-radius: 0 0 14px 14px; }
body[data-mini=blockplus] .buddy-talk { border: 0; background: transparent; padding-left: 0; }
body[data-mini=blockplus] .mini-panel { background: radial-gradient(ellipse at 50% 0, #264c72, #101e35 78%); border-color: #93bce580; }
body[data-mini=blockplus] .mini-play { background: linear-gradient(#ffe7ac, #dca855); }

/* Blue steel frame; gold is reserved for selection and achievement. */
body[data-mini=blockplus] .mini-shell { min-height: 0; padding: 1px 2px max(1px, env(safe-area-inset-bottom)); }
body[data-mini=blockplus] .mini-stage { border-color: #7aa6c5; box-shadow: inset 0 1px #d7efff40, 0 0 0 1px #020b17; }
/* Keep the portrait inside its strip, clear of the selectable trays above. */
body[data-mini=blockplus] .mini-buddy { height: 48px; gap: 6px; padding: 0 6px; border-color: #7aa6c5; }
body[data-mini=blockplus] .buddy-portrait { width: 46px; height: 46px; margin-top: 0; align-self: center; }
body[data-mini=blockplus] .buddy-talk { padding: 4px 0; }
body[data-mini=blockplus] .buddy-badge { padding: 4px; }
body[data-mini=blockplus] .mini-hud strong { color: #fff0cb; }
body[data-mini=blockplus] .cast-choice[aria-pressed=true] { border-color: #ffe1a0; box-shadow: 0 0 0 2px #e7c78420, inset 0 1px #fff5; }
@media(max-height:650px) {
    body[data-mini=blockplus] .mini-buddy { height: 44px; }
    body[data-mini=blockplus] .buddy-portrait { width: 42px; height: 42px; }
}

.panel-status { margin: 0; color: #c5def2; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-align: center; }
.result-stats { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; gap: 5px; padding: 10px 0; border-block: 1px solid #9bc2df30; }
.result-stats span { display: grid; gap: 5px; text-align: center; color: #b2c9dc; font-size: 10px; }
.result-stats strong { color: #ffdf9d; font-size: 23px; font-variant-numeric: tabular-nums; }
body[data-mini=blockplus] .mini-play { display: flex; justify-content: center; gap: 8px; width: 160px; min-height: 52px; font-size: 15px; font-weight: 800; }
body[data-mini=blockplus] .mini-play svg { width: 19px; height: 19px; }
body[data-mini=blockplus] .mini-panel { gap: 10px; }
body[data-mini=blockplus] .mini-next { min-height: 44px; }

/* Preserve a 44px touch width without increasing the reserved HUD strip. */
body[data-mini=blockplus] .mini-hud { padding: 1px 5px; }
body[data-mini=blockplus] .mini-hud button { width: 44px; height: 40px; }
.mini-overlay[data-mode=result] .mini-hero,
.mini-overlay[data-mode=pause] .mini-hero { width: 120px; height: 90px; }
.mini-overlay[data-mode=result] .panel-portrait,
.mini-overlay[data-mode=pause] .panel-portrait { width: 94px; height: 94px; }
.mini-overlay[data-mode=result] .mini-hero::before,
.mini-overlay[data-mode=pause] .mini-hero::before { width: 78px; height: 78px; }
.mini-overlay[data-mode=result] .mini-hero::after,
.mini-overlay[data-mode=pause] .mini-hero::after { display: none; }
.mini-overlay[data-mode=result] .mini-message::after { content: ' 点'; color: #b7cde0; font-size: 12px; }
@media(max-height:650px) {
    body[data-mini=blockplus] .mini-overlay { padding: 8px; }
    body[data-mini=blockplus] .mini-panel { gap: 7px; padding: 10px 12px; }
    .mini-overlay[data-mode=result] .mini-hero { height: 64px; }
    .mini-overlay[data-mode=result] .panel-portrait { width: 70px; height: 70px; }
    .mini-overlay[data-mode=result] .mini-hero::before { width: 58px; height: 58px; }
    .result-stats { padding: 7px 0; }
}

/* All characters remain selectable without expanding the start panel. */
.cast-picker { display: grid; grid-template-columns: repeat(4, 50px); gap: 8px; max-height: 116px; overflow-y: auto; width: 100%; justify-content: center; padding: 5px; }
.cast-choice[aria-pressed=true]::after { content: '✓'; width: 16px; height: 16px; left: auto; right: -2px; bottom: -2px; color: #302720; font-size: 12px; text-align: center; }
body[data-mini=blockplus] .mini-buddy { height: 64px; }
body[data-mini=blockplus] .buddy-portrait { width: 62px; height: 62px; }
body[data-mini=blockplus] .mini-shell { min-height: 0; }
body[data-mini=blockplus] .mini-play { border-radius: 8px; }
@media(max-height:650px) { body[data-mini=blockplus] .mini-buddy { height: 48px; } body[data-mini=blockplus] .buddy-portrait { width: 46px; height: 46px; } .cast-picker { max-height: 62px; } }

.mini-overlay:not([data-mode=result]) .game-ranking-open { display: none; }

/* Female lane: existing cream paper and soft green puzzle palette. */
:root { color-scheme: light; color: #303f40; background: #f6f4ee; }
body[data-mini=blockplus] { background: #f6f4ee; --surface: #edf2e9; }
body[data-mini=blockplus] .mini-stage { background: #f4f4ed; border-color: #b6c6bc; box-shadow: none; }
body[data-mini=blockplus] .mini-hud { background: linear-gradient(#f4f4ed,#f4f4ed00); color:#356c65; }
body[data-mini=blockplus] .mini-hud > span:first-child { background: #fffdf8; border-color:#d7e2d8; }
body[data-mini=blockplus] .mini-hud strong,body[data-mini=blockplus] .score-symbol { color:#356c65; }
body[data-mini=blockplus] .mini-hud button { background:#fffdf8; color:#356c65; border-color:#b6c6bc; box-shadow:none; }
.mini-time {color:#356c65;}
body[data-mini=blockplus] .mini-buddy { background:#fffdf8; border-color:#b6c6bc; }
.buddy-talk {color:#303f40;}
.buddy-badge {color:#356c65;background:#e9eee6;}
.mini-overlay {background:#e7eee7bb;backdrop-filter:blur(5px);}
body[data-mini=blockplus] .mini-panel {background:#fffdf8;border-color:#d7e2d8;border-radius:18px;box-shadow:0 8px 24px #33443d12;}
.mini-hero {background:radial-gradient(ellipse,#dce9dd88,transparent 68%);}
.mini-hero::before {border-color:#b8cbbd;box-shadow:none;}
.mini-hero::after {display:none;}
.panel-status,.mini-hint,.mini-best {color:#6d7977;}
.mini-message,.result-stats strong {color:#356c65;}
.result-stats {border-color:#d7e2d8;}.result-stats span {color:#6d7977;}
.cast-choice {border-color:#d7e2d8;background:#f4f2ed;box-shadow:none;border-radius:12px;}
body[data-mini=blockplus] .cast-choice[aria-pressed=true] {border-color:#356c65;background:#e1eee4;box-shadow:0 0 0 1px #356c65;}
.cast-choice[aria-pressed=true]::after {background:#356c65;color:white;}
body[data-mini=blockplus] .mini-play {background:#e5eee7;color:#356c65;border-color:#b6c6bc;box-shadow:0 3px #c2d2c7;}
.mini-next {color:#356c65;border-color:#d7e2d8;}
.mini-overlay[data-mode=result] .mini-message::after {color:#6d7977;}

/* Keep name and short dialogue visible within the existing companion strip. */
.buddy-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.buddy-name { color:#aac9e4; font-size:10px; line-height:1.2; }
body[data-mini=blockplus] .buddy-copy .buddy-talk { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; overflow:hidden; padding:0; margin:0; line-height:1.4; max-height:2.8em; }
body[data-mini=blockplus] .buddy-name {color:#6d7977;}
