@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-ext-400-normal-L5HCa4Fu.woff2) format("woff2"),url(/assets/andika-cyrillic-ext-400-normal-BdnnEle0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-400-normal-kVuTPK41.woff2) format("woff2"),url(/assets/andika-cyrillic-400-normal-o4yoEQe0.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-vietnamese-400-normal-CSZGSJDC.woff2) format("woff2"),url(/assets/andika-vietnamese-400-normal-B4SEJW3W.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-ext-400-normal-DNij61jJ.woff2) format("woff2"),url(/assets/andika-latin-ext-400-normal-Cfx4e8zY.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-CFQEN4Ue.woff2) format("woff2"),url(/assets/andika-latin-400-normal-CDApGPvA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-ext-700-normal-D2nyrD_w.woff2) format("woff2"),url(/assets/andika-cyrillic-ext-700-normal-XjeLDU1r.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-700-normal-CSfjmeOZ.woff2) format("woff2"),url(/assets/andika-cyrillic-700-normal-7KuqeQui.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-vietnamese-700-normal-BVpTvt2K.woff2) format("woff2"),url(/assets/andika-vietnamese-700-normal-Cx2Wcnz4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-ext-700-normal-Bso3_wNk.woff2) format("woff2"),url(/assets/andika-latin-ext-700-normal-Cn2-cgMf.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-DvW8iDJd.woff2) format("woff2"),url(/assets/andika-latin-700-normal-D1aqbIvl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-devanagari-500-normal-axMcOWLD.woff2) format("woff2"),url(/assets/baloo-2-devanagari-500-normal--CfPy2ve.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-vietnamese-500-normal-rLqq2XPH.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-500-normal-DgJjC7NG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-ext-500-normal-BmO339Rm.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-500-normal-BSvILNEM.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/baloo-2-latin-500-normal-sFC1aiE7.woff2) format("woff2"),url(/assets/baloo-2-latin-500-normal-DkLneO2S.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-devanagari-700-normal-BPeBCG01.woff2) format("woff2"),url(/assets/baloo-2-devanagari-700-normal-7dMdoVwV.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-vietnamese-700-normal-o8HPGfry.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-700-normal-D4qrpyMC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-ext-700-normal-B1EJVTMv.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-700-normal-CCvredsU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/baloo-2-latin-700-normal-DpwkDI0o.woff2) format("woff2"),url(/assets/baloo-2-latin-700-normal-BEjgkRac.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-devanagari-800-normal-D1zPNjKT.woff2) format("woff2"),url(/assets/baloo-2-devanagari-800-normal-BHA5HZ4M.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-vietnamese-800-normal-B2_QCtDx.woff2) format("woff2"),url(/assets/baloo-2-vietnamese-800-normal-DCpNSe5E.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-ext-800-normal-BjoUr-js.woff2) format("woff2"),url(/assets/baloo-2-latin-ext-800-normal-B_oFzHrD.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-CJQCPmFU.woff2) format("woff2"),url(/assets/baloo-2-latin-800-normal-BMumZxsR.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #252a3b;--ink-soft: #4a4f63;--cream: #fff5de;--paper: #fdf1d6;--paper-edge: #e9d6ad;--sky: #17233c;--sky-2: #1f2f52;--brass: #d9a64b;--honey: #f6d58a;--forest: #3b6c58;--error: #a74738;--accent: var(--brass);--text-scale: 1;--radius: 16px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(10, 12, 25, .35);--shadow-soft: 0 4px 14px rgba(10, 12, 25, .22);--font-read: "Andika", "Atkinson Hyperlegible", system-ui, sans-serif;--font-ui: "Baloo 2", "Andika", system-ui, sans-serif;--focus: 0 0 0 3px #1b2238, 0 0 0 6px #ffd27a;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--sky);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;overflow-x:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}img{display:block;user-select:none;-webkit-user-drag:none}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.screen{min-height:100dvh;position:relative}.small{font-size:.92rem;color:var(--ink-soft)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row.center{justify-content:center}.row.spread{justify-content:space-between;margin-top:20px}.pill-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:2px solid transparent;font-family:var(--font-ui);font-weight:700;font-size:1.05rem;text-decoration:none;background:var(--cream);color:var(--ink);box-shadow:var(--shadow-soft);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.pill-btn:hover:not(:disabled){transform:translateY(-1px)}.pill-btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.pill-btn.primary{background:linear-gradient(180deg,#ffd98a,var(--brass));color:#2b1e08;border-color:#b98428;box-shadow:0 6px #9c6d1d,0 10px 24px #0000004d}.pill-btn.primary:active:not(:disabled){box-shadow:0 2px #9c6d1d,0 6px 14px #0000004d;transform:translateY(3px)}.pill-btn.big{min-height:60px;padding:0 30px;font-size:1.3rem}.pill-btn.ghost{background:#fff5deeb;border-color:#785a2840}.pill-btn.ghost.on-dark{background:#0f14268c;color:var(--cream);border-color:#fff5de40;backdrop-filter:blur(6px)}.pill-btn.danger{color:var(--error)}.pill-btn svg{flex:none}.round-btn{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid rgba(120,90,40,.25);background:var(--cream);color:var(--ink);box-shadow:var(--shadow-soft)}.round-btn.compact{width:48px;height:48px}.round-btn.on-dark{background:#0f14268c;color:var(--cream);border-color:#fff5de40}.round-btn.speaking{box-shadow:0 0 0 4px var(--honey)}.chip-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:2px solid rgba(90,70,30,.2);background:#fffaf0;font-weight:700;font-size:.98rem}.chip-btn.on{background:var(--honey);border-color:#c9962f}.chip-btn.icon-only{padding:0 10px}.link-btn{background:none;border:none;padding:8px 6px;min-height:44px;color:#6b4a17;font-weight:700;text-decoration:underline;text-underline-offset:3px}.topbar{position:absolute;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(10px + var(--safe-top)) 16px 10px;pointer-events:none}.topbar>*{pointer-events:auto}.topbar-right{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.brand{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:#17233cd1;color:var(--cream);font-weight:800;font-size:1.2rem;text-decoration:none;box-shadow:var(--shadow-soft);backdrop-filter:blur(6px)}@media (max-width: 720px){.topbar-right{flex-wrap:nowrap;gap:6px}.topbar-right .pill-btn span{display:none}.topbar-right .pill-btn{width:48px;padding:0;justify-content:center}.topbar-right .round-btn{width:48px;height:48px}.brand{white-space:nowrap;padding-right:12px}.brand span{font-size:1rem}}@media (max-width: 400px){.brand span{display:none}.brand{padding:6px}}.library{position:fixed;inset:0;background:#2b1d12;overflow:hidden}.room-scroller{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth}.room-scroller::-webkit-scrollbar{display:none}.room-stage{position:relative;width:max(100vw,150dvh);height:max(100dvh,66.667vw);top:calc((100dvh - max(100dvh,66.667vw))/2)}@media (max-aspect-ratio: 4/5){.room-stage{width:150dvh;height:100dvh;top:0;left:calc(50vw - 75dvh)}.library{background:linear-gradient(180deg,#2b1d12,#3b2717 60%,#24170d)}}.room-plate{position:absolute;inset:0;width:100%;height:100%}.room-hotspot{position:absolute;background:transparent;border:none;border-radius:14px;padding:0}.room-hotspot:hover{background:radial-gradient(closest-side,rgba(255,230,160,.16),transparent)}.ornament{position:absolute;padding:0;border:none;background:none;transform-origin:50% 100%;transition:transform .25s cubic-bezier(.3,1.6,.5,1),filter .2s;filter:drop-shadow(0 6px 5px rgba(40,20,5,.45))}.ornament img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}.ornament:hover{transform:translateY(-4%) scale(1.04);filter:drop-shadow(0 10px 8px rgba(40,20,5,.45)) brightness(1.05)}.ornament.bounce{animation:wiggle .8s cubic-bezier(.3,1.4,.5,1)}.ornament.speaking{filter:drop-shadow(0 0 14px rgba(255,214,120,.9)) drop-shadow(0 6px 5px rgba(40,20,5,.45))}@keyframes wiggle{0%{transform:scale(1) rotate(0)}25%{transform:translateY(-10%) scale(1.08) rotate(-4deg)}50%{transform:translateY(-4%) scale(1.04) rotate(3deg)}75%{transform:translateY(-2%) rotate(-1.5deg)}to{transform:none}}.book-row-wrap{position:absolute;left:4%;width:92%}.book-row{display:flex;gap:1.6%;padding:4% 2% 0;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;scrollbar-width:none;justify-content:safe center;align-items:flex-end;margin-top:-4%;box-sizing:content-box;height:100%}.book-row::-webkit-scrollbar{display:none}.row-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:2px solid #b98428;background:var(--cream);color:var(--ink);font-size:1.8rem;line-height:1;box-shadow:var(--shadow-soft);z-index:3}.row-arrow.left{left:-6px}.row-arrow.right{right:-6px}.shelf-book{position:relative;flex:none;height:100%;aspect-ratio:2 / 3;scroll-snap-align:center;padding:0;border:none;background:none;perspective:900px;container-type:size}.book-3d{position:relative;display:block;width:100%;height:100%;border-radius:3px 10px 10px 3px;overflow:visible;transform-origin:0 100%;transform:rotateY(-6deg);transition:transform .35s cubic-bezier(.25,1.4,.5,1);box-shadow:10px 8px 18px #140a028c,inset 0 0 0 1px #ffffff14}.book-3d img{width:100%;height:100%;object-fit:cover;border-radius:3px 10px 10px 3px}.shelf-book:hover .book-3d,.shelf-book:focus-visible .book-3d{transform:rotateY(-18deg) translateY(-4%)}.shelf-book:focus-visible{box-shadow:none}.shelf-book:focus-visible .book-3d{box-shadow:var(--focus),10px 8px 18px #140a028c}.book-spine{position:absolute;inset:0 auto 0 0;width:7%;border-radius:3px 0 0 3px;background:linear-gradient(90deg,#00000073,#ffffff1f 60%,#00000040)}.book-title{position:absolute;top:5%;left:10%;right:6%;text-align:center;font-family:var(--font-ui);font-weight:800;font-size:10.5cqh;line-height:.95;color:var(--cream);text-shadow:0 2px 8px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.6)}.book-title.long{font-size:8.6cqh}.book-ribbon{position:absolute;right:6%;top:-5%;display:inline-flex;align-items:center;gap:3px;padding:2cqh 3cqh 3.2cqh;font-size:5cqh;font-weight:800;color:#fff;background:#b0433b;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 4px 6px #0000004d}.book-ribbon.done{background:var(--forest)}.book-tag{position:absolute;left:50%;bottom:6%;transform:translate(-50%);padding:1cqh 4cqh;border-radius:999px;font-size:5cqh;font-weight:800;color:var(--ink);background:#fff5deeb}.room-keepsake{position:absolute;padding:0;border:none;background:none;filter:drop-shadow(0 6px 6px rgba(20,10,2,.6));transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.room-keepsake img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}.room-keepsake:hover{transform:translateY(-5%) scale(1.05)}.room-keepsake:before{content:"";position:absolute;inset:10% -20% -10%;background:radial-gradient(closest-side,rgba(255,214,130,.35),transparent);z-index:-1}.room-caption{position:fixed;z-index:30;transform:translate(-50%);min-width:150px;max-width:min(300px,calc(100vw - 24px));padding:12px 16px 6px;border-radius:var(--radius);background:var(--cream);box-shadow:var(--shadow);text-align:center;animation:pop-in .25s cubic-bezier(.3,1.5,.5,1)}.room-caption:after{content:"";position:absolute;left:calc(50% + var(--arrow, 0px));top:-9px;width:18px;height:18px;background:var(--cream);transform:translate(-50%) rotate(45deg)}.room-caption strong{display:block;font-size:2rem;line-height:1.1;font-weight:800}.room-caption strong.speaking,.vocab-caption strong.speaking{color:#7a4d06;text-shadow:0 0 18px rgba(246,213,138,.9)}.room-caption p{margin:4px 0;font-family:var(--font-read);font-size:1rem}.caption-actions{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.room-caption.above{transform:translate(-50%,-100%)}.room-caption.above:after{top:auto;bottom:-9px}.room-caption{animation-name:caption-in}@keyframes caption-in{0%{opacity:0;margin-top:8px}}@keyframes pop-in{0%{transform:translate(-50%,-90%) scale(.85);opacity:0}}.library-footer{position:absolute;left:0;right:0;bottom:calc(14px + var(--safe-bottom));display:flex;justify-content:center;z-index:10;pointer-events:none;padding:0 16px}.library-footer>*{pointer-events:auto}.hint-chip{margin:0;padding:10px 18px;border-radius:999px;background:#17233ccc;color:var(--cream);font-weight:600;text-align:center;backdrop-filter:blur(6px)}.sheet{position:fixed;z-index:40;right:12px;top:calc(76px + var(--safe-top));bottom:12px;width:min(420px,calc(100vw - 24px));overflow-y:auto;padding:16px 20px 24px;border-radius:20px;background:var(--paper);box-shadow:var(--shadow);animation:slide-in .25s ease-out}@keyframes slide-in{0%{transform:translate(20px);opacity:0}}.sheet h2{margin:12px 0 8px;font-size:1.35rem}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.sheet-head h2{margin:0}.sheet-backdrop{position:fixed;inset:0;z-index:45;background:#0a0c1973}.list-books,.list-words{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list-row{display:flex;gap:12px;align-items:center;width:100%;padding:8px;border-radius:var(--radius-sm);border:2px solid var(--paper-edge);background:#fffaf0;text-align:left}.list-row img{width:48px;height:72px;object-fit:cover;border-radius:4px}.list-row strong{display:block;font-size:1.1rem}.list-row small{color:var(--ink-soft);font-size:.95rem}.list-words li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.word-chip{min-height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--paper-edge);background:#fffaf0;font-weight:700}.word-chip.speaking{background:var(--honey)}.word-def{flex-basis:100%;margin:0 0 6px;font-family:var(--font-read)}.center-panel{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 30%,var(--sky-2),var(--sky))}.paper-panel{background:var(--paper);border-radius:22px;padding:24px clamp(18px,4vw,36px);box-shadow:var(--shadow);border:1px solid var(--paper-edge)}.paper-panel h1{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15}.loader-dot{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,#ffe3a0 0 30%,#ffe3a000 70%);animation:glow-pulse 1.4s ease-in-out infinite}@keyframes glow-pulse{50%{transform:scale(1.35);opacity:.6}}.notice{margin:10px 0 0;padding:10px 14px;border-radius:var(--radius-sm);background:#fff0cf;border:1px solid #efcf85;font-family:var(--font-read)}.preview{background:radial-gradient(1200px 700px at 30% 20%,color-mix(in srgb,var(--spine) 70%,#000) 0%,var(--sky) 70%);color:var(--cream)}.preview-body{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,560px);gap:clamp(24px,5vw,64px);justify-content:center;align-items:start;padding:calc(92px + var(--safe-top)) 20px 48px}.preview-cover{position:relative;perspective:1200px;container-type:inline-size}.preview-cover img{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:6px 16px 16px 6px;box-shadow:18px 22px 40px #0000008c,inset 0 0 0 1px #ffffff1a;transform:rotateY(-10deg) rotateX(3deg);transform-origin:0 50%}.preview-cover-title{position:absolute;top:6%;left:12%;right:8%;text-align:center;font-weight:800;font-size:11cqw;line-height:.95;color:var(--cream);text-shadow:0 3px 12px rgba(0,0,0,.8);transform:rotateY(-10deg);pointer-events:none}.preview-info h1{margin:4px 0 0;font-size:clamp(2rem,5vw,3rem);line-height:1.05}.eyebrow{margin:0;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.9rem;color:var(--accent)}.subtitle{margin:6px 0 0;opacity:.85;font-size:1.1rem}.summary{font-family:var(--font-read);font-size:1.2rem;line-height:1.55}.facts{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 16px;list-style:none}.facts li{padding:4px 12px;border-radius:999px;background:#fff5de1f;border:1px solid rgba(255,245,222,.25);font-weight:600}.facts li.warn{background:#d9a64b40}.mode-picker{border:none;padding:0;margin:16px 0;display:grid;gap:8px}.mode-picker legend{font-weight:800;font-size:1.15rem;margin-bottom:8px}.mode-option{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:56px;border-radius:var(--radius-sm);border:2px solid rgba(255,245,222,.2);background:#fff5de0f;cursor:pointer}.mode-option.selected{border-color:var(--accent);background:#fff5de24}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option:has(input:focus-visible){box-shadow:var(--focus)}.mode-option small{display:block;opacity:.8}.preview-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.grownup-notes{margin-top:12px;padding:12px 16px;border-radius:var(--radius-sm);background:#fff5de14;border:1px solid rgba(255,245,222,.18)}.grownup-notes summary{cursor:pointer;font-weight:700;min-height:32px}.grownup-notes dt{margin-top:10px;font-weight:800;color:var(--accent)}.grownup-notes dd{margin:2px 0 0;font-family:var(--font-read);line-height:1.5}.grownup-notes ul{margin:0;padding-left:18px}@media (max-width: 760px){.preview-body{grid-template-columns:1fr;padding-top:calc(80px + var(--safe-top))}.preview-cover{width:min(62vw,280px);margin:0 auto}}.reader{display:grid;grid-template-rows:minmax(260px,1fr) auto;height:100dvh;background:linear-gradient(180deg,var(--sky) 0%,#101a30 100%);overflow:hidden}.reader-top{position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + var(--safe-top)) 12px 8px;pointer-events:none}.reader-top>*{pointer-events:auto}.reader-top-right{display:flex;gap:8px}.reader-progress{display:flex;gap:6px;padding:8px 12px;border-radius:999px;background:#0f142673;backdrop-filter:blur(6px)}.reader-progress .dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,245,222,.6)}.reader-progress .dot.seen{background:#fff5de99}.reader-progress .dot.current{background:var(--honey);border-color:var(--honey);transform:scale(1.25)}.reader-stage{position:relative;overflow:hidden;min-height:0;background:#0d1426;touch-action:manipulation}.stage-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}.reader-dock{position:relative;z-index:10;width:100%;max-width:900px;justify-self:center;padding:14px clamp(12px,3vw,24px) calc(12px + var(--safe-bottom))}.reader-dock:before{content:"";position:absolute;inset:6px clamp(4px,2vw,12px) 4px;z-index:-1;border-radius:22px;background:var(--paper);border:1px solid var(--paper-edge);box-shadow:0 -6px 30px #00000059,inset 0 1px #fff}.scene-count{margin:4px 8px 0;font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:#8b6420}.scene-heading{margin:0 8px 4px;font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800;line-height:1.15;color:#5b3a0e}.story-text{margin:0 4px;font-family:var(--font-read);font-size:calc(clamp(1.35rem,2.4vw,1.7rem) * var(--text-scale));line-height:1.55;color:var(--ink)}.word{display:inline;padding:0 .08em;margin:0 -.08em;border:none;border-radius:7px;background:transparent;font:inherit;line-height:inherit;color:inherit;transition:background .12s,box-shadow .12s;cursor:pointer}.word:hover{background:#f6d58a59}.word.lit{background:var(--honey);box-shadow:0 2px #d9a64b}.controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}.controls.secondary{margin-top:8px;gap:8px;flex-wrap:wrap}.ctrl{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:56px;height:56px;padding:0 16px;border-radius:999px;border:2px solid #c9a260;background:#fffaf0;color:var(--ink);font-weight:800;font-size:1.1rem;box-shadow:0 4px #d8c29a}.ctrl:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #d8c29a}.ctrl.play{min-width:180px;background:linear-gradient(180deg,#ffe39f,#f2c563);border-color:#c49334;box-shadow:0 4px #b3802a}.ctrl.play.on{background:linear-gradient(180deg,#fff3cf,#ffe4a3)}.ctrl.next.ready{background:var(--forest);border-color:#2b5042;color:#fff;box-shadow:0 4px #22423a;animation:nudge 1.6s ease-in-out 2}.ctrl.finish{padding:0 20px}@keyframes nudge{50%{transform:translate(4px)}}.quiet-hint{margin:6px 0 0;text-align:center;font-size:.95rem;color:#7a6a4d;font-weight:600}.markers{position:absolute;inset:0;pointer-events:none;z-index:4}.marker{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border:none;background:none;padding:0;pointer-events:auto}.marker span{position:absolute;inset:13px;border-radius:50%;border:3px solid rgba(255,240,200,.95);box-shadow:0 0 12px #ffd678e6,inset 0 0 8px #ffd678b3;background:#ffe6aa2e}.marker.pulse span{animation:marker-pulse 1.6s ease-out 2}@keyframes marker-pulse{0%{transform:scale(.6);opacity:0}40%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:.85}}.vocab-caption{position:absolute;z-index:6;transform:translate(-50%,-100%);width:max-content;max-width:min(320px,86vw);padding:12px 14px 10px;border-radius:var(--radius);background:var(--cream);box-shadow:var(--shadow);text-align:center;animation:pop-in .25s cubic-bezier(.3,1.5,.5,1)}.vocab-caption strong{display:block;font-size:2.1rem;line-height:1.05;font-weight:800;color:#4a300a}.vocab-caption p{margin:6px 0;font-family:var(--font-read);font-size:calc(1.08rem * var(--text-scale));line-height:1.45}.vocab-caption .caption-actions{margin-top:6px}.vocab-caption.below{transform:translate(-50%)}.caption-short{display:none}.vocab-caption.docked{z-index:12;inset:10px 14px auto;border:2px solid #e2c17a;transform:none;width:auto;max-width:none;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:8px 10px 8px 16px;text-align:left;animation:fade-up-docked .2s ease-out}.vocab-caption.docked strong{font-size:1.7rem}.vocab-caption.docked .caption-actions{margin:0;justify-content:flex-end;flex-wrap:nowrap}.vocab-caption.docked p{grid-column:1 / -1;grid-row:2;margin:0 0 4px}.vocab-caption.docked .caption-long{display:none}.vocab-caption.docked .caption-short{display:inline}@keyframes fade-up-docked{0%{transform:translateY(8px);opacity:0}}.stage-chip{position:absolute;z-index:7;left:50%;bottom:14px;transform:translate(-50%);display:flex;gap:10px;align-items:center;padding:8px 10px 8px 18px;border-radius:999px;background:#0f1426c7;color:var(--cream);font-weight:700;white-space:nowrap;backdrop-filter:blur(6px);animation:fade-up .25s ease-out}@keyframes fade-up{0%{transform:translate(-50%,8px);opacity:0}}.cover-gate{position:absolute;inset:auto 0 8%;display:flex;justify-content:center;z-index:6}.skip-btn{position:absolute;right:14px;bottom:14px;z-index:6}.stage-status{position:absolute;inset:0;z-index:8;display:grid;place-content:center;justify-items:center;gap:12px;padding:20px;text-align:center;color:var(--cream);background:#0d14268c}.stage-status p{margin:0;font-size:1.2rem;font-weight:700}.explore-tray{position:fixed;z-index:30;right:12px;top:calc(70px + var(--safe-top));width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow-y:auto;padding:14px 16px 18px;border-radius:20px;background:var(--paper);box-shadow:var(--shadow);animation:slide-in .2s ease-out}.explore-tray h2{font-size:1.25rem}.explore-tray h3{margin:14px 0 6px;font-size:1rem;color:var(--ink-soft)}.explore-tray ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.explore-item{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:6px 14px;border-radius:var(--radius-sm);border:2px solid var(--paper-edge);background:#fffaf0;font-weight:700;text-align:left}.explore-item small{color:#8b6420}.explore-item.active{background:var(--honey)}@media (min-width: 1024px){.reader-dock{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:14px 32px calc(14px + var(--safe-bottom))}.dock-controls{padding-right:6px}.scene-count{margin-top:2px}}@media (max-width: 760px){.reader{grid-template-rows:minmax(240px,46dvh) auto;height:auto;min-height:100dvh;overflow:visible;align-content:start}.reader-stage{height:46dvh}.ctrl.play{min-width:0;flex:1;max-width:220px}.explore-tray{inset:auto 8px 8px;width:auto;max-height:55dvh}.quiet-hint,.reader-top .pill-btn span{display:none}}.flat2d{position:absolute;inset:0;overflow:hidden;cursor:pointer}.flat2d-frame{position:absolute;left:0;top:0}.flat2d-plate{position:absolute;inset:0;width:100%;height:100%}.flat2d-layer{position:absolute;transform-origin:50% 100%;pointer-events:none}.idle-breathe{animation:breathe 3.8s ease-in-out infinite}.idle-sway{animation:sway 4.5s ease-in-out infinite}.idle-bob{animation:bob 2.8s ease-in-out infinite}@keyframes breathe{50%{transform:scaleY(1.01)}}@keyframes sway{50%{transform:skew(-1.2deg)}}@keyframes bob{50%{transform:translateY(-1.2%)}}.flat2d-layer.resp-breathe{animation:resp-breathe 1.2s ease-in-out}.flat2d-layer.resp-sway{animation:resp-sway 1.2s ease-in-out}.flat2d-layer.resp-flutter{animation:resp-flutter 1s ease-out}@keyframes resp-breathe{50%{transform:scale(1.012,1.045)}}@keyframes resp-sway{25%{transform:skew(-3deg)}75%{transform:skew(2deg)}}@keyframes resp-flutter{30%{transform:translateY(-7%)}60%{transform:translateY(-2%)}}.flat2d-glow{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#ffe2968c,#ffe29600);animation:glow-once 1.3s ease-out forwards}.flat2d-glow.ripple{background:none;border:3px solid rgba(220,240,255,.8);animation:ripple-once 1.4s ease-out forwards}@keyframes glow-once{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}@keyframes ripple-once{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}.settings fieldset{border:none;padding:0;margin:14px 0 0}.settings legend{font-weight:800;font-size:1.1rem;margin-bottom:6px}.seg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.seg button{min-height:48px;padding:0 14px;border-radius:var(--radius-sm);border:2px solid var(--paper-edge);background:#fffaf0;font-weight:700}.seg button[aria-pressed=true]{background:var(--sky-2);color:var(--cream);border-color:var(--sky-2)}.check-row{display:flex;align-items:center;gap:10px;min-height:48px;font-weight:600}.check-row input{width:24px;height:24px;accent-color:var(--forest)}.slider-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;min-height:44px;font-weight:600}.slider-row input{accent-color:var(--brass);width:100%;height:28px}.reflection,.keepsake-screen,.keepsakes,.grownups{background:radial-gradient(1000px 600px at 50% 10%,var(--sky-2),var(--sky))}.reflect-card{width:min(680px,calc(100vw - 32px));margin:0 auto 120px;position:relative;top:calc(92px + var(--safe-top))}.reflect-card h1{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:clamp(1.5rem,4vw,2rem)}.options{display:grid;gap:10px;margin:18px 0}.option{min-height:60px;padding:12px 18px;border-radius:var(--radius);border:3px solid var(--paper-edge);background:#fffaf0;font-family:var(--font-read);font-size:calc(1.3rem * var(--text-scale));text-align:left}.option:disabled{opacity:.7}.option.picked:disabled,.option.right:disabled{opacity:1}.option.picked{border-color:#c9962f;background:#fff1c9}.option.right{border-color:var(--forest);background:#e6f2ea}.feedback{padding:14px 16px;border-radius:var(--radius-sm);border-left:6px solid #d9a64b;background:#fff8e6;font-family:var(--font-read);font-size:1.15rem}.feedback.good{background:#e6f2ea;border-left-color:var(--forest)}.feedback p{margin:0 0 8px}.talk-card{margin-top:16px;padding:14px 16px;border-radius:var(--radius-sm);border:2px dashed #c9a260}.talk-card h2{margin:0 0 4px}.keepsake-body{display:grid;justify-items:center;text-align:center;gap:6px;padding:calc(76px + var(--safe-top)) 20px 40px;color:var(--cream)}.keepsake-body h1{margin:0;font-size:clamp(2rem,6vw,3rem)}.keepsake-stand{position:relative;width:min(300px,64vw,40dvh);aspect-ratio:1;display:grid;place-items:center}.keepsake-stand img{position:relative;max-width:88%;max-height:100%;filter:drop-shadow(0 18px 20px rgba(0,0,0,.5));animation:rise 1s cubic-bezier(.3,1.4,.5,1)}.keepsake-glow{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(closest-side,#ffda8c8c,#ffda8c00);animation:glow-pulse 3.5s ease-in-out infinite}@keyframes rise{0%{transform:translateY(30px) scale(.9);opacity:0}}.keepsake-caption{margin:0;font-family:var(--font-read);font-size:1.5rem;color:var(--honey)}.keepsake-body .small{color:#fff5debf}.prayer-card{max-width:520px;margin:12px 0;padding:12px 16px;border-radius:var(--radius-sm);background:#fff5de1a;border:1px solid rgba(255,245,222,.25);text-align:left}.prayer-card summary{cursor:pointer;font-weight:700;min-height:32px}.prayer-card p{font-family:var(--font-read);font-size:1.2rem;line-height:1.5}.cabinet{padding:calc(92px + var(--safe-top)) 20px 60px;max-width:1000px;margin:0 auto;color:var(--cream)}.cabinet h1{font-size:clamp(2rem,5vw,2.6rem);margin:0 0 16px}.cabinet-empty{font-family:var(--font-read);font-size:1.2rem;opacity:.85}.cabinet-shelf{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.cabinet-item{display:grid;justify-items:center;gap:4px;width:100%;padding:16px;border-radius:20px;border:2px solid rgba(255,245,222,.18);background:linear-gradient(180deg,#fff5de14,#78501e59);color:var(--cream);text-align:center}.cabinet-item img{height:150px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))}.cabinet-item strong{font-size:1.2rem}.cabinet-item small{opacity:.7}.grownup-body{padding:calc(92px + var(--safe-top)) 16px 60px;display:grid;justify-items:center}.gate{max-width:460px;text-align:center}.hold-btn{position:relative;overflow:hidden;width:100%;min-height:64px;margin:12px 0;border-radius:999px;border:2px solid #b98428;background:#fffaf0;font-weight:800;font-size:1.2rem}.hold-btn:before{content:"";position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--p, 0));background:var(--honey);z-index:0}.grownup-panel{display:grid;gap:16px;width:min(760px,100%)}.grownup-panel h2{margin:0 0 6px}.grownup-panel p{font-family:var(--font-read);line-height:1.5}.story-notes{list-style:none;padding:0;display:grid;gap:8px}.story-notes details{padding:10px 14px;border-radius:var(--radius-sm);background:#fffaf0;border:1px solid var(--paper-edge)}.story-notes summary{cursor:pointer;min-height:32px}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.preview-end{max-width:480px;text-align:center}.preview-end p{font-family:var(--font-read);font-size:1.15rem;line-height:1.5}.sparkle-trail{position:fixed;inset:0;z-index:200;pointer-events:none}.render-book .reader-stage{touch-action:pan-y}.dock-controls{display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:4px}.dock-controls .controls{margin:0}.dock-controls .controls.secondary{gap:8px;row-gap:8px;max-width:420px}.dock-controls .controls.secondary .chip-btn{min-height:40px;padding:0 12px;font-size:.92rem;white-space:nowrap}.dock-controls .quiet-hint{margin:-6px 0 0}@media (max-width: 760px){.dock-controls{gap:14px;margin-top:12px}}.learn-line{display:flex;align-items:flex-start;gap:10px;margin:8px 4px 0;padding:8px 10px 6px;border-radius:14px;background:linear-gradient(90deg,#3b6c581a,#3b6c5808);border-left:4px solid var(--forest)}.learn-play{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 10px;border-radius:999px;border:2px solid #2b5042;background:#fff;color:#1f3d31;font-weight:800}.learn-play.on{background:var(--forest);color:#fff}.learn-flag{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 5px;border-radius:6px;background:var(--forest);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.04em}.learn-play .learn-flag{background:transparent;color:inherit;min-width:0;padding:0}.story-text.small{margin:0;font-size:calc(clamp(1.08rem,1.9vw,1.3rem) * var(--text-scale));line-height:1.5;color:#1f3d31}.story-text.small .word.lit{background:#cfe7da;box-shadow:0 2px #3b6c58}.learn-word{display:inline-flex;align-items:center;gap:6px;margin:4px auto 2px;padding:4px 12px;min-height:40px;border-radius:999px;border:2px solid rgba(59,108,88,.35);background:#eef6f1;color:#1f3d31;font-size:1.3rem;font-weight:800}.vocab-caption.docked .learn-word{grid-column:1 / -1;justify-self:start;margin:0}.seg-label{margin:10px 0 2px;font-weight:800;color:var(--ink-soft)}.story-loader{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px;background:#1c2350 center / cover no-repeat;animation:loader-in .3s ease-out}@keyframes loader-in{0%{opacity:0}}.loader-card{position:relative;width:min(640px,100%);padding:clamp(22px,5vw,40px) clamp(18px,5vw,48px) 26px;border-radius:20px;background:#fbf1da url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .3 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");border:6px solid #202a55;box-shadow:0 30px 80px #0a0c288c,inset 0 0 0 2px #e9d4a6;text-align:center;color:#6b4a1f}.loader-card .corner{position:absolute;width:70px;height:70px;border:2px solid #c9a15a;opacity:.8}.loader-card .corner:after{content:"✦";position:absolute;font-size:14px;color:#c9a15a}.corner.tl{top:14px;left:14px;border-right:0;border-bottom:0;border-top-left-radius:10px}.corner.tr{top:14px;right:14px;border-left:0;border-bottom:0;border-top-right-radius:10px}.corner.bl{bottom:14px;left:14px;border-right:0;border-top:0;border-bottom-left-radius:10px}.corner.br{bottom:14px;right:14px;border-left:0;border-top:0;border-bottom-right-radius:10px}.corner.tl:after{top:-9px;left:-8px}.corner.tr:after{top:-9px;right:-8px}.corner.bl:after{bottom:-10px;left:-8px}.corner.br:after{bottom:-10px;right:-8px}.loader-eyebrow{margin:0;font-size:.82rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;color:#9a6b2c}.loader-brand{display:inline-flex;align-items:center;gap:12px;margin:12px 0 6px;font-size:clamp(2.2rem,7vw,3.4rem);font-weight:800;line-height:1;color:#f2c14e;-webkit-text-stroke:1.5px #b07a22;text-shadow:0 3px 0 #fff3c9,0 5px 0 #c99838}.loader-brand svg{animation:bob 2.6s ease-in-out infinite}.loader-tagline{max-width:460px;margin:10px auto 18px;font-family:var(--font-read);font-size:1.12rem;line-height:1.5;color:#4a3515}.loader-bar{width:min(360px,90%);height:12px;margin:0 auto;border-radius:999px;background:#e8d9b8;overflow:hidden;box-shadow:inset 0 1px 2px #50320a40}.loader-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e2b65c,#f5d58d,#e2b65c);background-size:200% 100%;animation:bar-shine 1.6s linear infinite;transition:width .25s ease-out}@keyframes bar-shine{to{background-position:-200% 0}}.loader-line{margin:14px 0 2px;font-weight:700;font-size:1.05rem;color:#7a5423}.loader-bytes{margin:4px 0 0;font-size:.95rem;color:#8a6a3b;font-variant-numeric:tabular-nums}.loader-foot{margin:18px 0 0;font-size:.88rem;letter-spacing:.08em;color:#9a7a4b}.shooting-star{position:absolute;top:18%;left:-10%;width:120px;height:2px;background:linear-gradient(90deg,#fff0,#fff);border-radius:2px;transform:rotate(-18deg);animation:shoot 5.5s ease-in 1.2s infinite;opacity:0}@keyframes shoot{0%{opacity:0;transform:translate(0) rotate(-18deg)}5%{opacity:1}18%{opacity:0;transform:translate(70vw,-22vh) rotate(-18deg)}to{opacity:0;transform:translate(70vw,-22vh) rotate(-18deg)}}@media (max-aspect-ratio: 1/1){.story-loader{background-position:80% center;align-items:end;padding-bottom:12vh}}.chip-learn{font-style:normal;color:#2b5042;font-weight:700}.room-caption .learn-word{font-size:1.15rem}.lang-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0}.lang-picker-label{width:100%;font-weight:800;font-size:1.05rem}.lang-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:2px solid rgba(255,245,222,.25);background:#fff5de14;color:var(--cream);font-weight:700}.lang-chip.on{border-color:var(--accent);background:#fff5de33;box-shadow:0 0 0 2px var(--accent) inset}.lang-picker.learn .lang-chip.on{border-color:#7fc6a4;box-shadow:0 0 0 2px #7fc6a4 inset}.learn-hint{width:100%;margin:2px 0 0;font-family:var(--font-read);opacity:.85}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff8e8,#f1ddb0);box-shadow:inset 0 0 0 3px #fff,0 3px 10px #3c280a40;overflow:hidden;line-height:1}.avatar img{width:88%;height:88%;object-fit:contain}.form{display:grid;gap:12px;margin:12px 0}.form label,.field-label{display:grid;gap:4px;font-weight:700}.form input,.form select{min-height:48px;padding:0 14px;border-radius:12px;border:2px solid var(--paper-edge);background:#fffaf0;font:inherit;font-weight:500}.form input:focus-visible,.form select:focus-visible{border-color:#c9962f}.form-msg{margin:0;padding:10px 12px;border-radius:10px;background:#fbe3dd;color:#7a2a1d}.form-msg.ok{background:#e6f2ea;color:#1f3d31}.auth{max-width:520px}.profiles{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.profiles li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:#fffaf0;border:2px solid var(--paper-edge)}.profiles li.current{border-color:#c9962f}.profile-meta{display:grid;flex:1;min-width:160px}.avatar-pick{display:flex;flex-wrap:wrap;gap:8px}.avatar-pick button{padding:3px;border-radius:50%;border:3px solid transparent;background:none}.avatar-pick button.on{border-color:#c9962f}.link-btn.danger,.danger{color:var(--error)}.grownup-panel h3{margin:14px 0 4px;font-size:1.02rem}.who{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#0f1426b8;backdrop-filter:blur(4px)}.who-card{width:min(640px,100%);text-align:center}.who-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin:18px 0 6px}.who-grid button{display:grid;justify-items:center;gap:6px;width:112px;padding:8px 4px;border:none;border-radius:18px;background:none;font-weight:800;font-size:1.1rem}.who-grid button:hover{background:#d9a64b26}.reader-chip{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 12px 0 4px;border-radius:999px;border:2px solid rgba(120,90,40,.25);background:#fff5deeb;font-weight:800;box-shadow:var(--shadow-soft)}.book-lock{position:absolute;right:6%;bottom:5%;display:grid;place-items:center;width:16cqh;height:16cqh;border-radius:50%;background:#fff5deeb;font-size:8cqh}.locked-cover{width:140px;margin:0 auto 8px;border-radius:6px 12px 12px 6px;box-shadow:var(--shadow)}@media (max-aspect-ratio: 4/5){.room-scroller{overflow-x:hidden}.book-row-wrap{left:calc(75dvh - 47vw);width:94vw}.book-row{gap:9vw;padding:0 7.5vw;justify-content:flex-start;scroll-snap-type:x mandatory;scroll-padding-left:7.5vw}.shelf-book{scroll-snap-align:start}.row-arrow{width:40px;height:40px}.row-arrow.left{left:2px}.row-arrow.right{right:2px}}@media (max-width: 380px){.reader-top{gap:4px;padding-left:8px;padding-right:8px}.reader-progress{gap:3px;padding:6px 8px}.reader-progress .dot{width:8px;height:8px}.reader-top-right{gap:4px}.reader-top .round-btn.compact,.reader-top .pill-btn{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}}@media (max-width: 480px){.library-footer .pill-btn.big{max-width:92vw;min-height:54px;font-size:1.02rem;padding:0 18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:54px}}.library .topbar{align-items:center;padding-top:calc(12px + var(--safe-top))}.library .topbar-right{align-items:center;gap:10px;flex-wrap:nowrap}.library .topbar-right>.pill-btn,.library .topbar-right>.round-btn,.language-select{width:52px;height:52px;min-width:52px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#3e3526;background:linear-gradient(155deg,#fffdf4,#f7e8c4);border:2px solid #fff7e4;box-shadow:0 4px #b59058,0 7px 15px #291d1933,inset 0 1px 2px #fff;transition:transform .15s ease,box-shadow .15s ease}.library .topbar-right>.pill-btn span{display:none}.library .topbar-right>.pill-btn:hover,.library .topbar-right>.round-btn:hover,.language-select:hover{transform:translateY(-2px);background:#fff8df}.library .topbar-right>.pill-btn:active,.library .topbar-right>.round-btn:active,.language-select:active{transform:translateY(2px);box-shadow:0 2px #b59058,0 3px 8px #291d1922}.library .topbar-right>.round-btn[aria-pressed=true]{color:#3c6240}.language-select{position:relative;cursor:pointer}.language-select svg{width:23px;height:23px;transform:translateY(-3px)}.language-select>span:not(.language-chevron){position:absolute;bottom:5px;font-size:9px;line-height:1;letter-spacing:.06em;font-weight:800}.language-chevron{display:none}.language-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.language-select:focus-within{outline:3px solid #937026;outline-offset:3px}@media (max-width: 720px){.library .topbar{padding-left:12px;padding-right:12px;gap:8px}.library .brand span{display:none}.library .brand{padding:7px}.library .topbar-right{gap:8px}.library .topbar-right>.pill-btn,.library .topbar-right>.round-btn,.library .language-select{width:46px;height:46px;min-width:46px}}@media (max-width: 360px){.library .topbar{gap:5px;padding-left:8px;padding-right:8px}.library .topbar-right{gap:5px}.library .brand svg{width:26px}.library .topbar-right>.pill-btn,.library .topbar-right>.round-btn,.library .language-select{width:44px;height:44px;min-width:44px}}.family-settings{max-width:900px;margin-inline:auto}.family-emblem{display:block;font-size:3rem;text-align:center}.eyebrow{color:#85613e;text-align:center;font-size:.85rem;letter-spacing:.08em}.family-settings>h1{text-align:center}.family-steps{display:flex;gap:12px;padding:0;list-style:none;margin:24px 0;flex-wrap:wrap}.family-steps li{display:flex;align-items:center;gap:8px;color:#746658;font-size:.85rem}.family-steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#efe5d2}.family-steps [aria-current]{font-weight:700;color:#37543d}.family-steps [aria-current] span{background:#d5e4c9}.teaching-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.teaching-card{border:2px solid #e6d8c0;background:#fffaf0;border-radius:22px;padding:20px;text-align:left;display:grid;gap:8px;color:#423328;cursor:pointer}.teaching-card>span{font-size:2rem}.teaching-card strong{font-size:1.1rem}.teaching-card small{font-size:.88rem;line-height:1.6}.teaching-card[aria-pressed=true]{border-color:#52734c;background:#edf5e6;box-shadow:0 3px #52734c33}.family-settings fieldset{border:1px solid #dfd3bd;border-radius:16px;padding:16px;margin:18px 0}.time-choices{display:flex;flex-wrap:wrap;gap:8px}.time-choices [aria-pressed=true]{background:#dcebcf;outline:2px solid #52734c}.reader-preferences{margin-top:28px;padding-top:20px;border-top:1px solid #dfd3bd}.collection-buttons{position:absolute;z-index:12;left:50%;top:105px;transform:translate(-50%);display:flex;gap:12px;width:max-content;max-width:96%}.library.has-stats .collection-buttons{top:124px}.library.has-stats .library-notice{top:240px}.collection-buttons button{color:#4b3529;border:2px solid #ead3a7;background:#fff5dcf5;border-radius:22px;box-shadow:0 4px #855b2b60;padding:10px 16px;font:inherit;font-size:.82rem;display:grid;gap:4px;justify-items:center;cursor:pointer}.collection-buttons button span{font-size:1.6rem}.collection-buttons button[aria-pressed=true]{border-color:#628655;background:#e9f3da}.questions-coming,.library-notice{position:absolute;z-index:14;background:#fff9ebf5;border-radius:24px;padding:24px;text-align:center;max-width:520px;width:calc(100% - 40px);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #49321d30}.questions-coming>span{font-size:3rem}.library-notice{top:220px;font-size:.85rem;padding:10px 20px}.time-break{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;background:#292639ce;padding:20px}.time-break .paper-panel{max-width:540px;text-align:center}.time-break .pill-btn{margin:5px}.time-warning{position:fixed;z-index:150;top:80px;left:50%;transform:translate(-50%);padding:8px 18px;border-radius:20px;background:#fff3cc;color:#594126;text-align:center}.pilot-review article{border-top:1px solid #dfd3bd;padding:20px 0}.pilot-review .draft-label{color:#825425;font-weight:700}.pilot-review blockquote{margin:12px 0;padding:12px 18px;background:#f6efdf;border-radius:14px}@media (max-width:600px){.teaching-cards{grid-template-columns:1fr}.family-steps{display:grid;grid-template-columns:1fr 1fr}.collection-buttons{gap:6px;top:92px}.library.has-stats .collection-buttons{top:114px}.collection-buttons button{font-size:.65rem;padding:8px;border-radius:17px;max-width:85px}.collection-buttons button span{font-size:1.3rem}.library-notice{top:202px}.library.has-stats .library-notice{top:224px}}.stats-bar{position:absolute;z-index:13;left:50%;top:calc(74px + var(--safe-top));transform:translate(-50%);display:inline-flex;align-items:center;gap:14px;min-height:36px;padding:0 16px;border-radius:999px;border:2px solid #fff7e4;background:linear-gradient(155deg,#fffdf4,#f7e8c4);color:#3e3526;font-weight:800;font-size:.95rem;box-shadow:0 3px #b59058,0 6px 14px #291d1933;white-space:nowrap}.stats-bar>span{display:inline-flex;align-items:center;gap:4px}.stats-bar svg{color:#8b6420}@media (max-width: 600px){.stats-bar{top:calc(66px + var(--safe-top));min-height:32px;gap:10px;padding:0 12px;font-size:.88rem}}.book-tab{position:absolute;right:8%;top:-3%;min-width:30%;padding:3cqh 2cqh 4.5cqh;font-size:6cqh;font-weight:800;line-height:1;text-align:center;color:#fff;background:#b0433b;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);box-shadow:0 4px 6px #0000004d}.pin-slots{display:inline-flex;gap:4px;--slot: 22px}.pin-slot{display:inline-grid;place-items:center;width:var(--slot);height:var(--slot);border-radius:50%;border:2px solid rgba(90,70,40,.3);background:#5a462814;color:#5a462866;overflow:hidden;flex:none}.pin-slot.empty{border-style:dashed}.pin-slot img{width:100%;height:100%;object-fit:cover;border-radius:50%}.pin-slot.silhouette img{filter:grayscale(1) brightness(.2) contrast(.6);opacity:.35}.pin-slot.found{border-color:var(--brass);background:var(--cream);box-shadow:0 0 0 1px #fff inset,0 2px 6px #00000040}.pick-book{position:absolute;z-index:11;left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));padding:8px 10px 10px;border-radius:22px;background:#fdf1d6f5;border:1px solid var(--paper-edge);box-shadow:0 -6px 30px #00000059,inset 0 1px #fff;backdrop-filter:blur(4px)}.pick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 6px}.pick-head h2{margin:0;font-size:1.1rem;font-weight:800;color:#5b3a0e}.pick-arrows{display:inline-flex;gap:8px}.pick-arrows button{width:40px;height:40px;border-radius:50%;border:2px solid #c9a260;background:#fffaf0;color:var(--ink);display:grid;place-items:center;box-shadow:0 3px #d8c29a}.pick-arrows button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #d8c29a}.pick-cards{list-style:none;margin:0;padding:0;display:grid;gap:8px;touch-action:pan-y}.pick-card{position:relative;display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;width:100%;min-height:84px;padding:6px 10px 6px 6px;border-radius:16px;border:2px solid #ead3a7;background:#fffaf0;color:var(--ink);text-align:left;box-shadow:0 3px #d8c29a}.pick-card:active{transform:translateY(2px);box-shadow:0 1px #d8c29a}.pick-card>img{width:50px;height:72px;object-fit:cover;border-radius:3px 8px 8px 3px;box-shadow:3px 3px 8px #140a0259}.pick-main{display:grid;gap:5px;min-width:0}.pick-line{display:flex;align-items:center;gap:8px;min-width:0}.pick-title{flex:1;min-width:0;font-family:var(--font-ui);font-weight:800;font-size:1.02rem;line-height:1.1;color:#4a300a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-kind{flex:none;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:#6b5a3e}.pick-kind.kind-bible{background:#1f2f52}.pick-kind.kind-adventures{background:var(--forest)}.pick-kind.kind-questions{background:#8b4a9c}.pick-bar{position:relative;flex:1;height:8px;border-radius:999px;background:#5a462826;overflow:hidden}.pick-bar>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--honey),var(--accent, var(--brass)));transition:width .4s ease}.pick-line small{flex:none;font-size:.78rem;font-weight:700;color:#7a6a4d}.pick-card.locked>img{filter:saturate(.4) brightness(.8)}.pick-lock{position:absolute;left:34px;bottom:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff5def2;box-shadow:0 2px 4px #00000040}.pick-dots{display:flex;justify-content:center;gap:8px;padding-top:8px}.pick-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:2px solid #b98428;background:transparent}.pick-dots button.on{background:#b98428}@media (max-height: 780px){.pick-card{min-height:72px;padding:4px 8px 4px 4px}.pick-card>img{width:44px;height:62px}.pick-card{grid-template-columns:44px 1fr}.pick-main{gap:3px}.pick-kind{display:none}.pick-head{padding-bottom:4px}.pick-head h2{font-size:1rem}.pick-arrows button{width:36px;height:36px}.pick-card .pin-slot{width:18px;height:18px}}@media not all and (max-aspect-ratio: 4/5){.pick-book{display:none}}.pin-counter{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 12px 0 10px;border-radius:999px;background:#fff5deeb;color:#4a300a;font-weight:800;font-size:.95rem;box-shadow:var(--shadow-soft)}.pin-counter.pop{animation:pin-pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes pin-pop{40%{transform:scale(1.18)}}.pin-toast{position:absolute;z-index:8;left:50%;top:38%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px;padding:14px 20px;border-radius:22px;background:#fff5def5;color:#4a300a;font-weight:800;font-size:1.15rem;text-align:center;box-shadow:var(--shadow);animation:toast-in .3s cubic-bezier(.3,1.5,.5,1),toast-out .4s ease-in 2.6s forwards;pointer-events:none;max-width:min(320px,86%)}.pin-fly-frame{width:84px;height:84px}.pin-fly{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid var(--brass);background:var(--cream);box-shadow:0 0 24px #f6d58ae6,0 6px 14px #0000004d;animation:pin-fly .9s cubic-bezier(.5,0,.7,.4) 1.5s forwards}@keyframes pin-fly{to{transform:translate(var(--fly-x, 0px),var(--fly-y, -200px)) scale(.25);opacity:.2}}@keyframes toast-in{0%{transform:translate(-50%,-40%) scale(.8);opacity:0}}@keyframes toast-out{to{opacity:0}}.marker.pin span{inset:16px;border-width:2px;border-color:#fffadc;background:radial-gradient(circle,#fff 0 30%,rgba(246,213,138,.9) 31% 55%,transparent 56%);box-shadow:0 0 10px #ffe696,0 0 18px #f6d58acc;animation:glint 1.4s ease-in-out infinite}@keyframes glint{0%,to{transform:scale(.8) rotate(0);opacity:.75}50%{transform:scale(1.15) rotate(45deg);opacity:1}}.flat2d-paper{position:absolute;inset:0;pointer-events:none;border:10px solid var(--paper);border-radius:6px;box-shadow:inset 0 0 0 1px var(--paper-edge),inset 0 0 28px #00000059}.flat2d-page-no{position:absolute;right:6px;bottom:4px;padding:2px 10px;border-radius:999px 999px 0 0;background:var(--paper);color:#5b3a0e;font-family:var(--font-ui);font-weight:800;font-size:.78rem;letter-spacing:.04em}@media (max-width: 760px) and (max-aspect-ratio: 4/5){.reader{grid-template-rows:52dvh minmax(48dvh,auto)}.reader-stage{height:52dvh}.reader-top{gap:6px;padding-left:8px;padding-right:8px}.reader-top .pill-btn{width:44px;min-width:44px;padding:0;justify-content:center}.reader-progress{gap:4px;padding:6px 8px}.reader-progress .dot{width:8px;height:8px}.reader-top-right{gap:6px}.reader-top .round-btn.compact{width:44px;height:44px}.pin-counter{height:36px;padding:0 8px 0 6px;font-size:.85rem}.reader-dock{padding:12px 14px calc(12px + var(--safe-bottom))}.reader-dock:before{inset:0 6px;border-radius:22px 22px 18px 18px;background:linear-gradient(180deg,#fff8e6,var(--paper) 40px),var(--paper);border-color:#e2c98f;box-shadow:0 -8px 30px #00000073,inset 0 1px #fff,inset 0 0 0 6px #fff9ea,inset 0 0 0 7px var(--paper-edge)}.scene-count{margin:8px 12px 0;font-size:.78rem}.scene-heading{margin:0 12px 6px}.story-text{margin:0 10px;font-size:calc(1.25rem * var(--text-scale));line-height:1.5}.dock-controls{gap:12px;margin-top:10px}.dock-controls .controls{width:100%;gap:10px}.ctrl{height:64px;min-width:64px;border-radius:999px}.ctrl svg{width:30px;height:30px}.ctrl.play{flex:1;max-width:none;font-size:1.2rem;gap:10px}.ctrl.play svg{width:26px;height:26px}.ctrl.next.finish{min-width:64px;padding:0 18px}.ctrl.next.finish span{font-size:1.05rem}.dock-controls .controls.secondary{width:100%;max-width:none;justify-content:center;gap:8px}.pin-toast{top:44%}}.souvenirs{background:radial-gradient(1000px 600px at 50% 10%,var(--sky-2),var(--sky))}.souvenirs-body{padding:calc(92px + var(--safe-top)) 16px 60px;max-width:1000px;margin:0 auto;color:var(--cream)}.souvenirs-body h1{font-size:clamp(2rem,5vw,2.6rem);margin:0 0 14px}.souvenirs-body h2{font-size:1.2rem;margin:22px 0 8px;opacity:.9}.souvenir-counters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.souvenir-counter{display:grid;justify-items:center;gap:2px;padding:14px 8px 12px;border-radius:18px;border:2px solid rgba(255,245,222,.18);background:linear-gradient(180deg,#fff5de1a,#78501e59);color:var(--cream)}.souvenir-counter svg{color:var(--honey)}.souvenir-counter strong{font-size:1.6rem;line-height:1.1}.souvenir-counter strong span{font-size:.95rem;opacity:.7}.souvenir-counter small{font-weight:700;opacity:.85}.souvenirs-empty{margin:14px 0 0;font-family:var(--font-read);font-size:1.1rem;opacity:.85}.badge-row{list-style:none;margin:0;padding:4px 0 2px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.badge-row::-webkit-scrollbar{display:none}.badge{flex:none;width:124px;display:grid;justify-items:center;gap:4px;padding:12px 8px 10px;border-radius:18px;text-align:center;scroll-snap-align:start;border:2px solid rgba(255,245,222,.18);background:#fff5de0f}.badge-art{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff5de1f;color:#fff5de73}.badge strong{font-size:.95rem;line-height:1.1}.badge small{font-size:.72rem;line-height:1.2;opacity:.7}.badge.locked{opacity:.6;filter:grayscale(1)}.badge.earned{border-color:var(--brass);background:linear-gradient(180deg,#f6d58a2e,#78501e59)}.badge.earned .badge-art{background:linear-gradient(180deg,#ffe39f,#d9a64b);color:#4a300a;box-shadow:0 0 18px #f6d58a99}.souvenir-books{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}.souvenir-book{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 12px 10px 10px;border-radius:18px;border:2px solid rgba(255,245,222,.14);background:#fdf1d6f0;color:var(--ink)}.souvenir-book.finished{border-color:var(--brass)}.souvenir-thumb{position:relative;padding:0;border:none;background:none}.souvenir-thumb img{width:64px;height:92px;object-fit:cover;border-radius:3px 8px 8px 3px;box-shadow:3px 3px 8px #140a0259}.souvenir-book.locked .souvenir-thumb img{filter:saturate(.4) brightness(.8)}.souvenir-thumb .book-lock{width:26px;height:26px;right:-6px;bottom:-6px}.souvenir-main{display:grid;gap:5px;min-width:0}.souvenir-title{font-size:1.05rem;line-height:1.1;color:#4a300a}.souvenir-main .pick-bar{width:100%;max-width:260px}.souvenir-meta,.souvenir-hint{font-size:.8rem;font-weight:700;color:#7a6a4d}.souvenir-hint{font-weight:600;font-style:italic}.souvenir-keepsake{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:#5a46281a}.souvenir-keepsake img{width:60px;height:60px;object-fit:contain;filter:grayscale(1) brightness(.3) contrast(.6);opacity:.3}.souvenir-keepsake.earned{background:radial-gradient(closest-side,rgba(246,213,138,.6),transparent)}.souvenir-keepsake.earned img{filter:drop-shadow(0 6px 8px rgba(0,0,0,.35));opacity:1}@media (max-width: 520px){.souvenir-book{grid-template-columns:56px 1fr}.souvenir-thumb img{width:56px;height:80px}.souvenir-keepsake{grid-column:2;justify-self:end;width:52px;height:52px}.souvenir-keepsake img{width:42px;height:42px}.souvenir-counter strong{font-size:1.35rem}}:root{--sky: var(--fs-violet-deep);--sky-2: var(--fs-violet);--ink: var(--fs-ink);--ink-soft: var(--fs-ink-soft);--accent: var(--fs-sun);--radius: 20px;--radius-sm: 14px;--shadow: 0 16px 40px rgba(42, 28, 107, .35);--shadow-soft: 0 6px 18px rgba(42, 28, 107, .25);--focus: 0 0 0 3px #fff, 0 0 0 7px var(--fs-sky)}html,body{background:var(--fs-violet-deep)}.link-btn{color:var(--fs-violet-deep);text-decoration-color:var(--fs-sun);text-decoration-thickness:3px}.pill-btn{border:2.5px solid var(--fs-violet-ink);background:#fff;color:var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink);font-weight:800}.pill-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--fs-violet-ink)}.pill-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--fs-violet-ink)}.pill-btn.primary{background:linear-gradient(180deg,#62d66c,var(--fs-lime));color:#fff;border-color:var(--fs-violet-ink);box-shadow:0 5px 0 var(--fs-violet-ink),0 12px 24px #2a1c6b40;text-shadow:0 1px 0 rgba(0,0,0,.18)}.pill-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--fs-violet-ink),0 14px 26px #2a1c6b40}.pill-btn.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--fs-violet-ink),0 6px 14px #2a1c6b40}.pill-btn.ghost{background:#fffffff0;border-color:var(--fs-violet-ink)}.pill-btn.ghost.on-dark{background:#2a1c6b8c;color:#fff;border-color:#ffffff80;box-shadow:none}.pill-btn.danger{color:var(--fs-coral-deep)}.round-btn{border:2.5px solid var(--fs-violet-ink);background:#fff;color:var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.round-btn.on-dark{background:#2a1c6b8c;color:#fff;border-color:#ffffff80;box-shadow:none}.round-btn.speaking{box-shadow:0 0 0 4px var(--fs-sun),3px 3px 0 var(--fs-violet-ink)}.chip-btn{border:2px solid var(--fs-violet-ink);background:#fff;box-shadow:2px 2px 0 var(--fs-violet-ink)}.chip-btn.on{background:var(--fs-sun);border-color:var(--fs-violet-ink)}.brand{background:var(--fs-violet);color:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink);backdrop-filter:none}.reader-chip{background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink);color:var(--fs-violet-ink)}.language-select{color:var(--fs-violet-ink)}.library{background:var(--fs-violet-deep)}.collection-buttons button{color:var(--fs-violet-ink);border:2.5px solid var(--fs-violet-ink);background:var(--fs-pastel-lemon);border-radius:20px;box-shadow:4px 4px 0 var(--fs-violet-ink);font-weight:800;transition:transform .15s var(--ease-fs-pop),box-shadow .15s ease,background .15s ease}.collection-buttons button:nth-child(1){background:var(--fs-pastel-lemon)}.collection-buttons button:nth-child(2){background:var(--fs-pastel-sky)}.collection-buttons button:nth-child(3){background:var(--fs-pastel-mint)}.collection-buttons button:nth-child(4){background:var(--fs-pastel-pink)}.collection-buttons button:hover{transform:translate(-1px,-2px);box-shadow:5px 6px 0 var(--fs-violet-ink)}.collection-buttons button[aria-pressed=true]{background:var(--fs-violet);color:#fff;border-color:var(--fs-violet-ink)}.collection-buttons button[aria-pressed=true] svg{color:var(--fs-sun)}.stats-bar{border:2.5px solid var(--fs-violet-ink);background:var(--fs-sun);color:var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.stats-bar svg{color:var(--fs-violet-ink)}.hint-chip{background:var(--fs-violet-ink);color:#fff;border:2.5px solid #fff;box-shadow:3px 3px 0 var(--fs-violet-ink);backdrop-filter:none}.row-arrow{background:var(--fs-sun);color:var(--fs-violet-ink);border:2.5px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.book-ribbon{background:var(--fs-coral)}.book-ribbon.done{background:var(--fs-lime)}.book-tab,.book-ribbon{inset:auto auto 4% 4%;transform:none;max-width:92%}.book-tab{width:auto;aspect-ratio:auto;min-width:0;padding:1.4cqh 3cqh;border-radius:999px;clip-path:none;font-size:5.6cqh;background:var(--fs-sun);color:var(--fs-violet-ink);border:2px solid var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink)}.book-ribbon{clip-path:none;border-radius:999px;padding:1.4cqh 3cqh;font-size:4.8cqh;border:2px solid var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink);color:var(--fs-violet-ink)}.book-ribbon.done{color:#fff}.book-tag{left:auto;right:4%;bottom:4%;transform:none}.book-tag{background:var(--fs-sky);color:var(--fs-ink)}.room-caption{background:#fff;color:var(--fs-ink);border:2.5px solid var(--fs-violet-ink);box-shadow:4px 4px 0 var(--fs-violet-ink)}.room-caption strong.speaking,.vocab-caption strong.speaking{background:var(--fs-sun);border-radius:8px;padding:0 .25em}.questions-coming,.library-notice{background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:6px 6px 0 var(--fs-violet-ink)}.questions-coming svg{color:var(--fs-violet)}.time-warning{background:var(--fs-sun);color:var(--fs-ink);border:2.5px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.pick-book{background:var(--fs-lavender);border:2.5px solid var(--fs-violet-ink);box-shadow:0 -8px 30px #140a3c66;backdrop-filter:none}.pick-head h2{color:var(--fs-violet-ink)}.pick-arrows button{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:2px 2px 0 var(--fs-violet-ink)}.pick-arrows button:active:not(:disabled){box-shadow:0 0 0 var(--fs-violet-ink)}.pick-card{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:4px 4px 0 var(--fs-violet-ink)}.pick-card:active{box-shadow:1px 1px 0 var(--fs-violet-ink)}.pick-title{color:var(--fs-violet-ink)}.pick-kind{border:2px solid var(--fs-violet-ink)}.pick-kind.kind-bible{background:var(--fs-violet)}.pick-kind.kind-adventures{background:var(--fs-lime)}.pick-kind.kind-questions{background:var(--fs-coral)}.pick-bar{background:var(--fs-lavender-2)}.pick-bar>span{background:linear-gradient(90deg,var(--fs-sun),var(--fs-lime))}.pick-line small{color:var(--fs-ink-soft)}.pick-dots button{border-color:var(--fs-violet)}.pick-dots button.on{background:var(--fs-violet)}.pick-lock{background:var(--fs-sun);border:2px solid var(--fs-violet-ink)}.library-controls{position:relative;z-index:12;display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:16px;pointer-events:none}.library-controls>*{pointer-events:auto}.library .library-controls .topbar{position:relative;inset:auto;width:100%}.library .library-controls .stats-bar,.library .library-controls .collection-buttons,.library .library-controls .library-notice{position:relative;inset:auto;transform:none;margin:0}.library .library-controls .collection-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(640px,calc(100% - 32px));gap:12px}.library .library-controls .collection-buttons button{max-width:none;min-height:72px;padding:8px}.book-row{padding-top:0;margin-top:0;box-sizing:border-box}.pick-arrows button{width:44px;height:44px}.pick-dots{gap:0;padding-top:4px}.pick-dots button{position:relative;width:32px;height:32px;border:0;background:none}.pick-dots button:after{content:"";position:absolute;width:10px;height:10px;top:11px;left:11px;border:2px solid var(--fs-violet);border-radius:50%}.pick-dots button.on{background:none}.pick-dots button.on:after{background:var(--fs-violet)}@media (max-aspect-ratio: 4/5){.library.portrait{position:relative;inset:auto;height:max(100dvh,calc(400px + var(--shelf-card-count) * 240px));overflow:hidden}.library .library-controls .topbar,.library .library-controls .topbar-right{flex-wrap:wrap;justify-content:center}.library .library-controls .collection-buttons{width:calc(100% - 24px);gap:8px}.library .library-controls .collection-buttons button{font-size:.75rem}.library .room-stage{height:100%;width:max(100vw,calc((400px + var(--shelf-card-count) * 240px) * 1.5),150dvh);left:50%;transform:translate(-50%)}.book-row-wrap{left:50%;transform:translate(-50%);width:100vw}.book-row{gap:0;padding:0;scroll-padding:0}.shelf-page{flex:0 0 100%;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:16px;padding-inline:24px;scroll-snap-align:start;scroll-snap-stop:always}.shelf-book{scroll-snap-align:none}.row-arrow{width:44px;height:44px}.pick-dots{flex-wrap:wrap}body.with-tabs .library .topbar-right>a{display:none}body.with-tabs .library .topbar-right>a.topbar-watch{display:inline-flex}.pick-card{min-height:72px;grid-template-columns:44px 1fr;padding:4px 8px 4px 4px}.pick-card>img{width:44px;height:62px}.pick-main{gap:3px}.pick-kind{display:none}.pick-card .pin-slot{width:18px;height:18px}}.center-panel{background:radial-gradient(circle at 50% 30%,var(--fs-violet),var(--fs-violet-deep))}.paper-panel{background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:8px 8px 0 var(--fs-violet-ink),0 20px 50px #140a3c59;border-radius:26px}.paper-panel h1{color:var(--fs-violet-ink)}.who{background:#2a1c6bc7}.who-grid button{border:2.5px solid transparent}.who-grid button:hover{background:var(--fs-lavender);border-color:var(--fs-violet-ink)}.reader-picker{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:24px;overflow-y:auto}.reader-picker::backdrop{background:#2a1c6bc7;backdrop-filter:blur(6px)}.reader-picker-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.reader-picker-head h2{margin:0;text-align:left}.reader-picker-head .round-btn{width:44px;height:44px;flex:none}.reader-picker .who-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:24px 0}.reader-picker .who-grid button{width:140px;max-width:100%;padding:12px;border-radius:16px}.reader-picker .who-grid button[aria-pressed=true]{background:var(--fs-lavender);border-color:var(--fs-violet-ink)}.reader-picker-footer{display:flex;justify-content:center}.reader-picker-footer .pill-btn{min-height:48px;max-width:100%;text-align:center;justify-content:center}.avatar{background:radial-gradient(circle at 40% 35%,#fff,var(--fs-pastel-sky));box-shadow:inset 0 0 0 3px #fff,0 0 0 2.5px var(--fs-violet-ink)}.sheet{background:var(--fs-lavender);border:2.5px solid var(--fs-violet-ink);box-shadow:8px 8px 0 var(--fs-violet-ink)}.sheet h2{color:var(--fs-violet-ink)}.list-row{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:3px 3px 0 var(--fs-violet-ink)}.word-chip{border:2px solid var(--fs-violet-ink);background:#fff;box-shadow:2px 2px 0 var(--fs-violet-ink)}.word-chip.speaking{background:var(--fs-sun)}.notice{background:var(--fs-pastel-lemon);border:2px solid var(--fs-violet-ink)}.loader-dot{background:radial-gradient(circle,var(--fs-sun) 0 30%,rgba(255,210,63,0) 70%)}.preview{background:radial-gradient(1200px 700px at 30% 20%,color-mix(in srgb,var(--spine) 55%,var(--fs-violet)) 0%,var(--fs-violet-deep) 70%);color:#fff}.mode-option{border:2.5px solid var(--fs-violet-ink);background:#fff;color:var(--fs-ink);box-shadow:3px 3px 0 var(--fs-violet-ink);border-radius:18px}.mode-option.selected{background:var(--fs-pastel-lemon);border-color:var(--fs-violet-ink);box-shadow:0 0 0 3px var(--fs-sun),3px 3px 0 var(--fs-violet-ink)}.reflection,.keepsake-screen,.keepsakes,.grownups{background:radial-gradient(1000px 600px at 50% 10%,var(--fs-violet),var(--fs-violet-deep))}.option{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:4px 4px 0 var(--fs-violet-ink);border-radius:18px;font-weight:800}.option.picked{background:var(--fs-pastel-sky)}.option.right{background:var(--fs-pastel-mint);border-color:var(--fs-lime-deep)}.feedback{background:var(--fs-pastel-lemon);border:2px solid var(--fs-violet-ink);border-radius:16px}.feedback.good{background:var(--fs-pastel-mint)}.talk-card,.prayer-card{background:var(--fs-lavender);border:2px solid var(--fs-violet-ink);border-radius:18px}.preview .eyebrow{color:var(--fs-sun)}.keepsake-body .eyebrow{display:inline-block;max-width:min(92vw,560px);padding:7px 16px;border-radius:999px;background:var(--fs-sun);color:var(--fs-violet-ink);border:2px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink);font-family:var(--font-fs-display);font-size:.95rem;letter-spacing:.03em;text-transform:none}.keepsake-body h1{color:#fff;text-shadow:0 3px 0 var(--fs-violet-ink)}.keepsake-caption{color:#fff}.keepsake-body .small{color:#ffffffeb}.prayer-card{color:var(--fs-violet-ink);border-width:2.5px;box-shadow:4px 4px 0 var(--fs-violet-ink);padding:14px 18px}.prayer-card summary{color:var(--fs-violet-ink);font-family:var(--font-fs-display);font-size:1.05rem}.prayer-card p{color:var(--fs-ink);margin:8px 0 4px}.cabinet-item{background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:4px 4px 0 var(--fs-violet-ink);border-radius:18px}.form input,.form select{border:2.5px solid var(--fs-violet-ink);background:#fff;border-radius:14px}.form input:focus-visible,.form select:focus-visible{border-color:var(--fs-sky-deep);box-shadow:0 0 0 4px var(--fs-pastel-sky)}.form-msg{background:var(--fs-pastel-pink);color:var(--fs-pastel-ink-pink);border:2px solid var(--fs-violet-ink)}.form-msg.ok{background:var(--fs-pastel-mint);color:var(--fs-pastel-ink-mint)}.seg button[aria-pressed=true]{background:var(--fs-violet);color:#fff}.profiles li{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:3px 3px 0 var(--fs-violet-ink)}.profiles li.current{border-color:var(--fs-violet-ink);background:var(--fs-pastel-lemon)}.avatar-pick button.on{border-color:var(--fs-violet)}.teaching-card{border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:3px 3px 0 var(--fs-violet-ink)}.teaching-card[aria-pressed=true]{border-color:var(--fs-violet-ink);background:var(--fs-pastel-lavender);box-shadow:0 0 0 3px var(--fs-violet),3px 3px 0 var(--fs-violet-ink)}.time-choices [aria-pressed=true]{background:var(--fs-sun);outline:2.5px solid var(--fs-violet-ink)}.story-notes details{background:#fff;border:2px solid var(--fs-violet-ink)}.hold-btn{border:2.5px solid var(--fs-violet-ink);background:#fff;color:var(--fs-violet-ink);box-shadow:4px 4px 0 var(--fs-violet-ink)}.hold-btn:before{background:var(--fs-sun)}.stage-chip{background:#fff;color:var(--fs-violet-ink);border:2px solid var(--fs-violet-ink)}.souvenirs{background:radial-gradient(1000px 600px at 50% 10%,var(--fs-violet),var(--fs-violet-deep))}.souvenirs-body{max-width:960px}.souvenirs-body h1{color:#fff;text-shadow:0 3px 0 var(--fs-violet-ink);margin-bottom:18px}.souvenirs-body h2{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.35rem;margin:30px 0 12px;opacity:1}.count-chip{display:inline-grid;place-items:center;min-width:56px;height:30px;padding:0 10px;border-radius:999px;background:var(--fs-sun);color:var(--fs-violet-ink);border:2px solid var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink);font-family:var(--font-fs-display);font-size:.9rem;font-weight:800}.souvenir-counters{gap:16px}.souvenir-counter{gap:6px;padding:18px 10px 16px;border-radius:22px;border:2.5px solid var(--fs-violet-ink);box-shadow:5px 5px 0 var(--fs-violet-ink);background:var(--fs-pastel-lemon);color:var(--fs-violet-ink);transition:transform .15s var(--ease-fs-pop),box-shadow .15s ease}.souvenir-counter:nth-child(2){background:var(--fs-pastel-sky)}.souvenir-counter:nth-child(3){background:var(--fs-pastel-pink)}.counter-art{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink);color:var(--fs-violet-ink);margin-bottom:4px}.souvenir-counter svg{color:var(--fs-violet-ink)}.souvenir-counter strong{font-family:var(--font-fs-display);font-size:2.2rem;line-height:1;color:var(--fs-violet-ink)}.souvenir-counter strong span{font-size:1rem;font-weight:800;opacity:.6}.souvenir-counter small{font-size:.95rem;font-weight:800;opacity:1;color:var(--fs-violet-ink)}.souvenirs-empty{margin:16px 0 0;padding:12px 16px;border-radius:16px;background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:4px 4px 0 var(--fs-violet-ink);color:var(--fs-ink);opacity:1}.badge-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px;padding:14px;border-radius:22px;background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:6px 6px 0 var(--fs-violet-ink);overflow:visible}.badge{width:auto;padding:14px 6px 12px;border-radius:18px;border:2px dashed var(--fs-lavender-2);background:var(--fs-cloud);color:var(--fs-ink-soft)}.badge-art{width:60px;height:60px;background:var(--fs-lavender);border:2.5px solid var(--fs-lavender-2);color:var(--fs-violet)}.badge strong{font-family:var(--font-fs-display);font-size:1rem;color:var(--fs-violet-ink)}.badge small{color:var(--fs-ink-soft);opacity:1}.badge.locked{opacity:1;filter:none}.badge.locked .badge-art{opacity:.6}.badge.locked strong{color:var(--fs-ink-soft)}.badge.earned{border:2.5px solid var(--fs-violet-ink);background:var(--fs-pastel-lemon);box-shadow:3px 3px 0 var(--fs-violet-ink)}.badge.earned .badge-art{background:var(--fs-sun);border-color:var(--fs-violet-ink);color:var(--fs-violet-ink);box-shadow:0 0 0 4px #fff,0 0 0 6.5px var(--fs-sun)}.souvenir-books{gap:16px;margin-top:14px}.souvenir-book{grid-template-columns:72px 1fr auto;gap:16px;padding:14px 16px 14px 14px;border-radius:22px;border:2.5px solid var(--fs-violet-ink);background:#fff;box-shadow:5px 5px 0 var(--fs-violet-ink);color:var(--fs-ink)}.souvenir-book.finished{background:var(--fs-pastel-mint);border-color:var(--fs-violet-ink)}.souvenir-book.locked{background:var(--fs-cloud)}.souvenir-thumb img{width:72px;height:100px;border-radius:4px 10px 10px 4px;border:2px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.souvenir-thumb .book-lock{background:var(--fs-sun);border:2px solid var(--fs-violet-ink);color:var(--fs-violet-ink)}.souvenir-main{gap:7px}.souvenir-title{font-family:var(--font-fs-display);font-size:1.25rem;color:var(--fs-violet-ink)}.souvenir-main .pick-bar{height:12px;max-width:300px;border:2px solid var(--fs-violet-ink);border-radius:999px;background:var(--fs-lavender-2);box-sizing:border-box}.souvenir-meta{color:var(--fs-ink-soft);font-size:.85rem}.souvenir-hint{color:var(--fs-pastel-ink-lavender);font-size:.85rem}.souvenir-book .pin-slot{background:var(--fs-lavender);border:2px solid var(--fs-lavender-2)}.souvenir-book .pin-slot.found{background:#fff;border-color:var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink)}.souvenir-keepsake{width:86px;height:86px;background:var(--fs-lavender);border:2.5px dashed var(--fs-lavender-2)}.souvenir-keepsake img{width:64px;height:64px;filter:grayscale(1) brightness(.6) contrast(.5);opacity:.45}.souvenir-keepsake.earned{background:var(--fs-sun);border:2.5px solid var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.souvenir-keepsake.earned img{filter:drop-shadow(0 4px 6px rgba(42,28,107,.35));opacity:1}@media (min-width: 900px){.souvenir-books{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.souvenir-counters{gap:10px}.souvenir-counter{padding:12px 6px 10px;border-radius:18px;box-shadow:3px 3px 0 var(--fs-violet-ink)}.counter-art{width:44px;height:44px}.souvenir-counter strong{font-size:1.6rem}.badge-row{grid-template-columns:repeat(2,1fr);padding:10px;box-shadow:4px 4px 0 var(--fs-violet-ink)}.souvenir-book{grid-template-columns:60px 1fr;gap:12px;padding:12px;box-shadow:4px 4px 0 var(--fs-violet-ink)}.souvenir-thumb img{width:60px;height:84px}.souvenir-keepsake{width:60px;height:60px}.souvenir-keepsake img{width:46px;height:46px}}.bottom-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:2.5px solid var(--fs-violet-ink)}.bottom-tab{display:grid;justify-items:center;gap:2px;padding:6px 4px;border:0;border-radius:16px;background:transparent;color:var(--fs-ink-soft);font-family:var(--font-fs-display);font-weight:800;font-size:.72rem}.bottom-tab svg{color:currentColor}.bottom-tab.on{background:var(--fs-lavender);color:var(--fs-violet-ink)}body.with-tabs .souvenirs-body,body.with-tabs .grownup-body,body.with-tabs .cabinet{padding-bottom:120px}body.with-tabs .library .pick-book{transform:translateY(-72px)}body.with-tabs .library .hint-chip{bottom:86px}.welcome-promise{display:flex;align-items:center;gap:14px;margin:6px 0 10px}.welcome-art{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--fs-pastel-lemon);border:2.5px solid var(--fs-violet-ink);color:var(--fs-violet-ink);flex:none}.welcome-promise p{margin:0;font-family:var(--font-fs-display);font-weight:800;font-size:1.15rem;line-height:1.3;color:var(--fs-violet-ink)}.welcome-dots{display:flex;justify-content:center;gap:8px}.welcome-dots span{width:9px;height:9px;border-radius:5px;background:var(--fs-lavender-2);border:1.5px solid var(--fs-violet-ink)}.welcome-dots span.on{width:22px;background:var(--fs-violet)}.dock-text{min-width:0}.reader-dock{max-height:55dvh;overflow-y:auto;scrollbar-color:var(--paper-edge) var(--paper)}@media (min-width:900px) and (min-height:500px){.reader.layout-side{display:block;position:relative;background:#6b4a2e url(/library/desk.webp) center/cover}.layout-side .reader-stage{position:absolute;inset:0;height:100%;min-height:0}.layout-side .reader-dock{position:absolute;left:2.5%;top:50%;transform:translateY(-50%);display:block;width:35%;max-height:calc(100dvh - 160px);padding:24px;overflow:visible}.layout-side .dock-text{max-height:calc(100dvh - 210px);overflow-y:auto;scrollbar-color:var(--paper-edge) var(--paper)}.layout-side .reader-dock:before{border-radius:12px;box-shadow:0 14px 24px #23140852,inset 0 0 0 5px #fff9ea}.layout-side .dock-controls{position:fixed;left:calc(100% + 10vw);top:calc(50% + 23dvh);width:43vw;gap:8px}.layout-side .story-text{font-size:calc(clamp(1.2rem,1.65vw,1.6rem) * var(--text-scale))}.layout-side .ctrl.play{min-width:0;flex:1}.layout-side .controls.secondary{flex-wrap:wrap;padding:8px;border-radius:16px;background:var(--paper)}.layout-side .quiet-hint{color:var(--paper);background:var(--ink);padding:4px 12px;border-radius:12px}}@media (max-width:899px){.reader-dock{max-height:none}.reader .story-text{font-size:calc(clamp(1.1rem,2.4vw,1.5rem) * var(--text-scale))}}:root{--fs-violet: #5b3fd6;--fs-violet-deep: #3f2aa8;--fs-violet-ink: #2a1c6b;--fs-lavender: #ede8ff;--fs-lavender-2: #dcd3ff;--fs-cloud: #fffdf7;--fs-cream: #fff7e6;--fs-ink: #2b2550;--fs-ink-soft: #5a5480;--fs-lime: #4fc65a;--fs-lime-deep: #2a8f3a;--fs-sun: #ffd23f;--fs-sun-deep: #e2ac00;--fs-coral: #ff5c8a;--fs-coral-deep: #d63b6a;--fs-sky: #4cc3ff;--fs-sky-deep: #1f9bdc;--fs-mint: #2dd4bf;--fs-tangerine: #ff8a2a;--fs-pastel-mint: #d7f6dc;--fs-pastel-lemon: #fff0b3;--fs-pastel-peach: #ffdcc7;--fs-pastel-lavender: #e6ddff;--fs-pastel-sky: #d3ebff;--fs-pastel-pink: #fcd5ec;--fs-pastel-ink-mint: #1e6b3a;--fs-pastel-ink-lemon: #7a5400;--fs-pastel-ink-peach: #8a3a1e;--fs-pastel-ink-lavender: #3f2aa8;--fs-pastel-ink-sky: #0f4f86;--fs-pastel-ink-pink: #8a1f5c;--fs-border: 2.5px solid var(--fs-violet-ink);--fs-offset: 6px 6px 0 var(--fs-violet-ink);--fs-offset-sm: 4px 4px 0 var(--fs-violet-ink);--fs-offset-hover: 9px 9px 0 var(--fs-violet-ink);--fs-glow: 0 18px 40px rgba(42, 28, 107, .18);--fs-shadow-card: 0 10px 30px -12px rgba(42, 28, 107, .28);--fs-shadow-lift: 0 18px 40px -14px rgba(42, 28, 107, .32);--fs-focus: 0 0 0 3px #fff, 0 0 0 7px var(--fs-sky);--color-fs-paper: var(--fs-cloud);--color-fs-paper-raised: #fff;--color-fs-ink: var(--fs-ink);--color-fs-muted: var(--fs-ink-soft);--color-fs-night: var(--fs-violet-deep);--color-fs-night-soft: var(--fs-violet);--color-fs-honey: var(--fs-sun);--color-fs-teal: var(--fs-violet);--color-fs-mint: var(--fs-pastel-mint);--color-fs-peach: var(--fs-pastel-peach);--color-fs-rule: var(--fs-lavender-2);--color-fs-focus: var(--fs-sky);--color-fs-accent-ink: var(--fs-ink);--shadow-fs-soft: var(--fs-glow);--font-fs-display: "Baloo 2", ui-rounded, "Nunito", sans-serif;--font-fs-body: "Andika", "Nunito", sans-serif;--space-fs-xs: .5rem;--space-fs-sm: .75rem;--space-fs-md: 1rem;--space-fs-lg: 1.5rem;--space-fs-xl: 2.5rem;--space-fs-2xl: 4rem;--space-fs-3xl: 6rem;--text-fs-small: .9rem;--text-fs-body: 1.0625rem;--text-fs-lead: 1.2rem;--text-fs-title: clamp(2.1rem, 4vw, 3.4rem);--text-fs-display: clamp(2.6rem, 5.4vw, 4.9rem);--ease-fs-out: cubic-bezier(.16, 1, .3, 1);--ease-fs-pop: cubic-bezier(.34, 1.56, .64, 1);--dur-fs-micro: .14s;--dur-fs-reveal: .42s;--rule-fs-thin: 1px;--radius-fs-card: 1.25rem;--radius-fs-panel: 1.75rem;--radius-fs-pill: 999px;--fs-hero-paper: oklch(96% .031 66);--fs-friend-lilac: oklch(78% .126 297);--fs-friend-teal: oklch(70% .124 182);--fs-friend-blue: oklch(87% .066 234);--fs-friend-white: oklch(99% .015 87);--fs-friend-grass: oklch(87% .097 148);--fs-friend-hill: oklch(79% .116 153);--fs-friend-bark: oklch(54% .095 56);--fs-friend-page: oklch(97% .049 94);--fs-friend-page-edge: oklch(86% .105 84);--fs-friend-flower: oklch(73% .189 355)}.story-mascot{display:inline-block;width:100%;aspect-ratio:320 / 340;min-width:0}.story-mascot>span,.story-mascot svg,.story-mascot img{display:block;width:100%;height:100%;object-fit:contain}.story-mascot svg{overflow:visible}.story-mascot [class^=mascot-]{transform-box:fill-box;transform-origin:center}.story-mascot .mascot-hand{transform-origin:80% 90%}.mascot-dove .mascot-hand{transform-origin:95% 90%}.mascot-lion .mascot-hand{transform-origin:15% 90%}.story-mascot[data-moving=true] .mascot-body{animation:friend-breathe 3.6s var(--ease-fs-out) infinite}.story-mascot[data-moving=true] .mascot-eyes{animation:friend-blink 5.6s var(--ease-fs-out) infinite}.story-mascot[data-moving=true] .mascot-hand{animation:friend-wave 6s var(--ease-fs-out) infinite}.mascot-dove[data-moving=true] .mascot-body{animation-duration:4.4s}.mascot-lion[data-moving=true] .mascot-body{animation-delay:-.8s}@keyframes friend-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-6px) rotate(-1deg)}}@keyframes friend-blink{0%,43%,48%,to{transform:scaleY(1)}45%,46%{transform:scaleY(.09)}}@keyframes friend-wave{0%,12%,to{transform:rotate(0)}3%,8%{transform:rotate(-13deg)}5%,10%{transform:rotate(7deg)}}.companion-choice{border:0;padding:0;margin:1.5rem 0;min-width:0;color:var(--fs-ink)}.companion-choice legend{font:800 1.35rem/1.2 var(--font-fs-display);padding:0}.companion-choice>p{font-size:.9rem;color:var(--fs-ink-soft);line-height:1.6;margin:.75rem 0 1rem}.companion-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.companion-options button{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:44px;padding:.75rem;border:2px solid var(--fs-lavender-2);border-radius:16px;color:var(--fs-ink);background:var(--fs-cloud);cursor:pointer}.companion-options .story-mascot{max-width:8rem}.companion-options strong{font:800 1.1rem/1.3 var(--font-fs-display)}.companion-options small{font:.75rem/1.4 var(--font-fs-body)}.companion-options button[aria-pressed=true]{border-color:var(--fs-violet-deep);background:var(--fs-lavender)}.companion-options button:focus-visible{outline:3px solid var(--fs-violet-deep);outline-offset:3px}.companion-options button:active{transform:translateY(1px)}@media (hover:hover){.companion-options button:hover{background:var(--fs-lavender)}}@media (min-width:70rem){.companion-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.story-mascot *{animation:none!important}}html[data-motion=reduced] .story-mascot *{animation:none!important}.grownups:has(.family-journey){background:radial-gradient(900px 520px at 80% -10%,#7b62ec 0%,transparent 60%),var(--fs-violet);color:var(--fs-ink)}.grownups:has(.family-journey):before{content:"";position:fixed;width:60vw;height:60vw;max-width:700px;max-height:700px;left:-20vw;bottom:-30vw;border-radius:50%;border:60px solid rgba(255,255,255,.08);pointer-events:none}.grownups:has(.family-journey):after{content:"";position:fixed;width:220px;height:220px;right:-60px;top:120px;border-radius:46% 54% 40% 60%/55% 40% 60% 45%;background:var(--fs-sun);opacity:.9;pointer-events:none;z-index:0}.grownups:has(.family-journey) .grownup-body{padding:88px 28px 32px;position:relative;z-index:1}.family-journey{--journey-accent: var(--fs-violet);--stage: var(--fs-pastel-peach);--stage-ink: var(--fs-pastel-ink-peach);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.85fr);gap:28px;width:min(1180px,100%);min-height:min(740px,calc(100dvh - 124px));padding:26px;border-radius:36px;background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:10px 10px 0 var(--fs-violet-ink),0 30px 70px #140a3c59}.journey-sunshine{--stage: var(--fs-pastel-lemon);--stage-ink: var(--fs-pastel-ink-lemon)}.journey-mint{--stage: var(--fs-pastel-mint);--stage-ink: var(--fs-pastel-ink-mint)}.journey-sky{--stage: var(--fs-pastel-sky);--stage-ink: var(--fs-pastel-ink-sky)}.journey-lavender{--stage: var(--fs-pastel-lavender);--stage-ink: var(--fs-pastel-ink-lavender)}.journey-main{min-width:0;display:flex;flex-direction:column;padding:8px 10px 4px}.journey-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.journey-brand{display:inline-flex;align-items:center;gap:8px;font-size:24px;font-weight:800;letter-spacing:-.3px;color:var(--fs-violet-ink);white-space:nowrap}.journey-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--fs-violet);color:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:2px 2px 0 var(--fs-violet-ink);transform:rotate(-6deg)}.journey-parent-label{margin-left:auto;padding:4px 10px;border-radius:999px;background:var(--fs-lavender);color:var(--fs-violet-ink);font-size:10px;font-weight:800;letter-spacing:1.4px}.journey-back{display:grid;place-items:center;border:2.5px solid var(--fs-violet-ink);background:#fff;color:var(--fs-violet-ink);width:42px;height:42px;border-radius:50%;box-shadow:2px 2px 0 var(--fs-violet-ink);flex-shrink:0}.journey-progress{margin-bottom:24px}.journey-progress>span{display:flex;justify-content:space-between;color:var(--fs-violet-ink);font-size:14px;font-weight:800;margin-bottom:8px}.journey-progress b{color:var(--fs-ink-soft);font-weight:700}.journey-progress [role=progressbar]{height:14px;border-radius:999px;overflow:hidden;background:var(--fs-lavender);border:2px solid var(--fs-violet-ink)}.journey-progress i{display:block;height:100%;background:linear-gradient(90deg,#62d66c,var(--fs-lime));border-radius:999px;transition:width .4s var(--ease-fs-out)}.journey-content{flex:1;animation:journey-arrive .35s ease both}.journey-content h1{font-size:clamp(30px,3vw,42px);line-height:1.1;font-weight:800;letter-spacing:-.6px;margin:0 0 12px;color:var(--fs-violet-ink);max-width:590px}.journey-content h1:focus{outline:none;box-shadow:none}.journey-intro{font-family:var(--font-read);color:var(--fs-ink-soft);font-size:15.5px;line-height:1.65;margin:0 0 24px;max-width:540px}.journey-stage{position:relative;isolation:isolate;min-height:570px;background:radial-gradient(420px 300px at 50% 110%,#7b62ec 0%,transparent 70%),var(--fs-violet);overflow:hidden;border-radius:28px;border:2.5px solid var(--fs-violet-ink);display:flex;flex-direction:column;align-items:center;transition:background .4s}.journey-stage-orbit{position:absolute;width:630px;height:630px;border:70px solid var(--stage);opacity:.35;border-radius:50%;top:30%;left:-110px;z-index:-1;transition:border-color .4s}.pip-quote{margin:34px 26px 0;padding:18px 22px;border-radius:24px 24px 24px 6px;background:#fff;border:2.5px solid var(--fs-violet-ink);box-shadow:4px 4px 0 var(--fs-violet-ink);position:relative;text-align:center;color:var(--fs-violet-ink);font-size:22px;font-weight:800;line-height:1.2;z-index:2;animation:journey-arrive .4s ease}.pip-quote:after{content:"";position:absolute;left:26px;bottom:-16px;width:22px;height:22px;background:#fff;border-right:2.5px solid var(--fs-violet-ink);border-bottom:2.5px solid var(--fs-violet-ink);transform:rotate(45deg)}.pip-quote span{display:block;font-size:12px;font-weight:700;color:var(--fs-ink-soft);margin-top:8px}.journey-pip{width:110%;max-width:470px;height:420px;object-fit:contain;margin:auto -5% 30px;position:relative;z-index:1}.journey-stage-ground{position:absolute;bottom:55px;left:21%;width:58%;height:20px;border-radius:50%;background:#140a3c40}.journey-stage-caption{position:absolute;bottom:18px;padding:4px 12px;border-radius:999px;background:#ffffff29;color:#fff;font-size:12px;font-weight:700;letter-spacing:.6px}.journey-spark{position:absolute;color:var(--fs-sun);z-index:2;animation:journey-twinkle 2.6s ease-in-out infinite}.journey-spark svg{width:46px;height:46px}.spark-one{top:39%;right:17px;transform:rotate(14deg)}.spark-two{top:57%;left:14px;animation-delay:-1.3s}.spark-two svg{width:32px;height:32px}.journey-welcome{padding:14px 0}.journey-eyebrow{display:inline-block;padding:4px 12px;border-radius:999px;border:2px solid var(--fs-violet-ink);background:var(--fs-sun);font-size:11px;color:var(--fs-ink);font-weight:800;letter-spacing:1.6px;box-shadow:2px 2px 0 var(--fs-violet-ink)}.journey-promises{display:grid;gap:14px;margin:22px 0 24px}.journey-promises>span{font-size:22px;font-weight:800;color:var(--fs-violet-ink);display:flex;align-items:center;gap:14px}.journey-promises>span svg{flex:none;width:46px;height:46px;padding:9px;border-radius:15px;border:2.5px solid var(--fs-violet-ink);background:var(--fs-pastel-lemon);color:var(--fs-pastel-ink-lemon);box-shadow:3px 3px 0 var(--fs-violet-ink);transform:rotate(-5deg)}.journey-promises>span:nth-child(2) svg{background:var(--fs-pastel-pink);color:var(--fs-pastel-ink-pink);transform:rotate(4deg)}.journey-promises>span:nth-child(3) svg{background:var(--fs-pastel-sky);color:var(--fs-pastel-ink-sky);transform:rotate(-3deg)}.journey-welcome p{font-size:15px;color:var(--fs-ink-soft);max-width:400px}.journey-footer{display:flex;gap:15px;align-items:center;justify-content:space-between;padding-top:24px;margin-top:auto}.journey-reassurance{font-size:12px;color:var(--fs-ink-soft);max-width:200px;line-height:1.5;font-weight:700}.journey-primary{display:flex;align-items:center;justify-content:center;gap:14px;border:2.5px solid var(--fs-violet-ink);background:linear-gradient(180deg,#62d66c,var(--fs-lime));color:var(--fs-violet-ink);border-radius:20px;padding:12px 26px;min-height:58px;font-weight:800;font-size:19px;box-shadow:0 5px 0 var(--fs-violet-ink);text-shadow:none;transition:transform .16s var(--ease-fs-out),box-shadow .16s}.journey-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--fs-violet-ink)}.journey-primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--fs-violet-ink)}.journey-primary:disabled{background:var(--fs-lavender-2);color:var(--fs-ink-soft);text-shadow:none}.journey-secondary{border:2.5px solid var(--fs-violet-ink);background:#fff;border-radius:14px;min-height:46px;padding:8px 16px;font-weight:800;color:var(--fs-violet-ink);box-shadow:3px 3px 0 var(--fs-violet-ink)}.journey-text-button{border:0;background:none;color:var(--fs-violet-deep);text-decoration:underline;text-decoration-color:var(--fs-sun);text-decoration-thickness:3px;text-underline-offset:4px;font-weight:800;min-height:44px;padding:8px 4px;font-size:14px}.journey-field{display:flex;flex-direction:column;gap:7px;font-size:15px;font-weight:800;color:var(--fs-violet-ink)}.journey-field input,.journey-field select{width:100%;background:#fff;border:2.5px solid var(--fs-violet-ink);border-radius:16px;padding:11px 15px;min-height:52px;font-family:var(--font-read);font-size:15px;color:var(--fs-ink)}.journey-field input:focus,.journey-field select:focus{outline:none;border-color:var(--fs-sky-deep);box-shadow:0 0 0 4px var(--fs-pastel-sky)}.journey-fieldset{border:0;padding:0;margin:18px 0;min-width:0}.journey-fieldset legend{font-weight:800;font-size:15px;margin-bottom:10px;padding:0;color:var(--fs-violet-ink)}.journey-avatars{display:flex;flex-wrap:wrap;gap:8px}.journey-avatars button{display:grid;place-items:center;border:2.5px solid transparent;background:var(--fs-lavender);border-radius:18px;padding:5px;transition:transform .18s var(--ease-fs-pop)}.journey-avatars button[aria-pressed=true]{border-color:var(--fs-violet-ink);background:var(--fs-sun);box-shadow:3px 3px 0 var(--fs-violet-ink);transform:translateY(-3px) rotate(-4deg)}.journey-age{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.journey-age button{border:2.5px solid var(--fs-violet-ink);background:var(--fs-pastel-sky);padding:10px 6px;border-radius:20px;box-shadow:4px 4px 0 var(--fs-violet-ink);transition:transform .15s var(--ease-fs-pop),box-shadow .15s}.journey-age button:nth-child(2){background:var(--fs-pastel-mint)}.journey-age button:nth-child(3){background:var(--fs-pastel-peach)}.journey-age button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--fs-violet-ink)}.journey-age button strong{font-size:28px;line-height:1.2;display:block;color:var(--fs-violet-ink)}.journey-age button span{font-size:11px;font-weight:700;color:var(--fs-ink-soft)}.journey-age button[aria-pressed=true]{background:var(--fs-violet);box-shadow:0 0 0 3px var(--fs-sun),4px 4px 0 var(--fs-violet-ink)}.journey-age button[aria-pressed=true] strong,.journey-age button[aria-pressed=true] span{color:#fff}.journey-reader-bottom{display:flex;align-items:end;gap:16px}.journey-reader-bottom .journey-field{flex:1}.journey-choices{display:grid;gap:12px}.journey-choice{display:flex;align-items:center;text-align:left;gap:14px;width:100%;border:2.5px solid var(--fs-violet-ink);border-radius:20px;background:#fff;padding:13px 16px;box-shadow:4px 4px 0 var(--fs-violet-ink);transition:background .2s,transform .2s var(--ease-fs-pop),box-shadow .2s}.journey-choice:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--fs-violet-ink)}.journey-choice:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--fs-violet-ink)}.journey-choice[aria-pressed=true]{background:var(--fs-pastel-lavender);box-shadow:0 0 0 3px var(--fs-violet),4px 4px 0 var(--fs-violet-ink)}.journey-choice-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;border:2.5px solid var(--fs-violet-ink);background:var(--fs-pastel-lemon);flex-shrink:0;color:var(--fs-pastel-ink-lemon);transform:rotate(-5deg)}.journey-choice:nth-child(2) .journey-choice-icon{background:var(--fs-pastel-sky);color:var(--fs-pastel-ink-sky);transform:rotate(4deg)}.journey-choice:nth-child(3) .journey-choice-icon{background:var(--fs-pastel-pink);color:var(--fs-pastel-ink-pink);transform:rotate(-3deg)}.journey-choice:nth-child(4) .journey-choice-icon{background:var(--fs-pastel-mint);color:var(--fs-pastel-ink-mint);transform:rotate(5deg)}.journey-choice strong{display:block;font-size:17px;line-height:1.2;margin-bottom:4px;color:var(--fs-violet-ink)}.journey-choice small{display:block;font-size:12.5px;color:var(--fs-ink-soft);line-height:1.4;font-family:var(--font-read)}.journey-radio{margin-left:auto;width:26px;height:26px;border:2.5px solid var(--fs-violet-ink);border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;background:#fff}[aria-pressed=true]>.journey-radio{background:var(--fs-lime)}.journey-fine{font-family:var(--font-read);font-size:11.5px;line-height:1.6;color:var(--fs-ink-soft);margin:17px 0 0}.journey-topic-list{padding:15px;background:var(--fs-pastel-mint);border:2px solid var(--fs-violet-ink);border-radius:16px}.journey-topic-list label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;min-height:38px}.family-journey input[type=checkbox]{accent-color:var(--fs-violet);width:20px;height:20px;flex-shrink:0}.journey-clock{display:flex;align-items:center;gap:25px;padding:16px 0 28px}.journey-clock-face{width:180px;height:180px;flex-shrink:0;border-radius:50%;background:var(--fs-pastel-lemon);border:12px solid var(--fs-sun);box-shadow:0 0 0 3px var(--fs-violet-ink),6px 6px 0 3px var(--fs-violet-ink);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--fs-pastel-ink-lemon)}.journey-clock-face strong{font-size:58px;color:var(--fs-violet-ink);line-height:.95;font-weight:800}.journey-clock-face span{font-size:13px;font-weight:700;margin:7px 0}.journey-clock-face span:first-child{margin-top:0;line-height:1}.journey-clock h2{font-size:26px;line-height:1.2;margin:0 0 10px;font-weight:800;color:var(--fs-violet-ink)}.journey-clock p{font-family:var(--font-read);font-size:13.5px;line-height:1.6;color:var(--fs-ink-soft)}.journey-time-options{display:flex;gap:8px;flex-wrap:wrap}.journey-time-options button{flex:1;border:2.5px solid var(--fs-violet-ink);background:#fff;border-radius:14px;padding:11px 9px;font-size:16px;font-weight:800;color:var(--fs-violet-ink);white-space:nowrap;box-shadow:3px 3px 0 var(--fs-violet-ink)}.journey-time-options button[aria-pressed=true]{background:var(--fs-violet);color:#fff;box-shadow:0 0 0 3px var(--fs-sun),3px 3px 0 var(--fs-violet-ink)}.journey-custom{margin-top:19px;font-size:13px;color:var(--fs-violet-deep);font-weight:700}.journey-custom summary{cursor:pointer;min-height:38px}.journey-custom .journey-field{margin-bottom:12px}.journey-together{display:flex;align-items:flex-start;gap:10px;padding:18px 0}.journey-together strong{display:block;font-size:14px;color:var(--fs-violet-ink)}.journey-together small{display:block;color:var(--fs-ink-soft);font-size:12px;line-height:1.4}.journey-ticket{background:var(--fs-pastel-lavender);border:2.5px solid var(--fs-violet-ink);border-radius:24px;overflow:hidden;box-shadow:5px 5px 0 var(--fs-violet-ink)}.journey-ticket-person{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:3px dashed var(--fs-violet-ink)}.journey-ticket-person strong{display:block;font-size:26px;line-height:1.2;color:var(--fs-violet-ink)}.journey-ticket-person span:not(.avatar):not(.journey-ticket-star){display:block;color:var(--fs-ink-soft);font-size:13px;font-weight:700}.journey-ticket-star{color:var(--fs-sun);margin-left:auto;filter:drop-shadow(1px 1px 0 var(--fs-violet-ink))}.journey-ticket-star svg{width:40px;height:40px}.journey-ticket dl{margin:0;padding:20px 24px;display:grid;gap:14px}.journey-ticket dt{color:var(--fs-ink-soft);font-size:12px;font-weight:700}.journey-ticket dd{margin:0;font-size:17px;font-weight:800;color:var(--fs-violet-ink)}.journey-verification{margin-top:18px;padding:16px;border-radius:18px;background:var(--fs-pastel-sky);border:2px solid var(--fs-violet-ink);color:var(--fs-pastel-ink-sky)}.journey-verification p{font-size:13px;margin:6px 0 10px;overflow-wrap:anywhere}.journey-verification>div{display:flex;flex-wrap:wrap;gap:9px}.journey-message{color:var(--fs-pastel-ink-lemon);background:var(--fs-pastel-lemon);border:2px solid var(--fs-violet-ink);border-radius:14px;padding:12px 15px;font-size:14px;font-weight:700}.journey-auth.form{gap:17px}.journey-auth .journey-primary{margin-top:7px}.journey-auth-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.family-journey .hold-btn{margin:20px 0;border-radius:20px}.narrator-choices{margin:16px 0 24px}.narrator-guides{display:flex;flex-wrap:wrap;gap:10px}.narrator-guides button{min-width:96px;min-height:130px;border:2.5px solid var(--fs-violet-ink);border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;color:var(--fs-violet-ink);font-weight:800;box-shadow:3px 3px 0 var(--fs-violet-ink);transition:transform .18s var(--ease-fs-pop)}.narrator-guides button:hover{transform:translateY(-3px)}.narrator-guides button[aria-pressed=true],.narrator-voices button[aria-pressed=true]{background:var(--fs-pastel-lemon);box-shadow:0 0 0 3px var(--fs-violet),3px 3px 0 var(--fs-violet-ink)}.narrator-voices{display:flex;flex-wrap:wrap;gap:12px}.narrator-voices>div{display:flex;gap:5px}.narrator-choices h3{margin:18px 0 8px;color:var(--fs-violet-ink)}@keyframes pip-breathe{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes journey-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes journey-twinkle{0%,to{transform:scale(1) rotate(0);opacity:.9}50%{transform:scale(1.25) rotate(15deg);opacity:1}}@media (min-width: 1600px){.family-journey{margin-top:30px}}@media (max-width: 950px) and (min-width: 701px){.family-journey{padding:22px;gap:18px;grid-template-columns:minmax(0,1fr) 290px}.journey-main{padding:4px}.journey-parent-label{display:none}.journey-clock{gap:20px;flex-direction:column;text-align:center}.journey-clock h2{font-size:22px}.journey-reader-bottom{flex-wrap:wrap}}@media (max-width: 700px){.grownups:has(.family-journey) .grownup-body{padding:76px 12px 24px}.grownups:has(.family-journey):after{width:140px;height:140px;right:-50px;top:70px}.family-journey{display:flex;flex-direction:column-reverse;gap:0;padding:12px;border-radius:26px;min-height:0;box-shadow:6px 6px 0 var(--fs-violet-ink)}.journey-stage{min-height:0;height:156px;flex-direction:row;border-radius:19px;overflow:hidden;padding:0 8px}.journey-stage-orbit{width:320px;height:320px;border-width:40px;top:-80px;left:40%}.pip-quote{margin:0 0 0 10px;padding:12px;max-width:58%;font-size:16px;border-radius:17px 17px 17px 5px;box-shadow:3px 3px 0 var(--fs-violet-ink)}.pip-quote:after{left:18px;bottom:-11px;width:16px;height:16px}.pip-quote span{font-size:10px;margin-top:6px}.journey-pip{position:absolute;right:0;bottom:-8px;width:42%;height:160px;margin:0;object-fit:contain}.journey-stage-caption,.journey-stage-ground,.spark-two{display:none}.spark-one{top:10px;right:7px}.spark-one svg{width:26px;height:26px}.journey-main{padding:20px 10px 10px}.journey-header{margin-bottom:12px;gap:8px}.journey-brand{font-size:21px}.journey-parent-label{font-size:8px;letter-spacing:1px}.journey-progress{margin-bottom:21px}.journey-content h1{font-size:31px}.journey-intro{font-size:13.5px;margin-bottom:19px}.journey-welcome{padding:5px 0}.journey-promises{gap:12px;margin:18px 0}.journey-promises>span{font-size:20px}.journey-footer{flex-direction:column-reverse;gap:12px;padding-top:23px}.journey-primary{width:100%;min-height:56px}.journey-reassurance{max-width:none;font-size:11px;text-align:center}.journey-avatars{gap:6px}.journey-avatars button{padding:3px}.journey-avatars .avatar{width:39px!important;height:39px!important}.journey-age{gap:8px}.journey-age button span{font-size:10px}.journey-reader-bottom{flex-wrap:wrap}.journey-choice{padding:12px;gap:10px}.journey-choice strong{font-size:16px}.journey-choice small{font-size:11.5px}.journey-choice-icon{width:38px;height:38px}.journey-clock{gap:20px;padding:10px 0 25px}.journey-clock-face{width:133px;height:133px;border-width:9px}.journey-clock-face strong{font-size:43px}.journey-clock-face span{font-size:10px;margin:4px}.journey-clock h2{font-size:21px}.journey-clock p{font-size:12px}.journey-time-options{gap:6px}.journey-time-options button{font-size:14px;padding:10px 7px}}@media (prefers-reduced-motion: reduce){.family-journey *,.family-journey *:before{animation:none!important;transition:none!important}}:root[data-motion=reduced] .family-journey *{animation:none!important;transition:none!important}.admin-workspace{min-height:100vh;background:#fbf6e8;color:#303c3c;padding:32px clamp(16px,4vw,64px);font-family:Andika,sans-serif}.admin-workspace header{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-workspace h1,.admin-workspace h2,.admin-workspace h3{font-family:"Baloo 2",sans-serif}.admin-workspace h1{font-size:clamp(30px,4vw,48px);margin:0}.admin-workspace button:disabled{opacity:.45}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:24px 0}.admin-tabs [aria-pressed=true]{background:#d8ede4;border-color:#357568}.admin-card{background:#fffefd;border:1px solid #e4e4d6;border-radius:24px;padding:24px;margin-bottom:20px;min-width:0}.admin-card .form{max-width:650px}.admin-card input:not([type=checkbox]),.admin-card textarea,.admin-card select{width:100%;border:1px solid #c7d7ce;border-radius:12px;padding:12px;background:#fff;color:#303c3c}.admin-review-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.admin-review-grid aside{align-self:start;position:sticky;top:20px}.admin-story-choice{display:flex;flex-direction:column;width:100%;text-align:left;padding:14px;border:0;border-radius:14px;background:transparent;color:inherit;cursor:pointer;gap:5px}.admin-story-choice[aria-pressed=true]{background:#e7f3eb}.admin-revision,.admin-fine{font-size:12px;color:#6d7471}.admin-card details{padding:14px 0;border-bottom:1px solid #e4e7dd}.admin-card summary{cursor:pointer;font-weight:700;min-height:32px}.admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.admin-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.admin-media figure{margin:12px 0}.admin-media img{width:100%;height:180px;object-fit:contain;background:#f4f1e8;border-radius:12px}.admin-media audio{width:100%}.admin-media figcaption{font-size:12px}.admin-review-note{border-left:3px solid #9cbead;padding:12px 18px;background:#f5f8f1;margin:12px 0}.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.admin-metrics div{background:#eaf3e8;border-radius:18px;padding:20px;display:flex;flex-direction:column}.admin-metrics strong{font-size:32px}.admin-notice{background:#fff0ce;padding:18px;border-radius:16px;overflow-wrap:anywhere}.admin-workspace table{width:100%;border-collapse:collapse;text-align:left}.admin-workspace th,.admin-workspace td{padding:14px;border-bottom:1px solid #e3e6dc}.admin-table{overflow-x:auto}.admin-member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #e4e7dc}@media (max-width:800px){.admin-review-grid{grid-template-columns:1fr}.admin-review-grid aside{position:static}.admin-workspace header{align-items:start}.admin-card{padding:18px}}.game-hub-body{max-width:1080px;margin:auto;padding:100px 26px 56px;color:var(--violet-ink,#2a1c6b)}.play-welcome{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff0b3;border-radius:32px;padding:28px 36px}.play-welcome h1{font-family:"Baloo 2",cursive;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;margin:0 0 14px;text-wrap:balance}.play-welcome p{max-width:43ch}.play-reader{font-weight:700}.play-friends{display:flex;align-items:end;flex-shrink:0}.play-friends .story-mascot{width:100px}.play-friends .story-mascot:nth-child(2){width:130px}.game-hub-body>h2{color:#fffdf7;margin:30px 0 16px;font-size:1.8rem}.guest-level{display:flex;gap:12px;flex-wrap:wrap;border:0;padding:18px 0 0;color:#fffdf7}.guest-level legend{float:left;width:100%;margin-bottom:10px;font-weight:700}.game-hub-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-hub-choice{border:2.5px solid #2a1c6b;border-radius:26px;padding:22px;text-align:left;color:#2a1c6b;position:relative;transition:transform .2s ease-out,box-shadow .2s ease-out}.game-hub-choice:hover{transform:translateY(-3px);box-shadow:0 8px 18px #210b6633}.game-hub-choice:active{transform:scale(.98)}.game-hub-choice.memory{background:#ede8ff}.game-hub-choice.spell{background:#ffdcc7}.game-hub-choice.trace{background:#d3ebff}.game-hub-choice.color{background:#d7f6dc}.game-hub-choice strong{display:block;font-family:"Baloo 2",cursive;font-size:1.6rem;margin:10px 0 4px}.game-hub-choice>span{display:block;max-width:35ch}.game-hub-choice>svg{position:absolute;right:20px;bottom:24px}.hub-game-art{height:135px;display:flex;align-items:center;justify-content:center;gap:12px}.hub-game-art img,.hub-game-art svg{width:130px;height:130px}.hub-game-art img:nth-child(2){transform:rotate(8deg)}.hub-letter{font-family:"Baloo 2",cursive;font-size:4rem;width:80px;text-align:center;background:#fffdf7;border-radius:16px;transform:rotate(7deg)}.hub-small{color:#fffdf7;font-size:.95rem;max-width:70ch;margin-top:20px}.play-with-story{background:#fcd5ec;border-radius:28px;display:flex;align-items:center;gap:24px;padding:26px;margin-top:30px}.play-with-story>.story-mascot{width:150px;flex-shrink:0}.play-with-story h2{margin:0 0 8px}.family-profile-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:10px 0 20px}.family-profile{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:130px;flex:1;max-width:190px;padding:18px 14px;border-radius:22px;background:#ede8ff;color:#2a1c6b;border:2px solid transparent}.family-profile[aria-pressed=true]{border-color:#5b3fd6;background:#d7f6dc}.family-profile strong{font-family:"Baloo 2",cursive;font-size:1.4rem}.family-profile span{font-size:.9rem}.profile-back{margin-bottom:20px}.memory-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-board.small{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-card{min-height:135px;background:#5b3fd6;border:2.5px solid #2a1c6b;border-radius:18px;color:#fffdf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .25s ease-out,transform .25s ease-out}.memory-card.revealed{background:#fff0b3;color:#2a1c6b;animation:memory-reveal .25s ease-out}.memory-card.found{background:#d7f6dc;opacity:1}.memory-card:disabled{opacity:1}.memory-card img{width:85px;height:85px}.memory-card span{font-weight:700;font-size:.95rem;overflow-wrap:anywhere}@keyframes memory-reveal{0%{transform:scaleX(.75)}to{transform:scaleX(1)}}@media (max-width:640px){.game-hub-body{padding:88px 16px 35px}.play-welcome{padding:24px 22px;display:block}.play-friends{justify-content:center;margin-top:12px}.play-friends .story-mascot{width:80px}.play-friends .story-mascot:nth-child(2){width:105px}.game-hub-choices{gap:14px}.game-hub-choice{padding:15px}.hub-game-art{height:110px;gap:0}.hub-game-art img,.hub-game-art svg{width:95px;height:95px}.hub-game-art img:nth-child(2){width:70px}.game-hub-choice strong{font-size:1.25rem;line-height:1.2}.game-hub-choice>span{font-size:.95rem}.game-hub-choice>svg{display:none}.hub-letter{font-size:3rem;width:55px}.play-with-story{padding:22px 18px;gap:12px}.play-with-story>.story-mascot{width:90px}.memory-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.memory-card{min-height:112px}.memory-card img{width:68px;height:68px}}@media (prefers-reduced-motion:reduce){.game-hub-choice,.memory-card{transition:none}.memory-card.revealed{animation:none}}html[data-motion=reduced] .memory-card.revealed{animation:none}.reader-questions{display:grid;gap:24px}.reader-question-choices{display:flex;flex-wrap:wrap;gap:10px}.reader-question-choices .pill-btn[aria-pressed=true]{background:#d7f6dc;border-color:#5b3fd6}.reader-questions .check-row{padding:10px 0;align-items:flex-start;gap:10px}.reader-questions input[type=checkbox]{min-width:22px;min-height:22px}.grownup-body{grid-template-columns:minmax(0,1fr)}.grownup-body>.paper-panel{width:min(760px,100%);min-width:0}.grownup-body .form,.reader-questions,.reader-questions>*{min-width:0}.grownup-body .form input:not([type=checkbox]),.grownup-body .form select{min-width:0;width:100%;max-width:100%}.reader-questions .check-row{grid-template-columns:22px minmax(0,1fr)}.reader-questions .check-row input[type=checkbox]{width:22px;max-width:22px}@media (max-width:640px){.games-hub .topbar-right a>span{display:none}}.play-friends .story-mascot{flex:0 0 100px}.play-friends .story-mascot:nth-child(2){flex-basis:130px}.play-with-story>.story-mascot{flex:0 0 150px}@media (max-width:640px){.play-friends .story-mascot{flex-basis:80px}.play-friends .story-mascot:nth-child(2){flex-basis:105px}.play-with-story>.story-mascot{flex-basis:90px}}.grownups .pill-btn.primary,.games-hub .pill-btn.primary{color:var(--fs-violet-ink);text-shadow:none}
