@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-neural: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);--ai-primary: #00D4FF;--ai-secondary: #FF6B6B;--ai-accent: #4ECDC4;--ai-neural: #45B7D1;--ai-glow: rgba(0, 212, 255, .3);--animation-fast: .15s;--animation-medium: .3s;--animation-slow: .5s;--animation-ultra: .8s;--transform-lift: translateY(-8px) scale(1.02);--transform-tilt: perspective(1000px) rotateX(5deg) rotateY(5deg);--transform-float: translateY(-4px) rotate(1deg);--glow-soft: 0 0 20px var(--ai-glow);--glow-medium: 0 0 30px var(--ai-glow), 0 0 60px var(--ai-glow);--glow-strong: 0 0 40px var(--ai-glow), 0 0 80px var(--ai-glow), 0 0 120px var(--ai-glow);--neural-dot-size: 2px;--neural-line-width: 1px;--neural-animation-duration: 3s}.book-card-futuristic{position:relative;background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all var(--animation-medium) cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 2px 8px #0000001a,0 1px 3px #00000014}.book-card-futuristic:before{content:"";position:absolute;inset:0;background:var(--gradient-neural);opacity:0;transition:opacity var(--animation-medium) ease-out;z-index:1;pointer-events:none}.book-card-futuristic:hover{transform:var(--transform-lift);box-shadow:0 12px 32px #00000026,0 8px 16px #0000001a,var(--glow-soft);border-color:var(--ai-primary)}.book-card-futuristic:hover:before{opacity:.05}.book-card-futuristic:active{transform:translateY(-2px) scale(.98);transition-duration:var(--animation-fast)}.ai-recommendation-badge{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--gradient-primary);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;z-index:2;animation:aiPulse 2s ease-in-out infinite}@keyframes aiPulse{0%,to{box-shadow:var(--glow-soft);transform:scale(1)}50%{box-shadow:var(--glow-medium);transform:scale(1.05)}}.book-cover-3d{position:relative;width:100%;height:200px;border-radius:var(--radius-md);overflow:hidden;transition:transform var(--animation-medium) ease-out;transform-style:preserve-3d}.book-card-futuristic:hover .book-cover-3d{transform:var(--transform-tilt)}.book-cover-3d img{width:100%;height:100%;object-fit:cover;transition:filter var(--animation-medium) ease-out}.book-card-futuristic:hover .book-cover-3d img{filter:brightness(1.1) contrast(1.05) saturate(1.1)}.theme-transition-overlay{position:fixed;inset:0;background:var(--bg-primary);opacity:0;pointer-events:none;z-index:9999;transition:opacity var(--animation-slow) ease-in-out}.theme-transition-overlay.active{opacity:1}.theme-switching{transition:background-color var(--animation-ultra) ease-in-out,color var(--animation-ultra) ease-in-out,border-color var(--animation-slow) ease-in-out,box-shadow var(--animation-slow) ease-in-out}.progress-ring{position:relative;width:60px;height:60px;transform:rotate(-90deg)}.progress-ring-circle{fill:none;stroke:var(--border-medium);stroke-width:3;stroke-linecap:round;transition:all var(--animation-medium) ease-out}.progress-ring-progress{fill:none;stroke:var(--ai-primary);stroke-width:3;stroke-linecap:round;stroke-dasharray:0 100;transition:stroke-dasharray var(--animation-slow) ease-out;filter:drop-shadow(0 0 8px var(--ai-glow))}.reading-progress[data-progress="25"] .progress-ring-progress{stroke-dasharray:25 100}.reading-progress[data-progress="50"] .progress-ring-progress{stroke-dasharray:50 100}.reading-progress[data-progress="75"] .progress-ring-progress{stroke-dasharray:75 100}.reading-progress[data-progress="100"] .progress-ring-progress{stroke-dasharray:100 100;stroke:var(--ai-accent);animation:progressComplete 1s ease-out}@keyframes progressComplete{0%{stroke:var(--ai-primary)}50%{stroke:var(--ai-accent);filter:drop-shadow(0 0 16px var(--ai-glow))}to{stroke:var(--ai-accent)}}.book-carousel{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-lg);touch-action:pan-x}.carousel-track{display:flex;transition:transform var(--animation-slow) cubic-bezier(.25,.46,.45,.94);will-change:transform}.carousel-slide{flex:0 0 auto;width:280px;margin-right:var(--space-4);transition:opacity var(--animation-medium) ease-out}.carousel-slide:not(.active){opacity:.7;transform:scale(.95)}.carousel-slide.active{opacity:1;transform:scale(1)}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all var(--animation-fast) ease-out;z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.carousel-nav:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 16px #00000026}.carousel-nav.prev{left:var(--space-2)}.carousel-nav.next{right:var(--space-2)}.ai-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--gradient-primary);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);max-width:250px;z-index:1000;opacity:0;visibility:hidden;transform:translate(-50%) translateY(-8px);transition:all var(--animation-medium) cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 32px #00000026,var(--glow-soft)}.ai-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--ai-primary)}.ai-tooltip.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.ai-thinking{display:inline-flex;align-items:center;gap:var(--space-1)}.ai-thinking:after{content:"";width:4px;height:4px;background:currentColor;border-radius:50%;animation:aiThinking 1.5s ease-in-out infinite}@keyframes aiThinking{0%,20%{opacity:0}40%{opacity:1}60%,to{opacity:0}}.brightness-slider-futuristic{position:relative;width:100%;height:8px;background:var(--border-medium);border-radius:var(--radius-full);overflow:hidden;cursor:pointer;transition:all var(--animation-medium) ease-out}.brightness-slider-futuristic:before{content:"";position:absolute;top:0;left:0;height:100%;background:var(--gradient-accent);border-radius:var(--radius-full);transition:width var(--animation-fast) ease-out;box-shadow:var(--glow-soft)}.brightness-handle{position:absolute;top:50%;width:20px;height:20px;background:#fff;border:2px solid var(--ai-primary);border-radius:50%;transform:translate(-50%,-50%);transition:all var(--animation-medium) ease-out;cursor:grab;box-shadow:0 2px 8px #00000026,var(--glow-soft)}.brightness-handle:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 4px 16px #0003,var(--glow-medium)}.brightness-handle:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.1)}.brightness-overlay{position:fixed;inset:0;background:rgba(255,255,255,var(--brightness-overlay, 0));pointer-events:none;z-index:999;transition:background var(--animation-fast) ease-out}.neural-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.neural-node{position:absolute;width:var(--neural-dot-size);height:var(--neural-dot-size);background:var(--ai-primary);border-radius:50%;opacity:.3;animation:neuralPulse var(--neural-animation-duration) ease-in-out infinite}.neural-connection{position:absolute;height:var(--neural-line-width);background:linear-gradient(90deg,transparent,var(--ai-primary),transparent);opacity:.2;animation:neuralFlow calc(var(--neural-animation-duration) * 2) linear infinite}@keyframes neuralPulse{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}@keyframes neuralFlow{0%{opacity:0;transform:scaleX(0)}50%{opacity:.3;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}.reading-notes-placeholder{--notes-modal-ready: true}.community-feed-placeholder{--community-ready: true}.analytics-dashboard-placeholder{--analytics-ready: true}.component-memory{--memory-brightness: var(--current-brightness, 75);--memory-theme: var(--current-theme, "light");--memory-layout: var(--current-layout, "grid")}.app-shell{display:grid;grid-template-columns:280px 1fr;grid-template-rows:1fr;min-height:100vh;background:var(--neural-bg);overflow:hidden;transition:all .3s var(--ease-out)}.app-shell.layout-collapsed{grid-template-columns:80px 1fr}.app-container{display:contents}.navigation-sidebar{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);z-index:100}.navigation-sidebar h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:var(--space-md);border-bottom:1px solid var(--glass-border)}.navigation-sidebar nav{display:flex;flex-direction:column;gap:var(--space-sm)}.navigation-sidebar a{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all .2s var(--ease-out);position:relative;overflow:hidden}.navigation-sidebar a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent-gradient);transition:left .3s var(--ease-out);z-index:-1}.navigation-sidebar a:hover{color:var(--text-primary);transform:translate(4px)}.navigation-sidebar a:hover:before{left:0}.main-content{padding:var(--space-lg);overflow-y:auto;position:relative}.dashboard{max-width:1400px;margin:0 auto;animation:fadeInUp .6s var(--ease-out)}.dashboard-header{text-align:center;margin-bottom:var(--space-xl);padding:var(--space-xl) 0}.dashboard-header h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 var(--space-md) 0;animation:glow 2s ease-in-out infinite alternate}.dashboard-header p{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.dashboard-grid{display:grid;gap:var(--space-xl);grid-template-columns:2fr 1fr;align-items:start}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.recommendations-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);position:relative;overflow:hidden}.recommendations-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--accent-gradient)}.recommendations-section h2{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-lg) 0;display:flex;align-items:center;gap:var(--space-sm)}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.book-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;transition:all .3s var(--ease-out);cursor:pointer;position:relative;overflow:hidden}.book-card:before{content:"";position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity .3s var(--ease-out);z-index:-1}.book-card:hover{transform:translateY(-8px) scale(1.02);border-color:var(--accent-primary);box-shadow:var(--shadow-xl)}.book-card:hover:before{opacity:.1}.book-cover{width:80px;height:80px;margin:0 auto var(--space-md) auto;background:var(--glass-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:2.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:all .3s var(--ease-out)}.book-card:hover .book-cover{transform:rotateY(15deg) rotateX(5deg);box-shadow:var(--shadow-lg)}.book-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs) 0;line-height:1.4}.book-card p{font-size:.9rem;color:var(--text-secondary);margin:0 0 var(--space-sm) 0}.book-rating{font-size:.9rem;color:var(--accent-warning)}.stats-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);height:fit-content}.stats-section h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-lg) 0;display:flex;align-items:center;gap:var(--space-sm)}.stats-grid{display:grid;gap:var(--space-md)}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;transition:all .3s var(--ease-out);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient)}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--accent-primary);line-height:1;margin-bottom:var(--space-xs)}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.ai-assistant{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:1000}.ai-toggle{width:60px;height:60px;border-radius:50%;background:var(--accent-gradient);border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xl);transition:all .3s var(--ease-out);position:relative;overflow:hidden}.ai-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transition:all .4s var(--ease-out);transform:translate(-50%,-50%)}.ai-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-2xl)}.ai-toggle:hover:before{width:100%;height:100%}.ai-toggle:active{transform:scale(.95)}.loading-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center;max-width:400px;padding:var(--space-xl)}.loading-icon{font-size:4rem;margin-bottom:var(--space-lg);animation:pulse 2s ease-in-out infinite}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top:3px solid var(--accent-primary);border-radius:50%;margin:0 auto var(--space-lg) auto;animation:spin 1s linear infinite}.loading-message{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-lg) 0}.loading-progress{width:100%;height:4px;background:var(--glass-bg);border-radius:2px;overflow:hidden;margin-bottom:var(--space-lg)}.loading-progress-fill{height:100%;background:var(--accent-gradient);transition:width .3s var(--ease-out)}.loading-steps{display:flex;flex-direction:column;gap:var(--space-sm);text-align:left}.loading-step{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);opacity:.5;transition:all .3s var(--ease-out)}.loading-step.active{opacity:1;background:var(--card-bg);border-color:var(--accent-primary)}.step-icon{font-size:1.2rem}.step-text{font-size:.9rem;color:var(--text-secondary);font-weight:500}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-xl)}.error-content{text-align:center;max-width:600px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.error-content h1{font-size:2rem;color:var(--text-primary);margin-bottom:var(--space-md)}.error-content p{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:1.1rem}.error-details{text-align:left;margin-bottom:var(--space-lg);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-md)}.error-details summary{cursor:pointer;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.error-details pre{font-size:.8rem;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;margin:var(--space-sm) 0 0 0}.error-reload-btn{background:var(--accent-gradient);color:#fff;border:none;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-sm)}.error-reload-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.reading-notes,.community-hub,.advanced-analytics{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);animation:fadeInUp .6s var(--ease-out)}.reading-notes h1,.community-hub h1,.advanced-analytics h1{font-size:2.5rem;margin:0;background:var(--accent-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.reading-notes p,.community-hub p,.advanced-analytics p{font-size:1.1rem;color:var(--text-secondary);margin:0;max-width:400px}.fallback-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-lg);text-align:center;background:var(--bg-primary);color:var(--text-primary)}.fallback-loading .loading-icon{font-size:4rem;animation:pulse 2s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%{text-shadow:0 0 10px var(--accent-primary)}to{text-shadow:0 0 20px var(--accent-primary),0 0 30px var(--accent-primary)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.navigation-sidebar{padding:var(--space-md);border-right:none;border-bottom:1px solid var(--glass-border)}.navigation-sidebar nav{flex-direction:row;overflow-x:auto}.main-content{padding:var(--space-md)}.dashboard-grid{gap:var(--space-lg)}.book-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.ai-assistant{bottom:var(--space-md);right:var(--space-md)}.ai-toggle{width:50px;height:50px;font-size:1.2rem}}@media (max-width: 480px){.book-grid{grid-template-columns:1fr 1fr}.dashboard-header h1{font-size:2rem}.recommendations-section,.stats-section{padding:var(--space-lg)}}.book-card{display:flex;flex-direction:column;width:var(--book-card-width);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-all);position:relative;cursor:pointer;box-shadow:var(--shadow-sm)}.book-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-medium)}.book-card:focus{outline:2px solid var(--interactive-primary);outline-offset:2px}.book-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.book-cover{position:relative;width:100%;height:12rem;background:var(--bg-accent);overflow:hidden;border-bottom:1px solid var(--border-subtle)}.book-cover-image{width:100%;height:100%;object-fit:cover;transition:var(--transition-all)}.book-card:hover .book-cover-image{transform:scale(1.05)}.book-cover-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-accent) 0%,var(--border-medium) 100%);color:var(--text-muted);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light)}.book-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.book-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.book-author{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);margin:0;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.book-metadata{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.book-rating{display:flex;align-items:center;gap:var(--space-2)}.book-stars{display:flex;gap:var(--space-1)}.star{width:.875rem;height:.875rem;color:var(--text-muted);transition:var(--transition-fast)}.star.filled{color:var(--status-warning)}.star.half{background:linear-gradient(90deg,var(--status-warning) 50%,var(--text-muted) 50%);background-clip:text;-webkit-background-clip:text;color:transparent}.book-rating-text{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.book-progress{margin-top:var(--space-2)}.book-progress-bar{width:100%;height:.25rem;background:var(--bg-accent);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-1)}.book-progress-fill{height:100%;background:var(--interactive-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.book-progress-text{font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:center}.book-match-score{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--status-info-bg);color:var(--status-info);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-top:var(--space-2)}.match-percentage{font-variant-numeric:tabular-nums}.match-icon{width:.75rem;height:.75rem}.book-genres{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.book-genre{padding:var(--space-1) var(--space-2);background:var(--bg-accent);color:var(--text-secondary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);line-height:1}.book-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.book-action{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);text-align:center;text-decoration:none}.book-action:hover{background:var(--interactive-primary);color:var(--text-inverse);border-color:var(--interactive-primary);transform:translateY(-1px)}.book-action:focus{outline:2px solid var(--interactive-primary);outline-offset:2px}.book-action:active{transform:translateY(0)}.book-action.primary{background:var(--interactive-primary);color:var(--text-inverse);border-color:var(--interactive-primary)}.book-action.primary:hover{background:var(--interactive-hover);border-color:var(--interactive-hover)}.book-card.compact{width:10rem}.book-card.compact .book-cover{height:8rem}.book-card.compact .book-content{padding:var(--space-3);gap:var(--space-1)}.book-card.compact .book-title{font-size:var(--font-size-sm);-webkit-line-clamp:1;line-clamp:1}.book-card.compact .book-author{font-size:var(--font-size-xs)}.book-card.large{width:16rem}.book-card.large .book-cover{height:16rem}.book-card.large .book-content{padding:var(--space-5);gap:var(--space-3)}.book-card.large .book-title{font-size:var(--font-size-lg);-webkit-line-clamp:3;line-clamp:3}.book-card.horizontal{flex-direction:row;width:auto;min-width:24rem;height:8rem}.book-card.horizontal .book-cover{width:6rem;height:100%;border-bottom:none;border-right:1px solid var(--border-subtle)}.book-card.horizontal .book-content{flex:1;padding:var(--space-3);justify-content:space-between}@media (max-width: 768px){.book-card{width:100%;max-width:10rem}.book-cover{height:10rem}.book-content{padding:var(--space-3)}.book-title{font-size:var(--font-size-sm)}.book-actions{flex-direction:column}.book-action{padding:var(--space-3)}}@media (min-width: 768px) and (max-width: 1024px){.book-card{width:var(--book-card-width)}}@media (min-width: 1024px){.book-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}@media (prefers-contrast: high){.book-card,.book-action{border-width:2px}.book-progress-fill{background:var(--text-primary)}}@media (prefers-reduced-motion: reduce){.book-card,.book-cover-image,.book-action,.book-progress-fill{transition:none!important;transform:none!important}.book-card:hover{transform:none}}.book-card:focus-visible{outline:3px solid var(--interactive-primary);outline-offset:3px}.book-action:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:3px}.book-expand-toggle{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.5rem 0;background:none;border:none;font-size:.75rem;font-weight:600;color:var(--interactive-primary);cursor:pointer;transition:color var(--transition-fast)}.book-expand-toggle:hover{color:var(--interactive-hover);text-decoration:underline}.book-expanded-desc{margin:.5rem 0 0;font-size:.8125rem;line-height:1.65;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.book-title{line-height:1.4;letter-spacing:.01em}.book-author{font-size:.8125rem;color:var(--text-tertiary)}.book-card-featured .book-expanded-desc{-webkit-line-clamp:5;line-clamp:5;font-size:.875rem}.book-card.book-card-featured{width:100%;border-radius:var(--radius-xl);border-color:var(--border-medium)}.book-card-featured .book-cover-container{position:relative;padding-top:56.25%}.book-card-featured .book-cover-container>*{position:absolute;inset:0}.book-card-featured .book-title{font-size:var(--font-size-lg);-webkit-line-clamp:3;line-clamp:3}.book-card-featured .book-expanded-desc{-webkit-line-clamp:5;line-clamp:5}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;grid-auto-flow:dense;gap:1.5rem;align-items:start;padding:1rem 0}.bento-item{min-width:0}.bento-item .book-card{width:100%;min-width:0}.bento-item.bento-hero{grid-column:span 2;grid-row:span 2}.bento-item.bento-wide{grid-column:span 2}.bento-item.bento-tall{grid-row:span 2}.bento-item.bento-standard{grid-column:span 1}@media (max-width: 767px){.bento-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.bento-item.bento-hero,.bento-item.bento-wide{grid-column:span 2}.bento-item.bento-tall{grid-row:span 1}}:root[data-theme=light] .book-card{background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=light] .book-card:hover{background:#fffffff2}:root[data-theme=dark] .book-card{background:#2a2a2acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a}:root[data-theme=dark] .book-card:hover{background:#333333e6;box-shadow:var(--shadow-md),inset 0 1px #ffffff26}.book-card.loading{pointer-events:none}.book-card.loading .book-cover{background:linear-gradient(90deg,var(--bg-accent) 0%,var(--border-medium) 50%,var(--bg-accent) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.book-card.loading .book-title,.book-card.loading .book-author{background:var(--bg-accent);color:transparent;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.book-card.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.book-card.selected{border-color:var(--interactive-primary);box-shadow:var(--shadow-md),0 0 0 2px var(--interactive-primary)}.book-card.featured{border-color:var(--status-warning);position:relative}.book-card.featured:before{content:"⭐";position:absolute;top:var(--space-2);right:var(--space-2);z-index:1;background:var(--status-warning);color:#fff;border-radius:var(--radius-full);width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs)}.brightness-control{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition-all);min-width:12rem;position:relative}.brightness-control:hover{background:var(--bg-hover);border-color:var(--border-medium)}.brightness-control:focus-within{outline:2px solid var(--interactive-primary);outline-offset:2px}.brightness-icon{width:1rem;height:1rem;color:var(--text-secondary);transition:var(--transition-all);flex-shrink:0;-webkit-user-select:none;user-select:none}.brightness-icon.sun{color:var(--status-warning)}.brightness-icon.moon{color:var(--interactive-primary)}.brightness-control[data-range=low] .brightness-icon.sun,.brightness-control[data-range=high] .brightness-icon.moon{color:var(--text-muted);opacity:.5}.brightness-control[data-range=balanced] .brightness-icon{opacity:1}.brightness-slider{position:relative;flex:1;height:.5rem;background:var(--bg-accent);border-radius:var(--radius-full);cursor:pointer;outline:none;transition:var(--transition-all)}.brightness-slider:hover{background:var(--border-medium)}.brightness-slider:focus{outline:2px solid var(--interactive-primary);outline-offset:2px}.brightness-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--interactive-primary) 0%,var(--interactive-hover) 100%);border-radius:var(--radius-full);transition:width var(--transition-fast);pointer-events:none}.brightness-control[data-range=low] .brightness-fill{background:linear-gradient(90deg,var(--interactive-primary) 0%,#4A5568 100%)}.brightness-control[data-range=high] .brightness-fill{background:linear-gradient(90deg,var(--status-warning) 0%,#F6AD55 100%)}.brightness-handle{position:absolute;top:50%;width:1.25rem;height:1.25rem;background:var(--bg-primary);border:2px solid var(--interactive-primary);border-radius:var(--radius-full);transform:translate(-50%,-50%);cursor:grab;transition:var(--transition-all);box-shadow:var(--shadow-sm);z-index:2}.brightness-handle:hover,.brightness-handle:focus{border-color:var(--interactive-hover);box-shadow:var(--shadow-md);transform:translate(-50%,-50%) scale(1.1)}.brightness-handle:active,.brightness-handle.dragging{cursor:grabbing;border-color:var(--interactive-active);box-shadow:var(--shadow-lg);transform:translate(-50%,-50%) scale(1.2)}.brightness-control[data-range=low] .brightness-handle{border-color:var(--interactive-primary);background:var(--bg-primary)}.brightness-control[data-range=high] .brightness-handle{border-color:var(--status-warning);background:var(--bg-primary)}.brightness-percentage{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:2.5rem;text-align:right;font-variant-numeric:tabular-nums;transition:var(--transition-all);-webkit-user-select:none;user-select:none}.brightness-control:hover .brightness-percentage{color:var(--text-primary)}@media (max-width: 768px){.brightness-control{min-width:10rem;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.brightness-icon{width:.875rem;height:.875rem}.brightness-handle{width:1.5rem;height:1.5rem}.brightness-percentage{font-size:var(--font-size-xs);min-width:2rem}}@media (min-width: 1024px){.brightness-control{min-width:14rem;padding:var(--space-3) var(--space-5)}.brightness-icon{width:1.125rem;height:1.125rem}}.brightness-control.size-sm{min-width:8rem;padding:var(--space-1) var(--space-2);gap:var(--space-2)}.brightness-control.size-sm .brightness-icon{width:.75rem;height:.75rem}.brightness-control.size-sm .brightness-slider{height:.375rem}.brightness-control.size-sm .brightness-handle{width:1rem;height:1rem}.brightness-control.size-sm .brightness-percentage{font-size:var(--font-size-xs);min-width:2rem}.brightness-control.size-lg{min-width:16rem;padding:var(--space-4) var(--space-6);gap:var(--space-4)}.brightness-control.size-lg .brightness-icon{width:1.25rem;height:1.25rem}.brightness-control.size-lg .brightness-slider{height:.625rem}.brightness-control.size-lg .brightness-handle{width:1.5rem;height:1.5rem}.brightness-control.size-lg .brightness-percentage{font-size:var(--font-size-base);min-width:3rem}@media (prefers-contrast: high){.brightness-control{border-width:2px}.brightness-handle{border-width:3px}.brightness-fill{background:var(--text-primary)}}@media (prefers-reduced-motion: reduce){.brightness-control,.brightness-icon,.brightness-slider,.brightness-fill,.brightness-handle,.brightness-percentage{transition:none!important}}.brightness-slider:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:3px}.brightness-handle:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:3px}:root[data-theme=light] .brightness-control{box-shadow:var(--shadow-sm)}:root[data-theme=light] .brightness-control:hover{box-shadow:var(--shadow-md)}:root[data-theme=dark] .brightness-control{box-shadow:inset 0 1px #ffffff1a}:root[data-theme=dark] .brightness-handle{box-shadow:var(--shadow-sm),inset 0 1px #fff3}.brightness-control.updating .brightness-fill{animation:pulse 1s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.brightness-control.value-changed .brightness-percentage{animation:highlight .3s ease-out}@keyframes highlight{0%{color:var(--status-info);transform:scale(1.1)}to{color:var(--text-secondary);transform:scale(1)}}.brightness-control.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.brightness-control.readonly .brightness-handle{pointer-events:none;cursor:default}.brightness-control.hide-percentage .brightness-percentage,.brightness-control.hide-icons .brightness-icon{display:none}.dashboard-analytics-panel{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-lg);margin-bottom:var(--space-6)}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.analytics-title{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}.analytics-timeframe{font-size:var(--font-size-sm);color:var(--text-secondary)}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4)}@media (max-width: 768px){.analytics-grid{grid-template-columns:1fr}}.analytics-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--animation-medium),box-shadow var(--animation-medium)}.analytics-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.analytics-card h3{font-size:var(--font-size-lg);margin-top:0;margin-bottom:var(--space-4);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2)}.analytics-card h4{font-size:var(--font-size-base);margin-top:0;margin-bottom:var(--space-2);color:var(--text-secondary)}.metrics-container{display:flex;flex-direction:column;gap:var(--space-4)}.metric-group{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.metric-item{display:flex;flex-direction:column;gap:var(--space-1)}.metric-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.metric-value{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.metric-value.ai-mode{color:var(--ai-primary);font-weight:500;text-transform:capitalize}.metric-chart{margin-top:var(--space-2)}.personalization-score{position:relative;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);margin-top:var(--space-2)}.score-fill{position:absolute;top:0;left:0;height:100%;background:var(--gradient-primary);border-radius:var(--radius-full)}.score-text{position:absolute;top:-18px;right:0;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.genre-list{display:flex;flex-direction:column;gap:var(--space-3)}.genre-item{display:grid;grid-template-columns:100px 1fr 40px;align-items:center;gap:var(--space-3)}.genre-name{font-size:var(--font-size-sm);color:var(--text-primary)}.genre-bar-container{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.genre-bar{height:100%;border-radius:var(--radius-full)}.genre-count{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);text-align:right}.ai-stats{margin-top:var(--space-2)}.stats-container{display:flex;justify-content:space-around;margin-top:var(--space-4)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.stat-circle{width:80px;height:80px}.stat-circle svg{width:100%;height:100%}.circle-bg{fill:none;stroke:var(--bg-tertiary);stroke-width:3.8}.circle-fill{fill:none;stroke:var(--ai-primary);stroke-width:3.8;stroke-linecap:round}.circle-text{font-size:10px;fill:var(--text-primary);font-weight:600;text-anchor:middle}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.dashboard-analytics-compact{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-4)}.dashboard-analytics-compact .analytics-title{font-size:var(--font-size-base);margin-bottom:var(--space-3)}.dashboard-analytics-compact .metrics-container{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.dashboard-analytics-compact .metric-item{background:var(--bg-tertiary);padding:var(--space-2);border-radius:var(--radius-sm)}.dashboard-analytics-compact .metric-label{font-size:var(--font-size-xs)}.dashboard-analytics-compact .metric-value{font-size:var(--font-size-base)}.recharts-tooltip-wrapper .recharts-tooltip-item{color:var(--text-primary)!important}.recharts-default-tooltip{background-color:var(--bg-primary)!important;border-color:var(--border-subtle)!important}.recharts-area,.recharts-line,.recharts-bar{transition:opacity var(--animation-medium)}.recharts-layer:hover{cursor:pointer}.recharts-tooltip-wrapper{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.perf-item{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:var(--space-3);text-align:center;position:relative;overflow:hidden}.perf-indicator{position:absolute;bottom:0;left:0;height:3px;background:var(--ai-primary);transition:width var(--animation-slow)}.perf-icon{font-size:1.5rem;margin-bottom:var(--space-2);color:var(--text-secondary)}.perf-value{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.perf-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--space-1) 0 0}.heat-map{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:var(--space-3)}.heat-cell{aspect-ratio:1;border-radius:var(--radius-xs);background-color:var(--bg-tertiary);transition:transform var(--animation-fast),background-color var(--animation-medium)}.heat-cell:hover{transform:scale(1.15)}.heat-cell[data-level="0"]{background-color:var(--bg-tertiary)}.heat-cell[data-level="1"]{background-color:var(--ai-level-1)}.heat-cell[data-level="2"]{background-color:var(--ai-level-2)}.heat-cell[data-level="3"]{background-color:var(--ai-level-3)}.heat-cell[data-level="4"]{background-color:var(--ai-level-4)}@media (min-width: 481px) and (max-width: 768px){.analytics-grid{grid-template-columns:1fr}.metric-group{grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3)}.analytics-card{padding:var(--space-3)}.analytics-title{font-size:var(--font-size-lg)}.metric-chart{margin:var(--space-3) 0}.metric-chart .recharts-responsive-container{height:130px!important}.genre-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.genre-item{grid-template-columns:minmax(70px,auto) 1fr 30px;gap:var(--space-2)}}@media (prefers-contrast: more){.analytics-card{border:2px solid var(--text-primary)}.circle-fill{stroke-width:4.5}.personalization-score{height:12px}.genre-bar-container{height:12px;border:1px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.analytics-card:hover{transform:none}.score-fill,.genre-bar,.circle-fill,.recharts-area,.recharts-line,.recharts-bar{transition:none}}@media print{.dashboard-analytics-panel{background:transparent;box-shadow:none;break-inside:avoid}.analytics-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}.analytics-grid{display:block}}.compact-genres{margin-top:var(--space-md, 1rem);padding-top:var(--space-sm, .5rem);border-top:1px solid var(--glass-border, rgba(148, 163, 184, .25))}.compact-genres-title{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary, #64748b);margin:0 0 .5rem}.compact-genre-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.compact-genre-row{display:flex;align-items:center;gap:.5rem;min-width:0}.compact-genre-name{flex:0 0 5.5rem;font-size:.72rem;color:var(--text-primary, #334155);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-genre-track{flex:1;height:6px;border-radius:999px;background:var(--glass-bg, rgba(148, 163, 184, .18));overflow:hidden}.compact-genre-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ai-primary, #3b82f6),var(--ai-secondary, #8b5cf6));transition:width .5s ease}.compact-genre-count{flex:0 0 1.2rem;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text-secondary, #64748b);text-align:right}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--header-height: 4rem;--sidebar-width: 18rem;--content-max-width: 75rem;--book-card-width: 12rem;--book-card-height: 18rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-serif: "Crimson Text", "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", "Monaco", monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--transition-all: all var(--transition-normal);--brightness: 100%;--brightness-filter: brightness(var(--brightness));--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root[data-theme=light]{--bg-primary: #FAFAF9;--bg-secondary: #F5F5F4;--bg-tertiary: #F0F0EF;--bg-accent: #E7E7E6;--bg-hover: #E5E5E4;--bg-active: #D6D3D1;--glass-bg: rgba(255, 255, 255, .78);--glass-border: rgba(148, 163, 184, .28);--text-primary: #1C1B1A;--text-secondary: #57534E;--text-tertiary: #78716C;--text-muted: #A8A29E;--text-inverse: #FAFAF9;--interactive-primary: #374151;--interactive-hover: #4B5563;--interactive-active: #1F2937;--interactive-disabled: #D1D5DB;--border-subtle: #E5E5E4;--border-medium: #D6D3D1;--border-strong: #A8A29E;--border-interactive: #9CA3AF;--status-success: #059669;--status-success-bg: #ECFDF5;--status-warning: #D97706;--status-warning-bg: #FFFBEB;--status-error: #DC2626;--status-error-bg: #FEF2F2;--status-info: #0284C7;--status-info-bg: #F0F9FF;--focus-ring: 0 0 0 2px var(--interactive-primary);--focus-ring-offset: 2px}:root[data-theme=dark]{--bg-primary: #1E1E1E;--bg-secondary: #2A2A2A;--bg-tertiary: #333333;--bg-accent: #404040;--bg-hover: #4A4A4A;--bg-active: #525252;--glass-bg: rgba(30, 30, 30, .72);--glass-border: rgba(148, 163, 184, .22);--text-primary: #E0E0E0;--text-secondary: #B8B8B8;--text-tertiary: #909090;--text-muted: #686868;--text-inverse: #1E1E1E;--interactive-primary: #9CA3AF;--interactive-hover: #D1D5DB;--interactive-active: #F3F4F6;--interactive-disabled: #404040;--border-subtle: #404040;--border-medium: #525252;--border-strong: #737373;--border-interactive: #6B7280;--status-success: #10B981;--status-success-bg: #064E3B;--status-warning: #F59E0B;--status-warning-bg: #78350F;--status-error: #EF4444;--status-error-bg: #7F1D1D;--status-info: #3B82F6;--status-info-bg: #1E3A8A;--focus-ring: 0 0 0 2px var(--interactive-primary);--focus-ring-offset: 2px}main,.dashboard-content,.book-grid,.recommendation-panel{filter:var(--brightness-filter);transition:filter var(--transition-normal)}.brightness-control,.theme-toggle,.settings-panel,.modal-overlay,.tooltip{filter:none!important}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter;transition-duration:var(--transition-normal);transition-timing-function:ease-in-out}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.brightness-control *,.theme-toggle *,.modal *{transition:none!important}}@media (min-width: 640px){:root{--sidebar-width: 20rem;--book-card-width: 13rem}}@media (min-width: 768px){:root{--header-height: 5rem;--sidebar-width: 22rem;--book-card-width: 14rem}}@media (min-width: 1024px){:root{--sidebar-width: 24rem;--book-card-width: 15rem}}@media (prefers-contrast: high){:root{--border-subtle: var(--border-strong);--text-tertiary: var(--text-secondary);--text-muted: var(--text-tertiary)}}:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring)}:focus:not(:focus-visible){outline:none;box-shadow:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-transition{transition:all var(--transition-normal)}.brightness-transition{transition:filter var(--transition-normal)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--bg-primary);color:var(--text-primary);padding:8px;text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-link:focus{top:6px}@media (max-width: 767.98px){.app-shell{grid-template-columns:1fr!important;grid-template-rows:auto 1fr}.navigation-sidebar{position:fixed!important;top:0;left:0;bottom:0;z-index:60;width:min(82vw,300px)!important;transform:translate(-105%);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:none!important}.app-shell.mobile-open .navigation-sidebar{transform:translate(0);box-shadow:0 0 48px #0006!important}.navigation-sidebar [aria-label*="Collapse sidebar"],.navigation-sidebar [aria-label*="Expand sidebar"]{display:none}.sidebar-analytics{display:none!important}.main-content{margin-left:0!important;padding:calc(env(safe-area-inset-top,0px) + 4.25rem) 1rem calc(env(safe-area-inset-bottom,0px) + 5.25rem)}.mobile-topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:.75rem;padding:calc(env(safe-area-inset-top,0px) + .5rem) 1rem .5rem;background:var(--glass-bg, rgba(255, 255, 255, .85));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border, rgba(148, 163, 184, .25))}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:.75rem;border:1px solid var(--glass-border, rgba(148, 163, 184, .25));background:transparent;color:var(--text-primary, #334155);cursor:pointer}.mobile-menu-button:active{transform:scale(.96)}.mobile-topbar-brand{font-weight:700;font-size:1.05rem;color:var(--text-primary, #334155);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-backdrop{position:fixed;inset:0;z-index:55;border:none;background:#0f172a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer}.ai-toggle{bottom:calc(env(safe-area-inset-bottom,0px) + 5rem)}.mobile-hide-on-phone{display:none!important}.navigation-sidebar nav a{min-height:44px}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:stretch;gap:.25rem;padding:.375rem .75rem calc(env(safe-area-inset-bottom,0px) + .375rem);background:var(--glass-bg, rgba(255, 255, 255, .85));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-border, rgba(148, 163, 184, .25))}.mobile-bottom-tab{flex:1;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:.375rem .25rem;border:none;background:none;color:var(--text-tertiary, #78716c);font-size:.6875rem;font-weight:600;border-radius:.75rem;text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.mobile-bottom-tab.active{color:var(--interactive-primary, #374151)}.mobile-bottom-tab:active{background:var(--bg-hover, rgba(0, 0, 0, .05))}.mobile-bottom-badge{position:absolute;top:-5px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--status-error, #dc2626);color:#fff;font-size:.625rem;line-height:16px;text-align:center}}@media (min-width: 768px){.mobile-topbar,.mobile-backdrop,.mobile-bottom-nav{display:none!important}.mobile-hide-on-phone{display:block!important}}.theme-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition-all);position:relative}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-medium)}.theme-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);position:relative;min-height:2.25rem;-webkit-user-select:none;user-select:none}.theme-option:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-option:focus{outline:2px solid var(--interactive-primary);outline-offset:2px}.theme-option.active{background:var(--interactive-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.theme-option.active:hover{background:var(--interactive-hover)}.theme-icon{width:1rem;height:1rem;transition:var(--transition-all);flex-shrink:0}.theme-option:hover .theme-icon{transform:scale(1.1)}.theme-option.active .theme-icon{transform:scale(1.1);filter:brightness(1.2)}.theme-option[data-theme=light] .theme-icon{color:var(--status-warning)}.theme-option[data-theme=dark] .theme-icon{color:var(--interactive-primary)}.theme-option[data-theme=system] .theme-icon{color:var(--text-secondary)}.theme-option[data-theme=light].active .theme-icon,.theme-option[data-theme=dark].active .theme-icon,.theme-option[data-theme=system].active .theme-icon{color:var(--text-inverse)}.theme-toggle.compact{padding:var(--space-1);gap:var(--space-1)}.theme-toggle.compact .theme-option{padding:var(--space-2);min-height:2rem}.theme-toggle.compact .theme-option .theme-label{display:none}.theme-toggle.compact .theme-icon{width:1.125rem;height:1.125rem}.theme-toggle.radio-style{background:var(--bg-secondary);padding:var(--space-1);gap:var(--space-1);border-radius:var(--radius-xl)}.theme-toggle.radio-style .theme-option{border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-medium);transition:all .2s cubic-bezier(.4,0,.2,1)}.theme-toggle.radio-style .theme-option.active{background:var(--bg-primary);box-shadow:var(--shadow-md),0 0 0 1px var(--border-subtle);transform:translateY(-1px)}.theme-toggle.dropdown{position:relative;background:var(--bg-tertiary);cursor:pointer;min-width:8rem}.theme-toggle.dropdown .theme-current{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);width:100%}.theme-toggle.dropdown .theme-dropdown-icon{width:.875rem;height:.875rem;color:var(--text-secondary);transition:var(--transition-all)}.theme-toggle.dropdown.open .theme-dropdown-icon{transform:rotate(180deg)}.theme-toggle.dropdown .theme-options{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);margin-top:var(--space-1);opacity:0;visibility:hidden;transform:translateY(-.5rem);transition:var(--transition-all)}.theme-toggle.dropdown.open .theme-options{opacity:1;visibility:visible;transform:translateY(0)}.theme-toggle.dropdown .theme-option{width:100%;border-radius:0;justify-content:flex-start}.theme-toggle.dropdown .theme-option:first-child{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.theme-toggle.dropdown .theme-option:last-child{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}@media (max-width: 768px){.theme-toggle:not(.compact){gap:var(--space-2);padding:var(--space-2)}.theme-option{padding:var(--space-2);font-size:var(--font-size-xs);min-height:2rem}.theme-icon{width:.875rem;height:.875rem}.theme-toggle.auto-compact .theme-label{display:none}}@media (min-width: 1024px){.theme-toggle{padding:var(--space-3);gap:var(--space-4)}.theme-option{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}.theme-icon{width:1.125rem;height:1.125rem}}.theme-toggle.size-sm{padding:var(--space-1);gap:var(--space-1)}.theme-toggle.size-sm .theme-option{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);min-height:1.75rem}.theme-toggle.size-sm .theme-icon{width:.875rem;height:.875rem}.theme-toggle.size-lg{padding:var(--space-4);gap:var(--space-4)}.theme-toggle.size-lg .theme-option{padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);min-height:2.75rem}.theme-toggle.size-lg .theme-icon{width:1.25rem;height:1.25rem}.theme-toggle[aria-label]:not([aria-label=""]) .theme-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){.theme-toggle{border-width:2px}.theme-option.active{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.theme-toggle,.theme-option,.theme-icon,.theme-options{transition:none!important;animation:none!important}.theme-toggle.dropdown .theme-dropdown-icon{transition:none!important}}.theme-option:focus-visible{outline:2px solid var(--interactive-primary);outline-offset:2px;z-index:1}:root[data-theme=light] .theme-toggle{box-shadow:var(--shadow-sm)}:root[data-theme=light] .theme-toggle:hover{box-shadow:var(--shadow-md)}:root[data-theme=light] .theme-toggle.dropdown .theme-options{box-shadow:var(--shadow-xl)}:root[data-theme=dark] .theme-toggle{box-shadow:inset 0 1px #ffffff1a}:root[data-theme=dark] .theme-option.active{box-shadow:var(--shadow-sm),inset 0 1px #fff3}.theme-toggle.transitioning{pointer-events:none}.theme-toggle.transitioning .theme-option.active{animation:theme-switch .3s ease-out}@keyframes theme-switch{0%{transform:scale(1);background:var(--interactive-primary)}50%{transform:scale(1.05);background:var(--interactive-hover)}to{transform:scale(1);background:var(--interactive-primary)}}.theme-toggle.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.theme-toggle.loading .theme-option{pointer-events:none}.theme-toggle.loading .theme-option.active:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.theme-toggle.no-labels .theme-label,.theme-toggle.icons-only .theme-label{display:none}.theme-toggle.icons-only .theme-option{padding:var(--space-2)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Menlo,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-2{inset:.5rem}.inset-x-0{left:0;right:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1{left:.25rem}.left-3{left:.75rem}.left-3\.5{left:.875rem}.left-4{left:1rem}.left-6{left:1.5rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-4{top:1rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[2\/3\]{aspect-ratio:2/3}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[520px\]{height:520px}.h-full{height:100%}.max-h-\[70vh\]{max-height:70vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[380px\]{min-height:380px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[380px\]{width:380px}.w-\[7\%\]{width:7%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[220px\]{max-width:220px}.max-w-\[85\%\]{max-width:85%}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-black\/60{background-color:#0009}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/80{background-color:#fffc}.bg-white\/85{background-color:#ffffffd9}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600\/10{--tw-gradient-from: rgb(37 99 235 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-950{--tw-gradient-from: #020617 var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-950{--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #172554 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to: #e0e7ff var(--tw-gradient-to-position)}.to-indigo-950{--tw-gradient-to: #1e1b4b var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to: #f3e8ff var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to: rgb(147 51 234 / .1) var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[10\%\]{padding-left:10%;padding-right:10%}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-\[8\%\]{padding-bottom:8%}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-\[4\%\]{padding-left:4%}.pr-10{padding-right:2.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-\[22\%\]{padding-top:22%}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Inter,system-ui,-apple-system,sans-serif}.font-serif{font-family:Crimson Text,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-100{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.accent-blue-600{accent-color:#2563eb}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/25{--tw-shadow-color: rgb(59 130 246 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/30{--tw-shadow-color: rgb(59 130 246 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--color-primary: #3b82f6;--color-primary-dark: #1d4ed8;--color-secondary: #8b5cf6;--color-accent: #06b6d4;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--font-family-sans: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Menlo", "Monaco", monospace;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}[data-theme=dark]{--color-gray-50: #111827;--color-gray-100: #1f2937;--color-gray-200: #374151;--color-gray-300: #4b5563;--color-gray-400: #6b7280;--color-gray-500: #9ca3af;--color-gray-600: #d1d5db;--color-gray-700: #e5e7eb;--color-gray-800: #f3f4f6;--color-gray-900: #f9fafb}*{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-family-sans);line-height:1.6;scroll-behavior:smooth}body{background-color:var(--color-gray-50);color:var(--color-gray-900);overflow-x:hidden}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}.card-hover{transition:all var(--transition-normal)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.focus-ring{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #3b82f64d}50%{box-shadow:0 0 30px #3b82f699}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-in-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-pulse-glow{animation:pulse-glow 2s infinite}.animate-slide-in-right{animation:slide-in-right .3s ease-out}.animate-fade-in-up{animation:fade-in-up .5s ease-out}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background:var(--color-gray-200);border-color:var(--color-gray-400)}.book-card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-md);transition:all var(--transition-normal);border:1px solid var(--color-gray-200)}.book-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.book-cover{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,var(--color-gray-200),var(--color-gray-300));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1rem}.book-title{font-weight:600;font-size:1.125rem;color:var(--color-gray-900);margin-bottom:.5rem;line-height:1.4}.book-author{color:var(--color-gray-600);font-size:.875rem;margin-bottom:.75rem}.book-rating{display:flex;align-items:center;gap:.25rem;margin-bottom:1rem}.rating-star{color:var(--color-warning);font-size:1rem}.rating-number{color:var(--color-gray-600);font-size:.875rem;margin-left:.5rem}.progress-bar{width:100%;height:.5rem;background:var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:width var(--transition-normal)}.progress-text{font-size:.75rem;color:var(--color-gray-500);text-align:right}.stat-card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);transition:all var(--transition-normal)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:3rem;height:3rem;margin:0 auto 1rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-number{font-size:2rem;font-weight:800;color:var(--color-gray-900);margin-bottom:.5rem}.stat-label{font-size:.875rem;color:var(--color-gray-600);font-weight:500}.stat-change{font-size:.75rem;font-weight:600;margin-top:.25rem}.stat-change.positive{color:var(--color-success)}.stat-change.negative{color:var(--color-error)}@media (max-width: 768px){.main-content{margin-left:0;padding-top:4rem}.navigation-sidebar{transform:translate(-100%)}.navigation-sidebar.mobile-open{transform:translate(0)}.book-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 480px){.book-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.card{border:2px solid currentColor}.btn-primary{border:2px solid white}.btn-secondary{border:2px solid currentColor}}@media print{.navigation-sidebar,.floating-action-button,.toast-container{display:none!important}.main-content{margin-left:0!important}.book-card{break-inside:avoid}}body,.app-shell,.main-content,.dashboard,.navigation-sidebar,.card,.book-card,.stat-card,.header{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.dark ::-webkit-scrollbar-track{background:#1f2937}.dark ::-webkit-scrollbar-thumb{background:#4b5563}.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}.neural-background{background-image:radial-gradient(circle at 15% 20%,rgba(59,130,246,.12) 0,transparent 18%),radial-gradient(circle at 85% 15%,rgba(139,92,246,.1) 0,transparent 20%),radial-gradient(circle at 70% 80%,rgba(6,182,212,.08) 0,transparent 18%),radial-gradient(circle at 30% 75%,rgba(59,130,246,.08) 0,transparent 16%)}::selection{background:#3b82f640;color:inherit}.book-title,.book-author,.recommendation-explanation{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.recommendations-title{font-size:1.5rem;font-weight:700;color:var(--color-gray-900);margin-bottom:.5rem}.dark .recommendations-title{color:#f9fafb}.recommendation-explanation{font-size:.85rem;color:var(--color-gray-500);text-align:center;margin-top:1.5rem;line-height:1.6}.recommendation-empty{text-align:center;color:var(--color-gray-500);padding:3rem 1rem;border:1px dashed var(--color-gray-300);border-radius:var(--radius-xl)}.skeleton-animation{width:100%;height:100%;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-lg)}@keyframes routeFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.main-content>*{animation:routeFadeIn .35s ease-out}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.hover\:border-green-400:hover{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1))}.hover\:border-purple-400:hover{--tw-border-opacity: 1;border-color:rgb(192 132 252 / var(--tw-border-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:from-blue-700:hover{--tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-green-700:hover{--tw-gradient-from: #15803d var(--tw-gradient-from-position);--tw-gradient-to: rgb(21 128 61 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-purple-700:hover{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.hover\:to-teal-700:hover{--tw-gradient-to: #0f766e var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:bg-white:focus{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500\/30:focus{--tw-ring-color: rgb(59 130 246 / .3)}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-blue-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-gray-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.dark\:border-purple-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 33 168 / var(--tw-border-opacity, 1))}.dark\:border-purple-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(88 28 135 / var(--tw-border-opacity, 1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700\/60:is(.dark *){background-color:#37415199}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/85:is(.dark *){background-color:#1f2937d9}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900\/80:is(.dark *){background-color:#111827cc}.dark\:bg-gray-950\/50:is(.dark *){background-color:#03071280}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-purple-900\/20:is(.dark *){background-color:#581c8733}.dark\:bg-purple-900\/30:is(.dark *){background-color:#581c874d}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:from-blue-900\/40:is(.dark *){--tw-gradient-from: rgb(30 58 138 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-blue-900:is(.dark *){--tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:via-blue-950:is(.dark *){--tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #172554 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-indigo-900:is(.dark *){--tw-gradient-to: #312e81 var(--tw-gradient-to-position)}.dark\:to-indigo-950:is(.dark *){--tw-gradient-to: #1e1b4b var(--tw-gradient-to-position)}.dark\:to-purple-900\/40:is(.dark *){--tw-gradient-to: rgb(88 28 135 / .4) var(--tw-gradient-to-position)}.dark\:text-blue-100:is(.dark *){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-green-100:is(.dark *){--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.dark\:hover\:border-blue-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-blue-900\/50:hover:is(.dark *){background-color:#1e3a8a80}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:#14532d4d}.dark\:hover\:text-amber-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:focus\:bg-gray-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.group:hover .dark\:group-hover\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-44{width:11rem}.sm\:w-56{width:14rem}.sm\:w-64{width:16rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:p-8{padding:2rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width: 768px){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
