:root{font-family:Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;--bg: #1a1a1f;--bg-card: #242429;--border: #333339;--text: #e0ddd8;--text-dim: #908a80;--accent: #c49a2a;--accent-end: #dbb85c;--accent-soft: rgba(196, 154, 42, .1);--gradient: linear-gradient(135deg, #8b6914, #dbb85c);color-scheme:dark;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden}body{width:100%;min-height:100vh}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}a{color:var(--text);text-decoration:none;transition:color .15s}a:hover{color:var(--accent)}button{border-radius:8px;border:1px solid var(--border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background:var(--bg-card);color:var(--text);cursor:pointer;transition:all .15s}button:hover{border-color:#444449}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main-content{flex:1;padding:2rem;width:100%;max-width:1200px;margin:0 auto}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.not-found h2{font-size:4rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.not-found p{color:var(--text-dim);margin-top:.5rem}.favorites{padding:1rem 0}.favorites h2{margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.favorites-empty{text-align:center;padding:4rem 2rem;margin:2rem auto;max-width:400px}.favorites-empty h2{margin-bottom:.5rem;font-size:1.2rem;font-weight:500;color:var(--text-dim);-webkit-text-fill-color:var(--text-dim);background:none}.favorites-empty p{color:var(--text-dim);font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.favorites .book-grid>*{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.book-card{border-radius:10px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.book-poster{position:relative;aspect-ratio:2/3;background:#2a2a30}.book-poster img{width:100%;height:100%;object-fit:cover}.book-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent 50%);opacity:0;transition:opacity .2s}.book-card:hover .book-overlay{opacity:1}.favorite-btn{position:absolute;top:.5rem;right:.5rem;font-size:1.1rem;padding:0;background:#00000080;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fffc;transition:all .15s}.favorite-btn:hover{background:#000000bf;color:#c0392b}.favorite-btn.active{color:#c0392b}.rating-badge{position:absolute;top:.5rem;left:.5rem;padding:.2rem .5rem;border-radius:6px;font-size:.72rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gradient);color:#fff}.book-info{padding:.75rem;flex:1;display:flex;flex-direction:column;gap:.3rem}.book-info h3{font-size:.88rem;font-weight:700;line-height:1.35;color:var(--text);font-style:italic}.book-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.book-author{color:var(--accent);font-size:.76rem;font-weight:500}.book-year{color:var(--text-dim);font-size:.76rem}.book-pages{font-size:.66rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:.12rem .4rem;background:var(--accent-soft);color:var(--accent);border-radius:4px;font-weight:500}.book-subjects{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:auto}.subject-tag{font-size:.66rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:.12rem .4rem;background:#2e2e34;color:var(--text-dim);border-radius:4px}.home{padding:1.5rem 0}.search-form{max-width:480px;margin:0 auto 2rem;display:flex;gap:.5rem}.search-input{flex:1;padding:.7rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:border-color .15s}.search-input::placeholder{color:#666}.search-input:focus{outline:none;border-color:var(--accent)}.search-button{padding:.7rem 1.5rem;background:var(--gradient);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:opacity .15s}.search-button:hover{opacity:.85}.error-message{text-align:center;color:#e74c3c;padding:.75rem;margin:0 auto 1rem;max-width:480px;font-size:.9rem;background:#e74c3c1a;border-radius:8px}.loading{display:flex;flex-direction:column;align-items:center;padding:4rem 1rem;gap:1rem}.loading p{color:var(--text-dim);font-size:.9rem}.loading-spinner{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-results{text-align:center;padding:4rem 2rem}.no-results h2{color:var(--text-dim);font-size:1.1rem;font-weight:500}.no-results p{color:var(--text-dim);font-size:.85rem;margin-top:.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.25rem}@media (max-width: 639px){.book-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}.navbar{padding:.85rem 2rem;display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.navbar-brand{font-size:1.2rem;font-weight:700;letter-spacing:.01em}.navbar-brand a{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-brand a:hover{opacity:.8}.navbar-links{display:flex;gap:.25rem}.nav-link{font-size:.88rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:.4rem .75rem;border-radius:6px;color:var(--text-dim);transition:all .15s}.nav-link:hover{color:var(--text);background:var(--accent-soft)}@media (max-width: 768px){.navbar{padding:.75rem 1rem}}
