@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Inter:wght@300;400;600&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap";:root{--color-bg:#050505;--color-bg-secondary:#0a0a0a;--color-primary:#1a472a;--color-primary-dark:#0f2b19;--color-accent:silver;--color-text:#e0e0e0;--color-text-muted:#888;--color-paper:#f4e4bc;--font-heading:"Cinzel", serif;--font-body:"Inter", sans-serif;--font-reader:"Crimson Text", serif;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-xxl:8rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}.disclaimer-banner{background-color:var(--color-bg-secondary);text-align:center;border-bottom:1px solid #ffffff1a;padding:.5rem 1rem}.disclaimer-banner p{color:var(--color-text-muted);letter-spacing:.02em;margin:0;font-size:.75rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-accent);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.1em;font-weight:700}a{color:var(--color-accent);text-decoration:none;transition:color .3s}a:hover{color:var(--color-primary)}.container{max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.text-center{text-align:center}.btn-enter{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-primary);color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-heading);cursor:pointer;background:0 0;font-size:.9rem;transition:all .4s;display:inline-block}.btn-enter:hover{background:var(--color-primary);color:var(--color-text);box-shadow:0 0 20px #1a472a66}.btn-enter.btn-filled{background:var(--color-primary);color:var(--color-text)}.hero .btn-enter:not(.btn-filled){color:var(--color-text);border-color:#666}.btn-enter.btn-filled:hover{box-shadow:0 0 20px #1a472a99}.btn-secondary{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-primary);color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em;font-family:var(--font-heading);cursor:pointer;background:0 0;font-size:.9rem;text-decoration:none;transition:all .4s;display:inline-block}.btn-secondary:hover{background:var(--color-primary);color:var(--color-text);box-shadow:0 0 20px #1a472a66}.nav-bar{padding:var(--spacing-md) 0;text-align:center;border-bottom:1px solid #222}.nav-logo{font-family:var(--font-heading);color:var(--color-primary);font-size:1.2rem}.site-nav{padding:var(--spacing-md) var(--spacing-lg);background:#0000004d;border-bottom:1px solid #222;justify-content:space-between;align-items:center;display:flex}.site-nav .nav-logo{font-family:var(--font-heading);color:var(--color-primary);font-size:1.1rem;text-decoration:none}.site-nav .nav-links{gap:var(--spacing-lg);display:flex}.site-nav .nav-links a{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-muted);font-size:.8rem;text-decoration:none;transition:color .3s}.site-nav .nav-links a:hover{color:var(--color-primary)}.site-nav .nav-links a.nav-featured{color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;padding:5px 12px;transition:all .3s}.site-nav .nav-links a.nav-featured:hover{background:var(--color-primary);color:var(--color-bg)}@media (width<=768px){.site-nav{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);flex-direction:column}.site-nav .nav-links{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center}.site-nav .nav-links a{font-size:.7rem}}.archives-header{padding:var(--spacing-xl) 0}.archives-list{padding-bottom:var(--spacing-xxl)}.chapter-card{padding:var(--spacing-lg);margin-bottom:var(--spacing-md);cursor:pointer;color:inherit;background:#ffffff08;border:1px solid #222;justify-content:space-between;align-items:center;transition:all .3s;display:flex}.chapter-card:hover{border-color:var(--color-primary);background:#ffffff0d}.chapter-info h3{color:var(--color-text);margin-bottom:.2rem;font-size:1.1rem}.chapter-info p{color:var(--color-text-muted);font-size:.9rem}.status-badge{font-family:var(--font-heading);text-transform:uppercase;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:2px;padding:4px 8px;font-size:.8rem}.reader-mode{background-color:#111}.reader-nav{padding:var(--spacing-md);z-index:100;background:#111;border-bottom:1px solid #222;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.back-link{font-family:var(--font-body);color:var(--color-text-muted);font-size:.9rem}.current-chapter-title{font-family:var(--font-heading);color:var(--color-primary);font-size:.9rem}@media (width<=600px){.current-chapter-title{display:none}}.chapter-text .divider{text-align:center;margin:var(--spacing-lg) 0}.reader-content{max-width:800px;padding:var(--spacing-xl) var(--spacing-md)}#chapter-content p{font-family:var(--font-reader);color:#d0d0d0;margin-bottom:1.5rem;font-size:1.2rem;line-height:1.8}#chapter-content h1{text-align:center;margin-bottom:var(--spacing-lg);font-size:2.5rem}.modal{z-index:1000;opacity:0;pointer-events:none;background:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.modal.visible{opacity:1;pointer-events:all}.modal-content{padding:var(--spacing-xl);border:1px solid var(--color-primary);text-align:center;background:#151515;max-width:500px;position:relative}.close-modal{cursor:pointer;font-size:2rem;position:absolute;top:10px;right:20px}.newsletter-form{margin-top:var(--spacing-md);gap:10px;display:flex}.newsletter-form input{color:#fff;background:#000;border:1px solid #333;flex:1;padding:10px}.newsletter-form button{background:var(--color-primary);color:#fff;cursor:pointer;font-family:var(--font-heading);border:none;padding:10px 20px}.cliffhanger-hook{margin-top:var(--spacing-xxl);padding:var(--spacing-xl);border:1px solid var(--color-primary);text-align:center;background:#1a472a1a}.divider{font-family:var(--font-heading);letter-spacing:.5em;margin-bottom:var(--spacing-lg);color:var(--color-primary)}.newsletter-form-inline{max-width:400px;margin:var(--spacing-lg) auto 0;flex-direction:column;gap:10px;display:flex}.newsletter-form-inline input{color:#fff;text-align:center;background:#ffffff0f;border:1px solid #666;padding:12px;font-size:1rem}.newsletter-form-inline .btn-enter{background:var(--color-primary);color:var(--color-text)}.newsletter-form-inline input::placeholder{color:#aaa}.newsletter-form-inline input:focus{border-color:var(--color-accent);outline:none}.form-status{color:var(--color-text);margin-top:6px}.hook-subtext{margin-top:var(--spacing-lg);color:var(--color-text-muted)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none!important}.hero{background:radial-gradient(circle,#1a1a1a 0%,#000 100%);justify-content:center;align-items:center;height:100vh;display:flex;overflow:hidden}.hero-content{z-index:2;position:relative}.hero .title{margin-bottom:var(--spacing-sm);-webkit-text-fill-color:transparent;text-shadow:0 10px 20px #00000080;background:linear-gradient(#fff,#aaa);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,11vw,4rem)}.hero .subtitle{font-family:var(--font-heading);text-transform:uppercase;color:var(--color-primary);letter-spacing:.3em;margin-bottom:var(--spacing-sm);font-size:clamp(.9rem,4vw,1.5rem);font-weight:700}.hero .cta-container{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.hero-meta{margin-top:var(--spacing-md);letter-spacing:.1em;color:var(--color-text-muted);font-size:.85rem}.opening-excerpt{max-width:720px;padding:var(--spacing-xxl) var(--spacing-md);text-align:center}.opening-excerpt p:not(.opening-label){font-family:var(--font-reader);text-align:left;margin-bottom:var(--spacing-md);font-size:1.2rem;line-height:1.8}.opening-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.3em;color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:.8rem}.author-crosspromo{margin-top:var(--spacing-xl);padding:var(--spacing-xl);text-align:center;border:1px solid #222}.hero .tagline{color:var(--color-text-muted);margin-bottom:var(--spacing-xl);font-size:1.2rem;font-style:italic}.synopsis{background-color:var(--color-bg-secondary);padding:var(--spacing-xxl) 0}.synopsis-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (width>=768px){.synopsis-grid{grid-template-columns:1fr 1fr;align-items:center}}.synopsis-text p{margin-bottom:var(--spacing-lg)}.synopsis-text .lead{margin-bottom:var(--spacing-md);color:var(--color-accent);font-size:1.2rem}.quote{margin-top:var(--spacing-lg);padding-left:var(--spacing-md);border-left:2px solid var(--color-primary);font-family:var(--font-heading);color:var(--color-text);font-size:1.5rem}.quote cite{margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:.9rem;font-family:var(--font-body);display:block}.feature-image{border:1px solid #333;border-radius:4px;width:100%;max-width:500px;height:auto;margin:0 auto;transition:transform .5s;display:block;box-shadow:0 10px 30px #00000080}.feature-image:hover{border-color:var(--color-primary);transform:scale(1.02)}.journals{background-color:var(--color-bg);padding:var(--spacing-xxl) 0}.journals-grid{gap:var(--spacing-xl);grid-template-columns:1fr;align-items:center;display:grid}@media (width>=768px){.journals-grid{grid-template-columns:1fr 1fr}}.journal-entry{margin-bottom:var(--spacing-xl);padding-left:var(--spacing-md);border-left:1px solid #333}.journal-entry p{font-size:1.1rem;font-family:var(--font-reader);color:var(--color-text);font-style:italic}.entry-date{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:var(--spacing-sm);letter-spacing:.1em;text-transform:uppercase;font-size:.9rem}#newsletter{background:linear-gradient(#000,#0a0a0a);border-top:1px solid #111}.footer{padding:var(--spacing-xl) 0;color:var(--color-text-muted);border-top:1px solid #111;font-size:.8rem}.disclaimer{margin-top:var(--spacing-sm);opacity:.5}.fanfic-disclaimer{padding:var(--spacing-sm) 0;color:var(--color-text-muted);text-align:center;background:#8b5a2b26;border-bottom:1px solid #8b5a2b4d;font-size:.85rem}.fanfic-disclaimer p{margin:0;line-height:1.5}.fanfic-disclaimer strong{color:var(--color-accent)}.quiz-content{text-align:left;max-width:600px}.quiz-question{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid #333}.question-text{margin-bottom:var(--spacing-md);color:var(--color-text);font-size:1.1rem}.options-grid{gap:10px;display:grid}.quiz-option{cursor:pointer;background:#ffffff0d;border:1px solid #333;padding:12px;transition:all .2s;display:block}.quiz-option:hover{border-color:var(--color-primary);background:#ffffff1a}.quiz-option input{margin-right:10px}.quiz-option:has(input:checked){background:var(--color-primary-dark);border-color:var(--color-primary)}.scroll-animate{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(30px)}.scroll-animate.visible{opacity:1;transform:translateY(0)}.info-box{max-width:600px;margin:var(--spacing-md) auto;padding:var(--spacing-md);border:1px solid var(--color-primary);font-family:var(--font-body);color:var(--color-text-muted);background:#1a472a1a;font-size:.9rem}.info-box strong{color:var(--color-primary)}.section-title{color:#fff!important;font-size:2.5rem!important}.section-title.book-title{font-size:2rem!important}.subtitle-text{color:var(--color-text-muted);font-size:1.3rem}.mb-large{margin-bottom:var(--spacing-xl)}.reading-progress{background:linear-gradient(to right, var(--color-primary), var(--color-accent));z-index:1000;width:0%;height:3px;transition:width .1s ease-out;position:fixed;top:0;left:0}.continue-reading-banner{border-top:1px solid var(--color-primary);padding:var(--spacing-md) var(--spacing-lg);z-index:999;background:#0a0a0af2;justify-content:space-between;align-items:center;transition:transform .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.continue-reading-banner.visible{transform:translateY(0)}.continue-reading-banner .banner-text{color:var(--color-text-muted);font-size:.9rem}.continue-reading-banner .banner-text strong{color:var(--color-text)}.continue-reading-banner .banner-actions{gap:var(--spacing-md);align-items:center;display:flex}.continue-reading-banner .btn-continue{background:var(--color-primary);color:var(--color-text);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;padding:8px 16px;font-size:.8rem;transition:all .3s}.continue-reading-banner .btn-continue:hover{background:var(--color-accent);color:var(--color-bg)}.continue-reading-banner .btn-dismiss{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.2rem}.reading-time{font-family:var(--font-body);color:var(--color-text-muted);background:#ffffff08;border:1px solid #222;border-radius:2px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;display:inline-flex}.reading-time:before{content:"⏱";font-size:.9em}.chapter-meta{justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid #222;display:flex}.chapter-nav{padding:var(--spacing-xl) 0;margin-top:var(--spacing-xl);border-top:1px solid #222;justify-content:space-between;display:flex}.chapter-nav a{color:var(--color-text-muted);flex-direction:column;gap:4px;transition:color .3s;display:flex}.chapter-nav a:hover{color:var(--color-primary)}.chapter-nav .nav-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.chapter-nav .nav-title{font-family:var(--font-heading);color:var(--color-text);font-size:1rem}.chapter-nav .nav-next{text-align:right}.share-section{margin-top:var(--spacing-xxl);padding:var(--spacing-xl);text-align:center;background:#1a472a0d;border:1px solid #222}.share-section h3{margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:1.2rem}.share-section p{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:.9rem}.share-quotes-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:600px;margin-left:auto;margin-right:auto;display:grid}.share-quote-card{cursor:pointer;aspect-ratio:1;border:1px solid #333;border-radius:4px;transition:all .3s;position:relative;overflow:hidden}.share-quote-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #1a472a4d}.share-quote-card img{object-fit:cover;width:100%;height:100%;display:block}.share-quote-card .quote-overlay{opacity:0;padding:var(--spacing-sm);background:#000000b3;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.share-quote-card:hover .quote-overlay{opacity:1}.share-quote-card .quote-overlay span{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:4px;font-size:.7rem}.share-quote-card .quote-overlay .share-icons{gap:8px;margin-top:8px;display:flex}.share-quote-card .quote-overlay .share-icons a{background:var(--color-primary);width:32px;height:32px;color:var(--color-text);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:all .2s;display:flex}.share-quote-card .quote-overlay .share-icons a:hover{background:var(--color-accent);color:var(--color-bg)}.share-buttons{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.share-btn{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #333;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-flex}.share-btn:hover{border-color:var(--color-primary);color:var(--color-text);background:#1a472a1a}.share-btn.twitter:hover{color:#1da1f2;border-color:#1da1f2}.share-btn.reddit:hover{color:#ff4500;border-color:#ff4500}.share-btn.copy:hover{border-color:var(--color-accent);color:var(--color-accent)}.share-btn svg{fill:currentColor;width:16px;height:16px}.contradictions-content{padding-bottom:var(--spacing-xxl)}.page-epigraph{font-family:var(--font-reader);color:var(--color-text);text-align:center;padding:var(--spacing-lg);margin:0 0 var(--spacing-xl);border-left:3px solid var(--color-primary);background:#1a472a0d;font-size:1.2rem;font-style:italic}.page-epigraph cite{color:var(--color-text-muted);margin-top:var(--spacing-sm);font-size:.9rem;font-style:normal;display:block}.content-section{margin-bottom:var(--spacing-xl)}.content-section p{font-family:var(--font-reader);color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:1.1rem;line-height:1.8}.section-heading{color:var(--color-primary);margin:var(--spacing-xl) 0 var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid #333;font-size:1.3rem}.contradiction-item{cursor:default;flex-direction:column}.contradiction-item .chapter-info{width:100%;padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md);border-bottom:1px solid #333}.contradiction-item .chapter-info h3{margin-bottom:var(--spacing-sm);font-size:1rem}.contradiction-item .chapter-info .official{color:var(--color-text-muted);margin:0;font-size:.9rem}.contradiction-item .chapter-info .official strong{color:var(--color-accent)}.contradiction-detail{width:100%}.contradiction-detail p{color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:.95rem;line-height:1.7}.contradiction-detail p strong{color:#c9a227}.contradiction-detail .question{color:var(--color-primary);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid #222}.conclusion p{font-family:var(--font-reader);color:var(--color-text);margin-bottom:var(--spacing-lg);font-size:1.1rem;line-height:1.8}.conclusion .signature{text-align:right;font-family:var(--font-heading);color:var(--color-primary);margin-top:var(--spacing-lg)}.cta-box{text-align:center;padding:var(--spacing-xl);margin-top:var(--spacing-xxl);border:1px solid var(--color-primary);background:#1a472a1a}.cta-box h3{color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:1.5rem}.cta-box p{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.section-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);color:var(--color-primary);opacity:.8;transition:all .4s}.section-icon svg{width:100%;height:100%}.research-promo:hover .section-icon,.grimoire-promo:hover .section-icon{opacity:1;filter:drop-shadow(0 0 12px #1a472a80);transform:scale(1.1)}.research-promo{padding:var(--spacing-xxl) 0;background:linear-gradient(to bottom, var(--color-bg), #1a472a0d);border-top:1px solid #222;border-bottom:1px solid #222}.research-promo .section-title{margin-bottom:var(--spacing-sm)}.research-promo .subtitle-text{color:var(--color-primary);margin-bottom:var(--spacing-md)}.research-promo .research-description{max-width:600px;margin:0 auto var(--spacing-lg);color:var(--color-text-muted);font-size:1rem;line-height:1.7}.grimoire-hero{padding:var(--spacing-xxl) 0;background:linear-gradient(to bottom, #1a472a1a, var(--color-bg));border-bottom:1px solid #222}.grimoire-tagline{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:3px;color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:.9rem}.grimoire-title{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-sm);letter-spacing:2px;font-size:clamp(2rem,5vw,3.5rem)}.grimoire-subtitle{font-family:var(--font-reader);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:1.2rem;font-style:italic}.grimoire-stats{font-family:var(--font-heading);color:var(--color-text-muted);margin-bottom:var(--spacing-xl);font-size:.9rem}.grimoire-stats .divider{margin:0 var(--spacing-sm);color:var(--color-primary)}.hero-buttons{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.grimoire-about{padding:var(--spacing-xxl) 0;background:var(--color-bg)}.grimoire-epigraph{font-family:var(--font-reader);color:var(--color-text);text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);padding:var(--spacing-lg);border-left:3px solid var(--color-primary);background:#1a472a0d;font-size:1.1rem;font-style:italic}.about-content{max-width:700px;margin:0 auto var(--spacing-xl);color:var(--color-text-muted);line-height:1.8}.about-content p{margin-bottom:var(--spacing-md)}.copyright-notice{max-width:600px;padding:var(--spacing-lg);color:var(--color-text-muted);text-align:center;background:#0000004d;border:1px solid #333;margin:0 auto;font-size:.85rem}.copyright-notice p{margin-bottom:var(--spacing-xs)}.copyright-notice p:last-child{color:var(--color-primary);margin-bottom:0}.grimoire-toc{padding:var(--spacing-xxl) 0;background:linear-gradient(to bottom, var(--color-bg), #1a472a08)}.toc-part{margin-bottom:var(--spacing-xl)}.toc-part-title{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-xs);letter-spacing:1px;font-size:1.3rem}.toc-part-title .premium-label{color:var(--color-text-muted);font-size:.8rem}.toc-part-subtitle{font-family:var(--font-reader);color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.95rem;font-style:italic}.toc-chapters{gap:var(--spacing-sm);flex-direction:column;display:flex}.toc-item{padding:var(--spacing-md) var(--spacing-lg);background:#0003;border:1px solid #333;justify-content:space-between;align-items:center;text-decoration:none;transition:all .3s;display:flex}.toc-item:hover{border-color:var(--color-primary);background:#1a472a26;transform:translate(5px)}.toc-item .chapter-info{flex:1}.toc-item .chapter-number{font-family:var(--font-heading);color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-xs);font-size:.8rem;display:block}.toc-item h4{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-xs);font-size:1.1rem}.toc-item p{color:var(--color-text-muted);margin:0;font-size:.9rem}.toc-item .school-subtitle{color:var(--color-text-muted);font-style:italic}.free-badge,.premium-badge{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;margin-left:var(--spacing-md);border-radius:2px;flex-shrink:0;padding:4px 12px;font-size:.75rem}.free-badge{color:var(--color-primary);border:1px solid var(--color-primary);background:#1a472a4d}.premium-badge{color:#b4a05a;background:#b4a05a33;border:1px solid #b4a05a}.premium-item{opacity:.85}.premium-item:hover{opacity:1}.toc-interlude{margin:var(--spacing-lg) 0;padding:var(--spacing-md) 0;border-top:1px dashed #333;border-bottom:1px dashed #333}.interlude-card{background:#1a472a14}.grimoire-cta{padding:var(--spacing-xxl) 0;background:linear-gradient(to bottom, #1a472a0d, var(--color-bg));border-top:1px solid #222}.grimoire-cta h2{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:1.8rem}.grimoire-cta>.container>p{color:var(--color-text-muted);margin-bottom:var(--spacing-xl)}.cta-options{gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center;display:flex}.cta-option{padding:var(--spacing-xl);background:#0000004d;border:1px solid #333;min-width:280px;max-width:350px}.cta-option h3{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:1.1rem}.cta-price{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:2rem}.cta-option p{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.9rem}.grimoire-crosspromo{padding:var(--spacing-xl) 0;background:var(--color-bg);border-top:1px solid #222}.grimoire-crosspromo h2{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-sm);font-size:1.3rem}.grimoire-crosspromo p{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.grimoire-reader{padding:var(--spacing-xxl) 0}.grimoire-reader .chapter-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid #333}.grimoire-reader .part-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:.85rem}.grimoire-reader .chapter-title{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-xs);font-size:clamp(1.8rem,4vw,2.5rem)}.grimoire-reader .chapter-subtitle{font-family:var(--font-reader);color:var(--color-text-muted);font-size:1.1rem;font-style:italic}.grimoire-reader .chapter-content{max-width:700px;font-family:var(--font-reader);color:var(--color-text);margin:0 auto;font-size:1.1rem;line-height:1.9}.grimoire-reader .chapter-content p{margin-bottom:var(--spacing-md)}.grimoire-reader .chapter-content h1,.grimoire-reader .chapter-content h2,.grimoire-reader .chapter-content h3{font-family:var(--font-heading);color:var(--color-text);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.grimoire-reader .chapter-content h1{padding-bottom:var(--spacing-sm);border-bottom:1px solid #333;font-size:1.8rem}.grimoire-reader .chapter-content h2{font-size:1.4rem}.grimoire-reader .chapter-content h3{color:var(--color-primary);font-size:1.2rem}.grimoire-reader .chapter-content blockquote{border-left:3px solid var(--color-primary);padding-left:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-style:italic}.grimoire-reader .chapter-content hr{margin:var(--spacing-xl) 0;border:none;border-top:1px dashed #444}.grimoire-reader .chapter-content em{color:var(--color-primary)}.grimoire-reader .chapter-content strong{color:var(--color-text);font-weight:600}.grimoire-nav{padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);border-top:1px solid #333;justify-content:space-between;align-items:center;display:flex}.grimoire-nav a{font-family:var(--font-heading);color:var(--color-primary);font-size:.9rem;text-decoration:none;transition:opacity .3s}.grimoire-nav a:hover{opacity:.8}.grimoire-nav .nav-prev:before{content:"←"}.grimoire-nav .nav-next:after{content:" →"}.grimoire-nav .nav-toc{color:var(--color-text-muted)}.paywall{text-align:center;padding:var(--spacing-xxl);margin-top:var(--spacing-xl);background:#0000004d;border:1px solid #444}.paywall h2{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-md);font-size:1.5rem}.paywall .teaser{font-family:var(--font-reader);color:var(--color-text-muted);max-width:600px;margin:0 auto var(--spacing-lg);font-size:1rem;font-style:italic;line-height:1.7}.paywall .paywall-message{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.paywall-buttons{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.paywall-verify-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.paywall-divider{margin-bottom:var(--spacing-lg);align-items:center;display:flex}.paywall-divider:before,.paywall-divider:after{content:"";background:#444;flex:1;height:1px}.paywall-divider span{padding:0 var(--spacing-md);color:var(--color-text-muted);font-size:.9rem}.paywall-verify-form{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;max-width:500px;margin:0 auto;display:flex}.paywall-verify-form input[type=email]{min-width:250px;color:var(--color-text);font-family:var(--font-body);background:#111;border:1px solid #444;border-radius:2px;flex:1;padding:.75rem 1rem;font-size:1rem}.paywall-verify-form input[type=email]:focus{border-color:var(--color-primary);outline:none}.paywall-verify-form input[type=email]::placeholder{color:#666}.btn-verify{background:var(--color-primary);color:var(--color-text);border:1px solid var(--color-primary);font-family:var(--font-body);cursor:pointer;border-radius:2px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}.btn-verify:hover:not(:disabled){background:var(--color-primary-dark)}.btn-verify:disabled{opacity:.6;cursor:not-allowed}.paywall-verify-error{color:#c44;margin-top:var(--spacing-sm);font-size:.9rem}.paywall-verify-help{color:var(--color-text-muted);margin-top:var(--spacing-sm);font-size:.85rem}.paywall.checking{opacity:.6}.paywall.checking:after{content:"Checking access...";margin-top:var(--spacing-md);color:var(--color-text-muted);font-size:.9rem;display:block}.paywall.unlocked{border-color:var(--color-primary);padding:var(--spacing-lg);background:#1a472a1a}.access-granted{justify-content:center;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.access-icon{color:var(--color-primary);font-size:1.5rem}.access-message{color:var(--color-text);font-size:1rem}.btn-logout{color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #444;border-radius:2px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.btn-logout:hover{color:var(--color-text);border-color:#666}.premium-content{display:none}.premium-content.fade-in{animation:.5s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.grimoire-promo{padding:var(--spacing-xxl) 0;background:linear-gradient(to bottom, var(--color-bg), #1a472a0d);border-top:1px solid #222;border-bottom:1px solid #222}.grimoire-promo .section-title{margin-bottom:var(--spacing-sm)}.grimoire-promo .subtitle-text{color:var(--color-primary);margin-bottom:var(--spacing-md);font-style:italic}.grimoire-promo .promo-description{max-width:600px;margin:0 auto var(--spacing-lg);color:var(--color-text-muted);font-size:1rem;line-height:1.7}.grimoire-reader .chapter-hero{width:100%;height:300px;margin-bottom:var(--spacing-xl);border-bottom:1px solid #333;position:relative;overflow:hidden}.grimoire-reader .chapter-hero-image{object-fit:cover;opacity:.6;filter:grayscale(30%);width:100%;height:100%}.grimoire-reader .chapter-hero-overlay{background:linear-gradient(#0a0a0a4d 0%,#0a0a0ab3 70%,#0a0a0a 100%);position:absolute;inset:0}.grimoire-reader .chapter-hero-content{bottom:var(--spacing-xl);text-align:center;width:100%;max-width:700px;padding:0 var(--spacing-md);position:absolute;left:50%;transform:translate(-50%)}.chapter-sigil{width:80px;height:80px;margin:0 auto var(--spacing-md);opacity:.8;transition:opacity .3s}.chapter-sigil:hover{opacity:1}.chapter-sigil img{width:100%;height:100%}.audio-teaser{max-width:700px;margin:0 auto var(--spacing-xl);padding:var(--spacing-lg);border:1px solid #333;border-left:3px solid var(--color-primary);background:#1a472a14}.audio-teaser-header{align-items:center;gap:var(--spacing-md);cursor:pointer;transition:opacity .3s;display:flex}.audio-teaser-header:hover{opacity:.8}.audio-play-btn{background:var(--color-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex}.audio-play-btn:hover{background:#2d5a3a;transform:scale(1.05)}.audio-play-btn svg{width:20px;height:20px;fill:var(--color-text);margin-left:3px}.audio-play-btn.playing svg{margin-left:0}.audio-teaser-info{flex:1}.audio-teaser-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:.85rem}.audio-teaser-title{font-family:var(--font-reader);color:var(--color-text);font-size:1rem;font-style:italic}.audio-teaser-duration{font-family:var(--font-heading);color:var(--color-text-muted);font-size:.8rem}.audio-progress{margin-top:var(--spacing-md);display:none}.audio-progress.active{display:block}.audio-progress-bar{cursor:pointer;background:#333;border-radius:2px;width:100%;height:4px;overflow:hidden}.audio-progress-fill{background:var(--color-primary);width:0%;height:100%;transition:width .1s linear}.audio-time{margin-top:var(--spacing-xs);font-family:var(--font-heading);color:var(--color-text-muted);justify-content:space-between;font-size:.75rem;display:flex}.chapter-images{max-width:700px;margin:var(--spacing-xl) auto}.chapter-image-figure{margin:var(--spacing-lg) 0;text-align:center}.chapter-image-figure img{opacity:.9;border:1px solid #333;max-width:100%;height:auto;transition:opacity .3s}.chapter-image-figure img:hover{opacity:1}.chapter-image-figure figcaption{margin-top:var(--spacing-sm);font-family:var(--font-reader);color:var(--color-text-muted);font-size:.9rem;font-style:italic}.inline-sigil{vertical-align:middle;opacity:.7;width:1.2em;height:1.2em;margin:0 .2em;display:inline-block}.school-badge{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);margin-bottom:var(--spacing-lg);background:#1a472a26;border-radius:4px;display:inline-flex}.school-badge img{width:24px;height:24px}.school-badge span{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-primary);font-size:.85rem}@media (width<=768px){.grimoire-reader .chapter-hero{height:200px}.chapter-sigil{width:60px;height:60px}.audio-teaser{padding:var(--spacing-md)}.audio-play-btn{width:44px;height:44px}.audio-teaser-title{font-size:.9rem}}.archives-hero-grid{gap:var(--spacing-xl);grid-template-columns:1fr;align-items:center;max-width:900px;margin:0 auto;display:grid}@media (width>=768px){.archives-hero-grid{gap:var(--spacing-xxl);text-align:left;grid-template-columns:auto 1fr}.archives-info.text-center{text-align:left}.archives-info .info-box{margin-left:0;margin-right:0}}.archives-cover{justify-content:center;display:flex}.book-cover-image{border:1px solid #333;width:200px;height:auto;transition:all .4s;box-shadow:0 10px 40px #00000080,0 0 60px #1a472a26}.book-cover-image:hover{border-color:var(--color-primary);transform:translateY(-5px)scale(1.02);box-shadow:0 15px 50px #0009,0 0 80px #1a472a40}.archives-info .title{margin-bottom:var(--spacing-xs);font-size:2.5rem}.archives-info .subtitle{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--spacing-md);font-size:1.1rem}.archives-description{font-family:var(--font-reader);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:1.1rem;line-height:1.7}@media (width<=767px){.book-cover-image{width:160px}.archives-info .title{font-size:2rem}.archives-description{font-size:1rem}}
