/* Fit maps to the device; destination lists retain comfortable touch targets. */
html{overflow-x:hidden}body{max-width:100%;overflow-x:clip}img,video,canvas{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}.shell,main,#workspace,#frames{min-width:0}.game-toolbar{flex-wrap:wrap}.game-toolbar h1{min-width:0;overflow-wrap:anywhere}.header-actions{min-width:0}
@media(max-width:800px){
 .island-stage{min-width:0!important;width:100%!important}.island-scroll{overflow:hidden!important}.island-place{width:17%}.island-place strong{display:none}.place-picture{border-width:2px;border-radius:10px}.place-symbol{width:18px;height:18px;font-size:12px;right:1px;bottom:1px}.map-explorer{width:8%;min-width:0}.explorer-name{font-size:7px;padding:1px 4px;border-width:1px}.camp-label{font-size:5px;padding:2px;letter-spacing:0}.island-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.island-quick button{min-height:44px;font-size:12px;padding:9px;white-space:normal}.island-title h2{font-size:clamp(22px,5vw,29px)}.island-title p{font-size:13px}.map-swipe{font-size:11px}.island-action{display:flex;flex-wrap:wrap}.island-action>div{min-width:0}.island-action .primary{margin:0;width:100%;justify-content:center;min-height:44px}.map-camp{min-height:44px}.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:auto;min-height:66px}.mobile-nav a{min-height:56px;justify-content:center}.shell{padding-bottom:calc(78px + env(safe-area-inset-bottom))}#workspace #frames{height:calc(100dvh - 220px - env(safe-area-inset-bottom));min-height:380px}.game-toolbar{padding:10px 12px;gap:8px}.game-toolbar h1{font-size:16px;flex:1}.game-toolbar button{min-height:40px;margin-left:0}.game-toolbar a{min-height:40px;display:flex;align-items:center}.header-actions{gap:6px}header{height:auto;min-height:66px;flex-wrap:wrap;gap:7px;padding:10px 14px}.header-actions button,.header-actions .account{min-height:40px}.continue{flex-wrap:wrap}.continue a{margin-left:0}.focus #frames{height:calc(100dvh - 100px - env(safe-area-inset-bottom))}.advanced-entry{padding:24px}.hero-copy p,.card p{font-size:13px}.filters button{font-size:12px;min-height:42px}
}
@media(max-width:380px){.crumb{display:none}.header-actions{width:100%;justify-content:space-between}.game-toolbar a{font-size:11px}.game-toolbar h1{font-size:14px}.game-toolbar button span{display:none}.hero-copy h1{font-size:31px}.surprise{margin:10px 0 0}.hero-copy .primary,.surprise{font-size:12px}.island-quick button{font-size:11px}}

/* Readable type and learner names at every breakpoint. */
body{font-size:16px}#navigation a{font-size:15px;line-height:1.5}#sidebar .nav-label{font-size:11px}.sidebar-foot p,.sidebar-foot b{font-size:13px}.island-title p,.island-action p{font-size:16px}.island-quick button{font-size:14px;min-height:44px}.map-swipe{font-size:13px}.all-adventures-drawer summary{font-size:16px}.island-place strong{font-size:14px}.explorer-name{font-size:13px;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-label{font-size:10px}.game-note{font-size:13px}.primary,.secondary,.map-camp{font-size:15px}.filters button{font-size:13px}.count{font-size:13px}.eyebrow{font-size:12px}.card p{font-size:14px}.hero-copy p{font-size:16px}.continue small{font-size:12px}.continue h3{font-size:19px}
@media(max-width:800px){.island-title p,.island-action p{font-size:15px}.island-quick button{font-size:14px}.explorer-name{font-size:10px;max-width:95px;padding:2px 5px}.camp-label{font-size:7px}.mobile-nav a{font-size:13px}.map-swipe{font-size:12px}.all-adventures-drawer summary{font-size:15px}.hero-copy p{font-size:15px}.game-note{font-size:12px}.island-title h2{font-size:25px}}

/* Let the fixed navigation scroll when text or a short viewport exceeds its height. */
#sidebar{height:100vh;height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b79bd5 #f5effc;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#sidebar>*{flex-shrink:0}#sidebar:focus-visible{outline:3px solid #a27acb;outline-offset:-3px}

.brand{gap:12px}.nemo-wordmark{display:flex;flex-direction:column;font-family:Outfit,'Arial Rounded MT Bold',system-ui,sans-serif;font-weight:1000;line-height:1.06;letter-spacing:-.8px;font-size:clamp(22px,1.8vw,29px);filter:drop-shadow(0 4px 2px #8060a326)}.nemo-wordmark>span,.nemo-wordmark>b{color:#8052bd;-webkit-text-stroke:.45px #7447ac;text-shadow:0 1px 0 #d3b3f0,0 2px 0 #643e98,0 3px 0 #563485,1px 4px 0 #482b73,2px 5px 5px #73519f44}.nemo-wordmark>b{font-weight:1000}.nemo-wordmark i{font-style:normal;color:#ffca5d;-webkit-text-stroke:.45px #bd882a;text-shadow:0 1px 0 #ffe4a4,0 2px 0 #cc972f,0 3px 0 #a66e21}.nemo-app-mark{width:58px;height:58px;border-radius:16px}.brand .nemo-wordmark{min-width:0}@media(min-width:801px) and (max-width:1150px){.nemo-wordmark{font-size:22px}.nemo-app-mark{width:47px;height:47px}.brand{gap:8px}}

/* Consistent bottom navigation rhythm; keep the footer message together. */
#navigation .nav-label{margin:22px 13px 6px;line-height:1.5;letter-spacing:1.3px}#navigation a{min-height:48px;gap:10px}#navigation .nav-icon{flex:0 0 24px;align-self:center}.sidebar-foot{margin-top:24px!important;padding:17px!important;border-radius:20px!important}.sidebar-foot b{display:block;position:relative;padding-left:29px;line-height:1.5;font-size:14px}.sidebar-foot .spark{position:absolute;left:0;top:0;display:block;margin:0;font-size:26px;line-height:1}.sidebar-foot p{font-size:13px;line-height:1.6;margin:10px 0 0}.nemo-home-link{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,#fff3d4,#f2e5ff);border:3px solid white;border-radius:24px;padding:25px;margin-top:30px}.nemo-home-link>span{font-size:44px}.nemo-home-link p{color:#7b6a92;line-height:1.6}.nemo-home-link .primary{margin-left:auto;flex-shrink:0}@media(max-width:800px){.nemo-home-link{flex-wrap:wrap}.nemo-home-link .primary{margin-left:0}}

/* Glossy game artwork on genuine transparent canvases. */
#navigation a{gap:10px;padding:9px 8px}.nav-game-art{width:44px;height:44px;flex:0 0 44px;object-fit:contain;filter:drop-shadow(0 3px 2px #78549d35);transition:transform .2s}#navigation a:hover .nav-game-art{transform:translateY(-2px) rotate(-4deg)}.card .game-cutout{height:210px!important;width:100%;object-fit:contain!important;border-radius:0!important;background:none!important;filter:drop-shadow(0 7px 5px #77569326);padding:12px 10px 0}.card .island-scene{margin:0;width:100%;padding:0}.card{overflow:visible}.advanced-cutout{width:min(100%,280px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 8px #76619529)}.advanced-art .advanced-cutout{display:block}.toolbar-game-art{width:42px;height:42px;object-fit:contain;vertical-align:middle;margin-right:10px}.game-toolbar h1{display:flex;align-items:center}@media(max-width:800px){.card .game-cutout{height:190px!important}.toolbar-game-art{width:34px;height:34px}.advanced-cutout{width:190px}}@media(prefers-reduced-motion:reduce){.nav-game-art{transition:none}}

/* Dimensional island hopping: transparent game islands above a sculpted sea. */
.island-stage{background:#70dbe2}.ocean-terrain{position:absolute;inset:0;background:linear-gradient(#befff329,#c4fff21a),url('/assets/game-art/ocean.webp') center/cover;border-radius:24px}.ocean-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.island-place{width:17%;filter:drop-shadow(0 13px 6px #005a7855)}.island-place .place-picture{border:0;border-radius:0;overflow:visible;box-shadow:none;background:none}.island-place .place-picture img{aspect-ratio:1;object-fit:contain}.island-place .place-symbol{display:none}.island-place strong{margin-top:0;box-shadow:0 3px 0 #87663244;background:#fffbeeeF}.island-place.destination .place-picture{outline:0;filter:drop-shadow(0 0 8px #fff0a6)}.map-explorer{width:13%;min-width:0;transform:translate(-50%,-75%);filter:drop-shadow(0 7px 3px #05678155)}.robot-boat-art{width:100%;height:auto;animation:boat-float 3.5s ease-in-out infinite}.walking .robot-boat-art{animation:boat-sailing .65s ease-in-out infinite alternate}.map-explorer.walking::after{content:'';position:absolute;bottom:9%;left:-10%;width:45%;height:10%;border-top:3px solid #e9ffffa8;border-bottom:2px solid #e9ffff80;border-radius:50%;z-index:-1;animation:boat-wake .5s ease-out infinite}.map-explorer.facing-left.walking::after{left:auto;right:-10%}.camp-label{top:66%;background:#fff5d9;color:#715a8b}.explorer-name{font-size:12px}.island-scroll{background:#69d5de}@keyframes boat-float{50%{transform:translateY(-3px) rotate(1deg)}}@keyframes boat-sailing{to{transform:translateY(-2px) rotate(-2deg)}}@keyframes boat-wake{to{opacity:.2;scale:1.2}}.facing-left .robot-boat-art{scale:-1 1;transform:none}@media(max-width:800px){.map-explorer{width:14%;min-width:0}.island-place{width:18%}.camp-label{font-size:7px}.explorer-name{font-size:10px}}html[data-motion=off] .robot-boat-art,html[data-motion=off] .walking::after{animation:none!important}@media(prefers-reduced-motion:reduce){.robot-boat-art,.walking::after{animation:none!important}}

.camp-label{top:61%;opacity:.9}

/* Explicit sprite geometry avoids inherited img/SVG sizing in every original game. */
.boat-direction{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1!important;background:url('/assets/game-art/boat-e.png') center/contain no-repeat!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;position:relative!important;transform:none!important;scale:1!important;filter:drop-shadow(0 5px 3px #075d7738)!important}
.boat-direction[data-heading="e"]{background-image:url('/assets/game-art/boat-e.png')!important}
.boat-direction[data-heading="se"]{background-image:url('/assets/game-art/boat-se.png')!important}
.boat-direction[data-heading="s"]{background-image:url('/assets/game-art/boat-s.png')!important}
.boat-direction[data-heading="sw"]{background-image:url('/assets/game-art/boat-sw.png')!important}
.boat-direction[data-heading="w"]{background-image:url('/assets/game-art/boat-w.png')!important}
.boat-direction[data-heading="nw"]{background-image:url('/assets/game-art/boat-nw.png')!important}
.boat-direction[data-heading="n"]{background-image:url('/assets/game-art/boat-n.png')!important}
.boat-direction[data-heading="ne"]{background-image:url('/assets/game-art/boat-ne.png')!important}
.map-explorer .boat-direction,.overworld-explorer .boat-direction{animation:directional-boat-bob 3s ease-in-out infinite!important}.walking .boat-direction{animation:directional-boat-bob .7s ease-in-out infinite!important}@keyframes directional-boat-bob{50%{translate:0 -2px}}html[data-motion=off] .boat-direction{animation:none!important}@media(prefers-reduced-motion:reduce){.boat-direction{animation:none!important}}

/* Give coding the full available width; the activity toolbar keeps a clear way back. */
body.coding #sidebar,body.coding>.shell>header,body.coding .mobile-nav,body.coding .game-note{display:none!important}body.coding .shell{margin-left:0!important;padding-bottom:0!important}body.coding .game-toolbar{padding:8px 15px;min-height:56px}body.coding #workspace #frames{height:calc(100dvh - 60px)!important;min-height:620px;border-radius:0;border-width:0}body.coding #workspace{min-width:0}@media(max-width:800px){body.coding #workspace #frames{min-height:640px}}
.hero-island-stage.mesh-island-stage{width:100%;max-width:620px!important;height:340px;aspect-ratio:auto;transform:none!important;animation:none!important;perspective:none!important}.mesh-island-stage canvas{display:block;touch-action:none;cursor:grab;outline-offset:-5px}.mesh-island-stage canvas:active{cursor:grabbing}.hero-art{overflow:visible}.hero-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.hero-controls button{min-height:38px}.hero-controls label{display:flex;align-items:center;gap:9px;font-size:12px}.island-3d-help{text-align:center;font-size:11px;color:#8a6fa4;margin:9px 0}.nemo-home-link .feature-club-art{width:110px;height:110px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 7px 7px #8c67ab30)}.nemo-home-link{gap:18px}.nemo-home-link>div{min-width:0}.nemo-home-link h2{font-size:clamp(22px,2.4vw,32px)}@media(max-width:800px){.hero-island-stage.mesh-island-stage{height:285px}.nemo-home-link .feature-club-art{width:85px;height:85px}.nemo-home-link{flex-wrap:wrap}.nemo-home-link>div{flex:1;min-width:160px}.nemo-home-link>a{margin-left:auto}.hero-controls label{font-size:11px}}@media(max-width:520px){.hero-island-stage.mesh-island-stage{height:300px;max-width:100%!important}.hero-art{padding:10px 10px 18px!important}.hero-controls button{font-size:11px;padding:8px 10px}.nemo-home-link{padding:18px!important;gap:10px}.nemo-home-link .feature-club-art{width:74px;height:74px}.nemo-home-link p{font-size:13px}.hero-controls input{max-width:145px}}
.premium-island-art{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;border:0!important;border-radius:0!important;transform:none!important;box-shadow:none!important;filter:drop-shadow(0 13px 15px #6650a52b)}.hero-island-stage.mesh-island-stage{height:360px}.mesh-island-stage:not(.has-3d){cursor:default}.hero-controls button:disabled,.hero-controls input:disabled{opacity:.45;cursor:default}#islandViewMode{background:linear-gradient(135deg,#ffe99a,#ffcc55);color:#74501c;border:2px solid #fff;box-shadow:0 3px 0 #d6b66c}.hero-controls label:has(input:disabled){display:none}@media(max-width:520px){.hero-island-stage.mesh-island-stage{height:310px}}
/* Site review: readable navigation, comfortable controls and keyboard access. */
.hub-skip-link{position:fixed;top:8px;left:12px;z-index:100001;padding:12px 18px;border-radius:12px;background:#fff;color:#65439b;border:2px solid #9672cb;transform:translateY(-160%);font-weight:700}.hub-skip-link:focus{transform:none}.game-toolbar h1{flex:1}.game-note{line-height:1.6}.nemo-home-link p{overflow-wrap:anywhere}.filters button{min-height:42px}.hero-copy p{line-height:1.7}.card p{font-size:13px;line-height:1.65}.hero-world-name{min-height:42px;display:inline-flex;align-items:center;justify-content:center}.nav-game-art{flex-shrink:0}@media(max-width:800px){.hero-copy p{font-size:15px!important}.filters button{font-size:13px!important;min-height:44px}.card p{font-size:13px!important}.card h3{font-size:20px!important}.nemo-home-link p{font-size:14px!important}.mobile-nav a{min-height:50px}.game-toolbar a,.game-toolbar button{min-height:42px}}@media(max-width:520px){.card.dimensional-card{min-height:290px}.cards{gap:14px}.continue{flex-wrap:wrap;gap:12px}.continue h3{font-size:18px}.continue .primary{margin-left:auto}.game-toolbar h1{font-size:19px}.hero-copy p{font-size:15px!important}.hero-world-name{font-size:13px!important}}
