@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap";.home-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:80px 32px;display:flex;position:relative;overflow:hidden}.home-hero-bg{will-change:transform;background-image:url(/schools/%E4%B8%96%E7%95%8C%E5%93%B2%E5%AD%A6%E6%80%BB%E8%A7%88.webp);background-position:50%;background-size:cover;position:absolute;inset:0}.home-hero-overlay{background:linear-gradient(#f4f0eb26 0%,#f4f0eb8c 60%,#f4f0ebeb 100%);position:absolute;inset:0}.home-hero-content{z-index:1;animation:1s cubic-bezier(.22,1,.36,1) forwards hero-reveal;position:relative}@keyframes hero-reveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.home-hero-eyebrow{font-family:var(--font-sans);font-size:var(--text-label,11px);letter-spacing:.32em;text-transform:uppercase;color:var(--ochre);margin:0 0 28px;font-weight:600;animation:.8s cubic-bezier(.22,1,.36,1) .1s both fade-in-up}.home-hero-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:.04em;margin:0 0 24px;font-size:clamp(3.5rem,10vw,8rem);font-style:italic;font-weight:400;line-height:1.08;animation:.8s cubic-bezier(.22,1,.36,1) .2s both fade-in-up}.home-hero-divider{background:var(--ochre);opacity:.7;width:64px;height:1.5px;margin:0 auto 28px;animation:.8s cubic-bezier(.22,1,.36,1) .3s both fade-in-up}.home-hero-subtitle{font-family:var(--font-sans);color:var(--ink);text-shadow:0 0 40px #f4f0ebcc;max-width:540px;margin:0 auto 44px;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500;line-height:1.9;animation:.8s cubic-bezier(.22,1,.36,1) .4s both fade-in-up}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-hero-cta{font-family:var(--font-sans);letter-spacing:.08em;color:#fff;background:var(--ink);cursor:pointer;border:none;border-radius:6px;padding:15px 40px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.22,1,.36,1);animation:.8s cubic-bezier(.22,1,.36,1) .5s both fade-in-up;position:relative;overflow:hidden}.home-hero-cta:after{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff1f 45%,#ffffff2e 50%,#0000 55%);position:absolute;inset:0;transform:translate(-100%)}.home-hero-cta:hover:after{transition:transform .6s;transform:translate(100%)}.home-hero-cta:hover{background:var(--ochre);transform:translateY(-2px)}html.dark-mode .home-hero-cta{background:var(--ochre);color:#fff}html.dark-mode .home-hero-cta:hover{background:var(--ink)}.home-hero-scroll-hint{opacity:.45;animation:2s ease-in-out infinite scroll-bounce;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}@keyframes scroll-bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.home-quote{text-align:center;background:var(--card-bg);cursor:pointer;max-width:100%;padding:100px 32px;position:relative;overflow:hidden}.home-quote-eyebrow{font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--fade);margin-bottom:24px;font-size:10px;font-weight:500}.home-quote-text{font-family:var(--font-serif);color:var(--text-dim);margin:0 0 20px;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;font-weight:300;line-height:1.9;transition:opacity .2s}.home-quote-author{font-family:var(--font-sans);color:var(--ochre);font-size:13px;font-weight:500}.home-quote:before{content:"\"";font-family:var(--font-serif);color:var(--border);opacity:.15;pointer-events:none;font-size:180px;line-height:1;position:absolute;top:20px;left:50%;transform:translate(-50%)}.home-stats{max-width:800px;margin:0 auto;padding:64px 32px}.home-stats-grid{text-align:center;flex-wrap:wrap;justify-content:center;gap:56px;display:flex}.home-stat-number{font-family:var(--font-serif);color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 6px;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:400}.home-stat-label{font-family:var(--font-sans);color:var(--text-dim);letter-spacing:.08em;margin:0;font-size:12px;font-weight:300}.home-showcase{max-width:1100px;margin:0 auto;padding:64px 32px 88px}.home-showcase-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:36px;display:grid}.home-showcase-card{cursor:pointer;border-bottom:2px solid var(--border);border-radius:4px;padding:36px 28px;transition:all .4s cubic-bezier(.22,1,.36,1)}.home-showcase-card:hover{border-bottom-color:var(--ochre);background:var(--card-bg);transform:translateY(-3px);box-shadow:0 2px 4px #00000008,0 4px 8px #0000000a,0 8px 16px #0000000a}.home-showcase-card.card-philosophers:hover{border-bottom-color:var(--prussian)}.home-showcase-eyebrow{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:500}.home-showcase-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:.03em;margin:6px 0 10px;font-size:26px;font-weight:400}.home-showcase-desc{font-family:var(--font-sans);color:var(--text-dim);margin:0;font-size:14px;font-weight:300;line-height:1.8}.home-world-section{text-align:center;max-width:1200px;margin:0 auto;padding:64px 24px}.home-world-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:.04em;margin-bottom:12px;font-size:26px;font-weight:400}.home-world-subtitle{font-size:var(--text-body,13px);color:var(--text-dim);margin-bottom:28px}.section-reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.section-reveal.visible{opacity:1;transform:translateY(0)}.home-footer{border-top:1px solid var(--border);background:var(--card-bg);padding:0}.home-footer-inner{flex-wrap:wrap;gap:64px;max-width:1100px;margin:0 auto;padding:56px 32px 40px;display:flex}.home-footer-brand{flex:280px;min-width:200px}.home-footer-logo{font-family:var(--font-serif);color:var(--ink);cursor:pointer;letter-spacing:.03em;margin:0 0 10px;font-size:18px;font-style:italic}.home-footer-brand-desc{font-family:var(--font-sans);color:var(--text-dim);max-width:260px;margin:0;font-size:12px;line-height:1.7}.home-footer-columns{flex-wrap:wrap;flex:2 500px;gap:48px;display:flex}.home-footer-col{flex-direction:column;gap:8px;min-width:100px;display:flex}.home-footer-col-title{font-family:var(--font-sans);color:var(--ink);letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:600}.home-footer-link{font-family:var(--font-sans);color:var(--text-dim);cursor:pointer;font-size:12px;line-height:1.6;transition:color .2s}.home-footer-link:hover{color:var(--ochre)}.home-footer-bottom{border-top:1px solid var(--border);max-width:1100px;margin:0 auto;padding:14px 32px}.home-footer-copy{font-family:var(--font-sans);color:var(--text-dim);margin:0;font-size:11px}@media (width<=640px){.home-hero{padding:60px 20px}.home-stats-grid{gap:32px}.home-showcase-grid{grid-template-columns:1fr;gap:24px}.home-quote{padding:64px 20px}.home-quote:before{font-size:100px}}.books-author-group,.genealogy-era-section,.reading-history-item,.philosophy-timeline>div{content-visibility:auto;contain-intrinsic-size:auto 200px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg) 25%, var(--border) 50%, var(--bg) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-shimmer}:root{--bone:#f7f5f0;--ink:#1a1a1a;--ochre:#b8956a;--prussian:#3a5a7c;--fade:#a89880;--text:#1a1a1a;--text-dim:#6b6058;--bg:#f7f5f0;--card-bg:#efebe2;--border:#d9d0c5;--accent:#3a5a7c;--accent2:#b8956a;--danger:#9b3a3a;--success:#4a7a4a;--primary:var(--bone);--secondary:var(--card-bg);--header-height:56px;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Geist Sans", "SF Pro Display", sans-serif;--font-serif:"Playfair Display", "Times New Roman", "PingFang SC", serif;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 2px #0000000a, 0 2px 4px #0000000a;--shadow-md:0 1px 2px #0000000a, 0 2px 4px #0000000a, 0 4px 8px #0000000a;--shadow-lg:0 1px 2px #0000000a, 0 2px 4px #0000000a, 0 4px 8px #0000000a, 0 8px 16px #0000000a;--transition:.2s cubic-bezier(.2, 0, 0, 1);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-section:80px;--text-caption:10px;--text-label:11px;--text-small:12px;--text-body:13px;--text-body-lg:14px;--text-card-title:15px;--text-section:20px;--text-page:24px;--z-header:100;--z-overlay:200;--z-toast:300;--z-candle:9999;--color-transition:background-color .4s ease, color .4s ease, border-color .4s ease, box-shadow .4s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;cursor:default;transition:var(--color-transition);font-weight:400;line-height:1.6}body:before{content:"";z-index:0;pointer-events:none;opacity:.015;background-image:url(data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20256%20256%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%274%27%20stitchTiles%3D%27stitch%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E);position:fixed;inset:0}.candle-glow{pointer-events:none;z-index:9999;background:radial-gradient(circle,#ffdca00f 0%,#ffc87805 40%,#0000 70%);border-radius:50%;width:600px;height:600px;transition:opacity .6s;position:fixed;transform:translate(-50%,-50%)}.parallax-wrap{transition:transform .1s linear;transform:translateY(0)}.app-container{background:var(--bg);width:100%;max-width:100%;min-height:100dvh;margin:0 auto;position:relative}.app-header{z-index:100;height:var(--header-height);background:linear-gradient(to bottom, var(--bone), #f4f0ebf2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);transition:var(--color-transition);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.app-title{font-family:var(--font-serif);color:var(--ink);cursor:pointer;letter-spacing:.04em;font-size:20px;font-style:italic;font-weight:400}.settings-btn{cursor:pointer;color:var(--text-dim);transition:color var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;font-size:18px}.settings-btn:hover{color:var(--ink)}.settings-btn:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}.navbar-floating{z-index:1000;transition:var(--color-transition);align-items:center;padding:16px 20px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-login-btn{font-family:var(--font-sans);color:var(--ink);background:color-mix(in srgb, var(--primary) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);cursor:pointer;letter-spacing:.04em;transition:all .25s, var(--color-transition);border-radius:4px;padding:8px 18px;font-size:13px;font-weight:500}.navbar-login-btn:hover{background:color-mix(in srgb, var(--primary) 90%, transparent);border-color:var(--ochre)}.app-main{min-height:calc(100vh - var(--header-height));padding:24px 40px 40px}.app-main.reader-mode{padding:0}.nav-btn{color:var(--text-dim);cursor:pointer;transition:color var(--transition);border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.nav-btn:hover{color:var(--ink)}.nav-btn:active{transform:scale(.97)}.nav-btn.active{color:var(--accent);font-weight:600}.nav-btn:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}.nav-icon{font-size:20px}.container{width:100%;max-width:1200px;padding:0 var(--space-xl);margin:0 auto}.container-narrow{width:100%;max-width:800px;padding:0 var(--space-lg);margin:0 auto}.section{padding:var(--space-3xl) var(--space-xl)}.flex-row{flex-direction:row;display:flex}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap;display:flex}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.text-center{text-align:center}.text-serif{font-family:var(--font-serif)}.text-sans{font-family:var(--font-sans)}.text-mono{font-family:var(--font-mono)}.text-dim{color:var(--text-dim)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:-100%;left:var(--space-lg);padding:var(--space-sm) var(--space-lg);z-index:var(--z-toast);background:var(--ink);color:var(--bone);border-radius:var(--radius-sm);font-size:var(--text-body);text-decoration:none;transition:top .2s;position:absolute}.skip-link:focus{top:var(--space-sm)}.scroll-top-btn{bottom:var(--space-xl);right:var(--space-xl);z-index:var(--z-overlay);border:1px solid var(--border);background:var(--card-bg);width:40px;height:40px;color:var(--text-dim);cursor:pointer;transition:var(--color-transition), opacity .3s, transform .3s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed}.scroll-top-btn:hover{border-color:var(--ochre);color:var(--ink);transform:translateY(-2px)}.scroll-top-btn:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.35s cubic-bezier(.22,1,.36,1) forwards page-in}.reading-progress{background:var(--ochre);height:2px;z-index:calc(var(--z-header) + 1);transition:width .1s linear;position:fixed;top:0;left:0}.card{background:var(--card-bg);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);margin-bottom:6px;padding:16px 18px;position:relative}.card:hover{border-color:var(--ochre);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.card:active{transform:scale(.99)}.card:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}.card-title{color:var(--ink);font-size:16px;font-weight:500;font-family:var(--font-serif);margin-bottom:4px}.card-subtitle{color:var(--text-dim);font-size:13px;font-weight:400}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--card-bg) 25%, var(--border) 50%, var(--card-bg) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--fade);border:1px solid var(--border);transition:border-color var(--transition), color var(--transition);background:0 0;border-radius:9999px;margin:2px;padding:3px 10px;font-size:11px;display:inline-block}.tag:hover{border-color:var(--ochre);color:var(--ochre)}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.badge-east{color:var(--prussian);background:#3a5a7c0f;border:1px solid #3a5a7c26}.badge-west{color:var(--ochre);background:#b8956a0f;border:1px solid #b8956a26}.badge-world{color:#4a7a4a;background:#5a8a5a0f;border:1px solid #4a7a4a26}.badge-available{color:var(--success);background:#4a7a4a0f;border:1px solid #4a7a4a26}.badge-pending{color:var(--ochre);background:#b8956a0f;border:1px solid #b8956a26}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);color:var(--text-dim);letter-spacing:.03em;transition:all var(--transition), var(--color-transition);background:0 0;padding:8px 18px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}.btn-primary{border-color:var(--ink);color:var(--ink)}.btn-primary:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}.btn-secondary{border-color:var(--border);color:var(--text-dim)}.btn-secondary:hover{border-color:var(--ochre);color:var(--ochre)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-block{justify-content:center;width:100%}.search-box{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text);font-size:15px;font-family:var(--font-sans);transition:border-color var(--transition), var(--color-transition);outline:none;margin-bottom:18px;padding:12px 16px;font-weight:400}.search-box:focus{border-color:var(--ochre);border-bottom-color:var(--ochre)}.loading{color:var(--text-dim);justify-content:center;align-items:center;padding:80px 20px;font-size:15px;display:flex}.empty-state{text-align:center;color:var(--text-dim);padding:60px 20px}.section-title{color:var(--ink);font-size:20px;font-weight:400;font-family:var(--font-serif);letter-spacing:.03em;margin:20px 0 12px}.page-container{padding:0}.chat-container{flex-direction:column;flex:1;gap:8px;padding:8px 24px;display:flex;overflow-y:auto}.chat-message{border-radius:10px;max-width:80%;padding:8px 14px;font-size:14px;line-height:1.7}.chat-message.user{background:var(--ink);color:var(--bone);align-self:flex-end}.chat-message.assistant{background:var(--card-bg);border:1px solid var(--border);align-self:flex-start}.chat-input-area{background:var(--bg);border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 20px;display:flex}.chat-input{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:20px;outline:none;flex:1;padding:10px 16px;font-family:inherit;font-size:14px}.chat-input:focus{border-color:var(--ochre)}.chat-send-btn{background:var(--ink);width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;color:var(--bone);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.chat-mic-btn{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;transition:all .25s, var(--color-transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.chat-mic-btn:hover{border-color:var(--ochre)}.chat-mic-btn.recording{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 15%, var(--card-bg));animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger) 40%, transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--danger) 0%, transparent)}}.chat-mic-btn.loading{border-color:var(--ochre);background:color-mix(in srgb, var(--ochre) 10%, var(--card-bg));cursor:wait}.mic-spinner{border:2px solid var(--border);border-top-color:var(--ochre);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite mic-spin;display:inline-block}@keyframes mic-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-form{flex-direction:column;gap:16px;display:flex}.settings-form label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.settings-form input{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:15px}.summary-text{color:var(--text-dim);margin-top:8px;font-size:14px;line-height:1.7}.toast-container{bottom:var(--space-xl);right:var(--space-xl);z-index:var(--z-toast);gap:var(--space-sm);pointer-events:none;flex-direction:column-reverse;max-width:360px;display:flex;position:fixed}.toast{border-radius:var(--radius-sm);font-size:var(--text-body);font-family:var(--font-sans);cursor:pointer;pointer-events:auto;box-shadow:var(--shadow-md);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 20px;line-height:1.5;animation:.3s cubic-bezier(.22,1,.36,1) forwards toast-in}.toast-info{background:var(--card-bg);color:var(--text)}.toast-success{background:color-mix(in srgb, var(--success) 10%, var(--card-bg));color:var(--success);border-color:color-mix(in srgb, var(--success) 20%, transparent)}.toast-error{background:color-mix(in srgb, var(--danger) 10%, var(--card-bg));color:var(--danger);border-color:color-mix(in srgb, var(--danger) 20%, transparent)}.toast-warning{background:color-mix(in srgb, var(--ochre) 10%, var(--card-bg));color:var(--ochre);border-color:color-mix(in srgb, var(--ochre) 20%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.reader-container{background:var(--bone);width:100%}.react-pdf__Page{margin:8px auto;box-shadow:0 2px 16px #00000014}.react-pdf__Page canvas{max-width:100%!important;height:auto!important}.epub-container{background:var(--bone)!important;max-width:800px!important;margin:0 auto!important}html.mobile-mode .app-container{max-width:480px!important;margin:0 auto!important}html.mobile-mode .app-main{padding:16px 12px 20px!important}html.mobile-mode .app-header{padding:0 12px!important}html.mobile-mode .app-title{font-size:14px!important}html.mobile-mode .app-header{gap:0!important;padding:0 8px!important}html.mobile-mode .app-header span{gap:0!important}html.mobile-mode .nav-btn{flex-direction:row!important;padding:2px 4px!important;font-size:10px!important}html.mobile-mode .nav-btn span:last-child{display:none!important}html.mobile-mode .settings-btn{padding:2px!important;font-size:14px!important}html.mobile-mode .card{padding:10px 0!important}html.mobile-mode .card-title{font-size:14px!important}html.mobile-mode .card-subtitle{font-size:12px!important}html.mobile-mode .section-title{font-size:16px!important}html.mobile-mode .search-box{padding:10px 14px!important;font-size:14px!important}html.mobile-mode .btn{padding:6px 14px!important;font-size:12px!important}html.mobile-mode .chat-message{max-width:90%!important;font-size:13px!important}html.mobile-mode .chat-input{font-size:13px!important}html.mobile-mode [style*="flex: 0 0 60%"]{flex:100%!important}html.mobile-mode [style*=showNotes] [style*=flex\:],html.mobile-mode .philosophy-timeline [style*=display\:flex]{flex-direction:column!important}html.mobile-mode .philosophy-timeline [style*=width\:110px]{width:60px!important;padding-right:10px!important}html.dark-mode{--bone:#1a1816;--ink:#e8e3d9;--ochre:#c9a96e;--prussian:#6b8fae;--fade:#7a7068;--text:#e8e3d9;--text-dim:#b8b0a0;--bg:#0f0e0c;--card-bg:#1e1c19;--border:#3a3530;--accent:#6b8fae;--accent2:#c9a96e;--primary:var(--bone);--secondary:var(--card-bg)}html.dark-mode body{background:var(--bg);color:var(--text)}html.dark-mode .app-header{background:linear-gradient(#1a1816,#1a1816f2)}html.dark-mode .candle-glow{background:radial-gradient(circle,#c9a96e0a 0%,#c9a96e03 40%,#0000 70%)}html.dark-mode .card:hover{border-bottom-color:var(--ochre)}html.dark-mode .btn-primary{border-color:var(--ink);color:var(--ink)}html.dark-mode .search-box{color:var(--text)}html.dark-mode .search-box:focus{border-bottom-color:var(--ochre)}html.dark-mode .icon-img{filter:invert(.85)brightness(1.1)}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media (width<=480px){.app-header{gap:0;padding:0 8px}.app-title{font-size:14px}.app-main{padding:12px 12px 20px}.nav-btn{flex-direction:row;padding:2px 4px;font-size:10px}.nav-btn span:last-child{display:none}.settings-btn{padding:2px;font-size:14px}.card{padding:12px 14px}.card-title{font-size:14px}.card-subtitle{font-size:12px}.section-title{font-size:16px}.search-box{padding:10px 14px;font-size:14px}.btn{padding:6px 14px;font-size:12px}.chat-message{max-width:90%;font-size:13px}.chat-input{font-size:13px}.loading,.empty-state{padding:40px 16px}.toast-container{left:var(--space-md);right:var(--space-md);bottom:var(--space-md);max-width:none}.scroll-top-btn{bottom:var(--space-md);right:var(--space-md);width:36px;height:36px}.navbar-floating{padding:12px}.navbar-login-btn{padding:6px 14px;font-size:12px}}@media (width>=481px) and (width<=768px){.app-main{padding:16px 24px 24px}.nav-btn{font-size:10px}.chat-message{max-width:85%}}@media (width>=769px){.app-main{padding:24px 40px 40px}}@media (width>=1200px){.app-main{padding:40px 64px}.chat-message{max-width:60%}}@media (width<=768px){[style*="flex: 0 0 60%"]{flex:100%!important}[style*=showNotes] [style*=flex\:]{flex-direction:column!important}}@media (width<=640px){.philosophy-timeline [style*=display\:flex]{flex-direction:column!important}.philosophy-timeline [style*=width\:110px]{width:60px!important;padding-right:10px!important}}
