.fas-app { --fas-ink:#34234a; --fas-purple:#60348c; color:var(--fas-ink); max-width:1320px; margin:1.25rem auto; padding:0 1rem; }
.fas-app :is(button,input,select,textarea) { font:inherit; }
.fas-app :is(button:not(.wp-editor-wrap button),.fas-button) { display:inline-flex; align-items:center; gap:.35rem; padding:.62rem .9rem; border:1px solid #8762ae; border-radius:10px; background:#60348c; color:#fff; font-weight:700; text-decoration:none; cursor:pointer; }
.fas-app button:disabled:not(.wp-editor-wrap button) { opacity:.55; cursor:wait; }
.fas-app :is(button,a,input,select,textarea):focus-visible { outline:3px solid #b074e0; outline-offset:3px; }
.fas-app .fas-light { background:#f1e7fc; color:#563178; }
.fas-hero { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:clamp(1.2rem,4vw,3.4rem); border:1px solid #e5cff4; border-radius:26px; background:radial-gradient(ellipse at 92% 0%,#ffd7ec,transparent 56%),linear-gradient(125deg,#ede0ff,#f7edff 55%,#d2f2eb); }
.fas-hero h1 { font-size:clamp(2rem,5vw,4rem); line-height:1.2; margin:.45rem 0; color:#382357; }
.fas-hero p { margin:.5rem 0 1.15rem; }
.fas-hero-art { display:flex; align-items:center; justify-content:center; gap:.5rem; min-width:23%; color:#935cbb; font-size:clamp(1.4rem,4vw,3rem); }
.fas-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr)); gap:1rem; margin-top:1rem; }
.fas-card,.fas-reader { border:1px solid #dfc8ee; border-radius:17px; overflow:hidden; background:#f7eeff; }
.fas-cover { position:relative; display:block; color:#fff; background:#4c2a6c; isolation:isolate; aspect-ratio:3/2; overflow:hidden; }
.fas-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.fas-cover::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#251038ed); pointer-events:none; }
.fas-cover h2 { position:absolute; z-index:1; inset:auto .8rem .7rem; color:#fff; margin:0; line-height:1.45; font-size:1rem; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.fas-byline { display:flex; align-items:center; gap:.55rem; padding:.7rem .8rem .45rem; }
.fas-byline img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.fas-byline div { display:grid; gap:.12rem; min-width:0; line-height:1.3; }
.fas-byline :is(a,strong) { color:#8e294a; font-weight:700; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fas-byline time { font-size:.8rem; color:#285582; }
.fas-actions,.fas-nav { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; padding:.55rem .8rem; }
.fas-nav { padding:.85rem 0; }
.fas-nav a { padding:.5rem .72rem; border:1px solid #dcc6ee; border-radius:9px; color:#563178; background:#f5edfd; text-decoration:none; }
.fas-actions button { font-size:.83rem; padding:.32rem .55rem; background:#fff; color:#5d367c; border-color:#dfc8ee; }
.fas-actions button[aria-pressed="true"] { background:#ead2ff; border-color:#8e58bd; }
.fas-reaction-status { font-size:.75rem; }
.fas-empty { padding:1rem; background:#f6eefc; border-radius:12px; }
.fas-app dialog { position:fixed; inset:0; margin:auto; width:min(94vw,900px); max-height:90dvh; overflow:auto; z-index:99990; border:1px solid #dfc7ef; border-radius:18px; padding:1rem; color:var(--fas-ink); background:#fbf6ff; }
.fas-app dialog::backdrop { background:#251237ab; }
.fas-app .fas-write-dialog { box-shadow:0 0 0 100vmax #251237ae; }
.fas-editor-open { overflow:hidden; }
.fas-write-dialog header { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.fas-write-dialog h2 { margin:0; }
.fas-form { display:grid; gap:.75rem; margin:1rem 0; }
.fas-form label { display:grid; gap:.3rem; font-weight:700; }
.fas-form small { font-weight:400; }
.fas-app :is(input[type="text"],input[type="url"],input[type="file"],select) { box-sizing:border-box; width:100%; border:1px solid #d9bce9; border-radius:8px; background:#fff; color:var(--fas-ink); padding:.6rem; }
.fas-form button[type="submit"] { justify-self:start; }
.fas-form-status { margin:0; }
.fas-app .fas-share-dialog { width:min(90vw,500px); }
.fas-share-dialog input { margin-bottom:.7rem; }
.fas-reader,.fas-book-page { max-width:850px; margin:auto; background:#fffcf8; }
.fas-reader .fas-cover { aspect-ratio:2/1; }
.fas-reader .fas-cover h2 { font-size:clamp(1.35rem,3vw,2.4rem); }
.fas-prose { padding:clamp(1rem,4vw,2rem); line-height:1.85; overflow-wrap:anywhere; }
.fas-prose img { max-width:100%; height:auto; }
.fas-book-cover { display:grid; justify-items:center; gap:.6rem; max-width:540px; margin:1rem auto; padding:clamp(1.4rem,5vw,3.2rem); text-align:center; border:5px double #d9b7ec; border-radius:20px; color:#fff; background:linear-gradient(150deg,#472367,#733f99,#9e5b9e); }
.fas-book-cover :is(h1,h2,p) { margin:0; color:inherit; }
.fas-book-cover img { border:3px solid #e8c8f8; border-radius:50%; object-fit:cover; }
.fas-book-page { border:1px solid #e0caee; border-radius:14px; padding:1rem; box-shadow:0 10px 28px #43266118; animation:fas-page-in .24s ease-out; }
.fas-book-page .fas-prose { padding-inline:0; }
.fas-book-image { display:block; max-width:100%; max-height:400px; margin:auto; object-fit:contain; }
@keyframes fas-page-in { from { opacity:.5; transform:translateX(10px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .fas-book-page { animation:none; } }
@media(max-width:720px) { .fas-app { padding:0 .65rem; } .fas-hero-art { min-width:0; gap:.12rem; } .fas-reader .fas-cover { aspect-ratio:3/2; } }

.fas-stories-page .fas-page-main { width:100%; padding:0; margin:0; }
.fas-stories-page .fas-app { box-sizing:border-box; width:min(calc(100% - 32px),1300px); max-width:none; margin:30px auto 40px; padding:0; }
.fas-app .fas-hero { min-height:clamp(230px,29vw,340px); background:radial-gradient(ellipse at 90% 5%,#ffd1eb,transparent 54%),linear-gradient(120deg,#ecdeff,#fcf1ff 49%,#ccf0e7); box-shadow:0 12px 32px #48297216; }
.fas-hero-copy { flex:1 1 55%; min-width:0; }
.fas-hero-copy p { max-width:38em; line-height:1.85; }
.fas-hero-kicker { display:inline-flex; padding:.4rem .75rem; background:#fff9; border:1px solid #fff; border-radius:99px; color:#663e89; font-weight:700; font-size:.82rem; }
.fas-app img.fas-hero-art { flex:0 1 42%; width:42%; max-width:480px; min-width:0; height:auto; }
.fas-app .fas-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.6rem,1.4vw,1.1rem); margin-top:1.25rem; }
.fas-app .fas-grid + .fas-nav:empty { display:none; }
.fas-card .fas-byline { padding:.55rem .7rem .25rem; }
.fas-card .fas-byline img { flex:0 0 38px; width:38px; height:38px; }
.fas-card .fas-byline :is(a,strong) { font-size:.86rem; }
.fas-card .fas-byline time { font-size:.72rem; }
.fas-app .fas-write-dialog { box-sizing:border-box; background:linear-gradient(135deg,#f5e5ff,#fff1f8 53%,#e4f8f3); border:1px solid #d9b9ee; padding:clamp(.85rem,2.6vw,1.65rem); }
.fas-write-dialog header { display:block; padding:.85rem 1rem; border-radius:14px; background:linear-gradient(110deg,#ebd8ff,#fbdceb 54%,#d0f2e9); }
.fas-write-dialog header span { color:#704496; font-size:.8rem; font-weight:700; }
.fas-write-dialog header h2 { margin:.25rem 0; }
.fas-write-dialog header p { margin:.15rem 0 0; color:#634879; }
.fas-form-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
@media(max-width:1020px) { .fas-app .fas-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:720px) { .fas-app .fas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .fas-app img.fas-hero-art { width:36%; flex-basis:36%; } }
@media(max-width:430px) { .fas-stories-page .fas-app { width:calc(100% - 22px); } .fas-app .fas-grid { grid-template-columns:1fr; } .fas-app .fas-hero { flex-direction:column; align-items:start; } .fas-app img.fas-hero-art { width:min(68%,240px); align-self:center; } }

.fas-app .fas-hero {
    background:radial-gradient(ellipse at 82% 15%,#ffeab7,transparent 53%),linear-gradient(120deg,#eee1ff,#ffedf7 55%,#d0f5eb);
}
.fas-app .fas-hero-art { filter:drop-shadow(0 8px 12px #7745a224); }
.fas-app .fas-grid { gap:clamp(1rem,2.5vw,2rem); }
.fas-story-slot { position:relative; display:flex; min-width:0; }
.fas-story-slot .fas-card { flex:1; min-width:0; display:flex; flex-direction:column; }
.fas-story-slot .fas-actions { margin-top:auto; }
.fas-story-slot:nth-child(3n+2) .fas-card { background:#e7f8f3; border-color:#bfe6dc; }
.fas-story-slot:nth-child(3n+3) .fas-card { background:#ffedf3; border-color:#efd0db; }
.fas-card-mascot {
    position:absolute; z-index:2; pointer-events:none; right:0; bottom:1.1rem;
    width:clamp(24px,3vw,36px); height:auto; aspect-ratio:1; transform:translateX(78%) rotate(8deg);
    filter:drop-shadow(0 2px 2px #5b327732);
}
.fas-story-slot:nth-child(even) .fas-card-mascot { transform:translateX(78%) rotate(-8deg); }
.fas-kids-empty { display:flex; align-items:center; gap:.75rem; background:linear-gradient(110deg,#fff1cf,#f6e8ff,#ddf7ed); }
.fas-kids-empty p { margin:0; }
@media(min-width:1021px) { .fas-story-slot:nth-child(4n) .fas-card-mascot { display:none; } }
@media(min-width:721px) and (max-width:1020px) { .fas-story-slot:nth-child(3n) .fas-card-mascot { display:none; } }
@media(min-width:431px) and (max-width:720px) { .fas-story-slot:nth-child(2n) .fas-card-mascot { display:none; } }
@media(max-width:430px) {
    .fas-app .fas-grid { row-gap:1.4rem; }
    .fas-story-slot .fas-card-mascot { right:1rem; bottom:0; transform:translateY(70%) rotate(8deg); }
    .fas-story-slot:nth-child(even) .fas-card-mascot { right:auto; left:1rem; transform:translateY(70%) rotate(-8deg); }
}
