/* ============================================================
   Sacred Scripture Library — style.css v2
   Papyrus theme · Day/Night · Mobile-first · EB Garamond
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Lato:wght@300;400;700&family=Nunito:wght@400;600;700;800;900&family=Inter:wght@400;500;600;700&family=Noto+Serif+Gujarati:wght@400;600;700&display=swap');

/* DAY MODE */
:root {
  --panel-card:     rgba(247,237,216,0.98);
  --parchment:#edd9a3;--parchment-lt:#f5e8c0;--parchment-dk:#d4b870;
  --panel:rgba(245,232,185,0.95);--panel-dk:rgba(228,210,155,0.97);
  --ink:#1e1208;--ink-mid:#3d2810;--ink-lt:#6b4e2a;
  --gold:#8b5e20;--gold-lt:#c2a050;--gold-dk:#5c3a10;
  --border:#b08030;--border-lt:#d4a850;--crimson:#7a1e1e;
  --verse-bar:#a07030;--header-bg:rgba(228,205,145,0.98);
  --radius:4px;--radius-lg:8px;--reading-bar:#8b5e20;
  --highlight-bg:rgba(200,160,40,0.38);--highlight-bdr:rgba(160,110,10,0.75);
  --search-match:rgba(220,170,30,0.3);
}
/* NIGHT MODE */
body.night {
  --parchment:#1a1208;--parchment-lt:#241a0a;--parchment-dk:#120d04;
  --panel:rgba(30,20,8,0.97);--panel-dk:rgba(22,14,4,0.98);
  --ink:#e8d5a3;--ink-mid:#c2a870;--ink-lt:#a08050;
  --gold:#c8902a;--gold-lt:#a07020;--gold-dk:#e0b050;
  --border:#6b4a18;--border-lt:#8b6020;--verse-bar:#8b6020;
  --header-bg:rgba(18,10,2,0.98);--reading-bar:#c8902a;
  --highlight-bg:rgba(200,140,20,0.32);--highlight-bdr:rgba(160,110,10,0.65);
  --search-match:rgba(200,150,20,0.25);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body {
  margin:0;font-family:'EB Garamond',Georgia,'Times New Roman',serif;
  background-color:var(--parchment);color:var(--ink);
  font-size:clamp(16px,2.8vw,20px);line-height:1.85;
  min-height:100vh;position:relative;overflow-x:hidden;
  transition:background-color 0.4s,color 0.4s;
}
body.font-sans{font-family:'Lato',Arial,sans-serif;line-height:1.75;}

body::before {
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 15% 25%,rgba(160,110,40,0.2) 0%,transparent 55%),
    radial-gradient(ellipse at 85% 75%,rgba(140,90,20,0.15) 0%,transparent 55%),
    repeating-linear-gradient(0deg,transparent,transparent 38px,rgba(100,65,15,0.03) 38px,rgba(100,65,15,0.03) 39px);
  transition:opacity 0.4s;
}
body.night::before{opacity:0.3;}

.script-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.script-bg-inner{
  position:absolute;inset:-20px;
  font-size:clamp(18px,2.8vw,28px);line-height:1.5;letter-spacing:clamp(3px,1vw,6px);
  word-break:break-all;color:rgba(80,45,5,0.09);padding:10px;
  user-select:none;font-family:'Arial Unicode MS','Noto Sans','Segoe UI',Arial,serif;transition:color 0.4s;
}
body.night .script-bg-inner{color:rgba(200,150,50,0.05);}

#readingProgressBar{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:var(--reading-bar);z-index:9999;
  transition:width 0.15s linear,background 0.4s;
}

/* LOADING SCREEN */
#loadingScreen{
  position:fixed;inset:0;z-index:99999;background:var(--parchment);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;transition:opacity 0.6s;
}
#loadingScreen.fade-out{opacity:0;pointer-events:none;}
.loading-glyph{font-size:clamp(48px,10vw,80px);animation:glyphPulse 2s ease-in-out infinite;}
@keyframes glyphPulse{0%,100%{opacity:0.3;transform:scale(0.95);}50%{opacity:1;transform:scale(1.05);}}
.loading-text{font-family:'Cinzel',serif;font-size:clamp(12px,2vw,15px);color:var(--gold);letter-spacing:3px;}

/* ANNOUNCEMENT BANNER */
.announcement-banner{
  background:var(--gold-dk);color:#f4ecd8;text-align:center;
  padding:8px clamp(12px,3vw,20px);font-family:'Cinzel',serif;
  font-size:clamp(11px,2vw,13px);letter-spacing:1px;
  position:relative;z-index:10;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
body.night .announcement-banner{background:#3a2208;color:#e0b870;}
.banner-close{position:absolute;right:12px;background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:0.7;padding:0 4px;}
.banner-close:hover{opacity:1;}

.page-root{position:relative;z-index:1;min-height:100vh;}

.panel{background:var(--panel);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:clamp(16px,4vw,36px);transition:background 0.4s,border-color 0.4s;}
.panel-dk{background:var(--panel-dk);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:clamp(14px,3vw,28px);transition:background 0.4s,border-color 0.4s;}

h1,h2,h3{font-family:'Cinzel',Georgia,serif;color:var(--gold-dk);line-height:1.3;transition:color 0.4s;}
body.font-sans h1,body.font-sans h2,body.font-sans h3{font-family:'Lato',Arial,sans-serif;font-weight:700;}
.sacred-label{letter-spacing:3px;font-size:clamp(10px,1.5vw,13px);color:var(--gold);text-transform:uppercase;font-family:'Cinzel',serif;transition:color 0.4s;}
.divider{border:none;border-top:1px solid var(--border-lt);margin:12px 0;transition:border-color 0.4s;}
.divider-ornate{text-align:center;color:var(--gold);font-size:18px;margin:16px 0;letter-spacing:8px;transition:color 0.4s;}

.btn{display:inline-block;padding:clamp(8px,2vw,12px) clamp(16px,4vw,28px);font-family:'Cinzel',Georgia,serif;font-size:clamp(12px,2vw,14px);letter-spacing:1px;border:1.5px solid var(--border);background:var(--panel-dk);color:var(--ink);border-radius:var(--radius);cursor:pointer;transition:background 0.2s,color 0.2s,border-color 0.4s;text-decoration:none;white-space:nowrap;}
.btn:hover{background:var(--gold);color:#f4ecd8;border-color:var(--gold-dk);}
.btn-primary{background:var(--gold);color:#f4ecd8;border-color:var(--gold-dk);}
.btn-primary:hover{background:var(--gold-dk);}
.btn-ghost{background:transparent;border-style:dashed;color:var(--gold);}
.btn-ghost:hover{background:rgba(139,94,32,0.12);color:var(--gold-dk);}
body.font-sans .btn{font-family:'Lato',Arial,sans-serif;}

/* READER TOOLBAR */
.reader-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(4px,1.5vw,10px);flex-wrap:wrap;
  padding:clamp(6px,2vw,9px) clamp(10px,3vw,18px);
  background:var(--header-bg);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:100;transition:background 0.4s,border-color 0.4s;
}
@media(max-width:600px){
  .reader-toolbar{flex-wrap:wrap;gap:4px;padding:6px 10px;}
  .toolbar-group{justify-content:center;}
  .desktop-search-wrap{display:none!important;}
  .mobile-search-btn{display:inline-block!important;}
  .desktop-hint{display:none!important;}
  .il-toggle-btn{font-size:12px!important;padding:4px 10px!important;}
  #searchScopePills{display:none!important;}
}
.toolbar-group{display:flex;align-items:center;gap:clamp(4px,1.5vw,7px);}
.toolbar-label{font-family:'Cinzel',serif;font-size:clamp(9px,1.5vw,11px);color:var(--gold);letter-spacing:0.5px;white-space:nowrap;transition:color 0.4s;}
body.font-sans .toolbar-label{font-family:'Lato',Arial,sans-serif;}

.size-pill{padding:2px 8px;border-radius:10px;font-size:clamp(10px,1.8vw,12px);font-family:'Cinzel',serif;border:1px solid var(--border);cursor:pointer;background:transparent;color:var(--gold);transition:all 0.2s;min-height:26px;}
.size-pill.active,.size-pill:hover{background:var(--gold);color:#f4ecd8;border-color:var(--gold-dk);}
.font-toggle{padding:2px 8px;border-radius:10px;font-size:clamp(10px,1.8vw,12px);border:1px solid var(--border);cursor:pointer;background:transparent;color:var(--gold);transition:all 0.2s;min-height:26px;}
.font-toggle.active{background:var(--gold);color:#f4ecd8;border-color:var(--gold-dk);}

.dn-toggle{display:flex;align-items:center;gap:4px;}
.dn-icon{font-size:13px;}
.dn-track{width:36px;height:20px;background:var(--gold-lt);border-radius:10px;position:relative;cursor:pointer;border:1px solid var(--border);transition:background 0.3s,border-color 0.4s;flex-shrink:0;}
body.night .dn-track{background:#2a1a05;}
.dn-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#f4ecd8;transition:transform 0.3s,background 0.3s;box-shadow:0 1px 3px rgba(0,0,0,0.3);}
body.night .dn-thumb{transform:translateX(16px);background:var(--gold);}

.search-bar-wrap{display:flex;align-items:center;gap:5px;flex:1;min-width:0;}
.search-input{flex:1;min-width:0;padding:4px 9px;font-family:'EB Garamond',Georgia,serif;font-size:clamp(13px,2.2vw,15px);background:var(--panel);border:1px solid var(--border-lt);border-radius:var(--radius);color:var(--ink);outline:none;transition:border-color 0.2s,background 0.4s,color 0.4s;}
.search-input:focus{border-color:var(--gold);}
body.font-sans .search-input{font-family:'Lato',Arial,sans-serif;}
.search-btn{padding:6px 14px;font-family:'Cinzel',serif;font-size:14px;font-weight:700;background:var(--panel-dk);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background 0.2s,color 0.4s;min-height:26px;}
.search-btn:hover{background:var(--gold);color:#f4ecd8;}
.search-results{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--panel);border:none;z-index:500;max-height:100vh;overflow-y:auto;display:none;transition:background 0.4s;padding:16px;}
.search-results.open{display:block;}
.search-result-item{padding:14px 16px;border-bottom:1px solid var(--border-lt);cursor:pointer;transition:background 0.15s;}
.search-result-item:hover{background:var(--panel-dk);}
.search-result-ch{font-family:'Cinzel',serif;font-size:13px;color:var(--gold);margin-bottom:5px;transition:color 0.4s;}
.search-result-text{font-size:clamp(16px,3vw,18px);color:var(--ink);line-height:1.7;transition:color 0.4s;font-family:'EB Garamond',Georgia,serif;}
.search-match{background:var(--search-match);border-radius:2px;padding:0 1px;}
.search-no-results{padding:16px;text-align:center;font-style:italic;color:var(--ink-mid);font-size:14px;}

.app-header{background:var(--header-bg);border-bottom:1.5px solid var(--border);padding:clamp(6px,1.5vw,10px) clamp(10px,3vw,18px);position:relative;z-index:99;transition:background 0.4s,border-color 0.4s;}
.app-header-title{text-align:center;font-family:'Cinzel',serif;font-size:clamp(13px,3vw,19px);color:var(--gold-dk);margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.4s;}
body.font-sans .app-header-title{font-family:'Lato',Arial,sans-serif;font-weight:700;}

.nav-bar{display:flex;align-items:center;gap:clamp(6px,2vw,10px);flex-wrap:wrap;justify-content:center;margin-bottom:8px;}
.chapter-select{flex:1 1 auto;max-width:460px;min-width:0;padding:clamp(6px,1.5vw,9px) clamp(10px,2.5vw,14px);font-family:'EB Garamond',Georgia,serif;font-size:clamp(13px,2.5vw,15px);background:var(--panel-dk);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--ink);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b5e20' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;-webkit-appearance:none;appearance:none;transition:background-color 0.4s,border-color 0.4s,color 0.4s;}
body.night .chapter-select{background-color:rgba(30,20,8,0.9);}
.chapter-select:focus{outline:2px solid var(--gold);}
body.font-sans .chapter-select{font-family:'Lato',Arial,sans-serif;}
.progress-label{font-size:clamp(11px,2vw,13px);color:var(--gold-dk);white-space:nowrap;font-style:italic;transition:color 0.4s;}

.nav-buttons{display:flex;justify-content:space-between;gap:clamp(6px,2vw,10px);}
.nav-btn{flex:1;padding:clamp(8px,2vw,12px) clamp(8px,2.5vw,14px);font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:clamp(13px,2vw,15px);font-size:clamp(11px,2vw,13px);background:var(--panel-dk);border:1px solid var(--border-lt);border-radius:var(--radius);color:var(--ink);cursor:pointer;transition:background 0.15s,color 0.4s,border-color 0.4s;min-height:44px;}
.nav-btn:hover:not(:disabled){background:var(--gold-lt);color:#f4ecd8;}
.nav-btn:disabled{opacity:0.35;cursor:default;}
body.font-sans .nav-btn{font-family:'Lato',Arial,sans-serif;}
.bottom-nav{padding:clamp(10px,3vw,16px) clamp(10px,3vw,18px) clamp(20px,5vw,32px);}

.content{margin:0 auto;max-width:780px;padding:clamp(8px,2vw,16px) clamp(14px,4vw,22px) clamp(36px,6vw,56px);}
/* Reader and interlinear both use full width on large screens */
#readerPage .content, #interlinearPage .content, .il-content {
  max-width:100%;
  padding-left:clamp(10px,3vw,40px);
  padding-right:clamp(10px,3vw,40px);
}
@media(min-width:900px){
  #readerPage .content, #interlinearPage .content, .il-content {
    padding-left:clamp(24px,4vw,60px);
    padding-right:clamp(24px,4vw,60px);
  }
}

.reading-time{text-align:center;font-size:clamp(11px,2vw,13px);color:var(--gold);font-family:'Cinzel',serif;font-style:italic;margin-bottom:6px;letter-spacing:0.5px;transition:color 0.4s;}

.chapter-title{text-align:center;font-family:'Cinzel',serif;font-size:clamp(16px,3.5vw,22px);color:var(--gold-dk);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border-lt);transition:color 0.4s,border-color 0.4s;}
body.font-sans .chapter-title{font-family:'Lato',Arial,sans-serif;font-weight:700;}

.verse{margin-bottom:6px;padding:4px 8px 4px clamp(8px,2vw,14px);border-left:3px solid var(--verse-bar);position:relative;transition:border-color 0.4s,background 0.2s;border-radius:0 var(--radius) var(--radius) 0;}
.verse-line{display:flex;align-items:baseline;gap:4px;flex-wrap:nowrap;}
.verse-text{flex:1;line-height:1.8;}
.verse.highlighted{background:var(--highlight-bg);border-left:5px solid var(--gold) !important;border-right:1px solid var(--highlight-bdr);border-top:1px solid var(--highlight-bdr);border-bottom:1px solid var(--highlight-bdr);padding-right:8px;}
.verse.bookmarked::before{content:'🔖';position:absolute;right:6px;top:2px;font-size:18px;opacity:1;}
.verse.search-highlighted{background:var(--search-match);}
.verse.shared-highlight{background:var(--highlight-bg);animation:sharedPulse 2s ease-in-out 3;}
@keyframes sharedPulse{0%,100%{background:var(--highlight-bg);}50%{background:rgba(200,160,40,0.45);}}
.verse-number{font-weight:600;color:var(--gold);font-family:'Cinzel',serif;font-size:0.75em;flex-shrink:0;min-width:18px;transition:color 0.4s;line-height:1.8;}
body.font-sans .verse-number{font-family:'Lato',Arial,sans-serif;}
.verse-gujarati{display:block;margin-top:2px;color:var(--ink-mid);font-style:italic;font-size:0.92em;line-height:1.7;transition:color 0.4s;padding-left:26px;}
.verse-note{display:none;margin-top:8px;padding:8px 12px;background:rgba(139,94,32,0.08);border-left:2px solid var(--gold-lt);border-radius:0 var(--radius) var(--radius) 0;font-size:0.85em;color:var(--ink-mid);font-style:italic;line-height:1.6;transition:background 0.4s,color 0.4s;}
.verse-note.open{display:block;}
.verse-actions{display:flex;gap:5px;margin-top:5px;flex-wrap:wrap;align-items:center;}
.verse-action-btn{display:inline-block;font-size:0.72em;color:var(--gold);cursor:pointer;font-family:'Cinzel',serif;letter-spacing:0.5px;background:none;border:none;padding:0;transition:color 0.4s;}
.verse-action-btn:hover{color:var(--gold-dk);}

.prose-body{background:rgba(248,235,185,0.45);border-radius:var(--radius-lg);padding:clamp(14px,4vw,24px);border:1px solid rgba(194,160,80,0.25);transition:background 0.4s;}
body.night .prose-body{background:rgba(30,20,8,0.45);}
.prose-body h3{color:var(--gold-dk);margin-top:20px;font-size:clamp(14px,3vw,17px);border-bottom:1px dashed var(--border-lt);padding-bottom:4px;transition:color 0.4s,border-color 0.4s;}
.prose-body p{margin:10px 0;}

.toc-list{list-style:none;padding:0;margin:0;columns:2;column-gap:clamp(16px,4vw,32px);}
@media(max-width:480px){.toc-list{columns:1;}}
.toc-item{padding:clamp(6px,1.5vw,10px) 0;border-bottom:1px solid var(--border-lt);cursor:pointer;display:flex;align-items:baseline;gap:8px;break-inside:avoid;transition:color 0.2s;}
.toc-item:hover .toc-title{color:var(--gold-dk);}
.toc-num{font-family:'Cinzel',serif;font-size:clamp(10px,1.8vw,12px);color:var(--gold);min-width:24px;flex-shrink:0;transition:color 0.4s;}
.toc-title{font-size:clamp(13px,2.2vw,15px);color:var(--ink);line-height:1.4;transition:color 0.4s;}

.back-link{display:inline-flex;align-items:center;gap:6px;font-size:clamp(12px,2vw,14px);color:var(--gold);cursor:pointer;font-family:'Cinzel',serif;letter-spacing:0.5px;text-decoration:none;padding:6px 0;border:none;background:none;transition:color 0.4s;}
.back-link:hover{color:var(--gold-dk);text-decoration:underline;}
body.font-sans .back-link{font-family:'Lato',Arial,sans-serif;}

input[type="text"],input[type="email"],input[type="password"],textarea,select{width:100%;padding:clamp(8px,2vw,11px) clamp(10px,2.5vw,14px);font-family:'EB Garamond',Georgia,serif;font-size:clamp(14px,2.5vw,16px);background:rgba(248,235,185,0.85);border:1px solid var(--border-lt);border-radius:var(--radius);color:var(--ink);outline:none;transition:border-color 0.2s,background 0.4s,color 0.4s;-webkit-appearance:none;appearance:none;}
body.night input,body.night textarea,body.night select{background:rgba(30,20,8,0.85);}
input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(139,94,32,0.15);}
textarea{resize:vertical;min-height:100px;line-height:1.7;}
label{display:block;font-size:clamp(11px,2vw,13px);font-weight:600;color:var(--gold-dk);margin-bottom:5px;letter-spacing:0.5px;font-family:'Cinzel',serif;transition:color 0.4s;}
.field{margin-bottom:clamp(12px,3vw,18px);}

.toast{position:fixed;bottom:clamp(16px,4vw,24px);left:50%;transform:translateX(-50%);z-index:9999;background:var(--gold-dk);color:#f4ecd8;padding:10px 20px;border-radius:var(--radius-lg);font-family:'Cinzel',serif;font-size:13px;letter-spacing:0.5px;opacity:0;transition:opacity 0.3s;pointer-events:none;max-width:90vw;text-align:center;}
.toast.show{opacity:1;}

.dash-header{text-align:center;padding:clamp(20px,5vw,36px) clamp(16px,5vw,32px) clamp(16px,4vw,28px);}
.dash-h1{font-family:'Cinzel',serif;font-size:clamp(22px,5vw,38px);color:var(--ink);margin:8px 0 4px;line-height:1.2;transition:color 0.4s;}
body.font-sans .dash-h1{font-family:'Lato',Arial,sans-serif;font-weight:700;}
.dash-h2{font-family:'EB Garamond',serif;font-size:clamp(14px,3vw,20px);color:var(--ink-mid);font-style:italic;font-weight:400;margin:4px 0 10px;transition:color 0.4s;}
.dash-body{max-width:900px;margin:0 auto;padding:0 clamp(12px,4vw,24px) clamp(30px,6vw,50px);}

.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:clamp(10px,3vw,16px);margin:clamp(12px,3vw,20px) 0;}
.book-tile{background:rgba(160,120,48,0.22);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:clamp(14px,3vw,20px) clamp(12px,3vw,18px);text-align:center;cursor:pointer;transition:background 0.2s,transform 0.15s,border-color 0.2s;text-decoration:none;display:block;color:var(--ink);}
.book-tile:hover{background:rgba(180,135,55,0.5);border-color:var(--gold-dk);transform:translateY(-2px);}
.book-tile-num{font-family:'Cinzel',serif;font-size:clamp(11px,1.8vw,13px);color:var(--gold-dk);letter-spacing:2px;display:block;margin-bottom:6px;transition:color 0.4s;font-weight:600;}
.book-tile-title{font-family:'Cinzel',serif;font-size:clamp(16px,3vw,20px);color:var(--ink);font-weight:700;line-height:1.3;margin-bottom:6px;transition:color 0.4s;}
.book-tile-subtitle{font-size:clamp(13px,2.2vw,15px);color:var(--ink);font-style:italic;transition:color 0.4s;}
.book-tile-meta{font-size:clamp(12px,2vw,14px);color:var(--gold-dk);margin-top:6px;transition:color 0.4s;font-weight:600;}
.book-tile-coming{font-size:11px;color:var(--crimson);margin-top:4px;font-style:italic;}
.book-tile-draft{opacity:0.5;border-style:dashed;}
.book-tile-draft:hover{transform:none;background:rgba(200,160,80,0.18);border-color:var(--border);cursor:default;}
body.font-sans .book-tile-title{font-family:'Lato',Arial,sans-serif;font-weight:700;}
body.font-sans .book-tile-num{font-family:'Lato',Arial,sans-serif;}

.contact-section{margin-top:clamp(24px,5vw,40px);padding-top:clamp(20px,4vw,32px);border-top:1px solid var(--border-lt);}
.counter-strip{text-align:center;font-size:clamp(10px,2vw,12px);color:var(--gold);margin-top:clamp(14px,3vw,20px);font-family:'Cinzel',serif;letter-spacing:1px;transition:color 0.4s;}

.cover-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,40px);}
.cover-card{max-width:700px;width:100%;text-align:center;}
.cover-h1{font-family:'Cinzel',serif;font-size:clamp(24px,6vw,44px);color:var(--ink);margin:8px 0;line-height:1.2;transition:color 0.4s;}
.cover-h2{font-family:'EB Garamond',serif;font-size:clamp(18px,4vw,28px);color:var(--ink-mid);font-weight:400;font-style:italic;margin:8px 0;transition:color 0.4s;}
.cover-subtitle{font-family:'Cinzel',serif;font-size:clamp(10px,2vw,13px);letter-spacing:2px;color:var(--gold);margin:14px 0;transition:color 0.4s;}
.cover-meta{font-size:clamp(12px,2vw,14px);color:var(--ink-mid);line-height:1.8;margin:16px 0;transition:color 0.4s;}
.cover-coming-soon{font-weight:600;color:var(--crimson);font-size:clamp(11px,2vw,13px);margin-top:8px;}
.cover-author{font-size:clamp(11px,2vw,13px);color:var(--ink-mid);margin-top:18px;line-height:1.8;transition:color 0.4s;}
.cover-disclaimer{margin-top:18px;font-size:clamp(10px,1.8vw,11px);padding:clamp(10px,3vw,14px);border:1px solid var(--border-lt);background:rgba(255,255,255,0.12);border-radius:var(--radius);text-align:left;color:var(--ink-mid);line-height:1.6;transition:background 0.4s,color 0.4s,border-color 0.4s;}
body.night .cover-disclaimer{background:rgba(0,0,0,0.2);}
body.font-sans .cover-h1{font-family:'Lato',Arial,sans-serif;font-weight:700;}

.about-wrap{max-width:760px;margin:0 auto;padding:clamp(16px,4vw,32px) clamp(14px,4vw,22px) clamp(36px,6vw,56px);}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(16px,5vw,40px);}
.login-card{max-width:460px;width:100%;text-align:center;}
.admin-wrap{max-width:860px;margin:0 auto;padding:clamp(14px,4vw,28px) clamp(12px,4vw,20px);}
.admin-section{margin-bottom:clamp(20px,5vw,36px);}
.admin-section-title{font-family:'Cinzel',serif;font-size:clamp(13px,2.5vw,16px);color:var(--gold-dk);letter-spacing:1px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border-lt);transition:color 0.4s,border-color 0.4s;}
.chapter-entry{background:rgba(248,235,185,0.35);border:1px solid var(--border-lt);border-radius:var(--radius);padding:clamp(10px,3vw,16px);margin-bottom:10px;transition:background 0.4s;}
body.night .chapter-entry{background:rgba(30,20,8,0.35);}
.chapter-entry-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.btn-remove{background:transparent;border:1px solid var(--crimson);color:var(--crimson);padding:3px 10px;border-radius:var(--radius);cursor:pointer;font-size:12px;font-family:'Cinzel',serif;flex-shrink:0;}
.btn-remove:hover{background:rgba(122,30,30,0.1);}
.progress-bar-wrap{background:rgba(180,135,55,0.2);border-radius:4px;height:6px;margin-top:8px;overflow:hidden;}
.progress-bar-fill{height:100%;background:var(--gold);border-radius:4px;transition:width 0.4s;}

/* SIZE SYSTEM applied via JS class on body */
body.sz-s{font-size:clamp(16px,2.5vw,18px);}
body.sz-m{font-size:clamp(19px,3vw,22px);}
body.sz-l{font-size:clamp(22px,3.5vw,26px);}
body.sz-xl{font-size:clamp(26px,4.5vw,32px);}


/* ── LIBRARY SECTIONS ────────────────────────────────────── */
.section-tile {
  background: rgba(160,120,48,0.22);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg);
  padding: clamp(18px,3vw,28px) clamp(14px,2vw,22px);
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, border-color 0.2s;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.section-tile:hover {
  background: rgba(180,135,55,0.5);
  border-color: var(--gold-dk);
  transform: translateY(-2px);
}
.section-tile-icon {
  font-size: clamp(28px,6vw,42px);
  margin-bottom: 10px;
}
.section-tile-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(12px,2vw,14px);
  color: var(--ink-mid);
  font-weight: 600;
  font-style: italic;
  line-height: 1.3;
  margin-bottom: 4px;
  transition: color 0.4s;
}
.section-tile-gu {
  font-size: clamp(16px,3vw,22px);
  font-weight: 700;
  color: var(--ink);
  font-style: normal;
  margin-bottom: 4px;
  transition: color 0.4s;
}
.section-tile-count {
  font-size: clamp(11px,2vw,13px);
  color: var(--gold-dk);
  font-family: 'Cinzel', serif;
  letter-spacing: 0.5px;
  transition: color 0.4s;
}


/* ── INTERLINEAR MODE ────────────────────────────────────── */
.il-content {
  width: 100%;
  max-width: 100%;
  padding: clamp(12px,2vw,24px) clamp(10px,2vw,20px) clamp(36px,6vw,56px);
  box-sizing: border-box;
}
.il-verse {
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-lt);
}
.il-gu-full {
  font-size: clamp(16px,3vw,20px);
  color: var(--ink);
  line-height: 2;
  margin: 6px 0 6px;
  padding-left: clamp(10px,3vw,18px);
  border-left: 3px solid var(--verse-bar);
  font-weight: 500;
  display: flex;
  gap: 4px;
  align-items: baseline;
}
.il-en-full {
  font-size: clamp(12px,2vw,14px);
  color: var(--ink-mid);
  font-style: italic;
  line-height: 1.7;
  margin: 0 0 14px;
  padding-left: clamp(10px,3vw,18px);
}
/* Horizontal scroll container for wide verses on mobile */

/* Interlinear toggle button */
.il-toggle-btn {
  padding: 6px 14px;
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 700;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  cursor: pointer;
  background: transparent;
  color: var(--ink);
  transition: all 0.2s;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
}
.il-toggle-btn::before { content: '○'; font-size: 10px; }
.il-toggle-btn:hover { background: var(--panel-dk); color: var(--ink); }
.il-toggle-btn.il-toggle-on {
  background: #185FA5;
  color: #f4ecd8;
  border-color: #185FA5;
}
.il-toggle-btn.il-toggle-on::before { content: '●'; }

/* Interlinear scroll — always one horizontal line, all devices */
.il-scroll-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  position: relative;
  /* Thicker scrollbar on mobile for easier swiping */
  scrollbar-width: auto;
  scrollbar-color: var(--gold-dk) var(--parchment-lt);
  margin-top: 8px;
  padding-bottom: 8px;
  width: 100%;
  max-width: 100%;
}
/* Scroll hint gradient on right edge */
.il-scroll-wrap::after {
  content: '';
  position: sticky;
  right: 0;
  top: 0;
  width: 40px;
  height: 100%;
  background: linear-gradient(to right, transparent, var(--parchment-lt));
  pointer-events: none;
  flex-shrink: 0;
}
/* Scroll hint: CSS-only fade on right edge of IL wrap */
@media (max-width: 768px) {
  .il-scroll-wrap::after {
    content: '';
    position: sticky;
    right: 0;
    top: 0;
    min-width: 32px;
    height: 100%;
    flex-shrink: 0;
    background: linear-gradient(to right, transparent, var(--parchment-lt));
    pointer-events: none;
    display: block;
  }
}

/* Thick scrollbar for IL on mobile */
.il-scroll-wrap::-webkit-scrollbar {
  height: 8px;
}
.il-scroll-wrap::-webkit-scrollbar-track {
  background: var(--parchment-lt);
  border-radius: 4px;
}
.il-scroll-wrap::-webkit-scrollbar-thumb {
  background: var(--gold-dk);
  border-radius: 4px;
}
@media (max-width: 768px) {
  .il-scroll-wrap::-webkit-scrollbar { height: 10px; }
  .il-scroll-wrap::-webkit-scrollbar-track { background: rgba(200,160,80,0.15); border-radius: 5px; }
  .il-scroll-wrap::-webkit-scrollbar-thumb { background: var(--gold-dk); border-radius: 5px; min-width: 40px; }
  .il-scroll-wrap::-webkit-scrollbar-thumb:active { background: var(--gold); }
}

.il-word-row {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  padding: 10px 8px;
  background: rgba(180,140,60,0.06);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-lt);
  width: 100%;
  box-sizing: border-box;
  justify-content: flex-end;
}
/* NT Greek row — left to right */
.il-word-row:not(.il-hebrew-row) {
  justify-content: flex-start;
}
/* Mobile: single scrolling line */
@media (max-width: 600px) {
  .il-word-row {
    display: inline-flex;
    flex-wrap: nowrap;
    min-width: max-content;
    width: auto;
  }
  .il-scroll-wrap {
    overflow-x: auto;
  }
}
.il-word-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 8px;
  border-radius: var(--radius);
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  min-width: 52px;
  transition: border-color 0.15s, background 0.15s;
}
.il-word-block:hover {
  border-color: var(--border-lt);
  background: var(--panel);
}
/* Row 1: Strong's number - blue, scales with size */
.il-strongs-top {
  font-size: 13px;
  color: #185FA5;
  font-family: 'Cinzel', serif;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 2px;
  white-space: nowrap;
  font-weight: 600;
}
body.night .il-strongs-top { color: #6aaef0; }
/* Row 2: Transliteration */
.il-translit {
  font-size: 13px;
  color: var(--ink-mid);
  font-style: italic;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 2px;
  white-space: nowrap;
}
/* Row 3: Greek word - large, scales with size setting */
.il-greek {
  font-size: 20px;
  font-weight: 500;
  color: var(--ink);
  text-align: center;
  line-height: 1.4;
  margin-bottom: 2px;
  white-space: nowrap;
}
/* Row 3: Hebrew word - RTL, larger for readability */
.il-hebrew {
  font-size: 22px;
  font-weight: 400;
  color: var(--ink);
  text-align: center;
  line-height: 1.4;
  margin-bottom: 2px;
  white-space: nowrap;
  direction: ltr; /* each block is LTR, row container is RTL */
  font-family: 'SBL Hebrew', 'Ezra SIL', 'David', 'Times New Roman', serif;
}
/* Hebrew word row — RTL direction */
.il-hebrew-row {
  direction: rtl;
  unicode-bidi: embed;
}
/* Greek size fixed — only Gujarati scales with size pills */
/* Row 4: Gujarati word - gold/orange */
.il-gu-word {
  font-size: 14px;
  color: var(--gold-dk);
  text-align: center;
  line-height: 1.5;
  margin-bottom: 1px;
  min-height: 16px;
  white-space: nowrap;
  font-weight: 600;
}
/* Row 5: Morphology - small grey */
.il-morph {
  font-size: 12px;
  color: var(--ink-lt);
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
  font-family: monospace;
}
/* Size pills only affect Gujarati verse text */
body.sz-s .il-gu-full { font-size: 14px; }
body.sz-m .il-gu-full { font-size: 17px; }
body.sz-l .il-gu-full { font-size: 20px; }
body.sz-xl .il-gu-full { font-size: 24px; }
/* Mobile: bigger text for readability */
@media (max-width: 480px) {
  .il-greek { font-size: 24px; }
  .il-strongs-top { font-size: 14px; }
  .il-translit { font-size: 13px; }
  .il-morph { font-size: 12px; }
  .il-word-block { padding: 12px 14px; }
}

@media print{
  .script-bg,.reader-toolbar,.app-header,.nav-buttons,.bottom-nav,
  .announcement-banner,#readingProgressBar,.back-link,.verse-actions,
  .verse-action-btn,#loadingScreen{display:none!important;}
  body,body.night{background:white!important;color:black!important;font-size:12pt;}
  .content{max-width:100%;padding:0;}
  .verse{border-left-color:#999;page-break-inside:avoid;}
  .chapter-title{border-bottom-color:#999;}
}

@media(max-width:480px){
  .nav-buttons{gap:6px;}
  .nav-btn{font-size:11px;padding:8px 6px;}
  .book-grid{grid-template-columns:1fr;}
  .reader-toolbar{gap:5px;}
  .toc-list{columns:1;}
}
@media(max-width:360px){
  .nav-btn{font-size:10px;}
  .cover-h1{font-size:20px;}
}

/* ============================================================
   SACRED LIBRARY v5 — THEME SYSTEM
   Three themes: classic (default), green, coral
   Applied via [data-theme="green"] or [data-theme="coral"] on <html>
   ============================================================ */

/* ── SHARED MODERN LAYOUT VARS (green + coral) ─────────────── */
[data-theme="green"],
[data-theme="coral"] {
  --radius:      14px;
  --radius-lg:   20px;
  --radius-sm:   8px;
  --shadow-sm:   0 1px 4px rgba(0,0,0,0.06);
  --shadow-md:   0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:   0 8px 32px rgba(0,0,0,0.10);
  font-family: 'Nunito','Inter',-apple-system,sans-serif;
}

[data-theme="green"],
[data-theme="coral"] {
  /* Override parchment texture with clean background */
}

[data-theme="green"] .script-bg,
[data-theme="coral"] .script-bg {
  background: var(--panel) !important;
  background-image: none !important;
}

/* ── GREEN THEME ─────────────────────────────────────────────
   Palette: soft mint background, forest green accents
   Font: Nunito
   ──────────────────────────────────────────────────────────── */
[data-theme="green"] {
  --parchment:     #ecfdf5;
  --panel-card:    #ffffff;
  --header-bg:     #f0fdf4;
  --parchment-lt:  #f0fdf4;
  --parchment-dk:  #dcfce7;
  --panel:         #f0fdf4;
  --panel-dk:      #dcfce7;
  --ink:           #052e16;
  --ink-mid:       #166534;
  --ink-lt:        #16a34a;
  --gold:          #15803d;
  --gold-lt:       #dcfce7;
  --gold-dk:       #14532d;
  --border:        #86efac;
  --border-lt:     #bbf7d0;
  --crimson:       #dc2626;
  /* header-bg set per theme */
  --card-bg:       #ffffff;
  --accent:        #15803d;
  --accent-lt:     #dcfce7;
  --accent-dk:     #14532d;
  --vod-grad:      linear-gradient(135deg,#15803d,#059669);
  --tile1:         #dcfce7; --tile1-text:#14532d; --tile1-fill:#15803d;
  --tile2:         #cffafe; --tile2-text:#164e63; --tile2-fill:#0891b2;
  --tile3:         #ecfdf5; --tile3-text:#065f46; --tile3-fill:#059669;
  --tile4:         #ede9fe; --tile4-text:#4c1d95; --tile4-fill:#7c3aed;
}

[data-theme="green"].night {
  --panel:         #052e16;
  --panel-dk:      #04231100;
  --parchment:     #042d16;
  --parchment-lt:  #053d20;
  --parchment-dk:  #031a0d;
  --ink:           #d1fae5;
  --ink-mid:       #a7f3d0;
  --ink-lt:        #6ee7b7;
  --gold:          #34d399;
  --gold-dk:       #10b981;
  --gold-lt:       #064e3b;
  --border:        #065f46;
  --border-lt:     #047857;
  --header-bg:     #042d16;
  --card-bg:       #053520;
}

/* ── CORAL THEME ─────────────────────────────────────────────
   Palette: soft peach/cream background, coral/amber accents
   Font: Nunito
   ──────────────────────────────────────────────────────────── */
[data-theme="coral"] {
  --parchment:     #fff7ed;
  --panel-card:    #ffffff;
  --header-bg:     #fff7ed;
  --parchment-lt:  #fff7ed;
  --parchment-dk:  #ffedd5;
  --panel:         #fff7ed;
  --panel-dk:      #ffedd5;
  --ink:           #431407;
  --ink-mid:       #9a3412;
  --ink-lt:        #ea580c;
  --gold:          #ea580c;
  --gold-lt:       #ffedd5;
  --gold-dk:       #c2410c;
  --border:        #fdba74;
  --border-lt:     #fed7aa;
  --crimson:       #dc2626;
  --header-bg:     #ffffff;
  --card-bg:       #ffffff;
  --accent:        #ea580c;
  --accent-lt:     #ffedd5;
  --accent-dk:     #c2410c;
  --vod-grad:      linear-gradient(135deg,#ea580c,#d97706);
  --tile1:         #ffedd5; --tile1-text:#9a3412; --tile1-fill:#ea580c;
  --tile2:         #fef9c3; --tile2-text:#713f12; --tile2-fill:#ca8a04;
  --tile3:         #ecfdf5; --tile3-text:#065f46; --tile3-fill:#059669;
  --tile4:         #ede9fe; --tile4-text:#4c1d95; --tile4-fill:#7c3aed;
}

[data-theme="coral"].night {
  --panel:         #1c0a02;
  --panel-dk:      #140701;
  --parchment:     #1c0a02;
  --parchment-lt:  #240d03;
  --parchment-dk:  #100501;
  --ink:           #ffedd5;
  --ink-mid:       #fed7aa;
  --ink-lt:        #fdba74;
  --gold:          #fb923c;
  --gold-dk:       #ea580c;
  --gold-lt:       #431407;
  --border:        #9a3412;
  --border-lt:     #c2410c;
  --header-bg:     #1c0a02;
  --card-bg:       #240d03;
}

/* ── SHARED MODERN COMPONENT STYLES ─────────────────────────
   Applied to both green and coral themes
   ──────────────────────────────────────────────────────────── */

/* Body */
[data-theme="green"] body,
[data-theme="coral"] body {
  font-family: 'Nunito','Inter',-apple-system,sans-serif;
  background: var(--panel);
}

/* Header */
[data-theme="green"] .app-header,
[data-theme="coral"] .app-header,
[data-theme="green"] .site-header,
[data-theme="coral"] .site-header,
[data-theme="green"] .v5-header,
[data-theme="coral"] .v5-header {
  background: var(--panel-dk) !important;
  border-bottom: 2px solid var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
}

/* Titles */
[data-theme="green"] #siteTitle,
[data-theme="coral"] #siteTitle {
  font-family: 'Nunito',sans-serif !important;
  font-weight: 900 !important;
  color: var(--accent) !important;
  -webkit-text-fill-color: var(--accent) !important;
  background: none !important;
}

[data-theme="green"] #readerTitle,
[data-theme="coral"] #readerTitle {
  font-family: 'Nunito',sans-serif !important;
  font-weight: 800 !important;
  color: var(--accent-dk) !important;
}

/* Book / Section tiles */
[data-theme="green"] .book-card,
[data-theme="green"] .section-tile {
  background: var(--tile1) !important;
  border-color: var(--border-lt) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;
}
[data-theme="coral"] .book-card,
[data-theme="coral"] .section-tile {
  background: var(--tile1) !important;
  border-color: var(--border-lt) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;

[data-theme="green"] .book-card:hover,
[data-theme="coral"] .book-card:hover,
[data-theme="green"] .section-tile:hover,
[data-theme="coral"] .section-tile:hover {
  border-color: var(--accent) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px) !important;
}

/* Buttons */
[data-theme="green"] .btn-primary,
[data-theme="coral"] .btn-primary,
[data-theme="green"] .size-pill.active,
[data-theme="coral"] .size-pill.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
  font-family: 'Nunito',sans-serif !important;
  font-weight: 700 !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] .btn,
[data-theme="coral"] .btn,
[data-theme="green"] .size-pill,
[data-theme="coral"] .size-pill,
[data-theme="green"] .btn-ghost,
[data-theme="coral"] .btn-ghost,
[data-theme="green"] .nav-btn,
[data-theme="coral"] .nav-btn {
  font-family: 'Nunito',sans-serif !important;
  font-weight: 700 !important;
  border-radius: var(--radius-sm) !important;
  border-color: var(--border) !important;
}

/* Verse numbers */
[data-theme="green"] .verse-number,
[data-theme="coral"] .verse-number {
  color: var(--accent) !important;
  font-weight: 800 !important;
  font-family: 'Nunito',sans-serif !important;
}

/* Reader background — colored, not white */
[data-theme="green"] .reader-content,
[data-theme="coral"] .reader-content,
[data-theme="green"] #readerPanel,
[data-theme="coral"] #readerPanel,
[data-theme="green"] .page-root,
[data-theme="coral"] .page-root {
  background: var(--panel) !important;
}

/* Commentary drawer */
[data-theme="green"] #commDrawer,
[data-theme="coral"] #commDrawer {
  background: var(--card-bg) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .comm-tab-btn,
[data-theme="coral"] .comm-tab-btn {
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .comm-tab-btn.active,
[data-theme="coral"] .comm-tab-btn.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* Word study panel */
[data-theme="green"] #wordStudyPanel,
[data-theme="coral"] #wordStudyPanel {
  background: var(--card-bg) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius) !important;
}

/* Interlinear */
[data-theme="green"] .il-word:hover,
[data-theme="coral"] .il-word:hover {
  background: var(--accent-lt) !important;
  border-color: var(--accent) !important;
}

/* Search */
[data-theme="green"] .search-input,
[data-theme="coral"] .search-input {
  background: var(--parchment-lt) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius-sm) !important;
  font-family: 'Nunito',sans-serif !important;
  color: var(--ink) !important;
}

/* Loading screen */
[data-theme="green"] #loadingScreen,
[data-theme="coral"] #loadingScreen {
  background: var(--panel) !important;
}

[data-theme="green"] .loading-glyph,
[data-theme="coral"] .loading-glyph {
  color: var(--accent) !important;
}

/* Lang toggle */
[data-theme="green"] #langToggle,
[data-theme="coral"] #langToggle {
  background: var(--accent-lt) !important;
}

/* Section tile count */
[data-theme="green"] .section-tile-count,
[data-theme="coral"] .section-tile-count {
  color: var(--accent) !important;
  font-family: 'Nunito',sans-serif !important;
  font-weight: 700 !important;
}

/* Scrollbar */
[data-theme="green"] ::-webkit-scrollbar-thumb,
[data-theme="coral"] ::-webkit-scrollbar-thumb {
  background: var(--border) !important;
}

/* Gujarati text — always Noto Serif Gujarati regardless of theme */
[data-theme="green"] .gu-text,
[data-theme="coral"] .gu-text,
[data-theme="green"] [lang="gu"],
[data-theme="coral"] [lang="gu"] {
  font-family: 'Noto Serif Gujarati',serif !important;
}

/* Dividers */
[data-theme="green"] .divider,
[data-theme="coral"] .divider {
  color: var(--accent) !important;
}

/* Toast notifications */
[data-theme="green"] .toast,
[data-theme="coral"] .toast {
  background: var(--accent) !important;
  color: #fff !important;
}

/* ── TIMELINE THEME OVERRIDES ────────────────────────────────
   Applied to all timeline pages matching user's theme
   ──────────────────────────────────────────────────────────── */
[data-theme="green"] .tl-wrap,
[data-theme="green"] .card,
[data-theme="green"] .tip {
  background: var(--card-bg) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="coral"] .tl-wrap,
[data-theme="coral"] .card,
[data-theme="coral"] .tip {
  background: var(--card-bg) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .tl-hdr,
[data-theme="green"] .card-hdr,
[data-theme="coral"] .tl-hdr,
[data-theme="coral"] .card-hdr {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  font-family: 'Nunito',sans-serif !important;
  color: var(--accent-dk) !important;
}

[data-theme="green"] .tl-hdr-title,
[data-theme="coral"] .tl-hdr-title {
  color: var(--accent-dk) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .filter-btn.active,
[data-theme="coral"] .filter-btn.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

[data-theme="green"] .filter-btn,
[data-theme="coral"] .filter-btn {
  font-family: 'Nunito',sans-serif !important;
  border-color: var(--border) !important;
  color: var(--ink-mid) !important;
}

[data-theme="green"] .tl-row:hover,
[data-theme="coral"] .tl-row:hover {
  background: var(--accent-lt) !important;
}

[data-theme="green"] .row-name,
[data-theme="coral"] .row-name {
  font-family: 'Nunito',sans-serif !important;
  color: var(--ink) !important;
}

[data-theme="green"] .row-name-gu,
[data-theme="coral"] .row-name-gu {
  font-family: 'Noto Serif Gujarati',serif !important;
  color: var(--ink-mid) !important;
}

[data-theme="green"] .section-hdr,
[data-theme="green"] .kingdom-hdr,
[data-theme="green"] .cat-hdr,
[data-theme="coral"] .section-hdr,
[data-theme="coral"] .kingdom-hdr,
[data-theme="coral"] .cat-hdr {
  background: var(--panel-dk) !important;
  color: var(--accent-dk) !important;
  font-family: 'Nunito',sans-serif !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .tip-name,
[data-theme="coral"] .tip-name {
  font-family: 'Nunito',sans-serif !important;
  font-weight: 800 !important;
}

[data-theme="green"] .tip-name-gu,
[data-theme="coral"] .tip-name-gu {
  font-family: 'Noto Serif Gujarati',serif !important;
  color: var(--ink-mid) !important;
}

[data-theme="green"] .tip-desc,
[data-theme="green"] .tip-row,
[data-theme="green"] .tip-ref,
[data-theme="coral"] .tip-desc,
[data-theme="coral"] .tip-row,
[data-theme="coral"] .tip-ref {
  font-family: 'Inter',sans-serif !important;
  color: var(--ink) !important;
}

[data-theme="green"] .tip-open,
[data-theme="coral"] .tip-open {
  background: var(--accent) !important;
  color: #fff !important;
}

[data-theme="green"] .stat,
[data-theme="coral"] .stat {
  background: var(--card-bg) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .stat-num,
[data-theme="coral"] .stat-num {
  color: var(--accent-dk) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .insight-box,
[data-theme="coral"] .insight-box {
  background: var(--card-bg) !important;
  border-left-color: var(--accent) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .insight-title,
[data-theme="coral"] .insight-title {
  color: var(--accent-dk) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .hero h1,
[data-theme="coral"] .hero h1,
[data-theme="green"] .logo,
[data-theme="coral"] .logo {
  font-family: 'Nunito',sans-serif !important;
  font-weight: 900 !important;
  color: var(--accent-dk) !important;
}

[data-theme="green"] .hero-gu,
[data-theme="green"] .hero-sub,
[data-theme="coral"] .hero-gu,
[data-theme="coral"] .hero-sub {
  font-family: 'Noto Serif Gujarati',serif !important;
  color: var(--ink-mid) !important;
}

[data-theme="green"] .legend,
[data-theme="coral"] .legend {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .tl-nav-link.active,
[data-theme="coral"] .tl-nav-link.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

[data-theme="green"] .hdr-btn,
[data-theme="green"] .dn-btn,
[data-theme="green"] .lang-btn,
[data-theme="coral"] .hdr-btn,
[data-theme="coral"] .dn-btn,
[data-theme="coral"] .lang-btn {
  font-family: 'Nunito',sans-serif !important;
  border-color: var(--border) !important;
  color: var(--ink-mid) !important;
  background: var(--card-bg) !important;
  border-radius: var(--radius-sm) !important;
}

/* ── SETTINGS PAGE ────────────────────────────────────────── */
[data-theme="green"] .section,
[data-theme="coral"] .section {
  background: var(--card-bg) !important;
  border-color: var(--border-lt) !important;
  border-radius: var(--radius) !important;
}

[data-theme="green"] .section-title,
[data-theme="coral"] .section-title {
  font-family: 'Nunito',sans-serif !important;
  color: var(--accent-dk) !important;
  background: var(--panel-dk) !important;
}

[data-theme="green"] .row-label,
[data-theme="coral"] .row-label {
  font-family: 'Nunito',sans-serif !important;
  color: var(--ink) !important;
}

[data-theme="green"] .toggle-track,
[data-theme="coral"] .toggle-track {
  background: var(--border) !important;
}

[data-theme="green"] input:checked + .toggle-track,
[data-theme="coral"] input:checked + .toggle-track {
  background: var(--accent) !important;
}

[data-theme="green"] .save-btn,
[data-theme="coral"] .save-btn {
  background: var(--accent) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .theme-card.active,
[data-theme="coral"] .theme-card.active {
  border-color: var(--accent) !important;
  background: var(--accent-lt) !important;
}

/* ── READER TOOLBAR — THEME FIXES ───────────────────────── */
[data-theme="green"] .chapter-select,
[data-theme="coral"] .chapter-select {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] .search-bar-wrap,
[data-theme="coral"] .search-bar-wrap,
[data-theme="green"] #readerSearchWrap,
[data-theme="coral"] #readerSearchWrap,
[data-theme="green"] .reader-search-bar,
[data-theme="coral"] .reader-search-bar {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] .search-input,
[data-theme="coral"] .search-input {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] .search-input::placeholder,
[data-theme="coral"] .search-input::placeholder {
  color: var(--ink-lt) !important;
}

[data-theme="green"] .search-btn,
[data-theme="coral"] .search-btn {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
  border-radius: var(--radius-sm) !important;
}

/* Nav buttons in reader toolbar */
[data-theme="green"] .nav-btn,
[data-theme="coral"] .nav-btn {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] .nav-btn:hover,
[data-theme="coral"] .nav-btn:hover {
  background: var(--accent-lt) !important;
  border-color: var(--accent) !important;
}

/* Progress label */
[data-theme="green"] .progress-label,
[data-theme="coral"] .progress-label,
[data-theme="green"] #progressLabel,
[data-theme="coral"] #progressLabel {
  color: var(--ink-mid) !important;
}

/* Chapter tiles — darker for both classic and modern themes */
[data-theme="green"] .book-tile {
  background: var(--tile1) !important;
  border-color: var(--border-lt) !important;
  color: var(--tile1-text) !important;
}

[data-theme="coral"] .book-tile {
  background: var(--tile1) !important;
  border-color: var(--border-lt) !important;
  color: var(--tile1-text) !important;
}

[data-theme="green"] .book-tile:hover,
[data-theme="coral"] .book-tile:hover {
  background: var(--accent-lt) !important;
  border-color: var(--accent) !important;
}

/* Book tile number and title */
[data-theme="green"] .book-tile-num,
[data-theme="coral"] .book-tile-num {
  color: var(--accent) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .book-tile-title,
[data-theme="coral"] .book-tile-title {
  color: var(--ink) !important;
  font-family: 'Noto Serif Gujarati',serif !important;
}

/* ── SEARCH — THEME FIXES ──────────────────────────────────── */
[data-theme="green"] .search-results,
[data-theme="coral"] .search-results {
  background: var(--panel) !important;
}

[data-theme="green"] .search-result-item,
[data-theme="coral"] .search-result-item {
  border-color: var(--border-lt) !important;
  color: var(--ink) !important;
}

[data-theme="green"] .search-result-item:hover,
[data-theme="coral"] .search-result-item:hover {
  background: var(--accent-lt) !important;
}

[data-theme="green"] .search-result-ch,
[data-theme="coral"] .search-result-ch {
  color: var(--accent) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .search-match,
[data-theme="coral"] .search-match {
  background: var(--accent-lt) !important;
  color: var(--accent-dk) !important;
  border-radius: 3px;
}

[data-theme="green"] .search-no-results,
[data-theme="coral"] .search-no-results {
  color: var(--ink-mid) !important;
}

[data-theme="green"] .search-more-btn,
[data-theme="coral"] .search-more-btn {
  background: var(--accent-lt) !important;
  color: var(--accent-dk) !important;
  border-color: var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

/* Scope pills */
[data-theme="green"] #searchScopePills,
[data-theme="coral"] #searchScopePills,
[data-theme="green"] .search-scope-pills,
[data-theme="coral"] .search-scope-pills {
  background: var(--panel-dk) !important;
  border-color: var(--border-lt) !important;
}

[data-theme="green"] .spill-btn,
[data-theme="coral"] .spill-btn,
[data-theme="green"] [class*="spill"],
[data-theme="coral"] [class*="spill"] {
  color: var(--ink-mid) !important;
  border-color: var(--border) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .spill-btn.active,
[data-theme="coral"] .spill-btn.active,
[data-theme="green"] [class*="spill"].active,
[data-theme="coral"] [class*="spill"].active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* Mobile search overlay */
[data-theme="green"] #mobileSearchOverlay,
[data-theme="coral"] #mobileSearchOverlay {
  background: var(--panel) !important;
}

[data-theme="green"] #mobileSearchInput,
[data-theme="coral"] #mobileSearchInput {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] #mobileSearchResults,
[data-theme="coral"] #mobileSearchResults {
  background: var(--panel) !important;
}

[data-theme="green"] #mobileSearchStatus,
[data-theme="coral"] #mobileSearchStatus {
  color: var(--ink-mid) !important;
}

[data-theme="green"] #mobileSearchPills,
[data-theme="coral"] #mobileSearchPills {
  background: var(--panel-dk) !important;
  border-color: var(--border-lt) !important;
}

/* IL Search */
[data-theme="green"] #ilSearchInput,
[data-theme="coral"] #ilSearchInput {
  background: var(--panel-dk) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius-sm) !important;
}

[data-theme="green"] #ilSearchResults,
[data-theme="coral"] #ilSearchResults {
  background: var(--panel) !important;
}

/* Global search in index.html */
[data-theme="green"] #globalSearchOverlay,
[data-theme="coral"] #globalSearchOverlay {
  background: rgba(0,0,0,0.6) !important;
}

[data-theme="green"] #globalSearchInput,
[data-theme="coral"] #globalSearchInput {
  background: var(--panel) !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  border-radius: var(--radius) !important;
}

[data-theme="green"] #globalSearchResults,
[data-theme="coral"] #globalSearchResults {
  background: var(--panel) !important;
}

[data-theme="green"] #globalSearchStatus,
[data-theme="coral"] #globalSearchStatus {
  color: var(--ink-mid) !important;
}

/* ── TOOLTIP — THEME FIXES ─────────────────────────────── */
[data-theme="green"] .tip,
[data-theme="coral"] .tip {
  background: #ffffff !important;
  border-color: var(--border) !important;
  color: var(--ink) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
}

[data-theme="green"] .tip-name,
[data-theme="coral"] .tip-name {
  color: var(--accent-dk) !important;
  font-family: 'Nunito',sans-serif !important;
}

[data-theme="green"] .tip-desc,
[data-theme="green"] .tip-row,
[data-theme="green"] .tip-ref,
[data-theme="coral"] .tip-desc,
[data-theme="coral"] .tip-row,
[data-theme="coral"] .tip-ref {
  color: var(--ink) !important;
  font-family: 'Inter',sans-serif !important;
}

[data-theme="green"] .tip-open,
[data-theme="coral"] .tip-open {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* Night mode tip */
[data-theme="green"].night .tip,
[data-theme="coral"].night .tip {
  background: var(--panel-dk) !important;
}
