*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0C0B0A;--bg2:#181614;--bg3:#1C1A17;--bg4:#242220;
  --bg-warm:#0F0D0B;
  --text:#E8E4DC;--text2:#C0BBB1;--text3:#7D7971;
  --accent:#5B9A8B;--accent2:#7AB8A8;--accent3:#3D6B60;
  --saffron:#D4943A;--saffron2:#E0A448;--saffron3:#A07030;
  --amber:#C47A4A;--amber2:#D48A5A;--amber3:#8B5A3F;
  --red:#C45C4A;--green:#6AC48A;
  --border:#2A2724;
  --serif:'Cormorant Garamond',Georgia,serif;
  --body:'Crimson Pro',Georgia,serif;
  --mono:'JetBrains Mono',monospace
}
html{font-size:16px;background:var(--bg);color:var(--text)}
body{font-family:var(--body);font-weight:300;line-height:1.6;min-height:100vh;background:var(--bg);transition:background-color 300ms ease}
html.library-active,html.library-active body{background-color:var(--bg-warm)}
body::after{content:'';position:fixed;inset:0;opacity:0.035;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--accent3);color:var(--text)}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(61,107,96,0.4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(61,107,96,0.6)}
.app{max-width:760px;margin:0 auto;padding:20px 24px 80px;position:relative}

/* Header */
.header{text-align:center;padding:48px 0 32px;border-bottom:1px solid var(--border)}
.header-pre{font-family:var(--mono);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.header h1{font-family:var(--serif);font-size:clamp(34px,7vw,52px);font-weight:300;letter-spacing:1px;color:var(--text);line-height:1.1;margin-bottom:8px}
.header h1 em{font-weight:400;font-style:italic;color:var(--saffron)}
.header-devanagari{font-family:'Tiro Devanagari Sanskrit',serif;font-size:18px;color:var(--accent);opacity:0.5;letter-spacing:2px;margin-bottom:4px}
.header-meaning{font-family:var(--mono);font-size:9px;letter-spacing:3px;text-transform:lowercase;color:var(--text3);opacity:0.5;margin-bottom:10px}
.header-links{margin-top:4px}
.header-links a{font-family:var(--mono);font-size:10px;letter-spacing:0.5px;color:var(--text3);cursor:pointer;text-decoration:none;opacity:0.6;transition:opacity 0.2s}
.header-links a:hover{opacity:1;color:var(--accent2)}
.header-sub{font-family:var(--serif);font-size:16px;font-weight:300;color:var(--text3);font-style:italic}

/* Landing page */
.landing{padding:36px 0 0;animation:fadeUp 0.35s ease}
.search-bar{position:relative;margin-bottom:28px}
.search-toggle{display:flex;gap:4px;margin-bottom:12px;justify-content:center}
.search-toggle button{padding:8px 18px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:1px solid var(--border);color:var(--text3);cursor:pointer;transition:all 0.2s}
.search-toggle button:hover{border-color:var(--accent3);color:var(--text2)}
.search-toggle button.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.search-input{width:100%;padding:14px 18px;font-family:var(--body);font-size:15px;background:var(--bg2);border:1px solid var(--border);color:var(--text);outline:none;transition:border-color 0.2s}
.search-input::placeholder{color:var(--text3)}
.search-input:focus{border-color:var(--accent)}
.search-results{margin-bottom:28px}
.search-result{display:block;padding:14px 18px;background:var(--bg2);border:1px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.2),0 0 0 1px rgba(255,255,255,0.03);margin-bottom:6px;cursor:pointer;transition:all 0.2s;text-decoration:none;color:inherit}
.search-result:hover{border-left:2px solid var(--accent);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.search-result-title{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--text)}
.search-result-meta{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:2px}
.era-section{margin-bottom:32px}
.era-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--border);color:var(--accent)}
.era-items{display:flex;flex-wrap:wrap;gap:6px}
.era-link{padding:8px 16px;font-family:var(--serif);font-size:14px;background:none;border:1px solid var(--border);color:var(--text2);cursor:pointer;transition:all 0.2s;text-decoration:none}
.era-link:hover{border-color:var(--accent);color:var(--text)}

/* Country labels in browse tree */
.country-group{margin-bottom:14px}
.country-label{font-family:var(--body);font-size:12px;font-weight:500;color:var(--text3);margin-bottom:6px;padding-left:2px;letter-spacing:0.3px}

/* Breadcrumb */
.breadcrumb{display:flex;gap:6px;align-items:center;padding:16px 0;font-family:var(--mono);font-size:11px;color:var(--text3)}
.breadcrumb a{color:var(--text3);text-decoration:none;cursor:pointer;transition:color 0.15s}
.breadcrumb a:hover{color:var(--accent2)}
.back-btn{display:none;font-size:16px;padding:4px 8px 4px 0;color:var(--text3);cursor:pointer}
.breadcrumb .sep{color:var(--border)}

/* Page heading (author/book pages) */
.page-heading{padding:8px 0 20px;animation:fadeUp 0.3s ease}
.page-heading-title{font-family:var(--serif);font-size:clamp(28px,5vw,36px);font-weight:400;color:var(--text);line-height:1.15;margin-bottom:4px}
.page-heading-title.italic{font-weight:300;font-style:italic}
.page-heading-meta{font-family:var(--mono);font-size:12px;color:var(--text3);letter-spacing:0.5px}

/* Navigation tabs */
.nav{display:flex;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(12,11,10,0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav button{flex-shrink:0;padding:14px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:none;color:var(--text3);cursor:pointer;position:relative;transition:color 0.2s;white-space:nowrap}
.nav button:hover{color:var(--text2)}
.nav button.active{color:var(--accent)}
.nav button.active::after{content:'';position:absolute;bottom:0;left:16px;right:16px;height:1px;background:var(--accent)}

/* Reading action in tab bar */
.nav-reading-btn{flex-shrink:0;padding:14px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:none;color:var(--amber);cursor:pointer;position:relative;transition:color 0.2s;white-space:nowrap;margin-left:auto}
.nav-reading-btn:hover{color:#d89060}
.nav-reading-btn.added{color:var(--green)}

/* Sections & cards */
.section{padding:36px 0 0;animation:fadeUp 0.35s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.section-title{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--text);margin-bottom:4px}
.section-desc{font-size:13px;color:var(--text3);margin-bottom:28px;max-width:520px}
.card{padding:22px;background:var(--bg2);border:1px solid transparent;border-left:2px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.25),0 0 0 1px rgba(255,255,255,0.04),inset 0 1px 0 rgba(255,255,255,0.03);margin-bottom:10px;transition:border-color 0.25s,box-shadow 0.25s;animation:fadeUp 0.4s ease both}
.card:hover{border-left-color:var(--saffron3);box-shadow:0 3px 12px rgba(0,0,0,0.35),0 0 0 1px rgba(255,255,255,0.05)}
.section .card:nth-child(2){animation-delay:0.06s}
.section .card:nth-child(3){animation-delay:0.12s}
.section .card:nth-child(4){animation-delay:0.18s}
.section .card:nth-child(5){animation-delay:0.24s}
.section .card:nth-child(n+6){animation-delay:0.3s}
.card-title{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--text);margin-bottom:6px}
.card-body{font-size:16px;line-height:1.75;color:var(--text2);font-weight:300}

/* Terms */
.term-row{padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s}
.term-row:hover{background:rgba(91,154,139,0.04)}
.term-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.term-word{font-family:var(--serif);font-size:22px;font-weight:400;font-style:italic;color:var(--saffron)}
.term-pron{font-family:var(--mono);font-size:11px;color:var(--text3);margin-left:6px;font-style:normal}
.term-short{font-size:12px;color:var(--text3);text-align:right;flex-shrink:0}
.term-detail{font-size:16px;line-height:1.75;color:var(--text2);margin-top:10px;padding-left:14px;border-left:2px solid var(--saffron3)}

/* Cast */
.cast-section{margin-bottom:28px}
.cast-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--border);color:var(--accent)}
.cast-item{padding:8px 0;border-bottom:1px solid rgba(42,39,36,0.6)}
.cast-item:last-child{border-bottom:none}
.cast-name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--text)}
.cast-name .ep{font-weight:300;color:var(--text3);font-style:italic;margin-left:6px;font-size:14px}
.cast-role{font-size:15px;color:var(--text2);margin-top:2px;line-height:1.65}

/* Books / chapters */
.book-grid{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px}
.book-pill{width:40px;height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;border:1px solid var(--border);background:none;color:var(--text3);cursor:pointer;transition:all 0.15s}
.book-pill:hover{border-color:var(--accent);color:var(--text2)}
.book-pill.active{background:var(--amber);border-color:var(--amber);color:var(--bg)}
.book-pill.unlocked{color:var(--text);border-color:var(--text3)}
.book-pill.locked{opacity:0.25;cursor:default}
.book-content{animation:fadeUp 0.3s ease}
.book-num{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.book-name{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--text);font-style:italic;margin-bottom:20px}
.know-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:8px}
.know-text{font-size:16px;line-height:1.8;color:var(--text2);margin-bottom:20px}
.watch-box{padding:18px 22px;border-left:2px solid var(--accent);background:rgba(91,154,139,0.04);margin-bottom:16px}
.watch-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.watch-text{font-size:15px;line-height:1.7;color:var(--text2)}
.unlock-btn{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:9px 20px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:1px solid var(--accent3);color:var(--accent2);cursor:pointer;transition:all 0.2s}
.unlock-btn:hover{background:var(--accent3);color:var(--text)}
.lock-msg{text-align:center;padding:50px 20px;color:var(--text3);font-family:var(--serif);font-size:17px;font-style:italic}
.ornament{text-align:center;padding:16px 0;color:var(--text3);font-family:var(--serif);font-size:16px;letter-spacing:8px}

/* Chapter divider */
.chapter-divider{display:flex;align-items:center;gap:16px;padding:48px 0 8px}
.chapter-divider-line{flex:1;height:1px;background:var(--border)}
.chapter-divider-label{font-family:var(--mono);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);white-space:nowrap}

/* Chapter header with unlock-all toggle */
.chapter-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0 0}
.unlock-all-btn{padding:7px 16px;font-family:var(--mono);font-size:10px;letter-spacing:0.5px;background:none;border:1px solid var(--border);color:var(--text3);cursor:pointer;transition:all 0.2s;white-space:nowrap;flex-shrink:0}
.unlock-all-btn:hover{border-color:var(--accent);color:var(--text2)}
.unlock-all-btn.on{background:var(--accent3);border-color:var(--accent3);color:var(--text)}

/* Author link box on book page */
.author-link-box{padding:24px 0 8px}

/* Works list on author page */
.work-card{display:block;padding:18px 22px;background:var(--bg2);border:1px solid transparent;border-left:2px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.2),0 0 0 1px rgba(255,255,255,0.025);margin-bottom:8px;cursor:pointer;transition:all 0.2s;text-decoration:none;color:inherit}
.work-card:hover{border-left-color:var(--saffron3);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.work-card-title{font-family:var(--serif);font-size:18px;font-weight:400;font-style:italic;color:var(--saffron);margin-bottom:2px}
.work-card-meta{font-family:var(--mono);font-size:11px;color:var(--text3)}

/* Currently Reading items */
.reading-item{padding:14px 18px;background:var(--bg2);border:1px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.2),0 0 0 1px rgba(255,255,255,0.025);cursor:pointer;transition:all 0.2s}
.reading-item:hover{border-left:2px solid var(--amber)}
.reading-item-top{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.reading-item-title{font-family:var(--serif);font-size:16px;font-weight:500;color:var(--text)}
.reading-item-author{font-family:var(--mono);font-size:11px;color:var(--text3)}
.reading-item-bottom{display:flex;align-items:center;gap:10px}
.reading-item-progress{font-family:var(--mono);font-size:10px;color:var(--amber);white-space:nowrap}
.reading-item-bar{flex:1;height:4px;background:var(--border);border-radius:1px}
.reading-item-fill{height:100%;background:var(--amber);border-radius:1px;transition:width 0.3s}
.reading-item-x{background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;padding:8px;margin-left:auto;line-height:1;transition:color 0.15s;flex-shrink:0;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}
.reading-item-x:hover{color:var(--red)}
.reading-item-confirm{display:flex;align-items:center;gap:10px;padding:8px 0 2px;font-family:var(--mono);font-size:11px;color:var(--text3)}
.confirm-yes{padding:4px 12px;font-family:var(--mono);font-size:10px;background:none;border:1px solid var(--red);color:var(--red);cursor:pointer;transition:all 0.15s}
.confirm-yes:hover{background:var(--red);color:var(--text)}
.confirm-no{padding:4px 12px;font-family:var(--mono);font-size:10px;background:none;border:1px solid var(--border);color:var(--text3);cursor:pointer;transition:all 0.15s}
.confirm-no:hover{border-color:var(--text3);color:var(--text2)}

/* Start Reading button */
.start-reading-section{padding:32px 0 8px;text-align:center}
.start-reading-btn{padding:14px 32px;font-family:var(--serif);font-size:17px;font-weight:400;background:var(--amber);border:none;color:var(--bg);cursor:pointer;transition:all 0.2s;letter-spacing:0.5px;margin-top:24px}
.start-reading-btn:hover{background:#d89060}

/* Reading view */
.reading-header{padding:8px 0 20px}
.reading-progress-text{font-family:var(--mono);font-size:11px;color:var(--amber);margin-bottom:6px}
.reading-progress-bar{height:4px;background:var(--border);border-radius:2px}
.reading-progress-fill{height:100%;background:var(--amber);border-radius:2px;transition:width 0.3s}
.reading-toggles{display:flex;gap:8px;margin-bottom:24px}

/* Collapsible */
.collapsible{flex:1;margin-bottom:10px}
.collapsible-toggle{width:100%;padding:12px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:var(--bg2);border:1px solid var(--border);color:var(--text3);cursor:pointer;transition:all 0.2s;text-align:left}
.collapsible-toggle:hover{border-color:var(--accent);color:var(--text2)}
.collapsible-toggle.open{border-color:var(--accent);color:var(--accent)}
.collapsible-content{border:1px solid var(--border);border-top:none;padding:16px;background:var(--bg2)}

/* inFor section */
.infor-section{margin-bottom:20px}

/* Remove from reading list */
.remove-reading{text-align:center;padding:16px 0;font-family:var(--mono);font-size:11px;color:var(--text3);cursor:pointer;transition:color 0.2s}
.remove-reading:hover{color:var(--red)}

/* Add to reading list link on book page */
.add-reading-link{display:inline-block;padding:6px 0;font-family:var(--mono);font-size:11px;color:var(--text3);cursor:pointer;transition:color 0.15s;margin-top:8px}
.add-reading-link:hover{color:var(--accent2)}
.add-reading-link.added{color:var(--green)}

/* Share button */
.share-btn{background:none;border:none;color:var(--text3);cursor:pointer;font-size:13px;padding:2px 6px;transition:color 0.15s;margin-left:auto}
.share-btn:hover{color:var(--accent2)}

/* Toast notification */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:10px 20px;font-family:var(--mono);font-size:11px;background:var(--bg3);border:1px solid var(--accent3);color:var(--accent);z-index:1000;animation:fadeUp 0.2s ease}

/* Read chapter dot */
.book-pill.read{position:relative}
.book-pill.read::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--amber);border-radius:50%}
.book-pill.active.read::after{background:var(--bg)}

/* Completion badge */
.finished-badge{font-family:var(--mono);font-size:10px;color:var(--green);letter-spacing:0.5px}
.completion-msg{text-align:center;padding:32px 20px;font-family:var(--serif);font-size:20px;font-weight:300;color:var(--amber);font-style:italic}

/* Reading preview (empty state) */
.reading-preview{padding:20px;background:var(--bg2);border:1px dashed var(--border);margin-top:16px;opacity:0.35}
.reading-preview-label{font-family:var(--mono);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.reading-preview-title{font-family:var(--serif);font-size:18px;font-weight:300;color:var(--text);font-style:italic;margin-bottom:4px}
.reading-preview-pills{display:flex;gap:3px;margin:12px 0}
.reading-preview-pill{width:28px;height:24px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--text3)}
.reading-preview-pill:first-child{background:var(--amber);border-color:var(--amber);color:var(--bg)}
.reading-preview-text{font-size:12px;color:var(--text3);line-height:1.6}

/* Progress saved indicator */
.progress-saved{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:4px;opacity:0.6}

/* Remove confirm in reading view */
.remove-confirm{text-align:center;padding:12px 0;display:flex;gap:10px;justify-content:center;align-items:center;font-family:var(--mono);font-size:11px;color:var(--text3)}

/* Book page context link */
.context-link{display:inline-block;margin-bottom:20px;font-family:var(--mono);font-size:11px;color:var(--text3);cursor:pointer;transition:color 0.15s}
.context-link:hover{color:var(--accent2)}

/* Author sub-groups in browse tree */
.author-subgroup{margin-bottom:10px}
.author-subgroup-label{font-family:var(--mono);font-size:10px;color:var(--text3);margin-bottom:4px;padding-left:2px}

/* Footer */
.footer{text-align:center;padding:32px 0 8px;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--text3);opacity:0.4}

/* Quiz — immersive overlay */
.quiz-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.quiz-overlay::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(30,28,24,1) 0%,var(--bg) 100%);pointer-events:none}
.quiz-inner{position:relative;z-index:1;max-width:560px;width:100%;text-align:center}
.quiz-progress{display:flex;justify-content:center;gap:10px;margin-bottom:48px}
.quiz-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all 0.4s ease}
.quiz-dot.active{background:var(--saffron);transform:scale(1.5);box-shadow:0 0 12px rgba(212,148,58,0.4)}
.quiz-dot.done{background:var(--accent)}
.quiz-question{font-family:var(--serif);font-size:clamp(26px,5vw,38px);font-weight:300;color:var(--text);line-height:1.3;margin-bottom:44px;font-style:italic;animation:fadeUp 0.35s ease}
.quiz-options{display:flex;flex-direction:column;gap:12px;animation:fadeUp 0.4s ease;animation-delay:0.1s;animation-fill-mode:both}
.quiz-option{padding:20px 28px;font-family:var(--body);font-size:15px;line-height:1.5;color:var(--text2);background:rgba(24,22,20,0.8);border:1px solid var(--border);cursor:pointer;text-align:left;transition:all 0.25s ease;backdrop-filter:blur(4px)}
.quiz-option:hover{border-color:var(--saffron);color:var(--text);background:rgba(212,148,58,0.08);transform:translateX(6px)}
.quiz-option:active{transform:translateX(3px);background:rgba(212,148,58,0.12)}
.quiz-number{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--text3);margin-bottom:8px;text-transform:uppercase}

/* Quiz Results */
.quiz-results{padding:40px 0;animation:fadeUp 0.5s ease;text-align:center}
.quiz-results-title{font-family:var(--serif);font-size:clamp(28px,5vw,42px);font-weight:300;color:var(--saffron);margin-bottom:6px;letter-spacing:0.5px}
.quiz-results-desc{font-family:var(--body);font-size:14px;color:var(--text3);margin-bottom:36px}
.quiz-results-list{display:flex;flex-direction:column;gap:14px;text-align:left}
.quiz-result-card{padding:24px;background:var(--bg2);border:1px solid var(--border);cursor:pointer;transition:all 0.25s ease;position:relative}
.quiz-result-card:hover{border-color:var(--saffron3);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.3)}
.quiz-result-title{font-family:var(--serif);font-size:22px;font-weight:400;font-style:italic;color:var(--saffron)}
.quiz-result-author{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:4px;letter-spacing:0.5px}
.quiz-result-hook{font-family:var(--body);font-size:16px;color:var(--text2);margin-top:12px;line-height:1.75}

/* Splash */
.splash-screen{padding:60px 0 40px;animation:fadeUp 0.6s ease;text-align:center}
.splash-tagline{font-family:var(--serif);font-size:clamp(20px,4.5vw,28px);font-weight:300;font-style:italic;color:var(--text);line-height:1.5;max-width:480px;margin:0 auto 20px}
.splash-desc{font-family:var(--body);font-size:15px;color:var(--text3);margin-bottom:36px;letter-spacing:0.3px}
.splash-cta{display:inline-block;padding:16px 40px;font-family:var(--mono);font-size:13px;letter-spacing:1.5px;background:var(--saffron);border:none;color:var(--bg);cursor:pointer;transition:all 0.25s ease;text-transform:uppercase}
.splash-cta:hover{background:var(--saffron2);transform:translateY(-1px);box-shadow:0 4px 16px rgba(212,148,58,0.3)}
.splash-skip{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:20px;cursor:pointer;transition:color 0.2s}
.splash-skip:hover{color:var(--text2)}

/* Your Books tab */
.your-books{padding:16px 0;animation:fadeUp 0.35s ease}
.your-books-empty{text-align:center;padding:40px 20px;color:var(--text3);font-family:var(--serif);font-size:17px;font-style:italic}

/* Quiz add button */
.quiz-add-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:none;color:var(--text3);font-size:18px;cursor:pointer;transition:all 0.2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.quiz-add-btn:hover:not(:disabled){border-color:var(--saffron);color:var(--saffron)}
.quiz-add-btn:disabled{border-color:var(--accent);color:var(--accent);cursor:default}
.quiz-theme-summary{text-align:center;margin-bottom:32px;padding:24px 0;border-bottom:1px solid var(--border)}
.quiz-theme-label{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:12px}
.quiz-theme-list{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.quiz-theme-tag{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--saffron);padding:6px 16px;border:1px solid var(--saffron3);background:rgba(212,148,58,0.06)}

/* Filter toggle */
.filter-toggle-wrap{display:flex;justify-content:center;margin-bottom:16px;position:relative}
.filter-btn{padding:6px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:1px solid var(--border);color:var(--text3);cursor:pointer;transition:all 0.2s}
.filter-btn:hover{border-color:var(--accent3);color:var(--text2)}
.filter-chip{padding:6px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:var(--saffron);border:1px solid var(--saffron);color:var(--bg);cursor:pointer;transition:all 0.2s}
.filter-chip:hover{opacity:0.85}
.filter-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;background:var(--bg2);border:1px solid var(--border);padding:16px;min-width:280px;z-index:50;animation:fadeUp 0.2s ease}
.filter-group{margin-bottom:12px}
.filter-group:last-child{margin-bottom:0}
.filter-group-label{font-family:var(--mono);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text3);margin-bottom:8px}
.filter-group-items{display:flex;flex-wrap:wrap;gap:4px}
.filter-item{padding:5px 12px;font-family:var(--mono);font-size:10px;letter-spacing:0.3px;background:none;border:1px solid var(--border);color:var(--text2);cursor:pointer;transition:all 0.15s}
.filter-item:hover{border-color:var(--saffron3);color:var(--saffron)}

/* My Library */
.my-library{padding:16px 0;animation:fadeUp 0.35s ease}
.library-section{margin-bottom:28px}
.library-section-title{font-family:var(--serif);font-size:20px;font-weight:300;color:var(--text2);text-transform:none;letter-spacing:0.5px;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px}

/* Status menu dropdown */
.status-menu{position:absolute;right:0;top:100%;z-index:200;background:var(--bg2);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,0.4);min-width:160px;margin-top:4px}
.status-menu button{display:block;width:100%;padding:12px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text2);cursor:pointer;text-align:left;transition:all 0.15s}
.status-menu button:last-child{border-bottom:none}
.status-menu button:hover{background:rgba(212,148,58,0.08);color:var(--text)}
.status-menu-inline{display:flex;gap:2px}
.status-menu-inline .nav-reading-btn{font-size:10px;padding:6px 10px;white-space:nowrap}

/* Disclaimer */
.disclaimer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeUp 0.3s ease}
.disclaimer{max-width:480px;padding:32px;background:var(--bg2);border:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,0.5)}
.disclaimer-title{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--text);margin-bottom:16px}
.disclaimer-body{font-family:var(--body);font-size:16px;line-height:1.8;color:var(--text2);margin-bottom:24px}
.disclaimer-btn{display:block;width:100%;padding:12px;font-family:var(--mono);font-size:12px;letter-spacing:1px;background:var(--accent);border:none;color:var(--bg);cursor:pointer;transition:background 0.2s}
.disclaimer-btn:hover{background:var(--accent2)}

/* Empty library */
.library-empty{text-align:center;padding:80px 20px}
.library-empty-ornament{font-family:var(--serif);font-size:14px;color:var(--text3);opacity:0.3}
.library-empty-title{font-family:var(--serif);font-size:20px;font-weight:300;font-style:italic;color:var(--text2);margin:24px 0 16px}
.library-empty-browse{font-family:var(--mono);font-size:11px;color:var(--text3);cursor:pointer;transition:color 0.2s}
.library-empty-browse:hover{color:var(--accent2)}

/* Auth */
.header-top-row{display:flex;justify-content:space-between;align-items:center;width:100%}
.user-signin-btn{font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:1px solid var(--border);color:var(--text3);padding:6px 14px;cursor:pointer;transition:all 0.2s}
.user-signin-btn:hover{border-color:var(--accent3);color:var(--text2)}
.user-menu{display:flex;align-items:center;gap:10px}
.user-name{font-family:var(--mono);font-size:11px;color:var(--text3)}
.user-signout-btn{font-family:var(--mono);font-size:10px;background:none;border:none;color:var(--text3);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.user-signout-btn:hover{color:var(--text2)}

.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeUp 0.2s ease}
.auth-modal{position:relative;background:var(--bg2);border:1px solid var(--border);padding:40px 36px;max-width:380px;width:90%;animation:fadeUp 0.3s ease}
.auth-title{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--text);margin-bottom:4px}
.auth-subtitle{font-size:13px;color:var(--text3);margin-bottom:24px}
.auth-error{font-family:var(--mono);font-size:11px;color:var(--copper);background:rgba(196,122,74,0.1);padding:8px 12px;margin-bottom:16px;border-left:2px solid var(--copper)}
.auth-input{display:block;width:100%;padding:12px 14px;font-family:var(--body);font-size:14px;background:var(--bg);border:1px solid var(--border);color:var(--text);margin-bottom:10px;outline:none;transition:border-color 0.2s}
.auth-input:focus{border-color:var(--accent3)}
.auth-input::placeholder{color:var(--text3)}
.auth-submit{display:block;width:100%;padding:12px;font-family:var(--mono);font-size:12px;letter-spacing:0.5px;background:var(--accent);border:none;color:var(--bg);cursor:pointer;margin-top:6px;transition:background 0.2s}
.auth-submit:hover{background:var(--accent2)}
.auth-submit:disabled{opacity:0.5;cursor:default}
.auth-switch{font-size:13px;color:var(--text3);margin-top:18px;text-align:center}
.auth-switch a{color:var(--accent2);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.auth-close{position:absolute;top:14px;right:16px;font-size:20px;color:var(--text3);cursor:pointer;transition:color 0.15s}
.auth-close:hover{color:var(--text)}

/* Loading */
.loading{text-align:center;padding:60px 20px;color:var(--text3);font-family:var(--serif);font-size:17px;font-style:italic;animation:pulse 2s ease-in-out infinite}

/* Afterglow — warmer tones for post-book reflection */
.afterglow{animation:fadeUp 0.5s ease}
.afterglow-header{padding:8px 0 24px;text-align:center}
.afterglow-body{padding:16px 0;line-height:1.9}
.afterglow .completion-msg{color:var(--saffron)}
.afterglow .ornament{color:var(--saffron);opacity:0.5}
.afterglow .nav{border-color:var(--saffron3)}
.afterglow .nav button.active{color:var(--saffron)}
.afterglow .nav button.active::after{background:var(--saffron)}

/* Converse tab */
.converse-container{padding:16px 0}
.converse-messages{min-height:120px;max-height:60vh;overflow-y:auto;padding:8px 0 16px;scrollbar-width:thin}
.converse-empty{padding:24px 0}
.converse-msg{padding:12px 0;animation:fadeUp 0.25s ease}
.converse-msg-label{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.converse-user .converse-msg-label{color:var(--text3)}
.converse-assistant .converse-msg-label{color:var(--saffron)}
.converse-msg-text{font-size:16px;line-height:1.8;color:var(--text2)}
.converse-user .converse-msg-text{color:var(--text)}
.converse-thinking{color:var(--saffron);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:0.3}50%{opacity:1}}
.converse-cursor{color:var(--saffron);animation:blink 0.8s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.converse-error{padding:12px 16px;font-family:var(--mono);font-size:12px;color:var(--amber);background:rgba(196,122,74,0.08);border-left:2px solid var(--amber);margin:12px 0}
.converse-input-area{display:flex;gap:8px;padding:8px 0;border-top:1px solid var(--border)}
.converse-input{flex:1;padding:10px 14px;font-family:var(--body);font-size:14px;background:var(--bg2);border:1px solid var(--border);color:var(--text);outline:none;resize:none;transition:border-color 0.2s;line-height:1.6}
.converse-input:focus{border-color:var(--saffron)}
.converse-input::placeholder{color:var(--text3)}
.converse-send{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--saffron);border:none;color:var(--bg);cursor:pointer;transition:background 0.2s;flex-shrink:0;align-self:flex-end}
.converse-send:hover{background:var(--saffron2)}
.converse-send:disabled{opacity:0.3;cursor:default}
.converse-turn-count{font-family:var(--mono);font-size:10px;color:var(--text3);text-align:center;padding:8px 0}
.converse-limit{text-align:center;padding:24px 0;font-family:var(--serif);font-size:16px;color:var(--saffron);font-style:italic;border-top:1px solid var(--border)}

/* Journal tab */
.journal-compose{margin-bottom:24px}
.journal-textarea{width:100%;padding:14px 18px;font-family:var(--body);font-size:14px;background:var(--bg2);border:1px solid var(--border);color:var(--text);outline:none;resize:vertical;min-height:100px;line-height:1.7;transition:border-color 0.2s}
.journal-textarea:focus{border-color:var(--saffron)}
.journal-textarea::placeholder{color:var(--text3)}
.journal-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}
.journal-crystallize{padding:8px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:none;border:1px solid var(--saffron3);color:var(--saffron);cursor:pointer;transition:all 0.2s}
.journal-crystallize:hover{background:var(--saffron3);color:var(--text)}
.journal-crystallize.disabled,.journal-crystallize:disabled{opacity:0.3;cursor:default}
.journal-crystallize.disabled:hover,.journal-crystallize:disabled:hover{background:none;color:var(--saffron)}
.journal-save{padding:8px 20px;font-family:var(--mono);font-size:11px;letter-spacing:0.5px;background:var(--saffron);border:none;color:var(--bg);cursor:pointer;transition:background 0.2s}
.journal-save:hover{background:var(--saffron2)}
.journal-save:disabled{opacity:0.3;cursor:default}
.journal-entries{border-top:1px solid var(--border);padding-top:20px}
.journal-entry{padding:16px 0;border-bottom:1px solid var(--border)}
.journal-entry:last-child{border-bottom:none}
.journal-entry-date{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--saffron);margin-bottom:6px}
.journal-entry-text{font-size:16px;line-height:1.8;color:var(--text2);white-space:pre-wrap}

/* Book badges (curated vs user-added) */
.book-badge{display:inline-block;padding:2px 8px;font-family:var(--mono);font-size:9px;letter-spacing:0.5px;text-transform:uppercase;border-radius:2px;vertical-align:middle;margin-left:4px}
.book-badge.curated{background:var(--accent3);color:var(--text)}
.book-badge.user-book{background:var(--saffron3);color:var(--text)}

/* Spoiler notice for user-added books */
.spoiler-notice{padding:10px 16px;font-family:var(--mono);font-size:11px;color:var(--amber);background:rgba(196,122,74,0.06);border-left:2px solid var(--amber3);margin-bottom:16px;line-height:1.6}

/* Temporal journal notice */
.temporal-notice{padding:10px 16px;font-family:var(--mono);font-size:11px;color:var(--saffron);background:rgba(212,148,58,0.06);border-left:2px solid var(--saffron3);margin-bottom:16px;line-height:1.6}

/* Thematic recommendations */
.whats-next{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}
.whats-next-title{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--text);margin-bottom:4px}
.whats-next-sub{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-bottom:16px}
.whats-next-item{display:block;padding:14px 18px;background:var(--bg2);border:1px solid transparent;box-shadow:0 1px 3px rgba(0,0,0,0.2),0 0 0 1px rgba(255,255,255,0.03);margin-bottom:6px;cursor:pointer;transition:all 0.2s;text-decoration:none;color:inherit}
.whats-next-item:hover{border-left:2px solid var(--saffron);box-shadow:0 2px 8px rgba(0,0,0,0.3)}
.whats-next-item-title{font-family:var(--serif);font-size:16px;font-weight:500;color:var(--text)}
.whats-next-item-author{font-family:var(--mono);font-size:11px;color:var(--text3);margin-top:2px}
.whats-next-item-reason{font-size:13px;color:var(--text2);margin-top:6px;line-height:1.6;font-style:italic}
.whats-next-loading{font-family:var(--mono);font-size:11px;color:var(--text3);padding:12px 0}

/* Momentum counter */
.momentum-counter{text-align:center;padding:32px 0 8px;border-top:1px solid var(--border);margin-top:24px}
.momentum-number{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--text2);display:block;line-height:1}
.momentum-label{font-family:var(--body);font-size:13px;font-style:italic;color:var(--text3)}

/* Library items — journal entry style */
.library-item{padding:20px 0;cursor:pointer;transition:all 0.2s}
.library-item:hover .library-item-title{color:var(--saffron)}
.library-item-title{font-family:var(--serif);font-size:19px;font-weight:300;font-style:italic;color:var(--text);transition:color 0.2s;line-height:1.3}
.library-item-author{font-family:var(--body);font-size:15px;font-weight:300;color:var(--text3);margin-top:2px}
.library-item-progress{font-family:var(--body);font-size:14px;color:var(--text3);font-style:italic;margin-top:6px}
.library-item-progress.finished{color:var(--green)}
.library-item-note{font-family:var(--body);font-size:14px;font-style:italic;color:var(--text2);padding-left:14px;border-left:2px solid var(--saffron3);margin-top:10px;line-height:1.6}
.library-item-note-meta{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:4px;padding-left:14px}
.library-divider{text-align:center;color:var(--text3);opacity:0.3;padding:4px 0;font-family:var(--serif);font-size:14px;letter-spacing:8px}

/* Chapter notes — inline marginalia */
.chapter-note{margin-top:16px;margin-bottom:16px}
.chapter-note textarea{width:100%;padding:10px 14px;font-family:var(--body);font-size:15px;font-style:italic;color:var(--text2);background:transparent;border:none;border-left:2px solid var(--saffron3);outline:none;resize:none;line-height:1.6;transition:min-height 0.2s}
.chapter-note textarea::placeholder{color:var(--text3);font-style:italic}
.chapter-note textarea:focus{min-height:72px}
.chapter-note-display{padding:10px 14px;font-family:var(--body);font-size:15px;font-style:italic;color:var(--text2);border-left:2px solid var(--saffron3);cursor:pointer;line-height:1.6;transition:background 0.15s}
.chapter-note-display:hover{background:rgba(212,148,58,0.04)}
.chapter-note-ts{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:4px;padding-left:14px}
.chapter-note-saved{font-family:var(--mono);font-size:10px;color:var(--saffron);padding-left:14px;margin-top:4px;animation:fadeUp 0.2s ease}

/* Notes tab */
.notes-tab{padding:24px 0;animation:fadeUp 0.35s ease}
.notes-tab-header{font-family:var(--serif);font-size:16px;font-weight:300;font-style:italic;color:var(--text3);margin-bottom:24px}
.notes-tab-empty{font-family:var(--serif);font-size:16px;font-weight:300;font-style:italic;color:var(--text3);text-align:center;padding:40px 20px}
.notes-tab-item{padding:16px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s}
.notes-tab-item:hover{background:rgba(212,148,58,0.04)}
.notes-tab-item:last-child{border-bottom:none}
.notes-tab-chapter{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--saffron);margin-bottom:4px}
.notes-tab-text{font-family:var(--body);font-size:16px;font-style:italic;color:var(--text2);line-height:1.6}
.notes-tab-text-toggle{font-family:var(--mono);font-size:10px;color:var(--saffron);cursor:pointer;margin-left:4px}
.notes-tab-ts{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:4px}

@media(max-width:600px){
  .app{padding:14px 14px 60px}
  .header{padding:32px 0 24px}
  .nav button{padding:11px 10px;font-size:10px}
  .card{padding:16px}
  .term-header{flex-direction:column;gap:2px}
  .term-short{text-align:left}
  .search-toggle button{padding:6px 12px;font-size:10px}
  .book-pill{width:38px;height:34px}
  .reading-toggles{flex-direction:column}
  .back-btn{display:inline}

  /* Hide full header on inner pages — saves ~180px of viewport */
  .inner-page .header{display:none}

  /* Tighter page heading on mobile */
  .page-heading{padding:4px 0 14px}
  .page-heading-title{font-size:clamp(24px,6vw,32px)}

  /* Compact breadcrumb */
  .breadcrumb{padding:12px 0 4px;font-size:10px;flex-wrap:nowrap;overflow:hidden}

  /* Chapter header stack on narrow screens */
  .chapter-header{flex-direction:column;gap:8px}
  .unlock-all-btn{align-self:flex-start}

  /* Tighter sections */
  .section{padding:24px 0 0}
  .section-title{font-size:24px}

  /* Larger touch target for reading items */
  .reading-item{padding:16px}
  .reading-item-x{min-width:40px;min-height:40px}

  /* Readable body text on mobile */
  .card-body,.know-text,.watch-text,.term-detail,.cast-role,.converse-msg-text,.journal-entry-text{font-size:17px}
  .section-desc{font-size:15px}

  /* Compact brand anchor on inner pages (instead of hiding entirely) */
  .inner-page .header{display:flex;padding:12px 0;border-bottom:1px solid var(--border);align-items:center;justify-content:center;gap:8px}
  .inner-page .header h1{font-size:18px;margin:0}
  .inner-page .header-pre,.inner-page .header-devanagari,.inner-page .header-sub,.inner-page .header-meaning{display:none}

  /* Library mobile */
  .library-item-title{font-size:17px}
  .library-section-title{font-size:18px}
  .library-item{padding:16px 0}
  .library-empty{padding:60px 16px}
}
