/* 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; }

/* 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; }
