:root{
  --cream:#FFF3D6; --paper:#FFFBF1; --ink:#2B2350; --muted:#6B6590;
  --sky:#3FB8F5; --sun:#FFB703; --coral:#FF6B4A; --grape:#7B4DFF; --mint:#2EC4A0;
  --r:24px; --shadow:0 6px 0 rgba(43,35,80,.14);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--cream);color:var(--ink);font-family:'Nunito',system-ui,sans-serif;font-weight:600;-webkit-tap-highlight-color:transparent}
h1,h2,h3,.logo,.btn{font-family:'Fredoka',sans-serif}
a{color:inherit}
.wrap{max-width:980px;margin:0 auto;padding:16px 16px 48px}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}
.logo{font-size:26px;font-weight:700;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:8px}
.logo i{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sun);font-style:normal;box-shadow:var(--shadow);transform:rotate(-6deg)}
.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.chip{border:0;background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:999px;font:600 14px 'Fredoka';cursor:pointer;text-decoration:none;box-shadow:0 3px 0 rgba(43,35,80,.12)}
.chip.on{background:var(--ink);color:#fff}

/* buttons */
.btn{display:inline-block;border:0;cursor:pointer;text-decoration:none;text-align:center;font-weight:600;font-size:18px;padding:13px 24px;border-radius:999px;background:var(--coral);color:#fff;box-shadow:0 5px 0 #c9482b;transition:transform .08s}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #c9482b}
.btn.blue{background:var(--sky);box-shadow:0 5px 0 #1d8fc4}
.btn.grape{background:var(--grape);box-shadow:0 5px 0 #5632c4}
.btn.ghost{background:var(--paper);color:var(--ink);box-shadow:0 5px 0 rgba(43,35,80,.14)}
.btn.small{font-size:15px;padding:8px 16px;box-shadow:0 3px 0 rgba(0,0,0,.15)}
.btn[disabled]{opacity:.4;pointer-events:none}

/* hero + library */
.hero{background:linear-gradient(135deg,var(--sky),var(--grape));color:#fff;border-radius:32px;padding:28px 24px;margin:8px 0 24px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero h1{margin:0 0 6px;font-size:clamp(28px,6vw,44px);line-height:1.05}
.hero p{margin:0;font-size:17px;opacity:.95;max-width:34ch}
.hero:after{content:"★";position:absolute;right:-10px;top:-24px;font-size:140px;color:rgba(255,255,255,.18);transform:rotate(14deg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px}
.card{background:var(--paper);border-radius:var(--r);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;transition:transform .15s}
.card:hover{transform:translateY(-4px) rotate(-.6deg)}
.card .cv{aspect-ratio:4/3;background:linear-gradient(135deg,#ffd166,#ff9f68);display:grid;place-items:center;font-size:44px}
.card .cv img{width:100%;height:100%;object-fit:cover;display:block}
.card .tt{padding:12px 14px 14px;font:600 17px/1.2 'Fredoka'}
.badge{position:absolute;top:10px;left:10px;font:600 13px 'Fredoka';padding:4px 12px;border-radius:999px;color:#fff;background:var(--mint)}
.badge.pro{background:var(--grape)}
.badge.draft{background:var(--muted);left:auto;right:10px}

/* reader */
.reader{position:fixed;inset:0;background:var(--cream);display:flex;flex-direction:column;z-index:10}
.rbar{display:flex;align-items:center;gap:8px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}
.rbar .ttl{flex:1;text-align:center;font:600 18px 'Fredoka';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:4px 16px 8px}
.frame{flex:1;min-height:0;width:100%;max-width:820px;border-radius:30px;overflow:hidden;background:#000;box-shadow:var(--shadow);border:6px solid var(--paper)}
.frame video{width:100%;height:100%;object-fit:cover;display:block}
.story{max-width:760px;text-align:center;font:500 clamp(20px,4.6vw,30px)/1.35 'Fredoka';padding:2px 4px;min-height:2.7em;max-height:28vh;overflow:auto}
.rctl{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 14px calc(14px + env(safe-area-inset-bottom))}
.round{width:60px;height:60px;border-radius:50%;border:0;font-size:26px;cursor:pointer;background:var(--paper);box-shadow:0 5px 0 rgba(43,35,80,.14);color:var(--ink)}
.round.main{width:76px;height:76px;font-size:32px;background:var(--sun);box-shadow:0 6px 0 #c98a00}
.round:active{transform:translateY(3px)}
.round[disabled]{opacity:.3;pointer-events:none}
.dots{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:0 14px}
.dots b{width:10px;height:10px;border-radius:50%;background:rgba(43,35,80,.18)}
.dots b.on{background:var(--coral);transform:scale(1.35)}
.dots b.lk{background:var(--grape);opacity:.5}

/* paywall */
.lock{width:100%;max-width:520px;margin:auto;background:var(--paper);border-radius:32px;padding:30px 24px;text-align:center;box-shadow:var(--shadow)}
.lock .big{font-size:64px}
.lock h2{margin:8px 0}
.lock p{color:var(--muted);margin:6px 0 18px}
.lock .btn{margin:6px}

/* forms / panels */
.panel{background:var(--paper);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);max-width:520px;margin:20px auto}
.panel.wide{max-width:760px}
label{display:block;font:600 14px 'Fredoka';margin:12px 0 4px;color:var(--muted)}
input[type=text],input[type=email],input[type=password],input[type=number],textarea{width:100%;padding:12px 14px;border-radius:14px;border:2px solid #e6dcc3;background:#fff;font:600 16px 'Nunito';color:var(--ink)}
textarea{min-height:84px;resize:vertical}
input:focus,textarea:focus{outline:0;border-color:var(--sky)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.check{display:flex;align-items:center;gap:8px;margin:10px 0}
.check input{width:20px;height:20px}
.msg{margin-top:12px;font-weight:800}
.msg.err{color:#c62828}.msg.ok{color:#1b8a5a}
.muted{color:var(--muted)}
.loading{text-align:center;padding:60px;font:600 20px 'Fredoka';color:var(--muted)}

/* admin */
.arow{display:flex;gap:10px;align-items:center;background:#fff;border-radius:16px;padding:10px 12px;margin:8px 0;border:2px solid #efe5cc}
.arow .n{width:34px;height:34px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font:700 15px 'Fredoka'}
.arow .tx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .ic{font-size:13px;color:var(--muted)}
dialog{border:0;border-radius:28px;padding:22px;max-width:560px;width:calc(100% - 28px);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgba(43,35,80,.5)}
/* Local story studio and responsive shelf */
:root{--local-paper:#f8f6ef;--local-ink:#283e32;--local-muted:#6f776c}
body:has(.local-wrap),body:has(.reader-backdrop){background:var(--local-paper);color:var(--local-ink);font-family:'Nunito',sans-serif}
.local-wrap{max-width:1240px;margin:auto;padding:0 48px}.local-header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid #dcded2;gap:20px}.local-brand{display:flex;align-items:center;gap:10px;font:500 26px 'Fredoka',sans-serif;text-decoration:none;white-space:nowrap}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:#344b38;color:#f8f6ef;border-radius:9px;width:34px;height:38px;font-size:29px;letter-spacing:-5px;padding-right:4px}.brand-mark span{color:#c9d8a0}.brand-dot{color:#c37b45;font-size:20px;margin-left:0}.local-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.local-header a{text-decoration:none}.language{border:0;background:none;font:800 13px 'Nunito';color:inherit;cursor:pointer;padding:10px 0}.language span{color:#898e82}.admin-link{border:1px solid #bbc1ae;padding:10px 16px;border-radius:6px}.shelf-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:58px 0 64px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#687c59}.shelf-hero h1{font:500 clamp(38px,4.7vw,62px)/1.08 'Fredoka',sans-serif;letter-spacing:-1.3px;margin:22px 0;color:#2e4435}.shelf-hero p{max-width:365px;color:#72786d;font-size:14px;line-height:1.9;margin:0 0 25px}.dark-btn{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:#344b38;color:#fff;border:0;padding:15px 21px;border-radius:7px;text-decoration:none;font:800 13px 'Nunito';cursor:pointer}.dark-btn span{font-size:19px}.hero-meta{font-size:10px;margin-top:23px;color:#7d8174;display:flex;gap:14px;align-items:center}.hero-meta span{color:#c68c52}.hero-art{position:relative;display:block;transform:rotate(2deg);padding:11px;background:#e4e8d6;border-radius:130px 130px 10px 10px;max-width:440px;justify-self:end;width:100%}.hero-art img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:120px 120px 5px 5px}.art-stamp{position:absolute;bottom:24px;left:-27px;border-radius:50%;width:99px;height:99px;background:#eec97e;display:flex;align-items:center;justify-content:center;font:500 19px/1.1 'Fredoka';text-align:center;transform:rotate(-14deg);box-shadow:0 0 0 6px #f8f6ef}.shelf-heading{padding-top:25px;border-top:1px solid #dcded2}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading-row h2{font:500 30px 'Fredoka';margin:12px 0 27px}.heading-row>span{font-size:11px;color:#7d8174}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.story-card{text-decoration:none;min-width:0}.book-art{position:relative;border-radius:9px;overflow:hidden;padding:12px;transition:transform .2s}.book-art img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:4px}.story-card:hover .book-art{transform:translateY(-4px)}.free-label{position:absolute;left:23px;top:23px;background:#f9f7eb;padding:6px 11px;border-radius:4px;font-size:10px;font-weight:800}.book-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#79816c;margin:18px 0 9px;text-transform:uppercase;letter-spacing:.6px}.story-card h3{font:500 22px/1.18 'Fredoka';margin:0 0 9px}.story-card p{color:#7c8075;font-size:12px;margin:0 0 18px}.book-read{font-size:11px;font-weight:800;display:flex;justify-content:space-between;border-bottom:1px solid #daddce;padding-bottom:14px}.reading-note{display:flex;align-items:center;gap:22px;margin:58px 0 50px;padding:24px 30px;background:#eaeede;border-radius:9px}.reading-note>span:first-child{font-size:40px;color:#859562}.reading-note h3{font:500 23px 'Fredoka';margin:0 0 5px}.reading-note p{font-size:12px;color:#7b8370;margin:0}.note-flower{margin-left:auto;font-size:45px;color:#a0af7e}.local-wrap footer{border-top:1px solid #dcded2;padding:24px 0 30px;display:flex;justify-content:space-between;font-size:10px;color:#929588}.local-wrap footer span:first-child{font-style:italic}
.reader-backdrop{min-height:100dvh;background:#e4e7dc;display:flex;justify-content:center;align-items:flex-start;padding:20px}.phone-reader{width:min(100%,430px);background:#faf8f0;min-height:min(860px,calc(100dvh - 40px));border-radius:18px;overflow:hidden;box-shadow:0 18px 80px #283e3214;padding-bottom:20px}.phone-top{display:flex;align-items:center;gap:12px;padding:16px}.phone-top a,.phone-top button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfe2d5;border-radius:50%;text-decoration:none;background:transparent;color:inherit;flex-shrink:0;font-size:12px;cursor:pointer}.phone-top>span{font:500 15px/1.2 'Fredoka';text-align:center;flex:1}.page-caption{text-align:center;letter-spacing:2px;font-size:9px;color:#7a856d;margin:6px 0 15px}.phone-page{margin:0 18px;border-radius:100px 100px 10px 10px;overflow:hidden;background:#eeecdf}.page-art{width:100%;aspect-ratio:1.04;background:#dfe7d6}.page-art img{display:block;width:100%;height:100%;object-fit:cover}.empty-art{height:100%;display:grid;place-items:center;padding:30px}.page-text{padding:12px 22px 22px;text-align:center;min-height:164px}.tiny-star{color:#b79450;font-size:17px}.page-text p{font:500 19px/1.48 'Fredoka';margin:7px 0 0}.page-dots{display:flex;justify-content:center;gap:7px;margin:21px 0 13px}.page-dots button{border:0;background:#cbd1bd;width:7px;height:7px;padding:0;border-radius:50%;cursor:pointer}.page-dots button.active{background:#3a533c;width:22px;border-radius:5px}.phone-controls{display:flex;align-items:center;justify-content:center;gap:30px}.phone-controls button{border:1px solid #d8ddcc;background:none;width:42px;height:42px;border-radius:50%;font-size:20px;color:#344b38;cursor:pointer}.phone-controls .narrate{width:58px;height:58px;background:#344b38;color:#fff;border:0}.phone-controls button:disabled{opacity:.3;cursor:default}.audio-note{font-size:10px;color:#848b78;text-align:center;margin:12px 0}.auto-label{display:flex;align-items:center;justify-content:center;gap:6px;font:600 11px 'Nunito';color:#7d8671;margin:0}.auto-label input{accent-color:#344b38}.finish-link{display:block;text-align:center;font-size:12px;margin-top:16px}.studio{max-width:900px;margin:45px auto;min-height:60vh}.studio h1{font:500 38px 'Fredoka';margin:14px 0}.local-info{font-size:13px;line-height:1.8;color:#737e68;max-width:620px}.studio-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:25px 0}.subtle-btn{display:inline-block;padding:11px 16px;border:1px solid #c9cfbc;border-radius:6px;background:transparent;font:700 12px 'Nunito';text-decoration:none;color:inherit;cursor:pointer}.import-label{margin:0}.studio-book{display:flex;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #dcded2}.studio-book img{width:75px;height:75px;object-fit:cover;border-radius:8px;background:#e3e7d8}.studio-book h3{font:500 22px 'Fredoka';margin:0}.studio-book p{font-size:12px;color:#818a75}.studio-book>div{flex:1}.studio .edit-panel{padding:24px;background:#fffdf7;border:1px solid #dfe2d5;border-radius:12px;margin:20px 0}.studio label{font:700 12px 'Nunito';color:#657458;margin:12px 0;display:block}.studio label input:not([type=checkbox]),.studio textarea{display:block;width:100%;font:500 15px 'Nunito';padding:11px;margin-top:7px;border:1px solid #d1d8c5;border-radius:6px;background:#fff;color:#283e32}.studio textarea{min-height:105px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-preview{width:110px;height:110px;object-fit:cover;border-radius:8px}.publish-label{display:flex!important;gap:8px;align-items:center}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.editor-heading h2,.editor-heading h3{font-family:'Fredoka';font-weight:500}.editor-heading button{cursor:pointer;padding:6px 9px;border:1px solid #c9cfbc;border-radius:4px;color:inherit;background:none;margin-left:5px}.editor-heading button:disabled{opacity:.35}.studio audio{max-width:100%;display:block;margin:8px 0}.studio small{display:block;margin:5px 0}.save-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 0}.save-bar span{font-size:12px}.danger{color:#a34d38}.studio button:disabled{opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c28d4e;outline-offset:4px}
@media(min-width:1500px){.local-wrap{max-width:1320px}.shelf-hero{gap:100px}.hero-art{max-width:480px}}
@media(max-width:760px){.local-wrap{padding:0 22px}.local-header{padding:21px 0;gap:12px}.local-brand{font-size:22px;gap:6px}.brand-mark{width:29px;height:32px;font-size:26px}.brand-dot{display:none}.local-header nav{gap:14px}.library-link{display:none}.admin-link{font-size:10px;padding:8px 10px}.shelf-hero{gap:32px;padding:40px 0;grid-template-columns:1fr}.shelf-hero h1{font-size:45px;max-width:500px}.shelf-hero p{font-size:14px;max-width:440px}.hero-art{max-width:none;width:90%;justify-self:center}.hero-art img{aspect-ratio:1.3}.art-stamp{width:84px;height:84px;font-size:17px;left:-20px;bottom:20px}.eyebrow{font-size:9px}.heading-row{align-items:flex-start;flex-direction:column;gap:0}.heading-row h2{font-size:28px;margin-bottom:8px}.heading-row>span{margin-bottom:22px}.story-grid{grid-template-columns:1fr;gap:30px}.book-art img{aspect-ratio:1.3}.book-meta{margin-top:15px}.story-card h3{font-size:25px}.story-card p{font-size:13px}.reading-note{padding:21px 18px;gap:14px;margin-top:38px}.reading-note h3{font-size:21px}.reading-note p{font-size:11px;line-height:1.6}.note-flower{display:none}.local-wrap footer{gap:13px;font-size:9px;flex-direction:column}.form-grid{grid-template-columns:1fr;gap:0}.studio .edit-panel{padding:16px}.studio h1{font-size:32px}.studio-book{gap:12px}.studio-book h3{font-size:18px}.studio-book img{width:58px;height:65px}}
@media(max-width:470px){.reader-backdrop{padding:0}.phone-reader{width:100%;border-radius:0;min-height:100dvh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.phone-top{padding-top:max(16px,env(safe-area-inset-top))}.page-text p{font-size:18px}.local-wrap{padding:0 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Streaming catalogue: grouped story rails, preschool-sized reading stays portrait. */
body:has(.stream-home){background:#0c1323;color:#f5f6fa}
.local-wrap:has(.stream-home){max-width:1600px;padding:0 60px}
.local-wrap:has(.stream-home) .local-header{border-color:#ffffff12;position:relative;z-index:2;padding:23px 0}
.local-wrap:has(.stream-home) .local-brand{color:#fff;font-size:25px;letter-spacing:.2px}
.local-wrap:has(.stream-home) .brand-mark{background:#e8bd70;color:#122139}.local-wrap:has(.stream-home) .brand-mark span{color:#122139}.local-wrap:has(.stream-home) .brand-dot{color:#e8bd70}
.local-wrap:has(.stream-home) .local-header nav{color:#aeb7cb;gap:27px;font-weight:700}.local-wrap:has(.stream-home) .library-link{color:#fff}.local-wrap:has(.stream-home) .language{color:#f3f4f9}.local-wrap:has(.stream-home) .language span{color:#7d8aa5}.local-wrap:has(.stream-home) .admin-link{border-color:#ffffff25;color:#d6dceb;background:#ffffff05}
.stream-feature{height:540px;position:relative;border-radius:15px;overflow:hidden;margin:26px 0 0;background:#202b43;isolation:isolate}
.feature-backdrop{position:absolute;right:0;top:0;height:100%;width:69%;object-fit:cover;object-position:50% 47%;z-index:-3}
.feature-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#152038 0%,#152038f5 25%,#152038aa 44%,#1520380a 72%),linear-gradient(0deg,#101c32c7 0%,transparent 45%)}
.feature-content{padding:54px 48px;max-width:585px;position:relative}.feature-kicker{font-size:10px;font-weight:800;letter-spacing:2.5px;color:#e5c58e;display:flex;gap:9px;align-items:center}.feature-kicker>span{font-size:18px}.feature-tags{display:flex;gap:9px;margin:27px 0 15px;align-items:center}.feature-tags span{font-size:10px;color:#c2cbdc;border:1px solid #ffffff28;border-radius:4px;padding:4px 8px}.feature-tags span:first-child{color:#edd49e;background:#e8bd7015;border-color:#e8bd7040}.feature-content h1{font:500 clamp(36px,4vw,57px)/1.05 'Fredoka',sans-serif;letter-spacing:-.5px;max-width:420px;margin:0 0 17px;color:#fff}.feature-content p{font-size:13px;line-height:1.8;color:#bbc5d6;max-width:330px;margin:0 0 26px}.feature-actions{display:flex;align-items:center;gap:12px}.watch-btn{display:inline-flex;gap:13px;align-items:center;background:#f1cc83;color:#162136;padding:13px 20px;border-radius:6px;text-decoration:none;font:800 12px 'Nunito';border:0;cursor:pointer;min-height:44px}.watch-btn:hover{background:#ffdea1}.watch-btn span{font-size:13px}.browse-btn{border:1px solid #ffffff2b;color:#e5e9f2;background:#ffffff0d;padding:13px 17px;min-height:44px;border-radius:6px;font:700 12px 'Nunito';cursor:pointer}.browse-btn:hover{background:#ffffff1c}.feature-foot{display:flex;align-items:center;gap:10px;color:#8898b4;font-size:10px;margin-top:24px}.feature-foot>span{color:#e8bd70}.feature-count{position:absolute;right:28px;bottom:25px;display:flex;align-items:center;gap:10px;color:#d9dfeb}.feature-count b{font:500 35px 'Fredoka';color:#eecb8b}.feature-count>span{font-size:9px;line-height:1.5;letter-spacing:1px}
.discover{padding-top:41px;scroll-margin-top:20px}.discover-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.stream-home .eyebrow{color:#8493b0;font-size:9px;letter-spacing:2px}.discover-heading h2{font:500 29px 'Fredoka';color:#f6f6fc;margin:10px 0 0}.story-search{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #ffffff22;border-radius:7px;min-width:220px;margin:0;background:#ffffff04;color:#a4b1c9;font:500 20px 'Nunito'}.story-search input{color:#e3e7f1;font:500 12px 'Nunito';border:0;background:none;outline:0;width:170px;min-width:0;padding:4px}.story-search input::placeholder{color:#7f8ca6}.category-filters{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:24px 0 5px}.category-filters::-webkit-scrollbar{display:none}.category-filters button{flex-shrink:0;border:1px solid #ffffff1a;border-radius:7px;background:#161f32;color:#aebbd0;padding:12px 19px;min-height:44px;font:700 12px 'Nunito';cursor:pointer;display:flex;align-items:center;gap:9px}.category-filters button.selected{background:#f0cc86;color:#1d2940;border-color:#f0cc86}.category-filters button:hover:not(.selected){background:#26334b;color:#fff}.category-filters button>span:not(.category-icon){font-size:9px;border-radius:3px;background:#00000015;padding:1px 5px}.category-icon{font-size:17px;line-height:1}
.story-rail{padding-top:30px;min-width:0}.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.rail-heading h2{font:500 23px 'Fredoka';margin:0;color:#f1f3f9}.rail-heading h2 span{font:800 10px 'Nunito';margin-left:7px;color:#7e8da9}.rail-heading p{font-size:11px;color:#7e8ea9;margin:5px 0 0}.rail-arrows{display:flex;gap:7px}.rail-arrows button{border:1px solid #ffffff20;background:#ffffff06;color:#b9c5db;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:18px}.rail-arrows button:hover{background:#ffffff19;color:#fff}.rail-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#34415d transparent;padding:3px 1px 14px}.stream-card{text-decoration:none;scroll-snap-align:start;min-width:0;border-radius:9px;display:block;transition:transform .18s}.stream-card:hover{transform:translateY(-3px)}.stream-poster{position:relative;overflow:hidden;aspect-ratio:1.43;border-radius:8px;background:#23324d;outline:1px solid #ffffff0d}.stream-poster img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%;transition:transform .3s}.stream-card:hover img{transform:scale(1.05)}.stream-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06101dcc,transparent 52%);pointer-events:none}.poster-badge{position:absolute;left:10px;top:10px;z-index:1;background:#142238ca;backdrop-filter:blur(6px);color:#fff8e4;font-size:8px;font-weight:800;letter-spacing:1px;border:1px solid #ffffff23;padding:5px 7px;border-radius:3px}.poster-play{position:absolute;right:12px;bottom:12px;z-index:1;color:#fff;background:#ffffff24;width:27px;height:27px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;font-size:10px}.poster-pages{position:absolute;left:12px;bottom:14px;color:#e2e8ef;z-index:1;font-size:9px;letter-spacing:.4px}.stream-card-text{padding:12px 1px 0}.stream-card-meta{font-size:9px;font-weight:700;color:#e1ba78;display:flex;gap:8px;align-items:center}.stream-card-meta span{color:#65738e}.stream-card h3{font:500 18px/1.22 'Fredoka';margin:7px 0 6px;color:#edf0f8}.stream-card p{font-size:10px;line-height:1.6;color:#8897b1;margin:0}.no-stories{text-align:center;padding:65px 20px;color:#96a3ba}.no-stories>span{font-size:36px}.no-stories h3{font:500 26px 'Fredoka';color:#e3e8f4}.no-stories p{font-size:13px}.stream-note{border:1px solid #ffffff0d;background:linear-gradient(105deg,#1b2940,#151e31);border-radius:10px;margin:45px 0 35px;padding:26px 32px;display:flex;align-items:center;gap:23px}.stream-note>span:first-child{font-size:40px;color:#e8bd70}.stream-note h3{font:500 24px 'Fredoka';margin:0 0 7px;color:#ecedf5}.stream-note p{font-size:12px;color:#8f9eb8;margin:0;line-height:1.7}.note-age{margin-left:auto;text-align:center;font:500 28px 'Fredoka';color:#e9c68a;line-height:.9}.note-age small{font:800 8px 'Nunito';letter-spacing:2px;color:#7f8eaa}.local-wrap:has(.stream-home) footer{border-color:#ffffff12;color:#6e7d98}
.story-lesson{margin:16px 20px 0;border:1px solid #b9c8a4;background:#e7edde;padding:15px;border-radius:9px;text-align:center}.story-lesson>span{font:800 10px 'Nunito';text-transform:uppercase;letter-spacing:1px;color:#5d7448}.story-lesson p{font:500 17px/1.45 'Fredoka';margin:7px 0 0}.adaptation-note{font:600 9px/1.6 'Nunito';padding:0 26px;color:#808a74;text-align:center;margin-top:15px}.studio select{width:100%;display:block;padding:11px;margin-top:7px;border:1px solid #d1d8c5;border-radius:6px;background:#fff;color:#283e32;font:500 15px 'Nunito'}
@media(min-width:1400px){.stream-feature{height:580px}.feature-content{padding:65px 60px}.feature-content h1{font-size:64px}.rail-track{grid-auto-columns:calc((100% - 96px)/5)}}
@media(max-width:1050px){.local-wrap:has(.stream-home){padding:0 32px}.stream-feature{height:480px}.feature-content{padding:45px 32px}.feature-content h1{font-size:45px;max-width:330px}.feature-content p{max-width:280px}.rail-track{grid-auto-columns:calc((100% - 40px)/3);gap:20px}.feature-backdrop{width:75%}.feature-shade{background:linear-gradient(90deg,#152038 0%,#152038ee 22%,#15203866 56%,#15203800 85%),linear-gradient(0deg,#101c32df,transparent 70%)}}
@media(max-width:760px){.local-wrap:has(.stream-home){padding:0 20px}.local-wrap:has(.stream-home) .local-header{padding:20px 0}.local-wrap:has(.stream-home) .local-brand{font-size:21px}.local-wrap:has(.stream-home) .local-header nav{gap:15px}.stream-feature{height:540px;margin:16px -6px 0;border-radius:11px;display:flex;align-items:flex-end}.feature-backdrop{width:100%;height:100%;object-position:60% 25%}.feature-shade{background:linear-gradient(0deg,#111e34 0%,#111e34f5 21%,#111e34ab 44%,#111e3405 77%)}.feature-content{padding:27px 25px;max-width:100%;width:100%}.feature-kicker{font-size:9px;letter-spacing:2px}.feature-tags{margin:16px 0 12px}.feature-tags span{font-size:9px}.feature-content h1{font-size:42px;max-width:270px;margin-bottom:12px}.feature-content p{font-size:12px;max-width:300px;line-height:1.7;margin-bottom:18px}.feature-foot{margin-top:18px;font-size:9px}.feature-count{display:none}.feature-actions{gap:8px}.watch-btn,.browse-btn{font-size:11px;padding:12px 14px;gap:10px}.discover{padding-top:31px}.discover-heading{flex-direction:column;align-items:stretch;gap:18px}.discover-heading h2{font-size:26px}.story-search{min-width:0;padding:7px 12px}.story-search input{width:100%}.category-filters{margin-right:-20px;padding:18px 20px 6px 0;gap:8px}.category-filters button{padding:10px 15px;font-size:11px}.story-rail{padding-top:27px}.rail-heading{margin-bottom:14px}.rail-heading h2{font-size:22px}.rail-heading p{font-size:10px;max-width:245px}.rail-arrows{gap:5px}.rail-arrows button{width:30px;height:30px;font-size:15px}.rail-track{grid-auto-columns:65%;gap:14px;margin-right:-20px;padding-right:20px;scroll-padding-right:20px}.stream-poster{aspect-ratio:1.35}.stream-card h3{font-size:18px}.stream-card p{font-size:10px}.stream-card-text{padding-top:11px}.stream-note{margin:32px 0 27px;padding:21px 19px;gap:14px}.stream-note>span:first-child{font-size:28px}.stream-note h3{font-size:21px}.stream-note p{font-size:10px}.note-age{display:none}.local-wrap:has(.stream-home) footer{font-size:9px;padding:20px 0}}
@media(min-width:540px) and (max-width:760px){.rail-track{grid-auto-columns:44%}.stream-feature{height:550px}.feature-content h1{font-size:47px}}
@media(prefers-reduced-motion:reduce){.stream-card,.stream-poster img{transition:none}.rail-track{scroll-behavior:auto}}
.rail-arrows button:disabled{opacity:.25;cursor:default;background:none}
.poster-badge.new-story{background:#f0cc86;color:#162136;border-color:#ffe5ad}
.lesson-question{margin-top:13px;padding-top:12px;border-top:1px solid #bdcba9}
.lesson-question>span{font:800 10px 'Nunito';letter-spacing:.7px;color:#738264}
.lesson-question p{font-size:16px;color:#4b6241}
@media(min-width:761px){.category-filters{flex-wrap:wrap;overflow:visible;padding-bottom:0}}
/* Gentle media presets shared by reader and studio. */
.scene-media{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:#dfe7d6}
.scene-media>.scene-source{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center;will-change:transform}
.scene-media video.scene-source{will-change:auto}
.scene-media.motion-zoom>img{animation:scene-zoom 14s ease-in-out infinite alternate}
.scene-media.motion-pan>img{animation:scene-pan 18s ease-in-out infinite alternate}
.scene-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.scene-particles span{position:absolute;left:var(--x);top:var(--y);animation:scene-drift var(--duration) ease-in-out var(--delay) infinite alternate}
.scene-particles.fireflies span{width:5px;height:5px;background:#fff2ab;border-radius:50%;box-shadow:0 0 9px 3px #ffe89799}
.scene-particles.stars span{font-size:16px;color:#ffefb0;text-shadow:0 0 8px #ffda73}
.scene-toggle{position:absolute;z-index:2;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;border:1px solid #ffffff88;background:#172b32b8;color:#fff;display:grid;place-items:center;font-size:13px;cursor:pointer;backdrop-filter:blur(5px)}
.scene-status{position:absolute;bottom:4px;left:6px;right:6px;background:#fff4dded;color:#7f3d21;border-radius:6px;padding:8px;font:700 11px/1.5 'Nunito';z-index:3}
.scene-status[hidden]{display:none}.scene-media.visual-paused .scene-source,.scene-media.visual-paused .scene-particles span{animation-play-state:paused!important}
@keyframes scene-zoom{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes scene-pan{from{transform:scale(1.12) translateX(-3%)}to{transform:scale(1.12) translateX(3%)}}
@keyframes scene-drift{from{transform:translate(0,8px) scale(.65);opacity:.35}to{transform:translate(10px,-14px) scale(1);opacity:.85}}
.media-editor{margin:18px 0;padding:18px;border:1px solid #dbe3cf;border-radius:10px;background:#f2f5eb}
.media-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-editor-heading h4{font:500 19px 'Fredoka';margin:0}.media-type-tag{font:800 9px 'Nunito';text-transform:uppercase;letter-spacing:.8px;color:#597446;background:#e1e9d6;padding:5px 8px;border-radius:4px}
.media-editor .media-help{font:600 11px/1.6 'Nunito';color:#7a846e;margin:7px 0 12px}.media-live-preview{max-width:360px;width:100%;aspect-ratio:1.04;border-radius:12px;overflow:hidden;margin:15px 0;background:#dfe7d6}
.media-editor label:has(select:disabled){opacity:.55}.media-editor .media-feedback{font:800 12px/1.6 'Nunito';color:#a3492d}.media-editor .media-file-name{font:600 11px 'Nunito';overflow-wrap:anywhere;color:#708060;margin:8px 0}
.media-editor button.restore-image{font:700 11px 'Nunito';padding:8px 11px;border:1px solid #b7c8a5;border-radius:5px;background:#fff;color:#466037;cursor:pointer;margin-bottom:8px}
@media(prefers-reduced-motion:reduce){.scene-media .scene-source,.scene-media .scene-particles span{animation:none!important;transform:none!important}.scene-media .scene-particles{display:none}}
