:root{font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#455b38;background:#e8edcc;font-synthesis:none;--cream:#fff7e6;--forest:#426941;--gold:#d8a640;--atlas:url('assets/animals.png')}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;filter:saturate(.35);opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #8063a5;outline-offset:4px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.world{position:fixed;inset:0;z-index:-3;background:#edf0d4 url('assets/forest.png') center/cover no-repeat;transition:filter 1.2s}.world:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f5db10,#faf9df3b 45%,#f6f5db10)}body.sunset .world{filter:sepia(.26) hue-rotate(-24deg) saturate(.95)}body.sunset{background:#e9d2bc}body.night .world{filter:brightness(.59) hue-rotate(55deg) saturate(.75)}body.night{background:#465c60}body.night .topbar,body.night .page-footer,body.night .mobile-links{color:#f5efd3}.atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.atmosphere i{position:absolute;width:5px;height:5px;border-radius:80% 0;background:#f4d781;left:5%;top:-15px;opacity:.55;animation:drift 19s linear infinite}.atmosphere i:nth-child(2){left:85%;animation-delay:-4s;animation-duration:26s}.atmosphere i:nth-child(3){left:15%;animation-delay:-13s;animation-duration:32s}.atmosphere i:nth-child(4){left:92%;animation-delay:-8s;width:4px;height:4px}.atmosphere i:nth-child(5){left:72%;animation-delay:-21s;animation-duration:30s}.topbar{max-width:1380px;margin:auto;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.mini-brand{font:700 11px Arial,sans-serif;letter-spacing:2.5px;display:flex;align-items:center;gap:9px;color:#47673d}.mini-brand svg{width:25px;height:25px;stroke-width:1.5}.mini-brand>span{font:10px "Microsoft YaHei",sans-serif;letter-spacing:1px;margin-left:14px;opacity:.65}.top-actions{display:flex;align-items:center;gap:12px}.round-button,.star-wallet{border:1px solid #fff8dfd6;background:#fff9e4a8;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;color:#789060;box-shadow:0 2px 0 #a5ad6920}.round-button svg{width:18px;height:18px}.star-wallet{display:flex;width:auto;border-radius:22px;gap:8px;padding:0 15px;font-size:10px}.star-wallet svg{fill:#edc65c;stroke:#d5a746;width:18px;height:18px}.star-wallet b{font:700 16px Arial,sans-serif;color:#937642}.star-wallet span{color:#9b9d7a}.game-layout{display:grid;grid-template-columns:200px minmax(0,480px) 200px;gap:40px;max-width:1000px;margin:0 auto;align-items:start;padding:0 20px}.play-column{min-width:0}.game-title{text-align:center;position:relative;margin:0 0 17px}.logo-leaf{color:#879a61;font:9px Arial,sans-serif;letter-spacing:3px}.logo-leaf>span{font-size:7px;letter-spacing:2.5px;padding:0 9px}.game-title h1{position:relative;display:inline-block;margin:9px 0 4px;font-size:51px;font-weight:900;letter-spacing:5px;line-height:1.15;color:#fff5d3;-webkit-text-stroke:1px #687b3e;paint-order:stroke fill;text-shadow:0 4px 0 #718348,2px 0 0 #718348,-2px 0 0 #718348,0 -2px 0 #718348,3px 6px 0 #d9d6a2,0 10px 20px #62713920}.title-leaf{position:absolute;right:-30px;top:-11px;font-size:39px;color:#7d9658;-webkit-text-stroke:0;text-shadow:1px 2px #efe8b1;transform:rotate(-27deg)}.game-title p{font-size:10px;margin:12px 0 0;letter-spacing:3px;color:#788559}.stage-row{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:14px;padding:0 36px}.stage-decoration{font-size:29px;color:#9eae68;line-height:1}.flipped{transform:scaleX(-1)}.level-pill{border:1px solid #f9f1cd;background:linear-gradient(#fff9e9,#f4e5c2);padding:7px 22px 9px;border-radius:30px;box-shadow:0 3px 0 #b7a57732,0 1px 0 white inset;color:#776b43;font-size:13px;letter-spacing:1px;white-space:nowrap}.level-pill>b{font:700 18px Georgia,serif;padding:0 4px}.level-sep{opacity:.45;padding:0 4px}.level-pill #theme-name{font-size:11px}.level-pill #boss-badge{color:#a27430;font-size:9px;margin-right:6px}.pause-button{position:absolute;right:0;top:0;border:1px solid #fff4d2;border-bottom:3px solid #ceb783;background:linear-gradient(#fffae8,#edd9a9);border-radius:13px;width:36px;height:36px;display:grid;place-items:center;color:#a58b50;box-shadow:0 3px 5px #8a7b4e15}.pause-button svg{width:18px;height:18px;stroke-width:3}.hud{display:flex;gap:14px;align-items:center;padding:13px 16px;background:linear-gradient(#fffbeaa8,#fff7dfd6);border:1px solid #fffae2;border-bottom:3px solid #d6c79e;border-radius:16px;box-shadow:0 5px 10px #4c613d08}.mode-button{border:0;background:none;display:flex;align-items:center;gap:6px;padding:0;white-space:nowrap;font-size:10px;font-weight:600;color:#7c8257}.mode-button svg{width:17px;height:17px;fill:#bfd083;stroke:#8eaa5f;stroke-width:1}.mode-caret{font-size:13px;color:#b4ad80}.progress-block{flex:1;min-width:40px}.progress-label{display:flex;justify-content:space-between;font-size:8px;color:#9a9c75;margin-bottom:6px}.progress-label b{font:600 9px Arial,sans-serif;color:#81915b}.progress-track{height:10px;border:1px solid #d7c79f;background:#dfd2ab;box-shadow:0 2px 3px #9a895f23 inset;border-radius:10px;position:relative}.progress-track>div{width:0;height:100%;min-width:2px;border-radius:8px;background:linear-gradient(#bccb79,#83a34e);box-shadow:0 1px #d2dea4 inset;transition:width .35s}.progress-track>svg{position:absolute;left:-5px;top:-4px;width:17px;height:17px;stroke:#7c9c47;fill:#c9d78a;transform:rotate(-15deg)}.timer{display:flex;align-items:center;gap:5px;color:#8d895e}.timer svg{width:14px;height:14px;opacity:.6}.timer strong{font:600 15px Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.7px}.time-warning .timer{color:#bb744b}.objective-row{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:12px 4px 10px;font-size:8px;color:#7f8d5d}.objective-row>span:first-child{display:flex;gap:4px;align-items:center}.objective-row svg{width:11px;height:11px;stroke:#b7a05c;fill:#efd797}.objective-row #score{font:700 12px Arial,sans-serif;color:#6f8054;white-space:nowrap}.board-scene{position:relative;padding:18px 17px 10px;border:2px solid #fff9e7;border-bottom:5px solid #cbbb8b;background:linear-gradient(125deg,#fff9e5ec,#f4e8c8ed);border-radius:24px;box-shadow:0 7px 0 #677a3d13,0 10px 30px #45563112,0 2px 0 white inset;overflow:hidden}.board-wrap{position:relative}.board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.tile{aspect-ratio:1/1;min-width:0;border:1px solid #fff7df;border-bottom:4px solid #dbc294;border-radius:15px;background:radial-gradient(ellipse at 45% 10%,#fffdf4,#fbefd6 70%);box-shadow:0 3px 3px #8c784b1a,0 2px 0 #fffefa inset;padding:3px;position:relative;display:grid;place-items:center;transition:transform .14s,box-shadow .14s,background .14s;touch-action:manipulation}.animal{display:block;width:100%;height:100%;aspect-ratio:1/1;background-image:var(--atlas);background-size:400% 300%;background-position:var(--x) var(--y);background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 2px 1px #775b3420)}.tile:hover{transform:translateY(-2px);box-shadow:0 5px 5px #8d784525}.tile:active{transform:scale(.94)}.tile.selected{background:radial-gradient(#fffbcf,#f5d76e);border-color:#efd266;box-shadow:0 0 0 2px #fff5be,0 0 15px #f1cd6580;transform:translateY(-3px)}.tile.selected .animal{animation:animal-boing .35s}.tile.empty{pointer-events:none;background:#d8c9a62e;border:1px solid #d9cba325;box-shadow:0 1px 3px #8d784509 inset;opacity:.65}.tile.rock{pointer-events:none;border:0;background:none;box-shadow:none;padding:5px}.rock-shape{display:grid;place-items:center;width:92%;height:85%;background:linear-gradient(145deg,#c1c3ac,#929b80);border-radius:41% 34% 29% 27%;border-bottom:5px solid #7f8c72;box-shadow:0 2px 0 #d6d7bc inset,0 3px 4px #6a704a23;transform:rotate(-5deg);font-size:23px;color:#d5deba}.tile.frozen:after{content:"❄";position:absolute;inset:0;border-radius:13px;background:linear-gradient(135deg,#d2f2ff3a,#e1f7ff33 45%,#a1cde264);border:2px solid #c6ecf5b3;color:#709db2;font-size:12px;text-align:right;padding:3px;pointer-events:none;box-shadow:0 0 8px #b7dae455 inset}.tile.hinted{animation:hint-pulse .8s ease-in-out 3;background:#fff3b4;border-color:#ddbb57}.tile.removing{animation:tile-pop .3s ease-in forwards;pointer-events:none}.tile.thawing{animation:thaw .33s}.tile.wrong{animation:shake .28s}.tile.shuffling{animation:shuffle .38s both}.connection{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}.connection polyline{fill:none;stroke:#ffd971;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px #ebc24c);stroke-dasharray:2000;animation:line-draw .2s linear}.particles{position:absolute;inset:0;z-index:5;pointer-events:none}.particle{position:absolute;width:7px;height:7px;background:var(--color);border-radius:2px;animation:burst .65s ease-out forwards}.puff{position:absolute;width:35px;height:27px;transform:translate(-50%,-50%);border-radius:50%;background:#fff7df;box-shadow:11px -8px #fff9e9,-10px -8px #fff9e9;animation:puff .4s ease-out forwards}.board-caption{text-align:center;font-size:8px;letter-spacing:.4px;color:#aa9d76;margin-top:12px;min-height:12px}.combo{position:absolute;top:43%;left:50%;z-index:7;pointer-events:none;opacity:0;white-space:nowrap;font-size:23px;font-weight:800;color:#8d8343;text-shadow:0 2px #fff8df,2px 0 #fff8df,-2px 0 #fff8df,0 -2px #fff8df;transform:translate(-50%,-50%)}.combo.show{animation:combo 1s ease-out}.tools{display:flex;justify-content:center;gap:18px;padding:20px 8px 0}.tool{position:relative;flex:1;max-width:123px;min-height:87px;border:2px solid #fff7d9;border-bottom:5px solid #d6b665;border-radius:24px;background:linear-gradient(145deg,#fff2ad,#edd17b);box-shadow:0 3px 5px #56633a20,0 2px 0 #fff8cf inset;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:transform .15s}.tool:hover{transform:translateY(-4px)}.tool:active{transform:translateY(2px)}.prop-art{position:relative;color:#b39335;filter:drop-shadow(0 2px 0 #fff8ce)}.prop-art svg{width:34px;height:34px;stroke-width:2.3}.hint-tool .prop-art svg{fill:#ffe8a1}.shuffle-tool{background:linear-gradient(145deg,#f1f8cc,#bfd68c);border-bottom-color:#9db36c;border-color:#f4fbdb #eef4cf #9db36c}.shuffle-tool .prop-art{color:#7d9f4b;filter:drop-shadow(0 2px 0 #e8f1c3)}.magic-tool{background:linear-gradient(145deg,#eee3fb,#c5acd9);border-color:#f8ecff #efdef6 #a78abc}.magic-tool .prop-art{color:#9271ae;filter:drop-shadow(0 2px 0 #ead9f3)}.magic-tool .prop-art svg{fill:#f1d174;stroke:#bc9852;transform:rotate(-10deg)}.prop-title{font-size:12px;font-weight:700;color:#6e7545;letter-spacing:.5px}.magic-tool .prop-title{color:#7c628d}.tool>b{position:absolute;right:-5px;bottom:-5px;border:3px solid #fff7df;border-radius:50%;background:#c8a152;color:white;width:26px;height:26px;display:grid;place-items:center;font:700 13px Arial,sans-serif;box-shadow:0 1px 3px #85734733}.shuffle-tool>b{background:#8eaa5e}.magic-tool>b{background:#a48ab8}.tool-key{position:absolute;left:8px;top:7px;font:8px Arial,sans-serif;opacity:.35}.play-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 4px 0;font-size:9px;color:#708456}.play-footer>span,.play-footer button{display:flex;gap:6px;align-items:center}.play-footer svg{width:13px;height:13px}.play-footer button{background:none;border:0;font-size:8px;opacity:.8}.left-rail{padding-top:158px}.rail-card{background:#fff9e1b8;border:1px solid #fff8de;border-bottom:3px solid #d5c99f;border-radius:20px;box-shadow:0 8px 20px #57663c09;padding:20px 18px;backdrop-filter:blur(8px)}.overline{font:6px Arial,sans-serif;letter-spacing:1.6px;color:#a2a17b}.rail-card h2{font-size:15px;letter-spacing:.5px;margin:12px 0 8px;color:#667b4a}.rail-card p{font-size:10px;line-height:1.9;color:#939b75;margin:0}.journey-map{margin:18px 0;position:relative;display:flex;flex-direction:column;gap:9px}.journey-map:before{content:"";position:absolute;left:16px;top:10px;bottom:10px;border-left:2px dashed #cacba0}.map-node{position:relative;display:flex;gap:12px;align-items:center;color:#aaa785;font-size:9px}.map-node>b{width:33px;height:33px;flex-shrink:0;border-radius:50%;background:#f7efd5;border:1px solid #e2d5b3;display:grid;place-items:center;font:700 12px Arial,sans-serif;box-shadow:0 2px #ccc19b33}.map-node.current>b{background:#7e9955;color:#fffae1;border:3px solid #ebefc5;box-shadow:0 0 0 1px #8b9b5d}.map-node.current{color:#708554;font-weight:700}.map-node.done>b{background:#dbe4b2;color:#7b9057}.map-node.boss>b{background:#f2df9b;color:#b18a38}.map-node small{display:block;font-size:8px;font-weight:400;margin-top:4px;opacity:.75}.rail-bottom{border-top:1px solid #d7d3aa66;padding-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#a1a17b}.rail-bottom svg{width:14px;height:14px}.difficulty-card{margin-top:18px;padding-top:17px}.rail-card h3{font-size:12px;letter-spacing:.5px;color:#748453;margin:11px 0 13px}.difficulty-bars{display:flex;gap:5px;margin-bottom:12px}.difficulty-bars i{height:6px;flex:1;background:#dbdcc1;border-radius:3px}.difficulty-bars i.on{background:#94a968}.text-button{display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;margin-top:14px;font-size:8px;color:#8a9968}.text-button svg{width:12px;height:12px}.right-rail{padding-top:158px}.buddy{display:flex;align-items:center;flex-direction:column;position:relative}.buddy-bubble{text-align:center;background:#fff9e5dd;border:1px solid #fffae8;border-radius:17px;padding:14px 23px;font-size:11px;line-height:1.9;color:#8b8b5a;position:relative;box-shadow:0 3px 10px #77713d08}.buddy-bubble:after{content:"";position:absolute;bottom:-7px;left:48%;width:12px;height:12px;background:#fff9e5;transform:rotate(45deg)}.mascot{width:152px;height:152px;animation:buddy-breathe 5s ease-in-out infinite;margin:12px 0 -7px;filter:drop-shadow(0 10px 7px #55613416)}.buddy-name{font-size:8px;letter-spacing:1px;color:#7d8b58;margin-bottom:21px}.camp-card h3{margin-bottom:8px}.camp-card>p{font-size:9px;margin-bottom:14px}.camp-card>button{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #dfddbd;background:#faf4dbb3;border-radius:10px;padding:10px 9px;font-size:9px;margin-top:7px;color:#8a926b}.camp-card>button:hover{background:#fff8df}.camp-card>button>b{color:#b29a51;font:700 10px Arial,sans-serif}.camp-note{display:block;font-size:7px;color:#aaa585;text-align:center;margin-top:12px}.small-note{font-size:9px;line-height:2.2;text-align:center;color:#728557;letter-spacing:.6px;margin-top:22px}.page-footer{text-align:center;font:7px Arial,sans-serif;letter-spacing:2.4px;color:#82945f8f;padding:26px 10px 20px}.mobile-links{display:none}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);opacity:0;background:#4a623eeb;color:#fff9df;padding:13px 23px;border:1px solid #a5b17d77;border-radius:15px;font-size:11px;z-index:40;box-shadow:0 6px 26px #3a503025;transition:.25s;pointer-events:none;max-width:90vw;text-align:center;line-height:1.7;min-width:200px}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:2px solid #fff9e9;background:linear-gradient(140deg,#fffbef,#f6edd4);border-bottom:5px solid #d7c694;border-radius:27px;padding:0;color:#60764a;max-width:min(430px,calc(100vw - 30px));width:100%;box-shadow:0 20px 120px #36452d3b}dialog::backdrop{background:#34452e66;backdrop-filter:blur(6px)}.modal-body{padding:32px 28px;text-align:center;position:relative}.modal-close{position:absolute;right:13px;top:13px;background:none;border:0;color:#a3a783;padding:4px}.modal-close svg{width:18px;height:18px}.modal-decoration{font-size:35px;display:block;color:#c7a44f}.modal-animal{width:90px;height:90px;margin:0 auto}.modal-body h2{font-size:24px;letter-spacing:1px;margin:12px 0}.modal-body>p{font-size:11px;color:#959b76;line-height:1.9;margin:12px 0 22px}.primary-button,.secondary-button{width:100%;padding:14px 15px;background:linear-gradient(#91a965,#789451);color:#fffbe5;border:1px solid #d3ddb0;border-bottom:3px solid #637e3e;border-radius:14px;font-size:12px;letter-spacing:1px;font-weight:600}.primary-button:hover{filter:brightness(1.04)}.primary-button svg{width:15px;height:15px;vertical-align:middle;margin-left:5px}.secondary-button{background:#faf4df;border:1px solid #ddd4b3;border-bottom:2px solid #d1c59d;color:#9a9b75;margin-top:10px;font-weight:400}.instructions{text-align:left;background:#e7eacb7a;padding:15px 17px;border-radius:14px;margin:18px 0;color:#889370;font-size:10px;line-height:2}.instructions ol{padding-left:17px;margin:0}.instructions strong{color:#697f50}.instructions li+li{margin-top:6px}.win-stars{display:flex;justify-content:center;gap:10px;margin:25px 0}.win-stars svg{width:39px;height:39px;fill:#eed176;stroke:#d5ae4e;animation:star-in .5s both}.win-stars svg:nth-child(2){width:49px;height:49px;margin-top:-9px;animation-delay:.1s}.win-stars svg:nth-child(3){animation-delay:.2s}.win-stars svg.dim{fill:#e1dec4;stroke:#c8c7a9}.records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#e8eccc80;border-radius:13px;padding:16px 5px;margin:18px 0}.records-grid b{display:block;font:700 22px Arial,sans-serif;color:#7d965a}.records-grid small{display:block;font-size:9px;color:#9ba27a;margin-top:7px}.reward{font-size:10px!important;background:#f1e2ac7a;border-radius:10px;padding:11px;color:#a38c50!important}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;text-align:left;margin:15px 0;padding:12px 0;border-bottom:1px solid #e7e0c4}.setting-row input{accent-color:#7b9654;width:17px;height:17px}.setting-row small{display:block;color:#a5a789;font-size:9px;margin-top:6px}.camp-options{display:flex;flex-direction:column;gap:8px;margin:20px 0}.camp-options button{display:flex;justify-content:space-between;padding:13px;border:1px solid #ded9ba;background:#faf4de;border-radius:10px;font-size:11px;color:#8b956c}.camp-options b{color:#b59a4c}.rank-note{font-size:10px;color:#9ca37f;line-height:1.9;margin:16px 0 20px}.badge{display:inline-block;background:#e6e9c7;border:1px solid #d4dcae;border-radius:20px;padding:5px 11px;font-size:9px;color:#839264}.challenge-steps{display:flex;flex-direction:column;gap:11px;text-align:left;margin:23px 0}.challenge-steps>div{display:flex;gap:13px;align-items:center;padding:9px 12px;border-radius:11px;background:#eef0d3}.challenge-steps b{color:#8a9f5d;font:700 15px Arial,sans-serif;min-width:42px}.challenge-steps span{font-size:10px;line-height:1.8;color:#8e9974}
@keyframes drift{to{transform:translate(60px,105vh) rotate(340deg)}}@keyframes animal-boing{40%{transform:scale(1.08,.92)}70%{transform:scale(.96,1.05)}}@keyframes buddy-breathe{50%{transform:translateY(-4px) rotate(-1deg)}}@keyframes hint-pulse{50%{box-shadow:0 0 0 3px #eac45b77,0 0 15px #eac45b55;transform:translateY(-2px)}}@keyframes tile-pop{30%{transform:scale(1.11)}100%{transform:scale(.4);opacity:0}}@keyframes thaw{50%{filter:brightness(1.2);transform:scale(.94)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes shuffle{50%{transform:translateY(-9px) scale(.85) rotate(5deg);opacity:.5}}@keyframes combo{0%{opacity:0;transform:translate(-50%,20%) scale(.7)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-120%)}}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(180deg);opacity:0}}@keyframes puff{to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes line-draw{from{stroke-dashoffset:2000}to{stroke-dashoffset:0}}@keyframes star-in{from{opacity:0;transform:scale(.2) rotate(-20deg)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.game-layout{gap:25px;grid-template-columns:175px minmax(0,455px) 175px;max-width:920px}.topbar{padding:0 28px}.rail-card{padding:18px 14px}.mini-brand>span{display:none}.mascot{width:137px;height:137px}.buddy-bubble{padding:12px 17px;font-size:10px}}
@media(max-width:900px){.game-layout{grid-template-columns:160px minmax(0,460px);max-width:700px;gap:25px}.right-rail{display:none}.topbar{height:65px}.game-title h1{font-size:47px}.left-rail{padding-top:152px}.mobile-links{display:flex;align-items:center;justify-content:center;gap:15px;font-size:9px;margin:22px 0 0;color:#829366}.mobile-links button{background:none;border:0;font-size:9px;color:inherit}.mobile-links>span{opacity:.5}.page-footer{padding-top:18px;font-size:6px}}
@media(max-width:650px){.world{background-position:center;background-size:auto 100vh}.world:after{background:#f8f2d91a}.topbar{height:58px;padding:0 18px}.mini-brand{font-size:8px;letter-spacing:1.8px;gap:6px}.mini-brand svg{width:18px;height:18px}.top-actions{gap:9px}.round-button{width:30px;height:30px}.round-button svg{width:15px;height:15px}.star-wallet{height:30px;padding:0 10px;gap:5px}.star-wallet span{display:none}.star-wallet b{font-size:13px}.star-wallet svg{width:15px;height:15px}.left-rail{display:none}.game-layout{display:block;max-width:460px;padding:0 16px}.game-title{margin-bottom:16px}.game-title h1{font-size:43px;letter-spacing:4px;margin-top:8px}.title-leaf{right:-27px;top:-9px;font-size:31px}.logo-leaf{font-size:8px}.logo-leaf>span{font-size:6px;letter-spacing:2px}.game-title p{font-size:8px;letter-spacing:2px;margin-top:10px}.stage-row{gap:10px;margin-bottom:13px}.stage-decoration{font-size:25px}.level-pill{padding:6px 16px 8px;font-size:11px}.level-pill>b{font-size:16px}.level-pill #theme-name{font-size:10px}.pause-button{width:32px;height:32px;border-radius:11px}.pause-button svg{width:16px;height:16px}.hud{padding:11px 12px;gap:9px;border-radius:14px}.mode-button{gap:4px;font-size:9px}.mode-button svg{width:15px;height:15px}.progress-label{font-size:7px}.progress-label b{font-size:8px}.timer strong{font-size:13px}.timer svg{width:12px;height:12px}.objective-row{margin:11px 4px 9px;font-size:7px;gap:4px}.objective-row #score{font-size:10px}.objective-row svg{width:10px;height:10px}.board-scene{padding:15px 13px 10px;border-radius:21px;border-bottom-width:4px}.board{gap:6px}.tile{border-radius:12px;border-bottom-width:3px;padding:2px}.tile.frozen:after{border-radius:10px;font-size:10px}.board-caption{font-size:7px;letter-spacing:0;margin-top:11px}.tools{padding:17px 14px 0;gap:19px}.tool{min-height:78px;border-radius:21px;gap:3px;max-width:105px}.prop-art svg{width:30px;height:30px}.prop-title{font-size:10px}.tool>b{width:24px;height:24px;font-size:12px}.play-footer{padding:17px 5px 0;font-size:8px}.play-footer button{font-size:7px}.play-footer svg{width:11px;height:11px}.mobile-links{margin-top:20px;font-size:8px;gap:13px}.mobile-links button{font-size:8px}.page-footer{padding:17px 8px 19px;font-size:5px;letter-spacing:1.8px}.combo{font-size:20px}.modal-body{padding:29px 24px}.modal-body h2{font-size:22px}}
@media(max-width:355px){.game-layout{padding:0 10px}.topbar{padding:0 13px}.game-title h1{font-size:38px}.board-scene{padding-left:11px;padding-right:11px}.board{gap:5px}.tile{border-radius:10px}.tools{gap:16px}.stage-row{gap:7px}.level-pill{padding-left:12px;padding-right:12px}.objective-row{font-size:6px}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.animal{-webkit-mask-image:linear-gradient(to bottom,transparent var(--trim,0%),#000 calc(var(--trim,0%) + 1%),#000 100%);mask-image:linear-gradient(to bottom,transparent var(--trim,0%),#000 calc(var(--trim,0%) + 1%),#000 100%)}

@media(max-width:650px){.world{background-image:url('assets/forest-mobile.png');background-size:100% 100vh;background-position:center top}}

.tile.frozen{background:linear-gradient(135deg,#f1fbff,#c4dfeb);border-color:#e5f4f9;border-bottom-color:#9fbecf}.tile.frozen .animal{filter:saturate(.55) brightness(1.05);opacity:.8}.tile.frozen:after{font-size:16px;background:linear-gradient(135deg,#d2f2ff44,#d5edff22 45%,#a1cde277)}

body{isolation:isolate}
/* Complete-page localization and bidirectional layout. */
body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans",Arial,sans-serif}.language-button{display:flex;align-items:center;gap:7px;height:36px;max-width:155px;padding:0 11px;border:1px solid #fff8dfd6;background:#fff9e4b8;border-radius:20px;color:#6f8559;font-size:10px;box-shadow:0 2px 0 #a5ad6920}.language-button svg{width:17px;height:17px}.language-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-language{display:flex;align-items:center;gap:7px;border:1px solid #ded9ba;background:#faf4de;padding:8px 10px;border-radius:9px;font-size:10px}.setting-language svg{width:16px;height:16px}.language-search{width:100%;font:inherit;font-size:12px;color:#61744b;background:#fffaf0;border:1px solid #dcd7b8;border-radius:12px;padding:13px 14px;margin-bottom:14px;outline-offset:3px}.language-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:45vh;overflow:auto;overscroll-behavior:contain;padding:2px 4px 6px}.language-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:62px;border:1px solid #e2ddc4;border-radius:12px;background:#fbf6e7;text-align:start;padding:11px;font-size:11px}.language-option.current{background:#e7edcf;border-color:#aebe8d;color:#6c854e}.language-option>span:first-child{min-width:0}.language-option strong{display:block;font-weight:500;overflow-wrap:anywhere;line-height:1.5}.language-option small{display:block;font-size:8px;color:#a0a482;margin-top:3px;line-height:1.4}.language-empty{grid-column:1/-1;font-size:12px;color:#9b9e80;padding:25px 5px}.modal-decoration>svg{width:33px;height:33px}.board,.board-wrap,.connection{direction:ltr}.timer,#timer,.progress-label>span:last-child{direction:ltr;unicode-bidi:isolate}.level-pill{white-space:normal;line-height:1.7;overflow-wrap:anywhere}.level-pill #boss-badge{display:inline}.level-pill #boss-badge[hidden]{display:none}.game-title h1{max-width:100%;font-size:clamp(28px,4vw,49px);letter-spacing:1px;overflow-wrap:anywhere;line-height:1.2}.long-title .game-title h1{font-size:34px}.game-title p,.logo-leaf>span{letter-spacing:1px}.rail-card,.buddy-bubble,.small-note,.prop-title{overflow-wrap:anywhere}.buddy-bubble{max-width:100%}.hud{gap:10px}.mode-button{white-space:normal;max-width:115px;font-size:9px;line-height:1.5;text-align:start}.mode-button #mode-label{min-width:0;overflow-wrap:anywhere}.progress-label{gap:5px;line-height:1.5}.objective-row{align-items:start;line-height:1.7}.objective-row>span:first-child{align-items:start;min-width:0}.objective-row #score{padding-top:2px}.prop-title{text-align:center;line-height:1.4;font-size:10px;padding:0 5px}.tools .tool{min-height:90px;padding:8px 3px}.play-footer{gap:12px;line-height:1.7}.play-footer>span{min-width:0}.play-footer button{white-space:nowrap}.board-caption{line-height:1.8}.overline{letter-spacing:.8px;line-height:1.8;display:block}.page-footer{line-height:1.8;letter-spacing:1px}.mini-brand>span{max-width:210px;line-height:1.6}.modal-body>p{overflow-wrap:anywhere}.instructions{line-height:1.9}.primary-button,.secondary-button{line-height:1.6;overflow-wrap:anywhere}.pause-button{right:auto;inset-inline-end:0}.modal-close{right:auto;inset-inline-end:13px}.tool>b{right:auto;inset-inline-end:-5px}.title-leaf{right:auto;inset-inline-end:-30px}.game-title h1>.title-leaf{direction:ltr}.challenge-steps>div{min-width:0}.challenge-steps b{font-family:inherit;font-size:12px;max-width:70px;overflow-wrap:anywhere}.challenge-steps span{min-width:0}.camp-card>button{gap:7px;text-align:start}.camp-card>button>b{flex-shrink:0}.records-grid small{line-height:1.6;overflow-wrap:anywhere}.language-option:focus-visible{outline-offset:1px}html[dir="rtl"] .text-button svg,html[dir="rtl"] .primary-button>svg{transform:scaleX(-1)}html[dir="rtl"] .instructions ol{padding-left:0;padding-right:17px}html[dir="rtl"] .journey-map:before{left:auto;right:16px}html[dir="rtl"] .buddy-bubble:after{left:auto;right:48%}html[dir="rtl"] .mini-brand{letter-spacing:1px}html[dir="rtl"] .timer{flex-direction:row-reverse}html[dir="rtl"] .connection{transform:none}
@media(max-width:650px){.language-button{height:30px;width:30px;padding:0;justify-content:center}.language-button span{display:none}.language-button svg{width:16px;height:16px}.top-actions{gap:7px}.topbar{padding:0 14px}.game-title h1{font-size:38px;letter-spacing:1px}.long-title .game-title h1{font-size:29px}.stage-row{padding-inline:30px;gap:7px}.stage-decoration{font-size:21px}.level-pill{padding:5px 12px 7px;letter-spacing:0}.level-pill #theme-name{font-size:9px}.mode-button{font-size:8px;max-width:100px;gap:4px}.hud{gap:7px;padding:10px}.progress-label{font-size:7px}.timer strong{font-size:12px}.tools .tool{min-height:82px;padding:6px 2px}.prop-title{font-size:9px}.tools{gap:16px;padding-inline:11px}.mobile-links{flex-wrap:wrap;padding:0 12px;gap:8px 12px}.mobile-links button{max-width:29%;line-height:1.6;text-align:center}.play-footer{font-size:7px}.play-footer button{white-space:normal;text-align:end;max-width:27%}.language-list{gap:7px;max-height:46vh}.language-option{padding:9px;min-height:58px;font-size:10px}.modal-body{padding-inline:22px}html[dir="rtl"] .journey-map:before{right:16px}.objective-row{font-size:7px}.board-caption{font-size:7px}}
body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans","Nirmala UI","Myanmar Text","Leelawadee UI","Microsoft Himalaya","Ebrima","Segoe UI",Arial,sans-serif}.game-title h1{line-height:1.35}.language-option strong{font-family:inherit}
.round-button.muted{opacity:.5}.audio-settings{background:#edf0d780;border:1px solid #e0e4c8;border-radius:14px;padding:3px 14px;margin:18px 0}.audio-settings .setting-row{margin:5px 0;padding:11px 0}.audio-settings select{max-width:58%;font:inherit;font-size:10px;color:#708453;background:#fff8e4;border:1px solid #d9d9b7;border-radius:8px;padding:8px;outline-offset:3px}.audio-volume{display:block;text-align:start;font-size:10px;color:#84916c;margin:14px 0}.audio-volume>span{display:flex;justify-content:space-between;gap:12px}.audio-volume output{font:10px Arial,sans-serif;color:#9ca281}.audio-volume input{width:100%;accent-color:#8ba45c;height:23px;margin:6px 0 0}.audio-note{font-size:8px;color:#a1a586;line-height:1.9;margin:9px 0 14px}.audio-note #music-status{display:block;color:#82966a}.setting-row input[type=checkbox]{accent-color:#7b9654;width:17px;height:17px;flex-shrink:0}
@media(max-width:355px){.topbar{padding-inline:11px}.top-actions{gap:5px}.mini-brand{font-size:7px;letter-spacing:1px}.round-button,.language-button{width:28px;height:28px}.star-wallet{padding-inline:7px;gap:3px}}

/* First-level, hands-on guide. No overlay covers the animal pair. */
.tutorial-card{position:sticky;top:8px;z-index:40;margin:0 0 15px;padding:15px 17px;background:linear-gradient(135deg,#fffdf0,#f0f2d9);border:2px solid #c3ce94;border-radius:20px;box-shadow:0 5px 0 #b4bb7833,0 8px 25px #50613f15;color:#4f693d;text-align:start;scroll-margin-top:12px}
.tutorial-card[hidden]{display:none}
.tutorial-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 12px;margin-bottom:9px;font-size:11px;color:#869462}
.tutorial-skip{min-height:36px;padding:5px 0;border:0;background:none;color:#728452;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.tutorial-card-main{display:flex;align-items:center;gap:12px}
.tutorial-portrait{display:block;position:relative;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:#e1e8c5;font-size:27px;font-weight:bold;line-height:48px;text-align:center;color:#829f4f}
.tutorial-portrait .animal{width:100%;height:100%;display:block}
.tutorial-card h2{margin:0;font-size:17px;line-height:1.5;font-weight:700;outline:none;overflow-wrap:anywhere}
.tutorial-card-main p{margin:5px 0 0;font-size:12px;line-height:1.65;color:#839269}
.tutorial-detail{font-size:13px;line-height:1.75;color:#798962;margin:13px 0}
.tutorial-card .primary-button{font-size:13px;min-height:44px;margin:9px 0 1px;padding:11px 14px}
.tutorial-active .tile{scroll-margin-top:210px}
.tile.tutorial-muted{opacity:.62;filter:saturate(.8);transition:opacity .2s}
.tile.tutorial-pair{opacity:1;outline:3px solid #c2a64e;outline-offset:2px;z-index:2;animation:tutorial-glow 1.6s ease-in-out infinite}
.tool.tutorial-tool{outline:3px solid #bda14c;outline-offset:4px;animation:tutorial-glow 1.6s ease-in-out infinite}
.tutorial-active .timer{color:#80945d}
.tutorial-intro .tutorial-badge{display:inline-block;border:1px solid #d9deb9;background:#edf1da;border-radius:20px;padding:6px 13px;font-size:11px;color:#80965d}
.tutorial-demo{display:flex;align-items:center;justify-content:center;gap:18px;margin:21px 0 17px}
.tutorial-demo>span{display:block;width:74px;height:74px;background:#f4ebcf;border:2px solid #fff9e9;border-bottom:4px solid #d8c9a1;border-radius:22px}
.tutorial-demo .animal{display:block;width:100%;height:100%}
.tutorial-demo>svg{color:#91a566;width:26px;height:26px}
.tutorial-intro h2{font-size:24px;line-height:1.45;margin:12px 0;color:#607944}
.tutorial-intro>p{font-size:14px;line-height:1.85;color:#798565;margin:13px 0}
.tutorial-intro>p.tutorial-rule{font-size:12px;background:#edf0d88a;border-radius:12px;padding:11px 13px;color:#84906c}
.tutorial-intro .primary-button,.tutorial-intro .secondary-button{font-size:14px;min-height:46px}
.tutorial-language{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:0;background:none;color:#8d9879;font-size:11px;margin-top:5px}
.tutorial-language svg{width:14px;height:14px}
@keyframes tutorial-glow{0%,100%{box-shadow:0 0 0 4px #d6c17125}50%{box-shadow:0 0 0 7px #d6c17160}}
@keyframes tutorial-tap{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}
@media(max-width:650px){.tutorial-card{padding:12px 13px;border-radius:16px;top:6px;margin-bottom:12px}.tutorial-card h2{font-size:16px}.tutorial-card-main{gap:9px}.tutorial-card-main p{font-size:12px}.tutorial-portrait{flex-basis:40px;width:40px;height:40px;line-height:40px;border-radius:12px}.tutorial-card-top{margin-bottom:6px}.tutorial-intro h2{font-size:23px}.tutorial-demo{margin:18px 0 13px}.tutorial-active .tile{scroll-margin-top:200px}}

/* The demonstration cursor uses board coordinates, so it follows mobile layout and scrolling. */
.tutorial-cursor{position:absolute;left:0;top:0;width:40px;height:48px;z-index:30;pointer-events:none;will-change:transform;direction:ltr}
.tutorial-cursor[hidden]{display:none}
.tutorial-cursor svg{width:40px;height:48px;fill:#fffdf1;stroke:#5f7d41;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(1px 3px 2px #40562b55);transform-origin:16px 3px}
.tutorial-cursor i{position:absolute;left:16px;top:3px;width:32px;height:32px;margin:-16px;border:3px solid #92ad52;border-radius:50%;opacity:0;box-shadow:0 0 0 4px #eff9c850}
.tutorial-cursor.pressing i{animation:demo-click-ring .5s ease-out}
.tutorial-cursor.pressing svg{animation:demo-click-hand .35s ease-out}
.tile.demo-pressed{box-shadow:0 0 0 3px #8ba74e inset,0 0 16px #cbdc8c;outline:3px solid #8da14d}
.tile.tutorial-target{outline-color:#8ea454}
@keyframes demo-click-ring{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(1.5)}}
@keyframes demo-click-hand{0%,100%{transform:scale(1)}45%{transform:scale(.88)}}
