@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#f1eadb;--muted:#bdbbad;--gold:#e8bf75;--base:#0b191b;--line:#c0b99530;--font-size:1.24rem;font-family:Manrope,system-ui,sans-serif;background:var(--base);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}button svg{width:20px;height:20px;flex:none}svg{overflow:visible}.hidden,[hidden]{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:.75rem;font-weight:700;color:var(--gold)}.quiet{color:var(--muted);font-size:.875rem;line-height:1.7}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--base);padding:16px}.skip:focus{top:12px}
.topbar{position:fixed;inset:0 0 auto;height:84px;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;background:linear-gradient(#081519ec,#081519b8 75%,transparent);gap:16px}.wordmark{background:none;padding:8px 0;font-size:.88rem;letter-spacing:.25em;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-spark{color:var(--gold);font-size:1.6rem;letter-spacing:0}.top-right{display:flex;align-items:center;gap:10px}.toolbar-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;background:#101e2280;border:1px solid var(--line);border-radius:50px;padding:9px 17px;font-size:.8rem;backdrop-filter:blur(10px)}.toolbar-button:hover{border-color:var(--gold);background:#253239}.top-caption{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.separator{width:1px;height:22px;background:var(--line);margin:0 8px}
.cover{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 8vw 100px;background:#182a27}.cover-image{position:absolute;inset:0;background:url('assets/playground.webp') 65% 55%/cover}.cover-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091b1be8 0%,#102523b8 38%,#13262624 80%),linear-gradient(0deg,#09191b 1%,transparent 32%)}.cover-copy{position:relative;z-index:2;max-width:610px}.cover .eyebrow{display:flex;align-items:center;gap:13px}.cover .eyebrow:before{content:'';height:1px;width:32px;background:var(--gold)}.cover h1{font-size:clamp(3.8rem,6.6vw,6.5rem);line-height:.97;letter-spacing:-.035em;margin:28px 0 25px;text-wrap:balance}.cover h1 em{font-weight:400;color:#ead09a}.cover .intro-copy{max-width:390px;font-family:Georgia,serif;font-size:1.13rem;line-height:1.9;color:#eee8d6}.personal{margin-bottom:22px;font-size:.8rem;color:#e2d8bc;display:flex;align-items:center;gap:9px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:15px 27px;color:#182527;background:linear-gradient(110deg,#f2d39a,#dab474);border:1px solid #f8dfb2;border-radius:4px;font-size:.88rem;font-weight:800;box-shadow:0 5px 30px #0003;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #d8b47525}.cover-meta{margin-top:20px;display:flex;gap:14px;font-size:.75rem;color:#d0c6b4}.cover-bottom{position:absolute;bottom:26px;left:8vw;right:8vw;z-index:3;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d3d2b82a;padding-top:23px;gap:16px}.text-button{background:none;padding:10px 0;display:inline-flex;align-items:center;gap:10px;color:#d8d2c0;font-size:.82rem}.text-button:hover{color:var(--gold)}.cover-note{font-family:Georgia,serif;font-style:italic;font-size:.95rem;color:#d5cab6}.cover-day{position:absolute;right:7vw;bottom:25%;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;color:#fff0d5;text-shadow:0 2px 15px #000}.cover-day span{display:block;font:700 .68rem Manrope,sans-serif;letter-spacing:.25em;color:#eac78e;margin-bottom:12px}
.world{position:fixed;inset:0;z-index:0;pointer-events:none;background:#0b171d;overflow:hidden}.world-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease,filter 2s,transform 2.5s;will-change:opacity}.world-layer.on{opacity:1}.world-layer[data-art=playground]{background-position:70% center}.world-layer[data-art=wall]{background-position:68% center}.world:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09161bea 0%,#09161be3 26%,#09161b9e 48%,#07171b1a 76%),linear-gradient(0deg,#09161b90,transparent 30%);z-index:4}.world .vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,transparent 0,#02080d66 90%);z-index:3}.world.remembering .world-layer{filter:sepia(.4) saturate(.65)}.world.tiny .world-layer.on{transform:scale(1.65);transform-origin:70% 75%;filter:blur(3px)}.world.cold .world-layer.on{filter:saturate(.55)}.reader{position:relative;z-index:5;padding:130px 0 0;min-height:100svh}.reader-main{margin-left:8vw;width:min(550px,43vw);padding-bottom:70px;overflow-wrap:break-word}.chapter-header{margin-bottom:50px;padding-bottom:35px;border-bottom:1px solid var(--line)}.chapter-header h1{font-size:clamp(2.7rem,4.3vw,4.2rem);line-height:1.07;letter-spacing:-.025em;margin:18px 0 18px;text-wrap:balance}.chapter-header .quiet{display:flex;gap:12px;flex-wrap:wrap}.story-body{font-family:Georgia,'Times New Roman',serif;font-size:var(--font-size);line-height:1.85;color:#f1eadf;letter-spacing:.004em}.story-body p{margin:0 0 1.05em}.story-body strong{color:#f5d8a1;font-weight:700}.story-body em{color:#ded3c0}.story-body h2{font-size:2.1em;line-height:1.12;padding-top:70px;margin-bottom:38px;color:#edd9b3}.story-break{border:0;height:1px;background:linear-gradient(90deg,transparent,#d7b47177,transparent);margin:65px 16%;position:relative}.story-break:after{content:'✧';position:absolute;top:-14px;left:calc(50% - 13px);font:25px Georgia;background:#0b191b;padding:0 5px;color:var(--gold)}.lesson-board{background:#142b25;border:9px solid #54402c;outline:1px solid #877050;box-shadow:inset 0 0 38px #0008,0 12px 0 -6px #795936,0 16px 25px #0005;transform:rotate(-.8deg);padding:24px 20px;margin:0 0 48px;text-align:center;position:relative}.lesson-board:before{content:'';position:absolute;inset:8px;border:1px solid #b2c4a51f}.lesson-board .eyebrow{color:#c5d1bb;letter-spacing:.1em;font-size:.68rem}.lesson-board h2{color:#e6eed8;font-size:1.8rem;margin:14px 0;font-variant:small-caps;letter-spacing:.04em}.lesson-board p{font:italic 1rem Georgia;color:#c4d0bc;margin:0}.lesson-board:after{content:'';position:absolute;bottom:-9px;right:45px;width:30px;height:5px;background:#d1d0b3;transform:rotate(2deg);box-shadow:4px 3px 8px #0008}.chapter-end{margin:80px 0 0;text-align:center;border-top:1px solid var(--line);padding:50px 10px}.chapter-end h2{font-size:2.3rem;margin:20px 0 16px}.chapter-end .quiet{max-width:360px;margin:0 auto 24px}.chapter-end .primary{width:100%}.chapter-end .text-button{margin-top:18px}.progress-track{position:fixed;top:82px;left:0;right:0;height:2px;background:#e2bb7015;z-index:25}.progress-fill{height:100%;width:0;background:var(--gold);transition:width .2s}.chapter-rail{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:8;display:flex;flex-direction:column;gap:12px}.rail-step{background:#0b1b228c;border:1px solid #ced4c033;width:30px;height:30px;border-radius:50%;font-size:.67rem;color:#c1c6bf}.rail-step.current{background:var(--gold);color:#15252c;border-color:var(--gold)}.rail-step:disabled{opacity:.4}.scene-label{position:fixed;right:9vw;bottom:7vh;z-index:6;text-align:right;pointer-events:none;max-width:34vw}.scene-label .eyebrow{font-size:.68rem;letter-spacing:.22em;text-shadow:0 2px 10px #000}.scene-label p{font:italic 1.4rem 'Cormorant Garamond',Georgia,serif;color:#f5e8c9;text-shadow:0 2px 8px #000;margin:8px 0}.reader-foot{border-top:1px solid var(--line);padding:28px 8vw;display:flex;gap:20px;justify-content:space-between;background:#0b191bf2;font-size:.8rem}.reader-foot button{padding:0;color:var(--muted);background:none}.save-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:80;padding:12px 20px;background:#142b2f;border:1px solid var(--line);border-radius:6px;font-size:.8rem;max-width:90vw;text-align:center}
.stage{position:fixed;z-index:3;pointer-events:none;left:55vw;right:5vw;top:20vh;bottom:15vh;display:flex;align-items:center;justify-content:center;perspective:900px}.stage>svg{width:100%;max-height:100%;overflow:visible}.effect-symbol{fill:none;stroke:#ffe0a0;stroke-width:2;filter:drop-shadow(0 0 9px #ffc05f);stroke-linecap:round;stroke-linejoin:round}.effect-symbol path{stroke-dasharray:600;stroke-dashoffset:600;animation:trace 4s ease forwards}.stage .fade-in{animation:appear 1.5s both}.stage .glow{filter:drop-shadow(0 0 13px #e5b666)}.leaf-grow{transform-origin:50% 60%;animation:leaf-grow 3s ease both}.forest-interlude{height:110px;position:relative;margin:35px -4vw 35px -6vw;pointer-events:none}.forest-interlude svg{height:100%;width:100%;filter:drop-shadow(0 12px 12px #000a)}.branch-leaf{transform-box:fill-box;transform-origin:0 50%;animation:leaf-sway 7s ease-in-out infinite alternate}.branch-leaf:nth-child(even){animation-duration:5s;animation-delay:-3s}.island{transform-box:fill-box;transform-origin:center;animation:island-hover 6s ease-in-out infinite alternate}.island:nth-child(2n){animation-delay:-3s;animation-duration:8s}.crystal{transform-box:fill-box;transform-origin:center;animation:crystal-light 3s ease-in-out infinite alternate}.fall-scene{animation:soft-fall 1.4s ease both}.digits{position:relative;width:100%;height:320px;font:110px Georgia,serif;filter:drop-shadow(0 6px 18px #0008)}.digit{position:absolute;left:40%;top:30%;color:#e4c678;text-shadow:0 0 25px currentColor;transform-origin:center;animation:digit-float 5s ease-in-out infinite alternate}.digit.n1{color:#83cbb3;animation:peek 4s infinite}.digit.n2{color:#9fc3ee;animation:double 3s infinite}.digit.n2.copy{left:66%;animation-delay:-1.5s}.digit.n3{color:#df9c7e;animation:jostle 4s infinite}.digit.n6{color:#b6a0ed;left:15%;animation:rotate-number 5s infinite}.digit.n9{color:#e9c277;left:65%;animation:rotate-number 5s 1.5s infinite reverse}.digit.n7{color:#bcdf9e;animation:run-seven 5s infinite}.digit.n8{color:#ed9cae;animation:gulp 4s infinite}.digit.n0{color:#efd185;animation:roll-zero 6s infinite}.digit.prey{font-size:50px;left:4%;top:45%;animation:swallow 4s infinite}.digit.n0.caged{animation:digit-float 6s infinite;border:2px solid #b2d9ef77;border-radius:20px;padding:0 25px;top:10%;background:#8bc5dc10}.bike-wheel{transform-box:fill-box;transform-origin:center;animation:wheel 1.8s linear infinite}.bike-handle{transform-box:fill-box;transform-origin:70% 90%;animation:handle-turn 5s ease-in-out infinite}.bike-pedal{transform-box:fill-box;transform-origin:center;animation:wheel 1.8s linear infinite}.bike-bell{transform-box:fill-box;transform-origin:left bottom;animation:ring 4s infinite}.bike-frame{animation:ride 6s ease-in-out infinite}.bike.still .bike-wheel,.bike.still .bike-pedal{animation-play-state:paused}.bike-light{stroke-dasharray:20 10;animation:light-trail 2s linear infinite;filter:drop-shadow(0 0 5px #ffd875)}.paint-line{stroke-dasharray:1900;stroke-dashoffset:1900;animation:paint 13s linear forwards}.memory-brush{offset-path:path('M80 230 L100 90 L250 35 L390 100 L390 235 L270 235 L270 130 L220 130 L220 235 L100 235');offset-rotate:auto;animation:brush-paint 13s linear forwards}.memory-people{position:absolute;inset:0;opacity:.65;filter:sepia(1) drop-shadow(0 0 20px #efc06d);mask-image:linear-gradient(transparent,#000 15%,#000 75%,transparent)}.person{position:absolute;background:url('assets/characters.webp') no-repeat;background-size:200% 100%;height:100%;width:50%;left:25%;background-position:right center;animation:memory-breathe 8s ease-in-out infinite}.person.teacher{background-position:left center}.memory-present{position:absolute;bottom:0;left:0;width:22%;height:45%;opacity:.25}.memory-door{fill:none;stroke:#f8d491;stroke-width:2;stroke-linejoin:round;filter:drop-shadow(0 0 10px #e5ad48);stroke-dasharray:1800;stroke-dashoffset:1800;animation:trace 6s ease forwards}.dark-door{fill:#000;opacity:0;animation:appear 3s forwards}.seal-door .memory-door{stroke-dashoffset:0;animation:untrace 5s ease forwards}.stage.seal-door{animation:vanish 6s forwards}.foreground-sparks{position:fixed;z-index:4;inset:0;pointer-events:none}body.paused *{animation-play-state:paused!important}.still-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}
dialog{color:var(--ink);background:#102125;border:1px solid #b59d683f;border-radius:10px;padding:0;width:min(720px,calc(100% - 28px));max-height:90svh;box-shadow:0 30px 120px #000a}dialog::backdrop{background:#02090ec9;backdrop-filter:blur(8px)}.dialog-head{padding:25px 28px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:2;background:#102125}.dialog-head h2{font-size:2rem;margin:4px 0 0}.close{background:#ffffff08;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;flex:none;border:1px solid var(--line)}.dialog-content{padding:24px 28px 30px}.days-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.day-card{text-align:left;position:relative;background:#1b2e30;padding:20px;min-height:140px;border:1px solid #bbc69c24;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}.day-card:hover:not(:disabled){border-color:var(--gold);background:#233739}.day-card.active{border-color:#ddb672}.day-card:disabled{background:#0d1b1f;color:#849490}.day-card small{font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;color:#c7b890}.day-card:disabled small{color:#95a19a}.day-card strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.55rem;line-height:1.06;max-width:95%}.day-card .status{font-size:.72rem;color:#b6c6bd;margin-top:auto}.day-card svg{position:absolute;right:16px;top:17px;width:14px;height:14px}.days-note{margin:22px 0 0}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.settings-row label{font-size:.9rem}.font-options{display:flex;gap:6px}.font-options button{background:#ffffff08;border:1px solid var(--line);border-radius:4px;min-width:45px;height:44px}.font-options button.selected{border-color:var(--gold);color:var(--gold)}input[type=checkbox]{accent-color:#ddbb7c;width:22px;height:22px}.settings-note{margin-top:20px}.door-dialog{width:min(800px,calc(100% - 28px));background:#191a18}.door-room{position:relative;min-height:520px;background:linear-gradient(0deg,#0c111bf0,transparent 85%),url('assets/teachers-door.webp') center/cover;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:40px 25px;gap:14px}.door-room h2{font-size:2.6rem;margin:0}.brass-plaque{border:1px solid #e3bf78;background:linear-gradient(120deg,#8f6933,#d7b674 40%,#aa8148 55%,#d6b774);color:#291f14;padding:14px 30px;box-shadow:0 4px 12px #0008;border-radius:3px;text-shadow:0 1px #e5c28e;text-align:center}.brass-plaque strong{font-size:.86rem;letter-spacing:.18em}.brass-plaque span{display:block;font-size:.72rem;margin-top:7px}.door-handle{background:none;min-height:54px;padding:12px 20px;color:#ebc983;display:flex;align-items:center;gap:15px;font-size:.88rem}.door-handle svg{width:60px;height:35px;transition:transform .5s;transform-origin:20% center}.door-handle:hover svg{transform:rotate(12deg)}.code-box{background:#13201ef0;border:1px solid var(--line);padding:22px;width:min(360px,100%);border-radius:5px;text-align:left}.code-box label{font-size:.85rem;display:block;margin-bottom:12px}.code-entry{display:flex;gap:8px}.code-entry input{min-width:0;width:100%;background:#0a1517;border:1px solid #aa987877;border-radius:3px;padding:12px;color:#fff;letter-spacing:.1em;text-transform:uppercase}.code-entry button{background:#d8b779;color:#172623;padding:10px 15px;border-radius:3px}.code-error{font-size:.8rem;color:#f0b58f;margin:12px 0 0}.map-room{background:linear-gradient(#1a211bec,#1a211bf5),url('assets/classroom.webp') center/cover;padding:32px}.map-room h2{font-size:2.4rem;margin:12px 0}.map-room .days-grid{margin-top:24px}.map-room .day-card{background:#473a284f;border-color:#bda47642}.backstage-banner{position:relative;z-index:7;margin:0 8vw 25px;width:min(550px,43vw);border:1px solid #e1bd7555;padding:14px 18px;font-size:.8rem;background:#302919da;color:#edcc8e;border-radius:4px}.backstage-banner button{background:none;color:inherit;text-decoration:underline;display:block;padding:10px 0 0;min-height:32px}.storage-notice{font-size:.8rem;padding:15px;border:1px solid #b59d6844;background:#241f16;color:#ead0a4;margin:20px 0;line-height:1.6}
@keyframes trace{to{stroke-dashoffset:0}}@keyframes untrace{to{stroke-dashoffset:1800;opacity:0}}@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes vanish{to{opacity:0}}@keyframes leaf-grow{from{transform:scale(.01) rotate(-25deg);opacity:0}to{transform:scale(1);opacity:1}}@keyframes leaf-sway{from{transform:rotate(-3deg)}to{transform:rotate(5deg)}}@keyframes island-hover{from{transform:translateY(-8px) rotate(-1deg)}to{transform:translateY(9px) rotate(1deg)}}@keyframes crystal-light{from{opacity:.6;filter:drop-shadow(0 0 3px #d6eafa)}to{opacity:1;filter:drop-shadow(0 0 15px #fae0ab)}}@keyframes soft-fall{40%{transform:perspective(900px) translateY(-35px) scale(.85)}70%{transform:perspective(900px) translateY(-60px) scale(.7);opacity:.4}100%{transform:none;opacity:1}}@keyframes digit-float{to{transform:translateY(-20px) rotate(6deg)}}@keyframes peek{0%,100%{transform:translateX(-20px);opacity:.3}30%,70%{transform:translateX(24px);opacity:1}}@keyframes double{0%,100%{transform:scale(.7);opacity:.3}50%{transform:translateY(-35px) scale(1);opacity:1}}@keyframes jostle{0%,100%{transform:translateX(-55px) rotate(-8deg)}40%{transform:translateX(70px) rotate(9deg)}50%,80%{transform:translateX(10px) rotate(-3deg)}}@keyframes rotate-number{0%,25%,100%{transform:rotate(0)}50%,75%{transform:rotate(180deg)}}@keyframes run-seven{0%,100%{transform:translateX(-130px) skewX(-10deg);opacity:0}20%{transform:translateX(0);opacity:1}40%,50%{transform:translateX(20px) rotate(-12deg);opacity:1}70%{transform:translateX(140px) skewX(-15deg);opacity:0}}@keyframes gulp{0%,100%{transform:scale(1)}35%{transform:scale(1.25,.9)}50%{transform:scale(.88,1.1)}70%{transform:scale(1)}}@keyframes swallow{0%{transform:translateX(0);opacity:1}40%,65%{transform:translateX(140px) scale(.05);opacity:0}80%{transform:translateX(220px) scale(1);opacity:1}100%{transform:translateX(300px);opacity:0}}@keyframes roll-zero{0%{transform:translate(-150px,30px) rotate(-180deg)}35%{transform:translate(0,20px) rotate(0)}55%{transform:translate(60px,0) rotate(22deg)}70%{transform:translate(45px,15px) rotate(-10deg)}100%{transform:translate(180px,20px) rotate(180deg)}}@keyframes wheel{to{transform:rotate(360deg)}}@keyframes handle-turn{0%,100%{transform:rotate(0)}35%{transform:rotate(9deg)}70%{transform:rotate(-7deg)}}@keyframes ring{0%,60%,100%{transform:rotate(0)}64%,70%{transform:rotate(-28deg)}67%,73%{transform:rotate(8deg)}}@keyframes ride{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-15px,-7px) rotate(-2deg)}}@keyframes light-trail{to{stroke-dashoffset:-90}}@keyframes paint{to{stroke-dashoffset:0}}@keyframes brush-paint{from{offset-distance:0%}to{offset-distance:100%}}@keyframes memory-breathe{0%,100%{opacity:.6}50%{opacity:.9}}
@media(min-width:1600px){.reader-main{margin-left:12vw;width:600px}.stage{left:57vw}.backstage-banner{margin-left:12vw;width:600px}}
@media(max-width:850px){.topbar{height:72px;padding:0 22px}.top-caption,.separator{display:none}.toolbar-button{padding:10px 12px}.wordmark{font-size:.75rem;letter-spacing:.15em}.progress-track{top:70px}.cover{padding:125px 7vw 140px;align-items:center}.cover-image{background-position:64% center}.cover-image:after{background:linear-gradient(90deg,#071a1ee6,#071a1e99 60%,#071a1e44),linear-gradient(0deg,#09191b,transparent 45%)}.cover h1{font-size:clamp(3.7rem,10vw,5.2rem)}.cover-day{display:none}.cover-bottom{left:7vw;right:7vw;align-items:flex-start}.cover-note{max-width:180px;font-size:.83rem;line-height:1.6}.reader{padding-top:110px}.reader-main{margin:0 7vw;width:62vw}.stage{left:68vw;right:3vw;top:30vh;bottom:20vh;opacity:.8}.world:after{background:linear-gradient(90deg,#09161bf2,#09161bdc 52%,#09161b77 85%)}.chapter-rail{display:none}.scene-label{right:5vw;max-width:20vw}.scene-label p{font-size:1.05rem}.backstage-banner{width:62vw;margin-left:7vw}.reader-foot{padding:26px 7vw}}
@media(max-width:600px){:root{--font-size:1.125rem}.topbar{padding:0 18px}.wordmark{font-size:.68rem;letter-spacing:.13em;gap:7px}.brand-spark{font-size:1.3rem}.toolbar-button{min-width:42px}.toolbar-button .button-label{display:none}.top-right{gap:7px}.cover{padding:110px 7vw 150px}.cover h1{font-size:3.9rem;line-height:1;max-width:330px;margin:25px 0}.cover .intro-copy{font-size:1.06rem;max-width:280px}.cover .eyebrow{font-size:.65rem;letter-spacing:.13em}.cover .primary{width:100%;max-width:330px}.cover-meta{font-size:.69rem;gap:9px}.cover-bottom{bottom:20px;padding-top:15px;align-items:center}.cover-note{max-width:150px;font-size:.78rem}.reader{padding:110px 0 0}.reader-main{margin:0 7vw;width:86vw}.world-layer{background-position:center 25%;background-size:auto 100%}.world:after{background:linear-gradient(0deg,#09161bf7 0%,#09161bef 50%,#09161bba 75%,#09161b66 100%)}.stage{left:52vw;right:7vw;top:90px;bottom:auto;height:155px;opacity:.5;z-index:2}.stage .digits{height:130px;font-size:65px}.scene-label{display:none}.chapter-header{min-height:270px;display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:36px}.chapter-header h1{font-size:3.1rem;max-width:330px}.chapter-header .quiet{font-size:.78rem}.story-body{line-height:1.88}.story-body p{margin-bottom:1.05em}.story-body h2{font-size:2.1rem}.backstage-banner{width:86vw;margin-left:7vw;margin-bottom:0}.reader-foot{flex-direction:column;align-items:center}.dialog-head{padding:20px}.dialog-head h2{font-size:1.8rem}.dialog-content{padding:20px}.day-card{padding:16px;min-height:136px}.day-card strong{font-size:1.34rem}.day-card .status{font-size:.68rem}.map-room{padding:23px 18px}.map-room h2{font-size:2rem}.door-room{min-height:500px}.lesson-board{margin-top:10px}.forest-interlude{margin-left:-7vw;margin-right:-7vw;height:90px}.chapter-end{padding-left:0;padding-right:0}.memory-people{opacity:.8}}
.beat-illustration{display:none}.offscreen *{animation-play-state:paused!important}
@media(max-width:600px){.stage{display:none}.beat-illustration{display:block;position:relative;isolation:isolate;height:300px;margin:32px -7vw 42px;overflow:hidden;background-size:cover;background-position:center}.beat-illustration:after{content:'';position:absolute;z-index:2;pointer-events:none;inset:0;background:linear-gradient(0deg,#09191b 0%,transparent 25%,transparent 80%,#09191b 100%)}.beat-illustration .beat-fx{position:absolute;inset:10% 15%;display:flex;justify-content:center;align-items:center;pointer-events:none}.beat-illustration .beat-fx>svg{width:100%;height:100%}.beat-illustration .digits{height:200px;font-size:90px}.beat-illustration .person{width:65%;left:18%}.beat-illustration .memory-people{opacity:.95}.beat-illustration[data-scene=painting],.beat-illustration[data-scene=painting-done]{height:320px}.beat-illustration[data-scene=seal] .memory-door{stroke-dashoffset:0;animation:untrace 5s ease forwards}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}.world-layer{will-change:auto}.world.tiny .world-layer.on{transform:none;filter:none}.world-layer{transition:none}}

.memory-people.teacher-figure{opacity:1;filter:none}.teacher-figure .person{animation:none}

/* Schulwelt-Finale: Originalmarke und gemalte Schlüsselszenen */
.wordmark{padding:2px 0;letter-spacing:0}.brand-logo{display:block;width:104px;height:76px;object-fit:contain;object-position:left center;filter:drop-shadow(0 3px 10px #0008)}
.cover-image{background-image:url('assets/playground-alessia-v1.jpg');background-position:60% 55%}.cover-image:after{background:linear-gradient(90deg,#071719ef 0%,#0c2222c4 35%,#13262620 76%),linear-gradient(0deg,#09191b 1%,transparent 32%)}
.cover-bottom{bottom:24px;align-items:flex-end;padding-top:19px}.cover-teacher-sign{position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 22px 9px;color:#272118;background:linear-gradient(118deg,#9d9380,#ddd1b8 34%,#aaa08c 57%,#d9cfbc 82%,#8e877b);border:1px solid #e9dcc3;border-radius:2px;box-shadow:0 5px 18px #0009,inset 0 0 0 1px #6c6458;transform:rotate(-1.5deg);text-shadow:0 1px #fff7}.cover-teacher-sign:before,.cover-teacher-sign:after{content:'';position:absolute;top:9px;width:5px;height:5px;border-radius:50%;background:#675f53;box-shadow:inset 0 1px 2px #28231e}.cover-teacher-sign:before{left:8px}.cover-teacher-sign:after{right:8px}.cover-teacher-sign span{font-size:.72rem;font-weight:800;letter-spacing:.17em}.cover-teacher-sign small{font-size:.53rem;letter-spacing:.09em}.cover-teacher-sign:hover{filter:brightness(1.08);transform:rotate(-.5deg) translateY(-1px)}
.world-layer[data-art=playground]{background-position:63% center}.world-layer[data-art=gate]{background-position:62% center}.world-layer[data-art=wallDoor]{background-position:66% center}
.epilogue-card{position:relative;margin:0 -18px 34px;padding:42px 34px 35px;background:linear-gradient(135deg,#281f38ef,#111f24f2);border:1px solid #cba0ff45;border-radius:9px;box-shadow:0 22px 70px #0008;overflow:hidden}.epilogue-card:before{content:'✦';position:absolute;right:20px;top:10px;color:#b578ff38;font:80px Georgia}.epilogue-card .eyebrow{color:#d7afff}.epilogue-card h2{font-size:2.7rem;color:#f2e5ff}.epilogue-card p{position:relative;font:1.05rem/1.85 Georgia,serif;color:#ede6ef;max-width:440px;margin:0 auto 16px}.epilogue-card p:last-child{margin-bottom:0;color:#d8bdff;font-style:italic}
.memory-canvas{position:relative;width:min(100%,560px);aspect-ratio:1.45;background:#ded1b4;border:10px solid #a68f68;box-shadow:0 25px 60px #000b,inset 0 0 45px #675b4277;transform:rotate(-1deg);overflow:hidden}.memory-canvas:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,transparent,#473a2444),repeating-linear-gradient(8deg,#fff0 0 3px,#59462f12 4px 5px);mix-blend-mode:multiply;pointer-events:none}.memory-paint{position:absolute;inset:4%;background:url('assets/wall-door-painted.png') center/cover;filter:sepia(.48) saturate(.72) contrast(.9);clip-path:inset(0 100% 0 0);animation:painting-reveal 13s steps(18,end) forwards}.memory-paint.done{clip-path:inset(0);animation:none}.memory-brush-real{position:absolute;z-index:3;width:150px;height:18px;border-radius:14px;background:linear-gradient(90deg,#2b2119,#5d4630 70%,#d0a85f 71% 88%,#9a733a);box-shadow:0 7px 12px #0007;transform:rotate(-22deg);left:5%;top:16%;animation:brush-real 13s ease-in-out forwards}.memory-canvas.finished .memory-brush-real{display:none}
@keyframes painting-reveal{0%{clip-path:inset(0 100% 0 0);filter:sepia(.8) saturate(.35) blur(2px)}45%{clip-path:inset(0 48% 0 0)}100%{clip-path:inset(0);filter:sepia(.48) saturate(.72) blur(0)}}@keyframes brush-real{0%{left:4%;top:14%;transform:rotate(-22deg)}20%{left:58%;top:25%;transform:rotate(-12deg)}40%{left:12%;top:42%;transform:rotate(-24deg)}60%{left:62%;top:58%;transform:rotate(-10deg)}80%{left:18%;top:73%;transform:rotate(-25deg)}100%{left:72%;top:84%;opacity:.55;transform:rotate(-8deg)}}
@media(max-width:850px){.brand-logo{width:88px;height:64px}}
@media(max-width:600px){.brand-logo{width:78px;height:57px}.cover-image{background-position:59% center}.cover-teacher-sign{padding:9px 15px 8px}.cover-teacher-sign span{font-size:.63rem}.cover-teacher-sign small{font-size:.47rem}.epilogue-card{margin-left:0;margin-right:0;padding:35px 22px}.epilogue-card h2{font-size:2.25rem}.memory-canvas{border-width:6px}}

/* Bildszenen: heller, cachefest und ohne dekorative Vektor-Ranken */
.world{background:#132328}
.world-layer{transition:opacity 1.2s ease,filter 1.2s,transform 2s}
.world:after{background:linear-gradient(90deg,#09161bd9 0%,#09161bc7 26%,#09161b70 48%,#07171b08 76%),linear-gradient(0deg,#09161b70,transparent 28%)}
.world-layer[data-art=numbers],.world-layer[data-art=bicycle],.world-layer[data-art=ancient],.world-layer[data-art=arthur],.world-layer[data-art=maribel],.world-layer[data-art=stone],.world-layer[data-art=box],.world-layer[data-art=miniature],.world-layer[data-art=islands]{filter:brightness(1.08) saturate(1.05)}
.world.cold .world-layer.on{filter:brightness(1.12) saturate(.72)}
.world.remembering .world-layer.on{filter:sepia(.2) saturate(.85) brightness(1.1)}
@media(max-width:850px){.world:after{background:linear-gradient(90deg,#09161bdf 0%,#09161bb5 45%,#09161b45 78%,transparent 100%)}}
@media(max-width:600px){.world:after{background:linear-gradient(0deg,#09161be8 0%,#09161bc7 50%,#09161b6b 78%,#09161b30 100%)}.beat-illustration:after{background:linear-gradient(0deg,#09191bcc 0%,transparent 22%,transparent 86%,#09191b88 100%)}}
.memory-paint{background-image:url('assets/arthur-wall-v1.jpg')}
