/* Stronger character cues, with cream highlights to retain the reference's painted look. */
.reference-game .tile:not(.blocked-tile):not(.power-tile) .role-wash{background:linear-gradient(145deg,#fffdf3 4%,color-mix(in srgb,var(--role-light) 80%,#fff2d8) 46%,var(--role-light));box-shadow:inset 0 1px 1px #fffff0,inset 0 -3px 2px color-mix(in srgb,var(--role-accent) 55%,#edce9d),inset 0 0 0 1px color-mix(in srgb,var(--role-accent) 62%,#fff2d0)}
.reference-game .tile:not(.blocked-tile):not(.power-tile) .role-wash:after{content:'';position:absolute;left:24%;right:24%;bottom:2%;height:3%;min-height:2px;border-radius:50%;background:var(--role-accent);opacity:.85}
.reference-game .tile .piece-art{width:95%;height:95%;filter:drop-shadow(0 2px 1px #7050214a)}
.reference-game .tile .blocker-art{width:100%;height:100%}.reference-game .tile[data-blocker=crate][data-hp='1'] .blocker-art{filter:drop-shadow(0 1px 1px #78512970) saturate(.75) brightness(1.12)}
.reference-game .tile .blocker-hp{font-variant-numeric:tabular-nums;box-shadow:0 1px 2px #56371855}
.reference-game .tile.obstacle-preview:before{border-color:#f1b553;background:#fff2ba38;z-index:5}.reference-game .tile.obstacle-break-preview:before{border-color:#9bbb54;background:#dcf4ae38;z-index:5}
.reference-game .tile.suggested:before{border:2px solid #d9a63e;background:#ffe78433;box-shadow:inset 0 0 7px #fff7c0,0 0 3px #ddb65c}.reference-game .tile.group-ready:before{border-color:#ddb24e;background:#fff0a523}
.reference-game .power-tile .power-ring{background:linear-gradient(145deg,#fff9df1a,transparent 50%);border-color:#d9a23c;box-shadow:inset 0 1px #fffbea,inset 0 -2px #b9802b4a,0 1px 2px #ac77393d}
.mode-badge{display:inline-block;font-family:var(--forest-title);font-size:clamp(9px,2.3cqw,12px);font-style:normal;line-height:1.3;padding:2px 5px;color:#59783d;background:linear-gradient(#eef5d4,#d8e8b7);border:1px solid #b2c986;border-radius:7px;box-shadow:inset 0 1px #fcffec;margin-right:3px}
.swap-game .mode-badge{color:#735293;background:linear-gradient(#f0e4f8,#dec9ec);border-color:#c3a2d5;box-shadow:inset 0 1px #fff4ff}
.adventure-ribbon{gap:3px;padding-left:8px}.adventure-ribbon>div{flex:1}.adventure-ribbon strong{font-size:clamp(13px,3.5cqw,24px)}.level-subtitle{font-size:clamp(9px,2.3cqw,13px);white-space:nowrap}.adventure-ribbon button{width:40px;height:44px;flex-shrink:0;border:0;background:transparent;padding:4px;border-radius:12px;transition:transform .12s ease-out,background-color .12s ease-out}.adventure-ribbon button:hover:not(:disabled){background:#e6c99740}.adventure-ribbon button:disabled{opacity:.5}.hint-button .art-icon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 1px #8b532026)}
.move-preview{font-family:var(--forest-title);font-weight:400;letter-spacing:.02em;text-wrap:pretty;padding:6px 10px;box-shadow:inset 0 1px #fffef1,0 2px #b3925840,0 4px 8px #55652b12;min-height:4.1%}
.reference-goal strong{font-variant-numeric:tabular-nums}.reference-game .reference-goal strong.goal-done{box-shadow:inset 0 1px #d9efad,0 0 0 1px #bdd385;color:#fffde0;font-size:3.1cqw}
.bomb-blast{position:absolute;width:28%;aspect-ratio:1;border-radius:50%;translate:-50% -50%;border:5px solid #ffdf87;background:radial-gradient(circle,#fffbe1a0,#ffbf5060 40%,transparent 70%);box-shadow:0 0 16px #ffe7a155;animation:bloom-burst .5s ease-out forwards}
.rainbow-blast{position:absolute;width:35%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:4px solid #fcf5da;background:conic-gradient(#ffc55a60,#a9d96b60,#74caed60,#b897ea60,#efa2bd60,#ffc55a60);animation:bloom-burst .62s ease-out forwards;box-shadow:0 0 16px #fff1b280}
.praise{pointer-events:none;z-index:7}.praise strong{font-size:clamp(18px,5.3cqw,32px);text-wrap:balance}.praise span{font-variant-numeric:tabular-nums}.praise[data-effect=rainbow] strong{color:#ffedf7;-webkit-text-stroke-color:#925a92;text-shadow:0 2px #774879}.praise[data-effect=combo] strong{color:#fff1b2}.praise.small span{font-size:clamp(12px,3.2cqw,18px)}
@keyframes bloom-burst{from{scale:.25;opacity:1}45%{opacity:.85}to{scale:2;opacity:0}}
@media(max-width:360px){.adventure-ribbon{left:29%;padding-left:6px}.adventure-ribbon button{width:40px;padding:3px}.mode-badge{padding:2px 3px;margin-right:1px}.hard-badge{margin-left:3px;font-size:9px}.adventure-ribbon strong{font-size:13px}.game-back{width:24%;min-width:78px}.level-subtitle{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bomb-blast,.rainbow-blast{display:none}.adventure-ribbon button{transition:none}.reference-game .tile.suggested:before{animation:none}}

.adventure-ribbon .hint-button{position:relative;padding:2px 6px 13px}.hint-button>span{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:var(--forest-title);font-size:10px;color:#678548;line-height:1.2}.hint-button .art-icon{height:29px}.guide-focus{display:flex;flex-direction:column;gap:3px;background:#e9edcf90;border:1px solid #c8d2a3;border-radius:12px;padding:8px;color:#658043}.guide-focus strong{font-family:var(--forest-title);font-weight:400;font-size:clamp(13px,3.3cqw,18px)}

.level-subtitle{overflow:hidden;text-overflow:ellipsis}.adventure-ribbon strong{min-width:0}.adventure-ribbon .hard-badge{flex-shrink:0}

/* Cover the baked number completely, including while the tool is unavailable. */
.reference-game .tools .tool .count{width:41%;right:-1%;bottom:4.5%;font-size:4.2cqw;background:#87502b;box-shadow:inset 0 1px #a66e3e,0 1px 2px #6e43202b;border:1px solid #e8c28e;line-height:1}
.reference-game .tools .tool:disabled{opacity:1}.reference-game .tools .tool:disabled:before{background:#efe2c250}.reference-game .tools .tool:disabled .count{color:#f1d8b0;background:#87502b}.reference-game .tools .tool .count[data-digits='3']{font-size:3.1cqw}

.result .guide-close{width:44px;height:44px}
/* 两种模式在开始前分别说明玩法，沿用森林木牌与奶油色面板。 */
.mode-intro-tag{padding:9px 14px;background:linear-gradient(#a6dc5b,#76b644);border:2px solid #e9ffd2;border-radius:18px;color:#25491c;font-weight:900;text-align:center;box-shadow:0 3px 0 #51842b}
.mode-intro-steps{display:grid;gap:12px;margin:20px 0}.mode-intro-steps>div{display:flex;gap:12px;align-items:flex-start;padding:13px;background:#fff4d9;border:1px solid #e7bf80;border-radius:16px;box-shadow:0 3px 0 #d6b38333}.mode-intro-steps>div>b{display:grid;place-items:center;flex:0 0 32px;height:32px;color:#fff5da;background:linear-gradient(#d99b4f,#a56830);border:2px solid #f6cf85;border-radius:50%;text-shadow:0 1px #70421f}.mode-intro-steps p{margin:0}.mode-intro-steps strong,.mode-intro-steps span{display:block}.mode-intro-steps span{font-size:14px;line-height:1.65;margin-top:5px;color:#76502e}.mode-intro-tip{padding:10px 12px;border-radius:12px;background:#e9f1d5;font-size:13px;line-height:1.6}.mode-intro-steps~.mini-action{display:block;min-height:48px;width:100%;font-size:17px}
