:root{--paper:#fff9ec;--cream:#f3ead8;--ink:#393d37;--muted:#696b5e;--wine:#773e43;--wine-dark:#5b2e34;--sage:#496652;--gold:#b98338;--line:#ddcfb6;--soft:#e9eddf;--shadow:0 14px 40px #59412512;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--cream);font-size:18px}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#bc9e6f10 1px,transparent 1px);background-size:7px 7px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;background:var(--paper);color:var(--ink);transition:background .15s,transform .15s}button:hover:not(:disabled){background:#eee6d3;transform:translateY(-1px)}button:disabled{cursor:default;opacity:.6}button.primary,.primary{background:var(--wine);color:#fff8e8;border-color:var(--wine)}button.primary:hover:not(:disabled){background:var(--wine-dark)}button.secondary{background:var(--sage);color:white;border-color:var(--sage)}button.danger{background:#843e3e;color:white}a{color:var(--wine);text-underline-offset:4px}a:hover{color:#482c30}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #277789;outline-offset:4px}input,select{border:1px solid #b6ad98;border-radius:9px;background:#fffdf6;padding:12px;max-width:100%;color:var(--ink)}input[type=range]{accent-color:var(--wine);padding:0;width:100%;min-height:40px}input[type=checkbox]{accent-color:var(--wine);width:22px;height:22px;vertical-align:middle;margin-right:12px}.topbar{display:flex;justify-content:space-between;align-items:center;max-width:1320px;margin:auto;padding:24px 42px 20px;gap:12px}.brand{text-decoration:none;font-size:26px;font-weight:bold;line-height:1;color:var(--wine)}.brand em{font-weight:normal}.brand small{display:block;font:10px/1.9 Arial,sans-serif;letter-spacing:3px}.return{font:14px Arial,sans-serif}.navigation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;border-block:1px solid var(--line);padding:9px 16px;background:#fff9ec88}.navigation button{font:14px Arial,sans-serif;border:0;background:transparent;min-height:42px;padding:8px 16px}.navigation button.active{background:var(--wine);color:white}main{max-width:1240px;margin:auto;padding:40px;min-height:65vh}main:focus{outline:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.5vw,64px);font-weight:normal;line-height:1.06;letter-spacing:-1.7px;margin-bottom:20px}h2{font-size:32px;font-weight:normal;line-height:1.15}h3{font-size:22px;font-weight:normal}p{line-height:1.6}.eyebrow{font:11px/1.7 Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:var(--wine);font-weight:bold;margin-bottom:15px}.subhead{font-size:22px;color:var(--sage);font-style:italic}.muted{color:var(--muted);font:14px/1.5 Arial,sans-serif}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px;padding:12px 0 32px}.hero-copy{max-width:480px}.hero-copy p:not(.eyebrow):not(.subhead){font-size:18px;max-width:440px}.hero-art{position:relative;padding:18px;background:#fff9ec;border:1px solid #d1bfa1;border-radius:48% 48% 8px 8px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-art .scene-art{border-radius:46% 46% 4px 4px;aspect-ratio:1/1.02}.hero-art:after{content:'A little kindness makes a big difference.';display:block;text-align:center;font-size:16px;font-style:italic;padding:16px 0 2px;color:var(--sage)}.scene-art{background-image:url('assets/story-atlas.png');background-size:400% 500%;background-repeat:no-repeat;background-position:0 0;aspect-ratio:1;border-radius:18px;position:relative;overflow:hidden;background-color:#d4d9b0}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.actions .primary{padding:14px 25px}.book-note{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid var(--line);font-size:16px;color:var(--muted)}.book-note .icon{width:42px;height:42px;flex-shrink:0}.icon{width:48px;height:48px;display:inline-block;vertical-align:middle;flex-shrink:0}.welcome-banner{display:flex;align-items:center;gap:14px;background:var(--soft);padding:15px 20px;border-radius:14px;margin-bottom:30px;font:15px/1.5 Arial,sans-serif}.chapter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.chapter-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column}.chapter-card .scene-art{aspect-ratio:1.4;border-radius:10px}.chapter-card .content{padding:18px 8px 8px;display:flex;flex-direction:column;flex:1}.chapter-card h3{margin:7px 0 8px}.chapter-card p{font-size:15px;margin-bottom:15px;line-height:1.5}.chapter-card button{margin-top:auto;width:100%}.chapter-card .muted{font-size:12px}.locked .scene-art{filter:saturate(.35);opacity:.7}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.section-head h1{font-size:42px;margin-bottom:10px}.small-title{font-size:22px}.game-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.game-top h1{font-size:32px;margin-bottom:4px;letter-spacing:-.5px}.page-pills{display:flex;gap:6px}.page-pills button{padding:0;min-width:42px;border-radius:50%;height:42px;min-height:42px;font:14px Arial,sans-serif}.page-pills .current{background:var(--wine);color:white}.page-pills .done{background:var(--sage);color:white}.objective{background:var(--sage);color:#fff9ec;padding:14px 20px;border-radius:12px;margin-bottom:22px;display:flex;gap:12px;align-items:center;font:16px/1.45 Arial,sans-serif}.objective strong{white-space:nowrap}.play-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.scene-side{position:sticky;top:18px}.scene-side .scene-art{border:8px solid var(--paper);box-shadow:var(--shadow);border-radius:16px}.scene-caption{font-size:13px;text-align:center;font-style:italic;color:var(--muted);padding:10px}.story-panel{background:var(--paper);padding:25px;border:1px solid var(--line);border-radius:18px}.story-panel h2{font-size:27px;margin-bottom:14px}.story-text{font-size:17px}.story-text p{margin-bottom:15px}.voice-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-block:13px;border-block:1px solid var(--line);margin-top:15px}.voice-controls button{font:13px Arial,sans-serif;padding:8px 12px;min-height:40px}.voice-status{font:11px/1.5 Arial,sans-serif;color:var(--muted);width:100%}.puzzle{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.puzzle h3{font-size:21px;margin-bottom:8px}.puzzle-instruction{font:15px/1.5 Arial,sans-serif;margin-bottom:15px}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 7px;min-width:0;text-align:center;font:14px/1.35 Arial,sans-serif;position:relative}.option .icon{width:54px;height:54px}.option.selected{border:2px solid var(--wine);background:#f1e2d9;padding:11px 6px}.option.correct{background:#e2ebd7;border-color:#719164;opacity:1}.option.correct:after{content:'✓';position:absolute;right:7px;top:3px;color:#3f6542;font-weight:bold}.option.hint-target{box-shadow:0 0 0 3px #dbb86e}.puzzle-sequence{font:14px/1.6 Arial,sans-serif;padding:10px;background:var(--cream);border-radius:8px;margin-bottom:12px;min-height:44px}.match-board{display:grid;grid-template-columns:1fr 1fr;gap:12px}.match-col{display:grid;gap:9px}.match-col .option{flex-direction:row;text-align:left;justify-content:flex-start;font-size:13px}.match-col .icon{width:35px;height:35px}.puzzle-feedback{font:14px/1.6 Arial,sans-serif;margin:12px 0;min-height:24px;color:var(--sage)}.success-box{padding:18px;background:#e9eedf;border-radius:13px;border:1px solid #bfccad}.success-box .icon{width:34px;height:34px}.success-box p{font:16px/1.5 Arial,sans-serif;margin:10px 0 0}.puzzle-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.puzzle-tools button{font:13px Arial,sans-serif;padding:8px 11px}.hint-box{background:#f7e8bd;border-left:3px solid var(--gold);padding:14px;margin-top:14px;font:15px/1.5 Arial,sans-serif;border-radius:0 8px 8px 0}.satchel{background:#f8f0de;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:18px}.satchel h3{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.satchel-items{display:flex;gap:9px;flex-wrap:wrap}.satchel button{display:flex;align-items:center;gap:6px;font:13px Arial,sans-serif;min-height:44px}.satchel .icon{width:30px;height:30px}.satchel .selected{outline:2px solid var(--wine);background:#f1e0d0}.finish{max-width:800px;margin:auto;text-align:center;background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:25px}.finish>.icon{width:110px;height:110px}.finish h1{font-size:45px;margin-top:20px}.finish .actions{justify-content:center}.stickers{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.sticker{border:1px dashed #c2b599;background:var(--paper);border-radius:50% 50% 15px 15px;text-align:center;padding:25px 12px 18px}.sticker .icon{height:80px;width:80px;max-width:100%}.sticker p{font:14px/1.5 Arial,sans-serif;margin:15px 0 0}.sticker.unearned{filter:grayscale(1);opacity:.65}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.panel{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:25px}.setting{display:block;margin:18px 0;font:16px/1.6 Arial,sans-serif}.setting select{display:block;margin-top:9px;width:100%;font-size:15px}.setting .muted{display:block;margin-top:5px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.profile-card{display:flex;align-items:center;gap:13px;padding:22px;text-align:left}.profile-card .icon{width:60px;height:60px}.profile-card.selected{border:2px solid var(--wine);background:#f3e4d7}.profile-card span{font-size:17px;overflow-wrap:anywhere}.profile-card small{display:block;font:12px Arial,sans-serif;color:var(--muted);margin-top:5px}.avatar-options{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.avatar-options button{padding:10px;min-width:64px}.avatar-options .selected{background:var(--soft);outline:2px solid var(--sage)}.help-copy{max-width:850px;margin:auto}.help-copy h2{font-size:27px;margin-top:32px}.help-copy p,.help-copy li{font:16px/1.8 Arial,sans-serif}.help-copy li{margin-bottom:10px}.guide{display:flex;align-items:flex-start;gap:15px;margin-top:18px;background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:14px}.guide .icon{width:63px;height:63px}.guide p{font:14px/1.6 Arial,sans-serif;margin:0}.notice{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#393d37;color:white;padding:12px 20px;border-radius:14px;font:14px/1.5 Arial,sans-serif;max-width:90vw;z-index:10;box-shadow:var(--shadow);display:none}.notice.visible{display:block}footer{text-align:center;font-size:14px;border-top:1px solid var(--line);padding:25px 20px max(25px,env(safe-area-inset-bottom));color:var(--wine);line-height:1.6}footer span{display:block;font:11px/1.6 Arial,sans-serif;color:var(--muted);margin-top:5px}.skip{position:absolute;top:-100px;left:10px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;max-width:min(520px,92vw);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#3339}.page-enter{animation:page .4s ease}@keyframes page{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:950px){.hero{gap:30px}.chapter-grid{grid-template-columns:repeat(2,1fr)}.play-grid{gap:20px}.story-panel{padding:20px}.options{grid-template-columns:repeat(2,minmax(0,1fr))}.stickers{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){:root{font-size:17px}.topbar{padding:18px 18px 14px}.brand{font-size:23px}.brand small{font-size:8px}.return{font-size:12px}.navigation{padding:7px;gap:2px}.navigation button{font-size:12px;min-height:40px;padding:7px 10px}main{padding:24px 15px}.hero{grid-template-columns:1fr;gap:26px;padding:0}.hero-copy{max-width:none}.hero h1{font-size:43px;max-width:360px}.hero-copy p:not(.eyebrow):not(.subhead){font-size:17px}.hero-art{max-width:410px;width:100%;margin:0 auto 24px;transform:none}.hero-art .scene-art{aspect-ratio:1.25}.hero .actions button{flex:1}.book-note{font-size:14px}.chapter-grid{gap:13px}.chapter-card{padding:8px}.chapter-card .content{padding:12px 4px 4px}.chapter-card h3{font-size:20px}.chapter-card p{font-size:13px}.chapter-card button{font:13px Arial,sans-serif;padding:9px}.chapter-card .scene-art{aspect-ratio:1.1}.section-head h1{font-size:34px}.section-head .muted{font-size:12px}.game-top{align-items:flex-start;flex-wrap:wrap}.game-top h1{font-size:27px}.game-top .muted{font-size:12px}.page-pills button{min-width:36px;width:36px;height:36px;min-height:36px}.objective{font-size:14px;padding:12px;display:block;margin-bottom:15px}.objective strong{margin-right:5px}.play-grid{grid-template-columns:1fr;gap:14px}.scene-side{position:static}.scene-side .scene-art{max-width:420px;margin:auto;aspect-ratio:1.35;border-width:5px}.scene-caption{font-size:12px}.story-panel{padding:18px}.story-text{font-size:17px}.options{grid-template-columns:repeat(3,minmax(0,1fr))}.option{font-size:13px;min-height:100px}.option .icon{width:44px;height:44px}.match-col .option{flex-direction:column;text-align:center;min-height:95px}.settings-grid{grid-template-columns:1fr;gap:15px}.panel{padding:20px}.profile-grid{grid-template-columns:1fr}.profile-card{padding:15px}.stickers{grid-template-columns:repeat(2,1fr)}.sticker{padding:20px 10px}.finish{padding:28px 18px}.finish h1{font-size:34px}.finish .actions button{width:100%}.guide{padding:14px;gap:10px}.guide .icon{width:49px;height:49px}.actions button{font-size:15px}.welcome-banner{font-size:14px;padding:13px}.puzzle-tools button{min-height:44px}.help-copy p,.help-copy li{font-size:15px}}@media(max-width:360px){.options{grid-template-columns:repeat(2,minmax(0,1fr))}.return{max-width:110px;text-align:right}.hero h1{font-size:38px}}@media(max-height:500px) and (orientation:landscape){.play-grid{grid-template-columns:1fr 1fr}.scene-side{position:sticky}.scene-side .scene-art{aspect-ratio:1}.game-top{flex-wrap:nowrap}.options{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:650px){.scene-side .guide{display:none}.page-pills button{min-width:44px;width:44px;height:44px;min-height:44px}.story-panel .satchel{margin-bottom:18px}.scene-caption{padding-bottom:0}}

img.custom-art{display:block;width:100%;object-fit:cover;background-image:none}
