@font-face{font-family:Game;src:local('Arial Rounded MT Bold');font-display:swap}*{box-sizing:border-box}html{height:100%;background:#bce8f2}body{margin:0;height:100%;font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;color:#1f4665;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:disabled{cursor:default;opacity:.42}button:focus-visible{outline:3px solid #ffd571;outline-offset:3px}img{object-fit:contain;pointer-events:none}#app{position:relative;isolation:isolate;width:100%;height:100dvh;max-width:540px;margin:auto;overflow:hidden;background:#369cdb;box-shadow:0 0 90px #246c8950}.scenery{position:absolute;inset:0;z-index:-2;background:#40a7d5;overflow:hidden}.scenery:after{content:'';position:absolute;inset:0;background:linear-gradient(#c4f3ff16,#b5ecff05 50%,#6cd1ec20)}.boat{position:absolute;width:25px;top:71%;animation:floatboat 7s ease-in-out infinite}.boat-one{left:18%}.boat-two{left:76%;top:77%;width:22px;animation-delay:-3s}.screen{height:100%;padding:max(16px,var(--safe-top,env(safe-area-inset-top))) max(20px,var(--safe-right,env(safe-area-inset-right))) max(16px,var(--safe-bottom,env(safe-area-inset-bottom))) max(20px,var(--safe-left,env(safe-area-inset-left)));position:relative;display:flex;flex-direction:column}.home{color:white}.home-top{display:flex;justify-content:space-between;align-items:center;height:44px;flex-shrink:0}.wordmark{font-weight:900;letter-spacing:.7px;font-size:13px;text-shadow:0 1px 3px #2771a1}.wordmark span{font-weight:600;letter-spacing:0;border-left:1px solid #ffffff60;margin-left:8px;padding-left:8px;font-size:12px}.icon-button{width:44px;height:44px;padding:1px;display:grid;place-items:center;flex-shrink:0}.icon-button img{width:100%;height:100%;filter:drop-shadow(0 2px 1px #194f7830)}.home-title{flex:0 0 auto;text-align:center;margin-top:clamp(12px,4vh,40px)}.eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:1px}.home-title>.eyebrow{opacity:.9;margin-bottom:9px;text-shadow:0 2px #2364a24d}.logo{position:relative;margin:0 auto;width:min(280px,85%);padding-top:0;padding-bottom:21px}.logo-mark{width:107px;height:55px;filter:drop-shadow(0 3px 0 #185f7e40);transform:rotate(-4deg)}.logo-letters{height:88px;display:flex;justify-content:center;gap:0;margin-top:-2px;filter:drop-shadow(0 4px 1px #074c7950)}.logo-letters img{width:68px;height:90px}.letter-0{transform:rotate(-9deg)}.letter-1{transform:rotate(4deg) translateY(-3px)}.letter-2{transform:rotate(-4deg)}.letter-3{transform:rotate(9deg) translateY(-3px)}.logo-ribbon{display:block;background:#e6f8ffed;color:#2c82a9;font-size:11px;font-weight:800;padding:7px 12px;border-radius:40px;width:max-content;margin:5px auto 0;border:1px solid white;box-shadow:0 3px 0 #217dae30}.animal-parade{width:100%;height:clamp(105px,20vh,180px);position:relative;display:flex;justify-content:center;align-items:center;flex:1;min-height:90px;max-height:200px;margin:4px 0 0}.hero-tile{width:104px;height:114px;background:linear-gradient(145deg,#fffef7,#f2e5ce);filter:drop-shadow(0 10px 6px #135f9233);position:relative;padding:12px 10px 20px}.hero-tile img{width:100%;height:100%}.hero-0{transform:rotate(-16deg) translateX(9px) translateY(7px);animation:bobleft 5s ease-in-out infinite}.hero-1{z-index:2;transform:translateY(-16px);width:118px;height:128px;animation:bobcenter 5s ease-in-out infinite}.hero-2{transform:rotate(16deg) translateX(-9px) translateY(7px);animation:bobright 5s ease-in-out infinite}.sparkle{position:absolute;color:#fff5a7;text-shadow:0 2px 6px #fff6bd;font-size:26px}.s1{left:2%;top:17%;transform:rotate(12deg)}.s2{right:2%;bottom:18%;font-size:31px}.bubble-paw{position:absolute;right:6%;top:1%;width:30px;height:30px;background:#ffffff40;border-radius:50%;display:grid;place-items:center;color:white}.home-bottom{margin-top:auto;flex-shrink:0}.destination{display:flex;align-items:center;gap:10px;margin:12px 0 16px;padding:12px 13px;background:#e7f9ffed;border:1px solid #ffffffe0;box-shadow:0 4px 0 #1f7da626;border-radius:18px;color:#245372}.destination-icon{width:36px;height:36px;border-radius:12px;background:#c8ebf6;display:grid;place-items:center;font-size:23px}.destination strong{font-size:13px;display:block}.destination small{font-size:10px;color:#6493a7;display:block;margin-top:5px}.destination-stamp{font-size:9px;line-height:1.1;text-align:center;margin-left:auto;border:1px dashed #7ab2c5;border-radius:8px;padding:6px 8px;color:#669ba8;transform:rotate(7deg);font-family:monospace}.destination-stamp b{font-size:17px}.primary{width:100%;min-height:54px;border:1px solid #ecffbb;border-bottom:5px solid #68a820;background:linear-gradient(#c3ed68,#8ad43e);border-radius:16px;box-shadow:inset 0 2px 0 #f4ffcc,0 4px 10px #3b7c3225;font-weight:900;font-size:16px;color:#325c16;text-shadow:0 1px #e4ffbb;display:flex;justify-content:center;align-items:center;gap:5px;padding:12px 18px}.primary:active{transform:translateY(2px);border-bottom-width:3px}.play-button{position:relative;display:flex;flex-direction:column;min-height:72px;gap:5px;border-radius:20px}.play-button>span{font-size:21px;letter-spacing:-.6px}.play-button small{font-size:10px;font-weight:600;opacity:.8}.home-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.home-nav button{border:1px solid #c4eeface;background:#e4f8ffeb;box-shadow:0 3px 0 #236f9140;border-radius:16px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#377391;font-size:11px;font-weight:800}.nav-symbol{font-size:27px;line-height:30px;font-family:serif}.nav-animal{height:31px}.nav-animal img{width:36px;height:34px}.home-note{text-align:center;font-size:9px;color:#e3f8ff;margin-top:14px;text-shadow:0 1px #2174a6}.game{padding-top:max(12px,var(--safe-top,env(safe-area-inset-top)));gap:0}.game-header{display:flex;align-items:center;gap:9px;flex-shrink:0;color:white;margin-bottom:17px}.game-level{display:flex;flex-direction:column;gap:3px}.game-level small{font-size:10px;color:#e3f5ff}.game-level strong{font-size:20px;letter-spacing:-.6px;text-shadow:0 2px 2px #206c9a80}.score{margin-left:auto;text-align:right;display:flex;flex-direction:column}.score small{font-size:10px;color:#d5f1ff}.score strong{font-size:26px;font-weight:900;text-shadow:0 2px 2px #23678d70;line-height:1.3}.progress-label{display:flex;justify-content:space-between;align-items:center;color:#eefaff;font-size:10px;margin:0 2px 7px}.progress-label b{color:#ffed9c}.progress-track{height:7px;border-radius:20px;background:#155d9b73;box-shadow:inset 0 1px 2px #195a9a80;margin-bottom:14px;overflow:hidden;flex-shrink:0}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#fce49b,#cced83);border-radius:20px;transition:width .3s}.rack-wrap{flex-shrink:0;position:relative}.rack{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:linear-gradient(#205990,#153e6b);border-radius:15px;padding:6px;border:3px solid #74c4ed;box-shadow:0 3px 0 #1a659b66,inset 0 3px 5px #0a2f6060;min-height:55px}.rack-slot{aspect-ratio:.9;min-width:0;background:#143f6b7d;border-radius:8px;box-shadow:inset 1px 2px 3px #0a32623d}.rack-tile{width:100%;height:100%;background:linear-gradient(145deg,#fffef7,#f2e5ce);padding:4px 3px 7px;animation:pop .16s ease-out}.rack-tile img{width:100%;height:100%}.rack-caption{display:flex;justify-content:space-between;gap:7px;align-items:center;font-size:9px;color:#ecfaff;margin:8px 2px 0}.rack-caption b{font-size:10px;white-space:nowrap;color:#ffefac}.warning .rack{border-color:#ffc576;background:linear-gradient(#923a51,#692740)}.warning .rack-caption{color:#fff0d6}.board-area{flex:1;min-height:60px;position:relative;display:flex;align-items:center;justify-content:center;margin:16px -8px 6px}.board-scroll{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6px 6px 12px;scrollbar-width:thin}.board-scroll.zoomed{display:block;overflow:auto;touch-action:pan-x pan-y}.board-space{width:100%;height:100%;display:flex;align-items:center;justify-content:center;container-type:size}.board{position:relative;flex-shrink:0;width:min(100cqw,calc(100cqh * var(--cols) / var(--rows)));max-width:100%;max-height:100%}.zoomed .board-space{min-width:calc(100% * var(--zoom));height:calc(100% * var(--zoom));min-height:100%;container-type:size}.tile{position:absolute;padding:4px 4px 9px;border:0;background:linear-gradient(145deg,#fffef7,#f2e5ce) no-repeat;filter:drop-shadow(0 2px 1px #143d7540);transition:filter .15s,opacity .2s;transform:translateY(calc(var(--z,0) * -1px));min-width:0}.tile img{width:100%;height:100%;object-fit:contain}.tile.covered{filter:brightness(.72) saturate(.75) drop-shadow(0 1px 1px #224b7550)}.tile.free:hover{filter:brightness(1.06) drop-shadow(0 1px 4px #fdf6b780)}.tile.free:active{scale:.94}.tile.hidden-face img{opacity:.13}.tutorial-board .board-space{max-width:325px}.tutorial-board .tile{padding:12px 10px 20px}.tutorial-board .board-scroll{padding-bottom:60px}.tutorial-callout{position:absolute;bottom:0;background:#f9fdfff5;padding:11px 16px;border-radius:20px;color:#3c7596;font-size:11px;font-weight:800;text-align:center;box-shadow:0 3px 0 #3596be33;pointer-events:none;max-width:95%}.tutorial-callout span{position:absolute;font-size:32px;top:-50px;left:47%;color:#ffd09c;animation:point 1.5s infinite}.game-meta{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#eefbff;flex-shrink:0;margin:2px 0 10px}.game-meta>div{display:flex;gap:10px}.zoom-button{width:35px;height:28px;background:#e0f6ffb3;border-radius:9px;color:#3b7da0;font-size:19px;line-height:25px}.game-tools{display:flex;align-items:center;justify-content:space-evenly;gap:12px;padding-top:9px;border-top:1px solid #c9efff55;flex-shrink:0}.tool-item{display:flex;flex-direction:column;align-items:center;gap:7px}.tool-item>span{color:#f4fcff;font-size:10px;font-weight:700;text-shadow:0 1px 1px #256d95}.tool-button{width:66px;height:66px;border-radius:22px;border:2px solid #d7f4ff;background:linear-gradient(#3ec7fc,#0586e8 60%,#0771ca);box-shadow:inset 0 3px 0 #8ae2ff,0 4px 0 #185f9566;position:relative;padding:9px 10px 11px}.tool-button>img{width:100%;height:100%}.tool-button b{position:absolute;right:-5px;bottom:-4px;width:23px;height:23px;border:2px solid #fff6df;border-radius:50%;font-size:11px;background:#ffbe54;display:grid;place-items:center;color:#70420f;box-shadow:0 2px 0 #a55c1c3b}.game-settings{width:44px;height:44px;align-self:center;padding:0;margin-bottom:17px}.game-settings img{width:100%;height:100%}.page-header{display:flex;align-items:center;gap:11px;color:white;flex-shrink:0;margin-bottom:17px;min-height:48px}.page-header h1{font-size:18px;margin:0;letter-spacing:-.5px}.page-header p{font-size:10px;margin:4px 0 0;color:#d5f1ff}.page-header>.icon-button:last-child{margin-left:auto}.secondary-screen:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#318ee04f,#b4eafbde 33%,#e5f7fbf2)}.travel-intro,.collection-intro{text-align:center;margin:6px 0 20px}.travel-intro .eyebrow{font-size:10px;color:#e9f7ff}.travel-intro h2,.collection-intro h2{font-size:18px;letter-spacing:-.5px;margin:10px 0;color:#194d70}.travel-intro p,.collection-intro p{font-size:11px;color:#4a7b96;line-height:1.7;margin:8px 0 0}.page-scroll{flex:1;min-height:0;overflow:auto;padding:0 1px 14px;overscroll-behavior:contain;scrollbar-width:thin}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 11px}.world-card{text-align:left;background:#ffffffeb;border-radius:15px;overflow:hidden;padding:5px 5px 9px;box-shadow:0 3px 0 #5a9fb936;border:1px solid #fff}.world-picture{position:relative;aspect-ratio:1.05;background:#96cee9;border-radius:10px;overflow:hidden;margin-bottom:8px}.world-picture img{width:100%;height:100%;object-fit:cover}.world-picture>span{position:absolute;top:4px;left:4px;display:grid;place-items:center;background:#fffefaeb;border-radius:6px;color:#2e83a8;font-size:9px;font-weight:900;padding:3px 5px}.world-card strong{font-size:11px;margin-left:3px;display:block}.world-card small{display:block;font-size:8px;color:#84a6b8;margin:4px 3px 0}.pagination{display:flex;gap:25px;align-items:center;justify-content:center;font-size:12px;padding:12px 0 0;flex-shrink:0}.pill{width:50px;height:35px;border-radius:18px;background:#fff;color:#4a8eac;box-shadow:0 3px 0 #81bdcf50;font-size:19px}.map-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.map-entry{padding:15px 4px;background:#fff;border:1px solid white;box-shadow:0 4px 0 #7fb3c34a;border-radius:15px;display:flex;flex-direction:column;align-items:center;gap:6px}.map-entry>span{font-size:28px;color:#e8ad35}.map-entry strong{font-size:12px}.map-entry small{font-size:9px;color:#82a0ac}.animal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.animal-card{background:#fffdf2e8;border:2px solid white;border-radius:18px;text-align:center;padding:11px 6px 13px;box-shadow:0 3px 0 #70a5b62c;position:relative}.animal-card>span{position:absolute;top:8px;left:8px;font-size:8px;color:#a4b5b7}.animal-card img{width:75px;height:80px;max-width:100%;margin:5px 0}.animal-card strong{display:block;font-size:11px}.modal-backdrop{position:absolute;inset:0;background:#12395c85;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(5px)}.dialog{width:100%;max-width:360px;max-height:95%;overflow:auto;position:relative;background:linear-gradient(#fffdf4,#f2fbff);border:3px solid #fff;border-radius:28px;padding:24px 23px 19px;text-align:center;box-shadow:0 9px 0 #08345133,0 20px 70px #0c416b60;color:#275772;animation:dialog-in .23s ease-out}.dialog h2{margin:11px 0 8px;font-size:21px;letter-spacing:-.9px;font-weight:900;position:relative}.dialog p{font-size:12px;line-height:1.8;color:#7a99a9;margin:0 0 22px;position:relative}.dialog-illustration{width:93px;height:98px;margin:0 auto 7px;background:radial-gradient(#f6e7a1a8,transparent 68%);position:relative}.dialog-illustration img{width:100%;height:100%}.modal-close{position:absolute;right:12px;top:8px;width:36px;height:36px;border-radius:50%;font-size:27px;color:#93aebd;z-index:2;line-height:30px}.dialog>.primary{position:relative;font-size:14px;margin-top:11px}.secondary{width:100%;min-height:49px;border:1px solid #c8e9f4;border-bottom:3px solid #bdd7e2;background:#e8f5fb;border-radius:15px;font-size:13px;font-weight:800;margin-top:10px;padding:11px 8px}.text-button{font-size:12px;color:#81a2b3;text-decoration:underline;text-underline-offset:4px;min-height:41px;padding:10px}.settings-list{margin:10px 0 8px}.setting-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;border-bottom:1px solid #e0edf0;font-size:13px;font-weight:700;padding:8px 4px;text-align:left}.setting-row>span:not(.toggle){font-size:10px;color:#78a9b8}.toggle{height:24px;width:42px;border-radius:15px;background:#c4d5db;position:relative}.toggle:before{content:'';position:absolute;width:18px;height:18px;background:white;border-radius:50%;top:3px;left:3px;transition:left .15s;box-shadow:0 1px 3px #38677522}.toggle.on{background:#8dce59}.toggle.on:before{left:21px}.dialog-note{display:block;color:#98adb6;font-size:10px;margin:20px 0 12px}.how-triple{display:flex;justify-content:center;margin:19px 0 25px}.demo-tile{width:73px;height:79px;padding:9px 8px 15px;background:linear-gradient(145deg,#fffef7,#f2e5ce)}.demo-tile img{width:100%;height:100%}.demo-tile:first-child{transform:rotate(-10deg)}.demo-tile:last-child{transform:rotate(10deg)}.how-list{text-align:left;padding-left:20px;font-size:12px;color:#6c8c9c;line-height:1.8}.how-list li{padding-left:3px;margin-bottom:10px}.how-list b{color:#327a9a}.stars{color:#ffc345;font-size:31px;position:relative;text-shadow:0 2px #df982e;letter-spacing:3px;margin-top:-3px}.winner{width:105px;height:110px}.win-rays{position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:400px;height:400px;background:repeating-conic-gradient(#fff4c480 0deg 15deg,transparent 15deg 30deg);mask-image:radial-gradient(black,transparent 65%);pointer-events:none}.win-stats{position:relative;display:flex;justify-content:space-around;border-radius:17px;background:#e3f3f7;padding:14px 3px;margin:20px 0}.win-stats>div{display:flex;flex-direction:column;gap:6px}.win-stats small{font-size:9px;color:#7a9ba9}.win-stats b{font-size:17px;color:#2e7b9a}.toast{position:absolute;left:50%;bottom:calc(115px + var(--safe-bottom,0px));transform:translateX(-50%);z-index:2000;background:#194969ed;color:white;border:1px solid #ffffff33;border-radius:15px;max-width:90%;width:max-content;padding:12px 17px;font-size:12px;box-shadow:0 5px 18px #1b476f3b;pointer-events:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:white;text-align:center;padding:25px;background:linear-gradient(#3a96e8,#80d4e5)}.loading img{width:110px;height:110px;animation:bobcenter 4s infinite}.loading strong{font-size:18px}.loading span{font-size:12px;opacity:.8}.flying-tile{position:fixed;z-index:999;background:linear-gradient(145deg,#fffef7,#f2e5ce);padding:7px 6px 13px;pointer-events:none;transform-origin:top left;filter:drop-shadow(0 7px 4px #12407355)}.match-message{position:absolute;top:43%;width:100%;left:0;text-align:center;font-size:20px;font-weight:900;color:#ffef98;pointer-events:none;text-shadow:0 2px 0 #915323,2px 0 0 #915323,-2px 0 0 #915323;z-index:500;opacity:0}.match-message.show{animation:match-pop .9s ease-out forwards}.confetti{position:absolute;inset:0;pointer-events:none;z-index:1300;overflow:hidden}.confetti i{position:absolute;left:var(--x);width:9px;height:14px;background:var(--c);border-radius:3px;top:-30px;animation:confetti 2s var(--d) ease-in forwards}@keyframes confetti{to{top:110%;transform:rotate(var(--r)) translateX(40px);opacity:.2}}@keyframes match-pop{0%{opacity:0;transform:scale(.6)}20%,50%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08) translateY(-30px)}}@keyframes dialog-in{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes bobcenter{50%{transform:translateY(-23px) rotate(3deg)}}@keyframes bobleft{50%{transform:rotate(-12deg) translateX(9px) translateY(1px)}}@keyframes bobright{50%{transform:rotate(12deg) translateX(-9px) translateY(1px)}}@keyframes floatboat{50%{transform:translateX(9px) translateY(3px) rotate(3deg)}}@keyframes point{50%{transform:translateY(-8px)}}@keyframes pop{from{transform:scale(.86)}to{transform:scale(1)}}
@media(min-height:850px){.home-title{margin-top:6vh}.animal-parade{max-height:240px}.home-bottom{margin-bottom:12px}.home-nav{margin-top:24px}.destination{margin-bottom:19px}.game-header{margin-bottom:22px}.rack{padding:8px}.board-area{margin-top:24px}.game-tools{padding-top:16px;padding-bottom:8px}.tool-button{width:73px;height:73px}}
@media(max-height:690px){.screen{padding-left:16px;padding-right:16px;padding-bottom:max(11px,var(--safe-bottom,env(safe-area-inset-bottom)))}.home-title{margin-top:7px}.logo{padding-bottom:7px}.logo-mark{height:41px}.logo-letters{height:66px}.logo-letters img{height:68px;width:53px}.logo-ribbon{font-size:10px;padding:5px 9px}.animal-parade{min-height:75px;max-height:120px;margin-top:0}.hero-tile{width:80px;height:88px}.hero-1{width:93px;height:100px}.destination{margin:9px 0;padding:9px}.play-button{min-height:60px}.play-button>span{font-size:18px}.home-nav{margin-top:12px}.home-nav button{min-height:60px}.home-note{margin-top:10px}.game-header{margin-bottom:10px}.progress-track{margin-bottom:10px}.rack{padding:4px;gap:2px;min-height:45px}.board-area{margin:10px -6px 2px}.tool-button{width:56px;height:56px;border-radius:18px}.game-tools{gap:7px;padding-top:6px}.tool-item{gap:5px}.game-meta{margin-bottom:5px}.game-level strong{font-size:17px}.game-header .icon-button{width:39px;height:39px}.score strong{font-size:22px}.tool-item>span{font-size:9px}.dialog{padding:17px}.dialog-illustration{height:78px;width:78px}.dialog h2{font-size:19px}.dialog p{margin-bottom:13px}.world-grid{gap:10px 8px}.travel-intro{margin:0 0 14px}.page-header{margin-bottom:9px}.collection-intro{margin:0 0 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-height:690px){.home .hero-tile{animation:none}.home .hero-1{transform:translateY(-4px);height:94px;width:86px}.home .hero-0{transform:rotate(-14deg) translateX(9px) translateY(8px)}.home .hero-2{transform:rotate(14deg) translateX(-9px) translateY(8px)}.home .animal-parade{min-height:94px}}
.scene-postcard{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.scenery-country:after{background:linear-gradient(#287dcccc,#1d65a842 36%,#246f9b22 70%,#2689bc8c)}
@media(max-height:500px) and (min-width:600px){
 #app{max-width:900px}.home{display:grid;grid-template-columns:42% 1fr;grid-template-rows:40px 133px 1fr;gap:5px 22px;padding:12px 25px}.home-top{grid-column:1/3;height:40px}.home-title{grid-column:1;grid-row:2;margin:0}.home-title>.eyebrow{font-size:9px;margin:2px}.home-title .logo{padding-bottom:0}.home-title .logo-mark{height:35px}.home-title .logo-letters{height:55px}.home-title .logo-letters img{height:58px;width:47px}.home-title .logo-ribbon{font-size:9px;margin-top:4px}.home .animal-parade{grid-column:1;grid-row:3;margin:0;min-height:80px;width:100%;height:100%;max-height:160px}.home .hero-tile{width:78px;height:86px}.home .hero-1{width:86px;height:94px}.home-bottom{grid-column:2;grid-row:2/4;margin:0;align-self:center}.home-bottom .destination{margin:0 0 12px;padding:9px}.home-bottom .home-nav{margin-top:12px;gap:7px}.home-bottom .home-nav button{min-height:63px}.home-bottom .home-note{font-size:8px;margin-top:11px}.home-bottom .play-button{min-height:64px}.home-bottom .play-button>span{font-size:19px}.home-bottom .destination strong{font-size:12px}.home-bottom .destination-stamp{display:none}
 .game{display:grid;grid-template-columns:37% 1fr;grid-template-rows:44px 20px 7px 82px 1fr 28px 77px;gap:0 24px;padding:12px 20px}.game-header{grid-column:1;grid-row:1;margin:0}.game-level small{font-size:9px}.game-level strong{font-size:16px}.score strong{font-size:20px}.progress-label{grid-column:1;grid-row:2;font-size:9px;margin:0;align-self:center}.progress-track{grid-column:1;grid-row:3;margin:0}.rack-wrap{grid-column:1;grid-row:4;margin-top:10px}.rack{min-height:0;border-radius:12px}.rack-caption{font-size:8px;margin-top:5px}.rack-caption b{font-size:8px}.board-area{grid-column:2;grid-row:1/-1;margin:0;min-height:0}.game-meta{grid-column:1;grid-row:6;font-size:9px;margin:0}.game-tools{grid-column:1;grid-row:7;gap:5px;margin-top:6px}.tool-button{width:49px;height:49px;border-radius:16px;padding:7px}.tool-button b{width:20px;height:20px}.tool-item>span{font-size:8px}.game-settings{width:36px;height:36px;margin-bottom:15px}.tutorial-callout{font-size:10px;padding:8px 12px}.tutorial-board .board-scroll{padding-bottom:50px}.secondary-screen .world-grid{grid-template-columns:repeat(6,1fr)}.secondary-screen .travel-intro{display:none}.secondary-screen .page-header{margin-bottom:10px}.secondary-screen .animal-grid{grid-template-columns:repeat(6,1fr)}.secondary-screen .animal-card img{height:65px;width:65px}.dialog{max-height:100%;padding:14px 20px}.dialog-illustration{width:55px;height:55px}.dialog h2{font-size:18px;margin:5px 0}.dialog p{font-size:10px;margin:5px 0 9px}.dialog .primary,.dialog .secondary{min-height:39px;padding:7px;font-size:12px}.dialog .settings-list{margin:0}.dialog .setting-row{min-height:32px;font-size:11px}.dialog .dialog-note{margin:10px 0}.win-stats{padding:8px;margin:9px 0}.stars{font-size:24px}.dialog>.text-button{min-height:30px;padding:7px}
}

html{background:#d7e4cc}body{color:#496748}#app{background:#d9e6c6;box-shadow:0 0 90px #335d3926}.scenery.animal-scenery{background:#c9dfbd}.habitat-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.animal-scenery:after{background:linear-gradient(#f4fff028,transparent 35%,#eff7df16 75%,#f9f9e625)}.forest-light{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 18%,#fffce938,transparent 50%)}.firefly{position:absolute;background:#fffbc8;box-shadow:0 0 13px 5px #fff6b253;border-radius:50%;width:4px;height:4px;animation:firefly 7s ease-in-out infinite}.f1{left:15%;top:46%}.f2{right:9%;top:63%;animation-delay:-3s}.f3{left:26%;top:82%;animation-delay:-5s}@keyframes firefly{0%,100%{opacity:.1;transform:translate(0,0)}50%{opacity:.9;transform:translate(9px,-17px)}}.home{color:#466a43}.home-top .wordmark{color:#5f7c59;text-shadow:0 1px #ffffff9c;letter-spacing:2px;font-size:11px}.wordmark span{border-color:#91ab815e;letter-spacing:0;font-size:11px}.home-title>.eyebrow{color:#7b8d64;text-shadow:0 1px #ffffffe0;font-size:11px}.forest-logo{text-align:center;position:relative;margin:0 auto;padding:2px 0 13px}.brand-paws{font-size:13px;color:#e8ba6a;display:flex;align-items:center;justify-content:center;gap:11px;margin:2px 0 3px}.brand-paws i{width:17px;height:13px;background:#94ac73;border-radius:50% 50% 43% 43%;position:relative;transform:rotate(-8deg)}.brand-paws i:before{content:'';position:absolute;width:6px;height:7px;left:0;top:-7px;border-radius:50%;background:#94ac73;box-shadow:8px -1px #94ac73,14px 5px #94ac73,-5px 5px #94ac73}.forest-logo>strong{font-size:40px;line-height:1.14;display:block;font-weight:1000;letter-spacing:-3px;color:#dfaa55;text-shadow:0 3px 0 #fff9e8,2px 0 0 #fff9e8,-2px 0 0 #fff9e8,0 -2px 0 #fff9e8,0 6px 0 #91a36c3d,0 8px 12px #5e774123}.forest-logo>strong>span{display:block;font-size:48px;letter-spacing:-4px;color:#5e8652;margin:2px 0 9px}.forest-logo>small{font-size:11px;color:#77906d;font-weight:800;background:#ffffeee3;border:1px solid #fff;padding:5px 12px;border-radius:30px;box-shadow:0 3px 0 #9ead7330}.hero-tile{filter:drop-shadow(0 10px 6px #647c3d2b)}.animal-parade .sparkle{color:#fff1ac;text-shadow:0 0 8px #d39d45}.destination{border-color:#fffefa;background:#fffdf0ee;color:#4f6e45;box-shadow:0 4px 0 #7d96562e;border-radius:19px}.destination-pet{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:13px;background:#e9efd7}.destination-pet img{width:35px;height:35px}.destination small{color:#91a078}.destination-stamp{color:#98a57c;border-color:#aeb88c;font-size:8px;padding:6px}.primary{color:#6d5429;text-shadow:0 1px #fff8d3;background:linear-gradient(#ffe6a3,#f1ca75);border-color:#ffefc2;border-bottom-color:#c4a05a;box-shadow:inset 0 2px #fff8d8,0 4px 10px #788d3b28}.home-nav button{background:#fffcf0ed;border-color:#ffffffea;color:#66845b;box-shadow:0 3px 0 #97a77a4d}.home-note{color:#6b835b;text-shadow:0 1px 2px #ffffffe8;font-size:9px}.home-nav .nav-symbol{font-weight:600;color:#94a87c}.home-top .icon-button{background:#f9f9e7c9;border:1px solid #fff;border-radius:50%;padding:4px}.icon-button img,.game-settings img{filter:hue-rotate(-70deg) saturate(.42) drop-shadow(0 2px 1px #64763a22)}.game-header,.page-header{color:#466643}.game-level small,.score small,.page-header p{color:#71916c}.game-level strong,.score strong{text-shadow:0 1px 0 #fffee9,0 2px 2px #49664a20}.page-header h1{text-shadow:0 1px #fff}.game-header>.icon-button,.page-header>.icon-button{background:#fffcf1db;border:1px solid #fff;border-radius:50%;padding:4px}.progress-label{color:#5c7a4c;text-shadow:0 1px #ffffff9e}.progress-label b{color:#937544}.progress-track{background:#9cac7f59;box-shadow:inset 0 1px 2px #7288564d}.progress-track i{background:linear-gradient(90deg,#a8c686,#6d9a68)}.rack{background:linear-gradient(#75997b,#54765d);border-color:#f3f6df;box-shadow:0 3px 0 #7b8d5c50,inset 0 3px 5px #3b59444f;border-radius:17px}.rack-slot{background:#3b654e68;box-shadow:inset 1px 2px 3px #284b3833}.rack-caption{color:#58734a;font-weight:700;text-shadow:0 1px #fff8dc}.rack-caption b{color:#87723f}.warning .rack{background:linear-gradient(#bb8772,#986859);border-color:#ffe3b4}.warning .rack-caption{color:#925b3f}.game-meta{color:#5a734e;text-shadow:0 1px #fff6df}.zoom-button{background:#fffaf0db;color:#72845a;border:1px solid #fff}.game-tools{border-color:#9eac6a52}.tool-button{background:linear-gradient(#b7cd96,#85aa79);border-color:#fcffe8;box-shadow:inset 0 3px #e3eec7,0 4px 0 #65865e73}.tool-button img{filter:hue-rotate(-85deg) saturate(.5)}.tool-button b{background:#f2d38e;color:#7d6237;border-color:#fff9e5}.tool-item>span{color:#59714d;text-shadow:0 1px #fff8df}.secondary-screen:before{background:linear-gradient(#f0f8e753,#f7f8e8d9 30%,#f5f7e8e8)}.travel-intro .eyebrow{color:#89a076;font-size:10px}.travel-intro h2,.collection-intro h2{color:#4d6d45}.travel-intro p,.collection-intro p{color:#8d9d78}.habitat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 13px}.habitat-card{padding:6px 6px 12px;border-radius:20px;background:#fffef4f5;color:#4f6c46;box-shadow:0 4px 0 #a0ac7d35;border:1px solid #fff}.habitat-picture{position:relative;aspect-ratio:1.2;border-radius:14px;overflow:hidden;margin-bottom:10px;background:#c9d8b6}.habitat-picture>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center 70%}.habitat-picture>span{position:absolute;top:7px;left:7px;border-radius:7px;padding:4px 7px;background:#fffef1e6;color:#7c9267;font-size:9px;font-weight:800}.habitat-picture .habitat-friend{position:absolute;right:7px;bottom:5px;width:46px;height:46px;filter:drop-shadow(0 2px 2px #506c3f33)}.habitat-card>strong{font-size:12px;margin-left:5px;letter-spacing:-.5px}.habitat-card>small{font-size:9px;color:#98a47e;margin-left:5px}.habitat-progress{height:4px;background:#e3e9d4;border-radius:5px;margin:9px 5px 0;overflow:hidden}.habitat-progress>i{display:block;height:100%;background:#92b67e;border-radius:5px}.route-screen:before{background:linear-gradient(#f4f9e8a1,#f5f9e6b0 30%,#f5f9e6c9)}.route-summary{display:flex;gap:12px;align-items:center;border:1px solid #fff;border-radius:19px;background:#ffffedd6;padding:10px 16px;margin:0 4px 15px;color:#5d794c}.route-summary>img{width:43px;height:43px}.route-summary strong{font-size:12px}.route-summary small{display:block;font-size:9px;color:#97a37d;margin-top:5px}.route-list{position:relative;min-height:1320px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:15px 10px 27px;overflow:hidden}.route-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.route-trail path{fill:none;stroke:#d1b67b;stroke-width:14;stroke-linecap:round;stroke-dasharray:3 20;opacity:.65}.route-node{position:relative;border:0;box-shadow:none;background:none;padding:0;gap:5px;flex-shrink:0;width:112px;color:#6d8358}.route-node:nth-of-type(4n+1){transform:translateX(-63px)}.route-node:nth-of-type(4n+2){transform:translateX(38px)}.route-node:nth-of-type(4n+3){transform:translateX(63px)}.route-node:nth-of-type(4n){transform:translateX(-38px)}.route-number{width:69px;height:69px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#fffdf2,#efe8c9);border:3px solid #fff;box-shadow:0 5px 0 #a0aa7b6b,0 6px 12px #6a805928}.route-number img{width:34px;height:34px}.route-number b{font-size:12px;color:#7b875b;line-height:17px}.route-node-label{font-size:9px;background:#fffeefed;padding:4px 8px;border-radius:9px;color:#82926b;box-shadow:0 2px 0 #c3cbaa55}.route-node.completed .route-number{background:linear-gradient(#e3eccb,#b9d19a);border-color:#fffad7}.route-node.completed .route-number b{color:#bd9547}.pagination{color:#7f926d}.pill{background:#fffdf1;color:#91a279;box-shadow:0 3px 0 #abb88b5c}.animal-card{background:#fffdf0ed;box-shadow:0 3px 0 #a1b0803b;color:#5f7b52}.animal-card>span{color:#acb595}.dialog{background:linear-gradient(#fffcf0,#f2f7e9);color:#55744b;box-shadow:0 9px 0 #31533333,0 20px 70px #2d4f3260}.modal-backdrop{background:#234a3b88}.dialog p{color:#95a07f}.dialog-illustration{background:radial-gradient(#f2e8ab9e,transparent 68%)}.modal-close{color:#a2ae8d}.secondary{background:#edf1dd;border-color:#dce5c6;border-bottom-color:#becba5;color:#779063}.text-button{color:#9fae87}.setting-row{border-color:#e5ebd8;color:#6b8257}.toggle.on{background:#a3bc7e}.dialog-note{color:#a5b091}.sound-credit{font-size:9px;line-height:1.8;color:#a6af93;padding:8px 0 0}.win-stats{background:#eaf0dc}.win-stats b{color:#73935f}.win-stats small{color:#a2af8a}.how-list{color:#92a17b}.how-list b{color:#6a8c59}.toast{background:#536e46f0;border-color:#fff6cf88;box-shadow:0 5px 18px #3c5c302b}.match-message{color:#fff3b9;text-shadow:0 2px #879e60,2px 0 #879e60,-2px 0 #879e60}.loading{background:#cfe1b7 url('./habitats/forest.webp') center/cover;color:#53794a}.loading strong{background:#ffffede0;padding:12px;border-radius:18px}.loading span{color:#7f9d70;background:#fffce9bd;padding:7px 12px;border-radius:14px}
@media(max-height:690px){.forest-logo{padding-bottom:8px}.brand-paws{margin:0;font-size:10px}.forest-logo>strong{font-size:31px;line-height:1.09}.forest-logo>strong>span{font-size:37px;margin-bottom:6px}.forest-logo>small{font-size:9px;padding:4px 10px}.home-title>.eyebrow{font-size:10px;margin-bottom:5px}.home .animal-parade{min-height:83px}.home .hero-tile{width:70px;height:78px}.home .hero-1{width:78px;height:85px}.habitat-grid{gap:12px 10px}.habitat-card{padding-bottom:9px}.habitat-picture{aspect-ratio:1.25;margin-bottom:8px}.habitat-card>strong{font-size:11px}.travel-intro h2{font-size:16px}.route-summary{padding:7px 12px}.route-summary>img{width:34px;height:34px}}
@media(min-height:850px){.forest-logo{padding-top:6px}.forest-logo>strong{font-size:47px}.forest-logo>strong>span{font-size:56px;margin-bottom:11px}.forest-logo>small{font-size:12px}.home-title{margin-top:4vh}}
@media(max-height:500px) and (min-width:600px){.forest-logo{padding:0}.brand-paws{display:none}.forest-logo>strong{font-size:28px;line-height:1.05}.forest-logo>strong>span{font-size:35px;margin-bottom:5px}.forest-logo>small{font-size:8px;padding:3px 8px}.home-title>.eyebrow{font-size:9px}.habitat-grid{grid-template-columns:repeat(3,1fr);gap:10px}.habitat-picture{aspect-ratio:2}.habitat-card>strong{font-size:10px}.habitat-card>small{font-size:8px}.habitat-progress{margin-top:5px}.route-summary{display:none}.route-list{padding-left:20%;padding-right:20%}.secondary-screen .habitat-grid{grid-template-columns:repeat(3,1fr)}.sound-credit{display:none}}

.forest-wallet{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:13px}.forest-wallet button{min-height:33px;border-radius:12px;font-size:9px;font-weight:800;border:1px solid #fff6d5;background:#fffcf0de;color:#6c8555;padding:5px 8px;box-shadow:0 2px 0 #a9b5863d}.wallet-button{display:flex;align-items:center;gap:6px}.wallet-button span{color:#b18b42;font-size:11px}.wallet-button small{font-size:8px}.forest-wallet .bonus-button{background:#eef1d8e8}.forest-wallet .daily-button{color:#a58c56}.forest-wallet button:disabled{opacity:.55}.shop-list{display:grid;gap:8px;margin:15px 0}.shop-row{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #e1e8cf;background:#f1f4e3;border-radius:13px;color:#6e875b;font-size:12px}.shop-row span{text-align:left}.shop-row small{display:block;font-size:9px;color:#a3af8e;margin-top:4px}.shop-row b{font-size:11px;color:#ad8e4c}.shop-row:disabled{opacity:.5}.rack{grid-template-columns:repeat(var(--rack-capacity,7),1fr)}.bonus-rack .rack{max-width:220px;margin:0 auto;grid-template-columns:repeat(3,1fr);border-color:#fff5cd}.bonus-rack .rack-caption{max-width:300px;margin-left:auto;margin-right:auto;font-size:9px}.bonus-rack .rack-slot{aspect-ratio:1}.home .home-nav{margin-top:12px}.home .home-note{margin-top:12px}
@media(max-height:690px){.forest-wallet{margin-top:9px;gap:4px}.forest-wallet button{font-size:8px;min-height:28px;padding:4px 6px}.wallet-button span{font-size:10px}.wallet-button small{font-size:7px}.home .home-nav{margin-top:9px}.home .home-note{margin-top:8px}.home .animal-parade{min-height:66px}.home .hero-tile{width:62px;height:68px}.home .hero-1{width:69px;height:75px}}
@media(max-height:500px) and (min-width:600px){.forest-wallet{margin-top:8px}.forest-wallet button{min-height:26px;font-size:8px}.home .home-nav{margin-top:8px}.home .home-note{margin-top:7px}.bonus-rack .rack{max-width:150px}.bonus-rack .rack-caption{font-size:8px}}

.game:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#fbfbedeb 0%,#fbfbedb8 24%,#fbfbed14 40%,#fbfbed0a 73%,#fbfbedc9 89%,#fbfbeded 100%)}

.rule-icon{display:inline-block;width:1.3em;height:1.3em;vertical-align:middle;flex-shrink:0}.home-header-tools{display:flex;gap:7px;align-items:center}.home-header-tools .journal-button{display:grid;place-items:center;color:#80996a}.journal-button .rule-icon{width:24px;height:24px}.home-nav .nav-symbol>.rule-icon{height:28px;width:28px}.game-level strong{display:block;max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board{isolation:isolate}.tile>img,.rack-tile>img{object-fit:contain}.piece-badge{position:absolute;bottom:9px;right:5px;width:19px;height:19px;background:#fff5bc;border:1.5px solid #fff;border-radius:50%;color:#ac8844;display:grid;place-items:center;box-shadow:0 2px 3px #475f3933;pointer-events:none}.piece-badge .rule-icon{width:13px;height:13px}.badge-seed{background:#e0efc3;color:#6d9754}.badge-collect{background:#ffe6df;color:#c48674}.badge-plane{background:#dceef1;color:#80a6b1}.badge-treasure{background:#f6e5bb;color:#ac8750}.badge-spark{background:#fff2ac;color:#b59a37;box-shadow:0 0 10px #ffeeb2}.masked-face{width:100%;height:100%;display:grid;place-items:center;box-shadow:inset 0 0 12px #66894819;border-radius:16%;color:#87a56b;background:linear-gradient(140deg,#edf4df,#cbdcb8)}.masked-face>.rule-icon{width:59%;height:59%;filter:drop-shadow(0 1px #fff)}.mask-question{background:linear-gradient(140deg,#f9eddb,#ecd5b1);color:#b7996b}.mask-cloud{background:linear-gradient(140deg,#f2f4ee,#cbdfe6);color:#91aeb4}.rack-tile{position:relative}.rack-tile .piece-badge{width:14px;height:14px;bottom:5px;right:3px}.rack-tile .piece-badge .rule-icon{width:9px;height:9px}.ice-slot{background:linear-gradient(135deg,#e6f8ffdf,#8cbdcedb)!important;color:#f4fdff;display:grid;place-items:center;border:1px solid #d5f1ff;box-shadow:inset 0 0 8px #fff8!important}.ice-slot .rule-icon{width:70%;height:70%}.held-slot{display:grid;place-items:center;background:#f8e7bd!important;color:#ae9263}.held-slot .rule-icon{width:70%;height:70%}.board-prop{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;filter:drop-shadow(0 4px 3px #496b6133)}.board-prop>img{width:100%;height:100%;object-fit:contain}.postcard-prop{background:linear-gradient(140deg,#fff6da,#e0c79c);border:3px solid #fff5e5;border-radius:17%;width:83%;height:65%;transform:rotate(-8deg);display:flex;align-items:center;justify-content:center;gap:3px;box-shadow:0 4px 0 #ab99733d}.postcard-prop>img{width:46%;height:66%;object-fit:contain}.postcard-prop>.rule-icon{color:#ac9061;width:35%;height:50%}.whale-coin{position:absolute;z-index:1000000;min-width:35px;min-height:35px;border:2px solid #fff4bc;border-radius:50%;color:#a87927;background:radial-gradient(at 40% 25%,#fff6bf,#ebc56d);box-shadow:0 3px 0 #a17f4280,0 0 12px #fff5b8aa;font-size:18px;display:flex;align-items:center;justify-content:center;gap:1px}.whale-coin small{font-size:9px}.belt-board{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:15px;padding:7px}.conveyor-lane{background:#fcfae9e6;border:1px solid #fffef5;border-radius:18px;padding:8px 9px 4px;box-shadow:0 3px 0 #6e8c5942;min-height:0}.lane-heading{display:flex;justify-content:space-between;font-size:10px;font-weight:800;color:#72916a;margin-bottom:5px}.lane-heading small{font-size:8px;color:#a2ad88}.belt-track{height:clamp(33px,13vw,56px);display:flex;gap:3px;background:repeating-linear-gradient(90deg,#97b196 0,#97b196 13px,#84a384 14px,#84a384 16px);border-radius:9px;padding:1px 2px;align-items:center}.belt-track .belt-tile{position:relative;left:auto;top:auto;flex:1;min-width:0;max-width:17%;height:100%;padding:3px 3px 7px;filter:drop-shadow(0 2px 1px #4d6b4540)}.belt-tile .piece-badge{display:none}.empty-belt{flex:1;min-width:0}.belt-direction{display:block;font-size:11px;letter-spacing:4px;color:#a5b694;text-align:center;line-height:14px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding-bottom:8px}.mode-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:6px 6px 11px;border:1px solid #fff;border-radius:20px;background:#fffdf0ee;box-shadow:0 4px 0 #94a5772b;color:#607f50}.mode-picture{position:relative;display:block;aspect-ratio:1.45;border-radius:14px;overflow:hidden;margin-bottom:9px;background:#cfdfbc}.mode-landscape{width:100%;height:100%;object-fit:cover;object-position:center 64%;opacity:.84}.mode-friend{position:absolute;width:67px;height:67px;object-fit:contain;right:10px;bottom:0;filter:drop-shadow(0 2px 3px #55754a2a)}.mode-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#fff9e5eb;color:#8a9e69;border:2px solid #fffef2;box-shadow:0 3px 0 #7b94532b;flex-shrink:0}.mode-picture .mode-emblem{position:absolute;left:10px;bottom:11px;width:35px;height:35px;border-radius:12px}.mode-emblem .rule-icon{width:23px;height:23px}.mode-card>strong{font-size:12px;margin:0 4px 5px;letter-spacing:-.5px}.mode-card>small{font-size:9px;color:#9da986;margin:0 4px}.mode-intro{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:13px;margin-bottom:15px;background:#fffdeed9;border:1px solid #fff;border-radius:19px}.mode-intro p{font-size:11px;line-height:1.7;color:#8b9d75;flex:1;margin:0}.mode-intro>.pill{margin-left:auto;font-size:10px}.encounter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 11px;padding:10px 2px 14px}.encounter-node{display:flex;flex-direction:column;align-items:center;gap:7px;background:#fffcecde;border:1px solid #fff;border-radius:20px;padding:12px 5px;color:#729060;box-shadow:0 4px 0 #a1ae7d35}.encounter-friend{position:relative;width:55px;height:55px;border-radius:18px;display:grid;place-items:center;background:#e6edd4}.encounter-friend img{width:46px;height:46px;object-fit:contain}.encounter-friend b{position:absolute;right:-4px;bottom:-4px;color:#c7a251;font-size:19px;text-shadow:0 1px #fff}.encounter-node strong{font-size:10px}.encounter-node small{font-size:9px;color:#a0ac85}.lesson-intro{display:flex;gap:14px;align-items:center;padding:8px 5px 14px}.lesson-intro>img{width:62px;height:62px;object-fit:contain}.lesson-intro h2{font-size:17px;margin:0 0 7px;color:#5b7b4e}.lesson-intro p{font-size:10px;line-height:1.8;color:#99a783;margin:0}.lesson-basics{margin:0 4px 16px;font-size:11px;min-height:35px}.lesson-list{display:flex;flex-direction:column;gap:9px;padding:3px 2px 12px}.lesson-card{display:flex;align-items:center;gap:13px;text-align:left;padding:15px 13px;background:#fffdf0df;border:1px solid #fff;border-radius:17px;color:#6b8857;box-shadow:0 3px 0 #a0ad7b25}.lesson-index{width:35px;height:35px;display:grid;place-items:center;background:#e5ecd4;border-radius:12px;font-size:11px;color:#97ac7f}.lesson-card>span:nth-child(2){flex:1}.lesson-card strong{font-size:12px;display:block}.lesson-card small{display:block;font-size:9px;color:#a7b291;margin-top:6px}.lesson-card>b{font-size:19px;color:#9db087}.intro-emblem{height:86px;display:grid;place-items:center;color:#91ac73}.intro-emblem .rule-icon{height:62px;width:62px;stroke-width:1.25}.intro-note{background:#eaf0dce0;border-radius:14px;padding:11px;font-size:10px;color:#92a27c;margin:14px 0}.lesson-highlight{outline:4px solid #f9dda1;outline-offset:3px;animation:lessonPulse 1.6s infinite}@keyframes lessonPulse{50%{outline-color:#edbf5a;box-shadow:0 0 17px #ffe5a6}}.tutorial-callout{font-size:11px;line-height:1.65;white-space:normal;max-width:94%;text-align:center}.tutorial-callout>span{font-size:23px}.journal-overview{display:grid;grid-template-columns:repeat(3,1fr);background:#fffbeddb;border:1px solid #fff;border-radius:18px;padding:16px 8px;margin:2px 2px 15px}.journal-overview>div{text-align:center}.journal-overview b{display:block;font-size:23px;color:#83a06e}.journal-overview small{display:block;font-size:9px;color:#a0ad88;margin-top:6px}.daily-card{background:linear-gradient(135deg,#fff6d8f5,#f4ecd0f0);border:1px solid #fff;border-radius:22px;padding:19px 17px;color:#7f925f;box-shadow:0 4px 0 #b0b78c3b;margin:0 2px 22px}.daily-card .eyebrow{font-size:9px;color:#b4a06d}.daily-card h2{font-size:20px;margin:10px 0}.daily-card p{font-size:11px;line-height:1.9;color:#a6a278}.daily-card .primary{width:100%;font-size:13px;min-height:44px;margin-top:10px}.daily-card>small{display:block;text-align:center;font-size:9px;margin-top:12px;color:#aaa37e}.journal-section{margin:0 2px 24px}.journal-section h2{font-size:15px;color:#6b8957;margin:0 0 9px}.journal-section>p{font-size:10px;color:#a4ad8f;line-height:1.7}.gift-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:13px 0}.gift-week>span{display:flex;flex-direction:column;gap:5px;align-items:center;padding:9px 2px;background:#eff1df;border:1px solid #fffef5;border-radius:11px;color:#b2b99b}.gift-week .visited{color:#b49c5a;background:#fff1c7}.gift-week small{font-size:9px}.gift-week .rule-icon{width:19px;height:19px}.journal-section>.secondary{width:100%;font-size:12px;min-height:42px}.mission-list{display:grid;gap:8px}.mission-card{display:flex;align-items:center;gap:9px;background:#fffdf0db;border:1px solid #fff;border-radius:16px;padding:13px 12px;box-shadow:0 3px 0 #aab48b20}.mission-card>div{flex:1;min-width:0}.mission-card strong{display:block;color:#7a9567;font-size:11px}.mission-card small{display:block;color:#a9b493;font-size:9px;margin-top:6px}.mission-card>.pill{min-height:35px;font-size:10px;min-width:65px;background:#f3e5b8;color:#9c854e}.mission-card>.pill:disabled{background:#ebeedc;color:#acb495;opacity:.7}.mission-progress{height:3px;margin-top:8px;background:#e9eddc;border-radius:5px;overflow:hidden}.mission-progress i{height:100%;display:block;background:#a8bc88}.journal-screen>.page-scroll{padding-bottom:15px}
@media(max-width:350px){.game-level strong{max-width:145px;font-size:17px}.mode-card>strong{font-size:11px}.mode-picture .mode-emblem{width:29px;height:29px;left:7px;bottom:8px}.mode-friend{width:57px;height:57px;right:4px}.mode-emblem .rule-icon{width:19px;height:19px}.encounter-grid{grid-template-columns:repeat(2,1fr)}.piece-badge{width:15px;height:15px;bottom:6px;right:3px}.piece-badge .rule-icon{width:10px;height:10px}.lane-heading{font-size:9px}.belt-board{gap:10px;padding:3px}.conveyor-lane{padding:6px 7px 3px}.tutorial-callout{font-size:9px}.home-header-tools{gap:3px}.home-header-tools .icon-button{width:36px;height:36px}.home-top .wordmark{font-size:10px}.wordmark span{font-size:9px}.gift-week{gap:3px}}
@media(max-height:690px){.piece-badge{width:14px;height:14px;bottom:6px;right:3px}.piece-badge .rule-icon{width:9px;height:9px}.tutorial-callout{font-size:9px;line-height:1.5;padding:8px 11px}.mode-intro{padding:10px}.mode-intro p{font-size:10px}.mode-grid{gap:12px 10px}.mode-card>strong{font-size:11px}.mode-picture{aspect-ratio:1.5}.lesson-intro{padding-bottom:10px}.lesson-intro>img{width:45px;height:45px}.lesson-intro h2{font-size:15px}.lesson-intro p{font-size:9px}.lesson-basics{margin-bottom:10px}.intro-emblem{height:65px}.intro-emblem .rule-icon{height:45px;width:45px}}
@media(max-height:500px) and (min-width:600px){.mode-grid{grid-template-columns:repeat(4,1fr)}.mode-picture{aspect-ratio:1.9}.mode-friend{width:48px;height:48px}.mode-picture .mode-emblem{width:27px;height:27px;left:6px;bottom:7px}.encounter-grid{grid-template-columns:repeat(6,1fr)}.mode-intro{margin-bottom:9px;padding:8px}.mode-intro>.mode-emblem{width:32px;height:32px}.mode-intro p{font-size:10px;line-height:1.5}.lesson-intro{display:none}.lesson-basics{font-size:9px;margin-bottom:8px}.lesson-list{display:grid;grid-template-columns:1fr 1fr}.lesson-card{padding:9px}.lesson-card strong{font-size:11px}.lesson-card small{font-size:8px}.journal-screen>.page-scroll{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journal-overview{grid-column:1/-1;padding:8px;margin-bottom:0}.journal-overview b{font-size:17px}.journal-section{margin-bottom:10px}.daily-card{padding:12px;margin-bottom:0}.daily-card h2{font-size:16px}.daily-card p{font-size:10px}.belt-board{gap:10px;padding:7px 4%}.belt-track{height:46px}.lane-heading{font-size:9px}.conveyor-lane{padding:6px 8px 2px}.game-level strong{max-width:150px}.intro-emblem{display:none}.intro-note{padding:8px;margin:9px 0;font-size:9px}}
@media(prefers-reduced-motion:reduce){.lesson-highlight,.firefly,.rack-tile,.confetti,.match-message{animation:none!important}.tile{transition:none}}

.close-game{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #fffdf0;background:#f9f9e7d9;color:#899b78;font:500 25px/1 sans-serif;flex-shrink:0;box-shadow:0 2px 0 #8da17622}.game-header{gap:7px}.game-level{min-width:0}.game-header .close-game{width:30px;height:30px;font-size:23px}.game-header .score{min-width:32px}.home-header-tools .close-game{width:32px;height:32px}.home-header-tools{gap:5px}@media(max-width:350px){.home-header-tools{gap:2px}.home-header-tools .icon-button{width:31px;height:31px}.home-header-tools .close-game{width:29px;height:29px;font-size:22px}.home-top .wordmark{font-size:9px;letter-spacing:1px}.wordmark span{font-size:8px}.game-level strong{max-width:132px}.game-header{gap:5px}.game-header .score strong{font-size:21px}}

.close-game,.game-header .close-game,.home-header-tools .close-game{width:40px;height:40px}.game-header .close-game{font-size:25px}@media(max-width:350px){.home-header-tools .close-game{width:36px;height:36px}.game-header .close-game{width:36px;height:36px}.home-header-tools .icon-button{width:34px;height:34px}}

.modal-exit{position:absolute;top:calc(12px + var(--safe-top,0px));right:max(12px,calc((100vw - 480px)/2 + 12px));z-index:2}.modal-exit .close-game{background:#f5f8e8e8}button:focus-visible{outline:3px solid #d9b35f;outline-offset:3px}
.page-header>.close-game{margin-left:auto}.mode-card[data-mode="whale"] .mode-friend,.mode-card[data-mode="shell"] .mode-friend{width:88px;height:75px;right:3px;bottom:3px}
.loading-exit{position:absolute;top:calc(12px + var(--safe-top,0px));right:14px}

@font-face{font-family:Mongle;src:url('./fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#344f3b;--muted:#65735d;--cream:#fff9ec;--wood:#b58a5b;--sage:#789c74;--gold:#e7bd73}
body,button{font-family:Mongle,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.25px}body{color:var(--ink)}button{font-weight:650}button:disabled{opacity:.64}
.page-header h1{font-size:21px;font-weight:800;letter-spacing:-.8px;color:#35513d}.page-header p{font-size:12px;color:#5d715b;font-weight:550;line-height:1.5}.page-header{gap:10px;margin-bottom:17px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#7c7353}.travel-intro h2,.collection-intro h2{color:#35513d;font-size:23px;letter-spacing:-.9px}.travel-intro p,.collection-intro p{color:#5d705a;font-size:13px;line-height:1.65}
.secondary-screen:before{background:linear-gradient(#fbf8edc7,#fbf8edea 30%,#fbf8edf5)}.page-scroll{scrollbar-color:#b5bd9a transparent;scrollbar-width:thin}
.icon-button,.close-game,.game-settings{color:#526c4c!important;background:#fffaf0eb!important;border:1px solid #fffdf6!important;box-shadow:0 2px 0 #9c80532b!important;border-radius:50%;display:grid;place-items:center}
.icon-button .rule-icon{width:23px;height:23px}.game-settings .rule-icon{width:25px;height:25px}.close-game{font-size:26px;font-weight:400}.home-header-tools .icon-button .rule-icon{width:23px;height:23px}
.forest-logo>strong{color:#b28343;font-weight:900;letter-spacing:-2px;text-shadow:0 2px #fff9eb,0 4px #7e925429}.forest-logo>strong>span{color:#406947;font-weight:900;letter-spacing:-3px}.forest-logo>small{color:#526447;font-weight:650;background:#fff9e9f0}
.home-title>.eyebrow{color:#536c4b;font-weight:600}.home-top .wordmark{color:#466143;font-weight:750}.wordmark span{font-weight:650}.destination strong{font-size:14px;color:#3f5c3e}.destination small{font-size:11px;color:#637556;line-height:1.5}.destination{background:#fffaf0ee;border:1px solid #fffdf6;box-shadow:0 3px 0 #c3b58949}
.primary{border:1px solid #fff3cc;border-bottom:3px solid #bc9356;border-radius:18px;background:linear-gradient(150deg,#f8db97,#ebc071);color:#604623;text-shadow:none;box-shadow:inset 0 2px #fff1c6,0 4px 10px #785b2520;font-weight:800}
.secondary{background:#edf0dc;color:#4d6647;border:1px solid #d5dfc4;border-bottom:3px solid #b5c39c;border-radius:16px;font-weight:700}.text-button{color:#536c4b;font-weight:600}.pill{color:#526848;background:#fff9ec;font-weight:650}
.home-nav button{color:#445f40;border:1px solid #fff8e8;box-shadow:0 3px 0 #b3b29442;background:#fff9eaf2;font-size:12px}.home-nav .nav-symbol{color:#6f8b60}.home-nav .nav-symbol>.rule-icon{width:27px;height:27px}.home-nav .nav-animal img{object-fit:contain}
.forest-wallet button{font-size:11px;color:#536c45;background:#fff8e8e8;box-shadow:0 2px 0 #b4ab8542}.wallet-button span{color:#86632e;font-size:12px}.wallet-button small{font-size:10px}.forest-wallet .daily-button{color:#805e31}.home-note{color:#52694a;font-size:10px}.home .home-note{margin-top:11px}

/* Warm ceramic pieces, with portrait spacing refined below. */
.tile,.rack-tile,.hero-tile,.demo-tile,.flying-tile{background:linear-gradient(145deg,#fffef7 5%,#fff8e9 68%,#f2e5ce)!important;border:1px solid #fffef8;border-radius:15%;box-shadow:inset 0 1px 1px #fff, inset 0 -3px 0 #ddc6a1,0 3px 0 #a58b65;filter:drop-shadow(0 2px 1px #6a543525);padding:3px 3px 7px}
.tile{transition:filter .16s,scale .16s;overflow:visible}.tile>img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 0 #fff9)}
.tile.covered{filter:brightness(.82) saturate(.82) drop-shadow(0 2px 1px #76634738)}.tile.free:hover{filter:brightness(1.035) drop-shadow(0 2px 4px #a9b87f65)}.tile.free:active{scale:.96;filter:brightness(1.04)}
.tutorial-board .tile{padding:3px 3px 8px}.tutorial-board .board-space{max-width:350px}.rack-tile{padding:1px 1px 4px;border-radius:18%;box-shadow:inset 0 -2px #dec6a3,0 2px 0 #9c7b50}.rack-tile>img{object-fit:contain;pointer-events:none}.hero-tile{padding:5px 4px 10px;border-radius:20%;box-shadow:inset 0 -5px #e3caa1,0 5px 0 #ab9167}.hero-tile img{object-fit:contain}.demo-tile{padding:3px 3px 8px}.flying-tile{padding:2px 2px 6px}
.game{color:var(--ink)}.game:before{background:linear-gradient(#fbf9eded 0%,#fbf9edb0 23%,#fff9ed2b 38%,#fff9ed12 72%,#fbf9eddb 90%,#fbf9edf5)}
.game-header{gap:8px;margin-bottom:13px}.game-level small,.score small{color:#5e7358;font-size:11px;font-weight:600}.game-level strong{color:#36573c;font-size:20px;font-weight:850;letter-spacing:-.8px;text-shadow:none}.score strong{color:#486740;font-size:28px;text-shadow:none}
.progress-label{color:#506847;font-size:12px;font-weight:600;text-shadow:none}.progress-label b{color:#86632e;font-weight:750}.progress-track{height:6px;background:#c5cfb2b3;box-shadow:none}.progress-track i{background:linear-gradient(90deg,#abc68d,#6f936a)}
.board-area:before{content:'';position:absolute;inset:6% 0 3%;background:radial-gradient(ellipse,#fff9eab3,transparent 72%);pointer-events:none}.board-scroll,.belt-board{position:relative;z-index:1}.board-scroll{padding:7px 6px 13px}.tutorial-board .board-scroll{padding-bottom:70px}
.rack{padding:7px;gap:4px;border:2px solid #f7e3bf;border-radius:19px;background:linear-gradient(160deg,#d2b184,#c29b6d 65%,#b98c5d);box-shadow:inset 0 2px 0 #e4cba5,inset 0 -3px #a97e50,0 3px 0 #8e775a36}
.rack-slot{border-radius:12px;background:linear-gradient(#efdfbe,#f8edda);border:1px solid #b38c5c;box-shadow:inset 0 2px 4px #97734538;overflow:visible}.rack-caption{color:#4c6443;text-shadow:none;font-size:11px;font-weight:600;line-height:1.55}.rack-caption b{color:#73582c;font-size:11px}.warning .rack{background:linear-gradient(150deg,#d2ae7e,#c59265);border-color:#f7d99e}.warning .rack-caption{color:#86512c}
.ice-slot{border-color:#9db9be!important;color:#4a8590!important;box-shadow:inset 0 2px 4px #8baeb24d!important}.held-slot{color:#9b713d!important;background:#f5e7c9!important}.game-meta{font-size:11px;font-weight:600;color:#4c6444;text-shadow:none}.zoom-button{background:#fff8e9ed;border:1px solid #efe3cb;box-shadow:0 2px 0 #c1b18a45;color:#60774e;width:36px;height:30px;border-radius:11px}
.game-tools{padding-top:11px;border-top:1px solid #b4b99366;gap:10px}.tool-button{width:62px;height:62px;background:linear-gradient(145deg,#fffbed,#eee6cd);border:2px solid #fffdf4;box-shadow:inset 0 -3px #dac8a4,0 3px 0 #9b986d55;border-radius:21px;display:grid;place-items:center;padding:12px;color:#62805a}.tool-button .rule-icon{width:32px;height:32px;stroke-width:1.9;filter:drop-shadow(0 1px #fff)}
.tool-button b{min-width:23px;height:23px;line-height:20px;border:2px solid #fffaf0;background:#e9c27d;color:#6c5028;font-size:11px;font-weight:750;box-shadow:0 1px 0 #9d7f4e44}.tool-item>span{color:#465e3e;font-size:11px;font-weight:650;text-shadow:none}.game-settings{width:39px;height:39px;padding:7px;margin:0 0 19px}
.tutorial-callout{z-index:3;font-size:12px;color:#496744;background:#fffaf0f7;border:1px solid #ebdfc5;box-shadow:0 3px 0 #b5aa7a38;border-radius:18px;padding:12px 15px;line-height:1.65}.tutorial-callout>span{color:#c89642;filter:saturate(.6)}
.masked-face{background:linear-gradient(140deg,#e8efd9,#d2e0bd);color:#6c8b56}.mask-question{background:linear-gradient(#faefd7,#edd8b3);color:#967447}.mask-cloud{background:linear-gradient(#edf1eb,#ccdde0);color:#6e949b}.piece-badge{right:1px;bottom:3px;border-color:#fffcf0;box-shadow:0 1px 2px #5c502c32}.rack-tile .piece-badge{right:0;bottom:1px}
.belt-track{background:repeating-linear-gradient(90deg,#b8c7a2 0,#b8c7a2 13px,#93ad85 14px,#93ad85 16px);border:1px solid #a2b38e;padding:4px;gap:5px;height:clamp(39px,13vw,59px)}.belt-track .belt-tile{padding:1px 1px 5px;height:100%;filter:none}.conveyor-lane{background:#fffbede8;border:1px solid #fff9e7;box-shadow:0 3px 0 #b0a77d4d}.lane-heading{font-size:12px;color:#526f49}.lane-heading small{font-size:10px;color:#677b5d}

/* Illustrated village postcards and a single continuous walking path. */
.habitat-grid{gap:17px 13px}.habitat-card{border:1px solid #fffaf0;padding:5px 5px 13px;background:#fff9edf7;border-radius:22px;box-shadow:0 3px 0 #bdb09138;text-align:left}.habitat-picture{border-radius:17px;aspect-ratio:1.13;margin-bottom:12px}.habitat-picture>span{background:#fff6e4ed;color:#6f653f;font-size:10px;box-shadow:0 1px 3px #68572d1f}.habitat-picture .habitat-friend{width:61px;height:61px;right:3px;bottom:0}.habitat-card>strong{font-size:14px;color:#3d5b3e;display:block;margin:0 6px 5px;letter-spacing:-.6px}.habitat-card>small{font-size:11px;color:#64775a;margin:0 6px}.habitat-progress{margin:10px 6px 0;background:#dbe3cc;height:4px}.habitat-progress>i{background:#829c62}
.route-screen:before{background:linear-gradient(#fff9eacf,#fff9ea62 23%,#fff9ea30 70%,#fff9eaba)}.route-screen .page-header{margin-bottom:12px}.route-screen .page-scroll{padding:0;position:relative;border-radius:23px;mask-image:linear-gradient(transparent,#000 2%,#000 96%,transparent)}
.route-summary{position:relative;margin:0 0 10px;padding:14px 15px;border-radius:22px;background:#fff9e8e8;border:1px solid #fffdf4;box-shadow:0 3px 0 #b1aa7e2e;gap:0;min-height:98px;overflow:hidden}.route-summary>div{position:relative;z-index:1}.route-summary .eyebrow{font-size:9px;display:block;color:#947d4f;letter-spacing:1.3px;margin-bottom:5px}.route-summary strong{display:block;font-size:22px;letter-spacing:-1px;color:#405c3e;font-weight:800}.route-summary small{color:#627657;font-size:11px;margin-top:6px}.route-summary>img{width:94px;height:94px;position:absolute;right:40px;bottom:-13px;transform:rotate(9deg);opacity:.96;filter:drop-shadow(0 3px 2px #7a74441f)}.route-chapter{margin-left:auto;font-size:25px;color:#8e784b;align-self:flex-start;position:relative;font-weight:800}.route-chapter small{font-size:11px;color:#7f8666;font-weight:600}
.route-map{display:block;height:var(--route-height,1260px);min-height:var(--route-height,1260px);padding:0;position:relative;overflow:hidden;margin:0 0 5px}.route-map .route-trail{position:absolute;left:0;top:0;height:1260px;width:100%;inset:auto;overflow:visible}.route-map .route-trail path{stroke-dasharray:none;opacity:1;stroke-linecap:round;fill:none}.route-map .route-trail .trail-shadow{stroke:#a38b5b66;stroke-width:49}.route-map .route-trail .trail-surface{stroke:#f5e6bce8;stroke-width:41;stroke-dasharray:1 2}
.route-map .route-node,.route-map .route-node:nth-of-type(n){position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:104px;min-height:97px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:transparent;border:0;box-shadow:none;z-index:2;gap:6px;color:#5c7049}
.route-map .route-number{position:relative;width:78px;height:78px;border-radius:50%;border:3px solid #fff6db;background:radial-gradient(at 40% 28%,#fff9e4,#e4ce9e);box-shadow:inset 0 2px #fffdf0,0 5px 0 #9a845d,0 9px 14px #6b684b35;display:grid;place-items:center;transition:transform .15s}.route-map .route-number>img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 1px #fff);margin-top:-5px}.route-map .route-number>b{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);min-width:35px;height:25px;line-height:23px;padding:0 7px;font-size:12px;font-weight:800;background:#fff8e4;color:#6b633b;border:1px solid #e4ce9c;border-radius:9px;box-shadow:0 2px 0 #a698644f}
.route-map .route-node:active .route-number{transform:translateY(3px)}.route-map .route-node.completed .route-number{background:radial-gradient(at 40% 28%,#eef4d6,#c7d9a7);border-color:#f9f2ca;box-shadow:inset 0 2px #f6f9e5,0 5px 0 #8f9b69,0 8px 14px #6b684b2b}.route-check{position:absolute;right:-5px;top:-5px;background:#78955d;border:2px solid #fff9df;color:#fff8db;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}.route-check .rule-icon{width:15px;height:15px;stroke-width:2.6}
.route-map .route-node.current .route-number{width:90px;height:90px;border:4px solid #f9d782;box-shadow:inset 0 1px #fffdf4,0 6px 0 #a88648,0 0 0 5px #fff7d4a8,0 10px 18px #8d794b3b}.route-map .route-node.current .route-number>img{width:76px;height:76px}.route-here{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%) rotate(-4deg);white-space:nowrap;background:#fff9e4;color:#7a6334;padding:5px 10px;border-radius:12px;box-shadow:0 2px 0 #c8b58b5c;font-size:11px;font-weight:750}.route-here:after{content:'';position:absolute;bottom:-4px;left:45%;width:8px;height:8px;background:#fff9e4;transform:rotate(45deg)}
.route-map .route-node-label{font-size:10px;font-weight:650;border-radius:8px;padding:4px 8px;color:#5b7046;background:#fff9e6e8;box-shadow:none;margin-top:8px}.route-node-label:empty{display:none}.route-garden{position:absolute;display:flex;align-items:end;gap:0;color:#8ca473;opacity:.85;pointer-events:none;filter:drop-shadow(0 2px #f5e7bc)}.route-garden .rule-icon{width:43px;height:43px;stroke-width:1.2}.route-garden .rule-icon:last-child{color:#c5a35a;width:27px;height:27px}.garden-one{top:245px;left:7%;transform:rotate(-15deg)}.garden-two{top:620px;right:6%;transform:rotate(15deg)}.garden-three{top:1000px;left:7%;transform:rotate(-10deg)}.route-end{position:absolute;left:20%;bottom:10px;color:#94a677;transform:rotate(-18deg)}.route-end>.rule-icon{height:26px;width:26px}
.route-footer{display:flex;gap:12px;align-items:center;margin-top:9px;background:#fff9ecef;border:1px solid #fffdf3;border-radius:18px;padding:11px 12px;box-shadow:0 3px 0 #b9ac8342}.route-footer>div{flex:1;min-width:0}.route-footer small{display:block;color:#6a7759;font-size:11px}.route-footer strong{display:block;margin-top:5px;color:#425c3e;font-size:16px;font-weight:800}.route-go{min-height:44px;padding:10px 14px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px}.route-go>.rule-icon{width:17px;height:17px}.pagination{font-size:12px;color:#5d7051;padding-top:10px}.pagination .pill{width:38px;height:33px;border-radius:11px;font-size:17px}

.learning-welcome{display:flex;align-items:center;position:relative;min-height:147px;margin:0 0 16px;padding:17px 15px;border-radius:22px;background:linear-gradient(125deg,#f4ecd3f5,#eef2dbea);border:1px solid #fffaf0;overflow:hidden}.learning-welcome>div{position:relative;z-index:1}.learning-welcome h2{font-size:21px;font-weight:800;color:#425d3d;margin:6px 0 9px;letter-spacing:-.9px}.learning-welcome p{font-size:12px;line-height:1.75;color:#5f7051;margin:0}.learning-welcome>img{position:absolute;right:-5px;bottom:-10px;width:112px;height:112px;object-fit:contain;transform:rotate(10deg);opacity:.94}.learning-how{display:flex;align-items:center;gap:7px;color:#77633b;font-size:11px;font-weight:750;background:#fff9e7de;padding:8px 10px;border-radius:10px;margin-top:12px}.learning-how>.rule-icon{width:14px;height:14px}
.learning-group{margin-bottom:23px}.learning-heading{display:flex;align-items:center;justify-content:space-between}.learning-heading h2{font-size:16px;color:#405b3e;margin:0;font-weight:800}.learning-heading>span{font-size:10px;color:#617453;background:#e4ebd4;padding:4px 8px;border-radius:9px}.learning-group>p{font-size:11px;line-height:1.6;color:#68785a;margin:6px 0 10px}.lesson-list{gap:9px;padding:0 1px 6px}.lesson-card{padding:13px 12px;border-radius:17px;background:#fff9edec;border:1px solid #fffdf4;box-shadow:0 2px 0 #b4ae8a2b;gap:12px}.lesson-index{width:42px;height:42px;flex-shrink:0;border-radius:14px;background:#e9eed9;color:#7a945e;display:grid;place-items:center}.lesson-index>img{height:42px;width:42px;object-fit:contain}.lesson-index>.rule-icon{height:23px;width:23px}.lesson-card strong{font-size:13px;color:#405c3e;font-weight:750;line-height:1.5}.lesson-card small{font-size:11px;color:#67775a;margin-top:4px;line-height:1.5}.lesson-card>b>.rule-icon{height:17px;width:17px;color:#809366}.lesson-card.learned{background:#f0f3dfef}.lesson-card.learned>b>.rule-icon{color:#64864f;stroke-width:2.5}
.mode-card{background:#fff9edee;border-color:#fffaf0;box-shadow:0 3px 0 #b4b08c30}.mode-card>strong{font-size:14px;color:#425d3e;font-weight:750;line-height:1.4}.mode-card>small{font-size:11px;color:#687756}.mode-friend{width:78px;height:78px;right:2px;bottom:-4px}.mode-intro p{font-size:12px;color:#5a6d4f;line-height:1.8}.encounter-node strong{font-size:12px;color:#526c47}.encounter-node small{font-size:11px;color:#68795a}.encounter-friend{background:#e3ebd2}.encounter-friend img{width:53px;height:53px}
.dialog{background:linear-gradient(150deg,#fffaf0,#f4f4e2);border:2px solid #fffdf4;color:#3e5b3e;box-shadow:0 7px 0 #29412b2b,0 20px 70px #203d2c47}.dialog h2{color:#3d593d;font-size:22px;font-weight:800;line-height:1.35;letter-spacing:-.9px}.dialog p{color:#657254;font-size:13px;line-height:1.85}.dialog-illustration{background:radial-gradient(#f2e1a78a,transparent 70%)}.dialog-illustration img{object-fit:contain}.modal-close{color:#708160}.setting-row{color:#4a6444;font-size:14px;font-weight:650}.dialog-note{font-size:11px;color:#68775a;line-height:1.6}.intro-note{font-size:12px;line-height:1.6;color:#647653;background:#e8efd8}.how-list{color:#5e7051;font-size:13px}.how-list b{color:#45683e}.sound-credit{font-size:11px;color:#667453;line-height:1.65}.credits-button{display:block;color:#6f7b54;text-decoration:underline;text-underline-offset:3px;font-size:11px;margin:8px auto;padding:6px}.credits-list{text-align:left;display:grid;gap:13px;font-size:12px;line-height:1.65;color:#5f6f51;user-select:text}.credits-list strong{display:block;font-size:14px;color:#405b3e}.credits-list code{font-family:inherit;font-size:11px;word-break:break-all;display:block;margin:3px 0;color:#61754e}.credits-list small{font-size:11px;color:#687759}.win-stats{background:#e9eed8}.win-stats small{font-size:11px;color:#687955}.win-stats b{font-size:20px;color:#547345}
.journal-overview{background:#fff9e8e8;border-color:#fffdf2}.journal-overview b{font-size:26px;color:#627c50}.journal-overview small{font-size:11px;color:#60734f}.daily-card{background:linear-gradient(135deg,#fff2cff5,#f1e9cbf5);border-color:#fffaf0;box-shadow:0 3px 0 #bbad7f3b}.daily-card h2{font-size:24px;color:#4e673e;font-weight:800;letter-spacing:-1px}.daily-card p{font-size:12px;color:#6b704b;line-height:1.9}.daily-card>small{font-size:11px;color:#6c7552}.daily-card .eyebrow{font-size:10px;color:#8c713d}.journal-section h2{font-size:17px;color:#465f3d;font-weight:800}.journal-section>p{font-size:12px;color:#687454}.gift-week small{font-size:11px}.gift-week>span{color:#6f7c58;background:#edf0db;border:1px solid #fffaf0}.gift-week .visited{background:#fae8b5;color:#86652e}.journal-section>.secondary{font-size:13px;color:#4e6844}.mission-card{background:#fff9eaed;border-color:#fffaf0;box-shadow:0 2px 0 #b9b18b29}.mission-card strong{color:#496740;font-size:12px;font-weight:700;line-height:1.5}.mission-card small{font-size:11px;color:#6b795c}.mission-card>.pill{font-size:11px;color:#745a2e;background:#efd79f}.mission-card>.pill:disabled{color:#74805f;background:#e6ecd4;opacity:.78}.mission-progress{background:#dbe2ca}.mission-progress i{background:#9eb77c}.shop-row{background:#eef1dd;color:#4b6641}.shop-row small{color:#647656;font-size:11px}.shop-row b{color:#816132;font-size:12px}.animal-card{background:#fff9edeb;border:1px solid #fffaf0;box-shadow:0 2px 0 #b7b18c32}.animal-card img{object-fit:contain;width:88px;height:88px}.animal-card strong{font-size:12px;color:#486340}.animal-card>span{color:#6e7c5c;font-size:10px}

@media(max-width:350px){.screen{padding-left:16px;padding-right:16px}.page-header h1{font-size:18px}.page-header p{font-size:11px}.game-header{gap:5px;margin-bottom:10px}.game-level strong{font-size:18px;max-width:128px}.game-level small,.score small{font-size:10px}.score strong{font-size:24px}.rack{padding:5px;gap:2px}.rack-slot{border-radius:9px}.rack-caption,.rack-caption b{font-size:10px}.tool-button{width:53px;height:53px;border-radius:18px;padding:10px}.tool-button .rule-icon{width:28px;height:28px}.tool-item>span{font-size:10px}.game-tools{gap:6px}.game-settings{width:34px;height:34px}.forest-wallet button{font-size:9px;padding:5px 6px}.wallet-button small{font-size:8px}.home-nav button{font-size:10px}.habitat-card>strong{font-size:12px}.habitat-card>small{font-size:10px}.mode-card>strong{font-size:12px}.mode-card>small{font-size:10px}.learning-welcome{padding:13px;min-height:142px}.learning-welcome h2{font-size:18px}.learning-welcome p{font-size:11px}.learning-welcome>img{width:87px;height:87px;right:-7px;bottom:-5px}.lesson-card strong{font-size:12px}.lesson-card small{font-size:10px}.daily-card h2{font-size:22px}.mission-card{padding:11px 9px}.mission-card strong{font-size:11px}.mission-card>.pill{min-width:62px;font-size:10px}.route-summary strong{font-size:20px}.route-summary>img{width:81px;height:81px;right:34px}.route-footer strong{font-size:14px}.route-go{font-size:12px;padding:9px 11px}.route-map .route-number{width:72px;height:72px}.route-map .route-number>img{width:63px;height:63px}.route-map .route-node.current .route-number{width:83px;height:83px}.route-map .route-node.current .route-number>img{width:71px;height:71px}}
@media(max-height:690px){.game-header{margin-bottom:9px}.game-tools{padding-top:7px}.tool-button{width:54px;height:54px;border-radius:18px;padding:9px}.game-settings{width:34px;height:34px;margin-bottom:16px}.tool-item>span{font-size:10px}.rack{padding:5px}.game-meta{font-size:10px}.progress-label{font-size:11px}.tutorial-callout{font-size:10px;padding:8px 11px}.learning-welcome{min-height:126px;margin-bottom:12px;padding:12px 13px}.learning-welcome h2{font-size:19px}.learning-welcome p{font-size:11px}.learning-welcome>img{width:92px;height:92px}.learning-how{padding:6px 9px;margin-top:8px}.learning-group{margin-bottom:18px}.habitat-picture{aspect-ratio:1.24}.habitat-card>strong{font-size:12px}.habitat-card>small{font-size:10px}.dialog h2{font-size:20px}.dialog p{font-size:12px}.route-summary{min-height:85px;padding:11px 13px;margin-bottom:7px}.route-summary strong{font-size:20px}.route-summary>img{width:85px;height:85px}.route-footer{padding:9px 11px;margin-top:6px}.pagination{padding-top:8px}.home .hero-tile{padding:3px 3px 8px}}
@media(max-height:500px) and (min-width:600px){.game-header{gap:5px}.game-level strong{font-size:16px;max-width:130px}.game-level small,.score small{font-size:9px}.score strong{font-size:23px}.game-tools{padding-top:4px;gap:5px}.tool-button{width:47px;height:47px;padding:8px;border-radius:16px}.tool-button .rule-icon{width:26px;height:26px}.game-settings{width:32px;height:32px}.tool-item>span{font-size:9px}.rack{padding:4px;gap:2px}.rack-caption,.rack-caption b{font-size:9px}.game-meta{font-size:10px}.tutorial-callout{font-size:10px}.route-summary{display:none}.route-footer{padding:7px 10px;min-height:45px}.route-go{min-height:34px;padding:7px 12px;font-size:12px}.route-footer strong{font-size:13px}.route-footer small{font-size:9px}.route-screen .pagination{padding-top:5px}.learning-welcome{display:none}.learning-scroll{display:block}.lesson-list{display:grid;grid-template-columns:1fr 1fr}.learning-group{margin-bottom:17px}.lesson-card{padding:10px}.lesson-index{width:35px;height:35px}.lesson-index>img{width:35px;height:35px}.lesson-card strong{font-size:12px}.lesson-card small{font-size:10px}.habitat-picture{aspect-ratio:1.9}.habitat-card>strong{font-size:12px}.habitat-card>small{font-size:10px}.dialog h2{font-size:18px}.dialog p{font-size:11px}.dialog-note{font-size:10px}.credits-list{font-size:11px;gap:8px}.credits-list strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tile,.route-number{transition:none}.route-here{animation:none}}
.route-footer{flex-shrink:0;min-height:72px}.route-go{width:auto;flex:0 0 auto;max-width:52%}.route-footer>div{flex:1 1 auto;min-width:80px}.route-map .route-trail{inset:30px 0 auto;height:1260px}.play-button>small{font-size:12px;color:#74582e;line-height:1.5}
.route-map .route-node .route-here{font-size:11px;line-height:1.4;font-weight:750;letter-spacing:-.25px}
@media(max-height:500px) and (min-width:600px){.route-footer{min-height:50px}.play-button>small{font-size:10px}}
/* Motion is driven by the base serialized Unity curves in motion.json. */
.rack-tile{animation:none}
.motion-layer{position:fixed;inset:0;z-index:100000;pointer-events:none;overflow:hidden;contain:layout style;isolation:isolate}
.motion-piece{position:absolute;display:flex;align-items:center;justify-content:center;box-sizing:border-box;transform-origin:50% 50%;will-change:transform;pointer-events:none;overflow:hidden;padding:2px}
.motion-piece>img{width:94%;height:94%;object-fit:contain;pointer-events:none}
.motion-piece>.piece-badge{position:absolute;right:1px;bottom:1px}
.motion-piece>.masked-face{width:100%;height:100%;display:grid;place-items:center}
.motion-fragment{box-shadow:none!important;will-change:transform,opacity}
.motion-glow{position:absolute;object-fit:contain;mix-blend-mode:screen;pointer-events:none;filter:sepia(.4) saturate(.8);will-change:transform,opacity}
.tile-fragments{position:absolute;left:0;top:0;pointer-events:none}
.friend-meet{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible;filter:drop-shadow(0 3px 2px #7d795c32)!important;padding:0}
.friend-meet>img{width:96%;height:96%;object-fit:contain}
.friend-halo{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#fff4bdc9, #ffe6ce6b 40%,transparent 72%);mix-blend-mode:screen;z-index:1}
.friend-sparkle{position:absolute;display:grid;place-items:center;pointer-events:none;z-index:4;color:#d2aa59;filter:drop-shadow(0 1px 1px #fff8db)}
.friend-sparkle .rule-icon{width:100%;height:100%;stroke-width:1.5;fill:currentColor;stroke:#fff8e5}
.friend-tone-1{color:#dfa0a1}.friend-tone-2{color:#9fba7d}.friend-meet{z-index:3}
.motion-token{position:absolute;display:grid;place-items:center;pointer-events:none;color:#e0b963;filter:drop-shadow(0 2px 2px #b29a5833);z-index:10;transform:translate(-50%,-50%);will-change:transform,opacity}
.motion-token>.rule-icon{width:100%;height:100%;stroke-width:1.8;fill:#fff6cde6;stroke:currentColor}
.token-seed{color:#7d9f63}.token-spark,.token-star{color:#e0bb56;filter:drop-shadow(0 0 8px #fff5a0)}.token-flower{color:#d59fa4}.token-flower>.rule-icon{fill:#ffe3df}.token-pearl{color:#b9b4bb}.token-pearl>.rule-icon{fill:#fffaf3}.token-postcard,.token-treasure{color:#ba9a63}.token-plane{color:#9ebbad}
.special-prop{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible;z-index:8}
.special-prop>.postcard-prop{width:90%;height:78%}.motion-clock{position:absolute;width:1px;height:1px;pointer-events:none}
.special-prop>.prop-open{position:absolute;inset:3%;width:94%;height:94%;object-fit:contain;transform-origin:50% 92%}
.forest-finale-shade{position:absolute;inset:0;background:radial-gradient(ellipse,#728b7066,#324d5ddd);pointer-events:none;z-index:2}
.tutorial-beacon{position:absolute;inset:1px;border:2px solid #eac36b;border-radius:18%;pointer-events:none;box-shadow:0 0 0 3px #fff5cc88;animation:friend-guide 1.4s ease-in-out infinite}
@keyframes friend-guide{50%{opacity:.45;box-shadow:0 0 0 5px #fff5cc44}}
.game-coins{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:9px;background:#fff1c9c9;color:#90703c;font-size:11px;font-weight:750;white-space:nowrap}
.feature-emblem{display:inline-grid;place-items:center;vertical-align:middle;width:22px;height:22px;margin-right:4px;color:#89a26a}.feature-emblem>.rule-icon{width:21px;height:21px;fill:#e5edcb77}.feature-emblem[data-seed-stage]{color:#78965c}.token-droplet{color:#95c5cf}.token-droplet>.rule-icon{fill:#e1f7f8}.token-paw{color:#f5d28a}.token-paw>.rule-icon{fill:#fff0be;stroke:#fff8e5}
.win-gift{margin:10px auto;padding:9px 14px;border-radius:15px;background:#fff0cbdc;border:1px solid #fffbeb;color:#8c703a;font-size:13px;font-weight:750;animation:gift-arrive .4s ease-out}
@keyframes gift-arrive{from{transform:translateY(6px) scale(.94);opacity:0}to{transform:none;opacity:1}}
.motion-piece[data-motion="fly"],.motion-piece[data-motion="undo"],.motion-piece[data-motion="shuffle"]{z-index:30}
.match-message{color:#5d794a;text-shadow:0 2px 0 #fff6dc;font-weight:800;letter-spacing:-.6px}
.hint-friend{overflow:visible;filter:drop-shadow(0 3px 7px #e7ca8d99)!important}.hint-friend:after{content:'';position:absolute;left:42%;bottom:-17px;width:16%;height:23px;border-radius:50%;background:linear-gradient(#f3dfaa88,transparent);filter:blur(3px);z-index:-1}
@media(prefers-reduced-motion:reduce){.tutorial-beacon{animation:none}.friend-sparkle,.motion-token{will-change:auto}}
/* Portrait spacing follows the base tall tile, never enlarging the head to fill it. */
.tile,.rack-tile,.motion-piece{--portrait-size:76%}
.tile,.rack-tile{isolation:isolate;background:linear-gradient(145deg,#fffefb,#fffaf0 76%,#f0e5d2)!important;border-radius:16%;border:1px solid #fffdf6;box-shadow:inset 0 2px 1px #fff,inset 0 -4px 0 #dfd0b6,0 3px 0 #9e927a;padding:0}
.tile>img.friend-face,.rack-tile>img.friend-face,.motion-piece>img.friend-face{position:absolute;left:12%;top:8%;width:var(--portrait-size);height:var(--portrait-size);object-fit:contain;z-index:2;filter:drop-shadow(0 1px 0 #fff9)}
.friend-color{position:absolute;left:10%;top:10%;width:80%;height:74%;border-radius:46% 46% 42% 42%;background:radial-gradient(ellipse at 50% 42%,#fff9 10%,var(--friend-fill) 75%);box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--friend-ink) 15%,transparent);z-index:1;pointer-events:none}
.tile.covered{filter:brightness(.79) saturate(.82) drop-shadow(0 2px 1px #76634738)}
.rack-tile{box-shadow:inset 0 -3px #dfd0b6,0 2px 0 #9e927a}
.tutorial-board .tile,.belt-track .belt-tile{padding:0}
.motion-piece{padding:0;isolation:isolate}
.friend-meet{z-index:5;isolation:auto;overflow:visible}
.friend-meet>img.friend-face{left:2%;top:2%;width:96%;height:96%}
.friend-heart-seal{position:absolute;display:grid;place-items:center;z-index:2;pointer-events:none;color:#dd91a0;filter:drop-shadow(0 0 8px #fff3dba8)}
.friend-heart-seal .rule-icon{width:100%;height:100%;fill:#fff4e957;stroke:currentColor;stroke-width:.8}
.friend-ring{position:absolute;border:1.5px solid #f0cba3;border-radius:50%;box-shadow:0 0 8px #fff8df,inset 0 0 9px #fff5da;z-index:2;pointer-events:none}
.friend-mote{position:absolute;background:#fffbed;box-shadow:0 0 5px #e9b65e;border-radius:50%;z-index:6;pointer-events:none}
.friend-sparkle{z-index:6}
.friend-tone-0{color:#85aa96}.friend-tone-1{color:#d38c9c}.friend-tone-2{color:#d6af63}
.match-message{left:50%;width:max-content;max-width:90%;padding:6px 12px;border:1px solid #fff9;border-radius:20px;background:#fffdf0e8;color:#5c7557;font-size:12px;line-height:1.4;box-shadow:0 2px 9px #5f70401a;text-shadow:none;z-index:510;transform:translateX(-50%)}
.match-message.show{animation:friend-caption 1s ease-out forwards}
@keyframes friend-caption{0%{opacity:0;transform:translate(-50%,6px)}20%,65%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-7px)}}
@media(prefers-reduced-motion:reduce){.match-message.show{animation:none;opacity:0}}
/* Final interaction polish: quiet surfaces, clear actions and comfortable touch targets. */
button:focus-visible{outline:3px solid #69895a;outline-offset:3px}
.home.screen{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;gap:0}
.home-top,.home-title,.home-bottom{flex-shrink:0}
.home-title{margin-top:clamp(12px,3.5vh,32px)}
.home .animal-parade{flex:1 0 135px;min-height:135px;max-height:none;height:auto;margin:8px 0 20px}
.home .hero-tile{width:104px;height:114px}.home .hero-1{width:118px;height:128px}
.home-bottom{margin-top:0}
.destination{padding:12px 14px;gap:11px;margin:0 0 13px;min-height:70px;border-radius:18px}
.destination>div{min-width:0;flex:1}.destination strong{font-size:14px;line-height:1.5}.destination small{font-size:12px;margin-top:3px}
.destination-stamp{border:0;background:#edf1dc;transform:none;border-radius:50%;width:36px;height:36px;padding:8px;flex-shrink:0;color:#7e936c}
.destination-stamp>.rule-icon{width:100%;height:100%}
.play-button{min-height:74px;gap:6px}.play-button>span{display:flex;align-items:center;justify-content:center;gap:10px;font-size:21px;line-height:1.35}.play-button>span>.rule-icon{width:21px;height:21px}.play-button>small{font-size:12px}
.forest-wallet{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.forest-wallet button{min-height:50px;padding:8px 7px;font-size:12px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.35}
.forest-wallet button>.rule-icon{width:19px;height:19px;flex-shrink:0}
.forest-wallet .wallet-button{flex-direction:column;gap:2px}.wallet-button>span{display:flex;align-items:center;gap:4px;font-size:13px}.wallet-button>span>.rule-icon{width:17px;height:17px}.wallet-button small{font-size:10px}
.home-nav{gap:9px;margin-top:13px}.home-nav button{min-height:76px;border-radius:18px;gap:7px;font-size:12px}
.home-note{font-size:11px!important;line-height:1.5;margin-top:12px!important;color:#536b49}
.close-game,.icon-button,.game-settings,.pagination .pill{min-width:44px;min-height:44px}
.close-game{width:44px;height:44px}.home-header-tools .icon-button{width:40px;height:40px;min-width:40px;min-height:40px}
.game-header .icon-button[data-action=pause] .rule-icon{width:20px;height:20px;fill:currentColor;stroke:none}
.game-level{min-width:0}.game-level strong{line-height:1.35;overflow-wrap:anywhere}.score{flex-shrink:0}.game-header>.close-game{margin-left:2px;flex-shrink:0}
.progress-label{gap:12px;line-height:1.5;min-height:18px}.progress-label>span{min-width:0}.progress-label>b{flex-shrink:0}
.game-meta{font-size:11px;gap:5px;margin:0 0 10px}.game-meta>span{white-space:nowrap}.game-meta>div{gap:4px}.zoom-button{width:44px;height:40px;line-height:36px;font-size:21px;border:1px solid #fff9;background:#fffbefdd;color:#516b44}.zoom-button:disabled{opacity:.4}
.game-tools{justify-content:space-between;gap:8px}.tool-item{flex:1;min-width:0;gap:7px}.tool-item>span{font-size:11px;white-space:nowrap}.settings-tool{align-self:stretch;justify-content:flex-end}.settings-tool .game-settings{width:48px;height:48px;margin:0 0 9px;align-self:center}
.text-button{min-height:44px}.modal-close{width:44px;height:44px;right:7px;top:5px}.dialog{padding-top:25px}.dialog .secondary{min-height:48px}.help-entry{display:flex;align-items:center;justify-content:center;gap:8px}.help-entry>.rule-icon{width:20px;height:20px}
.help-emblem{display:grid;place-items:center;width:52px;height:52px;margin:3px auto;color:#769766;background:#eaf0dc;border-radius:18px}.help-emblem>.rule-icon{width:30px;height:30px}
.current-rule{text-align:left;padding:14px;border-radius:15px;background:#eaf0dce8;margin:16px 0}.current-rule>strong{font-size:14px;color:#405e38}.dialog .current-rule>p{font-size:12px;line-height:1.7;margin:6px 0 0;color:#506848}
.play-help{padding-left:22px;text-align:left;font-size:12px;line-height:1.8;color:#526b47}.play-help>li{margin-bottom:5px;padding-left:2px}
.tool-help{display:grid;gap:12px;text-align:left;border-top:1px solid #dce4ce;padding-top:14px;margin-top:14px}.tool-help>div{display:flex;gap:10px;align-items:center}.tool-help .rule-icon{width:26px;height:26px;flex-shrink:0;color:#789267}.tool-help strong{font-size:13px;display:block}.tool-help small{font-size:11px;color:#637757;line-height:1.6;display:block;margin-top:2px}.dialog .tool-cost-note{font-size:11px;line-height:1.65;text-align:left;margin:15px 0 10px;color:#687652}
.shop-row{display:flex;gap:9px;align-items:center;text-align:left;min-height:86px;padding:12px 10px}.shop-row>.rule-icon{width:25px;height:25px;flex-shrink:0;color:#749363}.shop-row>span{flex:1;min-width:0}.shop-row small{font-size:11px;line-height:1.5;margin-top:3px}.shop-row>b{white-space:nowrap;font-size:11px}
.page-header>div{min-width:0}.page-header h1{line-height:1.35}.page-header p{line-height:1.5}.page-scroll{scroll-padding:14px 0 28px}.page-header>.close-game{margin-left:auto;flex-shrink:0}
@media(max-width:350px){.home-header-tools{gap:4px}.home .wordmark{font-size:10px}.wordmark span{font-size:10px;padding-left:5px;margin-left:5px}.forest-wallet{gap:6px}.forest-wallet button{font-size:11px;padding:7px 4px}.forest-wallet button>.rule-icon{width:16px;height:16px}.destination strong{font-size:13px}.destination small{font-size:11px}.destination-stamp{display:none}.play-button>span{font-size:19px}.play-button>small{font-size:11px}.home-nav{gap:7px}.home-nav button{font-size:11px}.game-header{gap:5px}.game-level strong{font-size:17px}.score strong{font-size:23px}.game-level small{font-size:9px}.tool-item>span{font-size:10px}.game-meta{font-size:10px}.zoom-button{width:40px;height:36px;line-height:32px}.settings-tool .game-settings{margin-bottom:4px}.shop-row{gap:7px;padding:10px 8px}.shop-row>.rule-icon{width:21px;height:21px}}
@media(max-height:700px){.home-title{margin-top:12px}.home .forest-logo{padding-bottom:10px}.home .forest-logo>strong{font-size:33px}.home .forest-logo>strong>span{font-size:39px}.home .forest-logo>small{font-size:10px}.home .animal-parade{flex-basis:96px;min-height:96px;margin:3px 0 12px}.home .hero-tile{width:72px;height:80px}.home .hero-1{width:82px;height:90px}.home .destination{min-height:61px;padding:9px 11px;margin-bottom:11px}.home .play-button{min-height:66px;padding:10px 12px}.home .forest-wallet{margin-top:11px}.home .forest-wallet button{min-height:44px}.home .home-nav{margin-top:11px}.home .home-nav button{min-height:64px;gap:5px}.home .home-note{margin-top:9px!important;font-size:10px!important}.game-meta{margin-bottom:6px}.zoom-button{height:36px;line-height:32px}.game-tools{padding-top:7px}.settings-tool .game-settings{margin-bottom:3px}}
@media(max-height:500px) and (min-width:600px){.home.screen{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-content:start}.home-top{grid-column:1/-1}.home .home-title{grid-column:1;margin-top:4px}.home .animal-parade{grid-column:1;grid-row:3;margin:0;min-height:100px}.home .home-bottom{grid-column:2;grid-row:2/4}.home .destination{display:none}.home .forest-wallet{margin-top:9px}.home .home-nav{margin-top:9px}.home .home-nav button{min-height:61px}.home .home-note{margin-top:7px!important}.game-meta{margin-bottom:4px}.zoom-button{height:30px;min-height:30px;line-height:26px}.game-header{margin-bottom:5px}.settings-tool .game-settings{width:44px;height:44px;margin:0}.tool-item>span{font-size:9px}.game-tools{padding-top:4px}.tool-item{gap:4px}}
.home-header-tools .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}
.home-note{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;background:#fffaf0e8;border-radius:16px;padding:4px 10px}
@media(max-height:600px) and (max-width:599px){.home-title{margin-top:5px}.home-title>.eyebrow{display:none}.home .forest-logo{padding-bottom:6px}.home .brand-paws{margin:0;font-size:9px;height:13px;line-height:13px}.home .forest-logo>strong{font-size:28px;line-height:1.04}.home .forest-logo>strong>span{font-size:33px;line-height:1.04;margin-bottom:5px}.home .forest-logo>small{font-size:9px;padding:3px 8px}.home .animal-parade{flex-basis:74px;min-height:74px;margin:3px 0 8px}.home .hero-tile{width:62px;height:70px}.home .hero-1{width:70px;height:78px}.home .destination{min-height:54px;padding:8px 10px;margin-bottom:8px}.home .destination-pet{width:33px;height:33px}.home .destination strong{font-size:12px}.home .destination small{font-size:10px;line-height:1.4}.home .play-button{min-height:60px;padding:8px 10px;gap:3px}.home .play-button>span{font-size:18px;line-height:1.2}.home .play-button>small{font-size:10px;line-height:1.4}.home .forest-wallet{margin-top:9px}.home .forest-wallet button{min-height:44px;padding:6px 4px;font-size:11px}.home .wallet-button>span{font-size:12px}.home .wallet-button small{font-size:9px}.home .home-nav{margin-top:9px}.home .home-nav button{min-height:58px;font-size:11px;gap:3px}.home .home-nav .nav-symbol{height:25px;line-height:25px}.home .home-nav .nav-symbol>.rule-icon{width:24px;height:24px}.home .home-nav .nav-animal{height:25px}.home .home-nav .nav-animal img{height:25px;width:30px}.home .home-note{display:none}}
/* A single main journey. No wallet, shops, gifts, event grid or overflow menu in the lobby. */
.focused-lobby .home-top{justify-content:flex-end}
.focused-lobby .home-title{margin-top:clamp(15px,5vh,52px)}
.focused-lobby .animal-parade{margin:16px 0 28px;flex-basis:150px;min-height:140px}
.focused-lobby .home-bottom{padding:16px 14px 14px;background:#fff9ed;border:1px solid #fffdf6;border-radius:26px;box-shadow:0 8px 24px #425a3c24;isolation:isolate}
.lobby-progress{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 9px;text-align:center;margin:0 0 12px;color:#344b31;font-size:13px;font-weight:650;line-height:1.6;text-shadow:none}
.lobby-mode{background:#e5eddc;color:#395332;padding:3px 9px;border-radius:8px;font-size:11px;font-weight:800;white-space:nowrap}
.lobby-progress strong{font-size:14px;font-weight:800}.lobby-progress small{font-size:12px;color:#53634c}
.focused-lobby .play-button{min-height:80px;border-radius:22px}
.focused-lobby .quiet-nav{display:flex;justify-content:center;gap:8px;margin-top:12px}
.focused-lobby .quiet-nav>button{flex:1;min-height:46px;border:1px solid #d5dec9;border-radius:13px;box-shadow:none;background:#edf1e5;font-size:13px;font-weight:800;color:#344b31;text-shadow:none;padding:10px 8px;display:block}
.focused-lobby .play-button>small{color:#655027;opacity:1}
.legacy-save{margin:18px 0 10px;padding:14px;border:1px solid #dae1ce;border-radius:15px;background:#f0f3e9;text-align:left}.legacy-save>strong{font-size:12px;color:#40583b}.dialog .legacy-save>p{font-size:11px;line-height:1.7;margin:6px 0 10px;color:#55644d}.legacy-save>.secondary{font-size:12px;min-height:44px;margin:0}
.dialog .discard-exit{background:#f7eee4;border-color:#e5d3bf;border-bottom-color:#c7ac91;color:#805339;min-height:48px}
.exit-discard-note{display:block;color:#62634f;font-size:11px;line-height:1.7;margin:10px 0 7px}.dialog .discard-exit+.exit-discard-note+.text-button{min-height:44px}
.route-map .route-node.locked{opacity:1;cursor:default;color:#687260}.route-map .route-node.locked .route-number{background:#e6e8dc;border-color:#f8f5e8;box-shadow:inset 0 2px #fffaf0,0 4px 0 #a7ad97,0 6px 10px #63714c21}.route-map .route-node.locked .route-number>b{color:#5e6855;background:#f1f1e6;border-color:#c9cebb;box-shadow:0 2px #a7ad9740}.route-lock{display:grid;place-items:center;color:#7c886e}.route-lock>.rule-icon{width:30px;height:30px;stroke-width:1.6}.route-map .route-node.locked .route-node-label{color:#606c56;background:#f1f2e8}.route-map .route-node.locked:active .route-number{transform:none}
.habitat-card.locked{opacity:1;cursor:default;background:#f1f1e7;border-color:#f8f6eb}.habitat-card.locked .habitat-picture>img{filter:saturate(.25)}.habitat-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f2f2e3dc;color:#455b40}.habitat-lock>.rule-icon{width:30px;height:30px}.habitat-lock>b{padding:4px 7px;border-radius:8px;background:#fffaf0;font-size:10px;font-weight:750;text-align:center}.habitat-card.locked>strong{color:#626e57}.habitat-card.locked .habitat-picture>span{z-index:1}
.animal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.animal-card{min-width:0}.animal-card.locked{background:#f0f0e5;border-color:#f9f7ed;box-shadow:0 2px #b7bd9e28}.unknown-friend{height:88px;width:88px;max-width:100%;margin:auto;display:grid;place-items:center;background:#e5e8d9;border:1px solid #d8dfc9;border-radius:28px;color:#82916f}.unknown-friend>.rule-icon{width:33px;height:33px;stroke-width:1.5}.animal-card.locked strong{color:#657257;font-size:11px}
.discovery-notices{position:fixed;z-index:100001;transform:translateX(-50%);pointer-events:none;user-select:none;isolation:isolate}.discovery-notices *{pointer-events:none!important}.discovery-banner{position:relative;display:flex;align-items:center;gap:9px;min-height:56px;padding:7px 12px 7px 8px;border:1px solid #e5d4a8;border-radius:18px;background:#fffaf0;box-shadow:0 4px 0 #ac9d6c33,0 7px 18px #51644326;animation:discovery-arrive var(--discovery-duration) ease-out both}.discovery-avatar{position:relative;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#f2e9d0;display:grid;place-items:center;animation:discovery-wave .48s .12s ease-out both}.discovery-avatar>img{width:39px;height:39px;object-fit:contain}.discovery-stamp{position:absolute;right:-3px;bottom:-1px;border:1px solid #fffaf0;border-radius:6px;background:#7f9b66;color:#fffaf0;width:19px;height:17px;display:grid;place-items:center}.discovery-stamp>.rule-icon{width:12px;height:12px;stroke-width:1.6}.discovery-copy{min-width:0;text-align:left;line-height:1.25}.discovery-copy>small{display:block;font-size:9px;font-weight:650;color:#857142}.discovery-copy>strong{display:block;color:#3b5738;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 2px}.discovery-copy>span{display:block;color:#5b6d4f;font-size:11px;font-weight:650;white-space:nowrap}.discovery-heart{position:absolute;right:10px;top:9px;display:grid;color:#d7a298;animation:discovery-heart .65s .12s ease-out both}.discovery-heart>.rule-icon{width:12px;height:12px;fill:#f2d5ce;stroke-width:1.2}
@keyframes discovery-arrive{0%{opacity:0;transform:translateY(-7px) scale(.97)}13%{opacity:1;transform:translateY(0) scale(1.015)}23%,84%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-3px) scale(.99)}}@keyframes discovery-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg)}65%{transform:rotate(4deg)}}@keyframes discovery-heart{0%{opacity:0;transform:translateY(3px) scale(.6)}45%{opacity:1;transform:translateY(-2px) scale(1.15)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:350px){.discovery-banner{gap:7px;min-height:54px;padding:6px 8px;border-radius:15px}.discovery-avatar{flex-basis:36px;width:36px;height:38px;border-radius:12px}.discovery-avatar>img{width:34px;height:34px}.discovery-copy>strong{font-size:12px}.discovery-copy>span{font-size:10px}.discovery-copy>small{font-size:8px}.discovery-heart{right:7px;top:7px}.discovery-heart>.rule-icon{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.discovery-banner,.discovery-avatar,.discovery-heart{animation:none}}
.journey-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-stats b{font-size:25px}.journey-stats small{font-size:11px}
.reward-tool{width:72px;height:72px;border-radius:24px;margin:8px auto 15px;display:grid;place-items:center;background:#e9efda;color:#6d8c59}.reward-tool>.rule-icon{width:39px;height:39px}
.reward-notice{border-radius:14px;background:#eef1e2;color:#5b7050;padding:13px;font-size:12px;line-height:1.7;margin:15px 0}
@media(max-height:700px){.focused-lobby .home-title{margin-top:15px}.focused-lobby .animal-parade{flex-basis:105px;min-height:100px;margin:9px 0 20px}.focused-lobby .home-bottom{padding:12px}.focused-lobby .play-button{min-height:74px}.focused-lobby .quiet-nav{margin-top:10px}}
@media(max-height:600px) and (max-width:599px){.focused-lobby .home-title{margin-top:8px}.focused-lobby .animal-parade{flex-basis:90px;min-height:90px;margin:5px 0 16px}.focused-lobby .play-button{min-height:68px}.focused-lobby .lobby-progress{margin-bottom:9px;font-size:12px}.focused-lobby .quiet-nav{margin-top:10px}.focused-lobby .home-bottom{padding:10px}.focused-lobby .quiet-nav>button{font-size:12px}}
@media(max-height:500px) and (min-width:600px){.focused-lobby .home-title{margin-top:7px}.focused-lobby .animal-parade{margin:0;min-height:100px}.focused-lobby .home-bottom{align-self:center;padding:12px}.focused-lobby .lobby-progress{margin-bottom:10px}.focused-lobby .quiet-nav{margin-top:10px}.focused-lobby .play-button{min-height:72px}}

/* Lobby title only; the subtitle stays in the formal app name. */
.focused-lobby .forest-logo>strong{font-size:clamp(32px,9vw,44px);line-height:1.12;letter-spacing:-1.8px;white-space:nowrap}
.focused-lobby .forest-logo>strong>span{font-size:clamp(46px,12vw,60px);line-height:1.12;letter-spacing:-2.5px;margin:2px 0 12px}
.dialog .settings-game-name{font-weight:700;color:#526447;word-break:keep-all}
@media(max-height:700px){.focused-lobby .forest-logo>strong{font-size:32px}.focused-lobby .forest-logo>strong>span{font-size:44px;margin-bottom:9px}}
@media(max-height:600px) and (max-width:599px){.focused-lobby .forest-logo>strong{font-size:28px}.focused-lobby .forest-logo>strong>span{font-size:38px;margin-bottom:7px}}
@media(max-height:500px) and (min-width:600px){.focused-lobby .forest-logo>strong{font-size:28px}.focused-lobby .forest-logo>strong>span{font-size:38px;margin-bottom:6px}}

/* One portrait composition measured against viewport height, with readable touch targets. */
.home.screen.focused-lobby{--lobby-safe-top:max(16px,var(--safe-top,env(safe-area-inset-top)));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px minmax(min-content,1fr);gap:0;align-content:stretch}
.focused-lobby>.home-top{grid-column:1;grid-row:1;width:100%;height:44px;min-height:44px;align-self:start;position:relative;z-index:4}
.focused-lobby>.lobby-content{grid-column:1;grid-row:2;justify-self:center;align-self:start;position:relative;top:auto;display:flex;flex-direction:column;width:min(100%,420px);min-width:0;gap:0;margin-top:max(10px,calc(13dvh - 44px - var(--lobby-safe-top)));padding:0 0 16px}
.focused-lobby .lobby-content>.home-title{flex:0 0 auto;height:max(132px,23.25dvh);min-height:132px;display:flex;align-items:center;justify-content:center;margin:0;grid-column:auto;grid-row:auto}
.focused-lobby .illustrated-logo{width:min(100%,38.75dvh,340px);padding:0;margin:0 auto;aspect-ratio:1080/648}
.illustrated-logo>.forest-logo-art{display:block;width:100%;height:auto;aspect-ratio:1080/648;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.focused-lobby .lobby-content>.animal-parade{flex:0 0 auto;width:100%;height:max(100px,17.6dvh);min-height:100px;max-height:none;margin:2.1dvh 0 -1.75dvh;position:relative;z-index:2;grid-column:auto;grid-row:auto}
.focused-lobby .hero-tile{width:clamp(62px,10.92dvh,114px);height:clamp(70px,12.32dvh,126px)}
.focused-lobby .hero-1{width:clamp(70px,12.32dvh,130px);height:clamp(78px,13.73dvh,146px)}
.focused-lobby .lobby-content>.home-bottom{--play-bottom-space:clamp(12px,2.1dvh,24px);--play-anchor-height:clamp(66px,11.6dvh,124px);--play-control-height:clamp(66px,8.5dvh,80px);width:100%;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;isolation:auto;position:relative;z-index:1;grid-column:auto;grid-row:auto}
.focused-lobby .play-panel{display:flex;flex-direction:column;justify-content:flex-end;position:relative;gap:clamp(8px,1.4dvh,14px);min-height:clamp(134px,23.6dvh,260px);padding:clamp(20px,3.52dvh,36px) clamp(12px,2.1dvh,20px) var(--play-bottom-space);background:none;border:1px solid transparent;border-bottom:3px solid transparent;border-radius:0;box-shadow:none}
.focused-lobby .play-panel>.lobby-progress{position:absolute;left:50%;bottom:calc(var(--play-bottom-space) + (var(--play-anchor-height) + var(--play-control-height))/2 + clamp(8px,1.2dvh,12px));transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);flex:0 0 auto;margin:0;padding:4px 10px;background:#fff9ed;border:1px solid #fffdf6;border-radius:13px;box-shadow:0 2px 5px #425a3c18;font-size:clamp(11px,1.6dvh,14px);gap:4px 8px}
.focused-lobby .lobby-progress strong{font-size:clamp(14px,1.9dvh,18px)}
.focused-lobby .lobby-mode{font-size:clamp(10px,1.5dvh,13px)}
.focused-lobby .lobby-progress small{font-size:clamp(10px,1.4dvh,13px)}
.focused-lobby .play-panel>.play-button-slot{flex:0 0 auto;height:clamp(66px,11.6dvh,124px);min-height:66px;display:flex;align-items:center;justify-content:center}
.focused-lobby .play-panel .play-button{flex:0 1 auto;width:min(100%,336px);height:clamp(66px,8.5dvh,80px);min-height:clamp(66px,8.5dvh,80px);margin:0 auto;padding:8px 12px;gap:4px;border-radius:18px;background:linear-gradient(160deg,#ffd696,#ffc17f 48%,#ffae79);color:#613b28;border-color:#fff5de;border-bottom-color:#ce9565;box-shadow:inset 0 2px 0 #fff3d1,0 0 0 2px #fff8e9,0 4px 0 #bb815bcc,0 8px 16px #83563430;text-shadow:0 1px 0 #fff2d199}
.focused-lobby .play-button>span{font-size:clamp(18px,2.4dvh,22px)}
.focused-lobby .play-button>small{font-size:clamp(10px,1.5dvh,12px);color:#6b422c;opacity:1;text-shadow:none}
.focused-lobby .play-button .play-symbol{width:clamp(18px,2.4dvh,22px);height:clamp(18px,2.4dvh,22px);fill:currentColor;stroke:none;flex-shrink:0}
.focused-lobby .home-bottom>.quiet-nav{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:min(calc(100% - 2 * clamp(12px,2.1dvh,20px) - 2px),336px);min-height:clamp(46px,5.6dvh,52px);margin:calc(clamp(14px,2dvh,20px) - var(--play-bottom-space) - (var(--play-anchor-height) - var(--play-control-height))/2 - 3px) auto 0;gap:12px}
.focused-lobby .quiet-nav>button{width:100%;height:clamp(46px,5.6dvh,52px);min-height:clamp(46px,5.6dvh,52px);justify-self:center;align-self:center;font-size:clamp(12px,1.6dvh,14px);background:#fff9ed;color:#344b31;border:1px solid #819272;border-bottom:3px solid #829474;border-radius:14px;box-shadow:0 0 0 1px #fffdf1,0 3px 0 #526a4659,0 5px 10px #304e3324}
@media(max-height:540px) and (max-width:599px){
 .focused-lobby>.lobby-content{margin-top:8px}
 .focused-lobby .lobby-content>.home-title{height:108px;min-height:108px}
 .focused-lobby .illustrated-logo{width:min(100%,180px)}
 .focused-lobby .lobby-content>.animal-parade{height:84px;min-height:84px;margin:10px 0 -8px}
 .focused-lobby .hero-tile{width:52px;height:58px}.focused-lobby .hero-1{width:60px;height:66px}
 .focused-lobby .lobby-content>.home-bottom{--play-bottom-space:10px;--play-anchor-height:60px;--play-control-height:60px}
 .focused-lobby .play-panel{min-height:124px;padding:16px 10px 10px;gap:8px}
 .focused-lobby .play-panel>.play-button-slot{height:60px;min-height:60px}
 .focused-lobby .play-panel .play-button{height:60px;min-height:60px}
 .focused-lobby .home-bottom>.quiet-nav{width:calc(100% - 22px);min-height:44px}
 .focused-lobby .quiet-nav>button{height:44px;min-height:44px}
}
@media(max-height:500px) and (min-width:600px){
 .home.screen.focused-lobby{grid-template-rows:44px minmax(min-content,1fr)}
 .focused-lobby>.lobby-content{width:100%;max-width:760px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 100px;align-self:center;align-items:center;gap:8px 24px;margin-top:0;padding:8px 0}
 .focused-lobby .illustrated-logo{width:min(100%,210px)}
 .focused-lobby .lobby-content>.home-title{grid-column:1;grid-row:1;display:block;height:auto;min-height:0}
 .focused-lobby .lobby-content>.animal-parade{grid-column:1;grid-row:2;height:100px;min-height:100px;max-height:100px;margin:0}
 .focused-lobby .hero-tile{width:78px;height:86px}.focused-lobby .hero-1{width:86px;height:94px}
 .focused-lobby .lobby-content>.home-bottom{grid-column:2;grid-row:1/3;align-self:center;--play-bottom-space:12px;--play-anchor-height:70px;--play-control-height:70px}
 .focused-lobby .play-panel{min-height:0;padding:14px 12px 12px;gap:8px;justify-content:flex-start}
 .focused-lobby .play-panel>.lobby-progress{position:static;transform:none;width:max-content;align-self:center;font-size:12px}
 .focused-lobby .lobby-progress strong{font-size:14px}.focused-lobby .lobby-mode{font-size:11px}.focused-lobby .lobby-progress small{font-size:11px}
 .focused-lobby .play-panel>.play-button-slot{height:70px;min-height:70px}
 .focused-lobby .play-panel .play-button{height:70px;min-height:70px;width:100%}
 .focused-lobby .play-button>span{font-size:19px}.focused-lobby .play-button>small{font-size:11px}
 .focused-lobby .home-bottom>.quiet-nav{width:calc(100% - 26px);min-height:46px;margin-top:1px}
 .focused-lobby .quiet-nav>button{width:100%;height:46px;min-height:46px;font-size:13px}
}

/* Painted controls share the same materials as the animal tiles. */
.icon-button.art-control,.close-game.art-control,.game-settings.art-control,.modal-close.art-control{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;width:44px;height:44px;min-width:44px;flex-shrink:0}
button>.control-art{display:block;width:100%;height:100%;object-fit:contain;filter:none!important;pointer-events:none;user-select:none;-webkit-user-drag:none}
.art-control:active>.control-art{transform:translateY(2px) scale(.96)}
.modal-close.art-control{top:8px;right:8px}
.game .game-header{min-height:44px;gap:8px;margin-bottom:6px}
.game .game-header .game-level strong{font-size:20px}
.game .game-header .score strong{font-size:25px}
.game .progress-label{margin-bottom:4px}
.game .progress-track{margin-bottom:6px}
.game .board-area{margin:6px -8px 4px;min-height:60px}
.game .game-meta{margin:0 0 6px;min-height:30px;padding:0 7px;background:#fff9edf2;border:1px solid #fffdf6;border-radius:13px}
.game .game-meta .zoom-button{position:relative;width:36px;min-width:36px;height:28px;min-height:28px;padding:0;font-size:20px;line-height:1}
.game .game-meta .zoom-button:after{content:'';position:absolute;inset:-8px -4px}
.game .rack-wrap{margin:0 0 4px;flex-shrink:0}
.game .rack{border-color:#fff4d9;box-shadow:inset 0 2px 4px #9a713c3b,0 3px 0 #9576484d,0 5px 10px #5c553b20}
.game .rack-caption{margin:4px 3px 0;padding:0 6px;background:#fff9edf0;border-radius:7px;font-size:10px}
.game .game-tools{gap:8px;padding:0;border:0;justify-content:space-around}
.game-tools>.tool-item{gap:1px}
.game-tools .tool-button.art-control,.game-tools .game-settings.art-control{width:56px;height:56px;min-width:0;margin:0;padding:0;background:none!important;border:0!important;box-shadow:none!important;border-radius:20px}
.game-tools .tool-button b{right:1px;bottom:1px;min-width:22px;width:22px;height:22px;border:2px solid #fff9e7;background:#f6d48e;color:#644725;box-shadow:0 2px 0 #b8996370}
.game-tools .tool-item>span{font-size:10px;line-height:1.5;color:#344b31;font-weight:750}
.game~.toast{bottom:auto;top:calc(105px + var(--safe-top,0px))}
@media(max-height:690px) and (max-width:599px){
 .game .game-header{margin-bottom:4px}
 .game .board-area{margin:4px -6px 2px}
 .game .game-meta{margin-bottom:3px;min-height:28px;font-size:10px}
 .game .rack-wrap{margin-bottom:4px}
 .game .rack-caption{margin-top:3px;font-size:9px}
 .game-tools .tool-button.art-control,.game-tools .game-settings.art-control{width:50px;height:50px}
 .game-tools .tool-item>span{font-size:9px}
}
@media(max-height:500px) and (min-width:600px){
 .game.screen{grid-template-rows:44px 20px 7px minmax(0,1fr) 28px auto 67px;gap:0 24px}
 .game .game-header{margin:0}
 .game .progress-label,.game .progress-track{margin:0}
 .game .game-header .game-level strong{font-size:16px}
 .game .game-header .score strong{font-size:20px}
 .game .board-area{grid-column:2;grid-row:1/-1;margin:0;min-height:0}
 .game .game-meta{grid-column:1;grid-row:5;margin:0;font-size:9px;min-height:28px}
 .game .rack-wrap{grid-column:1;grid-row:6;margin:0 0 6px}
 .game .rack{padding:5px;min-height:0}
 .game .rack-caption{font-size:8px;margin-top:4px}
 .game .rack-caption b{font-size:9px}
 .game .game-tools{grid-column:1;grid-row:7;margin:0;gap:3px}
 .game-tools .tool-button.art-control,.game-tools .game-settings.art-control{width:48px;height:48px}
 .game-tools .tool-item>span{font-size:8px}
 .game-tools .tool-button b{width:20px;height:20px;min-width:20px;font-size:10px}
}

.platform-links{font-size:11px;margin:6px 0 10px;color:#56724a}.platform-links a{color:inherit;text-underline-offset:3px;padding:6px 3px;display:inline-block}

/* Quiet board controls; the storage bar no longer carries counters or a clock. */
.game .board-controls{position:absolute;right:4px;bottom:5px;display:flex;align-items:center;gap:10px;z-index:40;pointer-events:none}
.game .board-zoom{display:flex;gap:8px;padding:3px 6px;background:#fff9edef;border:1px solid #fffdf6;border-radius:13px;box-shadow:0 2px 7px #596b3420;pointer-events:auto}
.game .board-controls .zoom-button{position:relative;width:36px;min-width:36px;height:28px;min-height:28px;line-height:1;padding:0;font-size:20px;border:0;box-shadow:none;background:transparent}
.game .board-controls .zoom-button:after{content:'';position:absolute;inset:-7px -4px}
.game .board-controls .game-coins{padding:5px 10px;background:#fff9edef;border-radius:12px}
.ad-continue-button small{display:block;margin-top:5px;font-size:11px;line-height:1.4;font-weight:550}
@media(max-height:500px) and (min-width:600px){.game.screen{grid-template-rows:44px 20px 7px minmax(0,1fr) auto 67px}.game .rack-wrap{grid-row:5}.game .game-tools{grid-row:6}}
.game .tutorial-board .board-controls{bottom:60px}

/* The host owns its outer status/navigation insets. Reserve its corner menu once. */
.onestore-native{--native-menu-row:48px;overscroll-behavior:none}
.onestore-native body{overscroll-behavior:none}
.onestore-native #app>.screen{padding-top:max(var(--native-menu-row),env(safe-area-inset-top,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.onestore-native .loading-exit,.onestore-native .modal-exit{top:max(12px,env(safe-area-inset-top,0px))}
.onestore-native .loading-exit{top:calc(var(--native-menu-row) + 8px)}
.onestore-native .modal-backdrop{padding-top:max(60px,env(safe-area-inset-top,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}
.onestore-native .modal-backdrop .dialog{max-height:calc(100dvh - max(60px,env(safe-area-inset-top,0px)) - max(16px,env(safe-area-inset-bottom,0px)))}
