:root{--cream: #fdf6e3;--paper: #fef9ed;--warm: #f5e6c8;--ink: #3b2a1a;--red: #e05c3a;--teal: #3a9e8f;--sky: #5b9ec9;--sun: #f5c842;--grass: #6abf6e;--rose: #e87a7a;--purple: #9b72cf;--orange: #f0833a;--border: #c8a86b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:var(--font-patrick-hand),cursive;overflow-x:hidden;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Ctext y='28' font-size='28'%3E%F0%9F%A6%8B%3C/text%3E%3C/svg%3E") 14 14,auto;background-color:#0f1628;background-image:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(200,140,40,.28) 0%,transparent 100%),radial-gradient(ellipse 55% 60% at 10% 40%,rgba(100,60,180,.32) 0%,transparent 100%),radial-gradient(ellipse 50% 45% at 90% 100%,rgba(20,120,130,.22) 0%,transparent 100%),radial-gradient(ellipse 80% 70% at 50% 55%,rgba(30,15,65,.55) 0%,transparent 100%),repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(255,210,100,.032) 38px,rgba(255,210,100,.032) 39px),repeating-linear-gradient(90deg,transparent,transparent 38px,rgba(255,210,100,.028) 38px,rgba(255,210,100,.028) 39px);background-attachment:fixed;min-height:100vh;position:relative}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body:before{background-image:radial-gradient(1.5px 1.5px at 4% 8%,rgba(255,255,255,.85) 0%,transparent 100%),radial-gradient(1px 1px at 11% 22%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 18% 5%,rgba(255,255,255,.75) 0%,transparent 100%),radial-gradient(1px 1px at 26% 15%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(2px 2px at 33% 3%,rgba(255,255,255,.9) 0%,transparent 100%),radial-gradient(1px 1px at 41% 19%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 48% 9%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 55% 25%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(2px 2px at 62% 6%,rgba(255,255,255,.85) 0%,transparent 100%),radial-gradient(1px 1px at 69% 17%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 76% 2%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(1px 1px at 83% 13%,rgba(255,255,255,.45) 0%,transparent 100%),radial-gradient(2px 2px at 90% 7%,rgba(255,255,255,.9) 0%,transparent 100%),radial-gradient(1px 1px at 97% 20%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 7% 35%,rgba(255,255,255,.65) 0%,transparent 100%),radial-gradient(1px 1px at 15% 42%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 23% 38%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(2px 2px at 31% 48%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 39% 33%,rgba(255,255,255,.45) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 47% 44%,rgba(255,255,255,.75) 0%,transparent 100%),radial-gradient(1px 1px at 54% 37%,rgba(255,255,255,.5) 0%,transparent 100%),radial-gradient(1px 1px at 61% 50%,rgba(255,255,255,.6) 0%,transparent 100%),radial-gradient(2px 2px at 68% 31%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(1px 1px at 75% 46%,rgba(255,255,255,.45) 0%,transparent 100%),radial-gradient(1.5px 1.5px at 82% 39%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(1px 1px at 89% 28%,rgba(255,255,255,.55) 0%,transparent 100%),radial-gradient(1px 1px at 96% 41%,rgba(255,255,255,.65) 0%,transparent 100%),radial-gradient(2px 2px at 22% 11%,rgba(255,220,140,.8) 0%,transparent 100%),radial-gradient(2px 2px at 57% 29%,rgba(255,220,140,.7) 0%,transparent 100%),radial-gradient(2px 2px at 79% 4%,rgba(255,220,140,.85) 0%,transparent 100%),radial-gradient(2px 2px at 9% 16%,rgba(160,210,255,.7) 0%,transparent 100%),radial-gradient(2px 2px at 44% 42%,rgba(160,210,255,.65) 0%,transparent 100%),radial-gradient(2px 2px at 88% 22%,rgba(160,210,255,.75) 0%,transparent 100%)}body:after{background-image:radial-gradient(2.5px 2.5px at 6% 6%,rgba(255,255,255,.95) 0%,transparent 100%),radial-gradient(3px 3px at 29% 2%,rgba(255,240,180,.9) 0%,transparent 100%),radial-gradient(2.5px 2.5px at 52% 10%,rgba(255,255,255,.88) 0%,transparent 100%),radial-gradient(3px 3px at 74% 1%,rgba(200,220,255,.92) 0%,transparent 100%),radial-gradient(2.5px 2.5px at 93% 8%,rgba(255,255,255,.85) 0%,transparent 100%),radial-gradient(2px 2px at 16% 30%,rgba(255,240,180,.75) 0%,transparent 100%),radial-gradient(2.5px 2.5px at 38% 26%,rgba(255,255,255,.8) 0%,transparent 100%),radial-gradient(3px 3px at 65% 18%,rgba(200,220,255,.85) 0%,transparent 100%),radial-gradient(2px 2px at 85% 35%,rgba(255,255,255,.7) 0%,transparent 100%),radial-gradient(6px 6px at 6% 6%,rgba(255,240,180,.15) 0%,transparent 100%),radial-gradient(6px 6px at 29% 2%,rgba(255,220,120,.12) 0%,transparent 100%),radial-gradient(6px 6px at 74% 1%,rgba(180,200,255,.12) 0%,transparent 100%)}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.55}}body:before{animation:twinkle 6s ease-in-out infinite}body:after{animation:twinkle 9s ease-in-out infinite reverse}::-webkit-scrollbar{width:0}#spine-dots{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1002;display:flex;flex-direction:column;align-items:end;gap:6px}.sdot{height:36px;min-width:36px;border-radius:18px 0 0 18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.18);border-right:none;cursor:pointer;transition:all .28s cubic-bezier(.34,1.56,.64,1);position:relative;display:flex;align-items:center;padding:0 10px 0 8px;overflow:hidden;max-width:36px}.sdot.active{background:var(--red);border-color:#c04020;max-width:200px;padding-left:12px;box-shadow:-3px 0 12px #e05c3a73}.sdot-pip{width:10px;height:10px;border-radius:50%;background:#ffffff73;flex-shrink:0;transition:background .2s}.sdot.active .sdot-pip{background:#fff}.sdot:hover:not(.active) .sdot-pip{background:#fffc}.sdot-tip{font-family:var(--font-fredoka-one),cursive;font-size:12px;color:#fffc;white-space:nowrap;opacity:0;max-width:0;overflow:hidden;transition:opacity .2s,max-width .28s;margin-left:7px;pointer-events:none}.sdot.active .sdot-tip{opacity:1;max-width:160px;color:#fff}.sdot:hover .sdot-tip{opacity:1;max-width:160px}#scroll-hint{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:900;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:1;transition:opacity .6s}#scroll-hint span{font-family:var(--font-fredoka-one),cursive;font-size:15px;color:#ffffff8c;letter-spacing:.05em}.bounce-arrow{font-size:22px;animation:bumpDown 1.3s ease-in-out infinite}@keyframes bumpDown{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.page{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;position:relative;overflow:hidden}.page:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1;mix-blend-mode:multiply}.page-inner{width:min(94vw,960px);min-height:96vh;margin:2vh auto;border-radius:12px 40px/40px 12px;position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:4px 6px #c8a05080,8px 10px #00000040,0 20px 80px #00000080,0 0 0 1px #ffdc7814;z-index:2}.page-inner:before{content:"";position:absolute;inset:8px;border:3px dashed rgba(59,42,26,.12);border-radius:8px 36px/36px 8px;pointer-events:none;z-index:10}.page-1 .page-inner{background:#f5edcf}.page-2 .page-inner{background:#ddf0f8}.page-3 .page-inner{background:#f8e8e0}.page-4 .page-inner{background:#e8e3f8}.page-5 .page-inner{background:#daf5e0}.page-6 .page-inner{background:#f8dff0}.page-7 .page-inner{background:#daeaf8}.page-8 .page-inner{background:#f5edc8}.page-band{width:100%;padding:22px 50px 18px;position:relative;flex-shrink:0}.page-1 .page-band{background:linear-gradient(135deg,#ffe57a44,#ffbc4222)}.page-2 .page-band{background:linear-gradient(135deg,#a8d8ea44,#7ec8d022)}.page-3 .page-band{background:linear-gradient(135deg,#ffb3b344,#ff8a6522)}.page-4 .page-band{background:linear-gradient(135deg,#c5b3ff44,#9b72cf22)}.page-5 .page-band{background:linear-gradient(135deg,#b3ffcc44,#6abf6e22)}.page-6 .page-band{background:linear-gradient(135deg,#ffb3d944,#e87a7a22)}.page-7 .page-band{background:linear-gradient(135deg,#b3d9ff44,#5b9ec922)}.page-8 .page-band{background:linear-gradient(135deg,#ffd70044,#f5c84222)}.page-number-tag{font-family:var(--font-fredoka-one),cursive;font-size:13px;letter-spacing:.08em;color:#3b2a1a73;margin-bottom:6px;display:flex;align-items:center;gap:6px}.page-number-tag:before,.page-number-tag:after{content:"";flex:1;max-width:40px;height:2px;background:currentColor;border-radius:2px;opacity:.4}.page-title{font-family:var(--font-fredoka-one),cursive;font-size:clamp(1.7rem,4.5vw,3.2rem);color:var(--ink);line-height:1.15;margin-bottom:6px;letter-spacing:-.01em}.page-subtitle{font-family:var(--font-patrick-hand),cursive;font-size:clamp(.88rem,1.8vw,1.1rem);color:#3b2a1a99;font-style:italic}.page-text{padding:18px 50px 12px;flex-shrink:0;max-width:800px;width:100%}.story-para{font-family:var(--font-patrick-hand),cursive;font-size:clamp(.95rem,2vw,1.18rem);color:var(--ink);line-height:1.8;margin-bottom:12px}.story-para em{font-family:var(--font-baloo-2),cursive;font-weight:700;font-style:normal;color:var(--red)}.tip-box{display:inline-flex;align-items:flex-start;gap:10px;background:#ffffffb3;border:2.5px solid var(--border);border-radius:16px;padding:10px 18px;margin-top:6px;font-family:var(--font-baloo-2),cursive;font-weight:500;font-size:clamp(.82rem,1.5vw,1rem);color:var(--ink);box-shadow:3px 3px #c8a86b66;position:relative}.tip-box:before{content:"✨ Tip!";position:absolute;top:-12px;left:16px;font-family:var(--font-fredoka-one),cursive;font-size:12px;color:var(--orange);background:#fff;padding:0 6px;border-radius:8px;border:2px solid var(--border)}.page-illus{flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:4px 30px 28px;min-height:0;position:relative}.page-illus svg{width:100%;max-height:44vh;height:100%}.wavy-divider{width:100%;height:18px;flex-shrink:0;overflow:hidden}.deco-star{position:absolute;pointer-events:none;animation:wobble var(--ws,4s) ease-in-out infinite alternate;z-index:5}@keyframes wobble{0%{transform:rotate(var(--r1,-8deg)) scale(1)}to{transform:rotate(var(--r2,8deg)) scale(1.08)}}.page-8 .page-title{font-size:clamp(2rem,5.5vw,3.8rem);color:#b8600a}.page-8 .page-inner{border-radius:50% 14px/14px 50%}@keyframes floatUp{0%,to{transform:translateY(0) rotate(var(--fr,0deg))}50%{transform:translateY(-12px) rotate(var(--fr2,3deg))}}.float{animation:floatUp var(--fd,3s) ease-in-out infinite}@media(max-width:768px){#spine-dots{gap:4px}.sdot{height:30px;min-width:30px}.sdot.active,.sdot:hover{max-width:160px}#scroll-hint span{font-size:13px}.page-inner{width:96vw;min-height:auto;margin:2vw auto;border-radius:10px 28px/28px 10px}.page-inner:before{inset:5px}.page-band{padding:16px 22px 12px}.page-text{padding:12px 22px 8px}.story-para{font-size:1rem;line-height:1.7;margin-bottom:10px}.tip-box{font-size:.85rem;padding:8px 14px}.page-illus{padding:4px 14px 18px}.page-illus svg{max-height:38vh}.deco-star{font-size:16px!important}.page-8 .page-inner{border-radius:28px 10px/10px 28px}}@media(max-width:480px){#spine-dots{gap:3px;right:0}.sdot{height:26px;min-width:26px;border-radius:13px 0 0 13px}.sdot-pip{width:8px;height:8px}.sdot.active,.sdot:hover{max-width:130px}.sdot-tip{font-size:10px}.page-inner{width:100vw;min-height:100svh;margin:0 auto;border-radius:0;box-shadow:none}.page-inner:before{display:none}.page-band{padding:12px 16px 10px}.page-number-tag{font-size:11px}.page-text{padding:10px 16px 6px}.story-para{font-size:.93rem;line-height:1.65;margin-bottom:8px}.tip-box{font-size:.8rem;padding:8px 12px;margin-top:8px;border-radius:12px}.tip-box:before{font-size:10px;top:-10px}.page-illus{padding:2px 8px 14px}.page-illus svg{max-height:42vh}.deco-star{display:none}#scroll-hint{bottom:14px}#scroll-hint span{font-size:12px}.page-8 .page-inner{border-radius:0}}
