/* Visual polish for the approved Dreamy V5 layout. Keep the scene small and airy. */
.app-shell {width:min(1080px,calc(100% - 36px));}
.hero {min-height:500px;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(18px,3vw,34px);}
.hero h2 {font-size:clamp(42px,4.8vw,66px);line-height:1.02;}
.hero-visual {min-height:350px;}
.hero-visual .book-stack {transform:scale(.9) rotate(-5deg);}
.hero-copy>p:not(.eyebrow) {font-size:clamp(15px,1.25vw,16px);}

/* Slightly more opaque glass keeps text legible over the hills and drifting art. */
.glass-soft,.stat-card,.book-card,.memory-card,.reader-reading-panel,.toolbar {
  background:rgba(255,255,250,.79);
  border-color:rgba(255,255,255,.91);
  box-shadow:0 12px 32px rgba(55,85,80,.09);
}
.topbar,.bottom-nav {background:rgba(255,255,250,.84);}
.reader-welcome {box-shadow:0 13px 34px rgba(55,86,78,.09);}
.reader-welcome-details>div {background:rgba(255,255,255,.78);}
.memory-banner {box-shadow:0 14px 36px rgba(52,82,72,.12);}

/* Show the complete cover where possible; let long English and Malayalam titles wrap. */
.book-cover,.detail-cover,.cover-preview {overflow:hidden;}
.book-cover img,.detail-cover img,.cover-preview img {object-fit:contain;}
.book-cover>span {max-width:100%;font-family:"Playfair Display","Nirmala UI","Noto Sans Malayalam",serif;line-height:1.35;overflow-wrap:anywhere;}
.book-card h4 {font-family:"Playfair Display","Nirmala UI","Noto Sans Malayalam",serif;line-height:1.32;overflow-wrap:anywhere;}
.book-author {overflow-wrap:anywhere;}
.reader-welcome-details strong {white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

/* Cameos remain occasional and stay behind the content. */
.story-moment {filter:drop-shadow(0 3px 6px rgba(49,76,72,.09));}
@keyframes storyMoment {0%,100%{opacity:0;transform:translateY(6px) scale(.97);}22%,72%{opacity:.52;transform:translateY(-2px) scale(1);}}
@keyframes storyMomentWalk {0%,100%{opacity:0;transform:translateX(0) scale(.97);}22%,72%{opacity:.5;}90%{opacity:.2;}100%{transform:translateX(22px) scale(1);}}
.book-card:hover,.memory-card:hover,.option-card:hover,.stat-card:hover {transform:translateY(-3px);}

html[data-theme="night"] .glass-soft,
html[data-theme="night"] .stat-card,
html[data-theme="night"] .book-card,
html[data-theme="night"] .memory-card,
html[data-theme="night"] .reader-reading-panel,
html[data-theme="night"] .toolbar {background:rgba(29,52,62,.88);border-color:rgba(187,220,207,.22)!important;box-shadow:0 14px 36px rgba(2,12,25,.24);}
html[data-theme="night"] .topbar,html[data-theme="night"] .bottom-nav {background:rgba(29,52,62,.88);}
html[data-theme="night"] .reader-welcome-details>div {background:rgba(16,38,47,.7);}
html[data-theme="night"] .world-flight {filter:brightness(.86) saturate(.85) drop-shadow(0 7px 8px rgba(2,13,25,.25));}

@media(max-width:880px){
  .hero {grid-template-columns:1fr;min-height:0;}
  .hero-visual {min-height:310px;}
}
@media(max-width:620px){
  .app-shell {width:calc(100% - 20px);}
  .hero {gap:8px;padding:25px 20px;}
  .hero h2 {font-size:clamp(40px,11vw,54px);line-height:1.04;}
  .hero-visual {min-height:265px;}
  .hero-visual .book-stack {transform:scale(.78) rotate(-5deg);}
  .floating-note {width:145px;padding:13px;}
  .reader-welcome {margin:20px 0 25px;}
  .book-cover>span {font-size:clamp(12px,3.2vw,17px);}
}
@media(prefers-reduced-motion:reduce){
  .book-card,.memory-card,.option-card,.stat-card,.hero-visual,.memory-banner,.toolbar {transition:none!important;}
  .book-card:hover,.memory-card:hover,.option-card:hover,.stat-card:hover {transform:none;}
  .hero-visual::before,.book,.floating-note,.sparkle {animation:none!important;}
  .parallax-soft {transition:none!important;}
}
