/* Reference layout: hanging goals, wooden move counter, vine score and a bare tile board. */
:root{background:#178bc5;color:#fff9d5}body{min-height:100dvh;background:#178bc5}.forest-world{background:#178bc5;filter:none}.sunlight,.topbar,.left-rail,.right-rail,.game-heading,.party-clouds{display:none}
.game-layout{display:block;position:relative;width:100%;max-width:480px;padding:0;margin:0 auto;isolation:isolate}.play-column{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding-top:clamp(180px,27dvh,290px);padding-bottom:25px}
.play-column:before{content:'';position:absolute;inset:0;z-index:-1;background:#188dca url('assets/classic-sky.svg') center/100% 100% no-repeat}.level-banner{position:absolute;top:0;left:0;right:0;height:145px;margin:0;display:block;pointer-events:none}.level-banner>div{position:absolute;top:25px;left:8px;display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:0;text-shadow:0 2px #568329,-1px 0 #568329,1px 0 #568329;color:#f8ffd2}.level-banner b{font:900 23px/1.2 'Microsoft YaHei',sans-serif}.level-banner .level-dot,#level-name{display:none}.level-home{display:none}.pause{position:absolute;left:17px;right:auto;top:66px;width:43px;height:43px;border:2px solid #efffcaa6;background:linear-gradient(#d8fa7c36,#8cb72b70);box-shadow:0 0 0 3px #d7ff6d22;border-radius:50%;pointer-events:auto;color:#f8ffb3}.pause svg{width:25px;height:25px;stroke-width:5}
.game-hud{position:absolute;top:28px;left:99px;right:10px;height:90px;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;display:block}.moves-box{position:absolute;top:14px;right:0;width:91px;height:85px;padding:10px 0 0;border:8px solid #c18c48;border-radius:8px;background:linear-gradient(#462d32,#42232a);box-shadow:inset 0 0 0 3px #80512f,0 3px #88602d,0 0 0 2px #e5b96e}.moves-box:before{content:'';position:absolute;width:5px;height:65px;left:calc(50% - 3px);top:-75px;background:repeating-linear-gradient(0deg,#ba823d 0 3px,#8f5c2c 4px 6px);box-shadow:1px 0 #f4cc78}.moves-box>span{font:700 11px 'Microsoft YaHei',sans-serif;color:#cfad75;text-shadow:0 1px #452b2d;white-space:nowrap}.moves-box strong{font:900 37px/1.2 Arial;color:#ffd43a;text-shadow:0 2px #925025}.moves-box small{display:none}.goals-box{position:absolute;top:0;left:0;right:103px}.goals-label{display:none}.goals{display:flex;justify-content:center;align-items:start;gap:11px}.goal{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:57px;height:64px;background:#fff0b7;border:7px solid #c28940;border-radius:5px;box-shadow:inset 0 0 0 2px #99602d,0 3px #815322,0 0 0 1px #edc572}.goal:before{content:'';position:absolute;width:4px;height:48px;left:calc(50% - 2px);top:-57px;background:repeating-linear-gradient(0deg,#ba823d 0 3px,#8f5c2c 4px 6px);box-shadow:1px 0 #e6bd73}.goal .animal{width:43px;height:43px}.goal strong{position:absolute;right:-10px;bottom:-10px;z-index:5;font:900 23px/1 Arial;color:#fff4c5;text-shadow:0 2px #674b27,2px 0 #674b27,-2px 0 #674b27,0 -1px #674b27}.goal small{display:none}.goal.done strong{color:#86e035;right:-10px;bottom:-9px}.goal.done svg{width:27px;height:27px;stroke-width:5;stroke:#64c630;filter:drop-shadow(0 1px #39602a)}.goal-ice{width:36px;height:38px;border-radius:0;margin:0;font-size:26px;border:2px solid #dcfcff;background:linear-gradient(#e8fcff,#8ed5ed);box-shadow:none}
.score-row{position:absolute;top:126px;left:0;right:24%;height:40px;display:block;padding:0;background:none}.score-label{position:absolute;left:7px;top:-2px;font:700 11px/1.2 Arial,'Microsoft YaHei',sans-serif;color:#e5ffa3;text-shadow:0 1px #56782b;display:flex;flex-direction:column;gap:2px}.score-label b{font:700 12px Arial;color:#e5ffa3;margin:0;text-shadow:0 1px #56782b}.star-progress{position:absolute;left:62px;right:2px;top:0;width:auto;display:block;transform:rotate(-6deg)}.star-track{height:17px;border:0;border-radius:12px 70% 70% 12px;background:linear-gradient(#63922b,#48771e);box-shadow:0 0 0 3px #527f2366,0 0 10px #b2ff2a;overflow:visible}.star-track:before{content:'';position:absolute;width:31px;height:34px;background:linear-gradient(135deg,#9ac83d,#387621);border-radius:80% 0 80% 0;left:-16px;top:-9px;transform:rotate(30deg)}.star-track i{border-radius:12px;background:linear-gradient(#aaff28,#63d719);box-shadow:0 0 6px #b9ff4f}.star-progress>span{position:absolute;left:39%;right:7%;top:-7px;display:flex;justify-content:space-between;gap:4px;font-size:22px;line-height:1;letter-spacing:0;color:#d4d699;text-shadow:0 2px #8f6e27,-1px 0 #ad7a2e,1px 0 #ad7a2e}.star-progress>span .earned{color:#ffec80;text-shadow:0 2px #bf923c,-1px 0 #fff6a7,1px 0 #fff6a7}
.board-shell{margin:0 1px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.board-trim{display:none}.board{padding:0;gap:0;border:2px solid #417f9e;border-radius:1px;background:#153751;box-shadow:none;overflow:hidden}.cell[data-type],.cell:nth-child(n){border:0;border-radius:0;padding:0;background:linear-gradient(#1d3f57,#16344b);box-shadow:inset 0 0 0 1px #1f4c65}.cell:nth-child(even){background:linear-gradient(#204159,#18374d)}.cell:after{display:none}.cell .animal{width:94%;height:94%;filter:drop-shadow(0 2px 1px #071c2c80)}.cell.selected{outline:2px solid #fdff80;outline-offset:-3px;transform:scale(1);box-shadow:inset 0 0 10px #caff73}.cell.iced{border:2px solid #aedff2;background:linear-gradient(#8bd3e8,#4c9fc6);box-shadow:inset 0 0 0 1px #caeff7}.cell.iced:before{background:linear-gradient(135deg,#e1ffffa0 0 10%,transparent 11% 90%,#e1ffffa0 91%);border-radius:0}.cell .power-aura{border-radius:9px;inset:3px!important}.cell.special-row .power-aura{border-width:0;border-top:2px solid #d2ffff;border-bottom:2px solid #d2ffff;box-shadow:0 -3px 5px #9bffff,0 3px 5px #9bffff}.cell.special-column .power-aura{border-width:0;border-left:2px solid #d2ffff;border-right:2px solid #d2ffff;box-shadow:-3px 0 5px #9bffff,3px 0 5px #9bffff}.power-badge,.special-rainbow .power-badge{background:#446473a8;color:white;border:0;box-shadow:none;font-size:10px;line-height:11px;width:12px;right:2px;bottom:2px}.special-bomb .power-aura{border:2px solid #ffc75e;box-shadow:0 0 4px #ffe49a}.cell.special-rainbow .power-aura{border-radius:50%;border-width:3px;box-shadow:0 0 9px #feffb2}
.board-tip{display:none}.tool-tray{display:flex;justify-content:space-evenly;align-items:center;gap:0;margin-top:auto;padding:49px 2px 20px;background:none;border:0;border-radius:0;box-shadow:none}.tool{min-width:0;width:19%;padding:0;gap:0;background:none}.tool>span:not(.tool-icon),.tool small{display:none}.tool-icon,.shuffle .tool-icon,.hammer .tool-icon,.hint .tool-icon{width:61px;height:65px;border:1px solid #bcf4ef88;border-radius:50%;background:radial-gradient(ellipse at 26% 20%,#ffffffd9 0,#ffffff33 19%,#c3f6f82b 42%,#8ce8ed29 70%,#f1fff8a3 95%);box-shadow:inset 0 1px 4px #fff,0 0 4px #d6fff46b;transform:rotate(-8deg)}.tool-icon:after{content:'';position:absolute;width:32px;height:12px;border-radius:90% 0 90% 0;background:linear-gradient(#97d93e,#3c961e);left:6px;bottom:-4px;transform:rotate(-15deg)}.tool-icon svg{width:34px;height:34px;stroke-width:2.6;filter:drop-shadow(0 2px #6e722870)}.hint .tool-icon{color:#ffc63b}.shuffle .tool-icon{color:#8c52ce}.hammer .tool-icon{color:#c98336}.undo .tool-icon{color:#e583bd}.free-swap .tool-icon{color:#4b9dda}.tool-icon b{min-width:20px;width:20px;height:20px;top:-3px;right:-1px;border:1px solid #eaffd1;background:#7cd332;color:#ffffc5;font:700 12px/17px Arial;box-shadow:0 1px #57a13d}.tool.active .tool-icon{outline:2px solid #f8ff8b;box-shadow:0 0 15px #eaff8c}.tool:disabled{opacity:.45;filter:saturate(.5)}
.play-bottom{margin:0;padding:0 10px;position:absolute;bottom:5px;right:0;color:#e1ffd6}.play-bottom>span{display:none}.play-bottom button{color:#e9ffd7;font-size:9px;font-weight:500}.page-footer{position:fixed;bottom:4px;left:max(6px,calc(50% - 231px));right:auto;display:flex;gap:9px;align-items:center;margin:0;z-index:9;text-shadow:none}.page-footer #save-label,.page-footer #classic-link{display:none}.page-footer #mobile-map{display:block}.page-footer button{font-size:10px;color:#f6ffcb;background:#6caa2d88;border:1px solid #b9e36c;border-radius:50%;width:25px;height:25px;text-align:center;padding:0}.page-footer #mobile-map{font-size:9px}.combo{font-size:41px;inset:34% -3px auto}.combo small{font-size:13px}.adventure-modal .animal{filter:none}
@media(min-width:681px){.game-layout{max-width:470px}.play-column{padding-top:clamp(220px,26dvh,300px)}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%,#179ed8,#0a6c9a);z-index:-1}.game-layout{box-shadow:0 0 80px #04496970}.tool-tray{padding-top:55px;padding-bottom:29px}}
@media(max-width:680px){.game-layout{max-width:480px;padding:0}.play-column{padding-top:26dvh;min-height:100dvh;padding-bottom:26px}.level-banner>div{top:22px;left:8px}.level-banner b{font-size:20px}.game-hud{top:27px;left:82px;right:9px}.moves-box{width:82px;height:79px;padding-top:8px;border-width:7px}.moves-box strong{font-size:34px}.moves-box>span{font-size:10px}.goals-box{right:93px}.goals{gap:9px}.goal{width:51px;height:58px;border-width:6px}.goal .animal{width:39px;height:39px}.goal strong{font-size:21px}.goal:before{top:-54px;height:47px}.goal-ice{width:32px;height:34px;font-size:24px}.pause{left:14px;top:60px;width:40px;height:40px}.pause svg{width:23px;height:23px}.score-row{top:119px;height:32px;right:22%}.score-label{font-size:10px}.score-label b{font-size:11px}.star-progress{left:57px;top:2px}.star-track{height:15px}.star-progress>span{font-size:20px}.board{gap:0;padding:0;border-width:2px;border-radius:0}.board-shell{padding:0;border:0;margin:0 1px;border-radius:0;box-shadow:none}.cell[data-type],.cell:nth-child(n){border:0;border-radius:0}.cell.iced{border:2px solid #aedff2}.cell .animal{width:95%;height:95%}.tool-tray{padding:42px 1px 22px;gap:0;border:0;border-radius:0}.tool-icon,.shuffle .tool-icon,.hammer .tool-icon,.hint .tool-icon{width:56px;height:61px;border-width:1px}.tool-icon svg{width:31px;height:31px}.tool-icon b{width:18px;min-width:18px;height:18px;font-size:11px;line-height:16px}.play-bottom{bottom:5px;margin:0}.play-bottom button{font-size:8px}.page-footer{bottom:4px;left:max(6px,calc(50% - 231px));gap:8px}.page-footer>span{flex-basis:auto}.page-footer #mobile-map{display:block}.cell.iced:after{display:none}}
@media(max-width:360px){.game-layout{padding:0}.game-hud{left:73px;right:8px}.moves-box{width:73px;height:75px;padding-top:8px}.moves-box>span{font-size:9px}.moves-box strong{font-size:31px}.goals-box{right:82px}.goals{gap:6px}.goal{width:44px;height:53px;border-width:5px}.goal .animal{width:34px;height:35px}.goal strong{font-size:19px}.goal-ice{width:29px;height:31px}.tool-icon,.shuffle .tool-icon,.hammer .tool-icon,.hint .tool-icon{width:49px;height:54px}.tool-icon svg{width:29px;height:29px}.score-row{top:114px}.play-column{padding-top:26dvh}}
.animal{background-image:url("assets/match-animals.png");background-size:300% 200%}
.play-column{padding-top:max(180px,calc(82dvh - min(100vw,480px)))}
.combo{inset:34% 0 auto}
.play-column:before{background-image:url("assets/match-sky.png")}
