:root{--sky:#e9f1ff;--paper:#fff;--ink:#22264a;--soft:#5b6290;--grape:#6b4bd8;--tangerine:#ff7a3d;--mint:#20b58a;--sun:#ffc83d;--line:#d5ddf5;--tile:#f5f7ff;--tile-on:#efe9ff;--display:"Fredoka", "Baloo 2", ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--r:22px;--tap:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sky:#141833;--paper:#1f2448;--ink:#f1f2ff;--soft:#aeb4dd;--grape:#a68bff;--tangerine:#ff955f;--mint:#3ed3a6;--sun:#ffd25e;--line:#343b6e;--tile:#262c57;--tile-on:#352c6e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--sky:#141833;--paper:#1f2448;--ink:#f1f2ff;--soft:#aeb4dd;--grape:#a68bff;--tangerine:#ff955f;--mint:#3ed3a6;--sun:#ffd25e;--line:#343b6e;--tile:#262c57;--tile-on:#352c6e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--sky);color:var(--ink);font-family:var(--body);padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:18px;line-height:1.5}input,textarea{-webkit-user-select:text;user-select:text}.wrap{flex-direction:column;gap:18px;max-width:860px;margin:0 auto;display:flex}header.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:30px;font-weight:700;display:flex}.brand .spark{background:var(--tangerine);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:22px;display:grid;transform:rotate(-8deg)}.card{background:var(--paper);border-radius:var(--r);box-shadow:0 10px 0 var(--line);border:2px solid var(--line);padding:clamp(18px,4vw,32px)}.center{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}h1,h2,.q{font-family:var(--display);text-wrap:balance;margin:0;font-weight:700;line-height:1.1}h1{font-size:clamp(34px,7vw,56px)}h2{font-size:clamp(28px,5vw,42px)}.q{flex:1;min-width:0;font-size:clamp(28px,5.5vw,42px)}.soft{color:var(--soft)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:4px solid var(--sun);outline-offset:3px}.btn{font-family:var(--display);color:#fff;background:var(--tangerine);box-shadow:0 6px 0 color-mix(in srgb, var(--tangerine) 55%, #000);min-height:var(--tap);min-width:var(--tap);border:none;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:16px 28px;font-size:24px;font-weight:700;display:inline-flex}.btn:active{box-shadow:none;transform:translateY(5px)}.btn.alt{background:var(--paper);color:var(--ink);border:2px solid var(--line);box-shadow:0 6px 0 var(--line)}.btn.mint{background:var(--mint);box-shadow:0 6px 0 color-mix(in srgb, var(--mint) 55%, #000)}.btn.grape{background:var(--grape);box-shadow:0 6px 0 color-mix(in srgb, var(--grape) 55%, #000)}.btn.huge{min-height:96px;padding:24px 40px;font-size:34px}.btn:disabled{opacity:.45;cursor:not-allowed}.speak{background:var(--grape);color:#fff;width:72px;height:72px;box-shadow:0 5px 0 color-mix(in srgb, var(--grape) 55%, #000);border:none;border-radius:50%;flex:none;font-size:32px}.speak:active{box-shadow:none;transform:translateY(4px)}.pill{font-family:var(--display);border:2px solid var(--line);background:var(--paper);border-radius:999px;min-height:48px;padding:10px 18px;font-size:17px;font-weight:600}.qrow{align-items:flex-start;gap:14px;display:flex}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:22px;display:grid}.tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{background:var(--tile);min-height:132px;min-width:var(--tap);font-family:var(--display);border:3px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 10px;font-size:21px;font-weight:600;line-height:1.15;transition:transform .12s;display:flex}.tile .em{font-size:52px;line-height:1}.tile:active{transform:scale(.96)}.tile[aria-pressed=true]{border-color:var(--grape);background:var(--tile-on)}.swatch{border:3px solid var(--paper);width:60px;height:60px;box-shadow:0 0 0 2px var(--line);border-radius:50%}.answer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:22px;display:flex}.nav{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.mic{background:var(--mint);color:#fff;width:112px;height:112px;box-shadow:0 7px 0 color-mix(in srgb, var(--mint) 55%, #000);touch-action:none;border:none;border-radius:50%;font-size:48px}.mic-wrap{place-items:center;display:inline-grid;position:relative}.mic{z-index:1;transition:transform .12s ease-out,width .2s,height .2s;position:relative}.mic.on{background:var(--tangerine);width:150px;height:150px;box-shadow:0 7px 0 color-mix(in srgb, var(--tangerine) 55%, #000), 0 0 0 calc(8px + var(--level,0) * 26px) color-mix(in srgb, var(--tangerine) 30%, transparent);transform:scale(calc(1 + var(--level,0) * .12));font-size:64px}.mic-rings{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.mic-rings i{border:6px solid var(--tangerine);opacity:0;border-radius:50%;width:150px;height:150px;animation:1.8s ease-out infinite mic-ripple;position:absolute}.mic-rings i:nth-child(2){animation-delay:.6s}.mic-rings i:nth-child(3){animation-delay:1.2s}@keyframes mic-ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.3)}}@keyframes pulse{50%{transform:scale(1.08)}}.chip{background:var(--tile-on);border:2px dashed var(--grape);min-height:var(--tap);border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-size:20px;display:inline-flex}.chip.heard{font:inherit;color:var(--ink);cursor:pointer;text-align:start;max-width:min(100%,560px);padding:12px 14px 12px 20px;font-size:22px;font-weight:700;line-height:1.35}.chip-yes{background:var(--mint);color:#fff;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.progress{align-items:center;gap:8px;display:flex}.dot{background:var(--line);border-radius:99px;flex:1;height:14px;transition:background .3s}.dot.done{background:var(--mint)}.dot.now{background:var(--tangerine)}.pop{pointer-events:none;place-items:center;font-size:120px;animation:.7s ease-out forwards pop;display:grid;position:fixed;inset:0}@keyframes pop{0%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.4)translateY(-40px)}}.avatars{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;width:100%;display:grid}.avatar{background:var(--tile);border:3px solid var(--line);min-height:170px;font-family:var(--display);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px 10px;font-size:26px;font-weight:700;display:flex}.avatar .em{font-size:72px;line-height:1}.shelf{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;width:100%;display:grid}.shelf button{text-align:center;background:var(--tile);border:2px solid var(--line);min-height:120px;font-family:var(--display);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px;font-size:20px;font-weight:600;display:flex}.shelf .em{font-size:44px}.page{max-width:32em;min-height:7em;margin:18px 0;font-size:clamp(24px,3.4vw,30px);line-height:1.55}.page b{color:var(--grape)}.pagenav{justify-content:space-between;align-items:center;gap:12px;display:flex}.pnum{font-family:var(--display);color:var(--soft);font-variant-numeric:tabular-nums;font-weight:600}.lyrics{background:var(--tile);white-space:pre-wrap;border-radius:14px;max-height:50vh;padding:16px 18px;font-size:19px;line-height:1.6;overflow:auto}.thinking{font-family:var(--display);padding:30px 0;font-size:30px}.bounce{font-size:72px;animation:1s infinite b;display:inline-block}@keyframes b{50%{transform:translateY(-16px)}}.gate{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;overflow:hidden}.gate *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}.gate .fill{background:color-mix(in srgb, var(--grape) 35%, transparent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.gate span{position:relative}form.grown{text-align:left;gap:12px;width:100%;max-width:480px;display:grid}form.grown label{gap:6px;font-weight:700;display:grid}form.grown input,form.grown select{font:inherit;border:2px solid var(--line);background:var(--tile);color:var(--ink);border-radius:12px;min-height:52px;padding:12px 14px}.emoji-pick{flex-wrap:wrap;gap:8px;display:flex}.emoji-pick button{background:var(--tile);border:3px solid #0000;border-radius:14px;width:64px;height:64px;font-size:32px}.emoji-pick button[aria-pressed=true]{border-color:var(--grape)}.error{background:color-mix(in srgb, var(--tangerine) 15%, var(--paper));border-color:var(--tangerine)}.small{font-size:15px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.start{place-items:center;min-height:calc(100dvh - 140px);display:grid;position:relative}.spark-button{aspect-ratio:1;width:min(92vw,100dvh - 180px,640px);min-width:var(--tap);filter:drop-shadow(0 18px 14px color-mix(in srgb, var(--grape) 18%, transparent));background:0 0;border:none;place-items:center;padding:0;animation:2.2s ease-in-out infinite spark-bounce;display:grid}.spark-button svg,.spark-button img{width:100%;height:auto}.spark-button.talking{animation:.5s ease-in-out infinite spark-talk}.spark-button:active{transform:scale(.97)}@keyframes spark-bounce{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-3.5%)scale(1.015,.985)}55%{transform:translateY(-3.5%)scale(.99,1.01)}}@keyframes spark-talk{50%{transform:scale(1.02)rotate(-2deg)}}@keyframes spark-pulse{0%,to{box-shadow:0 14px 0 var(--line), 0 0 0 10px color-mix(in srgb, var(--grape) 25%, transparent);transform:scale(1)}50%{box-shadow:0 14px 0 var(--line), 0 0 0 28px color-mix(in srgb, var(--grape) 12%, transparent);transform:scale(1.05)}}.point{pointer-events:none;transform-origin:30% 20%;font-size:96px;animation:1.2s ease-in-out infinite point-tap;position:absolute;bottom:4vh;right:18%}@keyframes point-tap{0%,to{transform:translate(0)rotate(-20deg)}50%{transform:translate(-30px,-40px)rotate(-20deg)scale(.9)}}.voices{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:16px 0;display:grid}.voice{background:var(--tile);border:3px solid var(--line);border-radius:18px;padding:16px}.voice.chosen{border-color:var(--mint)}.voice h3{font-family:var(--display);margin:0 0 4px}.voice .row{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.voice-pick{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.voice-pick select{font:inherit;border:2px solid var(--line);background:var(--tile);color:var(--ink);border-radius:10px;padding:8px 10px}.nudge .mic{animation:.5s ease-in-out 3 mic-nudge}@keyframes mic-nudge{50%{box-shadow:0 0 0 16px color-mix(in srgb, var(--mint) 35%, transparent);transform:scale(1.18)}}.small-bounce{font-size:28px}.start .sparkles{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.twinkle{transform-box:fill-box;transform-origin:50%;opacity:.2;animation:1.6s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:1;transform:scale(1.5)}}.spark-button.fly-in{animation:.7s cubic-bezier(.2,.9,.3,1.2) both spark-arrive,2.2s ease-in-out .7s infinite spark-bounce}@keyframes spark-arrive{0%{opacity:0;transform:translateY(8%)scale(.6)}to{opacity:1;transform:none}}.spark-button.fly-in.talking{animation:.5s ease-in-out infinite spark-talk}.spark-button .wing{transform-box:fill-box;transform-origin:0 100%;animation:.6s ease-in-out 1.6s 4 alternate wave}@keyframes wave{0%{transform:rotate(0)}to{transform:rotate(-28deg)}}.reading{box-shadow:0 0 0 6px var(--sun), 0 0 28px 6px color-mix(in srgb, var(--sun) 70%, transparent);transition:transform .15s,box-shadow .15s;transform:scale(1.06);border-color:var(--sun)!important}.home{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=600px){.home{grid-template-columns:1fr}}.home-choice{border:4px solid var(--line);background:var(--tile);border-radius:28px;place-items:center;min-height:240px;padding:16px;transition:transform .15s;display:grid}.home-choice.listen{background:var(--tile-on)}.home-choice:active{transform:scale(.97)}.home-pic{width:min(100%,260px);height:auto}.shelf.covers{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.shelf.covers .cover{border:4px solid var(--line);background:var(--paper);border-radius:20px;min-height:0;padding:0;overflow:hidden}.shelf.covers .cover img{aspect-ratio:4/3;width:100%;display:block}.word-on{background:color-mix(in srgb, var(--sun) 75%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--sun) 75%, transparent);border-radius:8px}.sfx{color:var(--grape);font-weight:700}.reader{flex-direction:column;gap:16px;display:flex}.book{perspective:2200px;touch-action:pan-y;-webkit-user-select:none;user-select:none}.spread{border:3px solid var(--line);box-shadow:0 14px 0 var(--line), 0 24px 40px #22264a26;transform-origin:0;background:#fffdf7;border-radius:22px;grid-template-columns:1fr;display:grid;overflow:hidden}.leaf{min-width:0;position:relative}.leaf.picture{background:var(--tile)}.leaf.picture img{aspect-ratio:4/3;width:100%;display:block}.leaf.picture img.real{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.leaf.picture img.real.in{opacity:1}.leaf.words{color:#22264a;background:linear-gradient(90deg,#22264a0f,#0000 6%),#fffdf7;flex-direction:column;justify-content:center;min-height:220px;padding:clamp(18px,3vw,36px);display:flex}.page-text{font-family:var(--body);font-size:inherit;margin:0;line-height:1.55}.page-fit{font-size:clamp(20px,3.4vw,34px)}.cover-words h2{color:#22264a;font-size:clamp(30px,4.4vw,48px)}.leaf.words .pnum{color:#5b6290;font-size:18px;position:absolute;bottom:12px;right:18px}@media (orientation:landscape) and (width>=700px){.spread{grid-template-columns:1fr 1fr;min-height:min(72vh,640px)}.leaf.picture{border-right:2px solid #22264a1f;place-items:center;display:grid;box-shadow:inset -18px 0 24px -18px #22264a40}.leaf.picture img{object-fit:cover;aspect-ratio:auto;height:100%}.leaf.words{box-shadow:inset 18px 0 24px -18px #22264a33}}.spread.turn-next{animation:.55s ease-out turn-next}.spread.turn-prev{transform-origin:100%;animation:.55s ease-out turn-prev}@keyframes turn-next{0%{opacity:.4;transform:rotateY(-75deg)}to{opacity:1;transform:none}}@keyframes turn-prev{0%{opacity:.4;transform:rotateY(75deg)}to{opacity:1;transform:none}}.reader-bar{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn.big{border-radius:26px;min-width:96px;min-height:96px;font-size:40px}.reader{flex:1;gap:clamp(8px,1.5dvh,16px);min-height:0}.reader .book{flex:1;min-height:0;display:flex}.reader .spread{flex:1;grid-template-rows:minmax(0,auto) minmax(0,1fr);min-height:0}.reader .leaf.picture img{object-fit:cover;max-height:42dvh}.reader .leaf.words{min-height:0;padding:clamp(12px,2.2dvh,32px) clamp(16px,3vw,36px) clamp(28px,4dvh,40px);overflow:hidden}.reader .reader-bar{flex:none;gap:clamp(8px,2vw,16px)}.reader .btn.big{min-width:clamp(64px,10dvh,96px);min-height:clamp(64px,10dvh,96px);font-size:clamp(28px,4.5dvh,40px)}.reader .nav{flex:none;margin:0}@media (orientation:landscape) and (width>=700px){.reader .spread{grid-template-rows:minmax(0,1fr);min-height:0}.reader .leaf.picture img{max-height:none}}.card.song{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.song-top{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.song-play{background:var(--mint);min-width:clamp(96px,14dvh,140px);min-height:clamp(96px,14dvh,140px);box-shadow:0 8px 0 color-mix(in srgb, var(--mint) 55%, #000);border-radius:50%;font-size:clamp(44px,7dvh,64px)}.song-play.on{background:var(--tangerine);box-shadow:0 8px 0 color-mix(in srgb, var(--tangerine) 55%, #000)}.song-making{font-size:56px}.card.song .lyrics{flex:1;min-height:0;padding-right:6px;font-size:clamp(18px,2.6dvh,24px);line-height:1.5;overflow-y:auto}.lyric-section{border-radius:14px;margin:0 0 14px;padding:8px 12px;transition:background .3s}.lyric-section.now{background:color-mix(in srgb, var(--sun) 55%, transparent)}.card.song .nav{flex:none;align-items:center;margin:0}.btn.helper.on{background:var(--sun);color:var(--ink);box-shadow:0 6px 0 color-mix(in srgb, var(--sun) 55%, #000)}.tile.tile-own{background:color-mix(in srgb, var(--mint) 22%, var(--tile));border:3px dashed var(--mint)}.tile.tile-more{background:color-mix(in srgb, var(--grape) 12%, var(--tile));border:3px dashed var(--grape)}.card.wizard{flex-direction:column;flex:1;gap:clamp(8px,1.6dvh,18px);min-height:0;padding:clamp(12px,2.4dvh,28px);display:flex}.card.wizard .qrow{flex:none;align-items:center}.card.wizard .q{font-size:clamp(22px,min(5.5vw,4.6dvh),42px)}.card.wizard .tiles{--cols:4;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));flex:1;grid-auto-rows:minmax(0,1fr);gap:clamp(6px,1.2dvh,14px);min-height:0;margin:0}.card.wizard .tiles.two{--cols:2}.card.wizard .tile{gap:clamp(2px,.6dvh,8px);min-height:0;padding:4px 6px;font-size:clamp(14px,min(2.4dvh,3.6vw),21px);overflow:hidden}.card.wizard .tile .em{font-size:clamp(24px,min(5.4dvh,8vw),52px)}.card.wizard .tile .swatch{width:clamp(30px,5.5dvh,60px);height:clamp(30px,5.5dvh,60px)}.card.wizard .answer-row{flex:none;min-height:clamp(72px,13dvh,150px);margin:0}.card.wizard .nav{flex:none;align-items:center;margin:0}@media (orientation:landscape){.card.wizard .tiles{--cols:5}}@media (width<=520px) and (orientation:portrait){.card.wizard .tiles{--cols:3}}.speak.big{width:clamp(64px,10dvh,88px);height:clamp(64px,10dvh,88px);font-size:clamp(28px,4.4dvh,40px)}.btn.next-big{border-radius:24px;min-height:clamp(64px,9dvh,88px);padding:12px 34px;font-size:clamp(26px,4dvh,36px);animation:.25s ease-out pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.card.wizard .mic{width:clamp(76px,12dvh,112px);height:clamp(76px,12dvh,112px);font-size:clamp(34px,5.5dvh,48px)}.card.wizard .mic.on{width:clamp(100px,16dvh,150px);height:clamp(100px,16dvh,150px);font-size:clamp(44px,7dvh,64px)}.mic.starting{background:var(--sun);animation:1s infinite pulse}.mic-says{white-space:nowrap;font-family:var(--display);color:var(--tangerine);margin-top:6px;font-size:20px;font-weight:700;position:absolute;top:100%}.chip.heard{max-width:min(100%,520px);font-size:clamp(16px,2.4dvh,22px)}:is(.wrap:has(.card.wizard),.wrap:has(.reader),.wrap:has(.card.song),.wrap:has(.card.making)){height:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)))}:is(.wrap:has(.card.wizard)>main,.wrap:has(.reader)>main,.wrap:has(.card.song)>main,.wrap:has(.card.making)>main){flex-direction:column;flex:1;gap:18px;min-height:0;display:flex}.reader .btn.big{min-width:clamp(56px,19vw,96px);padding-left:0;padding-right:0}.card.wizard{position:relative}.confirm{z-index:5;border-radius:var(--r);background:color-mix(in srgb, var(--paper) 94%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,4dvh,40px);padding:24px;animation:.25s ease-out pop-in;display:flex;position:absolute;inset:0}.confirm .heard-words{font:inherit;font-family:var(--display);color:var(--ink);background:var(--tile-on);border:3px dashed var(--grape);cursor:pointer;text-align:start;border-radius:28px;align-items:center;gap:14px;max-width:min(100%,720px);padding:18px 26px;font-size:clamp(24px,4.4dvh,40px);font-weight:700;line-height:1.3;display:flex}.confirm-buttons{gap:clamp(12px,4vw,40px);max-width:100%;display:flex}.confirm-buttons .btn{color:#fff;border:none;border-radius:50%;place-items:center;width:clamp(72px,min(15dvh,24vw),140px);height:clamp(72px,min(15dvh,24vw),140px);padding:0;font-size:clamp(40px,7dvh,68px);font-weight:800;display:grid}.confirm-yes{background:var(--mint);box-shadow:0 8px 0 color-mix(in srgb, var(--mint) 60%, #000)}.confirm-again{background:var(--grape);box-shadow:0 8px 0 color-mix(in srgb, var(--grape) 60%, #000)}.confirm-buttons .btn.reading{outline:6px solid var(--sun);outline-offset:4px;transform:scale(1.08)}.confirm-no{background:#e5484d;box-shadow:0 8px #892b2e}.card.making{flex:1;justify-content:center;gap:clamp(14px,3dvh,28px);min-height:0;overflow:hidden}.magic{aspect-ratio:1;width:min(78vw,46dvh,540px);margin:0 auto;font-size:min(18vw,10dvh,150px);line-height:1;position:relative}.magic>span{position:absolute}.magic-says{font-family:var(--display);color:var(--grape);margin:0;font-size:clamp(22px,3.6dvh,34px);font-weight:700}.frames{justify-content:center;gap:clamp(8px,2vw,16px);display:flex}.frame{aspect-ratio:3/4;border:3px dashed var(--line);border-radius:12px;place-items:center;width:clamp(46px,8dvh,96px);font-size:clamp(22px,4dvh,34px);display:grid}.btn.book-ready{font-family:var(--display);align-items:center;gap:12px;padding:16px 32px;font-size:clamp(24px,4dvh,40px);animation:1.6s ease-in-out infinite spark-pulse;display:inline-flex}.btn.book-ready span{font-size:1.5em}.fun-fact{background:var(--tile);text-align:start;border-radius:20px;align-items:center;gap:14px;max-width:min(640px,92%);padding:12px 18px 12px 12px;animation:.35s ease-out pop-in;display:flex}.fun-fact .fact-tile{background:var(--paper);border-radius:16px;flex:none;place-items:center;width:clamp(64px,9dvh,88px);height:clamp(64px,9dvh,88px);font-size:clamp(36px,5.5dvh,52px);display:grid}.fun-fact p{margin:0;font-size:clamp(17px,2.6dvh,24px);line-height:1.3}.reader .tiles.fact-offer{justify-content:center;margin-top:10px;display:flex}.reader .fact-offer .tile{flex-direction:row;gap:12px;min-width:200px;min-height:88px;padding:10px 22px}.reader .fact-offer .tile .em{font-size:44px}.frame.done{border:3px solid var(--mint);background:color-mix(in srgb, var(--mint) 14%, var(--paper));animation:.35s ease-out pop-in}.magic-wand .wand{transform-origin:20% 90%;animation:1.6s ease-in-out infinite wand-wave;top:38%;left:30%}.magic-wand .spark{opacity:0;font-size:40%;animation:1.6s ease-out infinite burst;top:26%;left:58%}.magic-wand .s1{--dx:60px;--dy:-50px;animation-delay:.25s}.magic-wand .s2{--dx:-40px;--dy:-80px;animation-delay:.5s}.magic-wand .s3{--dx:80px;--dy:20px;animation-delay:.75s}.magic-wand .s4{--dx:20px;--dy:-100px;animation-delay:1s}.magic-wand .s5{--dx:-70px;--dy:-20px;animation-delay:1.25s}@keyframes wand-wave{0%,to{transform:rotate(-18deg)}50%{transform:rotate(22deg)}}@keyframes burst{0%{opacity:0;transform:translate(0)scale(.4)}25%{opacity:1}to{opacity:0;transform:translate(var(--dx,50px), var(--dy,-60px)) scale(1.3) rotate(90deg)}}.magic-cauldron .pot{font-size:130%;animation:1.2s ease-in-out infinite wobble;bottom:8%;left:30%}.magic-cauldron .bubble{opacity:0;font-size:40%;animation:2.6s ease-in infinite rise;bottom:40%;left:44%}.magic-cauldron .b1{animation-delay:.5s;left:36%}.magic-cauldron .b2{animation-delay:1s;left:54%}.magic-cauldron .b3{animation-delay:1.5s;left:40%}.magic-cauldron .b4{animation-delay:2s;left:58%}@keyframes wobble{50%{transform:rotate(-4deg)scale(1.03)}}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:translateY(-170%)translate(12px)scale(1.2)}}.magic-book{perspective:600px}.magic-book .cover{font-size:150%;top:22%;left:18%}.magic-book .leaf{background:var(--paper);border:2px solid var(--line);transform-origin:0;border-radius:0 10px 10px 0;width:28%;height:34%;animation:1.8s ease-in-out infinite flip;top:34%;left:50%}.magic-book .l1{background:var(--tile-on);animation-delay:.6s}.magic-book .l2{background:color-mix(in srgb, var(--sun) 30%, var(--paper));animation-delay:1.2s}@keyframes flip{0%{transform:rotateY(0)}50%,to{opacity:.2;transform:rotateY(-180deg)}}.magic-paint .arc{background:conic-gradient(from 270deg,#ef4444,#f59e0b,#eab308,#22c55e,#3b82f6,#8b5cf6 50%,#0000 50%);border-radius:50%;width:80%;height:80%;animation:3s linear infinite paint-in;position:absolute;top:22%;left:10%;-webkit-mask:radial-gradient(circle,#0000 46%,#000 47% 70%,#0000 71%);mask:radial-gradient(circle,#0000 46%,#000 47% 70%,#0000 71%)}.magic-paint .brush{animation:3s linear infinite brush-go;top:40%;left:8%}@keyframes paint-in{0%{clip-path:inset(0 100% 0 0)}70%,to{clip-path:inset(0)}}@keyframes brush-go{0%{transform:translate(0)rotate(-30deg)}35%{transform:translate(110%,-95%)rotate(0)}70%,to{transform:translate(230%)rotate(30deg)}}.magic-spark .dragon,.magic-spark .trail{offset-path:path("M 0 0 C 120 -120, 220 60, 0 60 C -220 60, -120 -120, 0 0");animation:3.2s linear infinite loop;top:40%;left:40%}.magic-spark .trail{opacity:.8;font-size:34%}.magic-spark .t0{animation-delay:-.15s}.magic-spark .t1{animation-delay:-.3s}.magic-spark .t2{animation-delay:-.45s}.magic-spark .t3{animation-delay:-.6s}.magic-spark .t4{animation-delay:-.75s}@keyframes loop{0%{offset-distance:0%}to{offset-distance:100%}}.magic-rocket .ship{animation:2.4s ease-in-out infinite zoom;bottom:10%;left:10%}.magic-rocket .moon{font-size:70%;top:4%;right:6%}.magic-rocket .star{color:var(--sun);opacity:.4;font-size:30%;animation:1.4s ease-in-out infinite twinkle}.magic-rocket .st0{top:12%;left:10%}.magic-rocket .st1{animation-delay:.3s;top:8%;left:46%}.magic-rocket .st2{animation-delay:.6s;top:44%;left:70%}.magic-rocket .st3{animation-delay:.9s;top:50%;left:24%}.magic-rocket .st4{animation-delay:1.2s;top:70%;left:84%}.magic-rocket .st5{animation-delay:.45s;top:82%;left:54%}@keyframes zoom{0%{transform:translate(0)rotate(0)}50%{transform:translate(120%,-120%)rotate(8deg)scale(1.1)}to{transform:translate(0)rotate(0)}}.brand-open{z-index:50;background:var(--sky);place-items:center;animation:.5s ease-in 2.1s both brand-away;display:grid;position:fixed;inset:0;overflow:hidden}@keyframes brand-away{to{opacity:0;visibility:hidden;transform:translateY(-12vh)scale(.6)}}.brand-stage{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.brand-spark{animation:.9s cubic-bezier(.2,.9,.3,1.15) both brand-fly}@keyframes brand-fly{0%{opacity:0;transform:translate(-60vw,30vh)scale(.25)rotate(-35deg)}30%{opacity:1}70%{transform:translate(4vw,-4vh)scale(1.05)rotate(6deg)}to{transform:none}}.brand-trail{width:0;height:0;position:absolute;top:35%;left:50%}.brand-trail i{color:var(--sun);font-size:26px;font-style:normal;animation:.9s ease-out both brand-trail;position:absolute}@keyframes brand-trail{0%{opacity:0;transform:translate(-60vw,30vh)}25%{opacity:1}to{opacity:0;transform:translate(-30px,20px)scale(.3)}}.brand-name{font-family:var(--display);color:var(--grape);margin:0;font-size:clamp(40px,9vw,72px);display:flex}.brand-name span{animation:.45s ease-out both brand-letter;display:inline-block}@keyframes brand-letter{0%{opacity:0;transform:translateY(30px)scale(.4)}to{opacity:1;transform:none}}.brand-burst{width:0;height:0;position:absolute;top:35%;left:50%}.brand-burst i{color:var(--sun);transform-origin:0 0;font-size:28px;font-style:normal;animation:1.1s ease-out .85s both brand-burst;position:absolute}@keyframes brand-burst{0%{opacity:0;translate:0}15%{opacity:1}to{opacity:0;translate:0 -170px}}.brand-skip{top:max(12px, env(safe-area-inset-top));min-height:48px;font-size:18px;position:absolute;right:12px}.spark-img{object-fit:contain;max-width:100%;height:auto}.chips{border:none;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;padding:0;display:flex}.chips legend{margin-bottom:4px;font-weight:700}.chips button{font:inherit;border:2px solid var(--line);background:var(--tile);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 16px}.chips button[aria-pressed=true]{background:var(--grape);border-color:var(--grape);color:#fff}.avatar-img{object-fit:contain}.avatar-img.hero{object-fit:cover;background:var(--tile-on);border-radius:50%}.avatar-img.sm,.avatar-em.sm{width:48px;height:48px;font-size:36px}.avatar-img.md,.avatar-em.md{width:72px;height:72px;font-size:54px}.avatar-img.lg,.avatar-em.lg{width:clamp(96px,18vw,150px);height:clamp(96px,18vw,150px);font-size:clamp(64px,12vw,104px)}.avatar-option{cursor:pointer;background:0 0;border:3px solid #0000;border-radius:50%;padding:2px}.avatar-option[aria-pressed=true]{border-color:var(--grape)}.avatar.add-kid{place-items:center;display:grid}.avatar-edit{cursor:pointer;vertical-align:middle;background:0 0;border:none;padding:0}.consent{text-align:left;align-items:stretch;max-width:640px}.consent-list{padding-left:1.2em;line-height:1.5}.consent-confirm{align-items:flex-start;gap:10px;font-weight:700;display:flex}.consent-confirm input{flex:none;width:26px;height:26px}.kid-settings{border-top:2px solid var(--line);flex-direction:column;gap:6px;padding:12px 0;display:flex}.kid-settings.waiting{opacity:.85}.setting{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setting input[type=checkbox]{width:24px;height:24px}.kid-settings>section{border-bottom:1px dashed var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.kid-settings>section:last-child{border-bottom:none}.kid-settings h4{font-family:var(--display);margin:0;font-size:20px}.setting input:not([type]){font:inherit;border:2px solid var(--line);background:var(--tile);color:var(--ink);border-radius:10px;min-width:0;max-width:100%;padding:8px 10px}.level-list{gap:10px;display:grid}.level-card{font:inherit;text-align:start;border:3px solid var(--line);background:var(--tile);color:var(--ink);cursor:pointer;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.level-card.on{border-color:var(--grape);background:var(--tile-on)}.level-head b{background:var(--grape);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;margin-inline-end:6px;display:inline-grid}.level-card:not(.on) .level-head b{background:var(--soft)}.level-example{background:var(--paper);border-inline-start:4px solid var(--sun);border-radius:10px;padding:8px 12px;font-family:Georgia,Times New Roman,serif}.level-example.caps{text-transform:uppercase;letter-spacing:.03em}.suggest{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.pill.danger,.btn.danger{color:#fff;background:#e5484d;border-color:#e5484d}.confirm-delete{border:2px solid #e5484d;border-radius:16px;padding:12px}.invite-msg{text-align:center}.reader.easy .page-text{letter-spacing:.03em;word-spacing:.15em;line-height:1.8}.reader.easy:lang(en) .page-text{text-transform:uppercase}.reader.easy:lang(he) .page-text{font-weight:600;line-height:2.1}.reader.level-low .page-text{word-spacing:.3em;font-size:1.35em;line-height:1.9}.spark-pick{gap:clamp(10px,2dvh,20px)}.spark-big{place-items:center;min-height:240px;animation:.4s ease-out pop-in;display:grid}.spark-looks{flex-wrap:wrap;justify-content:center;gap:clamp(6px,2vw,14px);display:flex}.spark-look{background:var(--tile);cursor:pointer;border:4px solid #0000;border-radius:50%;padding:4px}.spark-look[aria-pressed=true]{border-color:var(--grape);background:var(--tile-on)}.magic-spark .dragon img{width:1em;height:1em}.card.home:has(.others){grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.nav.report{opacity:.8;justify-content:flex-end}.brand .spark.logo{background:0 0;place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.brand .spark.logo img{width:40px;height:40px}@media (width<=600px){.card.home:has(.others){gap:12px}.card.home:has(.others) .home-choice{height:calc(33.3333dvh - 86.6667px);min-height:0;padding:8px}.card.home:has(.others) .home-pic{width:auto;max-width:100%;height:100%}}.shelf.covers .cover-wrap{display:grid;position:relative}.shelf .series-badge{border:3px solid var(--line);background:var(--paper);color:#22264a;border-radius:999px;flex-direction:row;align-items:center;gap:2px;height:64px;min-height:56px;padding:4px 10px 4px 4px;font-size:22px;font-weight:800;display:flex;position:absolute;bottom:10px;right:10px}.shelf .series-badge .avatar-img.sm{width:48px;height:48px}.btn.series{align-items:center;gap:4px;display:inline-flex}:root[data-bedtime]{--sky:#0b0d1e;--paper:#151935;--ink:#d9d6ec;--soft:#8c8fb5;--grape:#7e6bc4;--tangerine:#c9774e;--mint:#3e9c82;--sun:#c9a24e;--line:#262b52;--tile:#1a1f40;--tile-on:#262250;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-bedtime] img,:root[data-bedtime] .home-pic{filter:brightness(.8)saturate(.85)}.card.home{position:relative}.moon{width:var(--tap);height:var(--tap);border:3px solid var(--line);background:var(--tile);z-index:1;border-radius:50%;font-size:30px;position:absolute;top:-18px;right:-12px}.moon.on{background:var(--tile-on)}.goodnight .big-moon{font-size:120px;line-height:1}.print-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.print-book .sheet{box-sizing:border-box;color:#22264a;zoom:.72;font-family:var(--display);background:#fff;margin:0 auto 16px;display:grid;overflow:hidden;box-shadow:0 4px 16px #00000026}@media screen and (width<=820px){.print-book .sheet{zoom:.3}}.print-book .sheet img{object-fit:cover;filter:none;width:100%;height:100%;display:block}.print-book .sheet{border:0;border-radius:0}.print-book .cover{grid-template-rows:minmax(0,1fr) auto}.print-book .sheet img{min-height:0}.print-book .cover-text{text-align:center;padding:12mm 16mm}.print-book .cover-text h1{margin:0;font-size:34pt}.print-book .cover-text p{font-family:var(--body);color:#5b6290;margin:4mm 0 0;font-size:14pt}.print-book .spread{grid-template-columns:1fr 1fr}.print-book .spread .words{align-items:center;padding:16mm;font-size:22pt;line-height:1.45;display:flex;position:relative}.print-book .spread .pnum{bottom:8mm;color:#5b6290;font-size:11pt;position:absolute;inset-inline-end:12mm}.print-book .lyrics-sheet{align-content:start;padding:16mm 24mm}.print-book .lyrics-sheet h2{margin:0 0 8mm;font-size:26pt}.print-book .lyric-lines{columns:2;font-family:var(--body);column-gap:16mm;font-size:14pt;line-height:1.5}.print-book .lyric-lines p{break-inside:avoid;margin:0}@media print{.no-print,header.bar{display:none!important}body,.wrap,main{background:#fff!important;max-width:none!important;margin:0!important;padding:0!important}.print-book .sheet{zoom:1;box-shadow:none;break-after:page;margin:0}.print-book .sheet:last-child{break-after:auto}}.record-reading .reading-text{font-family:var(--display);max-width:34em;font-size:clamp(22px,3.4vw,32px);line-height:1.4}.reader-pick{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.reader-pick button{min-height:var(--tap);border:3px solid var(--line);background:var(--tile);font-family:var(--display);color:var(--ink);border-radius:999px;padding:8px 18px;font-size:22px}.reader-pick button[aria-pressed=true]{background:var(--tile-on);border-color:var(--grape)}.wizard .turn{font-family:var(--display);color:var(--grape);align-items:center;gap:8px;margin:0 0 6px;font-size:22px;display:flex}.avatar[aria-pressed=true]{outline:5px solid var(--grape);outline-offset:3px}.pill.together.on{background:var(--tile-on)}.page-text .wotd{font:inherit;color:inherit;background:linear-gradient(transparent 55%, color-mix(in srgb, var(--sun) 70%, transparent) 55%);border:0;border-bottom:3px dotted var(--grape);cursor:pointer;border-radius:.3em;min-height:0;padding:0 .15em}.page-text .wotd.word-on{background:color-mix(in srgb, var(--sun) 80%, transparent)}.shelf .fav-badge{border:3px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:60px;height:60px;min-height:0;padding:0;font-size:28px;display:grid;position:absolute;top:10px;left:10px}.shelf .fav-badge.on{border-color:#e5487b}.reads-badge{background:var(--paper);border:2px solid var(--line);border-radius:999px;padding:2px 10px;font-size:16px;font-weight:800;position:absolute;bottom:12px;left:12px}.reader .nav .pill,.pill.together{min-width:64px;min-height:64px}.reader .nav .pill{padding:8px 16px;font-size:26px}.shelf .fav-badge{width:64px;height:64px}.wotd{position:relative}.wotd:after{content:"";position:absolute;inset:-16px -14px}.path-pick{border:2px dashed var(--line);background:var(--tile);cursor:pointer;border-radius:18px;flex-wrap:wrap;align-self:flex-end;align-items:center;gap:8px;max-width:100%;min-height:48px;padding:4px 14px;font-size:16px;display:inline-flex}.path-pick .soft{flex-basis:100%;margin-top:-6px;padding-inline-start:32px}.path-pick input{width:24px;height:24px}.corner-kids{text-align:start;flex-direction:column;gap:8px;width:100%;display:flex}.corner-kid{border-top:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.corner-kid b{font-family:var(--display);font-size:22px}.corner-kid-actions{flex-wrap:wrap;gap:8px;margin-inline-start:auto;display:flex}.corner-kid-page h2{align-items:center;gap:10px;display:flex}.tabs{gap:8px;display:flex}.tabs button{font:inherit;border:2px solid var(--line);background:var(--tile);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 18px}.tabs button[aria-selected=true]{background:var(--grape);border-color:var(--grape);color:#fff}.story-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.story-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.story-cover{object-fit:cover;background:var(--tile);border-radius:10px;flex:none;width:88px;height:66px}.story-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.story-main h4{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:20px}.story-meta{flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.fav-mini{cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px}.story-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.story-actions .pill{font-size:15px}.rename{flex-wrap:wrap;gap:6px;display:flex}.rename input{font:inherit;border:2px solid var(--line);background:var(--tile);color:var(--ink);border-radius:10px;flex:1;min-width:0;padding:6px 10px}.share-link{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:13px}.share-state{align-self:center}@media (width<=480px){.story-cover{width:64px;height:48px}}.share-row{justify-content:center;display:flex}.look-chip{align-items:center;gap:6px;display:inline-flex}.look-chip .spark-img{width:32px;height:32px}.avatar-change{align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.ops .dot{vertical-align:middle;border-radius:50%;width:.7em;height:.7em;display:inline-block}.ops .dot.ok{background:#2e9d5b}.ops .dot.bad{background:#c0392b}.ops-spend{border-collapse:collapse;min-width:16em;margin:.5em 0}.ops-spend caption{text-align:left;font-weight:600}.ops-spend th,.ops-spend td{text-align:left;padding:.15em .8em .15em 0}.ops-spend td{font-variant-numeric:tabular-nums}.ops-spend tr.total th,.ops-spend tr.total td{border-top:1px solid;font-weight:600}
