:root{--bg:#0a0a0c;--bg-surface:#111116;--bg-elevated:#1a1a22;--border:#2a2a35;--text:#e8e8ed;--text-muted:#8888a0;--text-dim:#555568;--accent:#7c6fea;--accent-dim:#5a4fc4;--accent-glow:rgba(124,111,234,.15);--source-bg:#12121a;--source-border:#252535;--font-mono:"SF Mono","Fira Code","Cascadia Code",monospace;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.nav-bar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--bg-surface);border-bottom:1px solid var(--border);justify-content:space-between;padding:0 24px;z-index:100}.nav-bar,.nav-wordmark{display:flex;align-items:center}.nav-wordmark{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:.08em;gap:8px}.nav-logo{width:24px;height:24px}.nav-links{display:flex;gap:4px}.nav-link{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;color:var(--text-muted);text-decoration:none;font-family:var(--font-mono);font-size:13px;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--bg-elevated)}.nav-link-active{color:var(--accent);background:var(--accent-glow)}.nav-link svg{flex-shrink:0}.nav-link-utility{margin-left:8px;padding-left:12px;border-left:1px solid var(--border);color:var(--text-dim);font-size:12px;letter-spacing:.03em}.nav-link-utility svg{opacity:.6}.nav-link-utility:hover{color:var(--text-muted);background:transparent}.nav-link-utility:hover svg{opacity:.85}.nav-link-utility.nav-link-active{color:var(--text-muted);background:transparent;border-left-color:var(--text-dim)}.nav-link-utility.nav-link-active svg{opacity:1}@media (max-width:640px){.nav-link-label{display:none}.nav-link{padding:8px 10px}.nav-bar{padding:0 12px}}.main-content{padding-top:56px;min-height:100vh}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 56px);max-width:800px;margin:0 auto;padding:0}.messages{flex:1 1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:20px}.messages:empty:after{content:"";display:block}.message{max-width:100%;animation:fadeIn .2s ease-out}.message-user{align-self:flex-end;max-width:80%}.message-user .message-content{background:var(--accent-dim);color:var(--text);border-radius:16px 16px 4px 16px;padding:10px 16px}.message-assistant .message-content{color:var(--text);padding:4px 0;line-height:1.7}.message-assistant .message-content p{margin-bottom:12px}.message-assistant .message-content p:last-child{margin-bottom:0}.message-assistant .message-content strong{font-weight:600}.message-assistant .message-content em{font-style:italic}.message-assistant .message-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color .15s}.message-assistant .message-content a:hover{color:#f0f0f5}.message-assistant .message-content code{font-family:var(--font-mono);font-size:13px;background:var(--bg-elevated);padding:2px 6px;border-radius:4px;border:1px solid var(--border)}.citation{font-family:var(--font-mono);font-size:12px;color:var(--accent);background:var(--accent-glow);padding:2px 6px;border-radius:4px;cursor:default}.message-streaming{line-height:1.7}.streaming-cursor-container{padding:4px 0}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:cursor-breathe 1.6s ease-in-out infinite;box-shadow:0 0 4px var(--accent)}.streaming-cursor.fading{opacity:0;transition:opacity .3s ease-out}@keyframes cursor-breathe{0%,to{opacity:.4;box-shadow:0 0 2px var(--accent)}50%{opacity:1;box-shadow:0 0 8px var(--accent)}}.sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.source-card{position:relative;background:var(--source-bg);border:1px solid var(--source-border);border-radius:8px;padding:10px 14px;font-size:12px;flex:1 1;min-width:200px;max-width:300px;display:flex;gap:10px;align-items:flex-start}.source-card-linked{text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.source-card-linked:hover{border-color:var(--accent-dim);background:#16161f}.source-cover-thumb{width:48px;height:72px;border-radius:4px;overflow:hidden;flex-shrink:0}.source-cover-thumb img{width:100%;height:100%;object-fit:cover}.source-card-text{flex:1 1;min-width:0}.source-card .source-title{font-weight:600;color:var(--text);margin-bottom:2px}.source-card .source-author{color:var(--text-muted);font-size:11px}.source-card .source-chapter{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-physical{color:#4ade80;font-size:9px;margin-left:6px;vertical-align:middle}.source-acquire{position:absolute;bottom:8px;right:8px;font-size:11px;line-height:1;color:var(--text-dim);background:none;border:none;padding:2px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.source-card:hover .source-acquire{opacity:1}.source-acquire:hover{color:var(--accent)}.follow-up-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);animation:fade-in .3s ease}.follow-up-pill{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:7px 16px;font-family:var(--font-mono);font-size:13px;color:#aaaabc;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:left}.follow-up-pill:hover{background:#1a1a24;border-color:var(--accent-dim);color:#dddde8}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tool-book-card{display:flex;gap:12px;align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:12px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s;max-width:360px}.tool-book-card:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.tool-book-cover{width:52px;height:78px;border-radius:4px;overflow:hidden;flex-shrink:0}.tool-book-cover img{width:100%;height:100%;object-fit:cover}.tool-book-info{flex:1 1;min-width:0}.tool-book-title{font-weight:600;font-size:14px;color:var(--text);margin-bottom:2px}.tool-book-author{font-size:12px;color:var(--text-muted);margin-bottom:6px}.tool-book-genres{display:flex;flex-wrap:wrap;gap:4px}.tool-book-genre-tag{color:var(--text-dim);background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:10px;padding:2px 8px}.tool-book-genre-tag,.tool-book-type-tag{font-size:10px;font-family:var(--font-mono)}.tool-book-type-tag{color:var(--accent-dim);margin-top:4px;display:inline-block}.tool-quote-block{border-left:3px solid var(--accent-dim);margin:12px 0;padding:10px 16px;background:hsla(0,0%,100%,.02);border-radius:0 8px 8px 0}.tool-quote-text{font-family:var(--font-mono);font-size:13px;font-style:italic;color:var(--text);line-height:1.6;margin:0 0 8px}.tool-quote-attribution{font-size:12px;color:var(--text-dim)}.tool-concept-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:12px;max-width:400px}.tool-concept-header{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;margin-bottom:6px}.tool-concept-header:hover .tool-concept-label{color:var(--accent-dim)}.tool-concept-label{font-weight:600;font-size:14px;color:var(--text);transition:color .15s}.tool-concept-arrow{color:var(--text-dim);font-size:14px}.tool-concept-desc{font-size:12px;color:var(--text-muted);line-height:1.5;margin:0 0 8px}.tool-concept-related{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.tool-concept-pill{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);background:hsla(0,0%,100%,.04);border:1px solid var(--border);border-radius:12px;padding:2px 10px;text-decoration:none;transition:border-color .15s,color .15s}.tool-concept-pill:hover{border-color:var(--accent-dim);color:var(--text-muted)}.tool-concept-works{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.tool-concept-evolution{font-size:12px;color:var(--text-muted);font-style:italic;margin:6px 0 0;line-height:1.5}.tool-path-steps{margin-top:12px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px}.tool-path-label{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.tool-path-chain{gap:0}.tool-path-chain,.tool-path-step-group{display:flex;flex-direction:column}.tool-path-node{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;text-decoration:none;color:inherit;transition:background .15s}.tool-path-node-type,.tool-path-node:hover{background:hsla(0,0%,100%,.04)}.tool-path-node-type{font-size:9px;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;border-radius:4px;padding:1px 6px;flex-shrink:0}.tool-path-node-label{font-size:13px;color:var(--text)}.tool-path-edge{display:flex;align-items:center;gap:8px;padding:2px 10px 2px 18px}.tool-path-connector{width:1px;height:16px;background:var(--border);flex-shrink:0}.tool-path-edge-label{font-size:11px;color:var(--text-dim);font-style:italic}.tool-reading-path{margin-top:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tool-reading-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tool-reading-concept{font-weight:600;font-size:14px;color:var(--text)}.tool-reading-count{font-size:11px;font-family:var(--font-mono);color:var(--text-dim)}.tool-reading-sequence{display:flex;gap:6px;align-items:center;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tool-reading-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.tool-reading-book{display:flex;flex-direction:column;padding:8px 12px;background:hsla(0,0%,100%,.02);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;min-width:120px;max-width:160px;transition:border-color .15s}.tool-reading-book:hover{border-color:var(--accent-dim)}.tool-reading-year{font-size:10px;font-family:var(--font-mono);color:var(--text-dim)}.tool-reading-title{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-reading-author{font-size:11px;color:var(--text-muted)}.tool-reading-edge{font-size:10px;color:var(--text-dim);font-style:italic;max-width:100px;text-align:center}.tool-reading-arrow{color:var(--text-dim);font-size:14px;flex-shrink:0}.tool-action-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);animation:fade-in .3s ease}.tool-action-pill{display:inline-flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:7px 16px;font-family:var(--font-mono);font-size:13px;color:#aaaabc;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:left;text-decoration:none}.tool-action-pill:hover{background:#1a1a24;border-color:var(--accent-dim);color:#dddde8}.tool-action-icon{font-size:12px;line-height:1}.tool-skeleton{margin-top:10px;padding:6px 0;display:flex;align-items:center;gap:8px}.tool-skeleton-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:tool-skeleton-blink 1.2s ease-in-out infinite;flex-shrink:0}.tool-skeleton-text{font-size:13px;color:var(--text-muted);font-style:italic}@keyframes tool-skeleton-blink{0%,to{opacity:.3}50%{opacity:1}}.input-area{padding:16px 24px 24px;border-top:1px solid var(--border);flex-shrink:0}.input-form{display:flex;gap:8px;align-items:flex-end}.input-wrapper{flex:1 1;position:relative}.input-field{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5;resize:none;outline:none;min-height:48px;max-height:200px;transition:border-color .15s}.input-field:focus{border-color:var(--accent-dim)}.input-field::placeholder{color:var(--text-dim)}.send-button{background:var(--accent);color:#fff;border:none;border-radius:10px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,opacity .15s;flex-shrink:0}.send-button:hover{background:var(--accent-dim)}.send-button:disabled{opacity:.4;cursor:not-allowed}.send-button svg{width:18px;height:18px}.loading-dots{display:flex;gap:4px;padding:8px 0}.loading-dots span{width:6px;height:6px;background:var(--text-dim);border-radius:50%;animation:dot-pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.status-indicator{display:flex;align-items:center;gap:10px;padding:12px 0;animation:fadeIn .3s ease-out}.status-indicator.fading-out{animation:statusFadeOut .3s ease-out forwards}.status-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-dim);animation:breathe 1.5s ease-in-out infinite}.status-message{font-size:13px;color:var(--text-dim)}.status-topics{color:var(--text-muted)}.block-reveal{animation:blockReveal .4s ease-out both}@keyframes blockReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-reveal{animation:cardReveal .35s cubic-bezier(.16,1,.3,1) both}@keyframes cardReveal{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes statusFadeOut{to{opacity:0;transform:translateY(-4px)}}.welcome{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.welcome h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.welcome p{color:var(--text-muted);max-width:460px;font-size:14px;margin-bottom:24px}.welcome-prompts{display:flex;flex-direction:column;gap:8px;width:100%;max-width:460px}.welcome-prompt{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;text-align:left;color:var(--text-muted);font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}.welcome-prompt:hover{border-color:var(--accent-dim);color:var(--text)}.hyperstition-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-top:16px}.hyperstition-panel h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--accent)}.hyperstition-modes{display:flex;gap:8px;margin-bottom:16px}.mode-button{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .15s}.mode-button.active,.mode-button:hover{border-color:var(--accent-dim);color:var(--text)}.mode-button.active{background:var(--accent-glow)}.theme-tag{display:inline-block;font-size:11px;padding:2px 10px;border-radius:12px;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;text-transform:capitalize}.theme-tag-genre{border-color:var(--accent-dim);background:var(--accent-glow)}.theme-tag-genre,.theme-tag-work{color:var(--accent)}.theme-tag-theme{color:var(--text-dim)}.book-cover{display:block;position:relative;border-radius:6px;overflow:hidden;flex-shrink:0}.book-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.book-cover-medium{width:100%;aspect-ratio:2/3}.book-cover-small{width:120px;height:180px}.book-cover-large{width:240px;height:360px}.book-cover-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,transparent 60%);z-index:1}.book-cover:has(.book-cover-image) .book-cover-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,transparent)}.book-cover-year{position:absolute;top:8px;right:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:rgba(0,0,0,.5);padding:2px 6px;border-radius:4px;border:1px solid transparent}.book-cover-info{display:flex;flex-direction:column;gap:2px}.book-cover-title{font-size:12px;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-cover-author{font-size:10px;color:var(--text-muted)}.book-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;border-radius:8px;transition:transform .15s,box-shadow .15s}.book-card:hover{transform:translateY(-2px)}.book-card:hover .book-cover{box-shadow:0 4px 20px rgba(124,111,234,.15)}.book-card-compact{flex-shrink:0}.book-card-meta{display:flex;flex-direction:column;gap:4px;padding:0 2px}.book-card-title{font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card-author{font-size:12px;color:var(--text-muted)}.book-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.book-card-type-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:3px;background:rgba(78,205,196,.15);color:#4ecdc4;border:1px solid rgba(78,205,196,.25)}.archive-page{max-width:1200px;margin:0 auto;padding:32px 24px}.archive-header{margin-bottom:24px}.archive-header h1{font-family:var(--font-display),var(--font-sans);font-size:clamp(24px,3.5vw,36px);font-weight:400;font-variation-settings:"WONK" 1,"opsz" 36;color:#f0f0f5}.archive-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.archive-controls{display:flex;gap:12px;margin-bottom:16px}.archive-search{flex:1 1;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s;font-family:var(--font-sans)}.archive-search:focus{border-color:var(--accent-dim)}.archive-search::placeholder{color:var(--text-dim)}.archive-sort{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:13px;outline:none;cursor:pointer;font-family:var(--font-sans)}.archive-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.filter-group{display:flex;flex-wrap:wrap;gap:6px}.filter-pill{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .15s;text-transform:capitalize;font-family:var(--font-sans)}.filter-pill:hover{border-color:var(--accent-dim);color:var(--text)}.filter-pill-active{background:var(--accent-glow);border-color:var(--accent-dim);color:var(--accent)}.filter-pill-more{font-style:italic;opacity:.6}.filter-pill-more:hover{opacity:1}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:24px;gap:24px}.archive-empty{grid-column:1/-1;text-align:center;color:var(--text-dim);padding:60px 0;font-size:14px}.book-detail{max-width:900px;padding:32px 24px}.book-detail-back{display:inline-block;color:var(--text-muted);text-decoration:none;font-size:13px;margin-bottom:24px;transition:color .15s}.book-detail-back:hover{color:var(--accent)}.book-detail-hero{display:flex;gap:32px;margin-bottom:40px}.book-detail-info{flex:1 1;min-width:0}.book-detail-info h1{font-size:28px;letter-spacing:-.02em;margin-bottom:4px}.book-detail-author{font-size:16px;color:var(--text-muted)}.book-detail-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.meta-row{display:flex;align-items:center;gap:12px;font-size:14px}.meta-label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.05em;min-width:100px}.status-badge{font-size:12px;padding:2px 10px;border-radius:12px;text-transform:capitalize}.status-core{background:var(--accent-glow);color:var(--accent)}.status-supplementary{background:var(--bg-elevated);color:var(--text-muted)}.book-detail-tags{margin-bottom:12px}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.book-detail-section{margin-bottom:36px}.book-detail-section h2{font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.book-detail-placeholder{color:var(--text-dim);font-size:14px;font-style:italic}.chapters-list{display:flex;flex-direction:column;gap:2px}.chapter-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;font-size:14px;transition:background .1s}.chapter-row:hover{background:var(--bg-surface)}.chapter-num{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);min-width:28px}.chapter-title{flex:1 1}.chapter-words{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.related-works{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}@media (max-width:640px){.book-detail-hero{flex-direction:column;align-items:center}.book-detail-author,.book-detail-info h1{text-align:center}}.acquire-section{margin-bottom:0}.acquire-links{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.acquire-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-surface);text-decoration:none;transition:background .15s}.acquire-link:hover{background:var(--bg-elevated)}.acquire-link:hover .acquire-arrow{color:var(--accent);transform:translateX(2px)}.acquire-store{display:flex;flex-direction:column;gap:2px;min-width:0}.acquire-store-name{font-size:14px;font-weight:600;color:var(--text)}.acquire-store-note{font-size:12px;color:var(--text-dim)}.acquire-arrow{font-size:14px;color:var(--text-dim);transition:color .15s,transform .15s;flex-shrink:0}@media (max-width:640px){.acquire-link{padding:10px 14px}.acquire-store-note{display:none}}.explore-page{display:flex;flex-direction:column;height:calc(100vh - 56px);overscroll-behavior:contain}.explore-header{padding:24px 24px 16px;flex-shrink:0}.explore-header h1{font-size:28px;font-weight:700;letter-spacing:-.02em}.explore-subtitle{display:none}.graph-container{flex:1 1;position:relative;overflow:hidden}.graph-canvas{width:100%;height:100%;cursor:-webkit-grab;cursor:grab;touch-action:none}.graph-detail-panel{position:absolute;top:16px;right:16px;width:320px;max-height:calc(100% - 80px);display:flex;flex-direction:column;background:rgba(10,10,16,.85);border:1px solid rgba(124,111,234,.12);border-radius:14px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.03);animation:slideIn .25s ease-out}.graph-detail-panel>*{flex-shrink:0}.graph-detail-panel h3{font-size:16px;font-weight:600;margin-bottom:8px;padding-right:24px}.graph-detail-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px;line-height:1}.graph-detail-close:hover{color:var(--text)}.graph-detail-author{color:var(--text-muted);font-size:13px;margin-top:8px}.graph-detail-year{color:var(--text-dim);font-size:12px;font-family:var(--font-mono)}.graph-detail-link{display:inline-block;margin-top:12px;color:var(--accent);font-size:13px;text-decoration:none}.graph-detail-link:hover{text-decoration:underline}.hyperstition-page{max-width:800px;margin:0 auto;padding:32px 24px}.hyperstition-page-header{margin-bottom:8px}.hyperstition-page-header h1{font-size:28px;font-weight:700;letter-spacing:-.02em}.hyperstition-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.hyperstition-output{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:20px;animation:fadeIn .2s ease-out}.hyperstition-output .message-content{line-height:1.7}.hyperstition-output .message-content p{margin-bottom:12px}.hyperstition-output .message-content p:last-child{margin-bottom:0}.hyperstition-error{background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.3);border-radius:8px;padding:12px 16px;margin-top:16px;color:#ff6b6b;font-size:14px}.book-cover-physical{position:absolute;top:8px;left:8px;color:#4ade80;font-size:10px;line-height:1;text-shadow:0 0 6px rgba(74,222,128,.4);z-index:1}.filter-pill-physical.filter-pill-active{color:#4ade80;border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.08)}.physical-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.physical-toggle:hover{border-color:var(--text-dim);color:var(--text-muted)}.physical-toggle-active{color:#4ade80;border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.08)}.physical-toggle-active:hover{border-color:rgba(74,222,128,.6);color:#4ade80}.physical-toggle:disabled{opacity:.5;cursor:not-allowed}.physical-toggle-diamond{font-size:8px;line-height:1}.fetch-input{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s}.fetch-input:focus{border-color:var(--accent-dim)}.fetch-input::placeholder{color:var(--text-dim)}.fetch-input:disabled{opacity:.5}.fetch-actions{gap:12px;margin-top:12px}.fetch-actions,.fetch-button{display:flex;align-items:center}.fetch-button{gap:8px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;font-family:var(--font-sans)}.fetch-button:hover{background:var(--accent-dim)}.fetch-button:disabled{opacity:.4;cursor:not-allowed}.fetch-button-cancel{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.fetch-button-cancel:hover{color:var(--text);border-color:var(--text-dim);background:var(--bg-elevated)}.fetch-hint{color:var(--text-dim);font-size:12px}.fetch-log{margin-top:24px;display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.fetch-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-surface);font-size:13px}.fetch-item-indicator{width:18px;text-align:center;flex-shrink:0;font-family:var(--font-mono);font-size:14px}.fetch-item-done .fetch-item-indicator{color:#4ade80}.fetch-item-failed .fetch-item-indicator{color:#f87171}.fetch-item-skipped .fetch-item-indicator{color:var(--text-dim)}.fetch-item-partial .fetch-item-indicator{color:#fbbf24}.fetch-item-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.fetch-item-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fetch-item-author{color:var(--text-dim)}.fetch-item-author,.fetch-item-status{font-size:12px;white-space:nowrap;flex-shrink:0}.fetch-item-status{margin-left:auto;color:var(--text-muted)}.fetch-item-match,.fetch-item-reason{color:var(--text-dim)}.fetch-item-match{font-family:var(--font-mono);font-size:11px}.fetch-summary{display:flex;gap:12px;margin-top:16px;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px}.fetch-stat{font-size:13px;font-weight:600}.fetch-stat-done{color:#4ade80}.fetch-stat-skipped{color:var(--text-dim)}.fetch-stat-failed{color:#f87171}@keyframes spin{to{transform:rotate(1turn)}}.pipeline-page{max-width:900px;margin:0 auto;padding:32px 24px}.pipeline-header{margin-bottom:24px}.pipeline-header h1{font-size:28px;font-weight:700;letter-spacing:-.02em}.pipeline-subtitle{color:var(--text-muted);font-size:14px;margin-top:4px}.pipeline-loading{color:var(--text-dim);font-size:14px;padding:40px 0;text-align:center}.pipeline-overview{display:flex;gap:12px;margin-bottom:20px}.pipeline-stat{flex:1 1;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.pipeline-stat-value{display:block;font-size:24px;font-weight:700;font-family:var(--font-mono)}.pipeline-stat-label{display:block;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.pipeline-stat-complete .pipeline-stat-value{color:#4ade80}.pipeline-stat-partial .pipeline-stat-value{color:#fbbf24}.pipeline-stat-error .pipeline-stat-value{color:#f87171}.pipeline-readonly-banner{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:#fbbf24;padding:8px 16px;border-radius:4px;font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}.pipeline-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pipeline-scan-status{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.pipeline-filters{display:flex;gap:6px;margin-left:auto}.pipeline-table{background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;gap:1px}.pipeline-table-header{display:flex;align-items:center;padding:8px 14px;background:var(--bg-elevated);font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.pipeline-row{display:flex;align-items:center;padding:10px 14px;background:var(--bg-surface);font-size:13px;transition:background .1s}.pipeline-row:hover{background:var(--bg-elevated)}.pipeline-col-book{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.pipeline-book-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-book-author{font-size:12px;color:var(--text-dim)}.pipeline-col-stage{width:72px;text-align:center;flex-shrink:0}.pipeline-col-status{width:80px;text-align:right;flex-shrink:0}.pipeline-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:13px;background:var(--bg-surface)}.pipeline-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:14px;font-weight:600}.pipeline-dot-done{color:#4ade80;background:rgba(74,222,128,.1)}.pipeline-dot-failed{color:#f87171;background:hsla(0,91%,71%,.1)}.pipeline-dot-running{color:var(--accent);background:var(--accent-glow)}.pipeline-dot-pending{color:var(--text-dim)}.pipeline-badge{font-size:11px;padding:2px 8px;border-radius:10px;text-transform:capitalize;font-weight:500}.pipeline-badge-complete{color:#4ade80;background:rgba(74,222,128,.1)}.pipeline-badge-partial{color:#fbbf24;background:rgba(251,191,36,.1)}.pipeline-badge-pending{color:var(--text-dim);background:var(--bg-elevated)}.pipeline-badge-error{color:#f87171;background:hsla(0,91%,71%,.1)}.pipeline-badge-running{color:var(--accent);background:var(--accent-glow)}.pipeline-logs{margin-top:24px}.pipeline-logs-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:color .15s,border-color .15s;font-family:var(--font-sans);width:100%;text-align:left}.pipeline-logs-toggle:hover{color:var(--text);border-color:var(--text-dim)}.pipeline-log-entries{margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:300px;overflow-y:auto}.pipeline-log-entry{display:flex;gap:8px;padding:6px 12px;font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border)}.pipeline-log-entry:last-child{border-bottom:none}.pipeline-log-time{color:var(--text-dim);flex-shrink:0}.pipeline-log-stage{color:var(--accent);flex-shrink:0}.pipeline-log-book{color:var(--text-muted);flex-shrink:0;max-width:140px}.pipeline-log-book,.pipeline-log-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-log-msg{color:var(--text);flex:1 1;min-width:0}.pipeline-log-dur{color:var(--text-dim);flex-shrink:0}.pipeline-log-done .pipeline-log-msg{color:#4ade80}.pipeline-log-failed .pipeline-log-msg{color:#f87171}.pipeline-dot-clickable{border:none;font-family:inherit;cursor:pointer;transition:transform .1s,box-shadow .1s}.pipeline-dot-clickable:hover:not(:disabled){transform:scale(1.25);box-shadow:0 0 8px rgba(124,111,234,.3)}.pipeline-dot-clickable:disabled{cursor:not-allowed;opacity:.5}.pipeline-badge-stale,.pipeline-dot-stale{color:#f0a500;background:rgba(240,165,0,.1)}.book-detail-stale-warning{margin-top:12px;padding:8px 14px;border-radius:8px;background:rgba(240,165,0,.08);border:1px solid rgba(240,165,0,.25);color:#f0a500;font-size:13px}.book-detail-stale-warning a{color:#f0a500;text-decoration:underline}.pipeline-operations{margin-top:28px}.pipeline-operations-title{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}.pipeline-op-cards{display:flex;gap:10px;flex-wrap:wrap}.pipeline-op-card{flex:1 1;min-width:200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.pipeline-op-info{display:flex;flex-direction:column;gap:3px}.pipeline-op-label{font-weight:600;font-size:13px;color:var(--text)}.pipeline-op-desc{font-size:12px;color:var(--text-dim);line-height:1.4}.pipeline-op-actions{display:flex;gap:6px}.pipeline-op-btn{flex:1 1;padding:6px 12px;border-radius:6px;border:1px solid var(--accent-dim);background:var(--accent-glow);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;font-family:var(--font-sans);text-transform:capitalize}.pipeline-op-btn:hover:not(:disabled){background:rgba(124,111,234,.25);color:var(--text)}.pipeline-op-btn:disabled{opacity:.4;cursor:not-allowed}.pipeline-op-output{margin-top:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;max-height:200px;overflow-y:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.pipeline-op-output-line{padding:1px 0;white-space:pre-wrap;word-break:break-all}.membership-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.membership-modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:28px 32px;max-width:400px;width:100%;margin:0 16px}.membership-modal-body{font-size:14px;color:var(--text-muted);line-height:1.7;margin:0 0 24px}.membership-modal-actions{display:flex;gap:12px;justify-content:flex-end}.membership-modal-signin{font-size:13px;padding:8px 20px;border-radius:8px;background:var(--accent);color:var(--bg);text-decoration:none;font-weight:600;transition:opacity .15s}.membership-modal-signin:hover{opacity:.85}.membership-modal-close{font-size:13px;padding:8px 16px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:border-color .15s}.membership-modal-close:hover{border-color:var(--text-muted)}.pipeline-estimate-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pipeline-estimate-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:24px 28px;max-width:440px;width:100%}.pipeline-estimate-title{font-size:15px;font-weight:700;margin:0 0 16px;color:var(--text)}.pipeline-estimate-details{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:16px}.pipeline-estimate-cost{font-size:14px;color:var(--text);margin-top:6px}.pipeline-estimate-model{font-size:11px;color:var(--text-dim)}.pipeline-estimate-breakdown{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:4px}.pipeline-estimate-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.pipeline-estimate-actions{display:flex;gap:8px;margin-top:4px}.pipeline-op-btn-cancel{background:transparent;border-color:var(--border);color:var(--text-muted)}.pipeline-op-btn-cancel:hover{background:hsla(0,0%,100%,.05);color:var(--text)}.pipeline-usage-summary{display:flex;gap:16px;margin-bottom:14px}.pipeline-usage-breakdown{display:flex;flex-direction:column;gap:4px}.pipeline-usage-row{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted);padding:4px 0;border-bottom:1px solid var(--border)}.pipeline-usage-op{font-weight:600;color:var(--text);min-width:100px}.pipeline-usage-calls{min-width:70px;color:var(--text-dim)}.pipeline-usage-tokens{min-width:90px;font-family:var(--font-mono);font-size:11px}.pipeline-usage-cost{font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:600}.sync-table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-mono);margin-bottom:12px}.sync-table th{text-align:left;color:var(--text-muted);font-weight:500;font-size:11px;padding:4px 12px 4px 0;border-bottom:1px solid var(--border)}.sync-table td{padding:4px 12px 4px 0;color:var(--text)}.sync-delta-pos{color:#4ade80}.sync-delta-neg{color:#f87171}.sync-diff-lines{margin-bottom:12px;font-size:12px;font-family:var(--font-mono)}.sync-diff-line{padding:2px 0}.sync-diff-add{color:#4ade80}.sync-diff-remove{color:#f87171}.sync-diff-change{color:#facc15}.sync-confirm-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.25);border-radius:8px;font-size:13px;margin-bottom:8px}.sync-actions{display:flex;gap:8px;flex-wrap:wrap}.sync-success{color:#4ade80;font-size:13px;margin-top:8px}.sync-snapshot-path{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.sync-error{color:#f87171;font-size:13px;margin-bottom:8px}.model-config-toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;gap:8px}.model-config-toggle:hover{color:var(--accent)}.model-config-arrow{font-size:11px;color:var(--text-dim);transition:color .15s}.model-config-toggle:hover .model-config-arrow{color:var(--accent)}.model-config-env-badge{font-size:10px;font-weight:600;background:var(--accent-dim);color:#fff;padding:1px 6px;border-radius:3px;letter-spacing:.5px}.model-config-content{margin-top:8px}.model-config-env-banner{font-size:12px;color:var(--accent);background:var(--accent-glow);padding:8px 12px;border-radius:6px;margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.model-config-env-banner code{font-family:var(--font-mono);font-size:11px;background:hsla(0,0%,100%,.06);padding:2px 6px;border-radius:3px}.model-config-services{display:flex;gap:8px;margin-bottom:16px}.model-config-service{font-size:11px;font-weight:600;padding:3px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.model-config-service-ok{background:rgba(80,200,120,.12);color:#50c878;border:1px solid rgba(80,200,120,.2)}.model-config-service-missing{background:hsla(0,100%,70%,.08);color:var(--text-dim);border:1px solid var(--border)}.model-config-category{margin-bottom:18px}.model-config-category-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.model-config-table{display:flex;flex-direction:column}.model-config-header{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.model-config-header,.model-config-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.model-config-row{font-size:12px;padding:6px 0;color:var(--text-muted)}.model-config-row-overridden{background:var(--accent-glow);border-radius:4px;padding:6px 8px}.model-config-col-task{flex:2 1;min-width:0;display:flex;flex-direction:column;gap:1px}.model-config-task-name{font-weight:600;color:var(--text);font-size:12px}.model-config-task-desc{font-size:11px;color:var(--text-dim)}.model-config-col-model{flex:1.5 1;min-width:0;display:flex;align-items:center;gap:6px}.model-config-col-model code{font-family:var(--font-mono);font-size:11px;color:var(--accent)}.model-config-override-badge{font-size:9px;background:var(--accent-dim);color:#fff;padding:1px 5px;border-radius:3px}.model-config-col-temp{width:50px;text-align:center;font-family:var(--font-mono);font-size:11px}.model-config-col-tokens{width:90px;text-align:right;font-family:var(--font-mono);font-size:11px}.model-config-dim{margin-left:4px;color:var(--text-dim);font-size:10px}.model-config-col-cost{width:110px;text-align:right;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.model-config-header .model-config-col-cost,.model-config-header .model-config-col-temp,.model-config-header .model-config-col-tokens{text-align:center}.model-config-row-wrap{display:flex;flex-direction:column}.model-config-row-clickable{cursor:pointer;transition:background .15s}.model-config-row-clickable:hover{background:hsla(0,0%,100%,.02)}.model-config-notes-icon{font-size:9px;color:var(--text-dim);margin-right:4px}.model-config-notes{font-size:12px;line-height:1.5;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:10px 14px;margin:2px 0 6px}.model-config-footer{margin-top:16px;font-size:11px;color:var(--text-dim)}.model-config-footer code{font-family:var(--font-mono);font-size:10px;background:hsla(0,0%,100%,.04);padding:1px 5px;border-radius:3px}.pipeline-timeline{margin-top:28px}.pipeline-timeline-title{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}.pipeline-timeline-filters{display:flex;gap:8px;margin-bottom:10px}.pipeline-timeline-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;color:var(--text-muted);font-family:var(--font-sans);cursor:pointer}.pipeline-timeline-select:focus{outline:none;border-color:var(--accent-dim)}.pipeline-timeline-entries{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:360px;overflow-y:auto}.pipeline-timeline-entry{display:flex;gap:8px;align-items:center;padding:6px 12px;font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border)}.pipeline-timeline-entry:last-child{border-bottom:none}.pipeline-timeline-time{color:var(--text-dim);flex-shrink:0;min-width:52px}.pipeline-timeline-badge{flex-shrink:0;font-size:10px;padding:1px 7px;border-radius:8px}.pipeline-timeline-book{color:var(--text-muted);flex-shrink:0;max-width:140px}.pipeline-timeline-book,.pipeline-timeline-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-timeline-msg{color:var(--text);flex:1 1;min-width:0}.pipeline-timeline-dur{color:var(--text-dim);flex-shrink:0}@media (max-width:640px){.pipeline-overview{flex-wrap:wrap}.pipeline-stat{min-width:calc(50% - 8px)}.pipeline-controls{flex-wrap:wrap}.pipeline-filters{margin-left:0}.pipeline-op-cards{flex-direction:column}.pipeline-timeline-filters{flex-wrap:wrap}}.chapter-row-wrapper{border-radius:6px;transition:background .15s}.chapter-row-wrapper.chapter-row-expanded{background:var(--bg-surface);margin-bottom:4px}.chapter-concept-badge{font-family:var(--font-mono);font-size:10px;background:var(--accent-dim);color:var(--text);padding:1px 6px;border-radius:8px;flex-shrink:0}.chapter-expand-icon{font-size:10px;color:var(--text-dim);flex-shrink:0;width:16px;text-align:center}.chapter-detail{padding:8px 12px 16px 52px;display:flex;flex-direction:column;gap:12px;animation:fadeIn .15s ease-out}.chapter-summary{font-size:14px;color:var(--text-muted);line-height:1.6}.chapter-concepts{display:flex;flex-wrap:wrap;gap:6px}.concept-tag{font-family:var(--font-mono);font-size:12px;color:var(--accent);background:var(--accent-glow);padding:3px 10px;border-radius:4px;text-decoration:none;transition:background .1s}.concept-tag:hover{background:var(--accent-dim);color:var(--text)}.chapter-passages{display:flex;flex-direction:column;gap:8px}.passage-card{border-left:2px solid var(--border);padding-left:12px}.passage-card blockquote{font-size:13px;color:var(--text);font-style:italic;line-height:1.6;margin-bottom:4px}.passage-card cite{font-size:12px;color:var(--text-dim);font-style:normal}.chapter-themes{display:flex;flex-wrap:wrap;gap:6px}.chapter-theme-tag{font-size:11px;color:var(--text-dim);border:1px solid var(--border);padding:2px 8px;border-radius:3px}.concepts-page{max-width:960px;margin:0 auto;padding:32px 24px}.concepts-page h1{font-size:28px;font-weight:700;margin-bottom:8px}.concepts-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:32px}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.concept-index-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:border-color .15s,background .15s}.concept-index-card:hover{border-color:var(--accent-dim);background:var(--bg-elevated)}.concept-index-label{font-family:var(--font-mono);font-size:14px;color:var(--accent);font-weight:600}.concept-index-desc{font-size:13px;color:var(--text-muted);line-height:1.5}.concept-index-count{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.concept-detail-page{max-width:720px;margin:0 auto;padding:32px 24px}.concept-detail-page h1{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--accent);margin-bottom:8px}.concept-detail-desc{font-size:15px;color:var(--text-muted);margin-bottom:4px}.concept-detail-stats{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);margin-bottom:32px}.concept-appearances{display:flex;flex-direction:column;gap:24px}.concept-book-group h2{font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.concept-book-group h2 a{color:var(--text);text-decoration:none}.concept-book-group h2 a:hover{color:var(--accent)}.concept-book-author{font-weight:400;color:var(--text-dim);font-size:13px;margin-left:8px}.concept-chapter-list{display:flex;flex-direction:column;gap:12px}.concept-chapter-item{padding-left:16px;border-left:2px solid var(--border)}.concept-chapter-title{font-size:14px;font-weight:500;display:block;margin-bottom:4px}.concept-chapter-summary{font-size:13px;color:var(--text-muted);line-height:1.5}.concept-timeline{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);overflow-y:auto;min-height:0;flex-shrink:1}.concept-timeline-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.concept-timeline-spine{display:flex;flex-direction:column;gap:0;padding-left:10px;border-left:2px solid var(--border)}.concept-timeline-entry{display:flex;align-items:flex-start;gap:10px;padding:6px 0;position:relative}.concept-timeline-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px;margin-left:-15px}.concept-timeline-content{display:flex;flex-direction:column;gap:1px}.concept-timeline-year{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.concept-timeline-work{font-size:13px;font-weight:600;color:var(--text)}.concept-timeline-author{font-size:11px;color:var(--text-muted)}.concept-timeline-entry-clickable{cursor:pointer;border-radius:4px;transition:background .15s}.concept-timeline-entry-clickable:hover{background:rgba(124,111,234,.08)}.concept-timeline-more{display:block;width:100%;background:none;border:none;padding:6px 0 2px 22px;font-size:11px;color:var(--text-dim);cursor:pointer;text-align:left;font-family:var(--font-sans)}.concept-timeline-more:hover{color:var(--accent)}.concept-evolution{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.concept-evolution-title{font-size:12px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.concept-evolution-text{font-size:12px;color:var(--text-muted);line-height:1.5}.era-slider{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:rgba(10,10,16,.75);border:1px solid rgba(124,111,234,.15);border-radius:24px;padding:10px 20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;box-shadow:0 4px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.03);animation:slideUp .3s ease-out}.era-slider-label{font-family:var(--font-mono);font-size:11px;color:var(--accent);min-width:36px;text-align:center;font-weight:500}.era-slider-track{position:relative;width:200px;height:20px}.era-slider-track:before{content:"";left:0;right:0;height:2px;background:linear-gradient(90deg,var(--border) 0,var(--accent-dim) 50%,var(--border) 100%);border-radius:1px}.era-slider-input,.era-slider-track:before{position:absolute;top:50%;transform:translateY(-50%)}.era-slider-input{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;outline:none}.era-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;pointer-events:all;border:2px solid rgba(5,5,8,.8);box-shadow:0 0 8px rgba(124,111,234,.4);-webkit-transition:box-shadow .15s;transition:box-shadow .15s}.era-slider-input::-webkit-slider-thumb:hover{box-shadow:0 0 14px rgba(124,111,234,.6)}.era-slider-input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;pointer-events:all;border:2px solid rgba(5,5,8,.8);box-shadow:0 0 8px rgba(124,111,234,.4)}.era-slider-lo{z-index:1}.era-slider-hi{z-index:2}.pathfind-bar{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:10px;z-index:10}.pathfind-toggle{background:rgba(10,10,16,.75);border:1px solid rgba(124,111,234,.15);border-radius:8px;padding:7px 16px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s;font-family:var(--font-sans);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 2px 12px rgba(0,0,0,.3)}.pathfind-toggle:hover{color:var(--text);border-color:rgba(124,111,234,.3);box-shadow:0 2px 16px rgba(124,111,234,.1)}.pathfind-toggle-active{color:var(--accent);border-color:var(--accent-dim);background:rgba(124,111,234,.12);box-shadow:0 0 20px rgba(124,111,234,.15)}.pathfind-status{font-size:12px;color:var(--text-muted);background:rgba(10,10,16,.75);padding:7px 14px;border-radius:8px;border:1px solid rgba(124,111,234,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 2px 12px rgba(0,0,0,.3)}.pathfind-explanation{position:absolute;bottom:60px;left:12px;width:300px;max-height:260px;overflow-y:auto;background:rgba(10,10,16,.8);border:1px solid rgba(124,111,234,.12);border-radius:14px;padding:16px;z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.03);animation:slideUp .25s ease-out}.pathfind-explanation h4{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:12px}.pathfind-step{padding:8px 0;border-bottom:1px solid var(--border)}.pathfind-step:last-child{border-bottom:none}.pathfind-step-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pathfind-step-num{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);background:var(--bg-elevated);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.pathfind-step-from,.pathfind-step-to{font-size:12px;font-weight:600;color:var(--text)}.pathfind-step-arrow{color:var(--text-dim);font-size:12px}.pathfind-step-type{display:inline-block;font-size:10px;padding:1px 6px;border-radius:8px;margin-top:4px;text-transform:capitalize}.pathfind-step-type-influence{color:var(--accent);background:var(--accent-glow)}.pathfind-step-type-similarity{color:#4ade80;background:rgba(74,222,128,.1)}.pathfind-step-type-opposition{color:#f87171;background:hsla(0,91%,71%,.1)}.pathfind-step-type-evolution{color:#fbbf24;background:rgba(251,191,36,.1)}.pathfind-step-desc{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.tension-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;background:rgba(10,10,16,.85);border:1px solid rgba(220,53,69,.25);border-radius:14px;padding:20px;z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 40px rgba(220,53,69,.06);animation:scaleIn .2s ease-out}.tension-card-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.tension-card-close:hover{color:var(--text)}.tension-card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px;padding-right:20px}.tension-card-vs{color:#f87171;font-size:12px;font-weight:400;font-style:italic}.tension-card-type{display:inline-block;font-size:10px;padding:2px 8px;border-radius:8px;color:#f87171;background:hsla(0,91%,71%,.1);margin-bottom:8px}.tension-card-desc{font-size:12px;color:var(--text-muted);line-height:1.5}.graph-detail-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.graph-actions-compact{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.graph-action-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s;cursor:pointer;white-space:nowrap;font-family:var(--font-mono);letter-spacing:.02em}.graph-action-pill.graph-action-ask{background:var(--accent);color:#fff;border:1px solid var(--accent)}.graph-action-pill.graph-action-ask:hover{background:var(--accent-dim);border-color:var(--accent-dim);box-shadow:0 0 16px rgba(124,111,234,.3)}.graph-action-pill.graph-action-archive{background:rgba(232,232,237,.1);color:var(--text);border:1px solid rgba(232,232,237,.25)}.graph-action-pill.graph-action-archive:hover{background:rgba(232,232,237,.18);border-color:rgba(232,232,237,.4)}.graph-detail-desc{font-size:12px;color:var(--text-muted);margin-top:8px;line-height:1.5}.graph-detail-aliases{font-size:11px;color:var(--text-dim);margin-top:4px;font-style:italic}.graph-inline-chat{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;flex:1 1;min-height:80px}.graph-inline-chat-messages{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:40px;padding-bottom:8px}.graph-inline-chat-messages .message{max-width:100%;animation:fadeIn .2s ease-out}.graph-inline-chat-messages .message-user .message-content{background:rgba(124,111,234,.12);border-radius:10px 10px 2px 10px;padding:6px 10px;font-size:12px;line-height:1.5}.graph-inline-chat-messages .message-assistant .message-content{font-size:12px;line-height:1.6;padding:2px 0}.graph-inline-chat-messages .message-assistant .message-content p{margin-bottom:6px}.graph-inline-chat-messages .message-assistant .message-content p:last-child{margin-bottom:0}.graph-inline-chat-form{display:flex;gap:6px;align-items:center}.graph-inline-chat-input{flex:1 1;background:hsla(0,0%,100%,.04);border:1px solid rgba(124,111,234,.2);border-radius:8px;padding:7px 10px;color:var(--text);font-family:var(--font-sans);font-size:12px;outline:none;transition:border-color .15s}.graph-inline-chat-input:focus{border-color:rgba(124,111,234,.45)}.graph-inline-chat-input::placeholder{color:var(--text-dim)}.graph-inline-chat-send{background:var(--accent);color:#fff;border:none;border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,opacity .15s;flex-shrink:0}.graph-inline-chat-send:hover{background:var(--accent-dim)}.graph-inline-chat-send:disabled{opacity:.4;cursor:not-allowed}.graph-inline-chat-send svg{width:14px;height:14px}.graph-detail-works{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);overflow-y:auto;min-height:0}.graph-detail-works-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.graph-detail-work-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;font-family:var(--font-sans);font-size:12px;color:var(--text-muted);text-align:left}.graph-detail-work-item:hover{background:rgba(124,111,234,.06);border-color:rgba(124,111,234,.15);color:var(--text)}.graph-detail-work-year{font-size:10px;color:var(--text-dim);font-family:var(--font-mono);flex-shrink:0;margin-left:8px}.graph-detail-works-more{display:block;width:100%;padding:5px 8px;background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);font-size:11px;color:var(--accent);text-align:left;transition:color .15s}.graph-detail-works-more:hover{color:var(--text)}.graph-hint-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-family:var(--font-sans);color:rgba(200,195,220,.6);letter-spacing:.04em;background:rgba(14,14,22,.5);border:1px solid rgba(60,58,80,.25);border-radius:20px;pointer-events:none;z-index:8;opacity:1;animation:hintFadeIn 1.2s ease-out,hintFadeOut 1s ease-in 5s forwards;transition:opacity .4s ease-out}.graph-hint-hidden{opacity:0;pointer-events:none}.graph-hint-icon{font-size:14px;opacity:.5}@keyframes hintFadeIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(6px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}@keyframes hintFadeOut{0%{opacity:1}to{opacity:0}}.graph-zoom-slider{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:10;padding:10px 8px;background:rgba(10,10,16,.75);border:1px solid rgba(124,111,234,.15);border-radius:24px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 24px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.03)}.graph-zoom-btn{background:none;border:none;color:var(--accent);font-size:14px;font-family:var(--font-mono);font-weight:500;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:box-shadow .15s;line-height:1}.graph-zoom-btn:hover{box-shadow:0 0 10px rgba(124,111,234,.4)}.graph-zoom-track{position:relative;width:20px;height:120px;display:flex;align-items:center;justify-content:center}.graph-zoom-track:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,var(--accent-dim) 0,var(--border) 100%);border-radius:1px}.graph-zoom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:4px;background:transparent;cursor:pointer;outline:none;transform:rotate(-90deg);transform-origin:center center}.graph-zoom-range::-webkit-slider-runnable-track{height:2px;background:transparent;border-radius:1px}.graph-zoom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid rgba(5,5,8,.8);box-shadow:0 0 8px rgba(124,111,234,.4);-webkit-transition:box-shadow .15s;transition:box-shadow .15s;margin-top:-7px}.graph-zoom-range::-webkit-slider-thumb:hover{box-shadow:0 0 14px rgba(124,111,234,.6)}.graph-zoom-range::-moz-range-track{height:2px;background:transparent;border:none;border-radius:1px}.graph-zoom-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid rgba(5,5,8,.8);box-shadow:0 0 8px rgba(124,111,234,.4)}.graph-zoom-range::-moz-range-thumb:hover{box-shadow:0 0 14px rgba(124,111,234,.6)}.graph-filter-bar{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:6px;z-index:10;pointer-events:none;background:rgba(14,14,22,.92);border:1px solid rgba(60,58,80,.6);border-radius:14px;padding:10px 12px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 4px 24px rgba(0,0,0,.5),0 0 1px rgba(80,75,120,.3)}.graph-filter-row{display:flex;gap:4px;pointer-events:auto}.graph-filter-pill{display:flex;align-items:center;gap:5px;background:transparent;border:1px solid rgba(42,42,53,.6);border-radius:16px;padding:5px 11px;font-size:11px;color:var(--text-dim);cursor:pointer;transition:all .15s;font-family:var(--font-sans);white-space:nowrap}.graph-filter-pill:hover{color:var(--text-muted);border-color:rgba(80,75,120,.4)}.graph-filter-pill-active{color:var(--text);border-color:rgba(80,75,120,.5);background:rgba(80,75,120,.15)}.graph-filter-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.graph-filter-count{font-size:10px;color:var(--text-dim);font-family:var(--font-mono);margin-left:1px}.graph-header-search{position:relative;width:100%;pointer-events:auto}.graph-header-search-input{width:100%;box-sizing:border-box;background:rgba(10,10,16,.5);border:1px solid rgba(42,42,53,.5);border-radius:10px;padding:9px 16px 9px 36px;font-size:14px;color:var(--text);font-family:var(--font-sans);outline:none;transition:border-color .2s,background-color .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23555568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;background-size:14px}.graph-header-search-input::placeholder{color:var(--text-dim)}.graph-header-search-input:focus{border-color:rgba(124,111,234,.4);background-color:rgba(10,10,16,.8);box-shadow:0 0 0 2px rgba(124,111,234,.1)}.graph-header-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;max-height:340px;overflow-y:auto;background:rgba(14,14,22,.95);border:1px solid rgba(124,111,234,.15);border-radius:12px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 8px 32px rgba(0,0,0,.5);padding:4px 0;z-index:20;animation:scaleIn .1s ease-out}.graph-filter-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;border-top:1px solid rgba(42,42,53,.4);pointer-events:auto}.graph-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:0}.graph-toggle input{display:none}.graph-toggle-track{width:24px;height:13px;border-radius:7px;background:rgba(42,42,53,.8);position:relative;transition:background .2s;flex-shrink:0}.graph-toggle-track:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .2s}.graph-toggle input:checked+.graph-toggle-track{background:var(--accent)}.graph-toggle input:checked+.graph-toggle-track:after{left:13px}.graph-toggle-label{font-size:10px;color:var(--text-dim);font-family:var(--font-sans);white-space:nowrap}.graph-toggle input:checked~.graph-toggle-label{color:var(--text)}.graph-toggle-sep{width:1px;height:12px;background:rgba(42,42,53,.5);align-self:center}.graph-search-trigger{background:rgba(10,10,16,.75);border:1px solid rgba(124,111,234,.15);border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:all .2s;font-family:var(--font-sans);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 2px 12px rgba(0,0,0,.3)}.graph-search-trigger:hover{color:var(--text-muted);border-color:rgba(124,111,234,.3)}.graph-search-overlay{position:fixed;inset:0;background:rgba(5,5,8,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;display:flex;justify-content:center;padding-top:15vh}.graph-search-modal{width:420px;max-height:480px;background:rgba(14,14,22,.92);border:1px solid rgba(124,111,234,.15);border-radius:14px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 16px 64px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.03);display:flex;flex-direction:column;overflow:hidden;animation:scaleIn .15s ease-out;align-self:flex-start}.graph-search-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(42,42,53,.5);padding:14px 16px;font-size:14px;color:var(--text);font-family:var(--font-sans);outline:none}.graph-search-input::placeholder{color:var(--text-dim)}.graph-search-results{flex:1 1;overflow-y:auto;padding:6px 0}.graph-search-empty{padding:16px;font-size:12px;color:var(--text-dim);text-align:center}.graph-search-group-label{padding:8px 16px 4px;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.graph-search-result{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:background .1s}.graph-search-result-active,.graph-search-result:hover{background:rgba(124,111,234,.08)}.graph-search-result-label{flex:1 1;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-search-result-type{font-size:10px;color:var(--text-dim);text-transform:capitalize;flex-shrink:0}.graph-search-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid rgba(42,42,53,.5);font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.reading-path-panel{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.reading-path-title{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:4px}.reading-path-subtitle{font-size:12px;color:var(--text-muted);margin-bottom:12px}.reading-path-loading{color:var(--text-dim);font-size:12px;padding:12px 0}.reading-path-list{display:flex;flex-direction:column;gap:4px}.reading-path-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.reading-path-item:hover{border-color:var(--accent-dim)}.reading-path-item-label{font-size:13px;font-weight:600;color:var(--text)}.reading-path-item-count{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.reading-path-back{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:0;margin-bottom:8px;font-family:var(--font-sans)}.reading-path-back:hover{color:var(--accent)}.reading-path-concept{font-size:15px;font-weight:600;margin-bottom:4px}.reading-path-desc{font-size:12px;color:var(--text-muted);margin-bottom:12px;line-height:1.5}.reading-path-steps{display:flex;flex-direction:column;gap:0;padding-left:10px;border-left:2px solid var(--border)}.reading-path-step{display:flex;gap:10px;padding:8px 0;position:relative}.reading-path-step-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:4px;margin-left:-15px}.reading-path-step-content{display:flex;flex-direction:column;gap:2px}.reading-path-step-work{font-size:13px;font-weight:600;color:var(--text);text-decoration:none}.reading-path-step-work:hover{color:var(--accent)}.reading-path-step-meta{font-size:11px;color:var(--text-dim)}.reading-path-step-edge{font-size:11px;color:var(--text-muted);margin-top:2px}.reading-path-step-interstitial{font-size:11px;color:var(--accent);font-style:italic;margin-top:4px}.reading-path-evolution{margin-top:12px;padding:10px;background:var(--bg-elevated);border-radius:8px}.reading-path-evolution h5{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.reading-path-evolution p{font-size:12px;color:var(--text-muted);line-height:1.5}.graph-minimap-container{position:absolute;bottom:16px;right:16px;width:160px;height:110px;border-radius:8px;overflow:hidden;border:1px solid rgba(42,42,53,.6);z-index:10;box-shadow:0 4px 16px rgba(0,0,0,.4)}.graph-minimap-canvas{width:100%;height:100%;cursor:crosshair}.graph-minimap-toggle{position:absolute;top:2px;right:2px;background:rgba(10,10,16,.7);border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:1px 5px;line-height:1;border-radius:4px;transition:color .15s}.graph-minimap-toggle:hover{color:var(--text)}.graph-minimap-show{position:absolute;bottom:16px;right:16px;background:rgba(10,10,16,.75);border:1px solid rgba(42,42,53,.6);border-radius:8px;padding:6px 12px;font-size:11px;color:var(--text-dim);cursor:pointer;transition:all .15s;font-family:var(--font-sans);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10}.graph-minimap-show:hover{color:var(--text-muted);border-color:rgba(124,111,234,.25)}.graph-action-pill.graph-action-reading-path{background:rgba(232,232,237,.1);color:var(--text);border:1px solid rgba(232,232,237,.25)}.graph-action-pill.graph-action-reading-path:hover{background:rgba(232,232,237,.18);border-color:rgba(232,232,237,.4)}.graph-action-pill.graph-action-reading-path:disabled{opacity:.4;cursor:not-allowed}.graph-action-pill.graph-action-expand{background:rgba(232,232,237,.1);color:var(--text);border:1px solid rgba(232,232,237,.25)}.graph-action-pill.graph-action-expand:hover{background:rgba(232,232,237,.18);border-color:rgba(232,232,237,.4)}.graph-action-pill.graph-action-pathfind{background:rgba(232,232,237,.1);color:var(--text);border:1px solid rgba(232,232,237,.25)}.graph-action-pill.graph-action-pathfind:hover{background:rgba(232,232,237,.18);border-color:rgba(232,232,237,.4)}.graph-reading-path-panel{position:absolute;top:16px;right:16px;width:320px;max-height:calc(100% - 80px);overflow-y:auto;background:rgba(10,10,16,.8);border:1px solid rgba(251,191,36,.12);border-radius:14px;padding:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.03);animation:slideIn .25s ease-out;z-index:10}.explore-header{display:none}.graph-container{background:#050508}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dot-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.authors-page{max-width:960px;margin:0 auto;padding:32px 24px}.authors-page h1{font-size:28px;font-weight:700;margin-bottom:8px}.authors-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:32px}.authors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.author-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:border-color .15s,background .15s}.author-card:hover{border-color:var(--accent-dim);background:var(--bg-elevated)}.author-card-name{font-size:15px;font-weight:600;color:var(--text)}.author-card-meta{font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.author-card-genres{font-size:12px;color:var(--text-muted)}.author-detail{max-width:720px;margin:0 auto;padding:32px 24px}.author-detail-back{display:inline-block;color:var(--text-muted);text-decoration:none;font-size:13px;margin-bottom:20px;transition:color .15s}.author-detail-back:hover{color:var(--accent)}.author-detail h1{font-size:28px;font-weight:700;margin-bottom:8px}.author-detail-stats{font-size:13px;font-family:var(--font-mono);color:var(--text-dim);margin-bottom:32px}.author-bibliography{margin-bottom:32px}.author-bibliography h2,.author-concepts h2,.author-themes h2{font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.author-concepts,.author-themes{margin-bottom:32px}.author-link{color:inherit;text-decoration:none;transition:color .15s}.author-link:hover{color:var(--accent)}.timeline-page{display:flex;flex-direction:column;height:calc(100vh - 56px)}.timeline-header{padding:12px 16px 8px;flex-shrink:0;background:rgba(5,5,8,.95);border-bottom:1px solid rgba(42,42,53,.3)}.timeline-header-top{display:flex;align-items:center;gap:16px}.timeline-header h1{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0;white-space:nowrap}.timeline-header-legend{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.timeline-legend-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);text-transform:capitalize;white-space:nowrap;cursor:default}.timeline-container{flex:1 1;position:relative;overflow:hidden;background:#050508}.timeline-canvas{width:100%;height:100%;cursor:-webkit-grab;cursor:grab;touch-action:none}.timeline-mode-bar{display:flex;align-items:center;gap:4px;margin-left:auto}.timeline-mode-btn{background:rgba(124,111,234,.06);border:1px solid rgba(124,111,234,.15);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.timeline-mode-btn:hover{color:var(--text);border-color:rgba(124,111,234,.3);box-shadow:0 2px 16px rgba(124,111,234,.1)}.timeline-mode-btn-active{color:var(--accent);border-color:var(--accent-dim);background:rgba(124,111,234,.12);box-shadow:0 0 20px rgba(124,111,234,.15)}.timeline-invert-btn{margin-left:4px}.timeline-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.timeline-legend-count{font-size:10px;color:var(--text-dim);letter-spacing:.02em;font-family:var(--font-mono)}.timeline-unmapped{position:absolute;top:12px;right:12px;z-index:10}.timeline-unmapped-btn{background:rgba(10,10,16,.75);border:1px solid hsla(0,100%,71%,.2);border-radius:8px;padding:6px 14px;font-size:11px;font-weight:600;color:hsla(0,100%,71%,.7);cursor:pointer;transition:all .2s;font-family:var(--font-sans);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.timeline-unmapped-btn:hover{color:#ff6b6b;border-color:hsla(0,100%,71%,.4)}.timeline-unmapped-list{position:absolute;top:calc(100% + 6px);right:0;background:rgba(10,10,16,.92);border:1px solid rgba(124,111,234,.12);border-radius:10px;padding:6px 0;min-width:220px;max-height:300px;overflow-y:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.4)}.timeline-unmapped-item{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 14px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .15s;font-family:var(--font-sans)}.timeline-unmapped-item:hover{background:rgba(124,111,234,.08);color:var(--text)}.timeline-detail-range{font-size:18px;font-weight:700;margin-top:10px;font-family:SF Mono,Cascadia Code,Consolas,monospace;letter-spacing:-.01em}.timeline-detail-context{font-size:12px;color:var(--text-muted);opacity:.7;margin-top:4px;font-style:italic}.timeline-detail-offset{font-size:11px;color:var(--text-muted);margin-top:6px;opacity:.6}.timeline-detail-horizon-tag{display:inline-block;margin-top:8px;font-size:10px}.admin-login{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 56px);padding:24px}.admin-login-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:340px;padding:32px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px}.admin-login-form h2{font-size:20px;font-weight:700;text-align:center;color:var(--text)}.admin-login-input{padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:var(--font-mono);outline:none;transition:border-color .15s}.admin-login-input:focus{border-color:var(--accent-dim)}.admin-login-button{padding:10px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--font-sans)}.admin-login-button:hover:not(:disabled){opacity:.9}.admin-login-button:disabled{opacity:.5;cursor:not-allowed}.admin-login-error{color:#f87171;font-size:13px;text-align:center}.book-detail-title-row{display:flex;align-items:flex-start;gap:10px}.book-detail-title-row h1{flex:1 1}.admin-edit-btn{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;margin-top:4px}.admin-edit-btn:hover{color:var(--accent);border-color:var(--accent-dim)}.metadata-editor{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:20px;margin-top:16px;display:flex;flex-direction:column;gap:14px;animation:fadeIn .15s ease-out}.metadata-editor-field{display:flex;flex-direction:column;gap:4px}.metadata-editor-field label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.metadata-editor-field input,.metadata-editor-field select{padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .15s}.metadata-editor-field input:focus,.metadata-editor-field select:focus{border-color:var(--accent-dim)}.metadata-editor-field select{cursor:pointer}.metadata-editor-actions{display:flex;gap:8px;margin-top:4px}.tag-input-wrapper{display:flex;flex-direction:column;gap:6px}.tag-input-pills{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--accent-glow);color:var(--accent);border-radius:4px;font-size:12px;font-family:var(--font-mono)}.tag-pill-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.tag-pill-remove:hover{color:#f87171}.tag-input{padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;font-family:var(--font-sans);outline:none;transition:border-color .15s}.tag-input:focus{border-color:var(--accent-dim)}.book-detail-cover-col{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.cover-manager{display:flex;flex-direction:column;gap:8px}.cover-manager-actions{display:flex;gap:6px}.admin-btn{padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background .15s;font-family:var(--font-sans)}.admin-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-save-btn{background:var(--accent);border-color:var(--accent);color:#fff}.admin-save-btn:hover:not(:disabled){opacity:.9;color:#fff;border-color:var(--accent)}.admin-cancel-btn{background:none}.admin-error{color:#f87171;font-size:12px}.nav-auth,.nav-auth-btn{display:flex;align-items:center}.nav-auth-btn{gap:8px;padding:6px 14px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);font-size:13px;cursor:pointer;text-decoration:none;transition:color .15s,border-color .15s,background .15s}.nav-auth-btn:hover{color:var(--text);border-color:var(--text-dim);background:var(--bg-elevated)}.nav-avatar,.nav-avatar-fallback{width:22px;height:22px;border-radius:50%}.nav-avatar-fallback{background:var(--accent-glow);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;text-transform:uppercase}@media (max-width:640px){.nav-auth-label{display:none}.nav-auth-btn{padding:6px}}.recommend-page{max-width:1200px;margin:0 auto;padding:80px 24px 60px}.recommend-header{margin-bottom:32px}.recommend-header h1{font-family:var(--font-display),var(--font-sans);font-size:clamp(24px,3.5vw,36px);font-weight:400;font-variation-settings:"WONK" 1,"opsz" 36;color:#f0f0f5;margin-bottom:10px}.recommend-subtitle{color:var(--text-muted);font-size:15px;max-width:600px;line-height:1.6}.recommend-shelf{position:-webkit-sticky;position:sticky;top:56px;z-index:10;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recommend-shelf-books{display:flex;gap:8px;overflow-x:auto;flex:1 1}.recommend-shelf-item{position:relative;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.recommend-shelf-item .book-cover{width:48px;height:72px;border-radius:4px}.recommend-shelf-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.recommend-shelf-item:hover .recommend-shelf-remove{opacity:1}.recommend-shelf-info{display:flex;align-items:center;gap:12px;flex-shrink:0}.recommend-shelf-count{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.recommend-cta{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:10px 20px;font-family:var(--font-mono);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap}.recommend-cta:hover:not(:disabled){background:var(--accent-dim);box-shadow:0 0 20px var(--accent-glow)}.recommend-cta:disabled{opacity:.5;cursor:not-allowed}.recommend-error{background:hsla(0,91%,71%,.1);border:1px solid hsla(0,91%,71%,.3);border-radius:6px;padding:12px 16px;color:#f87171;font-size:13px;margin-bottom:24px}.recommend-search{width:100%;max-width:600px;background:var(--bg-surface);border:1.5px solid var(--accent-dim);border-radius:12px;padding:18px 24px;color:#f0f0f5;font-family:var(--font-mono);font-size:16px;margin-bottom:20px;transition:border-color .2s,box-shadow .2s;animation:observatory-pulse-border 3s ease-in-out infinite}.recommend-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 20px 0 rgba(124,111,234,.2);animation:none}.recommend-search::placeholder{color:#777790}.recommend-sample-hint{font-size:12px;color:var(--text-dim);font-style:italic;margin:0 0 4px}.recommend-picker{margin-top:8px}.recommend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.recommend-book-selectable{position:relative;background:none;border:2px solid transparent;border-radius:8px;padding:0;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}.recommend-book-selectable:hover:not(:disabled){border-color:var(--border);transform:translateY(-2px)}.recommend-book-selectable .book-cover{border-radius:6px;width:100%}.recommend-book-selected{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow),0 0 4px var(--accent-glow)}.recommend-book-selected:hover{border-color:var(--accent)!important}.recommend-book-disabled{opacity:.35;cursor:not-allowed}.recommend-book-check{position:absolute;top:6px;right:6px;width:22px;height:22px;background:var(--accent);border-radius:50%;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.4)}.recommend-result{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:32px;margin-bottom:32px}.recommend-section{margin-bottom:28px}.recommend-section:last-child{margin-bottom:0}.recommend-section-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.recommend-thread p{font-size:16px;line-height:1.7;color:var(--text)}.recommend-reveal-content{display:flex;gap:24px;align-items:flex-start}.recommend-reveal-cover{flex-shrink:0;text-decoration:none}.recommend-reveal-cover .book-cover{width:120px;height:180px;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.4),0 0 30px var(--accent-glow);transition:transform .2s,box-shadow .2s}.recommend-reveal-cover:hover .book-cover{transform:scale(1.03);box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 40px var(--accent-glow)}.recommend-reveal-info{display:flex;flex-direction:column;gap:4px;padding-top:4px}.recommend-reveal-title{font-size:22px;font-weight:600;color:var(--text);line-height:1.3}.recommend-reveal-author{font-size:15px;color:var(--text-muted)}.recommend-reveal-year{font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.recommend-reveal-link{margin-top:8px;font-family:var(--font-mono);font-size:13px;color:var(--accent);text-decoration:none;transition:color .15s}.recommend-reveal-link:hover{color:var(--text)}.recommend-rationale p{font-size:14px;line-height:1.7;color:var(--text-muted)}.recommend-path-chain{flex-wrap:wrap}.recommend-path-chain,.recommend-path-segment{display:flex;align-items:center;gap:4px}.recommend-path-node{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:4px 10px;font-family:var(--font-mono);font-size:12px;color:var(--text);white-space:nowrap}.recommend-path-arrow{color:var(--accent);font-size:14px;flex-shrink:0}.recommend-path-text{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.recommend-actions{display:flex;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.recommend-action-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:background .15s}.recommend-action-btn:hover{background:var(--accent-dim)}.recommend-action-secondary{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.recommend-action-secondary:hover{background:var(--bg-elevated);color:var(--text)}.recommend-concepts-section{margin-bottom:16px}.recommend-concepts-label{font-size:11px;margin-bottom:10px}.recommend-concepts-label,.recommend-section-heading{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-family:var(--font-mono)}.recommend-section-heading{font-size:13px;margin-bottom:12px;margin-top:24px}.recommend-concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.recommend-concept-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:16px 12px;cursor:pointer;transition:all .15s;text-align:center;min-height:72px}.recommend-concept-card:hover:not(:disabled){border-color:var(--accent-dim);background:var(--bg-elevated);transform:translateY(-2px)}.recommend-concept-card-active{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 12px var(--accent-glow)}.recommend-concept-card-active:hover{border-color:var(--accent)!important}.recommend-concept-card-label{font-family:var(--font-mono);font-size:13px;color:var(--text);text-transform:capitalize;line-height:1.3}.recommend-concept-card-active .recommend-concept-card-label{color:var(--accent)}.recommend-concept-card-type{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.recommend-concept-card-check{position:absolute;top:6px;right:8px;font-size:12px;color:var(--accent)}.recommend-concept-disabled{opacity:.35;cursor:not-allowed}.recommend-shelf-concept{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--accent-glow);border:1px solid var(--accent-dim);border-radius:8px;padding:10px 16px;cursor:pointer;transition:all .15s;min-width:80px}.recommend-shelf-concept:hover{border-color:var(--accent);background:var(--accent-dim)}.recommend-shelf-concept-label{font-family:var(--font-mono);font-size:12px;color:var(--accent);text-transform:capitalize;text-align:center;line-height:1.3}.recommend-shelf-concept-type{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);opacity:.7}.recommend-shelf-concept .recommend-shelf-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--bg-deep);border:1px solid var(--border);color:var(--text-muted);font-size:12px;line-height:16px;text-align:center;opacity:0;transition:opacity .15s}.recommend-shelf-concept:hover .recommend-shelf-remove{opacity:1}.recommend-author-card .recommend-concept-card-label{text-transform:none;font-family:var(--font-sans);font-size:14px}.recommend-shelf-author{background:rgba(255,180,100,.08);border-color:rgba(255,180,100,.25)}.recommend-shelf-author .recommend-shelf-concept-label{color:#ffb464;text-transform:none}.recommend-shelf-author:hover{border-color:#ffb464;background:rgba(255,180,100,.15)}.legal-page{max-width:720px;margin:0 auto;padding:80px 24px 120px}.legal-page h1{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--accent);margin-bottom:8px;letter-spacing:.02em}.legal-page .legal-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:48px;font-family:var(--font-mono)}.legal-page h2{font-size:18px;margin-top:48px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.legal-page h2,.legal-page h3{font-weight:600;color:var(--text)}.legal-page h3{font-size:15px;margin-top:28px;margin-bottom:10px}.legal-page ol,.legal-page p,.legal-page ul{color:var(--text-muted);font-size:15px;line-height:1.75;margin-bottom:16px}.legal-page ol,.legal-page ul{padding-left:24px}.legal-page li{margin-bottom:6px}.legal-page a{color:var(--accent);text-decoration:none}.legal-page a:hover{text-decoration:underline}.legal-page strong{color:var(--text);font-weight:600}.legal-page .legal-callout{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:16px 20px;margin:24px 0}.legal-page .legal-callout p{margin-bottom:0;color:var(--text);font-size:14px}.legal-page .legal-nav{display:flex;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.legal-page .legal-nav a{font-family:var(--font-mono);font-size:13px}.about-layout{display:flex;max-width:960px;margin:0 auto;padding:80px 24px 120px;gap:48px}.about-toc{position:-webkit-sticky;position:sticky;top:80px;align-self:flex-start;width:180px;flex-shrink:0;padding-top:8px}.about-toc-label{display:block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.about-toc ul{list-style:none;padding:0;margin:0}.about-toc li{margin-bottom:2px}.about-toc a{display:block;font-size:13px;color:var(--text-dim);text-decoration:none;padding:4px 0;border-left:2px solid transparent;transition:color .15s,border-color .15s;line-height:1.4}.about-toc a:hover{color:var(--text-muted)}.about-toc a.about-toc-active{color:var(--text);border-left-color:var(--accent)}.about-toc-group{margin-bottom:16px}.about-toc-group-label{display:block;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500;padding-left:0;margin-bottom:6px;margin-top:2px}.about-toc-group:has(.about-toc-group-label) a{padding-left:16px;font-size:12px;border-left:none}.about-toc-group:has(.about-toc-group-label) a.about-toc-active{color:var(--text)}.about-toc-group:not(:has(.about-toc-group-label)) a{color:var(--text-muted);font-weight:500}.about-hero{position:relative;overflow:hidden;padding:80px 24px 56px}.about-hero-glow{position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:140%;height:180%;background:radial-gradient(ellipse 50% 60% at 50% 30%,rgba(124,111,234,.08) 0,rgba(90,79,196,.04) 35%,transparent 70%);pointer-events:none}.about-hero-inner{position:relative;max-width:720px;margin:0 auto;text-align:center}.about-hero-title{font-family:var(--font-display),serif;font-size:clamp(32px,4vw,48px);font-weight:400;color:#f0f0f5;letter-spacing:-.02em;font-variation-settings:"WONK" 1,"opsz" 48;margin-bottom:20px;line-height:1.15}.about-hero-epigraph{font-family:var(--font-display),serif;font-size:clamp(16px,2vw,19px);font-style:italic;color:var(--text-muted);line-height:1.55;max-width:560px;margin:0 auto 40px}.about-hero-banner{max-width:480px;margin:0 auto;text-align:center;padding:20px 24px;background:rgba(17,17,22,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px}.about-hero-banner p{font-size:14px;color:var(--text-muted);line-height:1.65;margin:0 0 12px}.about-hero-banner-tag{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.about-hero-banner-cta{display:inline-block;font-family:var(--font-mono);font-size:13px;color:var(--accent);text-decoration:none;letter-spacing:.01em;transition:color .15s}.about-hero-banner-cta:hover{color:var(--text);text-decoration:none}@keyframes about-hero-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.about-hero-title{animation:about-hero-fade-up .6s ease-out both}.about-hero-epigraph{animation:about-hero-fade-up .6s ease-out .1s both}.about-hero-banner{animation:about-hero-fade-up .6s ease-out .25s both}.about-page{flex:1 1;min-width:0;max-width:680px}.about-header{margin-bottom:48px}.about-page h1{font-family:var(--font-display),serif;font-size:32px;font-weight:400;color:#f0f0f5;margin-bottom:16px;letter-spacing:-.01em;font-variation-settings:"WONK" 1,"opsz" 36}.about-epigraph{font-family:var(--font-display),serif;font-size:17px;font-style:italic;color:var(--text-muted);line-height:1.6;padding-bottom:24px;margin-bottom:0;border-bottom:1px solid var(--border)}.about-page section{margin-bottom:48px;scroll-margin-top:72px}.about-page h2{font-size:16px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border);letter-spacing:.01em}.about-page h2,.about-page h3{font-weight:600;color:var(--text)}.about-page h3{font-size:15px;margin-bottom:8px}.about-page p{color:var(--text-muted);font-size:15px;line-height:1.75;margin-bottom:16px}.about-page p em{color:var(--text);font-style:italic}.about-page ul{color:var(--text-muted);font-size:15px;line-height:1.75;margin-bottom:16px;padding-left:24px}.about-page li{margin-bottom:8px}.about-page a{color:var(--accent);text-decoration:none}.about-page a:hover{text-decoration:underline}.about-page strong{color:var(--text);font-weight:600}.about-features{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:20px}.about-feature{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:20px;transition:border-color .15s}.about-feature:hover{border-color:rgba(124,111,234,.25)}.about-feature h3{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:10px}.about-feature p{font-size:14px;line-height:1.65;margin-bottom:0}.about-tiers{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:20px}.about-tier{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:24px}.about-tier-featured{border-color:var(--accent-dim)}.about-tier h3{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.about-tier-price{font-size:28px;font-weight:600;color:var(--text);margin-bottom:16px}.about-tier ul{font-size:14px;padding-left:20px}.about-tier-note{font-size:13px;font-style:italic;color:var(--text-dim);margin-top:16px;margin-bottom:0}.about-callout{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:20px 24px;margin:8px 0}.about-callout ul{list-style:none;padding-left:0;margin-bottom:0}.about-callout li{color:var(--text);font-size:15px;line-height:1.6;margin-bottom:8px;padding-left:0}.about-callout li:last-child{margin-bottom:0}.about-lineage li{margin-bottom:10px}.about-faq-item{border-bottom:1px solid var(--border)}.about-faq-item:first-of-type{border-top:1px solid var(--border)}.about-faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:15px;font-weight:500;color:var(--text);cursor:pointer;list-style:none;transition:color .15s}.about-faq-item summary::-webkit-details-marker{display:none}.about-faq-item summary:after{content:"+";font-family:var(--font-mono);font-size:16px;font-weight:400;color:var(--text-dim);flex-shrink:0;margin-left:16px;transition:color .15s,transform .2s}.about-faq-item[open] summary:after{content:"\2212";color:var(--accent)}.about-faq-item summary:hover{color:var(--accent)}.about-faq-item p{padding:0 0 16px;font-size:14px;line-height:1.7;color:var(--text-muted)}.about-nav{display:flex;gap:24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.about-nav a{font-family:var(--font-mono);font-size:13px;color:var(--accent);text-decoration:none}.about-nav a:hover{text-decoration:underline}@media (max-width:900px){.about-toc{display:none}.about-layout{gap:0}.about-page{max-width:680px}}@media (max-width:640px){.about-hero{padding:64px 16px 40px}.about-hero-cards{flex-direction:column;align-items:center}.about-hero-card{max-width:100%;width:100%}.about-layout{padding:32px 16px 100px}.about-features,.about-tiers{grid-template-columns:1fr}.about-nav{flex-direction:column;gap:12px}}.site-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:20px;padding:8px 16px;font-size:13px;font-family:var(--font-mono);background:rgba(10,10,14,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50;pointer-events:none}.site-footer a{color:var(--text-dim);text-decoration:none;letter-spacing:.04em;pointer-events:auto}.site-footer a:hover{color:var(--text-muted)}.scroll-sentinel{width:100%;height:1px}.observatory{width:100%;margin-top:-56px;padding-top:56px}.observatory-tagline{max-width:1100px;margin:0 auto;padding:48px 24px 32px}.observatory-tagline p{font-family:var(--font-display),var(--font-sans);font-size:clamp(24px,3.5vw,36px);font-weight:400;font-variation-settings:"WONK" 1,"opsz" 36;line-height:1.3;color:#f0f0f5;margin:0}.observatory-mosaic-hero{position:relative;width:100%}.observatory-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:0;gap:0;width:100%}.observatory-chat-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;padding:24px}.observatory-chat-overlay .observatory-chat-section{pointer-events:auto;max-width:1100px;max-height:100%;width:100%;padding:32px 24px;background:rgba(10,10,12,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(124,111,234,.2)}.observatory-mosaic-link{display:block;aspect-ratio:2/3;overflow:hidden;position:relative}.observatory-mosaic-img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:filter .25s ease,transform .25s ease}.observatory-mosaic-link:hover .observatory-mosaic-img{filter:brightness(1);transform:scale(1.05)}.observatory-mosaic-link--fading .observatory-mosaic-img{filter:brightness(0);transition:filter .6s ease-in}.observatory-stats-bar{max-width:1100px;margin:0 auto;padding:24px 24px 0;display:flex;align-items:baseline;gap:16px}.observatory-stats{letter-spacing:.06em;color:#aaaabc}.observatory-stats,.observatory-stats-link{font-family:var(--font-mono);font-size:13px}.observatory-stats-link{color:var(--accent);text-decoration:none;transition:color .15s}.observatory-stats-link:hover{color:var(--text)}.observatory-librarian{max-width:1100px;margin:0 auto;padding:48px 24px 24px}.observatory-back{display:inline-block;background:none;border:none;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);cursor:pointer;padding:0;margin-bottom:24px;transition:color .15s;animation:observatory-fade-in .2s ease-out}.observatory-back:hover{color:var(--text-muted)}.observatory-librarian-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.observatory-librarian-title{font-family:var(--font-display),var(--font-sans);font-size:16px;font-weight:400;font-variation-settings:"WONK" 0,"opsz" 16;letter-spacing:.04em;color:#ccd;text-transform:uppercase;margin:0}.observatory-librarian-all{font-family:var(--font-mono);font-size:13px;color:var(--accent);text-decoration:none;transition:color .15s}.observatory-librarian-all:hover{color:var(--text)}.observatory-dispatch-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.observatory-dispatch{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.observatory-dispatch-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.observatory-dispatch-icon{color:#777790}.observatory-dispatch-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.observatory-dispatch--review .observatory-dispatch-label{color:rgba(255,180,100,.6)}.observatory-dispatch--review{border-color:rgba(255,180,100,.12);text-decoration:none;color:inherit}.observatory-dispatch--review:hover{border-color:rgba(255,180,100,.25)}.observatory-dispatch--review .observatory-dispatch-icon{color:rgba(255,180,100,.45)}.observatory-review-heading{font-family:var(--font-mono);font-size:15px;font-weight:700;color:rgba(255,180,100,.9);line-height:1.6}.observatory-review-book{display:flex;gap:10px;align-items:center}.observatory-review-cover{width:36px;height:54px;object-fit:cover;border-radius:3px;flex-shrink:0}.observatory-review-byline{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);line-height:1.4}.observatory-review-excerpt{font-family:var(--font-mono);font-size:14px;line-height:1.6;color:var(--text-muted);margin:0;padding-left:12px;border-left:2px solid rgba(255,180,100,.2)}.observatory-review-more{font-family:var(--font-mono);font-size:12px;color:rgba(255,180,100,.6);transition:color .15s}.observatory-dispatch--review:hover .observatory-review-more{color:rgba(255,180,100,.9)}.observatory-dispatch--announcement{border-color:rgba(130,200,160,.15);text-decoration:none;color:inherit}.observatory-dispatch--announcement:hover{border-color:rgba(130,200,160,.3)}.observatory-dispatch--announcement .observatory-dispatch-label{color:rgba(130,200,160,.7)}.observatory-dispatch--announcement .observatory-dispatch-icon{color:rgba(130,200,160,.5)}.observatory-announcement-title{font-family:var(--font-mono);font-size:15px;font-weight:700;color:rgba(130,200,160,.9);line-height:1.6}.observatory-announcement-callsign{font-family:var(--font-mono);font-size:12px;font-style:italic;color:rgba(130,200,160,.5)}.observatory-dispatch--announcement .observatory-dispatch-text{flex:1 1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.observatory-announcement-more{font-family:var(--font-mono);font-size:12px;color:rgba(130,200,160,.6);transition:color .15s}.observatory-dispatch--announcement:hover .observatory-announcement-more{color:rgba(130,200,160,.9)}.observatory-dispatch-date{font-family:var(--font-mono);font-size:13px;color:#aaaabc;letter-spacing:.02em;margin-left:auto}.observatory-dispatch-text{font-family:var(--font-mono);font-size:15px;line-height:1.6;color:#dddde8;margin:0}.observatory-dispatch-text-compact{font-family:var(--font-mono);font-size:14px;color:#aaaabc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0}.observatory-dispatch-replies{display:flex;flex-direction:column;gap:6px;margin-top:auto}.observatory-dispatch-bubble{background:var(--accent-dim);border:none;border-radius:16px 16px 4px 16px;font-family:var(--font-mono);font-size:12px;line-height:1.4;color:#e8e8ed;cursor:pointer;padding:8px 14px;text-align:left;transition:background .15s;align-self:flex-end}.observatory-dispatch-bubble:hover{background:var(--accent)}.observatory-dispatch-replies-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#777790;align-self:flex-start}.observatory-dispatch-refs{display:flex;flex-wrap:wrap;gap:6px}.observatory-ref{font-family:var(--font-mono);font-size:11px;padding:3px 10px;border-radius:12px;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s}.observatory-ref--work{background:rgba(124,111,234,.1);color:var(--accent);border:1px solid rgba(124,111,234,.2)}a.observatory-ref--work:hover{background:rgba(124,111,234,.2);border-color:rgba(124,111,234,.35)}.observatory-ref--concept{background:hsla(0,0%,100%,.04);color:#aaaabc;border:1px solid hsla(0,0%,100%,.08)}a.observatory-ref--concept:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15)}.observatory-thread-context{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:24px;animation:observatory-fade-in .25s ease-out}.observatory-thread-label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}.observatory-thread-text{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);margin:0}.observatory-chat-section{display:flex;flex-direction:column;gap:16px}.observatory-chat-title{font-family:var(--font-display),var(--font-sans);font-size:16px;font-weight:400;font-variation-settings:"WONK" 0,"opsz" 16;letter-spacing:.04em;color:#ccd;text-transform:uppercase;margin:0}.observatory-chat-form{display:flex;align-items:center;gap:0;border:1.5px solid var(--accent-dim);border-radius:12px;overflow:hidden;background:var(--bg-surface);animation:observatory-pulse-border 3s ease-in-out infinite}@keyframes observatory-pulse-border{0%,to{border-color:var(--accent-dim);box-shadow:0 0 0 0 rgba(124,111,234,0)}50%{border-color:var(--accent);box-shadow:0 0 16px 0 rgba(124,111,234,.15)}}.observatory-chat-form:focus-within{border-color:var(--accent);box-shadow:0 0 20px 0 rgba(124,111,234,.2);animation:none}.observatory-chat-input{flex:1 1;background:transparent;border:none;outline:none;padding:20px 24px;font-family:var(--font-mono);font-size:16px;color:#f0f0f5}.observatory-chat-input::placeholder{color:#777790}.observatory-chat-submit{background:transparent;border:none;padding:20px 24px;color:var(--accent);cursor:pointer;transition:color .15s;display:flex;align-items:center}.observatory-chat-submit:hover{color:#f0f0f5}.observatory-prompt-pills{display:flex;flex-wrap:wrap;gap:8px}.observatory-pill{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:7px 16px;font-family:var(--font-mono);font-size:13px;color:#aaaabc;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.observatory-pill:hover{background:#1a1a24;border-color:var(--accent-dim);color:#dddde8}.observatory-chat-form-wrapper{position:relative}.entity-quick-access{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:6px 0;z-index:50;box-shadow:0 8px 32px rgba(0,0,0,.5);max-height:320px;overflow-y:auto}.entity-qa-group{padding:0}.entity-qa-group+.entity-qa-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.entity-qa-group-label{display:flex;align-items:center;gap:6px;padding:6px 14px 4px;font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);-webkit-user-select:none;-moz-user-select:none;user-select:none}.entity-qa-icon{font-size:12px}.entity-qa-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.entity-qa-item--active,.entity-qa-item:hover{background:var(--accent-glow)}.entity-qa-item--active{border-left:2px solid var(--accent);padding-left:12px}.entity-qa-item-label{font-family:var(--font-mono);font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-qa-item--active .entity-qa-item-label{color:var(--accent)}.entity-qa-item-meta{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:auto;flex-shrink:0}.entity-qa-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:var(--text-dim);border-top:1px solid var(--border);margin-top:4px;padding:8px 14px 4px}.entity-qa-hint kbd{display:inline-block;padding:1px 5px;font-family:var(--font-mono);font-size:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:3px;color:var(--text-muted)}.observatory--chat-active{margin-top:0;padding-top:0}.observatory-chat-fullpage{position:relative;height:calc(100vh - 56px);display:flex;flex-direction:column;max-width:800px;width:100%;margin:0 auto;padding:24px 24px 0;overflow:hidden}.observatory-chat-close{position:absolute;top:16px;left:0;background:none;border:none;color:#777790;cursor:pointer;padding:8px;border-radius:6px;transition:color .15s;z-index:1}.observatory-chat-close:hover{color:#f0f0f5}.observatory-chat-fullpage .chat-embedded{flex:1 1;height:100%;max-height:none;display:flex;flex-direction:column;overflow:hidden;width:100%;min-width:0}.observatory-chat-fullpage .welcome{padding-top:24px}.observatory-chat-fullpage .messages{flex:1 1;overflow-y:auto;scrollbar-gutter:stable;padding-top:24px;padding-bottom:24px}.observatory-chat-fullpage .input-area{padding-bottom:48px}.observatory-chat-fullpage .input-form{align-items:center}.observatory-ctas{max-width:720px;margin:0 auto;padding:0 24px 48px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.observatory-cta-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:24px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,transform .2s}.observatory-cta-card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.observatory-cta-icon{color:var(--text-dim);margin-bottom:4px}.observatory-cta-card:hover .observatory-cta-icon{color:var(--accent)}.observatory-cta-title{font-family:var(--font-display),var(--font-sans);font-size:16px;font-weight:500;font-variation-settings:"WONK" 0,"opsz" 16;color:var(--text)}.observatory-cta-desc{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.observatory-patronage{max-width:1100px;margin:0 auto;padding:24px 24px 64px;text-align:center;border-top:1px solid var(--border)}.observatory-patronage-text{font-family:var(--font-mono);font-size:15px;line-height:1.6;color:#ccd;margin:0 0 20px}.observatory-patronage-cta{display:inline-block;font-family:var(--font-mono);font-size:14px;color:var(--text);background:var(--accent-dim);padding:12px 32px;border-radius:8px;text-decoration:none;transition:background .2s,transform .2s}.observatory-patronage-cta:hover{background:var(--accent);transform:translateY(-1px)}.observatory-patronage-email{display:block;margin-top:16px;font-family:var(--font-mono);font-size:12px;color:#777790;text-decoration:none}.observatory-patronage-email:hover{color:#aaaabc}@keyframes observatory-fade-in{0%{opacity:0}to{opacity:1}}@keyframes observatory-expand{0%{max-height:0;opacity:0}to{max-height:60vh;opacity:1}}@media (max-width:900px){.observatory-mosaic{grid-template-columns:repeat(8,1fr)}.observatory-ctas{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.observatory-tagline{padding:32px 16px 24px}.observatory-mosaic{grid-template-columns:repeat(6,1fr)}.observatory-chat-overlay{padding:16px}.observatory-chat-overlay .observatory-chat-section{padding:20px}.observatory-stats-bar{padding:16px 16px 0;flex-direction:column;gap:4px}.observatory-librarian{padding:32px 16px}.observatory-ctas,.observatory-dispatch-list{grid-template-columns:1fr}.observatory-ctas{padding:0 16px 48px}.observatory-prompt-pills{flex-direction:column}.observatory-pill{white-space:normal}.observatory-patronage{padding:32px 16px 48px}}.dispatch-page{max-width:880px;margin:0 auto;padding:80px 24px 64px}.dispatch-back{display:inline-block;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-decoration:none;margin-bottom:32px}.dispatch-back:hover{color:var(--text-muted)}.dispatch-date{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-bottom:24px}.dispatch-pull{font-family:var(--font-mono);font-size:15px;line-height:1.7;color:var(--text);margin:0 0 32px;padding:0;border:none;quotes:none}.dispatch-body{font-size:14px;line-height:1.75;color:var(--text-muted);margin-bottom:32px}.dispatch-sources{border-top:1px solid var(--border);padding-top:20px;margin-bottom:24px}.dispatch-source{font-size:13px;line-height:1.6;color:var(--text-dim);padding:4px 0}.dispatch-follow{display:block;font-family:var(--font-mono);font-size:13px;color:var(--accent);text-decoration:none;opacity:.85}.dispatch-follow:hover{opacity:1;text-decoration:underline}.dispatch-layout{display:flex;gap:48px;align-items:flex-start}.dispatch-content{flex:1 1;min-width:0}.dispatch-title{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--text);margin:8px 0 20px;line-height:1.3}.dispatch-sidebar{flex-shrink:0;width:200px;display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:96px;order:-1}.dispatch-sidebar-section{display:flex;flex-direction:column;gap:8px}.dispatch-sidebar-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.dispatch-sidebar-sources{display:flex;flex-direction:column;gap:6px}.dispatch-sidebar-source{font-size:13px;line-height:1.5;color:var(--text-muted)}.dispatch-sidebar-note{color:var(--text-dim)}.dispatch-sidebar-threads{display:flex;flex-direction:column;gap:8px}.dispatch-sidebar-thread{font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--accent);text-decoration:none;opacity:.85;transition:opacity .15s}.dispatch-sidebar-thread:hover{opacity:1;text-decoration:underline}@media (max-width:720px){.dispatch-layout{flex-direction:column;gap:24px}.dispatch-sidebar{width:100%;position:static;order:1;flex-direction:row;flex-wrap:wrap;gap:24px}.dispatch-sidebar-section{flex:1 1;min-width:150px}}.review-page{max-width:960px;margin:0 auto;padding:80px 24px 64px}.review-layout{display:flex;gap:48px;align-items:flex-start}.review-sidebar{flex-shrink:0;width:200px;display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:96px}.review-sidebar-cover{display:block;text-decoration:none;transition:transform .2s}.review-sidebar-cover:hover{transform:scale(1.02)}.review-sidebar .book-cover-large{width:200px;height:300px}.review-sidebar-info{display:flex;flex-direction:column;gap:6px}.review-sidebar-title{font-size:17px;font-weight:600;color:var(--text);line-height:1.3;text-decoration:none}.review-sidebar-title:hover{color:var(--accent)}.review-sidebar-author{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--text-muted);margin:0}.review-sidebar-author .author-link{color:var(--text-muted);text-decoration:none}.review-sidebar-author .author-link:hover{color:var(--text)}.review-sidebar-year{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.review-sidebar-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.review-sidebar-link{margin-top:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-decoration:none;transition:color .15s}.review-sidebar-link:hover{color:var(--text-muted)}.review-content{flex:1 1;min-width:0}.review-kind{color:rgba(255,180,100,.7)}.review-content .dispatch-meta svg{color:rgba(255,180,100,.45)}.review-title{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text);margin:0 0 24px;line-height:1.3}.review-content .dispatch-body p{margin:0 0 16px}@media (max-width:720px){.review-layout{flex-direction:column;gap:32px}.review-sidebar{width:100%;flex-direction:row;gap:20px;position:static}.review-sidebar .book-cover-large{width:120px;height:180px}.review-sidebar-info{flex:1 1}}.updates-page{max-width:880px;margin:0 auto;padding:80px 24px 64px}.updates-header{margin-bottom:24px}.updates-title{font-family:var(--font-display),var(--font-sans);font-size:28px;font-weight:400;font-variation-settings:"WONK" 1,"opsz" 28;color:var(--text);margin:0 0 6px}.updates-stats{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);letter-spacing:.02em;margin:0}.updates-filters{display:flex;gap:6px;margin-bottom:32px;flex-wrap:wrap}.updates-filter{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.updates-filter:hover{border-color:var(--text-dim);color:var(--text-muted)}.updates-filter--active{background:var(--bg-elevated);border-color:var(--text-dim);color:var(--text)}.updates-filter--dispatch.updates-filter--active{border-color:var(--accent-dim);color:var(--accent)}.updates-filter--review.updates-filter--active{border-color:rgba(255,180,100,.4);color:rgba(255,180,100,.9)}.updates-filter--announcement.updates-filter--active{border-color:rgba(130,200,160,.4);color:rgba(130,200,160,.9)}.updates-filter--addition.updates-filter--active{border-color:rgba(100,170,255,.4);color:rgba(100,170,255,.9)}.updates-filter-count{font-size:10px;opacity:.5}.updates-group{margin-bottom:8px}.updates-group-divider{display:flex;align-items:center;gap:12px;margin-bottom:2px;padding:8px 0}.updates-group-divider:after{content:"";flex:1 1;height:1px;background:var(--border)}.updates-group-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.updates-card,.updates-group-items{display:flex;flex-direction:column}.updates-card{gap:8px;padding:16px 20px;border-left:2px solid transparent;text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.updates-card:hover{background:hsla(0,0%,100%,.02)}.updates-card-meta{display:flex;align-items:center;gap:6px}.updates-card-icon{color:var(--text-dim);flex-shrink:0}.updates-card-kind{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.updates-card-kind,.updates-card-time{font-family:var(--font-mono);color:var(--text-dim)}.updates-card-time{font-size:11px;margin-left:auto;letter-spacing:.02em}.updates-card-text{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);margin:0}.updates-card--dispatch{border-left-color:rgba(124,111,234,.2)}.updates-card--dispatch:hover{border-left-color:rgba(124,111,234,.5)}.updates-card--dispatch .updates-card-icon,.updates-card--dispatch .updates-card-kind{color:rgba(124,111,234,.6)}.updates-card-sources{display:flex;flex-wrap:wrap;gap:6px}.updates-card-source{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:10px;background:rgba(124,111,234,.1);color:var(--accent);border:1px solid rgba(124,111,234,.15)}.updates-card--review{border-left-color:rgba(255,180,100,.2)}.updates-card--review:hover{border-left-color:rgba(255,180,100,.5)}.updates-card--review .updates-card-icon,.updates-card--review .updates-card-kind{color:rgba(255,180,100,.6)}.updates-review-body{display:flex;gap:14px}.updates-review-cover{flex-shrink:0}.updates-review-cover .book-cover-small{width:40px;height:60px}.updates-review-content{display:flex;flex-direction:column;gap:4px;min-width:0}.updates-review-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.updates-review-byline{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.updates-card--announcement{border-left-color:rgba(130,200,160,.2)}.updates-card--announcement:hover{border-left-color:rgba(130,200,160,.5)}.updates-card--announcement .updates-card-icon,.updates-card--announcement .updates-card-kind{color:rgba(130,200,160,.6)}.updates-announcement-title{font-size:15px;font-weight:500;color:rgba(130,200,160,.9);line-height:1.3}.updates-card--addition{border-left-color:rgba(100,170,255,.2)}.updates-card--addition:hover{border-left-color:rgba(100,170,255,.5)}.updates-card--addition .updates-card-icon,.updates-card--addition .updates-card-kind{color:rgba(100,170,255,.6)}.updates-addition-single{display:flex;gap:12px;align-items:center}.updates-addition-single .book-cover-small{width:36px;height:54px;flex-shrink:0}.updates-addition-info{display:flex;flex-direction:column;gap:2px;min-width:0}.updates-addition-title{font-size:14px;font-weight:500;color:var(--text);line-height:1.3}.updates-addition-byline{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.updates-addition-genres{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.updates-addition-genre{font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:8px;background:rgba(100,170,255,.08);color:rgba(100,170,255,.7);border:1px solid rgba(100,170,255,.12)}.updates-addition-covers{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.updates-addition-cover-link{text-decoration:none;transition:transform .15s}.updates-addition-cover-link:hover{transform:translateY(-2px)}.updates-addition-cover-link .book-cover-small{width:28px;height:42px}.updates-addition-more-covers{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.updates-addition-list{display:flex;flex-direction:column}.updates-addition-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;text-decoration:none;transition:color .15s}.updates-addition-row:hover .updates-addition-row-title{color:var(--text)}.updates-addition-row-title{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.updates-addition-row-author{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.updates-addition-expand{background:none;border:none;font-family:var(--font-mono);font-size:12px;color:rgba(100,170,255,.7);cursor:pointer;padding:6px 0 0;transition:color .15s}.updates-addition-expand:hover{color:#64aaff}.updates-empty{padding:48px 0;text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.admin-delete-controls{margin-left:auto;display:flex;gap:6px;align-items:center}.admin-delete-btn{background:none;border:1px solid transparent;color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);font-size:14px;padding:0 6px;line-height:1;border-radius:4px;opacity:0;transition:opacity .2s,color .2s,border-color .2s}.updates-card:hover .admin-delete-btn{opacity:.6}.admin-delete-btn:hover{opacity:1!important;color:#e55}.admin-delete-btn--confirm{opacity:1!important;color:#fff;background:#c33;border-color:#c33;font-size:11px;padding:3px 8px}.admin-delete-btn--confirm:hover{background:#e33;border-color:#e33;color:#fff}.admin-delete-btn--cancel{opacity:1!important;font-size:11px;padding:3px 8px;border:1px solid hsla(0,0%,100%,.15);color:var(--text-muted)}.admin-delete-btn--cancel:hover{border-color:hsla(0,0%,100%,.3);color:var(--text-primary)}@media (max-width:640px){.updates-page{padding:72px 16px 48px}.updates-filters{gap:4px}.updates-filter{padding:5px 10px;font-size:11px}}.book-detail{max-width:960px;margin:0 auto;padding:32px 28px 64px}.book-detail-hero{gap:40px;margin-bottom:0;padding-bottom:40px;border-bottom:1px solid var(--border)}.book-detail-info h1{font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:6px}.book-detail-author{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.book-detail-year{font-size:13px;letter-spacing:.03em}.book-detail-essence,.book-detail-year{font-family:var(--font-mono);color:var(--text-dim)}.book-detail-essence{font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;line-height:1.6}.book-detail-tags{margin-bottom:0}.book-detail-setting-time{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:6px;font-style:normal;letter-spacing:.03em}.book-summary{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.book-summary p{margin:0;font-size:18px;font-style:italic;line-height:1.5;color:var(--text);letter-spacing:-.015em}.book-summary-placeholder{border-top:none;padding-top:16px}.book-summary-placeholder p{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-style:normal;opacity:.5}.book-verdict-text{cursor:default;transition:opacity .4s ease}.book-verdict-fade{opacity:0}.book-verdict-dots{display:flex;gap:6px;margin-top:10px}.book-verdict-dot{width:4px;height:4px;border-radius:50%;background:var(--text-dim);opacity:.3;transition:opacity .3s}.book-verdict-dot-active{opacity:1;background:var(--accent)}.book-verdict:has(.book-verdict-dots) .book-verdict-text{cursor:pointer}.graph-sections{display:flex;flex-direction:column;gap:0}.graph-sections-loading{display:flex;align-items:center;justify-content:center;gap:6px;padding:48px 0}.loading-dot{width:4px;height:4px;border-radius:50%;background:var(--text-dim);animation:loadPulse 1.2s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.3s}@keyframes loadPulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.bd-section{padding:36px 0;border-bottom:1px solid var(--border)}.bd-section:last-child{border-bottom:none}.bd-section-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:20px}.bd-section-desc{font-size:13px;color:var(--text-dim);margin:-12px 0 20px;line-height:1.5}.split-sections{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.split-sections .bd-section-half{padding:36px 0;border-bottom:none}.split-sections .bd-section-half:first-child{padding-right:24px;border-right:1px solid var(--border)}.split-sections .bd-section-half:last-child{padding-left:24px}@media (max-width:720px){.split-sections{grid-template-columns:1fr}.split-sections .bd-section-half:first-child{padding-right:0;border-right:none;border-bottom:1px solid var(--border)}.split-sections .bd-section-half:last-child{padding-left:0}}.concept-dna-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:640px){.concept-dna-grid{grid-template-columns:1fr}}.concept-dna-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:14px 16px;cursor:pointer;transition:border-color .2s,background .2s}.concept-dna-card:hover{border-color:#3a3a4a;background:#13131a}.concept-dna-card-expanded{grid-column:1/-1;border-color:var(--accent-dim);background:#0f0f18}.concept-dna-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.concept-dna-label{font-weight:600;font-size:14px;color:var(--text);text-decoration:none;transition:color .15s}.concept-dna-label:hover{color:var(--accent)}.concept-dna-count{font-family:var(--font-mono);font-size:10px;color:var(--accent-dim);background:var(--accent-glow);padding:1px 7px;border-radius:3px;white-space:nowrap;flex-shrink:0}.concept-dna-desc{font-size:13px;color:var(--text-muted);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.concept-dna-card-expanded .concept-dna-desc{-webkit-line-clamp:unset}.concept-dna-expand-hint{display:inline-block;font-size:11px;color:var(--accent-dim);font-family:var(--font-mono);margin-top:8px;transition:color .15s}.concept-dna-card:hover .concept-dna-expand-hint{color:var(--accent)}.concept-dna-evolution{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.concept-dna-evolution p{font-size:13px;color:var(--text-muted);line-height:1.75;margin:0}.influence-map{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}@media (max-width:640px){.influence-map{grid-template-columns:1fr}.influence-column:first-child{border-right:none!important;border-bottom:1px solid var(--border);padding-right:0!important;padding-bottom:20px;margin-bottom:20px}.influence-column:last-child{padding-left:0!important}}.influence-column{display:flex;flex-direction:column;gap:14px}.influence-column:first-child{padding-right:20px;border-right:1px solid var(--border)}.influence-column:last-child{padding-left:20px}.influence-direction{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0;display:flex;align-items:center;gap:8px}.influence-arrow{color:var(--accent-dim);font-size:14px}.influence-group{display:flex;flex-direction:column;gap:5px}.influence-concept-label{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.influence-concept-label a{color:var(--accent);text-decoration:none}.influence-concept-label a:hover{text-decoration:underline}.influence-works{display:flex;flex-direction:column;gap:3px}.influence-work{display:flex;align-items:baseline;gap:8px;padding:6px 10px;border-radius:4px;text-decoration:none;transition:background .15s}.influence-work:hover{background:var(--bg-surface)}.influence-work-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.influence-work-meta{font-size:11px;color:var(--text-dim);font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.bd-section-passages{padding:36px 0}.notable-passages{display:flex;flex-direction:column;gap:24px}.notable-passage-card{padding:0 0 0 24px;border-left:2px solid var(--accent-dim);margin:0}.notable-passage-text{font-size:16px;line-height:1.75;color:var(--text);margin:0 0 8px;font-style:italic;letter-spacing:-.005em}.notable-passage-reason{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);font-style:normal;display:block;letter-spacing:.02em}.bd-tensions-list{display:flex;flex-direction:column;gap:10px}.bd-tension-card{padding:0}.bd-tension-poles{display:flex;align-items:center;gap:0;margin-bottom:4px}.bd-tension-concept{font-weight:500;font-size:13px;color:var(--text);text-decoration:none;transition:color .15s;white-space:nowrap}.bd-tension-concept:hover{color:var(--accent)}.bd-tension-divider{display:flex;align-items:center;gap:6px;flex:1 1;margin:0 10px;min-width:40px}.bd-tension-line{flex:1 1;height:1px;background:var(--border)}.bd-tension-vs{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);flex-shrink:0}.bd-tension-desc{font-size:12px;color:var(--text-dim);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reading-paths-list{display:flex;flex-direction:column;gap:14px}.reading-path-card{padding:0}.reading-path-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.reading-path-concept{font-weight:500;font-size:13px;color:var(--text);text-decoration:none;transition:color .15s}.reading-path-concept:hover{color:var(--accent)}.reading-path-position{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);white-space:nowrap}.reading-path-sequence{display:flex;flex-wrap:wrap;align-items:center;gap:3px;line-height:1.8}.reading-path-step{display:inline-flex;align-items:center;gap:3px}.reading-path-work{font-size:12px;color:var(--text-muted);text-decoration:none;padding:1px 6px;border-radius:3px;transition:color .15s,background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.reading-path-work:hover{color:var(--accent);background:var(--accent-glow)}.reading-path-ellipsis{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);padding:1px 4px}.reading-path-arrow{color:var(--border);font-size:11px}.reading-path-current{display:inline-flex;align-items:center;gap:3px}.reading-path-work-current{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--accent);padding:1px 8px;border-radius:3px;background:var(--accent-glow);border:1px solid rgba(124,111,234,.25);letter-spacing:.03em}.related-sections{display:flex;flex-direction:column;gap:24px}.related-group{margin-bottom:0}.related-group-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:0 0 10px}.related-works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:6px;gap:6px}.related-work-card{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:4px;text-decoration:none;transition:background .15s}.related-work-card:hover{background:var(--bg-surface)}.related-work-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-work-meta{font-size:11px;color:var(--text-dim)}.related-work-shared{font-size:10px;color:var(--text-dim);font-family:var(--font-mono);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-section-review{padding:36px 0;border-bottom:none}.librarian-review-disclaimer{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.04em;margin-bottom:20px}.librarian-review-card,.librarian-review-list{display:flex;flex-direction:column;gap:12px}.librarian-review-card{background:var(--bg-surface);border:1px solid rgba(255,180,100,.12);border-radius:8px;padding:20px 24px;text-decoration:none;transition:border-color .2s,background .2s}.librarian-review-card:hover{border-color:rgba(255,180,100,.3);background:var(--bg-elevated)}.librarian-review-meta{display:flex;align-items:center;gap:8px}.librarian-review-icon{color:rgba(255,180,100,.45)}.librarian-review-date{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.04em}.librarian-review-title{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em;line-height:1.3}.librarian-review-excerpt{font-size:14px;line-height:1.7;color:var(--text-muted);margin:0}.librarian-review-readmore{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:.04em;transition:color .15s}.librarian-review-card:hover .librarian-review-readmore{color:rgba(255,180,100,.8)}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 56px);max-width:800px;width:100%;margin:0 auto;padding-bottom:36px}.chat-page .chat-container{flex:1 1;min-height:0;height:auto;max-width:none;width:100%;margin:0}.chat-page-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1;min-height:0;padding:48px 24px;text-align:center}.chat-page-welcome h1{font-family:var(--font-display),var(--font-sans);font-size:clamp(24px,3.5vw,36px);font-weight:400;font-variation-settings:"WONK" 1,"opsz" 36;color:#f0f0f5;margin-bottom:36px}.chat-starter-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;max-width:640px;width:100%}.chat-starter-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:13px;line-height:1.5;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.chat-starter-card:hover{border-color:var(--accent-dim);background:var(--bg-surface);color:var(--text)}.chat-starter-text{flex:1 1;font-family:var(--font-mono);letter-spacing:.01em}.chat-starter-arrow{flex-shrink:0;margin-top:2px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}.chat-starter-card:hover .chat-starter-arrow{opacity:.5;transform:translateX(0)}.chat-reshuffle{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:6px 14px;background:none;border:1px solid transparent;border-radius:20px;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;cursor:pointer;transition:border-color .2s,color .2s}.chat-reshuffle:hover{border-color:var(--border);color:var(--text-muted)}@media (max-width:640px){.chat-page-welcome{padding:24px 16px}.chat-starter-grid{grid-template-columns:1fr}.chat-starter-card{padding:12px 14px;font-size:12px}}:root{--telescope-vantage:#ffb868;--telescope-target:#4a9eff;--telescope-lens:var(--accent)}.telescope-page{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.telescope-header{margin-bottom:8px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.telescope-header h1{font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:.05em;color:#f0f0f5}.telescope-mode-badge{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border:1px solid;border-radius:4px;transition:color .4s,border-color .4s;animation:telescope-badge-fade .4s ease}@keyframes telescope-badge-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.telescope-beam{height:2px;margin:16px 0 24px;background:linear-gradient(to right,var(--telescope-vantage),var(--telescope-lens),var(--telescope-target));border-radius:1px;opacity:.6}.telescope-mobile-summary{display:none;width:100%;padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-family:var(--font-mono);font-size:13px;cursor:pointer;margin-bottom:16px;text-align:left;justify-content:space-between;align-items:center}.telescope-mobile-toggle{font-size:10px;color:var(--text-dim)}.telescope-layout{display:flex;gap:32px;align-items:flex-start}.telescope-config{width:360px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:80px;align-self:flex-start;display:flex;flex-direction:column;gap:24px}.telescope-output{flex:1 1;min-width:0;min-height:400px}.telescope-section{display:flex;flex-direction:column;gap:8px}.telescope-section-header{display:flex;justify-content:space-between;align-items:baseline}.telescope-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.telescope-label-vantage{color:var(--telescope-vantage)}.telescope-label-target{color:var(--telescope-target)}.telescope-label-lens{color:var(--telescope-lens)}.telescope-year-readout{font-family:var(--font-mono);font-size:14px;font-weight:500;letter-spacing:.05em}.telescope-year-vantage{color:var(--telescope-vantage)}.telescope-year-target{color:var(--telescope-target)}.telescope-dual-slider,.telescope-single-slider{position:relative;height:20px;display:flex;align-items:center}.telescope-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-elevated);border-radius:2px;outline:none;cursor:pointer}.telescope-dual-slider .telescope-range{position:absolute;top:50%;transform:translateY(-50%);background:transparent;pointer-events:none;z-index:2}.telescope-dual-slider .telescope-range::-webkit-slider-thumb{pointer-events:auto}.telescope-dual-slider .telescope-range::-moz-range-thumb{pointer-events:auto}.telescope-slider-fill{position:absolute;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;pointer-events:none;z-index:1}.telescope-slider-fill-vantage{background:linear-gradient(to right,var(--telescope-vantage),rgba(255,184,104,.5))}.telescope-slider-fill-target{left:0;background:linear-gradient(to right,rgba(74,158,255,.3),var(--telescope-target))}.telescope-single-slider .telescope-range{position:relative;z-index:2;background:var(--bg-elevated)}.telescope-now-marker{position:absolute;top:0;width:1px;height:100%;background:var(--text-dim);opacity:.5;z-index:3;pointer-events:none}.telescope-now-marker:after{content:"Now";position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:9px;color:var(--text-dim);white-space:nowrap}.telescope-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;border:none;cursor:pointer;-webkit-transition:box-shadow .15s;transition:box-shadow .15s}.telescope-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:none;cursor:pointer;-moz-transition:box-shadow .15s;transition:box-shadow .15s}.telescope-range-vantage::-webkit-slider-thumb{background:var(--telescope-vantage);box-shadow:0 0 8px rgba(255,184,104,.3)}.telescope-range-vantage::-moz-range-thumb{background:var(--telescope-vantage);box-shadow:0 0 8px rgba(255,184,104,.3)}.telescope-range-vantage:active::-webkit-slider-thumb,.telescope-range-vantage:hover::-webkit-slider-thumb{box-shadow:0 0 16px rgba(255,184,104,.5)}.telescope-range-target::-webkit-slider-thumb{background:var(--telescope-target);box-shadow:0 0 8px rgba(74,158,255,.3)}.telescope-range-target::-moz-range-thumb{background:var(--telescope-target);box-shadow:0 0 8px rgba(74,158,255,.3)}.telescope-range-target:active::-webkit-slider-thumb,.telescope-range-target:hover::-webkit-slider-thumb{box-shadow:0 0 16px rgba(74,158,255,.5)}.telescope-ticks{position:relative;height:36px;margin-top:4px}.telescope-tick{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;padding:0;color:var(--text-dim);transition:color .15s}.telescope-tick:hover{color:var(--text-muted)}.telescope-tick-mark{width:1px;height:6px;background:currentColor;opacity:.4}.telescope-tick-year{font-size:9px}.telescope-tick-label,.telescope-tick-year{font-family:var(--font-mono);white-space:nowrap}.telescope-tick-label{font-size:8px;opacity:.5}.telescope-all-eras{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:2px 0;text-align:left;transition:color .15s}.telescope-all-eras:hover{color:var(--telescope-vantage)}.telescope-lens-search{width:100%;padding:10px 14px;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:8px;font-family:var(--font-mono);font-size:13px;color:#f0f0f5;outline:none;transition:border-color .2s;animation:observatory-pulse-border 3s ease-in-out infinite}.telescope-lens-search:focus{border-color:var(--telescope-lens);box-shadow:0 0 12px rgba(124,111,234,.15);animation:none}.telescope-lens-search::placeholder{color:#555568}.telescope-lens-chips{display:flex;flex-wrap:wrap;gap:6px}.telescope-lens-chips .recommend-concept-card{font-size:12px;padding:5px 10px}.telescope-custom-lens-toggle{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:4px 0;text-align:left;transition:color .15s}.telescope-custom-lens-toggle:hover{color:var(--telescope-lens)}.telescope-custom-lens-input{width:100%;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;font-family:var(--font-mono);font-size:12px;color:#f0f0f5;outline:none}.telescope-custom-lens-input:focus{border-color:var(--telescope-lens)}.telescope-cta{width:100%;margin-top:8px}.telescope-cta-loading{animation:cursor-breathe 1.6s ease-in-out infinite}.telescope-about{border-top:1px solid var(--border);padding-top:16px}.telescope-about-toggle{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:12px;cursor:pointer;padding:0;transition:color .15s}.telescope-about-toggle:hover{color:var(--text-muted)}.telescope-about-content{margin-top:12px}.telescope-about-description{font-size:13px;line-height:1.6;color:var(--text-muted);margin-bottom:12px}.telescope-about-guide{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-dim);line-height:1.5}.telescope-about-guide li:before{content:"→ ";color:var(--text-dim);opacity:.5}.telescope-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;gap:24px}.telescope-welcome-icon{opacity:.5}.telescope-welcome-text{font-family:var(--font-mono);font-size:14px;color:var(--text-dim)}.telescope-presets{display:flex;flex-direction:column;gap:8px;max-width:420px}.telescope-preset{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:8px 16px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:center}.telescope-preset:hover{background:var(--bg-elevated);border-color:var(--telescope-lens);color:#f0f0f5}.telescope-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:24px}.telescope-status-text{font-family:var(--font-mono);font-size:13px;color:var(--text-dim);animation:telescope-status-pulse 2s ease-in-out infinite}@keyframes telescope-status-pulse{0%,to{opacity:.6}50%{opacity:1}}.telescope-focusing{position:relative;width:56px;height:56px}.telescope-ring{position:absolute;border-radius:50%;border:1.5px solid;top:50%;left:50%;transform:translate(-50%,-50%)}.telescope-ring-1{width:48px;height:48px;border-color:var(--telescope-vantage);animation:telescope-ring-rotate 3s linear infinite;opacity:.6}.telescope-ring-2{width:32px;height:32px;border-color:var(--telescope-lens);animation:telescope-ring-rotate 2.2s linear infinite reverse;opacity:.7}.telescope-ring-3{width:16px;height:16px;border-color:var(--telescope-target);animation:telescope-ring-rotate 1.6s linear infinite;opacity:.8}@keyframes telescope-ring-rotate{0%{transform:translate(-50%,-50%) rotate(0deg);border-radius:50%}25%{border-radius:50% 45% 50% 45%}50%{transform:translate(-50%,-50%) rotate(180deg);border-radius:45% 50% 45% 50%}75%{border-radius:50% 45% 50% 45%}to{transform:translate(-50%,-50%) rotate(1turn);border-radius:50%}}.telescope-observation{margin-bottom:32px}.telescope-observation .recommend-section{margin-bottom:24px;padding-bottom:0;border-bottom:none}.telescope-section-content{font-size:14px;line-height:1.7;color:var(--text-muted)}.telescope-section-content p{margin-bottom:12px}.telescope-section-content p:last-child{margin-bottom:0}.telescope-section-content strong{color:#d0d0dc}.telescope-section-content em{color:#b0b0c0}.telescope-streaming .streaming-cursor{display:inline-block;margin-left:2px}.telescope-divider{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:24px 0;padding:12px 16px}.telescope-divider-label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:8px}.telescope-divider-content{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);line-height:1.6;margin:0;white-space:pre-line}.telescope-controls{margin-top:24px;display:flex;flex-direction:column;gap:16px}.telescope-session-actions{display:flex;gap:8px}.telescope-followup-form{display:flex;gap:0;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-surface);transition:border-color .2s}.telescope-followup-form:focus-within{border-color:var(--telescope-lens)}.telescope-followup-input{flex:1 1;border:none!important;border-radius:0!important;background:transparent!important;padding:14px 16px!important;font-size:13px!important}.telescope-followup-send{background:transparent;border:none;padding:14px 18px;color:var(--telescope-lens);cursor:pointer;font-size:18px;transition:color .15s;display:flex;align-items:center}.telescope-followup-send:hover:not(:disabled){color:#f0f0f5}.telescope-followup-send:disabled{opacity:.3;cursor:default}.telescope-coordinates-hint{font-family:var(--font-mono);font-size:11px;color:var(--telescope-vantage);opacity:.8}.telescope-followup{border-top:1px solid var(--border);padding-top:24px}@media (max-width:900px){.telescope-mobile-summary{display:flex}.telescope-layout{flex-direction:column}.telescope-config{width:100%;position:static;display:none}.telescope-config-open{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:var(--bg);padding:24px;overflow-y:auto;animation:telescope-config-slide .2s ease}@keyframes telescope-config-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.telescope-output{min-height:300px}.telescope-welcome{padding:40px 16px}.telescope-presets{max-width:100%}}@media (max-width:640px){.telescope-page{padding:20px 16px 48px}.telescope-header h1{font-size:20px}}