.pet-art{width:1em;height:1em;background-image:url('/static/art/pets-atlas.png');background-size:400% 300%;background-position:var(--pet-x) var(--pet-y);background-repeat:no-repeat;vertical-align:middle}.avatar-small .pet-art{font-size:35px;filter:none;animation:none}.island-icon .pet-art,.island-mascot .pet-art{font-size:72px}.callout .pet-art{font-size:55px}.result-actions .pet-art{font-size:30px}.results>.pet-art{font-size:100px}.pet-card .pet-art{font-size:120px}.top-actions{gap:12px}.music-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cae0da;border-radius:50%;background:#e1f3e8;color:#24785b;cursor:pointer;flex-shrink:0}.music-toggle.muted{background:#f2eee7;color:#8c8070}.nav-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f4f0e5}.nav-item:nth-child(2) .nav-icon{background:#fff0de}.nav-item:nth-child(3) .nav-icon{background:#e5f2ff}.nav-item:nth-child(4) .nav-icon{background:#fff5d8}.nav-item:nth-child(5) .nav-icon{background:#f0eafa}.probe-full-keyboard .probe-target{outline:3px solid #eeaa3a!important;background:#ffe394!important;box-shadow:0 0 0 6px #efb83830!important;color:#583a12!important;animation:guidePulse 1s ease-in-out infinite}.probe-full-keyboard .physical-keyboard{margin:4px}.probe-full-keyboard .keyboard-toolbar button{display:none}@keyframes guidePulse{50%{outline-color:#e87c35;box-shadow:0 0 0 9px #efb83815}}
.adventure-dashboard{max-width:1500px}.map-summary{display:flex;align-items:center;gap:20px;margin:12px 0 24px;flex-wrap:wrap}.map-summary>.btn{margin-left:auto}.map-stat{display:flex;align-items:center;gap:8px;font-size:.86rem}.map-stat strong{font-size:1.3rem}.map-stat.orange{color:#ad703b}.map-stat.teal{color:#278777}.map-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.map-panel{border:1px solid #b7d1c9;border-radius:26px;overflow:hidden;box-shadow:0 12px 30px #29685a0b;background:#e4f2eb}.map-panel-title{display:flex;justify-content:space-between;gap:12px;padding:19px 22px;background:#fbfdf5;font-size:.8rem;font-weight:800;letter-spacing:1px;color:#315e53}.map-panel-title small{font-size:.68rem;font-weight:500;letter-spacing:0;color:#70887b}.treasure-map{aspect-ratio:1;min-height:590px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 55% 10%,#d9efe1 0,transparent 43%),radial-gradient(ellipse at 10% 100%,#e3ead2 0,transparent 42%),repeating-radial-gradient(ellipse at 50% 50%,transparent 0 43px,#ffffff18 45px 47px,transparent 49px 63px),#9ecbd0}.map-route{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.map-island{position:absolute;width:26%;height:19%;padding:0;border:0;background:none;transform:translate(-50%,-50%);cursor:pointer;color:#224d48;transition:filter .2s,transform .2s}.map-island:not(:disabled):hover{transform:translate(-50%,-52%) scale(1.06)}.map-island:focus-visible{outline:3px dashed #eaa840;outline-offset:5px;border-radius:20px}.island-terrain{position:absolute;left:0;top:2%;width:100%;height:86%;filter:drop-shadow(0 5px 2px #22566320)}.island-mascot{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%)}.island-mascot .pet-art{font-size:clamp(46px,5vw,78px);animation:none;filter:drop-shadow(0 3px 2px #2b534420)}.island-number{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);border-radius:20px;background:#fff9dc;padding:2px 9px;min-width:33px;font-size:.85rem;font-weight:900;box-shadow:0 2px 0 #e2c793}.island-map-title{position:absolute;top:79%;left:-8%;width:116%;font-size:clamp(10px,.88vw,13px);line-height:1.18;text-shadow:0 1px #d7eef1}.island-map-progress{position:absolute;top:101%;left:50%;transform:translateX(-50%);font-size:.68rem;color:#416b68;white-space:nowrap}.map-island.unexplored{filter:saturate(.55);opacity:.68;cursor:default}.map-island.unexplored .island-mascot{filter:grayscale(.6);opacity:.7}.island-complete .island-number{background:#fff3a8;color:#8b620f}.island-current .island-terrain{filter:drop-shadow(0 0 10px #fffbe5)}.map-explorer{position:absolute;z-index:5;transform:translate(-50%,-70%);background:#fffaf0;border:3px solid #eda83f;box-shadow:0 3px 9px #326c5b30;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;transition:left 2.4s ease-in-out,top 2.4s ease-in-out;pointer-events:none}.map-explorer .pet-art{font-size:46px;animation:none;filter:none}.map-explorer i{position:absolute;bottom:-16px;font-size:19px;color:#eda83f;font-style:normal}.map-compass{position:absolute;right:5%;bottom:3%;font-size:60px;line-height:1;color:#317e8190}.map-compass small{position:absolute;left:41%;top:-5px;font-size:9px}.map-ocean-label{position:absolute;top:46%;left:33%;font-size:9px;color:#397c8b77;letter-spacing:3px;transform:rotate(-9deg);pointer-events:none}.map-legend{position:absolute;bottom:2%;left:4%;display:grid;gap:3px;font-size:9px;color:#42736f}.map-cloud{position:absolute;z-index:2;width:85px;height:24px;border-radius:50%;background:#ffffff8a;filter:blur(3px);pointer-events:none}.map-cloud:before,.map-cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:45px;height:30px;top:-14px;left:12px}.map-cloud:after{left:40px;width:33px}.cloud-one{top:29%;left:4%}.cloud-two{top:71%;right:1%}.expedition-camp{display:grid;gap:18px}.camp-companion{background:linear-gradient(155deg,#fff8e4,#f2efd5);border:1px solid #e7dfc1;border-radius:24px;padding:24px 16px;text-align:center}.camp-companion>.pet-art{display:block;font-size:155px;margin:16px auto 10px}.camp-companion h2{font-size:1.25rem;margin-bottom:10px}.camp-companion p{font-size:.85rem;line-height:1.5;margin:10px 0 20px;color:#698075}.camp-goal,.camp-tip{border-radius:22px;padding:22px;background:#e8f2e4;border:1px solid #d3e3c9}.camp-tip{background:#fff0d9;border-color:#ebddc1}.camp-goal h3,.camp-tip h3{margin:10px 0;font-size:1rem}.camp-goal p,.camp-tip p{font-size:.8rem;line-height:1.5;color:#6e7b65}.island-modal{width:min(830px,94vw);max-width:830px}.island-dialog-hero{display:flex;align-items:center;gap:20px;padding:5px 0 20px}.island-dialog-hero>.pet-art{font-size:100px;flex-shrink:0}.island-dialog-hero h3{margin:7px 0}.island-dialog-hero p{font-size:.85rem;color:#738879}.island-challenges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.island-challenge{padding:14px 7px 12px;border:1px solid #e2e5d4;border-bottom:4px solid #dadfc8;background:#f7f8ef;border-radius:18px;display:grid;justify-items:center;gap:7px;cursor:pointer;color:#47674e;min-width:0}.island-challenge.ready{background:#eaf7d6;border-color:#a6c674;color:#426630}.island-challenge.passed{background:#fff4d0;border-color:#e5c877;color:#957335}.island-challenge.locked{opacity:.6;cursor:default}.challenge-token{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 3px 0 #0000000a;font-size:23px;font-weight:800}.island-challenge strong{font-size:.74rem;text-align:center}.island-challenge small{font-size:.64rem}.journey-scene{position:relative;height:210px;background:linear-gradient(#d4ebdf,#a5d2d8);border-radius:22px;overflow:hidden;margin:20px 0}.journey-scene>.island-terrain{width:32%;height:150px;top:55px;left:1%}.journey-scene>.island-terrain:last-child{left:auto;right:1%}.journey-trail{position:absolute;left:20%;right:20%;top:130px;border-top:5px dashed #fff9df}.journey-traveller{position:absolute;top:42px;left:5%;animation:travelToIsland 2.4s ease-in-out forwards}.journey-traveller .pet-art{font-size:90px}.journey-title{text-align:center;font-size:1.35rem}.journey-title.arrived{color:#349273}@keyframes travelToIsland{0%{left:5%;transform:translateY(0)}25%{transform:translateY(-20px)}60%{transform:translateY(-8px)}100%{left:74%;transform:translateY(0)}}.lesson-modal{width:min(900px,95vw);max-width:900px}.lesson-video{display:block;width:100%;aspect-ratio:16/9;background:#edf2e7;border-radius:18px}.lesson-note{margin:16px 0;line-height:1.5;font-size:.86rem;color:#647c6c}.start-overlay>[data-lesson-play]{margin-right:10px}.start-overlay>small{display:block;margin-top:12px;color:#728271}.game-pet .pet-art{font-size:140px}.game-top{flex-wrap:wrap}.reduced-motion .journey-traveller{animation:none;left:74%}.reduced-motion .probe-target{animation:none}
@media(min-width:1600px){.treasure-map{min-height:720px}.island-map-title{font-size:14px}.island-mascot .pet-art{font-size:84px}}
@media(max-width:1150px){.map-dashboard-grid{grid-template-columns:minmax(0,1fr)}.expedition-camp{grid-template-columns:repeat(3,1fr)}.camp-companion{padding:18px}.camp-companion>.pet-art{font-size:85px;margin:6px auto}.treasure-map{min-height:620px}.island-map-title{font-size:12px}.island-mascot .pet-art{font-size:76px}}
@media(max-width:700px){.map-summary{gap:10px}.map-summary>.btn{width:100%;margin:0}.map-panel-title{padding:15px;font-size:.66rem}.map-panel-title small{display:none}.treasure-map{min-height:600px;aspect-ratio:auto}.map-island{height:17%;width:30%}.island-mascot .pet-art{font-size:48px}.island-map-title{font-size:10px}.island-map-progress{font-size:9px}.island-number{font-size:11px;min-width:25px;padding:2px 6px}.map-explorer{width:39px;height:39px}.map-explorer .pet-art{font-size:33px}.map-explorer i{bottom:-13px;font-size:16px}.expedition-camp{grid-template-columns:1fr 1fr}.camp-companion{grid-column:1/-1;display:none}.map-stat{font-size:.74rem}.island-challenges{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.island-challenge{padding:10px 5px}.island-dialog-hero>.pet-art{font-size:70px}.top-actions{gap:7px}.music-toggle{width:32px;height:32px}.map-ocean-label{font-size:7px;left:22%;letter-spacing:1px}.map-legend{font-size:8px}.nav-icon{width:26px;height:26px}.pet-card .pet-art{font-size:105px}.journey-scene{height:180px}.journey-traveller .pet-art{font-size:70px}}
.lesson-voice{display:inline-block;margin:12px 0 0;padding:5px 11px;border-radius:20px;background:#e8f0de;color:#41644e;font-size:.78rem;font-weight:700}

/* Fit the entire sprite inside its lane at every viewport; no inherited line-box or rotation overflow. */
.game-mode .game-scene .scene-runner{top:0;bottom:auto;height:100%;width:40px;display:flex;align-items:center;justify-content:center;line-height:0}
.game-mode .game-scene .scene-runner .pet-art{display:block;width:30px;height:30px;font-size:30px;animation:none;transform:none;filter:none;margin:0;flex-shrink:0}
