@layer components {
  .nav-item { background:transparent; border-color:transparent; color:#acae9f; }
  .nav-item.active { background:#c6a77512; border-color:#b89a6338; color:#e4d0aa; }
}
@layer layout {
  .sidebar nav { display:flex; flex-direction:column; gap:7px; }
  .nav-item { background:transparent; border-color:transparent; color:#acae9f; }
  .nav-item.active { background:#c6a77512; border-color:#b89a6338; color:#e4d0aa; }
  .nav-item:hover { background:#c6a7750c; color:#e4d0aa; }
  .profile-link { min-width:0; flex:1; }
  .public-home { max-width:1500px; margin:auto; }
  .public-header { padding:28px 44px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); gap:20px; }
  .public-header nav { display:flex; gap:12px; }
  .public-footer { margin:0 44px; padding:27px 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
  .home-page { padding:35px 44px 0; max-width:1500px; margin:auto; }
  .home-hero { position:relative; min-height:445px; display:flex; align-items:center; padding:55px 40px; background:linear-gradient(90deg,#191b1b 15%,#191b1bba 55%,#17191a22),url("./art/cathedral.svg") right 52%/600px auto no-repeat; border:1px solid #514633; border-radius:5px; overflow:hidden; }
  .home-hero-copy { position:relative; z-index:1; }
  .home-hero h1 { font:400 clamp(38px,4vw,61px)/1.15 var(--serif); letter-spacing:-1.3px; margin:20px 0; max-width:700px; }
  .home-hero p { color:#c1b9a9; font-size:var(--ui-text); line-height:1.9; max-width:560px; margin-bottom:27px; }
  .home-actions { display:flex; align-items:center; gap:13px; flex-wrap:wrap; }
  .home-hero-seal { position:absolute; width:140px; height:145px; right:55px; top:50%; transform:translateY(-50%); color:#bea06a; opacity:.45; }
  .home-hero-seal svg { width:100%; height:100%; }
  .welcome-note { font-size:13px; color:#acae9f; margin:25px 0 0; }
  .welcome-note strong { color:#dbc49a; font-weight:500; }
  .home-section { padding:53px 0; }
  .home-section h2,.home-closing h2 { font:400 36px/1.3 var(--serif); margin:15px 0 30px; }
  .home-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .home-features article { padding:28px; background:#1a1d1d; border:1px solid #3d3e34; border-radius:5px; }
  .home-features article>.icon { color:var(--gold); width:28px; height:28px; margin-bottom:23px; }
  .home-features .eyebrow { letter-spacing:.09em; }
  .home-features h3 { font:400 27px/1.3 var(--serif); margin:13px 0; }
  .home-features p { color:#c1c2b7; font-size:var(--ui-text); line-height:1.65; margin:0; }
  .home-closing { text-align:center; padding:15px 20px 55px; }
  .home-closing>span { color:var(--gold); font-size:35px; }
  .account-page h1 { font:400 43px/1.3 var(--serif); margin:13px 0; }
  .account-card { max-width:850px; padding:32px; background:#1a1d1d; border:1px solid #524733; border-radius:5px; }
  .account-identity { display:flex; align-items:center; gap:20px; margin-bottom:24px; }
  .account-identity .avatar { width:66px; height:70px; font-size:39px; }
  .account-identity h2 { font:400 33px/1.2 var(--serif); margin:0 0 8px; overflow-wrap:anywhere; }
  .role-badge { display:inline-block; color:var(--gold-light); border:1px solid #75613c; background:#c6a7750d; border-radius:3px; padding:3px 9px; font-size:11px; }
  .account-details { display:grid; grid-template-columns:1fr 1fr; margin:0; gap:0 24px; }
  .account-details>div { padding:18px 0; border-top:1px solid var(--line); }
  .account-details dt { font-size:11px; color:var(--muted); margin-bottom:7px; }
  .account-details dd { margin:0; font-size:14px; color:#e0dbcd; overflow-wrap:anywhere; }
  .account-library { max-width:850px; margin:25px 0 40px; padding:26px 30px; border:1px solid var(--line); display:flex; gap:20px; align-items:center; justify-content:space-between; }
  .account-library h2 { font:400 26px/1.3 var(--serif); margin:0 0 7px; }
  .account-library p { font-size:12px; color:var(--muted); margin:0; }
  .back-link { display:inline-block; color:#b5aa92; font-size:12px; margin-bottom:25px; }
  .book-page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; margin:14px 0 25px; }
  .book-page-heading>div:first-child { min-width:0; flex:1; }
  .book-page-heading h1 { font:400 41px/1.2 var(--serif); margin:0 0 15px; overflow-wrap:anywhere; }
  .book-page-heading p { color:#bab6a8; font-size:12px; line-height:1.8; white-space:pre-wrap; max-height:150px; overflow:auto; }
  .admin-notice { display:flex; gap:9px; align-items:center; border:1px solid #8e714a; padding:11px 14px; border-radius:4px; font-size:11px; color:#d1ba8e; }
  .admin-notice .icon { width:16px; height:16px; }
  .editor-tabs { display:flex; gap:10px; border-bottom:1px solid #4c493a; padding-bottom:13px; margin:28px 0 22px; }
  .editor-tabs button { background:transparent; color:#aaa99d; border:1px solid transparent; border-radius:4px; padding:10px 22px; font-size:13px; }
  .editor-tabs button[aria-pressed=true] { border-color:#8f7951; color:#e4cd9f; background:#b7965d12; }
  .content-workspace { display:grid; grid-template-columns:230px minmax(0,1fr); border:1px solid #3e4037; border-radius:5px; background:#1a1d1d; margin-bottom:40px; min-height:550px; }
  .entry-index { border-right:1px solid #3e4037; padding:17px 12px; background:#171a19; }
  .entry-index-heading { display:flex; align-items:center; justify-content:space-between; padding:0 6px 14px; gap:10px; }
  .entry-index-heading h2 { font:400 24px/1.2 var(--serif); margin:0; }
  .entry-links { display:flex; flex-direction:column; gap:6px; }
  .entry-links button { display:flex; align-items:center; gap:9px; padding:12px 10px; background:transparent; border:1px solid transparent; border-radius:3px; text-align:left; font-size:12px; color:#b2b6a8; }
  .entry-links button>span { flex:1; overflow-wrap:anywhere; }
  .entry-links button>.icon { width:15px; height:15px; color:#a9956b; }
  .entry-links button>.icon:last-child { width:10px; }
  .entry-links button:hover,.entry-links button.selected { background:#c6a77510; color:#e3d4b5; border-color:#79674477; }
  .entry-list-empty { color:#a1a795; font-size:11px; padding:12px; }
  .entry-pagination { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #363c31; margin-top:20px; padding-top:9px; color:#b9b79e; font-size:12px; }
  .entry-reader { padding:27px; min-width:0; }
  .entry-form-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
  .save-state { color:#9caf94; font-size:10px; }
  .save-state.unsaved { color:#d8b77c; }
  .entry-reader textarea { min-height:330px; font-size:14px; line-height:1.9; }
  .entry-format-note { color:#a4ac9b; font-size:10px; margin:9px 0 20px; }
  .entry-reader .dialog-actions { justify-content:space-between; }
  .entry-text h2 { font:400 34px/1.3 var(--serif); margin:16px 0 25px; overflow-wrap:anywhere; }
  .entry-text>div { white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; line-height:1.95; color:#d7d5c8; }
  .entry-empty { text-align:center; padding:60px 20px; }
  .entry-empty h2 { font:400 31px/1.3 var(--serif); }
  .entry-empty p { color:#adb3a3; font-size:12px; margin:0 auto 24px; max-width:340px; }
  .parent-choices { display:flex; flex-direction:column; gap:8px; margin:20px 0; }
  .parent-choices button { padding:13px; border:1px solid #4f503f; border-radius:3px; background:#252922; color:#d3d5bf; text-align:left; display:flex; gap:11px; align-items:center; }
  .danger { border:1px solid #965e54; color:#e6b3a7; background:#7a35351a; }
  .danger:hover { background:#7a35354a; }
}
@layer responsive {
  @media(max-width:1150px) {
    .home-hero { padding:38px 30px; }
    .home-hero-seal { opacity:.15; right:20px; }
    .home-hero h1 { font-size:46px; }
    .home-features { gap:13px; }
    .home-features article { padding:20px; }
    .book-page-heading { flex-direction:column; }
    .content-workspace { grid-template-columns:190px minmax(0,1fr); }
    .entry-reader { padding:21px; }
  }
  @media(max-width:760px) {
    .sidebar { display:grid; grid-template-columns:1fr auto; gap:12px; }
    .sidebar nav { display:flex; flex-direction:row; grid-column:1/-1; grid-row:2; margin:0; gap:5px; }
    .sidebar nav .nav-item { flex:1; padding:10px 7px; justify-content:center; font-size:var(--ui-label); gap:7px; text-align:center; }
    .sidebar nav .icon { width:14px; height:14px; }
    .profile-link { display:none; }
    .home-page { padding:24px 22px 0; }
    .home-hero { padding:32px 23px; min-height:400px; }
    .home-hero h1 { font-size:38px; }
    .home-hero-seal { display:none; }
    .home-actions { gap:10px; }
    .home-actions .button { padding-inline:12px; }
    .home-features { grid-template-columns:1fr; }
    .home-section { padding:35px 0; }
    .home-section h2,.home-closing h2 { font-size:30px; }
    .public-header { padding:23px; flex-wrap:wrap; }
    .public-header nav { gap:8px; }
    .public-header nav .button { padding:8px 12px; min-height:44px; font-size:var(--ui-label); }
    .public-footer { margin-inline:22px; }
    .account-page h1 { font-size:36px; }
    .account-card { padding:22px; }
    .account-details { grid-template-columns:1fr; }
    .account-identity h2 { font-size:28px; }
    .account-library { padding:23px; flex-direction:column; align-items:flex-start; }
    .content-workspace { grid-template-columns:1fr; min-height:0; }
    .entry-index { border-right:0; border-bottom:1px solid #3e4037; }
    .entry-links { max-height:220px; overflow:auto; }
    .entry-reader { padding:22px 17px; }
    .entry-reader textarea { min-height:330px; }
    .entry-form-heading { flex-wrap:wrap; }
    .book-page-heading h1 { font-size:34px; }
    .editor-tabs button { flex:1; padding:10px; }
    .entry-reader .dialog-actions { flex-direction:column-reverse; }
  }
}
