/* Full viewport character welcome, translucent profile, story cards and a functional dock. */
body.theme-nahida-forest { --accent:#447850; --accent-hover:#2f603a; --accent-soft:#e6eedf; --bg:#f4f6ef; --bg-soft:#fffef9; --fg:#314332; --fg-muted:#788372; --border:#e0e6d8; background:var(--bg); }
[data-theme='dark'] body.theme-nahida-forest { --accent:#aed496; --accent-hover:#c4e9ae; --accent-soft:#283a29; --bg:#151e18; --bg-soft:#202b22; --fg:#e6eedc; --fg-muted:#a4b59e; --border:#374934; }
body.theme-nahida-forest .app-main { padding-top:0; }
body.theme-nahida-forest .forest-hero { position:relative; min-height:780px; height:100svh; isolation:isolate; overflow:hidden; background-image:linear-gradient(90deg,#18352b25,transparent 65%),var(--forest-home-image,url('assets/sanctuary.webp')); background-size:cover; background-position:center; }
body.theme-nahida-forest .forest-hero::after { content:''; position:absolute; z-index:-1; inset:65% 0 0; background:linear-gradient(transparent,#1a302a35); pointer-events:none; }
body.theme-nahida-forest .forest-glow { position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 20% 42%,#f4ffd32e,transparent 50%); }
body.theme-nahida-forest .forest-welcome { position:absolute; top:50%; left:max(6vw,32px); transform:translateY(-45%); width:min(440px,40vw); padding:48px 38px 32px; background:rgba(255,255,244,var(--card-opacity,.91)); border:1px solid #ffffffc0; border-radius:26px; text-align:center; color:#354d35; box-shadow:0 20px 70px #17372329,inset 0 0 0 5px #ffffff40; backdrop-filter:blur(14px); }
[data-theme='dark'] body.theme-nahida-forest .forest-welcome { background:rgba(27,45,31,var(--card-opacity,.9)); border-color:#a0ba8355; color:#e1ebcf; }
body.theme-nahida-forest .forest-avatar { position:absolute; width:86px; height:86px; top:-44px; left:calc(50% - 43px); display:grid; place-items:center; border-radius:50%; background:#f7f9e9; border:5px solid #ffffffdd; color:#668246; box-shadow:0 4px 24px #25442d24; }
body.theme-nahida-forest .forest-avatar svg { width:52px; height:52px; }
body.theme-nahida-forest .forest-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
body.theme-nahida-forest .forest-eyebrow { font-size:.75rem; letter-spacing:.15em; color:#728564; margin:12px 0 14px; }
body.theme-nahida-forest .forest-welcome h1 { margin:0 0 12px; font-weight:650; font-size:clamp(1.5rem,2.5vw,2.3rem); line-height:1.45; color:inherit; overflow-wrap:anywhere; }
body.theme-nahida-forest .forest-subtitle { font-size:.82rem; line-height:1.9; opacity:.75; }
body.theme-nahida-forest .forest-profile-tags { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:20px 0; }
body.theme-nahida-forest .forest-profile-tags a { font-size:.67rem; padding:4px 10px; border:1px dashed #77915b80; border-radius:6px; background:#88a65a12; }
body.theme-nahida-forest .forest-divider { height:1px; background:linear-gradient(90deg,transparent,#98ad77a0,transparent); margin:22px 0; }
body.theme-nahida-forest .forest-greeting { font-size:.8rem; line-height:2; opacity:.8; }
body.theme-nahida-forest .forest-welcome-links { display:flex; justify-content:center; gap:24px; margin-top:26px; }
body.theme-nahida-forest .forest-welcome-links a { color:inherit; font-size:.77rem; text-decoration:none; padding-bottom:5px; border-bottom:1px solid #91a96e; }
body.theme-nahida-forest .forest-character-label { position:absolute; right:11%; bottom:110px; color:#fffce4; text-shadow:0 2px 16px #133f26; }
body.theme-nahida-forest .forest-character-label > span { font-size:.65rem; letter-spacing:.28em; }
body.theme-nahida-forest .forest-character-label p { font-size:1.15rem; letter-spacing:.12em; line-height:1.8; margin:12px 0 0; }
body.theme-nahida-forest .forest-scroll { position:absolute; bottom:27px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:5px; color:#fffdec; font-size:.65rem; letter-spacing:.18em; text-decoration:none; text-shadow:0 1px 8px #203c2b; }
body.theme-nahida-forest .forest-scroll span:last-child { font-size:25px; }
body.theme-nahida-forest .story-card { border-radius:20px; }
body.theme-nahida-forest .story-section-heading h2 { font-size:1.8rem; letter-spacing:.08em; }
body.theme-nahida-forest .story-panel-title { letter-spacing:.08em; }
@media(max-width:760px) {
  body.theme-nahida-forest .forest-hero { height:auto; min-height:100svh; padding:300px 20px 100px; background-position:63% top; }
  body.theme-nahida-forest .forest-welcome { position:relative; top:auto; left:auto; transform:none; margin:0 auto; width:min(100%,420px); padding:42px 25px 25px; }
  body.theme-nahida-forest .forest-character-label { top:100px; bottom:auto; left:25px; right:auto; }
  body.theme-nahida-forest .forest-character-label p { font-size:.88rem; }
}
body.theme-nahida-forest .forest-journal { position:relative; isolation:isolate; min-height:100svh; padding-bottom:40px; }
body.theme-nahida-forest .forest-character-label p { white-space:pre-line; }
body.theme-nahida-forest .forest-card-image { width:100%; max-height:160px; object-fit:cover; border-radius:14px; margin:8px 0 16px; }
body.theme-nahida-forest .forest-profile-extras { margin-top:0; }
body.theme-nahida-forest .app-main { padding-bottom:0; }
body.theme-nahida-forest .forest-home .story-home-content { padding-top:38px; }
body.theme-nahida-forest .is-home > .theme-background .theme-background-wash { background:color-mix(in srgb,var(--bg) 36%,transparent); }
body.theme-nahida-forest .app-shell > .theme-background .theme-background-wash { background:color-mix(in srgb,var(--bg) 22%,transparent); }
body.theme-nahida-forest .theme-aero { --story-paper:color-mix(in srgb,var(--bg-soft) calc(var(--card-opacity,.88)*100%),transparent); }
body.theme-nahida-forest .theme-no-aero { --story-paper:var(--bg-soft); }
body.theme-nahida-forest .forest-journal-open .forest-welcome { transition:opacity .35s,transform .6s; }

body.theme-nahida-forest .forest-journal .story-home-content { padding-top:62px; }
body.theme-nahida-forest .forest-journal-heading { text-align:center; margin:0 auto 44px; }
body.theme-nahida-forest .forest-journal-heading h2 { font-size:1.5rem; line-height:1.5; letter-spacing:.1em; font-weight:650; margin:0 0 7px; color:var(--fg); text-shadow:0 1px 12px color-mix(in srgb,var(--bg-soft) 70%,transparent); }
body.theme-nahida-forest .forest-return-hint { display:block; padding:0; margin:0 auto; border:0; background:none; color:var(--fg-muted); font:inherit; font-size:.72rem; letter-spacing:.05em; }
body.theme-nahida-forest .forest-journal-nav { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; margin-top:28px; padding:8px 16px; background:color-mix(in srgb,var(--bg-soft) 78%,transparent); border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent); border-radius:32px; backdrop-filter:blur(18px) saturate(1.2); -webkit-backdrop-filter:blur(18px) saturate(1.2); }
body.theme-nahida-forest .forest-journal-nav a { color:var(--fg); font-size:.82rem; font-weight:550; padding:0 18px; line-height:1.5; text-decoration:none; }
body.theme-nahida-forest .forest-journal-nav a + a { border-left:1px solid color-mix(in srgb,var(--accent) 25%,transparent); }
body.theme-nahida-forest .forest-journal-nav a:hover,body.theme-nahida-forest .forest-journal-nav a[aria-current] { color:var(--accent); }
body.theme-nahida-forest .forest-journal-content { max-width:1100px; margin:0 auto; }
body.theme-nahida-forest .forest-journal-with-sidebar { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:26px; max-width:none; }
@media(max-width:760px) {
  body.theme-nahida-forest .forest-journal .story-home-content { padding-top:42px; }
  body.theme-nahida-forest .forest-journal-heading h2 { font-size:1.3rem; }
  body.theme-nahida-forest .forest-journal-nav { padding:8px; }
  body.theme-nahida-forest .forest-journal-nav a { padding:0 12px; font-size:.75rem; }
  body.theme-nahida-forest .forest-journal-with-sidebar { grid-template-columns:minmax(0,1fr); }
}
