/* Local corrections: preserve world artwork and reserve separate HUD rows. */
[hidden]{display:none!important}
.tools{visibility:hidden;pointer-events:none}
.tools .control{visibility:inherit}
#game[data-state="intro"]>.hud,#game[data-state="intro"]>.guide,
#game[data-state="intro"]>.hero,#game[data-state="intro"]>.board-wrap,
#game[data-state="intro"]>.star-jar{display:none!important}
.is-paused *{animation-play-state:paused!important}
.is-paused .guide,.is-paused .board-wrap{pointer-events:none}
.slot:disabled{cursor:default}
.slot img{object-fit:cover}
.slot.selected{outline:3px solid #ffe59b;outline-offset:-4px;background:radial-gradient(ellipse,#ffe39a35,transparent 70%)}
.supply-log{object-fit:cover}
.slot.hint{outline:5px solid #ffdf79;outline-offset:-5px;background:#ffdf7926}
.levels .dot.completed::after{content:'✓';font-size:14px;position:absolute;bottom:0;right:0;color:#664321;background:#fff3c5;border-radius:50%;width:18px;height:18px}
.levels .dot{position:relative}
.demo-hand{z-index:70}
.check.demo{animation:confirm-demo .65s ease-in-out infinite}
@keyframes confirm-demo{50%{transform:translateX(-50%) scale(1.12);filter:drop-shadow(0 0 14px #ffd769)}}
.rounds{left:auto;right:18px;top:20px;transform:none}
.levels{left:54%;top:17px}
.guide{top:15%;right:2%;width:32%;height:145px}
.board-wrap{left:17%;right:21%;top:30%;bottom:17%}
.hero{right:100px;bottom:4%;width:130px}
.supply{padding:0 12px;min-width:0;bottom:-12%;gap:10px}
.check{position:fixed!important;bottom:18px!important;left:50%!important;right:auto!important}
.panel{width:min(92vw,610px);box-sizing:border-box;max-height:90dvh}
.panel h1{font-size:clamp(26px,4vw,40px)}
.panel h1{max-width:360px;margin:0 auto 12px;line-height:1.12;text-wrap:balance}
#reward .panel{padding-top:110px;padding-bottom:55px}
#menu .panel{padding-top:65px;padding-bottom:50px}
.reward-art .highfive{max-width:100%;width:270px;height:160px;max-height:160px;object-fit:contain}
#game[data-state="game-complete"] .badge{filter:drop-shadow(0 0 20px #ffdf72);transform:scale(1.1)}
.level-buttons{gap:8px;margin:14px 0 24px}
.level-button{min-width:48px;width:56px;min-height:56px}
.actions{gap:10px}.wood-button{min-width:76px;min-height:56px;font-size:18px}
@media(max-width:760px),(orientation:portrait){
 body.wm-four-controls-active[data-wm-controls-game="14"] #game #levelPath,#levelPath.levels{left:50%;right:auto;top:74px;width:230px;max-width:230px;gap:3px;transform:translateX(-50%);z-index:41}
 .levels .dot{flex:0 0 39px;width:39px;height:42px}.levels .dot.active{flex-basis:45px;width:45px;height:48px}
 .rounds{left:auto;right:9px;top:14px;transform:none;gap:1px;padding:5px 4px;flex-wrap:wrap;width:66px;box-sizing:border-box}
 .rounds .dot{width:26px;height:21px}
 .guide{top:128px;left:12%;right:3%;width:85%;height:94px}
 .guide img{height:94px;width:30%}.speech{width:70%;min-height:94px;padding:16px 20px;font-size:15px;box-sizing:border-box}
 .board-wrap{left:3%;right:3%;top:230px;bottom:155px}
 .dam{width:min(100%,520px)}
 .slot{min-height:48px;min-width:48px}
 .supply{bottom:-15%;padding:0;gap:8px;min-height:40px;min-width:0}.supply-log{width:45px;height:36px}
 .hero{right:auto;left:16%;bottom:14px;width:77px;max-height:105px}
 .star-jar{right:10px;bottom:14px;width:65px;height:78px}
 .check{width:76px;height:76px;bottom:18px!important}
 .panel{padding:38px 22px 32px;width:96vw;max-height:90dvh}
 .panel h1{font-size:27px}.panel p{font-size:17px}.badge{width:76px;height:76px}
 #reward .panel{padding:160px 34px 50px;position:relative}
 #reward .badge{position:absolute;top:22px;left:calc(50% - 32px);width:64px;height:64px}
 #reward h1{font-size:24px;max-width:235px;min-height:54px}
 #menu .panel{padding:55px 26px 40px}
 #menu h1{font-size:24px;max-width:240px}
 .actions{gap:6px}.wood-button{font-size:16px;min-width:72px;padding:4px 8px}
 .reward-art{height:108px}.reward-art img{max-height:105px}
 .reward-art .highfive{height:108px;max-height:108px;width:200px}
 .level-buttons{gap:5px}.level-button{width:48px;min-width:48px}
}
@media(prefers-reduced-motion:reduce){.check.demo{animation:none!important;outline:5px solid #ffe18b}}
/* The same calm presentation is available without changing device settings. */
#game[data-motion="reduce"] *,#game[data-motion="reduce"] *::before,#game[data-motion="reduce"] *::after{
 animation:none!important;transition:none!important;scroll-behavior:auto!important;
}
#game[data-motion="reduce"] .check.demo{outline:5px solid #ffe18b}
#game[data-motion="reduce"] .dam.success .boat{left:72%;opacity:1}
#motion{min-width:130px}
/* Keep the expanded pause menu inside the painted frame and below its crest. */
#menu .panel{padding:110px 65px 85px}
@media(max-width:760px),(orientation:portrait){
 #menu .panel{padding:113px 46px 88px}
 #menu h1{font-size:22px;max-width:200px}
 #menu .level-buttons{gap:3px}
 #menu .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#menu .wood-button,#menu #motion{min-width:0;width:100%}
}
/* Character lighting: warm rim light and a darker contact shadow preserve fur detail. */
#kova,.guide img,.reward-art .highfive{
 filter:brightness(1.12) contrast(1.09) saturate(1.06)
  drop-shadow(0 0 2px #fff8e6) drop-shadow(0 0 9px #ffe9b899)
  drop-shadow(0 9px 5px #243e36b3);
}
.hero{width:210px;max-height:250px;right:95px;bottom:28px}
.guide{height:185px;width:35%;top:14%;right:1%}
.guide img{width:46%;max-height:185px;flex-shrink:0}
.guide .speech{width:65%;flex-shrink:1}
@media(max-width:760px),(orientation:portrait){
 .hero{left:2%;right:auto;bottom:52px;width:136px;max-height:155px}
 .guide{left:5%;right:1%;top:119px;width:94%;height:125px}
 .guide img{width:39%;height:125px;max-height:125px}
 .guide .speech{width:65%;min-height:102px;padding:17px 19px;font-size:15px}
}
@media(orientation:portrait) and (min-height:780px){
 .hero{width:160px;max-height:185px;bottom:52px}
 .guide{height:140px}.guide img{height:140px;max-height:140px}
}
/* One four-task reward bar replaces the jar and the duplicate top HUD. */
.star-jar.task-star-bar{width:184px;height:62px;right:14px;bottom:20px;filter:drop-shadow(0 5px 4px #392c2455)}
.task-star-bar #rounds{position:static;inset:auto;transform:none;width:100%;height:100%;box-sizing:border-box;display:flex!important;flex-wrap:nowrap;gap:4px;padding:8px;border:3px solid #9b6835;border-radius:28px;background:#fff3d4;box-shadow:inset 0 2px 0 #fffaf0;backdrop-filter:none}
.task-star-bar #rounds .dot{flex:1 1 0;min-width:0;width:35px;height:35px}
.task-star-bar #rounds .dot:not(.done),.task-star-bar #rounds .dot.juice-pending{filter:brightness(.68) saturate(1.2)}
.slot img,.supply-log{
 filter:brightness(1.3) contrast(1.4) saturate(1.18)
  drop-shadow(1px 0 0 #fff0bc) drop-shadow(-1px 0 0 #fff0bc)
  drop-shadow(0 -1px 0 #fff0bc) drop-shadow(0 2px 0 #4b2915)
  drop-shadow(0 5px 3px #102e29e6);
}
.supply-log.used{opacity:.65}
@media(min-width:761px) and (orientation:landscape){.hero{right:180px}.supply{bottom:-3%}}
@media(max-width:760px),(orientation:portrait){
 .star-jar.task-star-bar{width:124px;height:48px;right:8px;bottom:30px}
 .task-star-bar #rounds{gap:1px;padding:5px;border-width:2px;border-radius:23px}
 .task-star-bar #rounds .dot{width:26px;height:29px}
}
@media(orientation:portrait){
 #intro.wm-story-opening>.wm-story-title{max-width:calc(100% - 28px)!important}
 #reward .panel{padding-top:190px;padding-bottom:80px}
}
