:root{color:#243b39;font-synthesis:none;--ink:#243b39;--muted:#64766c;--teal:#17786b;--teal-dark:#105c53;--cream:#fffbef;--line:#d5e0d0;--shadow:0 5px 0 #d1ddca;--board:min(92vw,360px,calc(100dvh - 236px));background:#eef4e9;font-family:ui-rounded,Avenir Next,Nunito,Trebuchet MS,Arial,sans-serif;font-weight:600}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0}body{-webkit-tap-highlight-color:transparent;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation;border:0}button:disabled{cursor:default;opacity:.43;filter:grayscale(.5);box-shadow:none!important}button:active:not(:disabled){transform:translateY(2px);box-shadow:none!important}button img{pointer-events:none;width:24px;height:24px}h1,h2,h3,p{margin:0}#app{isolation:isolate;background:radial-gradient(at 50% 24%,#fcfcee 0,#eef4e9 44%,#e3eee1 100%)}#app:before,#app:after{content:"";opacity:.18;z-index:-1;pointer-events:none;background-image:var(--sprigs);background-position:50%;background-repeat:no-repeat;background-size:contain;width:220px;height:330px;position:fixed}#app:before{top:5%;left:-100px;transform:rotate(-15deg)}#app:after{bottom:0;right:-90px;transform:rotate(165deg)}.shell{width:100%;max-width:480px;height:100%;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));flex-direction:column;gap:12px;margin:auto;display:flex;position:relative}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.brand{letter-spacing:-1px;color:var(--ink);font-size:25px;font-weight:900}.brand span{color:#d28a30}.eyebrow{text-transform:uppercase;letter-spacing:2.4px;color:#67816c;font-size:11px;font-weight:800}.icon-button{width:44px;height:44px;color:var(--ink);background:#fffef7;border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 3px #d5e0cf}.icon-button:hover{background:#fff}.plain-button{min-height:44px;color:var(--teal);background:0 0;border-radius:12px;padding:10px 14px;font-weight:800}.primary,.secondary{border-radius:15px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 18px;font-size:16px;font-weight:800;line-height:1.25;display:flex}.primary{color:#fffdf0;background:var(--teal);box-shadow:0 4px 0 var(--teal-dark)}.secondary{color:var(--ink);background:#fffdf5;box-shadow:0 4px #d5dfce}.primary img{filter:brightness(0)invert()}.button-stack{flex-direction:column;gap:13px;display:flex}.screen[hidden],.modal-layer[hidden],.board-wrap[hidden],.save-status[hidden]{display:none!important}.screen{flex:1;min-height:0}.screen-menu{text-align:center;flex-direction:column;align-items:center;display:flex}.menu-head{padding-top:clamp(8px,3dvh,28px)}.menu-head h1{letter-spacing:-2.5px;font-size:clamp(42px,11vw,58px);font-weight:900;line-height:1.1}.menu-head h1 span{color:#d58d37}.tagline{color:#5e7568;margin-top:9px;font-size:16px;font-weight:500}.hero{justify-content:center;align-items:center;width:100%;height:clamp(166px,33dvh,280px);margin:8px 0 12px;display:flex;position:relative}.hero:before{content:"";background:#f8e9b8;border-radius:50%;width:88%;height:34%;position:absolute;bottom:18%;box-shadow:0 14px #c3d9b4}.hero:after{content:"✦";color:#e0ad58;font-size:30px;position:absolute;top:13%;right:9%;transform:rotate(20deg)}.hero img{object-fit:contain;filter:drop-shadow(0 5px 2px #4b582912);align-self:flex-end;width:46%;height:78%;margin-bottom:13%;position:relative}.hero .penguin{width:43%;margin-left:-4%;transform:rotate(3deg)}.menu-actions{width:100%;max-width:320px;margin-top:auto}.menu-footer{color:#788c79;margin-top:auto;padding-top:22px;font-size:12px;font-weight:500;line-height:1.5}.menu-footer .seed{color:#81996d;margin-bottom:6px;font-size:22px;display:block}.screen-levels{text-align:center;flex-direction:column;gap:22px;padding-top:12px;display:flex}.screen-levels h1{letter-spacing:-.7px;font-size:29px}.progress-caption{color:var(--muted);margin-top:9px;font-size:14px;font-weight:500}.progress-line{background:#dce7d4;border-radius:10px;max-width:190px;height:6px;margin:15px auto 0;overflow:hidden}.progress-line span{background:#64a87e;border-radius:10px;height:100%;display:block}.level-grid{grid-template-columns:repeat(5,1fr);gap:12px 10px;width:100%;max-width:360px;margin:4px auto 0;display:grid}.level-card{aspect-ratio:.9;min-height:58px;color:var(--ink);background:#fffdf6;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:22px;font-weight:900;display:flex;box-shadow:0 4px #cadcc3}.level-card img{width:16px;height:16px}.level-card.current{background:var(--teal);color:#fff}.level-card.locked{box-shadow:none;color:#899b8b;opacity:1;background:#dde6d8}.level-card.completed{box-shadow:0 4px #8ab896}.level-card .level-dot{color:#69a57d;height:16px;font-size:13px}.perfect-card{text-align:center;background:#e0ead8;border:1px solid #d1dfca;border-radius:24px;max-width:350px;margin:10px auto 0;padding:25px 20px}.perfect-card img{width:34px;height:34px;margin-bottom:10px}.perfect-card h3{margin-bottom:7px;font-size:17px}.perfect-card p{color:#647763;font-size:14px;font-weight:500;line-height:1.55}.screen-levels .menu-footer{margin-top:auto}.game-screen{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.game-heading{width:var(--board);justify-content:space-between;align-items:center;gap:8px;min-height:24px;padding:0 5px;font-size:16px;font-weight:800;display:flex}.moves{color:#5e7364;background:#e0ead6;border-radius:12px;padding:6px 11px;font-size:14px;font-weight:700}.game-subtitle{width:var(--board);color:var(--muted);text-align:center;min-height:17px;font-size:12px;font-weight:500;line-height:1.4}.board-wrap{width:var(--board);height:var(--board);filter:drop-shadow(0 6px #a5bba782);touch-action:none;border-radius:18px;flex:none;position:relative}.board-host{border-radius:18px;position:absolute;inset:0;overflow:hidden}.board-host canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.game-controls{width:var(--board);flex-direction:column;gap:11px;display:flex}.tools{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tool-button{min-height:48px;color:var(--ink);background:#fffdf6;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px;font-size:12px;font-weight:700;display:flex;box-shadow:0 3px #d4dfcd}.directions{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.direction-button{background:var(--teal);min-width:44px;min-height:46px;box-shadow:0 4px 0 var(--teal-dark);border-radius:14px;justify-content:center;align-items:center;display:flex}.direction-button img{filter:brightness(0)invert();width:25px;height:25px}.direction-button.hinted{outline-offset:2px;background:#c28c30;outline:3px solid #f3d48d;box-shadow:0 4px #986a20}.control-caption{text-align:center;color:#7b8c77;padding-top:2px;font-size:11px;font-weight:500}.game-bottom{color:#7c8d78;justify-content:center;align-items:center;gap:8px;font-size:11px;line-height:1.3;display:flex}.hint-chip{white-space:nowrap;color:#68772f;background:#fffbe8;border:1px solid #d6e2bc;border-radius:30px;flex:none;padding:7px 12px;font-size:12px;position:relative;inset:auto;transform:none;box-shadow:0 3px 10px #263b3924}.save-status{bottom:max(8px,env(safe-area-inset-bottom));z-index:80;color:#755821;text-align:center;background:#fff6dc;border:1px solid #e2c789;border-radius:12px;max-width:calc(100% - 24px);padding:8px 12px;font-size:12px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #1f3a361a}.save-status button{color:var(--teal);background:0 0;min-height:30px;font-size:12px;text-decoration:underline}.modal-layer{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:40;background:#213c3c80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--cream);text-align:center;border:2px solid #fffef5;border-radius:28px;width:100%;max-width:350px;max-height:calc(100dvh - 32px);padding:25px 22px 23px;overflow:auto;box-shadow:0 9px #213c3c38,0 25px 100px #18332930}.modal-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.modal-header h2{letter-spacing:-.8px;flex:1;font-size:25px}.modal-close{width:44px;min-height:44px;color:var(--muted);background:0 0;justify-content:center;align-items:center;display:flex}.modal-close img{width:23px;height:23px}.modal h2{letter-spacing:-.7px;font-size:25px;line-height:1.2}.modal p{color:var(--muted);margin-top:10px;font-size:14px;font-weight:500;line-height:1.55}.modal .button-stack{margin-top:23px}.modal .primary,.modal .secondary{font-size:15px}.modal-illustration{justify-content:center;gap:6px;height:85px;margin:7px auto 15px;display:flex}.modal-illustration img{object-fit:contain;max-width:45%;height:100%}.modal-symbol{width:45px;height:45px;margin:0 auto 16px}.modal-star{width:39px;height:39px;margin:13px auto;display:block}.perfect-label{color:#a77829!important;margin-top:5px!important;font-size:17px!important;font-weight:900!important}.result-stats{text-align:center;background:#e9eddc;border-radius:18px;grid-template-columns:1fr 1fr;gap:12px;margin:17px 0 0;padding:13px;display:grid}.result-stats span{color:#74816c;font-size:12px;font-weight:500;display:block}.result-stats strong{color:var(--ink);font-size:25px;line-height:1.3;display:block}.best-result{font-size:13px!important}.setting-row{text-align:left;border-bottom:1px solid #e0e6d3;justify-content:space-between;align-items:center;gap:12px;min-height:54px;font-size:14px;display:flex}.toggle{color:#597151;background:#dce6d0;border-radius:13px;min-width:67px;min-height:44px;font-size:14px;font-weight:800}.toggle.on{color:#1b6c4e;background:#cce5cc}.language-switch{gap:8px;display:flex}.language-switch button{color:#63775a;background:#e1e8d7;border-radius:12px;width:46px;min-height:44px}.language-switch .selected{background:var(--teal);color:#fff}.tutorial-goals{justify-content:center;align-items:center;gap:18px;margin:18px 0 5px;display:flex}.tutorial-goals img{width:64px;height:64px}.tutorial-arrow{color:#6c9874;font-size:24px}.tutorial-copy{font-size:15px!important}.loading-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;display:flex;position:absolute;inset:0}.loading-card h1{letter-spacing:-2px;font-size:42px;font-weight:900}.loading-leaf{color:#6e9b6e;font-size:42px;animation:1.8s ease-in-out infinite breathe}.load-track{background:#d5e3ce;border-radius:10px;width:160px;height:6px;overflow:hidden}.load-track span{background:#68a17a;border-radius:10px;width:8%;height:100%;transition:width .2s;display:block}.loading-caption{color:var(--muted);font-size:14px;font-weight:500}.loading-card .primary{width:240px;margin-top:5px}.toast{z-index:90;color:#fffdf1;text-align:center;pointer-events:none;background:#203f36;border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #1d352b2b}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@keyframes breathe{50%{opacity:.6;transform:rotate(14deg)scale(1.08)}}@media (min-width:700px) and (min-height:700px){:root{--board:min(400px,calc(100dvh - 258px))}.shell{gap:18px;max-width:500px;padding-top:23px;padding-bottom:23px}.brand{font-size:29px}.game-screen{gap:14px}.game-heading{font-size:18px}.game-subtitle{font-size:13px}.tool-button{min-height:54px;font-size:13px}.direction-button{min-height:52px}.screen-menu{padding:0 25px}.hero{height:280px}.menu-head{padding-top:30px}.menu-head h1{font-size:64px}.menu-actions{margin-top:15px}.menu-footer{padding-bottom:12px}.level-grid{gap:18px 13px;margin-top:15px}.level-card{min-height:70px}.perfect-card{margin-top:22px}.screen-levels{padding:24px}}@media (max-width:340px){.shell{gap:8px;padding-left:12px;padding-right:12px}:root{--board:min(calc(100vw - 24px),calc(100dvh - 224px))}.brand{font-size:23px}.game-screen{gap:8px}.game-heading{font-size:14px}.game-subtitle,.tool-button{font-size:11px}.menu-head h1{font-size:43px}.tagline{font-size:14px}.hero{height:185px;margin-top:0;margin-bottom:6px}.menu-footer{padding-top:16px}.modal{padding:22px 18px}.level-grid{gap:12px 8px}.screen-levels{gap:18px}.perfect-card{padding:19px 16px}.game-bottom{display:none}}@media (max-height:570px) and (orientation:portrait){.shell{gap:7px;padding-top:10px;padding-bottom:9px}.hero{height:160px}.menu-head{padding-top:4px}.menu-footer{padding-top:12px}.menu-footer .seed{display:none}.game-screen{gap:7px}.control-caption{font-size:10px}.game-bottom{display:none}.screen-levels{gap:16px;padding-top:5px}.perfect-card{padding:17px}.modal .button-stack{margin-top:18px}}@media (orientation:landscape) and (max-height:600px){:root{--board:min(calc(100dvh - 96px),calc(100vw - 265px),390px)}.shell{gap:5px;max-width:900px;padding:10px 20px}.topbar{min-height:44px}.game-screen{grid-template-columns:var(--board) 185px;grid-template-rows:auto var(--board);place-content:center;gap:8px 22px;display:grid}.game-heading{width:var(--board);grid-area:1/1}.game-subtitle{display:none}.board-wrap{grid-area:2/1}.game-controls{grid-area:2/2;align-self:center;gap:18px;width:185px}.tools{grid-template-columns:repeat(3,1fr);gap:8px}.tool-button{min-height:51px;font-size:10px}.directions{grid-template-columns:repeat(2,1fr);gap:10px}.direction-button{min-height:48px}.control-caption{line-height:1.5}.game-bottom{text-align:center;grid-area:1/2;font-size:11px}.brand{font-size:24px}.screen-menu{grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;align-content:center;column-gap:30px;padding:0 40px;display:grid}.menu-head{grid-area:1/1;padding:3px 0 0}.menu-head h1{font-size:42px}.hero{grid-area:2/1/span 2;height:180px;margin:0}.menu-actions{grid-area:1/2/span 2;align-self:center;margin:auto}.menu-footer{grid-area:3/2;margin:0;padding-top:2px;font-size:11px}.menu-footer .seed{display:none}.screen-levels{grid-template-rows:auto 1fr;grid-template-columns:1.2fr 1fr;gap:10px 24px;padding:0 40px;display:grid}.levels-heading{grid-area:1/1}.screen-levels h1{font-size:25px}.progress-caption{margin-top:5px}.progress-line{margin-top:8px}.level-grid{grid-area:2/1;align-self:center;gap:12px 9px;margin:0}.level-card{aspect-ratio:1.15;min-height:48px;font-size:19px}.perfect-card{grid-area:1/2/span 2;align-self:center;margin:0;padding:20px}.screen-levels .menu-footer{display:none}.modal{max-height:calc(100dvh - 24px);padding:18px 22px}.modal-illustration{height:55px;margin-bottom:8px}.modal-star{width:25px;height:25px;margin:9px auto}.result-stats{margin-top:10px;padding:9px}.modal .button-stack{gap:10px;margin-top:16px}.modal .primary,.modal .secondary{min-height:44px;padding:9px 14px}.modal h2{font-size:23px}.modal p{margin-top:7px}.modal-header{margin-bottom:5px}.setting-row{min-height:50px}.tutorial-goals{margin:9px 0}.tutorial-goals img{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tool-button{font-size:14px!important}.modal-close{min-width:44px}.game-subtitle{font-size:14px!important}.game-bottom{font-size:12px}.control-caption{font-size:12px!important}:root{--ink:#263e37;--teal:#2384c5;--teal-dark:#144b79;--board:min(calc(100vw - 28px),360px,calc(100dvh - 262px))}#app{background:#31bdce;background-image:var(--lagoon);background-position:50%;background-size:cover}#app:before{background-image:var(--lagoon);opacity:1;filter:blur(4px);z-index:-2;background-position:50%;background-size:cover;width:auto;height:auto;inset:-10px;transform:none}#app:after{opacity:1;z-index:-1;background:linear-gradient(#b6effb08 0%,#3ecce000 50%,#00332b40 100%);width:auto;height:auto;inset:0;transform:none}.shell{isolation:isolate;gap:8px;max-width:480px;padding:12px 14px}.shell:before{content:"";background-image:var(--lagoon);z-index:-1;pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0 -35px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.brand{color:#fff3cb;text-shadow:0 2px #54371d,-1px 0 #54371d,1px 0 #54371d;letter-spacing:-.8px;font-weight:900}.icon-button{background:linear-gradient(#fff9e7,#e8d5ad);border:2px solid #754c2a;border-radius:14px;box-shadow:0 3px #523a26,0 4px 10px #083c4340}.primary,.secondary{color:#fffdf0;text-shadow:0 2px #154269;letter-spacing:.15px;border:3px solid #164875;border-radius:17px;font-size:17px;box-shadow:inset 0 2px #ffffffa6,0 4px #143e58,0 6px 10px #0437353b}.primary{text-shadow:0 2px #28682a;background:linear-gradient(#70ce55,#43a936);border-color:#215e36;box-shadow:inset 0 2px #c6f2aa,0 4px #184a32,0 6px 10px #0437353b}.primary:hover{background:linear-gradient(#7bd95d,#4bb73a)}.secondary{background:linear-gradient(#43aaeb,#2587c8)}.secondary:hover{background:linear-gradient(#57b9f2,#2b95d6)}.menu-head{background-image:var(--wood-header);filter:drop-shadow(0 4px 1px #123f3833);background-size:100% 100%;width:100%;max-width:350px;margin-top:10px;padding:17px 20px 22px}.menu-head h1{color:#fff2b7;text-shadow:0 3px #754923;letter-spacing:-1.8px;font-size:clamp(39px,11vw,53px);line-height:1.05}.tagline{color:#fffbe6;text-shadow:0 2px #493023;margin-top:12px;font-size:14px;font-weight:800}.hero{height:clamp(175px,34dvh,282px);margin:2px 0 10px}.hero:before{background:radial-gradient(#e2eec2 0%,#c1d796 65%,#74ba6580 70%);height:25%;bottom:15%;box-shadow:0 10px #166d6240,0 19px 22px #034e4b38}.hero:after{color:#fff0b1;text-shadow:0 0 13px #fff8c0}.hero img{filter:drop-shadow(0 8px 3px #11423f42);animation:4.8s ease-in-out infinite friend-bob}.hero .penguin{animation-delay:-2.3s}.menu-actions{gap:14px;max-width:310px;margin-top:auto}.menu-footer{color:#fffce4;text-shadow:0 2px 2px #124f3d,1px 0 #124f3d,-1px 0 #124f3d;padding-top:14px;font-weight:800}.menu-footer .seed{display:none}#app[data-screen=game] .topbar{z-index:12;min-height:44px;position:absolute;top:14px;right:14px}#app[data-screen=game] .topbar .brand,#app[data-screen=game] .topbar>span{display:none}.game-screen{justify-content:center;gap:8px}.game-heading{background-image:var(--wood-header);filter:drop-shadow(0 3px 2px #134b4e2b);background-size:100% 100%;flex:none;width:min(76%,270px);height:78px;padding:0;display:block;position:relative}#level-label{color:#fffce7;text-shadow:0 2px #724321,1px 0 #724321,-1px 0 #724321;white-space:nowrap;font-size:19px;font-weight:900;line-height:1.2;position:absolute;top:29%;left:50%;transform:translate(-50%,-50%)}.game-heading .moves{white-space:nowrap;color:#fffbe6;text-align:center;text-shadow:0 1px 1px #372616;background:0 0;border-radius:0;max-width:52%;padding:0;font-size:14px;line-height:1.1;position:absolute;top:65%;left:50%;transform:translate(-50%,-50%)}.game-subtitle,.game-bottom{display:none}.board-wrap{filter:drop-shadow(0 9px #31504a83)drop-shadow(0 11px 9px #123f4559);isolation:isolate;border-radius:15px}.board-wrap:before{content:"";z-index:-1;background:linear-gradient(#9aca58,#648d46 50%,#71815b 52%,#50594b);border:2px solid #546840;border-radius:18px;position:absolute;inset:-3px;box-shadow:inset 0 2px #daec8c,0 4px #4d6955}.board-wrap:after{content:"";pointer-events:none;border-radius:18px;position:absolute;inset:-3px;box-shadow:inset 0 1px #eeffbe60}.game-controls{flex:none;align-items:center;gap:9px;margin-top:5px}.directions{grid-template-rows:repeat(2,54px);grid-template-columns:repeat(3,60px);justify-content:center;gap:5px 8px;display:grid;position:relative}.direction-button{width:60px;min-width:44px;height:54px;min-height:44px;box-shadow:none;filter:drop-shadow(0 3px 1px #07384d4a);background:0 0;border:0;border-radius:15px;padding:0;transition:transform .1s,filter .1s}.direction-button img{object-fit:contain;filter:none;width:100%;height:100%}.direction-button[data-direction=U]{grid-area:1/2}.direction-button[data-direction=L]{grid-area:2/1}.direction-button[data-direction=D]{grid-area:2/2}.direction-button[data-direction=R]{grid-area:2/3}.direction-button:active:not(:disabled){transform:translateY(3px)scale(.95)}.direction-button.hinted{outline-offset:2px;filter:drop-shadow(0 0 9px #fffab5);background:0 0;outline:3px solid #ffe48a}.tools{gap:8px;width:100%}.tool-button{color:#4f422c;background:linear-gradient(#fff9e6,#ead8b0);border:2px solid #785936;border-radius:13px;flex-direction:row;gap:6px;min-height:44px;padding:6px 5px;box-shadow:inset 0 1px #ffe,0 3px #4a4b35,0 4px 8px #0039322b;font-size:14px!important}.tool-button img{width:20px;height:20px}.control-caption{color:#fffde5;text-shadow:0 1px 2px #075343;padding:0;font-size:11px;font-weight:700}.screen-levels{background:#fff8e6eb;border:3px solid #8e754b;border-radius:24px;flex:0 auto;gap:20px;margin:auto 0;padding:20px 14px;box-shadow:0 5px #245a4e66}.screen-levels .menu-footer{color:#627451;text-shadow:none}.level-card{background:linear-gradient(#fffdf2,#e2edc9);border:2px solid #8cb574;box-shadow:0 3px #799a63}.level-card.current{background:linear-gradient(#59b9e6,#2584bf);border-color:#1b6388;box-shadow:0 3px #174f72}.level-card.locked{background:#d6ddc7;border-color:#bdc7a9}.perfect-card{background:#e4edcf;border-color:#c1cea8}.modal{background:#fff9e8;border:3px solid #b08c54;box-shadow:0 8px #47594a69,0 15px 60px #123b3940}.modal-layer{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d4b4d80}.loading-card{background-image:var(--lagoon);color:#fff9d9;text-shadow:0 2px #235845;background-position:50%;background-size:cover}@keyframes friend-bob{0%,to{translate:0;rotate:-1deg}50%{translate:0 -5px;rotate:1deg}}@media (max-height:680px) and (orientation:portrait){.shell{gap:6px;padding-top:10px;padding-bottom:10px}.game-heading{width:min(75%,248px);height:66px;padding:8px 15px 9px}#level-label{font-size:18px}.game-screen{gap:7px}.game-controls{gap:8px;margin-top:3px}.directions{grid-template-rows:repeat(2,50px);grid-template-columns:repeat(3,56px);gap:4px 8px}.direction-button{width:56px;height:50px}.control-caption{display:none}.menu-head{margin-top:1px;padding:15px 20px 20px}.hero{height:190px}.screen-levels{gap:18px;padding:16px 13px}}@media (max-width:340px){:root{--board:min(calc(100vw - 28px),calc(100dvh - 260px))}.shell{padding-left:14px;padding-right:14px}.game-heading{width:220px;height:62px;padding:7px 14px 9px}#level-label{font-size:17px}.directions{grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,52px);gap:4px 8px}.direction-button{width:52px;height:46px}.game-controls{gap:8px}.tool-button{gap:4px;font-size:14px!important}.tool-button img{width:17px;height:17px}.hero{height:170px}.menu-head h1{font-size:40px}.tagline{margin-top:10px;font-size:13px}.menu-footer{padding-top:10px}.screen-levels{gap:15px;padding:14px 10px}}@media (min-width:700px) and (min-height:700px){:root{--board:min(400px,calc(100dvh - 312px))}.shell{max-width:500px;padding-top:20px;padding-bottom:20px}.game-screen{gap:12px}.game-heading{width:285px;height:88px}.directions{grid-template-rows:repeat(2,61px);grid-template-columns:repeat(3,68px);gap:6px 10px}.direction-button{width:68px;height:61px}.game-controls{gap:12px}.game-controls .tools{max-width:380px}.menu-head{margin-top:30px}.hero{height:280px}.screen-menu{padding:0 20px}}@media (orientation:landscape) and (max-height:600px){:root{--board:min(calc(100dvh - 72px),calc(100vw - 286px),390px)}.shell{max-width:950px;padding:12px 22px}#app[data-screen=game] .topbar{top:12px;right:16px}.game-screen{grid-template-columns:var(--board) 210px;grid-template-rows:var(--board);align-content:center;gap:22px;display:grid}.board-wrap{grid-area:1/1}.game-heading{grid-area:1/2;align-self:start;width:210px;height:70px;margin:5px 0 0;padding:8px 12px 10px}.game-controls{grid-area:1/2;align-self:end;gap:12px;width:210px;margin:0 0 4px}.directions{grid-template-rows:repeat(2,49px);grid-template-columns:repeat(3,54px);gap:5px 8px}.direction-button{width:54px;height:49px}.tool-button{flex-direction:column;gap:2px;min-height:52px;padding:5px 2px;font-size:14px!important}.tool-button img{width:17px;height:17px}.control-caption{display:none}.game-heading #level-label{font-size:16px}.game-controls .tools{gap:6px}.screen-levels{flex:1;margin:auto;padding:15px 25px}.screen-menu{padding:0 35px}.menu-head{margin:0;padding:12px 16px 15px}.menu-head h1{font-size:36px}.tagline{margin-top:10px;font-size:13px}.hero{height:160px}.menu-footer{font-size:11px}.screen-levels .level-card{min-height:48px}}#app[data-motion=reduced] *,#app[data-motion=reduced] :before,#app[data-motion=reduced] :after{transition:none!important;animation:none!important}#app{position:relative;overflow:hidden}.menu-head{aspect-ratio:588/197;flex:none;height:auto;padding:0;position:relative}.menu-head h1{letter-spacing:-.7px;text-shadow:0 2px 1px #72492380;width:80%;font-size:clamp(33px,10vw,42px);line-height:1;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%)}.menu-head .tagline{letter-spacing:-.1px;white-space:nowrap;text-shadow:0 1px 2px #37261680;width:57%;margin:0;font-size:14px;font-weight:600;line-height:1.15;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}.game-heading{padding:0}#level-label{letter-spacing:-.2px;text-shadow:0 1px 2px #513419a6;line-height:1.15}.game-heading .moves{letter-spacing:0;text-shadow:0 1px 2px #37261680;font-weight:700}.brand{letter-spacing:-.4px;text-shadow:0 1px 2px #54371dc0;line-height:1.15}.primary,.secondary{letter-spacing:0;text-shadow:0 1px 1px #15426980;line-height:1.2}.primary{text-shadow:0 1px 1px #28682a80}.plain-button,.tool-button,.toggle,.language-switch button{letter-spacing:0;line-height:1.2}.screen-levels h1{letter-spacing:-.3px;line-height:1.15}.level-card{letter-spacing:0;line-height:1.1}.level-card .level-dot{line-height:16px}.progress-caption,.perfect-card p,.modal p{line-height:1.5}.perfect-card h3,.modal h2{letter-spacing:-.3px;line-height:1.2}.modal-header{justify-content:center;min-height:44px;padding-inline:44px;position:relative}.modal-header h2{font-size:24px}.modal-close{height:44px;margin-block:auto;position:absolute;top:0;bottom:0;right:0}.setting-row{line-height:1.3}.result-stats span{line-height:1.25}.result-stats strong{margin-bottom:3px;line-height:1.2}.menu-footer{text-shadow:0 1px 2px #124f3dcc;font-weight:700;line-height:1.4}.modal-illustration img[src$=cat_celebrate\.png]{clip-path:polygon(0 0,100% 0,100% 56%,94% 56%,94% 74%,100% 74%,100% 100%,0 100%)}.star-result{text-align:left;justify-content:center;align-items:center;gap:9px;margin:12px 0 0;display:flex}.result-star{flex:none;width:30px;height:30px}.modal .star-rule{max-width:240px;margin:0;font-size:13px;line-height:1.4}.modal .star-rule.perfect-label{margin:0!important;font-size:15px!important}.modal .tutorial-level{color:#6f806d;margin:0 0 6px;font-size:12px;font-weight:700}.tutorial-mechanic{justify-content:center;align-items:center;gap:14px;margin:20px auto 12px;display:flex}.tutorial-mechanic img{object-fit:contain;width:64px;height:64px}.pair-badge,.mechanic-tile{display:none!important}.game-heading .moves,.menu-head .tagline{top:62%}.hero:before{content:none!important;display:none!important}.loading-card{gap:15px}.loading-card .loading-percent{color:#fff9d9;text-shadow:0 1px 2px #174538;text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:13px;font-weight:800;line-height:1}.load-track{height:8px;box-shadow:inset 0 1px 2px #183e3630}.load-track span{transition:width .24s cubic-bezier(.22,.61,.36,1)}@media (max-width:340px){.tool-button{flex-direction:column;gap:2px;min-height:52px;padding:4px 2px}}.screen-levels{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:12px;min-height:0;margin:0;padding:16px 13px;display:flex;overflow:hidden auto}.screen-levels .levels-heading,.screen-levels .world-tabs,.screen-levels .world-heading,.screen-levels .level-grid,.screen-levels .perfect-card{flex:none;grid-area:auto}.screen-levels h1{font-size:25px}.screen-levels .progress-caption{margin-top:5px;font-size:13px}.world-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;display:grid}.world-tab{color:#435b4c;background:linear-gradient(#fffdf3,#e7e9d3);border:2px solid #9cae86;border-radius:14px;justify-content:center;align-items:center;gap:9px;min-height:56px;padding:6px;display:flex;box-shadow:0 3px #7a9271}.world-tab.selected{background:linear-gradient(#dcf0bb,#b7d88c);border-color:#246b4c;box-shadow:0 3px #356a46}.world-preview{object-fit:cover;border-radius:8px;width:32px;height:40px}.world-tab strong{font-size:14px;line-height:1.2;display:block}.world-tab small{margin-top:3px;font-size:12px;font-weight:600;line-height:1.25;display:block}.world-heading h2{letter-spacing:-.3px;font-size:20px;line-height:1.2}.world-heading p{color:#60785c;margin-top:5px;font-size:12px;line-height:1.4}.mechanic-tile{display:inline-flex;position:relative}.pair-badge{color:#27445e;background:#fffef1;border:2px solid #3c5771;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;font-weight:900;line-height:1;display:grid;position:absolute;top:0;left:0}.screen-levels .level-grid{gap:9px 8px;max-width:360px;margin:2px auto 3px}.screen-levels .level-card{aspect-ratio:1.05;gap:2px;min-height:46px;font-size:19px}.screen-levels .perfect-card{text-align:left;border-radius:16px;grid-template-columns:30px 1fr;gap:3px 10px;margin:2px 0 0;padding:12px;display:grid}.screen-levels .perfect-card img{grid-row:1/span 2;align-self:center;width:28px;height:28px;margin:0}.screen-levels .perfect-card h3{margin:0;font-size:14px}.screen-levels .perfect-card p{font-size:12px;line-height:1.4}.screen-levels .menu-footer{text-align:center;margin:0;padding:0;font-size:11px;display:block}#app[data-world=frost] .board-wrap:before{background:linear-gradient(#b3eaf5,#72b6ce 50%,#6b9cac 52%,#466778);border-color:#467c91;box-shadow:inset 0 2px #ebfeff,0 4px #3a6678}#app[data-world=frost] .world-tab.selected{background:linear-gradient(#e1faff,#9fd4ee);border-color:#3c819b;box-shadow:0 3px #396c83}#app[data-world=frost] .hero:before{background:linear-gradient(#eefeff,#addce9);box-shadow:0 14px #72b9d1,0 20px 13px #15688459}#app[data-world=frost] .level-card.current{background:linear-gradient(#72c6ed,#3e92c4)}@media (orientation:landscape) and (max-height:600px){.screen-levels{grid-template-rows:auto auto 1fr;grid-template-columns:220px 1fr;align-content:start;gap:10px 24px;width:100%;max-width:760px;margin:0 auto;padding:12px 20px;display:grid}.screen-levels .levels-heading{grid-area:1/1}.screen-levels .world-tabs{grid-area:2/1}.screen-levels .world-heading{grid-area:3/1;align-self:start}.screen-levels .level-grid{grid-area:1/2/span 3;align-self:start;gap:7px;margin:0}.screen-levels .level-card{aspect-ratio:1.3;min-height:46px}.screen-levels .perfect-card{grid-area:4/2}.screen-levels .menu-footer{grid-area:4/1}}.journey-teaser{text-align:center;font-size:12px;line-height:1.35;padding-top:12px!important}.journey-teaser p{margin:0}.journey-teaser .journey-progress{margin-top:5px;font-size:11px;font-weight:600}.journey-dots{justify-content:center;gap:16px;margin:9px auto 5px;display:flex}.journey-dot{color:#fffce6;width:23px;height:23px;text-shadow:none;background:#82958b;border:2px solid #fff0cb;border-radius:50%;place-items:center;font-size:12px;display:grid;position:relative;box-shadow:0 2px #35574b}.journey-dot.ready{background:#5ea95c}.journey-dot:not(:last-child):after{content:"";border-top:2px dotted #fff0cb;width:14px;position:absolute;top:9px;left:23px}.menu-help{color:#405f51;min-height:44px;text-shadow:none;background:#fff5dbed;border:2px solid #99805c;border-radius:13px;justify-content:center;align-items:center;gap:7px;margin-top:4px;padding:6px 15px;font-size:13px;display:inline-flex;box-shadow:0 3px #5e6954}.menu-help img{width:20px;height:20px}.screen-menu .hero{flex-shrink:1;min-height:130px}.screen-menu .menu-actions{flex:none;margin-top:auto}.world-tab{gap:5px;padding:5px 3px}.world-tab small{font-size:11px}.screen-map{overscroll-behavior:contain;scrollbar-width:thin;color:#294c42;background:linear-gradient(140deg,#fff9e9f5,#e9eddbf5);border:3px solid #9b8053;border-radius:28px;flex:1;min-height:0;padding:22px 18px;overflow:auto;box-shadow:0 5px #245a4e66}.journey-heading{text-align:center}.journey-heading h1{letter-spacing:-.6px;margin:7px 0;font-size:30px;line-height:1.2}.journey-heading p{color:#577264;font-size:13px;line-height:1.4}.journey-eyebrow{letter-spacing:.2px;color:#6e785a;background:#e7ecd8;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-block}.journey-heading small{color:#63785e;font-size:11px}.journey-meter{background:#cbd7bd;border-radius:8px;max-width:240px;height:8px;margin:13px auto 5px;overflow:hidden;box-shadow:inset 0 1px 2px #49694422}.journey-meter span{border-radius:inherit;background:linear-gradient(90deg,#72b458,#219479);height:100%;display:block}.journey-route{flex-direction:column;gap:18px;padding:23px 0 4px;display:flex;position:relative}.journey-route:before{content:"";opacity:.8;border-left:5px dotted #b8b98b;position:absolute;top:50px;bottom:155px;left:50%;transform:rotate(1deg)}.journey-stop{color:#294c42;text-align:left;background:linear-gradient(115deg,#fffdf0,#e5ecd5);border:2px solid #b3b591;border-radius:22px;align-items:center;gap:14px;width:100%;max-width:325px;min-height:115px;padding:9px 11px;display:flex;position:relative;box-shadow:0 4px #9bab80}.journey-stop:nth-child(2n){text-align:right;background:linear-gradient(245deg,#fffdf0,#deebdf);flex-direction:row-reverse;align-self:flex-end}.journey-stop:disabled{opacity:1;filter:none;border-color:#c0bfa8;box-shadow:0 3px #afb59c!important}.journey-stop.locked .journey-island>img:first-child{filter:saturate(.55)}.journey-island{background:#d3e8c6;border:3px solid #e7d9a1;border-radius:45% 45% 35% 35%;flex:none;width:96px;height:90px;display:block;position:relative;box-shadow:0 5px #7b9c73,0 8px 10px #4d6c4730}.journey-island>img:first-child{object-fit:cover;border-radius:inherit;object-position:center 38%;width:100%;height:100%}.journey-stop.frost .journey-island{border-color:#c1edf5;box-shadow:0 5px #649cb3,0 8px 10px #496c8b30}.journey-stop.forest .journey-island{border-color:#f6d193;box-shadow:0 5px #987746,0 8px 10px #7e5e3b30}.journey-number{color:#fff8d8;background:#346d53;border:3px solid #fff6d8;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;font-weight:900;display:grid;position:absolute;top:-9px;left:-9px;box-shadow:0 2px #294f3e}.journey-lock{background:#f4eedc;border:2px solid #9e9d82;border-radius:10px;width:28px;height:28px;padding:5px;position:absolute;bottom:-6px;right:-8px}.journey-check{color:#fffbe1;background:#56a459;border:2px solid #f9f3d5;border-radius:50%;place-items:center;width:27px;height:27px;font-size:17px;display:grid;position:absolute;bottom:-6px;right:-7px}.journey-place{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.journey-place strong{letter-spacing:-.3px;font-size:17px;line-height:1.16}.journey-place>span{color:#5b7766;font-size:12px}.journey-place small{color:#727a5c;font-size:11px;line-height:1.35}.journey-stop.complete .journey-place small{color:#2c7b4d}.journey-destination{text-align:center;background:#fff9e6;border:2px solid #d2bd88;border-radius:22px;margin-top:6px;padding:10px 14px 16px;position:relative}.destination-houses img{object-fit:contain;width:102px;height:100px}#app[data-world=forest] .board-wrap:before{background:linear-gradient(#e8cd88,#bd9253 50%,#92713c 52%,#735133);border-color:#7c613b;box-shadow:inset 0 2px #fff3bd,0 4px #5f4830}#app[data-world=forest] .hero:before{background:linear-gradient(#f4e5b3,#bdd078);box-shadow:0 14px #9c9c50,0 20px 13px #75532d59}#app[data-world=forest] .world-tab.selected{background:linear-gradient(#fff0bd,#e4bd73);border-color:#9b773a;box-shadow:0 3px #7d6137}#app[data-world=forest] .level-card.current{background:linear-gradient(#e6b758,#b47d2e);box-shadow:0 4px #765631}.world-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-stop.garden .journey-island{border-color:#f1d5eb;box-shadow:0 5px #a48aaf,0 8px 10px #8b719e30}#app[data-world=garden] .board-wrap:before{background:linear-gradient(#f4dff0,#cfb7d9 50%,#a895bc 52%,#89769f);border-color:#9680a4;box-shadow:inset 0 2px #fff4ed,0 4px #76628d}#app[data-world=garden] .hero:before{background:linear-gradient(#fff4d9,#d3e6b1);box-shadow:0 14px #b3bf95,0 20px 13px #84769c45}#app[data-world=garden] .world-tab.selected{background:linear-gradient(#fff2f4,#e8cce9);border-color:#ac86b0;box-shadow:0 3px #8b6f98}#app[data-world=garden] .level-card.current{background:linear-gradient(#c5aad8,#9974b9);box-shadow:0 4px #765a92}.help-modal{text-align:left;max-width:570px;padding-top:14px}.help-header{z-index:2;background:#fff9e8;border-bottom:1px solid #e6ddc7;margin-bottom:0;padding-top:7px;padding-bottom:7px;position:sticky;top:-15px}.help-header h2{text-align:center}.modal .help-intro{margin-top:12px;font-size:13px}.help-lessons{flex-direction:column;gap:11px;margin-top:17px;display:flex}.help-lesson{background:linear-gradient(115deg,#f4f4e3,#fffdf4);border:1px solid #dddcc0;border-radius:17px;grid-template-columns:102px 1fr;align-items:center;gap:13px;padding:13px 12px;display:grid}.help-lesson h3{letter-spacing:-.2px;font-size:16px;line-height:1.2}.modal .help-lesson p{margin-top:6px;font-size:13px;line-height:1.45}.help-visual{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.help-visual img{object-fit:contain;width:45px;height:45px}.help-visual img:only-child{width:66px;height:66px}.help-lesson[data-lesson=springs] .help-visual img:first-child{animation:2.6s ease-in-out infinite help-hop}.help-lesson[data-lesson=levers] .help-visual img:first-child{transform-origin:50% 75%;animation:3s ease-in-out infinite help-rock}.help-modal .button-stack{position:relative}.journey-next-chapter{margin:10px 0 13px!important;font-size:13px!important;line-height:1.5!important}@keyframes help-hop{0%,55%,to{transform:translateY(0)}70%{transform:translateY(-7px)}85%{transform:translateY(0)}}@keyframes help-rock{0%,40%,to{transform:rotate(-5deg)}50%,90%{transform:rotate(7deg)}}@media (prefers-reduced-motion:reduce){.help-visual img{animation:none!important}}#app[data-motion=reduced] .help-visual img{animation:none!important}@media (max-width:340px){.screen-map{padding:18px 12px}.journey-stop{gap:10px;padding:10px 9px}.journey-island{width:80px;height:78px}.journey-place strong{font-size:16px}.help-modal{padding-left:15px;padding-right:15px}.help-lesson{grid-template-columns:82px 1fr;gap:9px;padding:12px 9px}.help-visual img{width:37px;height:37px}.help-lesson h3{font-size:15px}.modal .help-lesson p{font-size:12px}.journey-teaser{font-size:11px}.journey-dots{margin-top:7px}.menu-help{margin-top:1px}.screen-menu .hero{height:135px;min-height:110px}}@media (max-height:680px) and (orientation:portrait){.screen-menu .hero{height:135px;min-height:110px;margin-bottom:0}.journey-teaser{padding-top:8px!important}.journey-teaser .journey-progress{display:none}.journey-dots{margin-top:6px}.menu-help{min-height:44px;font-size:12px}.screen-menu .menu-actions{gap:10px}.screen-menu .menu-actions button{min-height:48px}}@media (orientation:landscape) and (max-height:600px){.screen-map{width:min(100%,720px);margin:0 auto;padding:16px 24px}.journey-route{max-width:460px;margin:0 auto}.journey-stop{max-width:360px}.journey-teaser{grid-area:3/2;padding-top:4px!important}.journey-teaser>p:first-child{font-size:11px}.journey-teaser .journey-progress{display:none}.journey-dots{gap:15px;margin:5px auto}.menu-help{min-height:44px;margin:0;padding-block:4px}.screen-menu .hero{height:150px}.screen-menu .menu-actions{gap:11px;width:100%;margin:auto}.screen-levels .world-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.world-tab{flex-direction:column;gap:3px}.world-preview{width:32px;height:27px}.help-modal{max-width:650px}.help-lesson{grid-template-columns:110px 1fr}}.game-controls .tools{grid-template-columns:repeat(3,minmax(0,1fr))}#game-tools [data-action=undo]{grid-column:1}.screen-menu .hero{margin-top:8px}.screen-menu .hero img{margin-bottom:2%}.shell>.save-status{z-index:auto;text-align:left;color:#6f5424;background:#fff7dfed;border:1px solid #e3c986;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:10px;width:100%;max-width:none;padding:9px 12px;font-size:12px;line-height:1.4;display:flex;position:relative;inset:auto;transform:none;box-shadow:0 3px 10px #163b372b}.shell>.save-status[hidden]{display:none!important}.save-status-message{flex:1;min-width:0}.shell>.save-status button{color:#176f67;background:#fffdf3;border-radius:10px;flex:none;min-height:36px;padding:5px 10px;font-weight:800;text-decoration:none;box-shadow:0 2px #d8c58f}#app[data-save-issue=true]{--board:min(calc(100vw - 28px),360px,max(176px,calc(100dvh - 400px)))}@media (orientation:landscape) and (max-height:600px){#app[data-save-issue=true]{--board:min(max(180px,calc(100dvh - 140px)),calc(100vw - 286px),390px)}}#game-tools [data-action=hint]{grid-column:3}.pause-modal [data-action=resume]{--pause-top:#d8edb5;--pause-bottom:#b3d184;--pause-border:#638348;--pause-shadow:#49683b}.pause-modal [data-action=restart]{--pause-top:#f6d7b5;--pause-bottom:#e7b589;--pause-border:#aa7a51;--pause-shadow:#865b3e}.pause-modal [data-action=levels]{--pause-top:#d5ebf7;--pause-bottom:#a6cfe5;--pause-border:#6a95ac;--pause-shadow:#4b7188}.pause-modal [data-action=settings]{--pause-top:#e8def4;--pause-bottom:#cdbbe5;--pause-border:#9580ae;--pause-shadow:#726084}.pause-modal [data-action=help]{--pause-top:#fbefc5;--pause-bottom:#edda9b;--pause-border:#aa945b;--pause-shadow:#837044}.pause-modal .button-stack>button{background:linear-gradient(var(--pause-top),var(--pause-bottom));border-color:var(--pause-border);box-shadow:inset 0 2px 0 #ffffffe0,0 4px 0 var(--pause-shadow),0 6px 10px #25463220;color:#334736;text-shadow:0 1px #ffffff90}.pause-modal .button-stack>button:hover{background:linear-gradient(var(--pause-top),var(--pause-bottom));filter:brightness(1.035)}.world-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.world-tab{flex-direction:column;gap:3px;min-width:0;padding:5px 2px}.world-preview{width:32px;height:29px}.world-tab strong{font-size:11px}.world-tab small{white-space:nowrap;font-size:10px}.review-label{background:#ecf5dfd9;border:1px solid #b8cda7;border-radius:12px;padding:6px 9px;color:#547269!important;text-shadow:none!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important}.menu-actions .review-label{margin:0}.menu-actions [data-action=ending]{min-height:40px;padding:8px 12px;font-size:13px}.journey-route{isolation:isolate;background:repeating-radial-gradient(at 20% 0,#0000 0 42px,#91a67b18 43px 44px),repeating-radial-gradient(at 80% 42%,#0000 0 52px,#91a67b13 53px 54px),linear-gradient(150deg,#edf0dce8,#dfe9d2e8);border-radius:28px;flex-direction:column;gap:0;padding:20px 7px 30px;display:flex;position:relative}.journey-route:before{display:none}.journey-region{isolation:isolate;background:linear-gradient(145deg,#e9f2d2,#dcecca);border:3px solid #b6ca92;border-radius:38px 27px 44px 31px/30px 39px 28px 42px;padding:10px 10px 15px;position:relative;overflow:hidden;box-shadow:0 7px #83a878,0 12px 20px #244e3a35}.journey-scene{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.journey-scene img{object-fit:cover;object-position:center 44%;opacity:.38;filter:saturate(.8)brightness(1.12);width:100%;height:100%;transform:scale(1.04)}.journey-scene:after{content:"";mix-blend-mode:soft-light;background:repeating-radial-gradient(at 35% 25%,#0000 0 31px,#fff9dc33 32px 33px);position:absolute;inset:0}.journey-region:before{content:"✿";z-index:3;color:#e3b582;text-shadow:0 2px 2px #5d653633;pointer-events:none;font-size:27px;position:absolute;bottom:12px;left:13px;transform:rotate(-15deg)}.journey-region:after{content:"";z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#fff8df30,#0000 45%,#fffefa1c);position:absolute;inset:0}.journey-region.frost{background:linear-gradient(145deg,#dff5fa,#bddde9);border-color:#a5c8dd;box-shadow:0 7px #75a6bd,0 12px 20px #244e3a35}.journey-region.frost:before{content:"❄";color:#faffff}.journey-region.forest{background:linear-gradient(145deg,#f0e4b7,#d0d9a1);border-color:#c1ac73;box-shadow:0 7px #a28c59,0 12px 20px #244e3a35}.journey-region.forest:before{content:"⚙";color:#b4a35e}.journey-region.garden{background:linear-gradient(145deg,#f6e7f0,#dccfe6);border-color:#c2a6cf;box-shadow:0 7px #ad8fbc,0 12px 20px #244e3a35}.journey-region.garden:before{content:"☁";color:#fff9ef}.journey-region.starlight{background:linear-gradient(145deg,#e2e5f8,#c5bfe3);border-color:#a59bd1;box-shadow:0 7px #8175ab,0 12px 20px #244e3a35}.journey-region.starlight:before{content:"✦";color:#fff0ad}.journey-region>:not(.journey-scene){z-index:2;position:relative}.journey-region .journey-stop{text-align:left;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;border-radius:24px;flex-direction:row;max-width:none;min-height:105px;padding:5px 8px 9px;box-shadow:none!important;background:#fffcf0b8!important}.journey-region .journey-island{width:94px;height:83px}.journey-region .journey-place strong{text-shadow:0 1px #fff9df;font-size:18px}.journey-level-path{z-index:2;width:100%;height:194px;margin-top:5px;position:relative}.journey-level-path svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-level-path polyline{fill:none;stroke-linejoin:round;stroke-linecap:round}.path-shadow{stroke:#536b4770;stroke-width:28px;transform:translateY(5px)}.path-sand{stroke:#fff0bb;stroke-width:23px}.path-dashes{stroke:#c5a45e;stroke-width:2.5px;stroke-dasharray:4 9}.journey-level{color:#3b624d;background:linear-gradient(#faffed,#cde1aa);border:3px solid #fff8db;border-radius:50%;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:16px;font-weight:900;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #80995d,0 5px 9px #385b4030}.journey-level:active:not(:disabled){transform:translate(-50%,calc(2px - 50%))}.journey-region.frost .journey-level.open:not(.complete){color:#286078;background:linear-gradient(#f4ffff,#b8e2f1);box-shadow:0 3px #649cb3,0 5px 9px #31566a35}.journey-region.forest .journey-level.open:not(.complete){color:#765b31;background:linear-gradient(#fff8dc,#e3ca81);box-shadow:0 3px #987746,0 5px 9px #624a2635}.journey-region.garden .journey-level.open:not(.complete){color:#624d75;background:linear-gradient(#fff8ff,#dfc5e8);box-shadow:0 3px #a48aaf,0 5px 9px #56426735}.journey-region.starlight .journey-level.open:not(.complete){color:#584b7d;background:linear-gradient(#fffef2,#d5c7ed);box-shadow:0 3px #8c7ab6,0 5px 9px #51457b35}.journey-level.complete{color:#fffdef;background:linear-gradient(#aadd8a,#64ac76);border-color:#eaf7d5;box-shadow:0 3px #478961}.journey-level small{color:#ffd468;text-shadow:0 1px 1px #735e2a;font-size:15px;position:absolute;bottom:-4px;right:-2px}.journey-level:disabled{opacity:1;filter:none;color:#899c88;background:linear-gradient(#e0e3d4,#c3ccbb);border-color:#eef0e5;box-shadow:0 2px #a2af95!important}.journey-bridge{z-index:4;pointer-events:none;width:100%;height:84px;margin:-2px 0 0;position:relative}.journey-bridge svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-bridge path{fill:none;stroke-linecap:round;stroke-linejoin:round}.bridge-shadow{stroke:#536b4770;stroke-width:27px;transform:translateY(4px)}.bridge-road{stroke:#f4d990;stroke-width:21px}.bridge-dashes{stroke:#fff7d8;stroke-width:2.5px;stroke-dasharray:2 10}.bridge-arrival{fill:#fff4cf;stroke:#9c8b5d;stroke-width:3px}.journey-bridge-marker{color:#315c49;background:linear-gradient(#f7fff0,#9ac979);border:3px solid #fff8df;border-radius:50%;place-items:center;width:31px;height:31px;font-size:14px;font-weight:900;display:grid;position:absolute;top:37px;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px #5f8358}.journey-bridge.to-frost .journey-bridge-marker{color:#37677a;background:linear-gradient(#f7ffff,#a9dce8);box-shadow:0 3px #628fa2}.journey-bridge.to-forest .journey-bridge-marker{color:#765b31;background:linear-gradient(#fff9dc,#e3c879);box-shadow:0 3px #9b7f45}.journey-bridge.to-garden .journey-bridge-marker{color:#685278;background:linear-gradient(#fff8ff,#e0c9e9);box-shadow:0 3px #947ca2}.journey-bridge.to-starlight .journey-bridge-marker{color:#625282;background:linear-gradient(#fffde9,#d9ccf3);box-shadow:0 3px #8774ad}.journey-bridge.to-home .journey-bridge-marker{color:#fff9db;background:linear-gradient(#fff5b8,#f4bd58);width:38px;height:38px;font-size:21px;top:37px;box-shadow:0 3px #a77831}.journey-destination{text-align:center;background:radial-gradient(at 50% 0,#fff4b6 0,#0000 58%),linear-gradient(145deg,#fff9e6,#f3e6c7);border:3px solid #d2bd88;border-radius:38px 27px 42px 30px;margin-top:2px;padding:15px 14px 19px;position:relative;overflow:hidden;box-shadow:0 7px #a98e5d,0 12px 20px #664c2d30}.journey-destination:before{content:"✦";color:#e8bd56;text-shadow:0 2px #fff3cf;font-size:25px;position:absolute;top:15px;right:24px}.destination-houses{justify-content:center;align-items:flex-end;gap:13px;display:flex}.destination-houses img{object-fit:contain;filter:drop-shadow(0 5px 3px #533d2b35);width:112px;height:108px}.journey-destination strong{margin-top:4px;font-size:19px;display:block}.journey-destination p{color:#6a7b60;margin-top:7px;font-size:12px;line-height:1.5}.journey-destination .secondary{margin-top:13px}.journey-stop.starlight .journey-island{border-color:#d2c9f5;box-shadow:0 5px #8c7ab6,0 8px 10px #51457b30}#app[data-world=starlight] .board-wrap:before{background:linear-gradient(#e9ddff,#b6a4db 50%,#8e79b6 52%,#665388);border-color:#83709e;box-shadow:inset 0 2px #fff2ff,0 4px #584473}#app[data-world=starlight] .world-tab.selected{background:linear-gradient(#efe9ff,#c9b8eb);border-color:#9880bb;box-shadow:0 3px #746090}#app[data-world=starlight] .level-card.current{background:linear-gradient(#c7a8eb,#9670c1);box-shadow:0 4px #6b4b8b}.game-controls{width:min(var(--board),340px);grid-template-rows:54px 54px auto;grid-template-columns:repeat(3,minmax(0,1fr));place-items:center;gap:7px 8px;display:grid}.game-controls #game-directions,.game-controls #game-tools{display:contents!important}.game-controls .direction-button{justify-self:center}.game-controls .tool-button{z-index:2;border-radius:13px;flex-direction:column;grid-row:1;gap:1px;width:100%;max-width:112px;height:50px;min-height:50px;padding:4px 3px;line-height:1.1;font-size:12px!important}.game-controls .tool-button img{width:20px;height:20px}.game-controls #game-tools [data-action=undo]{grid-column:1}.game-controls #game-tools [data-action=hint]{grid-column:3}.control-caption{grid-area:3/1/auto/-1}.game-controls .direction-button[data-direction=U]{grid-area:1/2}.game-controls .direction-button[data-direction=L]{grid-area:2/1}.game-controls .direction-button[data-direction=D]{grid-area:2/2}.game-controls .direction-button[data-direction=R]{grid-area:2/3}.solution-playback[hidden]{display:none!important}.solution-playback{color:#47624d;z-index:10;width:min(var(--board),340px);white-space:nowrap;background:linear-gradient(#fff9e8,#efe3c6);border:2px solid #a8874e;border-radius:17px;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:8px;margin:3px 0;padding:10px 12px;font-size:14px;font-weight:800;display:flex;position:static;box-shadow:0 4px #755a3a,0 6px 12px #233d3326}.solution-playback>span{font-size:14px;font-weight:800}.solution-playback .solution-stop-button{color:#fffdf0;background:linear-gradient(#ee8a6b,#d75d49);border:2px solid #9b4334;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;padding:9px 14px;font-size:17px;font-weight:900;display:flex;box-shadow:0 3px #8a3d32}.solution-playback .solution-stop-icon{font-size:15px;line-height:1}.game-controls.solution-running{display:none!important}.solution-modal{max-width:440px}.solution-route{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-height:230px;margin:17px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.solution-route li{background:#eef1db;border:1px solid #d4d9bd;border-radius:9px;flex-direction:column;align-items:center;min-height:45px;padding:4px 1px;display:flex}.solution-route small{color:#7f8f71;font-size:9px;font-weight:500}.solution-route span{color:#346c58;font-size:24px;font-weight:900;line-height:1.1}@media (max-width:340px){.game-controls{grid-template-rows:46px 46px auto;gap:5px 6px}.game-controls .tool-button{height:46px;min-height:46px;font-size:11px!important}.game-controls .tool-button img{width:18px;height:18px}.journey-region{padding:8px 6px 12px}.journey-region .journey-island{width:78px;height:73px}.journey-region .journey-place strong{font-size:16px}.journey-level-path{height:182px}.journey-level{font-size:15px}}@media (orientation:landscape) and (max-height:600px){.game-controls{grid-template-rows:49px 49px auto;gap:5px 6px;width:210px;margin-bottom:5px}.game-controls .tool-button{height:48px;min-height:48px;font-size:11px!important}.game-controls .tool-button img{width:18px;height:18px}.screen-levels .world-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-route{max-height:140px}.solution-playback{bottom:3px}.screen-menu .menu-actions{gap:8px}.screen-menu .menu-actions [data-action=ending]{min-height:36px;padding:5px 8px;font-size:12px}.screen-menu .review-label{padding:4px 7px;font-size:10px!important}.journey-region .journey-stop{max-width:none}}.ending-modal{background:linear-gradient(150deg,#fff9e9,#f8efd9);border-color:#b79c62;max-width:700px;padding:20px;box-shadow:0 7px #6d7354,0 15px 40px #183a3545}.ending-modal>h2{letter-spacing:-.7px;color:#284c43;margin:0 0 12px;font-size:clamp(25px,5vw,34px)}.ending-modal>p{color:#627360;max-width:530px;margin:13px auto 17px;font-size:14px;line-height:1.55}.ending-modal>.button-stack{gap:10px;max-width:420px;margin:0 auto}.homecoming-scene{isolation:isolate;background:#c9dcce;border:2px solid #d3c692;border-radius:25px;height:clamp(230px,32vw + 130px,360px);margin:0 -4px;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #f8e9c84d,0 3px #c5c7a3}.homecoming-panorama{object-fit:fill;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.homecoming-house{z-index:3;filter:drop-shadow(0 8px 4px #42525d28);width:min(46%,220px);position:absolute;bottom:22%}.homecoming-house>img{aspect-ratio:1;object-fit:contain;width:100%;height:auto;display:block}.cat-house{left:24%;transform:translate(-50%)}.penguin-house{left:76%;transform:translate(-50%)}.homecoming-house>span{white-space:nowrap;color:#63705a;background:#fff6e3c9;border:1px solid #fff3d1a6;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;bottom:-8px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #566b5120}.homecoming-house:after{content:"";opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(#fff4a760,#ffb44600 70%);border-radius:50%;width:28%;height:30%;animation:1.2s ease-out 4.35s forwards homecoming-warmth;position:absolute;bottom:10%;left:37%}.homecoming-actor{aspect-ratio:1;z-index:6;opacity:0;transform-origin:50% 100%;pointer-events:none;will-change:transform,left,bottom;width:clamp(68px,25%,110px);animation:4.8s linear 80ms both homecoming-cat-run;position:absolute;bottom:-24%;left:46%}.homecoming-penguin{animation-name:homecoming-penguin-run;animation-delay:.26s;left:54%}.homecoming-run-body,.homecoming-run-art{transform-origin:50% 90%;display:block;position:absolute;inset:0}.homecoming-cat .homecoming-run-art{transform:scaleX(-1)}.homecoming-penguin .homecoming-run-body{animation-name:homecoming-penguin-stride;animation-duration:.28s;animation-delay:90ms}.homecoming-run-frame{object-fit:contain;filter:drop-shadow(0 2px #244e3a1c);-webkit-user-select:none;user-select:none;width:100%;height:100%;animation:.24s step-end infinite homecoming-frame-a;position:absolute;inset:0}.homecoming-run-frame.run-frame-b{animation-name:homecoming-frame-b}.homecoming-penguin .homecoming-run-frame{animation-duration:.28s;animation-delay:90ms}.homecoming-run-shadow{filter:blur(1px);background:#284e4b38;border-radius:50%;width:62%;height:10%;animation:.24s linear infinite homecoming-run-shadow;position:absolute;bottom:1%;left:19%}.homecoming-dust{z-index:-1;opacity:0;background:#fff2ced9;border-radius:50%;width:12%;height:9%;animation:.54s ease-out infinite homecoming-dust;position:absolute;bottom:3%;left:65%;box-shadow:3px -2px 0 -1px #fffcdf9e}.homecoming-penguin .homecoming-dust{background:#e4f5f6c9;animation-name:homecoming-snow-dust;left:25%}.homecoming-dust.dust-two{animation-delay:.18s}.homecoming-dust.dust-three{animation-delay:.36s}.homecoming-heart{z-index:8;opacity:0;color:#e36e8e;text-shadow:0 2px #fff9dc,0 0 10px #fff0ba;font-size:27px;line-height:1;animation:1s ease-out 4.65s forwards homecoming-love;position:absolute;top:13%;left:24%;transform:translate(-50%)}.penguin-heart{animation-delay:4.9s;left:76%}.homecoming-welcome{letter-spacing:8px;color:#fff5bd;text-shadow:0 0 6px #fff7d0;opacity:0;z-index:7;font-size:19px;animation:1.1s ease-out 4.8s forwards homecoming-warmth;position:absolute;top:5%;left:0;right:0}@keyframes homecoming-cat-run{0%{opacity:0;bottom:-24%;left:46%;transform:translate(-50%)scale(1.2)}8%{opacity:1;bottom:-8%;left:44%}26%{bottom:4%;left:40%;transform:translate(-50%)scale(1.1)}48%{bottom:10%;left:34%;transform:translate(-50%)scale(.99)}70%{bottom:17%;left:27%;transform:translate(-50%)scale(.86)}85%{opacity:1;bottom:22%;left:24%;transform:translate(-50%)scale(.74)}to{opacity:1;bottom:21%;left:24%;transform:translate(-50%)scale(.68)}}@keyframes homecoming-penguin-run{0%{opacity:0;bottom:-24%;left:54%;transform:translate(-50%)scale(1.2)}8%{opacity:1;bottom:-8%;left:56%}26%{bottom:4%;left:60%;transform:translate(-50%)scale(1.1)}48%{bottom:10%;left:66%;transform:translate(-50%)scale(.99)}70%{bottom:17%;left:73%;transform:translate(-50%)scale(.86)}85%{opacity:1;bottom:22%;left:76%;transform:translate(-50%)scale(.74)}to{opacity:1;bottom:21%;left:76%;transform:translate(-50%)scale(.68)}}@keyframes homecoming-cat-stride{0%,50%,to{transform:translateY(0)rotate(-3deg)scale(1.035,.97)}24%{transform:translateY(-9%)rotate(4deg)scale(.975,1.035)}74%{transform:translateY(-9%)rotate(-5deg)scale(.975,1.035)}}@keyframes homecoming-penguin-stride{0%,50%,to{transform:translateY(0)rotate(-5deg)scale(1.04,.96)}24%{transform:translateY(-8%)rotate(7deg)scale(.97,1.05)}74%{transform:translateY(-8%)rotate(-7deg)scale(.97,1.05)}}@keyframes homecoming-frame-a{0%,49.99%{opacity:1}50%,to{opacity:0}}@keyframes homecoming-frame-b{0%,49.99%{opacity:0}50%,to{opacity:1}}@keyframes homecoming-run-shadow{0%,50%,to{opacity:.7;transform:scaleX(1)}25%,75%{opacity:.4;transform:scaleX(.66)}}@keyframes homecoming-dust{0%{opacity:0;transform:translate(0)scale(.3)}20%{opacity:.8}to{opacity:0;transform:translate(30px,-11px)scale(1.7)}}@keyframes homecoming-snow-dust{0%{opacity:0;transform:translate(0)scale(.3)}20%{opacity:.8}to{opacity:0;transform:translate(-28px,-12px)scale(1.7)}}@keyframes homecoming-love{0%{opacity:0;transform:translate(-50%,13px)scale(.5)}60%{opacity:1;transform:translate(-50%,-1px)scale(1.12)}to{opacity:1;transform:translate(-50%,-3px)scale(1)}}@keyframes homecoming-warmth{to{opacity:1}}@media (max-width:340px){.ending-modal{padding:15px}.ending-modal>h2{margin-bottom:10px}.ending-modal>p{margin:11px auto 13px;font-size:12px;line-height:1.45}.homecoming-scene{border-radius:21px;height:230px}.homecoming-house>span{padding:3px 6px;font-size:9px}.homecoming-heart{font-size:23px}.ending-modal>.button-stack>button{min-height:43px;padding:9px 10px;font-size:14px}}@media (orientation:landscape) and (max-height:600px){.ending-modal{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:9px 17px;max-width:800px;padding:17px;display:grid}.ending-modal>.homecoming-scene{grid-area:1/1/span 3;height:min(76dvh,305px);margin:0}.ending-modal>h2{grid-area:1/2;align-self:end;margin:0;font-size:25px}.ending-modal>p{grid-area:2/2;align-self:center;margin:0;font-size:12px;line-height:1.45}.ending-modal>.button-stack{grid-area:3/2;align-self:start;width:100%}.ending-modal>.button-stack>button{min-height:42px;padding:8px 10px;font-size:13px}.homecoming-house>span{font-size:9px}}@media (prefers-reduced-motion:reduce){.homecoming-actor,.homecoming-run-body,.homecoming-run-frame,.homecoming-run-shadow,.homecoming-dust,.homecoming-heart,.homecoming-house:after,.homecoming-welcome{animation:none!important}.homecoming-cat{opacity:1;bottom:25%;left:24%;transform:translate(-50%)scale(.7)}.homecoming-penguin{opacity:1;bottom:25%;left:76%;transform:translate(-50%)scale(.7)}.run-frame-b,.homecoming-dust{display:none}.homecoming-heart,.homecoming-house:after,.homecoming-welcome{opacity:1}}#app[data-motion=reduced] .homecoming-cat{opacity:1;bottom:25%;left:24%;transform:translate(-50%)scale(.7)}#app[data-motion=reduced] .homecoming-penguin{opacity:1;bottom:25%;left:76%;transform:translate(-50%)scale(.7)}#app[data-motion=reduced] .run-frame-b,#app[data-motion=reduced] .homecoming-dust{display:none}#app[data-motion=reduced] .homecoming-heart,#app[data-motion=reduced] .homecoming-house:after,#app[data-motion=reduced] .homecoming-welcome{opacity:1}.game-controls{--key-w:62px;--key-h:56px;flex-direction:column;place-items:center normal;gap:12px;width:auto;display:flex}.game-controls #game-directions{grid-template-columns:repeat(3,var(--key-w));grid-template-rows:repeat(2,var(--key-h));place-items:center;gap:6px;width:max-content;display:grid!important}.game-controls #game-directions .direction-button{width:var(--key-w);height:var(--key-h);justify-self:center;min-width:44px;min-height:44px;margin:0}.game-controls #game-tools{width:min(var(--board),280px);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none;display:grid!important}.game-controls #game-tools .tool-button{border-radius:14px;flex-direction:row;grid-row:auto;justify-content:center;align-items:center;gap:7px;width:100%;max-width:none;height:46px;min-height:44px;padding:7px 11px;line-height:1.1;display:flex;grid-column:auto!important;font-size:14px!important}.game-controls #game-tools .tool-button img{width:19px;height:19px}.game-controls .control-caption{margin:0;padding-top:0;line-height:1.2}.direction-button{position:relative}.direction-button.queued:not(:disabled){filter:drop-shadow(0 0 7px #ffe89b)}.direction-button.queued:not(:disabled):after{content:"";pointer-events:none;background:#ffe383;border:2px solid #15527f;border-radius:50%;width:12px;height:12px;position:absolute;top:5px;right:6px;box-shadow:0 0 6px #fff7b9}@media (max-height:680px) and (orientation:portrait){:root{--board:min(calc(100vw - 28px),calc(100dvh - 310px),360px)}.game-controls{--key-w:56px;--key-h:50px;gap:12px}.game-controls #game-tools .tool-button{height:44px;font-size:13px!important}}@media (max-width:340px){.game-controls{--key-w:52px;--key-h:46px}.game-controls #game-tools{width:min(var(--board),248px);gap:9px}.game-controls #game-tools .tool-button{gap:6px;padding-inline:7px;font-size:12px!important}.game-controls #game-tools .tool-button img{width:17px;height:17px}}@media (min-width:700px) and (min-height:700px){.game-controls{--key-w:68px;--key-h:61px;gap:13px}}@media (orientation:landscape) and (max-height:600px){.game-controls{--key-w:54px;--key-h:49px;gap:12px;width:210px;margin-bottom:5px}.game-controls #game-tools{gap:8px;width:210px}.game-controls #game-tools .tool-button{gap:5px;height:44px;padding-inline:5px;font-size:12px!important}.game-controls #game-tools .tool-button img{width:17px;height:17px}}.game-controls #game-tools .tool-button:disabled{cursor:default;opacity:1!important;filter:none!important;box-shadow:inset 0 1px #ffe,0 3px #4a4b35,0 4px 8px #0039322b!important}.homecoming-bunting{pointer-events:none;z-index:4;transform-origin:top;width:100%;height:42%;animation:2.8s ease-in-out 3.3s infinite alternate homecoming-bunting-sway;position:absolute;top:0;left:0;overflow:visible}.homecoming-arrival-pose{opacity:0;animation:.52s cubic-bezier(.2,1.7,.4,1) 3.35s forwards homecoming-arrival-pop;display:block;position:absolute;inset:0;transform:translateY(12%)scale(.62)}.homecoming-arrival-pose img{object-fit:contain;filter:drop-shadow(0 3px 2px #25434440);width:100%;height:100%;display:block}.homecoming-run-art{animation:.3s ease-out 3.35s forwards homecoming-run-fade}.homecoming-run-body{animation:.24s linear infinite homecoming-cat-stride,.9s ease-in-out 3.85s infinite homecoming-arrival-bounce}.homecoming-penguin .homecoming-run-body{animation:.28s linear 90ms infinite homecoming-penguin-stride,1.08s ease-in-out 3.85s infinite homecoming-arrival-bounce}.homecoming-actor{z-index:6;animation-duration:4.2s}.homecoming-run-shadow{animation:.24s linear infinite homecoming-run-shadow,1s ease-in-out 3.8s infinite homecoming-arrived-shadow}.homecoming-penguin .homecoming-run-shadow{animation-duration:.28s,.95s;animation-delay:90ms,3.8s}.homecoming-house:after{animation-delay:3.55s}.homecoming-heart{animation-delay:3.75s}.penguin-heart{animation-delay:3.95s}.homecoming-welcome{animation-delay:4s}.homecoming-confetti{z-index:8;opacity:0;pointer-events:none;text-shadow:0 1px 3px #fff8;font-style:normal;font-weight:900;line-height:1;animation:1.3s ease-out 3.55s both homecoming-confetti-burst;position:absolute}.confetti-a{color:#ffda65;--spin:-40deg;font-size:23px;top:24%;left:16%}.confetti-b{color:#ed83a6;--spin:55deg;font-size:20px;animation-delay:3.78s;top:40%;left:35%}.confetti-c{color:#fff1a8;--spin:25deg;font-size:26px;animation-delay:3.68s;top:17%;left:49%}.confetti-d{color:#80d6bb;--spin:-65deg;font-size:21px;animation-delay:3.84s;top:35%;left:64%}.confetti-e{color:#ffdd70;--spin:45deg;font-size:24px;animation-delay:3.62s;top:24%;left:84%}.confetti-f{color:#f398bc;--spin:-25deg;font-size:19px;animation-delay:3.9s;top:52%;left:74%}@keyframes homecoming-run-fade{to{opacity:0}}@keyframes homecoming-arrival-pop{0%{opacity:0;transform:translateY(12%)scale(.5)rotate(-9deg)}65%{opacity:1;transform:translateY(-8%)scale(1.12)rotate(5deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes homecoming-arrival-bounce{0%,to{transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(-8%)rotate(-5deg)scale(1.02,.98)}55%{transform:translateY(1%)rotate(3deg)scale(.99,1.01)}78%{transform:translateY(-5%)rotate(2deg)}}@keyframes homecoming-arrived-shadow{0%,to{opacity:.58;transform:scaleX(1)}40%{opacity:.36;transform:scaleX(.77)}70%{opacity:.5;transform:scaleX(.94)}}@keyframes homecoming-bunting-sway{0%{transform:rotate(-1deg)}to{transform:rotate(1deg)}}@keyframes homecoming-confetti-burst{0%{opacity:0;transform:translateY(13px) scale(.35) rotate(var(--spin))}25%{opacity:1;transform:translateY(-6px)scale(1.15)rotate(0)}55%,to{opacity:.92;transform:translateY(0)scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.homecoming-bunting,.homecoming-arrival-pose,.homecoming-run-art,.homecoming-confetti{animation:none!important}.homecoming-arrival-pose{opacity:1;transform:none}.homecoming-run-art{display:none!important}.homecoming-confetti,.homecoming-welcome{opacity:1}}#app[data-motion=reduced] .homecoming-bunting,#app[data-motion=reduced] .homecoming-arrival-pose,#app[data-motion=reduced] .homecoming-run-art,#app[data-motion=reduced] .homecoming-confetti{animation:none!important}#app[data-motion=reduced] .homecoming-arrival-pose{opacity:1;transform:none}#app[data-motion=reduced] .homecoming-run-art{display:none!important}#app[data-motion=reduced] .homecoming-confetti{opacity:1}@media (min-width:700px){:root{--board:min(calc(100vw - 28px),360px,calc(100dvh - 354px))}#app{background:#183b4a!important}#app:before{opacity:1;z-index:-1;background-image:var(--lagoon);filter:blur(18px)brightness(.72)saturate(.92);background-position:50%;background-size:cover;width:auto;height:auto;inset:-24px;transform:none}#app:after{display:none}.shell{width:min(100%,480px);max-width:480px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background-color:#26b7cb;background-image:var(--lagoon);background-position:50%;background-size:cover;border-radius:24px;gap:12px;box-shadow:0 0 0 1px #fff5,0 14px 40px #0c243b99}.shell:before{display:none}.screen-menu{text-align:center;flex-direction:column;grid-template-rows:none;grid-template-columns:none;align-content:stretch;align-items:center;column-gap:normal;padding:0 20px;display:flex}.screen-menu .menu-head{aspect-ratio:588/197;flex:none;grid-area:auto;width:100%;max-width:350px;height:auto;margin:10px 0 0;padding:0}.screen-menu .menu-head h1{white-space:nowrap;letter-spacing:-.7px;width:84%;font-size:clamp(33px,10vw,42px)}.screen-menu .menu-head .tagline{white-space:normal;letter-spacing:-.1px;width:82%;max-width:290px;font-size:14px}.screen-menu .hero{flex-shrink:1;grid-area:auto;height:clamp(166px,33dvh,280px);min-height:130px;margin:8px 0 12px}.screen-menu .menu-actions{grid-area:auto;align-self:center;width:100%;max-width:320px;margin-top:auto}.screen-menu .menu-footer{grid-area:auto;margin-top:auto;padding-bottom:12px}.screen-levels{flex-direction:column;gap:12px;width:100%;max-width:none;margin:0;padding:16px 13px;display:flex;overflow-y:auto}.screen-levels .levels-heading,.screen-levels .world-tabs,.screen-levels .world-heading,.screen-levels .level-grid,.screen-levels .perfect-card{flex:none;grid-area:auto}.screen-map{width:100%;max-width:none;margin:0;padding:22px 18px}.journey-route{max-width:360px;margin:0 auto}.journey-stop{max-width:360px}.game-screen{flex-direction:column;grid-template-rows:none;grid-template-columns:none;justify-content:center;align-items:center;gap:8px;display:flex}.game-heading{grid-area:auto;align-self:auto;width:min(76%,270px);height:78px;margin:0;padding:0}.game-subtitle{width:var(--board);display:block}.board-wrap{grid-area:auto}.game-controls{width:min(var(--board),340px);grid-area:auto;align-self:center;gap:7px 8px;margin:5px 0 0}.game-controls #game-directions{grid-template-rows:repeat(2,54px);grid-template-columns:repeat(3,60px);gap:5px 8px}.game-controls #game-tools{width:min(var(--board),340px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.game-controls .tool-button{flex-direction:row;gap:6px;height:46px;min-height:44px;padding:6px 8px;font-size:14px!important}.game-controls .tool-button img{width:20px;height:20px}.ending-modal{flex-direction:column;width:100%;max-width:480px;padding:18px;display:flex}.ending-modal>.homecoming-scene{height:clamp(220px,38dvh,320px);margin:0}}.game-subtitle{color:#526a59;letter-spacing:.1px;text-shadow:0 1px #fff9;font-size:13px;font-weight:700}.game-heading .moves{line-height:1.15;top:62%}.pause-action{text-align:left;justify-content:flex-start;gap:12px;padding-inline:20px}.pause-action-icon{flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.pause-action-icon img,.pause-action-icon svg{width:24px;height:24px;display:block}.pause-action-icon svg{fill:none;stroke:#294b40;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.pause-action.primary .pause-action-icon img{filter:brightness(0)invert()}.pause-action.primary .pause-action-icon svg{stroke:#fff9e9}button{transition:background-color .22s,transform .16s,filter .22s,box-shadow .22s}.icon-button:hover:not(:disabled){filter:brightness(1.06);background:linear-gradient(#fff9e7,#e8d5ad)}.primary:hover:not(:disabled){filter:brightness(1.055);background:linear-gradient(#70ce55,#43a936)}.secondary:hover:not(:disabled){filter:brightness(1.055);background:linear-gradient(#43aaeb,#2587c8)}.direction-button{transition:transform .16s,filter .22s}.direction-button:hover:not(:disabled){filter:brightness(1.08)drop-shadow(0 3px 1px #07384d4a)}@media (orientation:landscape) and (max-height:600px){.screen-menu .menu-head h1{white-space:nowrap;letter-spacing:-1.2px;width:100%;font-size:clamp(20px,6.1vw,34px)}.screen-menu .menu-head .tagline{white-space:nowrap;letter-spacing:-.25px;width:100%;font-size:clamp(9px,2.35vw,12px)}}.screen-menu .menu-footer{justify-content:center;margin-top:0;padding:0;display:flex}@media (min-width:700px){.screen-menu{justify-content:center;gap:clamp(8px,1.4dvh,15px)}.screen-menu .menu-head{margin:0}.screen-menu .hero{flex:0 clamp(160px,27dvh,260px);height:clamp(160px,27dvh,260px);min-height:140px;margin:0}.screen-menu .menu-actions{flex:none;gap:11px;margin:0}.screen-menu .menu-footer{flex:none;margin:0;padding:0}.screen-menu .menu-help{min-height:46px;margin:0}}@media (orientation:landscape) and (max-height:600px){.screen-menu{text-align:center;flex-direction:column;grid-template-rows:none;grid-template-columns:none;justify-content:center;align-items:center;gap:4px normal;padding:0 12px;display:flex}.screen-menu .menu-head{aspect-ratio:588/197;flex:none;grid-area:auto;width:min(100%,250px);max-width:250px;height:auto;margin:0;padding:0}.screen-menu .menu-head h1{white-space:nowrap;letter-spacing:-.7px;width:84%;font-size:clamp(20px,5.3vw,30px)}.screen-menu .menu-head .tagline{white-space:normal;letter-spacing:-.1px;width:82%;max-width:220px;font-size:clamp(9px,2.1vw,12px)}.screen-menu .hero{flex:0 clamp(70px,20dvh,108px);grid-area:auto;width:min(100%,250px);height:clamp(70px,20dvh,108px);min-height:66px;margin:0}.screen-menu .menu-actions{flex:none;grid-area:auto;align-self:center;gap:6px;width:min(100%,250px);max-width:250px;margin:0}.screen-menu .menu-actions>.primary,.screen-menu .menu-actions>.secondary{min-height:42px;padding:7px 12px;font-size:14px}.screen-menu .menu-footer{flex:none;grid-area:auto;justify-content:center;margin:0;padding:0;display:flex}.screen-menu .menu-help{min-height:40px;margin:0;padding:4px 12px;font-size:12px}:root{--board:min(360px,calc(100dvh - 222px),calc(100dvh * 9 / 16 - 35px))}#app{background:#183b4a!important}#app:before{opacity:1;z-index:-1;background-image:var(--lagoon);filter:blur(18px)brightness(.72)saturate(.92);background-position:50%;background-size:cover;width:auto;height:auto;position:fixed;inset:-24px;transform:none}#app:after{display:none}.shell{background-color:#26b7cb;background-image:var(--lagoon);background-position:50%;background-size:cover;border-radius:18px;gap:5px;width:min(100%,56.25dvh);max-width:480px;padding:8px;box-shadow:0 0 0 1px #fff5,0 14px 40px #0c243b99}.game-screen{flex-direction:column;grid-template-rows:none;grid-template-columns:none;justify-content:center;align-items:center;gap:5px;width:100%;margin:0 auto;padding:50px 0 0;display:flex}.game-heading{grid-area:auto;width:min(100%,200px);height:54px;min-height:54px;margin:0;padding:0}.board-wrap{width:var(--board);height:var(--board);grid-area:auto}.solution-playback{width:min(var(--board),200px);gap:5px;margin:0;padding:7px 8px;font-size:11px}.solution-playback>span{font-size:11px}.solution-playback .solution-stop-button{min-height:40px;padding:5px 7px;font-size:12px}.game-controls{grid-template-rows:44px 44px;grid-template-columns:repeat(3,44px);place-items:center;gap:4px;width:140px;margin:0;display:grid}.game-controls #game-directions,.game-controls #game-tools{display:contents!important}.game-controls .tool-button{flex-direction:column;grid-row:1;gap:0;width:44px;max-width:44px;height:44px;min-height:44px;padding:2px;line-height:1;font-size:8px!important}.game-controls .tool-button img{width:15px;height:15px}.game-controls #game-tools [data-action=undo]{grid-column:1}.game-controls #game-tools [data-action=hint]{grid-column:3}.game-controls .direction-button{width:44px;min-width:44px;height:44px;min-height:44px}.game-controls .direction-button img{width:100%;height:100%}.game-controls .direction-button[data-direction=U]{grid-area:1/2}.game-controls .direction-button[data-direction=L]{grid-area:2/1}.game-controls .direction-button[data-direction=D]{grid-area:2/2}.game-controls .direction-button[data-direction=R]{grid-area:2/3}.game-controls .control-caption,.game-bottom,.game-controls.solution-running{display:none!important}#game-screen:has(.solution-playback:not([hidden])){--board:min(330px,calc(100dvh - 244px),calc(100dvh * 9 / 16 - 60px))}}.hint-guide-status{color:#586b35;text-align:center;white-space:nowrap;background:linear-gradient(#fff8df,#ead8ad);border:1px solid #a98750;border-radius:13px;grid-column:span 2;justify-content:center;align-items:center;min-width:0;min-height:48px;padding:5px 8px;font-size:clamp(9px,3.2vw,12px);font-weight:900;line-height:1.15;display:flex;box-shadow:inset 0 1px #fffef1,0 3px #715733}.hint-guide-status[hidden],.tool-button[hidden],.tool-button img[hidden],.hint-stop-icon[hidden]{display:none!important}.direction-button.hinted{will-change:transform,filter;animation:.9s ease-in-out infinite hint-control-pulse}.tool-button.hint-active{color:#fff9ed;background:linear-gradient(#ed8069,#cb4d3e);border-color:#8c3e32;box-shadow:inset 0 1px #ffcfb9,0 3px #893b31,0 4px 8px #0039322b}.hint-stop-icon{background:currentColor;border-radius:2px;flex:none;width:12px;height:12px;display:inline-block}@keyframes hint-control-pulse{0%,to{filter:drop-shadow(0 0 4px #fff8b0);transform:scale(1)}50%{filter:drop-shadow(0 0 13px #fff7a0)brightness(1.12);transform:scale(1.09)}}@media (prefers-reduced-motion:reduce){.direction-button.hinted{will-change:auto;animation:none!important}}#app[data-motion=reduced] .direction-button.hinted{will-change:auto;animation:none!important}@media (orientation:landscape) and (max-height:600px){.game-controls{grid-template-rows:repeat(3,44px)}.game-controls .tool-button{grid-row:3}.game-controls #game-tools [data-action=undo]{grid-area:3/1}.game-controls #game-tools [data-action=restart]{grid-area:3/2}.game-controls #game-tools [data-action=hint]{grid-area:3/3}.game-controls #game-tools .hint-guide-status{white-space:normal;grid-area:3/1/auto/span 2;width:92px;height:44px;min-height:44px;padding:2px 3px;font-size:8px;line-height:1}}#app{--board:360px;--stage-scale:1;--stage-height:800px;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;overflow:hidden;background:#26b7cb var(--lagoon) center / cover no-repeat!important}#app:before{opacity:1;z-index:-1;background-image:var(--lagoon);pointer-events:none;filter:blur(18px);background-position:50%;background-size:cover;width:auto;height:auto;display:none;position:absolute;inset:0;transform:none;-webkit-mask-image:linear-gradient(90deg,#000,#000b 12%,#0003 30%,#0000 42% 58%,#0003 70%,#000b 88%,#000);mask-image:linear-gradient(90deg,#000,#000b 12%,#0003 30%,#0000 42% 58%,#0003 70%,#000b 88%,#000)}#app:after{display:none}@media (min-width:700px) and (min-aspect-ratio:4/3){#app:before{display:block}}.viewport-stage{left:var(--stage-center-x,50%);top:var(--stage-center-y,50%);width:400px;height:var(--stage-height);transform:translate(-50%, -50%) scale(var(--stage-scale));transform-origin:50%;position:absolute}.viewport-stage .shell{width:400px;max-width:none;height:100%;min-height:0;box-shadow:none;background:0 0;border-radius:0;gap:8px;margin:0;padding:14px 14px 18px}.shell:before{display:none}.shell .topbar{flex:none;min-height:64px}.shell .icon-button{border-radius:18px;flex-basis:64px;width:64px;height:64px}#app[data-screen=game] .topbar{min-height:64px;top:14px;right:14px}.shell .screen{width:100%;min-width:0;max-width:none;margin:0}.shell .screen-menu{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:0 12px;display:flex}.shell .screen-menu .menu-head{aspect-ratio:588/197;flex:none;width:350px;max-width:100%;height:auto;margin:0;padding:0}.shell .screen-menu .menu-head h1{letter-spacing:-.7px;white-space:nowrap;width:84%;font-size:42px;line-height:1;top:28%}.shell .screen-menu .menu-head .tagline{letter-spacing:-.1px;white-space:nowrap;width:57%;max-width:none;margin:0;font-size:14px;font-weight:600;line-height:1.15;top:62%}.shell .screen-menu .hero{flex:none;width:100%;height:210px;min-height:210px;margin:0}.shell .screen-menu .menu-actions{flex:none;align-self:center;gap:12px;width:100%;max-width:320px;margin:0}.shell .screen-menu .menu-actions>.primary,.shell .screen-menu .menu-actions>.secondary{min-height:60px;padding:12px 18px;font-size:18px}.shell .screen-menu .menu-footer{flex:none;justify-content:center;margin:0;padding:0;display:flex}.shell .screen-menu .menu-help{min-height:54px;margin:0;padding:8px 16px;font-size:16px}#app[data-review=true] .screen-menu .hero{height:170px;min-height:170px}#app[data-screen=menu] .shell{justify-content:center;gap:8px}#app[data-screen=menu] .shell .topbar{align-self:center;width:320px;height:48px;min-height:48px;position:static}#app[data-screen=menu] .topbar .icon-button{border-radius:15px;flex-basis:48px;width:48px;height:48px}#app[data-screen=menu] .shell .screen-menu{flex:none;gap:10px}#app[data-screen=menu] .hero{isolation:isolate}#app[data-screen=menu] .hero:before{z-index:-1;background:radial-gradient(at 25% 59%,#3d774b70 0 11%,#0000 22%),radial-gradient(at 75% 59%,#3d774b70 0 11%,#0000 22%),linear-gradient(175deg,#c4e991,#92ca66 58%,#71ae53);border:3px solid #dcf3b5;border-radius:52% 48% 46% 54%/48% 52%;width:310px;max-width:94%;height:58px;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:inset 0 3px #f5ffd3a6,inset 0 -6px #55964b,0 7px #397e4d,0 13px 18px #115c4e52;content:""!important;display:block!important}#app[data-screen=menu] .hero img{object-fit:contain;object-position:center bottom;transform-origin:50% 100%;align-self:auto;width:148px;height:166px;margin:0;animation:4.8s ease-in-out infinite menu-friend-breathe;position:absolute;bottom:45px;transform:none}#app[data-screen=menu] .hero .cat{left:22px}#app[data-screen=menu] .hero .penguin{animation-delay:-2.3s;right:22px}#app[data-screen=menu] .hero:after{font-size:24px;top:9%;right:9%}#app[data-review=true][data-screen=menu] .hero img{width:124px;height:124px;bottom:44px}@keyframes menu-friend-breathe{50%{transform:scale(1.018,1.012)}}#app[data-motion=reduced] .hero img{animation:none!important}@media (min-width:700px) and (min-aspect-ratio:4/3){#app:before{z-index:-2;filter:blur(22px);display:block;-webkit-mask-image:none;mask-image:none}#app:after{content:"";opacity:1;z-index:-1;filter:none;background:var(--lagoon) center / cover no-repeat;pointer-events:none;width:56.2799dvh;height:100%;display:block;position:absolute;inset:0 auto 0 50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#0009 9%,#000 18% 82%,#0009 91%,#0000);mask-image:linear-gradient(90deg,#0000,#0009 9%,#000 18% 82%,#0009 91%,#0000)}}.shell .screen-levels{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;padding:16px 13px;display:flex;overflow:auto}.shell .screen-levels>*{flex:none;grid-area:auto;align-self:auto;min-width:0}.shell .screen-levels h1{font-size:29px}.shell .screen-levels .world-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.shell .screen-levels .world-tab{flex-direction:column;gap:3px;min-width:0;min-height:78px;padding:6px 3px}.shell .screen-levels .world-preview{width:32px;height:28px}.shell .screen-levels .world-tab strong{font-size:13px}.shell .screen-levels .world-tab small{margin-top:2px;font-size:11px}.shell .screen-levels .world-heading h2{overflow-wrap:anywhere;font-size:20px}.shell .screen-levels .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 8px;width:100%;max-width:360px;margin:2px auto 3px}.shell .screen-levels .level-card{aspect-ratio:1;min-width:0;min-height:54px;font-size:19px}.shell .screen-levels .perfect-card{width:100%;max-width:none;margin:2px 0 0;padding:12px}.shell .screen-map{overscroll-behavior:contain;flex:1;padding:22px 18px;overflow:auto}.shell .journey-route{width:100%;max-width:360px;margin:0 auto}.shell .journey-region{padding:10px 10px 15px}.shell .journey-region .journey-stop{width:100%;max-width:none}.shell .journey-region .journey-island{width:94px;height:83px}.shell .journey-level-path{height:194px}.shell .game-screen{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:0;display:flex}.shell .game-header{flex:none;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:12px;width:360px;display:grid}.shell .game-heading{grid-area:auto;align-self:auto;width:100%;min-width:0;height:84px;min-height:84px;margin:0;padding:0}#app[data-screen=game] .game-header .topbar{justify-content:center;gap:0;width:64px;height:84px;min-height:84px;margin:0;position:static}#app[data-screen=game] .game-header .icon-button{align-self:flex-start;height:75.3951px;min-height:75.3951px;margin-top:1.22927px}.shell #game-menu-slot{width:64px;height:84px}.shell .game-heading #level-label{font-size:20px}.shell .game-heading .moves{font-size:19px}.shell .board-wrap{grid-area:auto;width:360px;height:360px}.shell .game-controls{flex-direction:column;grid-area:auto;align-self:center;place-items:center;gap:18px;width:360px;margin:0;display:flex}.shell .game-controls #game-directions{grid-template-rows:repeat(2,64px);grid-template-columns:repeat(3,64px);gap:3px 8px;width:208px;margin:0;display:grid!important}.shell .game-controls #game-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:none;display:grid!important}.shell .game-controls #game-directions .direction-button{width:64px;min-width:64px;height:64px;min-height:64px}.shell .game-controls #game-directions .direction-button img{width:100%;height:100%}.shell .game-controls #game-directions [data-direction=U]{grid-area:1/2}.shell .game-controls #game-directions [data-direction=L]{grid-area:2/1}.shell .game-controls #game-directions [data-direction=D]{grid-area:2/2}.shell .game-controls #game-directions [data-direction=R]{grid-area:2/3}.shell .game-controls #game-tools .tool-button{flex-direction:row;grid-row:auto;gap:5px;width:100%;max-width:none;height:46px;min-height:46px;padding:5px 6px;line-height:1.15;grid-column:auto!important;font-size:14px!important}.shell .game-controls #game-tools .tool-button img{flex:none;width:18px;height:18px}.shell .game-controls #game-tools .hint-guide-status{white-space:nowrap;grid-area:auto/span 2;width:100%;height:46px;min-height:46px;padding:5px 8px;font-size:14px;line-height:1.15}.shell .game-controls .control-caption,.shell .game-bottom{display:none!important}.shell .solution-playback{gap:8px;width:340px;margin:0;padding:10px 12px;font-size:14px;position:static}.shell .solution-playback>span{font-size:14px}.shell .solution-playback .solution-stop-button{min-height:60px;padding:9px 14px;font-size:17px}#app #game-screen:has(.solution-playback:not([hidden])){--board:360px}#app .modal-layer{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}#app .modal{width:368px;max-width:none;max-height:calc(var(--stage-height) - 40px);overscroll-behavior:contain;transform:scale(var(--stage-scale));transform-origin:50%;scrollbar-width:thin;flex:none;padding:25px 22px 23px;overflow:auto}#app .modal h2{font-size:25px}#app .modal p{margin-top:10px}#app .modal .button-stack{gap:13px;margin-top:23px}#app .modal .primary,#app .modal .secondary{min-height:54px;padding:12px 18px;font-size:16px}#app .modal-header{margin-bottom:14px}#app .modal-illustration{height:85px;margin:7px auto 15px}#app .modal-star{width:39px;height:39px;margin:13px auto}#app .result-stats{margin-top:17px;padding:13px}#app .setting-row{min-height:54px}#app .tutorial-goals{margin:18px 0 5px}#app .tutorial-goals img{width:64px;height:64px}#app .solution-route{max-height:230px}#app .help-lesson{grid-template-columns:82px minmax(0,1fr);gap:9px;padding:12px 9px}#app .help-lesson h3{font-size:16px}#app .modal .help-lesson p{margin-top:6px;font-size:13px}#app .help-visual img{width:37px;height:37px}#app .help-visual img:only-child{width:66px;height:66px}#app .ending-modal{flex-direction:column;gap:0;width:368px;padding:18px;display:flex}#app .ending-modal>h2{align-self:stretch;margin:0 0 12px;font-size:28px}#app .ending-modal>.homecoming-scene{grid-area:auto;width:100%;height:260px;min-height:260px;margin:0}#app .ending-modal>.button-stack{align-self:stretch;gap:10px;width:100%;margin:0 auto}#app .ending-modal>p{grid-area:auto;align-self:stretch;margin:13px auto 17px;font-size:14px;line-height:1.55}#app .ending-modal>.button-stack>button{min-height:54px;padding:12px 18px;font-size:16px}#app .homecoming-house>span{font-size:10px}#app .loading-card{z-index:1;width:auto;height:auto;max-height:none;inset:0;overflow:hidden;transform:none}button:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #357d98}.board-host canvas:focus-visible{outline-offset:-5px;outline:2px solid #357d98}#app[data-input=pointer] button:focus{outline:none}
