:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: rgba(22, 27, 34, .85);--bg-glass: rgba(30, 40, 55, .65);--bg-glass-hover: rgba(40, 55, 75, .75);--bg-input: rgba(30, 40, 55, .8);--bg-gradient: linear-gradient(135deg, #0d1117 0%, #1a2332 40%, #0f1923 100%);--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--text-accent: #58a6ff;--accent-blue: #58a6ff;--accent-purple: #bc8cff;--accent-green: #3fb950;--accent-orange: #f0883e;--accent-gradient: linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%);--border-color: rgba(110, 118, 129, .2);--border-glass: rgba(110, 118, 129, .15);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(88, 166, 255, .15);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Outfit", "Inter", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6e768166;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#6e768199}.match-score-container{display:flex;align-items:center;gap:10px;margin-bottom:8px}.match-bar{display:flex;gap:3px;width:60px}.match-bar-segment{height:6px;flex:1;background:#ffffff1a;border-radius:2px;transition:all .3s ease}.skeleton{position:relative;overflow:hidden;background:#ffffff0d;border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);animation:skeletonShimmer 1.5s infinite linear}@keyframes skeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-text{height:1rem;margin-bottom:.5rem;width:100%}.skeleton-text.short{width:60%}.skeleton-text.medium{width:85%}.match-bar[data-levels="1"] .match-bar-segment:nth-child(1){background:#eab308;box-shadow:0 0 5px #eab30880}.match-bar[data-levels="2"] .match-bar-segment:nth-child(1),.match-bar[data-levels="2"] .match-bar-segment:nth-child(2){background:#22c55e;box-shadow:0 0 5px #22c55e80}.match-bar[data-levels="3"] .match-bar-segment:nth-child(1),.match-bar[data-levels="3"] .match-bar-segment:nth-child(2),.match-bar[data-levels="3"] .match-bar-segment:nth-child(3){background:#10b981;box-shadow:0 0 8px #10b98199}.match-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.match-bar[data-levels="3"]+.match-label{color:#10b981}.legendary-match{position:relative;border:1px solid rgba(255,215,0,.3);box-shadow:0 0 20px #ffd70026;animation:legendary-pulse 4s infinite ease-in-out;overflow:hidden}.legendary-match:after{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:linear-gradient(to right,transparent 0%,rgba(255,215,0,0) 40%,rgba(255,215,0,.2) 50%,rgba(255,215,0,0) 60%,transparent 100%);transform:skew(-25deg) translate3d(-150%,0,0);animation:legendary-shimmer 3s infinite linear;pointer-events:none}.legendary-badge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,gold,#b8860b);color:#000;padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:800;text-transform:uppercase;box-shadow:0 4px 12px #0000004d;z-index:10;letter-spacing:.5px;animation:badge-float 3s infinite ease-in-out}@keyframes marker-sparkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes legendary-stardust{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.legendary-match{background:linear-gradient(135deg,#0d1117f2,#1a2332f2);border:1px solid rgba(255,215,0,.35);box-shadow:0 0 30px #ffd7001a,inset 0 0 15px #ffd7000d;animation:legendary-pulse 4s infinite ease-in-out,legendary-stardust 10s ease infinite}@keyframes pulse-glow{0%{box-shadow:0 0 #58a6ff66}70%{box-shadow:0 0 0 15px #58a6ff00}to{box-shadow:0 0 #58a6ff00}}.search-bar.loading{animation:pulse-glow 1.5s infinite;border-color:var(--accent-blue)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes sparkle{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.1)}}.book-detail-backdrop{position:fixed;top:0;left:0;right:0;height:60vh;background-size:cover;background-position:center;filter:blur(80px) brightness(.3);z-index:-1;opacity:0;transition:opacity .6s ease}.book-detail-content[data-visible=true]~.book-detail-backdrop,.book-detail[data-visible=true] .book-detail-backdrop{opacity:.5}.header-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;cursor:pointer}.header-logo-icon{width:auto;height:34px;display:block;object-fit:contain;border-radius:var(--radius-sm)}.header-logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.header-nav{display:flex;align-items:center;gap:var(--space-lg)}.header-nav-link{color:var(--text-color);text-decoration:none;font-weight:500;transition:color .2s ease;cursor:pointer;padding:.5rem 0}.header-nav-link:hover{color:var(--accent-color)}.header-dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;right:-20px;background-color:var(--bg-primary);min-width:440px;box-shadow:0 12px 40px #0006;border-radius:12px;z-index:1000;padding:12px;margin-top:.5rem;border:1px solid var(--border-glass)}.header-dropdown:hover .dropdown-content{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dropdown-item{color:var(--text-color);padding:8px 10px;text-decoration:none;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.85rem;border-radius:6px;font-weight:500;transition:all .2s ease;background-color:transparent}.dropdown-item:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3)}.header-profile{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-glass);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all var(--transition-fast)}.header-profile:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.main-content{flex:1;padding-top:80px;padding-bottom:120px}.hero{text-align:center;padding:var(--space-3xl) var(--space-xl) var(--space-xl);animation:fadeInUp .6s ease}.hero-title{font-family:var(--font-display);font-size:2.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-1px;margin-bottom:var(--space-sm)}.hero-title-accent{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{color:var(--text-secondary);font-size:1.1rem;font-weight:400;max-width:500px;margin:0 auto}.book-sections{padding:0 var(--space-xl)}.book-section{margin-bottom:var(--space-2xl);animation:fadeInUp .6s ease;animation-fill-mode:backwards}.book-section:nth-child(1){animation-delay:.1s}.book-section:nth-child(2){animation-delay:.2s}.book-section:nth-child(3){animation-delay:.3s}.book-section:nth-child(4){animation-delay:.4s}.book-section:nth-child(5){animation-delay:.5s}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding:0 var(--space-xs)}.section-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.section-see-all{color:var(--accent-blue);font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none;transition:opacity var(--transition-fast)}.section-see-all:hover{opacity:.8}.book-row{display:flex;gap:var(--space-md);overflow-x:auto;padding:var(--space-lg) var(--space-md) var(--space-xl);margin:0 calc(var(--space-md) * -1);-ms-overflow-style:none;scrollbar-width:none;-webkit-user-select:none;user-select:none;scroll-padding:var(--space-md)}.book-row::-webkit-scrollbar{display:none}.book-card{flex-shrink:0;width:160px;cursor:pointer;transition:transform var(--transition-slow)}.book-card:hover{transform:translateY(-8px) scale(1.03)}.book-card-cover{width:160px;height:230px;border-radius:var(--radius-md);overflow:hidden;position:relative;box-shadow:var(--shadow-md);background:var(--bg-secondary)}.book-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base);-webkit-user-drag:none}.book-card:hover .book-card-cover img{transform:scale(1.05)}.book-card-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-base)}.book-card:hover .book-card-cover:after{opacity:1}.book-card-info{padding:var(--space-sm) var(--space-xs) 0}.book-card-title{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card-author{font-size:.75rem;color:var(--text-secondary);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.search-results{padding:var(--space-lg) var(--space-xl);animation:fadeIn .4s ease}.search-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.search-results-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700}.search-results-clear{color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--border-color);background:transparent;transition:all var(--transition-fast)}.search-results-clear:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg);max-width:calc(5 * 340px + 4 * var(--space-lg));margin-inline:auto}.result-card{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;gap:var(--space-lg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all var(--transition-base);animation:slideInCard .55s cubic-bezier(.16,1,.3,1);animation-fill-mode:backwards;cursor:pointer}.result-card{animation-delay:calc(var(--index, 0) * .02s)}.no-animation .result-card,.no-animation .book-detail-content{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.result-card:hover{background:var(--bg-glass-hover);border-color:#58a6ff4d;box-shadow:var(--shadow-glow);transform:translateY(-2px)}.result-card-cover{width:100px;min-width:100px;height:150px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);flex-shrink:0}.result-card-cover img{width:100%;height:100%;object-fit:cover}.result-card-body{flex:1;display:flex;flex-direction:column;min-width:0}.result-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-card-author{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.result-card-summary{font-size:.85rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-sm)}.result-card-match{font-size:.8rem;color:var(--accent-blue);padding:var(--space-xs) var(--space-sm);background:#58a6ff14;border-radius:var(--radius-sm);border-left:3px solid var(--accent-blue);margin-bottom:var(--space-sm);line-height:1.4}.result-card-match:before{content:"✨ "}.result-card-match-score{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;color:var(--accent-blue);background:#58a6ff1a;padding:4px 12px;border-radius:var(--radius-full);border:1px solid rgba(88,166,255,.2);margin-bottom:var(--space-sm);width:fit-content;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.result-card-match-score:before{content:"🎯";font-size:.8rem}.btn-thumb:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#58a6ff14}.btn-thumb.active-like{border-color:var(--accent-green);color:var(--accent-green);background:#3fb9501a}.btn-thumb.active-dislike{border-color:#f85149;color:#f85149;background:#f851491a}.search-bar-container{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;justify-content:center;padding:var(--space-md) var(--space-xl) var(--space-lg);background:linear-gradient(to top,rgba(13,17,23,.95) 60%,transparent);pointer-events:none}.search-bar{display:flex;align-items:center;gap:var(--space-sm);width:100%;max-width:720px;background:var(--bg-input);border:1px solid var(--border-glass);border-radius:20px;padding:10px 10px 10px var(--space-lg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d;transition:all var(--transition-base);pointer-events:auto}.search-bar:focus-within{border-color:#58a6ff80;box-shadow:var(--shadow-lg),0 0 30px #58a6ff26;background:#232d41e6}.search-bar-icon{color:var(--text-accent);flex-shrink:0}.search-bar textarea{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:1rem;font-family:var(--font-sans);outline:none;padding:0;resize:none;line-height:1.5;max-height:120px;overflow-y:auto;align-self:center}.search-bar textarea::placeholder{color:var(--text-muted);font-style:italic;opacity:.7}.search-bar-actions{display:flex;align-items:center;gap:6px}.search-bar-filter{width:38px;height:38px;border-radius:12px;border:1px solid var(--border-glass);background:#ffffff0d;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.search-bar-filter:hover{background:#ffffff1a;color:var(--text-primary);border-color:var(--border-color)}.search-bar-submit{width:42px;height:42px;border-radius:12px;border:none;background:var(--accent-gradient);color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.search-bar-submit:hover{transform:scale(1.05);box-shadow:0 0 16px #58a6ff66}.search-bar-submit:active{transform:scale(.95)}.search-bar-submit.loading{animation:pulse 1s infinite;pointer-events:none}.book-detail-backdrop{position:fixed;top:0;left:0;right:0;height:60vh;background-size:cover;background-position:center;filter:blur(80px) brightness(.3);z-index:-1;opacity:0;transition:opacity .4s cubic-bezier(.23,1,.32,1)}.book-detail[data-visible=true] .book-detail-backdrop{opacity:.5}.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:#0d1117d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-glass)}.book-detail{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-xl)}.book-detail-content{display:flex;gap:var(--space-3xl);opacity:0;transform:scale(.96) translateY(20px);transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1);will-change:transform,opacity}.book-detail[data-visible=true] .book-detail-content{opacity:1;transform:scale(1) translateY(0)}.book-detail-left{display:flex;flex-direction:column;gap:var(--space-lg);min-width:280px}.book-detail-cover{width:280px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 10px 30px #0009;transition:all .5s cubic-bezier(.34,1.56,.64,1);will-change:transform;border:1px solid rgba(255,255,255,.05)}.book-detail-cover:hover{transform:translateY(-8px) scale(1.04);box-shadow:0 30px 60px #000000b3,0 0 20px #58a6ff33;border-color:#ffd7004d}.book-detail-cover img{width:100%;display:block}.book-detail-buy{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:var(--accent-gradient);color:#fff;text-decoration:none;font-weight:700;border-radius:var(--radius-md);box-shadow:0 8px 16px #58a6ff33;transition:all .3s ease}.book-detail-buy:hover{transform:translateY(-2px);box-shadow:0 12px 24px #58a6ff4d}.book-detail-info{flex:1;max-width:800px}.book-detail-header-group{margin-bottom:var(--space-lg)}.book-detail-title{font-family:var(--font-display);font-size:2.5rem;font-weight:800;line-height:1.1;margin-bottom:8px;color:var(--text-primary);letter-spacing:-1px}.book-detail-author{font-size:1.2rem;color:var(--text-secondary)}.book-detail-author span{color:var(--text-primary);font-weight:600}.book-detail-rating{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-xl)}.rating-stars{color:#ffb700;font-size:1.2rem;letter-spacing:2px}.rating-score{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.rating-count{color:var(--text-muted);font-size:.9rem}.book-detail-ai-vibe{background:#58a6ff1a;border-left:4px solid var(--accent-blue);padding:var(--space-md) var(--space-lg);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:var(--space-2xl)}.book-detail-ai-vibe h3{font-size:.9rem;text-transform:uppercase;color:var(--accent-blue);letter-spacing:1px;margin-bottom:8px}.book-detail-ai-vibe p{color:var(--text-primary);font-style:italic;font-size:1rem;line-height:1.4}.book-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-2xl);padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md)}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px}.stat-value{font-weight:600;font-size:.95rem;color:var(--text-secondary)}.book-detail-section{margin-bottom:var(--space-2xl)}.book-detail-section h3{font-size:.9rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-md);letter-spacing:1px}.book-detail-description{font-size:1.05rem;line-height:1.7;color:var(--text-secondary);font-weight:400}.book-detail-genres{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.genre-tag{padding:6px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.genre-tag:hover{border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-2px)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,rgba(110,118,129,.15) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.book-card-skeleton .book-card-cover{background:none}.book-card-skeleton .skeleton-cover{width:160px;height:230px;border-radius:var(--radius-md)}.book-card-skeleton .skeleton-title{width:120px;height:14px;margin-top:var(--space-sm)}.book-card-skeleton .skeleton-author{width:80px;height:12px;margin-top:var(--space-xs)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);gap:var(--space-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:.9rem}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md)}.empty-state-text{font-size:1.1rem}@media(max-width:768px){.header{padding:var(--space-sm) var(--space-md)}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.95rem}.book-sections{padding:0 var(--space-md)}.book-card{width:130px}.book-card-cover{width:130px;height:190px}.search-results-grid{grid-template-columns:1fr}.result-card{padding:var(--space-md);gap:var(--space-md)}.result-card-cover{width:80px;min-width:80px;height:120px}.search-bar-container{padding:var(--space-sm) var(--space-md) var(--space-md)}.search-bar{padding-left:var(--space-md)}.book-detail{padding:var(--space-xl) var(--space-md);position:relative}.book-detail-content{margin-top:0;flex-direction:column;align-items:center;padding:var(--space-lg);gap:var(--space-xl)}.book-detail-cover{width:220px;min-width:auto;margin:0 auto;box-shadow:0 20px 40px #00000080}.book-detail-info{text-align:center;display:flex;flex-direction:column;align-items:center;width:100%}.book-detail-title{font-size:1.7rem;text-align:center;line-height:1.2;margin-bottom:var(--space-xs)}.book-detail-author{text-align:center;font-size:1rem;margin-bottom:var(--space-md)}.book-detail-rating{justify-content:center;margin-bottom:var(--space-lg)}.book-detail-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-md);background:transparent;padding:0}.book-detail-desc{text-align:center;font-size:.95rem;max-width:100%}.book-detail-buy{width:100%;justify-content:center;margin-top:var(--space-lg)}}.footer{background:#0d1117cc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-glass);padding:var(--space-2xl) var(--space-xl) 120px;margin-top:auto;z-index:10}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3xl);margin-bottom:var(--space-2xl)}.footer-branding{display:flex;flex-direction:column;gap:var(--space-md)}.footer-logo{display:flex;align-items:center;gap:var(--space-sm)}.footer-logo-icon{width:auto;height:30px;display:block;object-fit:contain;border-radius:var(--radius-sm)}.footer-logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-tagline{color:var(--text-secondary);font-size:.95rem;max-width:340px;line-height:1.6}.footer-section-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);color:var(--text-primary)}.footer-social{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-social-link{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:all var(--transition-fast);padding:var(--space-xs) 0}.footer-social-link:hover{color:var(--accent-blue);transform:translate(4px)}.footer-social-link svg{color:var(--accent-blue)}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:var(--space-lg);border-top:1px solid var(--border-glass);display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3xl);align-items:center;color:var(--text-muted);font-size:.85rem}.footer-credit{font-weight:500;color:var(--text-secondary);text-align:left}@media(max-width:768px){.footer-container{grid-template-columns:1fr;gap:var(--space-xl);text-align:center}.footer-branding{align-items:center}.footer-tagline{max-width:100%}.footer-social-link{justify-content:center}.footer-bottom{grid-template-columns:1fr;gap:var(--space-sm);text-align:center}.footer-credit{align-items:center;text-align:center}}@keyframes slideInCard{0%{opacity:0;transform:translate(60px) translateY(8px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes shimmerSweep{0%{transform:translate3d(-100%,0,0) skew(-15deg)}to{transform:translate3d(200%,0,0) skew(-15deg)}}
