@font-face{font-family:Story;src:url('assets/bookman.otf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdf5;color:#223f42;font-family:Trebuchet MS,Arial,sans-serif;font-size:17px;line-height:1.55}button,a,input{touch-action:manipulation}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b74c22;outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Story,Georgia,serif;line-height:1.13;font-weight:600}h1{font-size:clamp(2.2rem,4vw,4.1rem);letter-spacing:-.04em}h2{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.035em}h3{font-size:1.35rem}header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5%;background:#fffdf5;border-bottom:1px solid #223f421a;position:relative;z-index:3}.wordmark{text-decoration:none;font-family:Story,Georgia,serif;font-size:29px;letter-spacing:-1.8px;line-height:1.1;display:block}.wordmark span{font:10px Trebuchet MS,sans-serif;letter-spacing:3px;display:block;margin-top:8px;text-align:center}.small{font-size:25px}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:15px;padding:10px 0;border-bottom:2px solid transparent}nav a.active{border-color:#c36533}.header-right{display:flex;align-items:center;gap:24px}.sound{background:none;border:0;font-size:22px}.sound span{font-size:13px}.parent-link{font-size:13px;text-underline-offset:4px}.eyebrow{font-size:12px;letter-spacing:2.6px;text-transform:uppercase;font-weight:bold;color:#6d7168}.intro{text-align:center;padding:38px 20px 24px}.intro h1{margin:7px 0 12px}.intro p{color:#647272;font-size:17px}.island-wrap{max-width:1400px;margin:auto;padding:0 3%}.island{height:min(59vw,620px);min-height:460px;position:relative;overflow:hidden;border-radius:48% 48% 9% 9% / 8% 8% 8% 8%;background:#c7e3e1 url('assets/island-map.webp') center/cover no-repeat;box-shadow:inset 0 0 35px 5px #fffdf5}.map-caption{position:absolute;left:24px;bottom:18px;font-family:Georgia,serif;font-style:italic;font-size:15px;background:#fffdf5d9;padding:7px 14px;border-radius:30px}.map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:#fffdf5;box-shadow:0 5px 0 #234a4424,0 8px 22px #13343420;padding:10px 18px;border-radius:25px;display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:14px;font-weight:bold;transition:transform .2s}.map-pin:hover{transform:translate(-50%,-58%) rotate(-2deg);background:#ffda74}.map-pin .pin-number{width:25px;height:25px;border-radius:50%;background:#f9cf6b;color:#214b4b;display:grid;place-items:center;font-family:Georgia,serif}.map-character{position:absolute;bottom:10%;left:37%;width:170px;height:215px;pointer-events:none;filter:drop-shadow(0 6px 4px #2948491a)}.map-fidget{left:49%;bottom:11%;width:100px;height:120px}.map-character img{width:100%;height:100%;object-fit:contain}.paper-note{position:absolute;right:25px;bottom:25px;max-width:190px;background:#fff3c6;padding:15px 18px;font-family:Georgia,serif;font-style:italic;transform:rotate(4deg);font-size:16px;box-shadow:2px 5px 8px #34534b13}.island-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1140px;margin:15px auto 35px;padding:0 22px;font-size:14px;color:#62726b}.stamps{display:flex;gap:7px;align-items:center}.stamp{height:26px;width:26px;border:1px dashed #84968c;border-radius:50%;display:grid;place-items:center;color:#6b8476;font-size:12px}.stamp.done{background:#f7ca68;border-color:#bb8c3f}.section{max-width:1180px;margin:0 auto;padding:65px 30px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px;gap:20px}.section-heading p{max-width:400px;color:#6d7770;font-size:15px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border:1px solid #174f56;border-radius:35px;background:#174f56;color:#fffdf5;font-weight:bold;text-decoration:none;font-size:15px;box-shadow:0 3px 0 #103d43}.pill:hover{background:#22656c}.pill.gold{background:#f8cf70;color:#254446;border-color:#d5ad51;box-shadow:0 3px 0 #d5ad51}.pill.outline{background:transparent;box-shadow:none;color:#24474a;border-color:#9baba3}.text-link{text-underline-offset:5px;font-size:14px}.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.game-card{border:1px solid #cfdbce;border-radius:12px;overflow:hidden;background:#fffef9;display:flex;flex-direction:column;text-align:left;padding:0;transition:transform .2s}.game-card:hover{transform:translateY(-5px)}.card-art{height:210px;position:relative;background:#dfebdc;overflow:hidden;display:flex;align-items:center;justify-content:center}.card-art img{height:90%;width:75%;object-fit:contain}.card-art .number{position:absolute;left:17px;top:15px;font:italic 18px Georgia}.card-art.professor{background:#f5d8aa}.card-art.pete{background:#cddedc}.card-art.giraffe{background:#dae3c4}.card-art.fidget{background:#dbeac9}.card-art.bearwolf{background:#d7e4df}.card-art.moles{background:#e8daca}.card-copy{padding:22px}.card-copy .eyebrow{font-size:10px;letter-spacing:1.5px}.card-copy h3{margin:7px 0 12px}.card-copy p{font-size:14px;color:#67736b}.card-bottom{margin-top:18px;font-size:13px;display:flex;justify-content:space-between;color:#375e59}.story-banner{background:#e9efd9;border-top:1px solid #d8e1c7;border-bottom:1px solid #d8e1c7;margin-top:35px}.banner-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:60px;padding:55px 70px}.banner-art{position:relative;display:flex;justify-content:center;align-items:center;min-height:280px}.banner-art img{width:240px;transform:rotate(-6deg);box-shadow:12px 15px 0 #3c5c4320}.banner-copy h2{margin:12px 0 20px}.banner-copy p{margin-bottom:23px;max-width:460px;color:#58675c}.banner-copy .eyebrow{color:#627054}.page-intro{max-width:1150px;margin:auto;padding:60px 30px 5px}.page-intro h1{margin:12px 0 20px}.page-intro p{max-width:640px;color:#64746c}.friends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.friend-card{border-bottom:1px solid #d2dccc;padding:0 0 30px;text-align:center}.friend-art{height:225px;display:grid;place-items:center;margin-bottom:20px;background:#edf1e3;border-radius:50% 48% 44% 51%}.friend-art img{width:90%;height:210px;object-fit:contain}.friend-card p{font-size:15px;margin:12px auto;max-width:260px;color:#667165}.reference-crop{position:relative;overflow:hidden;width:210px;height:210px;display:block;margin:auto;background-repeat:no-repeat;background-size:900px auto;background-position:0 -75px;mix-blend-mode:multiply}.reference-crop.giraffe{background-position:-5px -64px;background-size:750px auto}.reference-crop.pete,.reference-crop.octo,.reference-crop.baldrus,.reference-crop.moles,.reference-crop.cruckoo{background-position:-5px -70px;background-size:800px auto}.reference-crop.professor{background-position:-5px -65px;background-size:750px auto}.reference-crop.fidget{background-position:-5px -90px;background-size:900px auto}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px}.book{min-width:0;border-bottom:1px solid #d2dccc;padding-bottom:28px}.book-art{height:280px;background:#edf1e3;display:flex;align-items:center;justify-content:center;border-radius:5px;margin-bottom:22px;overflow:hidden}.book-art.cover img{height:88%;max-width:88%;object-fit:contain;box-shadow:9px 9px 0 #234f431a;transform:rotate(-4deg)}.book p{font-size:15px;margin:12px 0 18px;color:#627065}.book .eyebrow{font-size:10px}.book h3{margin-top:8px}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.parent-grid p{margin:18px 0;color:#5d6c64}.parent-grid ul{padding-left:20px}.parent-grid li{padding:8px}.note-block{background:#edf0dd;padding:32px;border-radius:12px}.activity-list{margin-top:25px;display:grid;gap:14px}.activity{display:flex;gap:20px;padding:23px;background:#f3eedc;border-radius:10px}.activity b{font-family:Georgia,serif;font-size:28px;color:#bd622c}.activity p{font-size:15px;margin-top:6px;color:#637266}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-bar button{background:transparent;border:1px solid #9aaca4;border-radius:20px;padding:7px 16px;font-size:14px}.filter-bar button.active{background:#204d51;color:white}.asset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.asset-tile{border:1px solid #d6dfd5;border-radius:8px;background:white;padding:12px;text-align:center;overflow:hidden}.asset-tile img{height:130px;width:100%;object-fit:contain}.asset-tile span{display:block;font-size:12px;overflow-wrap:anywhere}.asset-tile a{font-size:12px;text-underline-offset:3px}.asset-count{font:48px Story;color:#21565b}footer{padding:55px 6% 35px;border-top:1px solid #dce1d6;display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:45px}footer p{font:italic 17px Georgia;flex:1}footer div{display:flex;gap:22px;font-size:13px}footer small{width:100%;font-size:11px;color:#7a8073;margin-top:15px}.text-button{border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:4px;font-size:inherit}.skip{position:absolute;left:20px;top:-100px;background:white;z-index:100;padding:14px}.skip:focus{top:10px}dialog{padding:0;border:0;border-radius:20px;box-shadow:0 20px 100px #071d2860;max-height:94dvh;color:#244447;background:#fffdf5}dialog::backdrop{background:#102d3acf;backdrop-filter:blur(5px)}#game-dialog{width:min(1050px,96vw)}.game-top{display:flex;align-items:center;gap:20px;padding:19px 25px;border-bottom:1px solid #dce2d5}.game-top>div{flex:1;text-align:center}.game-top h2{font-size:25px;margin-top:4px}.round{width:43px;height:43px;border-radius:50%;background:#f0f0df;border:1px solid #d2d9c7;font-size:25px;display:grid;place-items:center;flex-shrink:0}.game-shell{min-height:550px}.instruction{padding:20px;text-align:center;font-size:18px;min-height:67px}.game-area{min-height:340px;margin:0 25px;position:relative;overflow:hidden;border-radius:15px}.game-controls{padding:22px;display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap}.helper-note{font-size:13px;text-align:center;color:#657367;padding:0 20px 20px}.progress-row{display:flex;justify-content:center;gap:10px;padding:5px 10px 18px}.progress-dot{width:12px;height:12px;border-radius:50%;background:#d7dfca}.progress-dot.done{background:#d8982f}.button-board{background:#ede7d4;border:8px solid #bac3aa;padding:30px;box-shadow:inset 0 0 0 2px #81927a;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:center;max-width:760px;margin:auto;min-height:285px}.machine-button{border:4px solid #f4f1df;border-radius:50%;aspect-ratio:1;background:var(--colour);box-shadow:0 9px 0 color-mix(in srgb,var(--colour),#243b35 40%),0 12px 2px #334e3a30;display:grid;place-items:center;color:white;font-size:36px;text-shadow:0 1px 4px #0007;transition:transform .1s,filter .1s;position:relative}.machine-button.active{filter:brightness(1.5);transform:translateY(7px);box-shadow:0 2px 0 #456;font-size:42px}.machine-button span{font-size:13px;position:absolute;bottom:13%}.machine-button:disabled{cursor:default}.sequence-preview{display:flex;gap:9px;justify-content:center;align-items:center;min-height:45px;margin-bottom:15px}.tiny-button{border-radius:50%;width:30px;height:30px;background:var(--colour);display:grid;place-items:center;color:white;font-size:15px;text-shadow:0 1px 3px black}.treasure-area{background:#dfead3 url('assets/shore-stage.webp') center/cover;min-height:390px}.treasure{position:absolute;width:68px;height:68px;border:0;background:#fffdf5e8;border-radius:50%;display:grid;place-items:center;box-shadow:1px 3px 6px #314a3320}.treasure img{width:58px;height:58px;object-fit:contain}.treasure.found{opacity:.4;pointer-events:none;box-shadow:0 0 0 4px #d59833}.treasure.found:after{content:'✓';position:absolute;font-size:37px;color:#2e6450}.target-list{display:flex;justify-content:center;gap:15px;margin-bottom:15px}.target-item{display:flex;align-items:center;gap:5px;font-size:13px;background:#f1eddb;border-radius:25px;padding:4px 13px}.target-item img{height:35px;width:35px;object-fit:contain}.target-item.found{text-decoration:line-through;opacity:.55}.rainbow-area{background:#e8efdb;padding:25px;min-height:320px}.rainbow-slots{display:flex;gap:8px;justify-content:center;margin:10px 0 30px}.rainbow-slot{height:140px;flex:1;max-width:90px;border-radius:50px 50px 8px 8px;border:2px dashed #889b81;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:13px}.rainbow-slot.filled{border:0;color:#fff;text-shadow:0 1px 3px #0009}.rainbow-options{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.colour-chip{height:55px;min-width:82px;border:3px solid #fff;border-radius:10px;background:var(--colour);color:white;text-shadow:0 1px 3px #0008;font-size:13px;box-shadow:0 3px 0 #60725a55}.colour-chip:disabled{opacity:.25}.footstep-area{background:#203e51 url('assets/moonlit-cove.webp') center/cover;min-height:345px;display:flex;align-items:center;justify-content:center}.step-path{display:grid;grid-template-columns:repeat(4,65px);gap:18px;padding:25px;border-radius:18px;background:#123d5055}.step-stone{width:65px;height:65px;border-radius:45%;border:2px dashed #ffffff80;background:#ffffff16;color:white;font-size:22px}.step-stone.next{background:#f9d376;color:#274652;border:2px solid #fff}.step-stone.visited{background:#d0e9db;color:#33594a}.bubble-area{background:#d6e6e1 url('assets/shore-stage.webp') center/cover;height:360px;touch-action:none}.bubble{position:absolute;width:60px;height:60px;border:3px solid #fff;border-radius:50%;background:#d1ffff58;box-shadow:inset -5px -5px 8px #83bad480,inset 5px 5px 4px #fff9,0 4px 15px #53879730;color:#31536e;animation:floatUp 8s linear forwards;cursor:pointer;font-size:17px}.bubble:after{content:'';position:absolute;top:8px;left:11px;width:12px;height:7px;background:#fff8;border-radius:50%;transform:rotate(-30deg)}@keyframes floatUp{from{transform:translateY(30px)}to{transform:translateY(-350px)}}.kindness-area{background:#e9eed9;display:flex;align-items:center;justify-content:center;gap:30px;padding:30px}.kindness-area .portrait{width:160px;flex-shrink:0}.speech{font-family:Georgia,serif;font-size:25px;max-width:350px;background:#fffdf4;border-radius:25px;padding:30px;position:relative}.choice-grid{display:flex;justify-content:center;gap:15px;padding:20px;flex-wrap:wrap}.choice{padding:14px 20px;background:#fffdf5;border:1px solid #81977f;border-radius:14px;max-width:235px;font-size:16px}.choice:hover{background:#f9e4aa}.ending{text-align:center;padding:35px 35px 40px}.ending .end-art{height:180px;display:block;margin:auto auto 20px;object-fit:contain}.ending h2{margin:15px 0}.ending p{max-width:470px;margin:15px auto 25px;color:#5b6f62}.ending .offline{background:#eef0df;padding:15px 20px;border-radius:10px;font-size:15px;margin-top:25px}.ending-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}#info-dialog{width:min(740px,94vw);padding:40px}.info-close{position:absolute;right:15px;top:15px}#info-content h2{padding-right:25px;margin:15px 0 20px}#info-content p{margin:15px 0}#info-content .preview-image{width:100%;border-radius:8px;display:block}#info-content .preview-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0;gap:20px}.setting-row input{width:24px;height:24px;accent-color:#1f5d60}.settings-detail{font-size:14px;color:#637363}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#214e51;color:white;padding:12px 24px;border-radius:25px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s;font-size:14px}#toast.visible{opacity:1}.studio-panel{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:30px;background:#e7efdc;border-radius:12px;margin-bottom:30px}.studio-panel p{font-size:15px;max-width:620px}.studio-link{margin-top:18px;display:flex;gap:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}body.quiet *{animation:none!important;transition:none!important}.bubble.quiet-bubble{animation:none;bottom:auto!important}body.big-text{font-size:20px}body.big-text .card-copy p,body.big-text .friend-card p{font-size:18px}@media(min-width:1450px){.intro{padding-top:45px}.island{height:620px}}@media(max-width:1000px){header{gap:15px;padding:0 3%}nav{gap:20px}.header-right{gap:10px}.sound span{display:none}.parent-link{font-size:12px}.wordmark{font-size:25px}.banner-inner{gap:30px;padding:40px}.island{height:560px}.map-pin{font-size:12px;padding:9px 12px}.paper-note{display:none}.asset-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){header{height:120px;flex-wrap:wrap;padding:17px 20px 0;gap:0}.wordmark{font-size:25px}.wordmark span{font-size:8px;letter-spacing:2.5px}.header-right{margin-left:auto;gap:14px}.parent-link{font-size:12px}nav{order:3;width:100%;justify-content:space-between;gap:15px;margin-top:12px}nav a{font-size:13px;padding:8px 0}.intro{padding:30px 18px 20px}.intro p{font-size:14px;max-width:280px;margin:auto}.eyebrow{font-size:10px}.island-wrap{padding:0}.island{height:540px;min-height:0;border-radius:0;background-size:auto 100%;background-position:48% center;box-shadow:inset 0 0 18px #fffdf5}.map-pin{font-size:12px;padding:8px 10px;gap:5px;white-space:normal;max-width:150px;text-align:left;line-height:1.2}.map-pin .pin-number{width:24px;height:24px;flex-shrink:0}.map-pin:nth-of-type(1){left:26%!important;top:49%!important}.map-pin:nth-of-type(2){left:68%!important;top:30%!important}.map-pin:nth-of-type(3){left:77%!important;top:68%!important}.map-pin:nth-of-type(4){left:22%!important;top:22%!important}.map-pin:nth-of-type(5){left:24%!important;top:76%!important}.map-pin:nth-of-type(6){left:69%!important;top:48%!important}.map-character{width:140px;height:190px;left:37%;bottom:12%}.map-fidget{width:80px;height:100px;left:59%;bottom:12%}.map-caption{bottom:7px;left:10px;font-size:13px;padding:5px 10px}.island-bar{margin:15px 0 5px;padding:0 20px;font-size:12px}.island-bar>span{max-width:120px}.stamps{gap:4px}.stamp{width:23px;height:23px}.section{padding:40px 22px}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading p{font-size:14px}.teaser-grid{grid-template-columns:1fr 1fr;gap:14px}.card-art{height:160px}.card-copy{padding:17px}.card-copy h3{font-size:18px}.card-copy p{font-size:13px}.card-copy .eyebrow{font-size:9px}.card-bottom{font-size:11px;margin-top:12px}.banner-inner{grid-template-columns:1fr;padding:35px 25px;gap:25px}.banner-art{min-height:220px}.banner-art img{width:200px}.banner-copy{text-align:center}.banner-copy p{font-size:15px}.page-intro{padding:35px 22px 0}.page-intro p{font-size:15px}.friends-grid,.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.friend-art{height:180px}.friend-art img{height:170px}.reference-crop{transform:scale(.8);transform-origin:center}.friend-card h3,.book h3{font-size:19px}.friend-card p,.book p{font-size:13px}.book-art{height:195px}.book .pill{font-size:12px;padding:10px 15px}.parent-grid{grid-template-columns:1fr;gap:30px}.asset-grid{grid-template-columns:repeat(3,1fr);gap:8px}.asset-tile{padding:7px}.asset-tile img{height:90px}.studio-panel{align-items:start;flex-direction:column}.studio-link{flex-wrap:wrap}.studio-panel p{font-size:14px}footer{padding:35px 23px;gap:18px}footer p{font-size:14px}footer div{width:100%;font-size:12px;gap:17px}footer small{font-size:10px}#game-dialog{max-height:98dvh;width:98vw;border-radius:15px}.game-top{padding:13px 12px;gap:8px}.game-top h2{font-size:19px}.round{width:37px;height:37px;font-size:23px}.game-top .eyebrow{font-size:9px}.game-shell{min-height:520px}.instruction{font-size:16px;padding:17px 15px;min-height:70px}.game-area{margin:0 12px;min-height:300px}.button-board{grid-template-columns:repeat(2,1fr);gap:18px 28px;padding:20px 35px;max-width:340px;min-height:310px}.machine-button{font-size:27px;max-height:115px}.machine-button span{font-size:11px}.machine-button.active{font-size:32px}.game-controls{padding:18px 12px;gap:10px}.game-controls .pill{font-size:13px;padding:11px 18px}.target-list{gap:5px}.target-item{font-size:11px;padding:4px 7px;gap:2px}.target-item img{height:25px;width:25px}.treasure-area{min-height:350px}.treasure{width:55px;height:55px}.treasure img{width:48px;height:48px}.rainbow-area{padding:15px 10px}.rainbow-slots{gap:4px}.rainbow-slot{height:115px;font-size:10px}.colour-chip{min-width:70px;height:48px}.step-path{grid-template-columns:repeat(4,55px);gap:13px;padding:15px}.step-stone{width:55px;height:55px}.kindness-area{flex-direction:column;gap:10px;padding:20px}.kindness-area .portrait{width:130px;height:140px}.speech{font-size:20px;padding:20px}.choice-grid{gap:8px;padding:15px}.choice{font-size:14px;padding:12px;max-width:46%}.ending{padding:25px 20px}.ending .end-art{height:145px}#info-dialog{padding:30px 22px}.helper-note{font-size:12px}.sequence-preview{margin-bottom:8px}}@media print{header,footer,button,.pill,.studio-panel,.filter-bar{display:none}body{color:black;background:white}.section{padding:20px}.activity{break-inside:avoid;border:1px solid #ccc;background:white}.page-intro{padding:0}.parent-grid{display:block}.note-block{background:white}}
.reference-portrait{width:75%;height:90%;max-height:210px;display:block;margin:auto;mix-blend-mode:multiply}.portrait img{width:100%;max-height:200px;object-fit:contain}.portrait .reference-portrait{height:180px;width:140px}.end-art img{height:100%;max-width:250px;object-fit:contain}.end-art .reference-portrait{height:100%}.map-character .reference-portrait{height:100%;width:100%}.pill:disabled{opacity:.4;cursor:default}.book-art .reference-portrait{height:85%;width:80%}.machine-button:focus-visible{outline:3px solid #254f52;outline-offset:8px}.game-area .reference-portrait{max-height:180px}@media(max-width:700px){.reference-portrait{max-height:165px}}
/* The story shelf: generous paper, readable verse and comfortable touch targets. */
nav{gap:18px;flex-wrap:wrap}nav a{padding:14px 0;white-space:nowrap}button,a.pill{min-height:44px}.book-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.collection-card{margin:64px 0 16px;padding:42px;background:#e8ead9;border-radius:24px}.collection-card p{max-width:660px}.book-art{background:#e8ead9}.poetry-shelf{max-width:1050px}.poem-card{display:grid;grid-template-columns:34% 1fr;gap:48px;padding:58px 0;border-top:1px solid #d6d5c6;scroll-margin-top:24px}.poem-portrait{background:#ecebdb;border-radius:48% 48% 40% 42%;align-self:start;padding:30px 15px;text-align:center;position:sticky;top:22px}.poem-portrait img,.poem-portrait svg{width:100%;height:270px;object-fit:contain}.poem-portrait span{display:block;font-size:14px}.poem-copy h2{font-size:32px;margin:12px 0 24px}.verse{padding:0;margin:24px 0;border:0;font-family:Georgia,serif;font-size:23px;line-height:1.7;color:#18434a}.verse span{display:block}.verse-credit{font-size:13px;color:#647371}.wonder{padding:18px 20px;background:#f2e5c7;border-radius:14px}.poem-links{display:flex;flex-wrap:wrap;gap:18px}.colouring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.colouring-card img{width:100%;aspect-ratio:1/1.25;object-fit:contain;background:white;padding:15px;border:1px solid #dfdece;border-radius:12px}.colouring-card h2{font-size:24px}.colouring-card .eyebrow{display:block;margin-top:20px}.passport{background:#e7eada;border-radius:26px;padding:35px}.passport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.passport-stamp{display:grid;grid-template-columns:40px 1fr;text-align:left;gap:5px 12px;background:#f9f6ec;border:1px dashed #8eaa99;padding:20px;border-radius:18px;color:#1b4d53}.passport-stamp span{grid-row:span 2;display:grid;place-items:center;border:1px solid #8eaa99;border-radius:50%;width:36px;height:36px}.passport-stamp small{font-size:13px}.passport-stamp.discovered{background:#d5e6cf;border-style:solid}.passport-stamp.discovered span{background:#24575a;color:white}.passport-count{font-size:30px;font-family:Georgia,serif;white-space:nowrap}.reward-panel{padding:28px;margin-top:28px;border-radius:22px;background:#f3dfac;text-align:center}.reward-panel h2{font-size:30px;margin:14px 0}.reward-panel p{max-width:620px;margin:14px auto}.completion-count{font-weight:bold}.field-label{display:block;margin:24px 0 8px;font-weight:bold}input[type=email]{width:100%;padding:15px;border:1px solid #7d9997;border-radius:9px;font:inherit;background:white}.consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:16px}.consent input{width:22px;height:22px;flex-shrink:0}.requests-table article{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #ccc}.requests-table small{display:block;margin-top:8px}.book .text-button,.poem-links a{text-align:left}.big-text .verse{font-size:28px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b65732;outline-offset:5px}footer a,footer button{padding:12px 0}#offer-status{min-height:1.5em}
@media(max-width:1050px){header{flex-wrap:wrap}header nav{order:3;flex-basis:100%;justify-content:center}.header-right{margin-left:auto}.colouring-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){header{padding:16px 18px}header nav{gap:0;justify-content:space-between}nav a{font-size:14px;padding:12px 9px}.header-right{gap:10px}.parent-link{font-size:13px}.poem-card{grid-template-columns:1fr;gap:22px;padding:35px 0}.poem-portrait{position:static;max-width:230px;margin:auto;width:100%}.poem-portrait img,.poem-portrait svg{height:190px}.poem-copy h2{font-size:28px}.verse{font-size:21px}.colouring-grid{grid-template-columns:1fr}.colouring-card img{max-height:400px}.passport{padding:22px 16px;margin:24px 12px}.passport-grid{grid-template-columns:1fr}.passport-stamp{padding:14px}.reward-panel{padding:22px 15px}.collection-card{padding:26px}.poem-links{gap:10px}.requests-table article{flex-direction:column}}
@media print{.poem-portrait{position:static}.poem-card{break-inside:avoid}.poem-links,.poem-copy .game-controls{display:none}.verse{font-size:18px}.colouring-grid{display:block}}

/* Listen-along rainbow voyage */
.rq-story{max-width:800px;margin:auto}.rq-story p{font-size:1.18rem;line-height:1.8}.rq-listen{border:2px solid #294c41;border-radius:24px;background:white;color:#294c41;padding:12px 18px;min-height:48px;font:inherit;cursor:pointer;margin:8px 0}.rq-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:32px;margin-bottom:24px}.rq-answers{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.rq-answers>div{display:flex;flex-direction:column;align-items:center}.rq-answer{min-width:100px;min-height:72px;font-size:1.8rem}.rq-picture{margin:0 0 28px}.rq-picture-space{min-height:180px;border:2px dashed #87958f;border-radius:24px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:#35463f}.rq-picture-space p{margin:8px 0}.rq-picture figcaption{margin-top:12px}.rq-palette{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.rq-palette span{border:1px solid #444;border-radius:12px;min-width:58px;padding:7px 10px;text-align:center;color:#fff;text-shadow:0 1px 3px #000;font-weight:bold}.rq-palette span[data-found=false]{background:#eee;color:#555;text-shadow:none}.rq-art{position:relative;background:#fff}.rq-art>img{width:100%;display:block}.rq-art>.rq-overlay{position:absolute;inset:0;height:100%;object-fit:contain}.rq-score{font-weight:bold}.rq-invite{background:#e8f2e7;border-radius:28px;margin-top:24px}.rq-story button:focus-visible{outline:4px solid #514aa3;outline-offset:4px}

/* The seven story islands: full artwork, readable island destinations. */
.story-map{position:relative;border-radius:22px;overflow:hidden;background:#c9e7f5;border:1px solid #8eafb7;box-shadow:0 12px 30px #123d4b18}.story-map-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.map-island-links{position:absolute;inset:0}.island-link{position:absolute;left:var(--island-x);top:var(--island-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;border:2px solid #193c48;border-radius:12px;padding:9px 14px;background:#fff8df;color:#193c48;box-shadow:0 4px 0 #193c4828;font-size:clamp(.9rem,1.35vw,1.1rem);white-space:nowrap;line-height:1.25;min-height:48px}.island-link span{font-family:Story,Georgia,serif}.island-link small{font-size:.75rem;margin-top:3px}.island-link:hover{background:#ffdc82;box-shadow:0 6px 0 #193c4838}.island-link:focus-visible{outline:4px solid white;outline-offset:3px;background:#ffdc82}.map-flight{text-align:center;margin:0 0 20px;padding:0 15px}.map-flight button{font-size:.9rem;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.island-wrap{padding:0 12px}.story-map{border-radius:16px}.map-island-links{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#fffdf5;padding:14px}.island-link{position:static;transform:none;white-space:normal;font-size:1rem;padding:12px 8px;width:100%;min-height:66px}.island-link:last-child{grid-column:1/-1}.island-link small{font-size:.85rem}.story-map-art{aspect-ratio:3/2}.map-flight{margin-bottom:0}}

.home-map-friends{display:flex;align-items:end;justify-content:center;gap:20px;height:200px;margin:20px 0}.home-map-friends img{max-width:45%;height:100%;object-fit:contain}.home-map-friends img:last-child{height:70%}

/* Character welcome choices keep generous space above every action. */
.welcome-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;padding-bottom:8px}.welcome-actions .pill{min-height:48px}.welcome-story{margin-top:18px!important;font-size:.9rem;color:#5b6e65}.welcome-verse-art{height:140px;display:flex;justify-content:center;align-items:end;gap:16px;margin:22px 0}.welcome-verse-art img,.welcome-verse-art svg{max-width:45%;height:100%;object-fit:contain}.welcome-verse{margin:24px 0}.welcome-reading{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:22px 0}.welcome-reading button{min-height:44px}@media(max-width:500px){.welcome-actions{display:grid;grid-template-columns:1fr;gap:14px}.welcome-actions .pill{width:100%}}

.poem-card{scroll-margin-top:24px}.poem-card:focus{outline:3px solid #c36533;outline-offset:8px}

/* Picture answers for the Baldrus Olympics. */
.olympic-heading{text-align:center;padding:20px 22px 8px}.olympic-heading h3{font-size:1.8rem;margin:10px 0}.olympic-heading p{margin-bottom:16px}.olympic-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;max-width:780px;margin:auto}.olympic-character{border:2px solid #c8d8c4;border-radius:20px;background:#fffdf5;min-width:0;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:1rem}.olympic-portrait{height:180px;width:100%;display:flex;align-items:center;justify-content:center}.olympic-portrait>img,.olympic-portrait>svg{max-width:100%;height:100%;object-fit:contain}.olympic-character:hover{background:#fff0b7;border-color:#b68c3c}.olympic-character.olympic-winner{border:4px solid #397f62;background:#e6f2db}.olympic-character:disabled{opacity:1;cursor:default}.olympic-tried{border-style:dashed}.olympic-feedback{text-align:center;min-height:64px;padding:8px 20px 20px}@media(max-width:550px){.olympic-choices{gap:8px;padding:14px 10px}.olympic-portrait{height:125px}.olympic-character{font-size:.88rem;padding:10px 4px;gap:12px}.olympic-heading h3{font-size:1.5rem}}

/* Independently revealed story artwork: all layers share one canvas. */
.rq-art{isolation:isolate;border-radius:20px;overflow:hidden;box-shadow:0 6px 28px #223f4214}.rq-art>img:first-child{height:auto;aspect-ratio:3/2}.rq-art>.rq-overlay{pointer-events:none;width:100%;height:100%}.rq-picture figcaption{font-size:1rem;font-weight:600}
@media(prefers-reduced-motion:reduce){.rq-art{scroll-behavior:auto}}

/* Keep raster characters within book cards, just like reference portraits. */
.book-art > img{width:80%;height:85%;object-fit:contain;object-position:center;flex-shrink:0}
.book-art.cover > img{width:auto;height:88%;max-width:88%}

/* Covers and individual book pages. */
.book-art.cover{height:300px;background:#edf1e3;padding:18px;text-decoration:none}
.book-art.cover > .book-cover{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;box-shadow:none}
.book h3{min-height:3.1rem}.book-actions{gap:14px}.book-actions a,.book-actions .text-button{min-height:44px;display:inline-flex;align-items:center}.book p{font-size:1rem}
.book-detail-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;padding-top:48px}
.book-detail-cover{background:#e8ead9;border-radius:12px;padding:28px}.book-detail-cover img{display:block;width:100%;height:auto;max-height:530px;object-fit:contain}
.book-detail-copy{min-width:0}.book-detail-copy .eyebrow{margin:24px 0 12px}.book-detail-copy h1{font-size:clamp(2rem,3.8vw,3.5rem)}.book-detail-description{font-size:1.15rem;margin:24px 0 14px}.book-detail-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.book-buy{border-top:1px solid #c4d0c4;margin-top:30px;padding-top:20px}.book-buy summary{min-height:48px;cursor:pointer;font-weight:bold}.book-buy p{margin:14px 0}.book-samples>p{margin:16px 0 24px}.book-spread-gallery{display:grid;gap:24px}.book-spread-gallery a{display:block;border:1px solid #d5ddce;border-radius:10px;overflow:hidden;background:white}.book-spread-gallery img{display:block;width:100%;height:auto;object-fit:contain}.book-beyond{display:grid;grid-template-columns:1fr 1fr;gap:64px}.book-beyond p{margin-top:18px}.book-more{display:grid;gap:16px}.book-more a{display:flex;align-items:center;gap:18px;text-decoration:none;min-height:80px}.book-more img{width:68px;height:80px;object-fit:contain}.book-more span{font-family:Story,Georgia,serif;font-size:1.1rem}
/* One portrait sizing policy for raster poses and character-sheet crops. */
.character-art{object-fit:contain;object-position:center;max-width:100%;max-height:100%;flex-shrink:0}
.friend-art>.character-art,.card-art>.character-art,.poem-portrait>.character-art{width:85%;height:90%;object-fit:contain;display:block;margin:auto}
.portrait>.character-art,.end-art>.character-art{width:100%;height:100%;object-fit:contain}
.friend-art,.card-art,.poem-portrait,.portrait,.end-art{min-width:0}
@media(max-width:900px){.book-detail-hero{gap:32px}.book-beyond{gap:30px}}
@media(max-width:700px){
 header{height:auto;min-height:120px;padding:18px 18px 0;row-gap:12px}header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;margin-top:0}header nav a{text-align:center;min-height:48px;padding:12px 5px;white-space:normal;line-height:1.3;font-size:14px}.book-page-header nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.book-art.cover{height:230px;padding:12px}.book h3{font-size:1.25rem;min-height:0}.book p,.friend-card p{font-size:1rem}.book .eyebrow{font-size:.75rem;letter-spacing:1px}.book .pill{font-size:.9rem;padding:12px 18px}.book-actions{gap:12px}.book-actions .text-button,.book-actions a{font-size:.9rem}
 .book-detail-hero{grid-template-columns:1fr;gap:28px;padding-top:28px}.book-detail-cover{max-width:370px;width:100%;margin:auto;padding:20px}.book-detail-copy h1{font-size:2.3rem}.book-detail-description{font-size:1.05rem}.book-detail-copy .eyebrow{font-size:.75rem}.book-beyond{grid-template-columns:1fr;gap:40px}.book-samples{padding-top:20px}.book-spread-gallery{gap:18px}
 .round{min-width:44px;min-height:44px}.text-button{min-height:44px}.game-top{align-items:center}.game-top>div{min-width:0}.game-top h2{overflow-wrap:break-word}#game-dialog{max-height:94dvh;max-width:calc(100vw - 12px);overflow-y:auto}.game-controls{flex-wrap:wrap}.game-area{min-width:0}.choice{max-width:100%}.target-list{flex-wrap:wrap}.poem-card{min-width:0}.verse{overflow-wrap:break-word}.stamps{flex-wrap:wrap}
}
@media(max-width:460px){.book-grid,.friends-grid{grid-template-columns:1fr}.book-art.cover{height:310px}.book h3{font-size:1.45rem}.friend-art{height:240px}.section{padding-left:20px;padding-right:20px}.book-detail-actions{display:grid;grid-template-columns:1fr}.book-detail-actions .pill{width:100%}.book-detail-cover{max-width:300px}.book-detail-copy h1{font-size:2rem}.header-right{gap:8px}.wordmark{font-size:23px}.header-right .sound{font-size:18px}.island-bar{flex-wrap:wrap;gap:12px}.stamps{width:100%}.teaser-grid{grid-template-columns:1fr}.card-art{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-card,.map-pin{transition:none}}

@media(min-width:701px) and (max-width:1050px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:18px 28px;row-gap:14px}header nav{order:3;width:100%;justify-content:center;gap:22px}header nav a{min-height:44px}.book-page-header nav{order:initial;width:auto}}

.pill.coming-soon:disabled{background:#e2e6df;color:#52625b;border-color:#aebbb1;cursor:default;box-shadow:none;transform:none}

/* Keep portrait grid tracks inside their fixed-height frame, including large PNGs. */
.friend-art{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow:hidden}
.friend-art>.character-art{min-height:0;min-width:0;max-height:100%;max-width:100%}

.catch-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:600px;margin:0 auto 12px;font-size:1rem}.catch-hud #catch-hearts{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;color:#b44732;font-size:1.3rem;line-height:1}.catch-hud .lost{color:#c9c9ba}.catch-stage{position:relative;max-width:min(600px,calc(58dvh * 600 / 560));margin:auto;aspect-ratio:600/560;background:#f9f4e4;border:2px solid #99a78e;border-radius:20px;overflow:hidden}.catch-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:ew-resize}.catch-stage canvas:focus-visible{outline:3px solid #b74c22;outline-offset:-5px}.catch-over{position:absolute;inset:0;background:#fffdf5e8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:20px}.catch-over[hidden],.catch-paused[hidden]{display:none}.catch-over h3{font-size:2rem}.catch-over .pill{min-width:180px;min-height:52px}.catch-paused{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf5ba;font-family:Story,Georgia,serif;font-size:2rem;pointer-events:none}.catch-hint{text-align:center;font-size:.9rem;margin:10px 0 0}.catch-status{text-align:center;font-size:.9rem;min-height:1.5em;margin-top:5px}.catch-loading{text-align:center;padding:60px 20px}@media(max-width:460px){.catch-hud{gap:8px;flex-wrap:wrap}.catch-hud #catch-hearts{font-size:1.1rem}.catch-stage{max-width:100%}.catch-over h3{font-size:1.5rem}}

.catch-hud #catch-hearts .catch-heart{display:inline-block;width:1.15em;text-align:center;transform-origin:center}.catch-hud #catch-hearts .catch-heart.lost{opacity:0}.catch-hud #catch-hearts .catch-heart.heart-pop{color:#b44732;animation:catch-heart-pop .65s ease-out both}@keyframes catch-heart-pop{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1.85) rotate(-12deg)}55%{opacity:1;transform:scale(1.35) translateY(-6px)}100%{opacity:0;transform:scale(.2) translateY(-16px)}}@media(prefers-reduced-motion:reduce){.catch-hud #catch-hearts .catch-heart.heart-pop{animation:none;opacity:0}}
