@layer md3-components{@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.login-container{animation:slideInUp .6s cubic-bezier(.2,0,0,1)}.login-card{animation:fadeInScale .8s cubic-bezier(.2,0,0,1) .2s both}.login-logo{animation:fadeInScale 1s cubic-bezier(.2,0,0,1) .1s both}.login-background{background:radial-gradient(circle at 20% 50%,rgba(var(--md-sys-color-primary),.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(var(--md-sys-color-secondary),.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(var(--md-sys-color-tertiary),.1) 0%,transparent 50%)}.floating-element{animation:float 6s ease-in-out infinite}.floating-element:nth-child(2){animation-delay:-2s}.floating-element:nth-child(3){animation-delay:-4s}.login-card-enhanced{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:rgba(var(--md-sys-color-surface-container),.8);border:1px solid rgba(var(--md-sys-color-outline-variant),.2);box-shadow:0 8px 32px rgba(var(--md-sys-color-shadow),.1),0 4px 16px rgba(var(--md-sys-color-shadow),.05),inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.2,0,0,1)}.login-card-enhanced:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(var(--md-sys-color-shadow),.15),0 8px 24px rgba(var(--md-sys-color-shadow),.1),inset 0 1px #ffffff1a}.logo-container{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.15),rgba(var(--md-sys-color-primary),.05));border:1px solid rgba(var(--md-sys-color-primary),.1);transition:all .3s cubic-bezier(.2,0,0,1)}.logo-container:hover{transform:scale(1.05) rotate(2deg);background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.2),rgba(var(--md-sys-color-primary),.1))}.login-field{transition:all .2s cubic-bezier(.2,0,0,1)}.login-field:focus-within{transform:translateY(-1px)}.login-button-primary{background:linear-gradient(135deg,rgb(var(--md-sys-color-primary)),rgba(var(--md-sys-color-primary),.9));position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}.login-button-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button-primary:hover:before{left:100%}.login-button-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(var(--md-sys-color-primary),.4),0 4px 12px rgba(var(--md-sys-color-primary),.2)}.login-button-primary:active{transform:translateY(0)}.loading-spinner{border:2px solid rgba(var(--md-sys-color-on-primary),.3);border-top:2px solid rgb(var(--md-sys-color-on-primary));border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{animation:slideInUp .3s cubic-bezier(.2,0,0,1);background:linear-gradient(135deg,rgba(var(--md-sys-color-error-container),.2),rgba(var(--md-sys-color-error-container),.1));border-left:4px solid rgb(var(--md-sys-color-error))}.divider-enhanced{position:relative}.divider-enhanced:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--md-sys-color-outline-variant),.5),transparent)}.footer-link{position:relative;transition:all .2s cubic-bezier(.2,0,0,1)}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:rgb(var(--md-sys-color-primary));transition:width .3s cubic-bezier(.2,0,0,1)}.footer-link:hover:after{width:100%}@media (max-width: 640px){.login-container{padding:1rem}.login-card-enhanced{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo-container{width:4rem;height:4rem}}@media (prefers-color-scheme: dark){.login-card-enhanced{box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff0d}.login-card-enhanced:hover{box-shadow:0 12px 40px #0006,0 8px 24px #0000004d,inset 0 1px #ffffff0d}}@media (prefers-reduced-motion: reduce){.login-container,.login-card,.login-logo,.floating-element,.login-field,.login-button-primary,.error-message{animation:none}.logo-container:hover,.login-card-enhanced:hover,.login-button-primary:hover,.login-field:focus-within{transform:none}}@media (prefers-contrast: high){.login-card-enhanced{border:2px solid rgb(var(--md-sys-color-outline));background:rgb(var(--md-sys-color-surface));backdrop-filter:none;-webkit-backdrop-filter:none}.logo-container{border:2px solid rgb(var(--md-sys-color-primary))}}}.dashboard-content{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:1400px;margin:0 auto}.dashboard-hero-card{background:var(--md-sys-color-surface);border-radius:24px}.dashboard-hero-grid{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.dashboard-hero-info{display:flex;flex-direction:column;gap:8px;min-width:0}.dashboard-hero-actions{display:flex;flex-direction:column;gap:12px}.md3-headline-small{font-size:24px;line-height:32px;font-weight:400;letter-spacing:0;color:var(--md-sys-color-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-body-medium{font-size:14px;line-height:20px;font-weight:400;letter-spacing:.25px;color:var(--md-sys-color-on-surface)}.md3-body-small{font-size:12px;line-height:16px;font-weight:400;letter-spacing:.4px;color:var(--md-sys-color-on-surface-variant)}.md3-on-surface-variant{color:var(--md-sys-color-on-surface-variant)}.md3-icon{font-size:24px;width:24px;height:24px}.md3-icon-small{font-size:18px;width:18px;height:18px;margin-right:8px}.dashboard-chip-group{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.dashboard-grid-container{display:grid;grid-template-columns:2fr 1fr;gap:16px}.dashboard-mentor-card{grid-column:span 2}.dashboard-mentor-content{display:flex;flex-direction:column;gap:16px}.dashboard-input-group{display:flex;align-items:center;gap:12px}.dashboard-quick-actions{background:var(--md-sys-color-surface)}.dashboard-actions-list{display:flex;flex-direction:column;gap:8px}.dashboard-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.dashboard-book-item{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px}.dashboard-activity-list{display:flex;flex-direction:column;gap:16px}.dashboard-activity-item{display:flex;align-items:flex-start;gap:12px}.space-y-1>*+*{margin-top:4px}.space-y-6>*+*{margin-top:24px}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}@media (max-width: 900px){.dashboard-hero-grid{grid-template-columns:1fr;text-align:center}.dashboard-grid-container{grid-template-columns:1fr}.dashboard-mentor-card{grid-column:span 1}.dashboard-books-grid{grid-template-columns:1fr}}@media (max-width: 600px){.dashboard-content{padding:16px;gap:16px}.dashboard-hero-actions{flex-direction:row;justify-content:center}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.pt-1{padding-top:4px}.text-base{font-size:16px}.mr-1{margin-right:4px}@media (min-width: 768px){.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.md\:grid-cols-\[auto\,1fr\,auto\]{grid-template-columns:auto 1fr auto}}.btn,.card,.chip,.dialog,.snackbar{will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}.btn{contain:layout style}.card{contain:layout style paint}.list-item{contain:layout}.btn{transition:transform .15s cubic-bezier(.2,0,0,1),box-shadow .15s cubic-bezier(.2,0,0,1),background-color .15s cubic-bezier(.2,0,0,1)}.btn:hover{transform:translateY(-1px) scale(1.02);transition-duration:.1s}.btn:active{transform:translateY(0) scale(.98);transition-duration:50ms}.btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity 75ms ease-out;pointer-events:none;border-radius:inherit}.btn:hover:before{opacity:.08}.btn:focus-visible:before{opacity:.12}.btn:active:before{opacity:.16;transition-duration:25ms}.text-field{transition:border-color .15s ease-out,box-shadow .15s ease-out;will-change:border-color,box-shadow}.text-field:focus{transition-duration:.1s}.text-field-label{transition:transform .15s cubic-bezier(.2,0,0,1),color .15s cubic-bezier(.2,0,0,1),font-size .15s cubic-bezier(.2,0,0,1);will-change:transform}.card{transition:transform .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}.card:hover{transform:translateY(-2px);transition-duration:.15s}.scroll-container{contain:layout style;overflow-anchor:auto;scroll-behavior:smooth}.scroll-indicator{transform:translate(var(--scroll-position, 0));transition:transform .1s ease-out;will-change:transform}.virtual-list-container{contain:strict;overflow-anchor:none}.virtual-list-item{contain:layout style;will-change:transform}:root{--motion-duration-short1: 50ms;--motion-duration-short2: .1s;--motion-duration-short3: .15s;--motion-duration-short4: .2s;--motion-duration-medium1: .25s;--motion-duration-medium2: .3s;--motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1)}.slide-enter{transform:translate(100%)}.slide-enter-active{transform:translate(0);transition:transform .2s var(--motion-easing-emphasized)}.slide-exit{transform:translate(0)}.slide-exit-active{transform:translate(-100%);transition:transform .2s var(--motion-easing-emphasized)}.ripple-container{position:relative;overflow:hidden;contain:layout style paint}.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.24;transform:scale(0);animation:ripple .6s cubic-bezier(.2,0,0,1);pointer-events:none}@keyframes ripple{to{transform:scale(2);opacity:0}}.focus-ring{transition:box-shadow .1s ease-out,outline .1s ease-out}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite;will-change:transform}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;will-change:background-position}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.book-card{min-height:200px}.user-avatar{width:40px;height:40px}.surface{background-color:var(--md-sys-color-surface)}.on-surface{color:var(--md-sys-color-on-surface)}.primary{background-color:var(--md-sys-color-primary)}.on-primary{color:var(--md-sys-color-on-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (hover: none){.btn:hover{transform:none}}@media (min-resolution: 120dpi){.btn,.card{transition-duration:.12s}}@layer md3-components{@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.login-container{animation:slideInUp .6s cubic-bezier(.2,0,0,1)}.login-card{animation:fadeInScale .8s cubic-bezier(.2,0,0,1) .2s both}.login-logo{animation:fadeInScale 1s cubic-bezier(.2,0,0,1) .1s both}.login-background{background:radial-gradient(circle at 20% 50%,rgba(var(--md-sys-color-primary),.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(var(--md-sys-color-secondary),.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(var(--md-sys-color-tertiary),.1) 0%,transparent 50%)}.floating-element{animation:float 6s ease-in-out infinite}.floating-element:nth-child(2){animation-delay:-2s}.floating-element:nth-child(3){animation-delay:-4s}.login-card-enhanced{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:rgba(var(--md-sys-color-surface-container),.8);border:1px solid rgba(var(--md-sys-color-outline-variant),.2);box-shadow:0 8px 32px rgba(var(--md-sys-color-shadow),.1),0 4px 16px rgba(var(--md-sys-color-shadow),.05),inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.2,0,0,1)}.login-card-enhanced:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(var(--md-sys-color-shadow),.15),0 8px 24px rgba(var(--md-sys-color-shadow),.1),inset 0 1px #ffffff1a}.logo-container{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.15),rgba(var(--md-sys-color-primary),.05));border:1px solid rgba(var(--md-sys-color-primary),.1);transition:all .3s cubic-bezier(.2,0,0,1)}.logo-container:hover{transform:scale(1.05) rotate(2deg);background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.2),rgba(var(--md-sys-color-primary),.1))}.login-field{transition:all .2s cubic-bezier(.2,0,0,1)}.login-field:focus-within{transform:translateY(-1px)}.login-button-primary{background:linear-gradient(135deg,rgb(var(--md-sys-color-primary)),rgba(var(--md-sys-color-primary),.9));position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}.login-button-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button-primary:hover:before{left:100%}.login-button-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(var(--md-sys-color-primary),.4),0 4px 12px rgba(var(--md-sys-color-primary),.2)}.login-button-primary:active{transform:translateY(0)}.loading-spinner{border:2px solid rgba(var(--md-sys-color-on-primary),.3);border-top:2px solid rgb(var(--md-sys-color-on-primary));border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{animation:slideInUp .3s cubic-bezier(.2,0,0,1);background:linear-gradient(135deg,rgba(var(--md-sys-color-error-container),.2),rgba(var(--md-sys-color-error-container),.1));border-left:4px solid rgb(var(--md-sys-color-error))}.divider-enhanced{position:relative}.divider-enhanced:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--md-sys-color-outline-variant),.5),transparent)}.footer-link{position:relative;transition:all .2s cubic-bezier(.2,0,0,1)}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:rgb(var(--md-sys-color-primary));transition:width .3s cubic-bezier(.2,0,0,1)}.footer-link:hover:after{width:100%}@media (max-width: 640px){.login-container{padding:1rem}.login-card-enhanced{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo-container{width:4rem;height:4rem}}@media (prefers-color-scheme: dark){.login-card-enhanced{box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff0d}.login-card-enhanced:hover{box-shadow:0 12px 40px #0006,0 8px 24px #0000004d,inset 0 1px #ffffff0d}}@media (prefers-reduced-motion: reduce){.login-container,.login-card,.login-logo,.floating-element,.login-field,.login-button-primary,.error-message{animation:none}.logo-container:hover,.login-card-enhanced:hover,.login-button-primary:hover,.login-field:focus-within{transform:none}}@media (prefers-contrast: high){.login-card-enhanced{border:2px solid rgb(var(--md-sys-color-outline));background:rgb(var(--md-sys-color-surface));backdrop-filter:none;-webkit-backdrop-filter:none}.logo-container{border:2px solid rgb(var(--md-sys-color-primary))}}}.premium-dashboard{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;position:relative}.premium-dashboard:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.3) 0%,transparent 50%);pointer-events:none;z-index:0}.premium-dashboard>div{position:relative;z-index:1}.premium-welcome-header{margin-bottom:2rem}.welcome-gradient-bg{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;position:relative;overflow:hidden;box-shadow:0 10px 25px #667eea4d}.welcome-gradient-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.welcome-gradient-bg:after{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.premium-action-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden}.premium-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.premium-action-button:hover:before{left:100%}.premium-action-button.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 15px #3b82f666}.premium-action-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.premium-action-button.secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.premium-action-button.secondary:hover{background:#ffffff4d;transform:translateY(-1px)}.premium-action-button.tertiary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.premium-action-button.tertiary:hover{background:#ffffff40;transform:translateY(-1px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:24px 0}.stat-card{background:#fff;border-radius:16px;padding:24px;text-align:center;border:2px solid transparent;transition:all .3s ease;box-shadow:0 4px 6px #0000000d;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #00000026}.stat-card.books{border-color:#3b82f6}.stat-card.books:hover{border-color:#1d4ed8;box-shadow:0 12px 25px #3b82f640}.stat-card.pages{border-color:#10b981}.stat-card.pages:hover{border-color:#059669;box-shadow:0 12px 25px #10b98140}.stat-card.completed{border-color:#f59e0b}.stat-card.completed:hover{border-color:#d97706;box-shadow:0 12px 25px #f59e0b40}.stat-card.streak{border-color:#ef4444}.stat-card.streak:hover{border-color:#dc2626;box-shadow:0 12px 25px #ef444440}.stat-card.notes{border-color:#8b5cf6}.stat-card.notes:hover{border-color:#7c3aed;box-shadow:0 12px 25px #8b5cf640}.stat-icon{font-size:2.5rem;margin-bottom:12px;display:block}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:4px;color:#1f2937}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.quick-stat-card{background:#fff;border-radius:12px;padding:20px;text-align:center;border:1px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden}.quick-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.quick-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transform:scaleX(0);transition:transform .3s ease}.quick-stat-card:hover:before{transform:scaleX(1)}.stat-icon-container{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 4px 15px #0003}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.achievement-item{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.achievement-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.achievement-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.achievement-card.unlocked{background:linear-gradient(135deg,#fffbeb,#fef3c7);box-shadow:0 4px 15px #fbbf244d;position:relative}.achievement-card.unlocked:before,.achievement-item.unlocked:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(transparent,rgba(245,158,11,.3),transparent);border-radius:50%;animation:rotate-glow 3s linear infinite;z-index:-1}.achievement-card.locked{background:#f9fafb;border-color:#d1d5db;opacity:.7}.achievement-icon{font-size:2rem;margin-bottom:8px;display:block}.achievement-title{font-weight:700;margin-bottom:4px;color:#1f2937}.achievement-description{font-size:.875rem;color:#6b7280}.achievement-mini-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center;transition:all .3s ease}.achievement-mini-card.unlocked{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.achievement-mini-card.locked{background:#f9fafb;border-color:#d1d5db;opacity:.7}.achievements-showcase{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb}.achievement-glow{position:relative}.achievement-glow:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(transparent,rgba(245,158,11,.3),transparent);border-radius:50%;animation:rotate-glow 3s linear infinite;z-index:-1}.reading-goals{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb}.goal-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px;transition:all .3s ease}.goal-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.goal-progress{margin-top:12px}.goal-progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:8px}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;transition:width .8s ease}.level-progress-bar{background:#ffffff4d;border-radius:8px;height:8px;overflow:hidden;position:relative}.level-progress-fill{background:linear-gradient(90deg,#fff,#f0f9ff);height:100%;border-radius:8px;transition:width .8s ease-out;position:relative;box-shadow:0 0 10px #fff9}.level-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}.level-progress-card{background:linear-gradient(135deg,#fefce8,#fef3c7);border:2px solid #f59e0b;border-radius:16px;padding:24px;margin:24px 0}.challenge-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb;transition:all .3s ease}.challenge-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.mini-goal-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;transition:all .3s ease}.mini-goal-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px}.quick-action-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease}.quick-action-button.green{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.quick-action-button.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.quick-action-button.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.quick-action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.reading-tip-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:16px;padding:24px;margin:24px 0}.reading-tip-title{font-size:18px;font-weight:700;margin-bottom:8px;color:#0f172a}.reading-tip-content{color:#475569;line-height:1.6;margin:0}.recent-books{background:#fff;border-radius:16px;padding:24px;border:1px solid #e5e7eb}.cta-section{margin-top:40px;position:relative}.cta-section:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px}@keyframes rotate-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.premium-dashboard *{animation-duration:.6s;animation-fill-mode:both}.premium-welcome-header{animation-name:fadeInUp;animation-delay:.1s}.quick-stat-card:nth-child(1),.stat-card:nth-child(1){animation-name:fadeInUp;animation-delay:.2s}.quick-stat-card:nth-child(2),.stat-card:nth-child(2){animation-name:fadeInUp;animation-delay:.3s}.quick-stat-card:nth-child(3),.stat-card:nth-child(3){animation-name:fadeInUp;animation-delay:.4s}.quick-stat-card:nth-child(4),.stat-card:nth-child(4){animation-name:fadeInUp;animation-delay:.5s}.challenge-card{animation-name:fadeInLeft;animation-delay:.6s}.achievements-showcase{animation-name:fadeInRight;animation-delay:.7s}.cta-section{animation-name:fadeInUp;animation-delay:.8s}@media (max-width: 1024px){.premium-dashboard>div{padding:16px}.premium-action-button{padding:10px 16px;font-size:13px}.quick-stat-card,.stat-card{padding:16px}.stat-icon-container{width:40px;height:40px}}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{padding:16px}.stat-value{font-size:2rem}.premium-action-button{padding:10px 16px;font-size:13px;flex:1;justify-content:center}.welcome-gradient-bg{padding:24px 16px}.welcome-gradient-bg>div{padding:20px!important}.achievement-mini-card,.quick-stat-card{padding:12px}.premium-dashboard div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.achievement-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 480px){.stats-grid,.quick-actions-grid{grid-template-columns:1fr}.premium-dashboard>div{padding:12px}.welcome-gradient-bg h1{font-size:24px!important}.welcome-gradient-bg p{font-size:16px!important}.premium-action-button{padding:8px 12px;font-size:12px}.achievement-grid{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.challenge-card,.achievements-showcase,.quick-stat-card,.stat-card,.goal-card,.achievement-card,.reading-goals,.recent-books{background:#1f2937;border-color:#374151;color:#f9fafb}.mini-goal-card,.achievement-mini-card.locked,.achievement-card.locked{background:#374151;border-color:#4b5563}.premium-dashboard{background:linear-gradient(135deg,#111827,#1f2937)}.stat-value{color:#f9fafb}.stat-label{color:#9ca3af}.achievement-title{color:#f9fafb}.achievement-description{color:#9ca3af}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes shimmer-progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.enhanced-welcome-widget{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.welcome-icon-container{animation:float 6s ease-in-out infinite}.welcome-icon-container:hover{animation-play-state:paused}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 8s ease infinite}.enhanced-progress-bar{position:relative;overflow:hidden}.enhanced-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer-progress 2s infinite}.welcome-action-button{position:relative;overflow:hidden;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.welcome-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.welcome-action-button:hover:before{left:100%}.welcome-action-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.welcome-stat-item{transition:all .3s ease;cursor:pointer}.welcome-stat-item:hover{transform:scale(1.05)}.welcome-stat-value{transition:all .3s ease}.welcome-stat-item:hover .welcome-stat-value{transform:scale(1.1)}.continue-reading-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.continue-reading-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#0ea5e90d,#0284c70d);opacity:0;transition:opacity .3s ease}.continue-reading-card:hover:before{opacity:1}.continue-reading-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0ea5e933;border-color:#0284c7}.book-progress-bar{background:#cbd5e1;border-radius:6px;height:6px;overflow:hidden;position:relative}.book-progress-fill{background:linear-gradient(90deg,#0ea5e9,#0284c7);height:100%;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.book-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer-progress 2s infinite}.bottom-progress-container{border-top:1px solid #e5e7eb;padding-top:24px;margin-top:48px}.completion-progress-bar{background:#f3f4f6;border-radius:12px;height:12px;overflow:hidden;position:relative}.completion-progress-fill{background:linear-gradient(90deg,#667eea,#8b5cf6,#f093fb);height:100%;border-radius:12px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.completion-progress-fill:after{content:"";position:absolute;inset:0;background:#fff3;animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){.enhanced-welcome-widget{padding:32px 16px!important}.gradient-text{font-size:clamp(24px,8vw,36px)!important}.welcome-stat-item{text-align:center}.welcome-action-button{flex:1;justify-content:center}}@media (max-width: 480px){.enhanced-welcome-widget{padding:24px 12px!important}.welcome-icon-container{padding:16px!important}.gradient-text{font-size:clamp(20px,6vw,28px)!important}}@media (prefers-color-scheme: dark){.enhanced-welcome-widget{background:linear-gradient(-45deg,#1e293b,#334155,#475569,#64748b)}.continue-reading-card{background:linear-gradient(135deg,#1e293b,#334155);border-color:#475569;color:#f1f5f9}.bottom-progress-container{border-color:#475569}.completion-progress-bar{background:#475569}}.welcome-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.welcome-action-button:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}.continue-reading-card:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}.enhanced-welcome-widget *{will-change:transform}.enhanced-welcome-widget *:hover{will-change:transform,box-shadow}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}}.animate-slide-in{animation:slide-in .5s ease-out}.animate-bounce-in{animation:bounce-in .6s ease-out}.animate-pulse-glow{animation:pulse-glow 2s infinite}.level-progress-card{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 25px #0000001a}.level-progress-bar{background:#ffffff4d;border-radius:8px;height:8px;overflow:hidden}.level-progress-fill{background:#fff;height:100%;border-radius:8px;transition:width .8s ease-out;box-shadow:0 0 10px #ffffff80}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:#fff;border-radius:12px;padding:20px;text-align:center;border:1px solid #e5e7eb;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a;border-color:#3b82f6}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transform:scaleX(0);transition:transform .3s ease}.stat-card:hover:before{transform:scaleX(1)}.stat-icon{font-size:32px;margin-bottom:12px;display:block}.stat-value{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:4px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.stat-card.books{--stat-color: #10b981}.stat-card.pages{--stat-color: #3b82f6}.stat-card.streak{--stat-color: #f59e0b}.stat-card.time{--stat-color: #8b5cf6}.stat-card.notes{--stat-color: #6366f1}.stat-card.highlights{--stat-color: #eab308}.stat-card.completed{--stat-color: #ec4899}.stat-card.level{--stat-color: #ef4444}.stat-card.books .stat-icon{color:#10b981}.stat-card.pages .stat-icon{color:#3b82f6}.stat-card.streak .stat-icon{color:#f59e0b}.stat-card.time .stat-icon{color:#8b5cf6}.stat-card.notes .stat-icon{color:#6366f1}.stat-card.highlights .stat-icon{color:#eab308}.stat-card.completed .stat-icon{color:#ec4899}.stat-card.level .stat-icon{color:#ef4444}.goal-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;transition:all .3s ease}.goal-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.goal-card.completed{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.goal-progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:8px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:8px;transition:width .8s ease-out;position:relative}.goal-progress-fill.completed{background:linear-gradient(90deg,#10b981,#059669)}.goal-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.goal-reward-badge{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.goal-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.goal-type-pages{background:#dbeafe;color:#1d4ed8}.goal-type-time{background:#ede9fe;color:#7c3aed}.goal-type-streak{background:#fef3c7;color:#d97706}.goal-type-level{background:#fce7f3;color:#be185d}.achievement-progress-card{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border-radius:16px;padding:24px}.achievement-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;transition:all .3s ease;position:relative}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.achievement-card.unlocked{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-color:#f59e0b;box-shadow:0 4px 15px #f59e0b4d}.achievement-card.locked{background:#f9fafb;border-color:#d1d5db}.achievement-card.locked .achievement-icon{filter:grayscale(100%) opacity(.4)}.achievement-card.locked .achievement-title,.achievement-card.locked .achievement-description{color:#9ca3af}.achievement-icon{font-size:40px;margin-bottom:8px;transition:all .3s ease}.achievement-card.unlocked .achievement-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.achievement-title{font-size:16px;font-weight:700;margin-bottom:4px;color:#1f2937}.achievement-description{font-size:14px;color:#6b7280;margin-bottom:8px;line-height:1.4}.achievement-points{font-size:12px;color:#f59e0b;font-weight:600}.achievement-badge{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600}.achievement-badge.unlocked{background:#dcfce7;color:#166534}.achievement-badge.locked{background:#f3f4f6;color:#6b7280}.achievement-notification{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 30px #0000004d;animation:slide-in .5s ease-out}.achievement-notification.level-up{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.achievement-notification-content{display:flex;align-items:center;gap:16px}.achievement-notification-icon{font-size:48px;animation:bounce-in .6s ease-out}.achievement-notification-text h4{font-size:18px;font-weight:700;margin-bottom:4px}.achievement-notification-text p{font-size:14px;opacity:.9;margin-bottom:4px}.achievement-notification-points{font-size:12px;opacity:.8}.achievement-notification-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.7;transition:opacity .2s}.achievement-notification-close:hover{opacity:1}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.quick-action-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:12px;border:none;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;text-decoration:none}.quick-action-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.quick-action-button.green{background:linear-gradient(135deg,#10b981,#059669)}.quick-action-button.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.quick-action-button.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.reading-tip-card{background:linear-gradient(135deg,#ecfdf5,#dbeafe);border:1px solid #10b981;border-radius:12px;padding:20px}.reading-tip-title{color:#065f46;font-size:18px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.reading-tip-content{color:#047857;line-height:1.6}.loading-container{display:flex;justify-content:center;align-items:center;padding:60px 20px;flex-direction:column;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#6b7280;font-size:16px;font-weight:500}.empty-state{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.7}.empty-state-title{font-size:20px;font-weight:700;color:#6b7280;margin-bottom:8px}.empty-state-description{color:#9ca3af;margin-bottom:20px;line-height:1.5}.empty-state-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.empty-state-button:hover{transform:translateY(-1px);box-shadow:0 4px 15px #3b82f666}.filter-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{font-size:14px;font-weight:600;color:#374151}.filter-select{border:1px solid #d1d5db;border-radius:8px;padding:8px 12px;font-size:14px;background:#fff;cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.results-count{font-size:14px;color:#6b7280}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-icon{font-size:24px}.stat-value{font-size:20px}.achievement-notification{top:10px;right:10px;left:10px;max-width:none}.filter-controls{flex-direction:column;align-items:stretch;gap:12px}.quick-actions-grid{grid-template-columns:1fr}}@media (max-width: 480px){.level-progress-card,.goal-card,.achievement-card{padding:16px}.stats-grid{grid-template-columns:1fr}}:root{--md-sys-color-primary: 103 80 164;--md-sys-color-on-primary: 255 255 255;--md-sys-color-primary-container: 234 221 255;--md-sys-color-on-primary-container: 33 0 94;--md-sys-color-secondary: 98 91 113;--md-sys-color-on-secondary: 255 255 255;--md-sys-color-secondary-container: 232 222 248;--md-sys-color-on-secondary-container: 30 25 43;--md-sys-color-tertiary: 125 82 96;--md-sys-color-on-tertiary: 255 255 255;--md-sys-color-tertiary-container: 255 216 228;--md-sys-color-on-tertiary-container: 55 11 30;--md-sys-color-error: 179 38 30;--md-sys-color-on-error: 255 255 255;--md-sys-color-error-container: 249 222 220;--md-sys-color-on-error-container: 65 14 11;--md-sys-color-background: 255 251 254;--md-sys-color-on-background: 28 27 31;--md-sys-color-surface: 255 251 254;--md-sys-color-on-surface: 28 27 31;--md-sys-color-surface-variant: 231 224 236;--md-sys-color-on-surface-variant: 73 69 79;--md-sys-color-outline: 121 116 126;--md-sys-color-outline-variant: 202 196 208;--md-sys-color-shadow: 0 0 0;--md-sys-color-scrim: 0 0 0;--md-sys-color-inverse-surface: 49 48 51;--md-sys-color-inverse-on-surface: 244 239 244;--md-sys-color-inverse-primary: 208 188 255}.dark{--md-sys-color-primary: 208 188 255;--md-sys-color-on-primary: 56 30 114;--md-sys-color-primary-container: 79 55 139;--md-sys-color-on-primary-container: 234 221 255;--md-sys-color-secondary: 204 194 220;--md-sys-color-on-secondary: 51 45 65;--md-sys-color-secondary-container: 74 68 88;--md-sys-color-on-secondary-container: 232 222 248;--md-sys-color-tertiary: 239 184 200;--md-sys-color-on-tertiary: 73 37 50;--md-sys-color-tertiary-container: 99 59 72;--md-sys-color-on-tertiary-container: 255 216 228;--md-sys-color-error: 242 184 181;--md-sys-color-on-error: 96 20 16;--md-sys-color-error-container: 140 29 24;--md-sys-color-on-error-container: 249 222 220;--md-sys-color-background: 28 27 31;--md-sys-color-on-background: 230 225 229;--md-sys-color-surface: 28 27 31;--md-sys-color-on-surface: 230 225 229;--md-sys-color-surface-variant: 73 69 79;--md-sys-color-on-surface-variant: 202 196 208;--md-sys-color-outline: 147 143 153;--md-sys-color-outline-variant: 73 69 79;--md-sys-color-shadow: 0 0 0;--md-sys-color-scrim: 0 0 0;--md-sys-color-inverse-surface: 230 225 229;--md-sys-color-inverse-on-surface: 49 48 51;--md-sys-color-inverse-primary: 103 80 164}.text-on-primary-container{color:rgb(var(--md-sys-color-on-primary-container))}.text-on-secondary-container{color:rgb(var(--md-sys-color-on-secondary-container))}.text-on-tertiary-container{color:rgb(var(--md-sys-color-on-tertiary-container))}.text-on-background{color:rgb(var(--md-sys-color-on-background))}.border-outline{border-color:rgb(var(--md-sys-color-outline))}.border-outline-variant{border-color:rgb(var(--md-sys-color-outline-variant))}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-slide-up{animation:slide-up .5s ease-out forwards}::-webkit-scrollbar-track{background:rgb(var(--md-sys-color-surface-container))}::-webkit-scrollbar-thumb{background:rgb(var(--md-sys-color-surface-container-high));border-radius:10px}::selection{background:rgb(var(--md-sys-color-primary) / .3);color:rgb(var(--md-sys-color-on-surface))}@keyframes skeleton-pulse{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,rgb(var(--md-sys-color-surface-variant) / .3) 25%,rgb(var(--md-sys-color-surface-variant) / .5),rgb(var(--md-sys-color-surface-variant) / .3) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}.z-dropdown{z-index:1000}.z-sticky{z-index:1020}.z-fixed{z-index:1030}.z-modal-scrim{z-index:1040}.z-modal-content{z-index:1050}.z-snackbar{z-index:1060}.z-tooltip{z-index:1070}:root{--md-ref-palette-primary0: #000000;--md-ref-palette-primary10: #1a0033;--md-ref-palette-primary20: #2f004d;--md-ref-palette-primary30: #460069;--md-ref-palette-primary40: #5e0085;--md-ref-palette-primary50: #7700a3;--md-ref-palette-primary60: #9200c2;--md-ref-palette-primary70: #ad1ce3;--md-ref-palette-primary80: #c952ff;--md-ref-palette-primary90: #e5b3ff;--md-ref-palette-primary95: #f2d9ff;--md-ref-palette-primary99: #fffbfe;--md-ref-palette-primary100: #ffffff;--md-ref-palette-secondary0: #000000;--md-ref-palette-secondary10: #1d1a22;--md-ref-palette-secondary20: #332f37;--md-ref-palette-secondary30: #4a454e;--md-ref-palette-secondary40: #625d66;--md-ref-palette-secondary50: #7b757f;--md-ref-palette-secondary60: #958f99;--md-ref-palette-secondary70: #b0a9b4;--md-ref-palette-secondary80: #ccc4cf;--md-ref-palette-secondary90: #e8e0eb;--md-ref-palette-secondary95: #f6eef9;--md-ref-palette-secondary99: #fffbfe;--md-ref-palette-secondary100: #ffffff;--md-ref-palette-tertiary0: #000000;--md-ref-palette-tertiary10: #31111d;--md-ref-palette-tertiary20: #492532;--md-ref-palette-tertiary30: #623b48;--md-ref-palette-tertiary40: #7d525f;--md-ref-palette-tertiary50: #986977;--md-ref-palette-tertiary60: #b58190;--md-ref-palette-tertiary70: #d19caa;--md-ref-palette-tertiary80: #efb7c5;--md-ref-palette-tertiary90: #ffd9e1;--md-ref-palette-tertiary95: #ffecf0;--md-ref-palette-tertiary99: #fffbfa;--md-ref-palette-tertiary100: #ffffff;--md-ref-palette-neutral0: #000000;--md-ref-palette-neutral10: #1c1b1f;--md-ref-palette-neutral20: #313033;--md-ref-palette-neutral30: #484649;--md-ref-palette-neutral40: #605d60;--md-ref-palette-neutral50: #797579;--md-ref-palette-neutral60: #938f93;--md-ref-palette-neutral70: #aea9ae;--md-ref-palette-neutral80: #cac4c9;--md-ref-palette-neutral90: #e6e0e5;--md-ref-palette-neutral95: #f4eff3;--md-ref-palette-neutral99: #fffbfe;--md-ref-palette-neutral100: #ffffff;--md-ref-palette-neutralvariant0: #000000;--md-ref-palette-neutralvariant10: #1d1a22;--md-ref-palette-neutralvariant20: #322f37;--md-ref-palette-neutralvariant30: #49454f;--md-ref-palette-neutralvariant40: #605d66;--md-ref-palette-neutralvariant50: #79747e;--md-ref-palette-neutralvariant60: #938f99;--md-ref-palette-neutralvariant70: #aea9b4;--md-ref-palette-neutralvariant80: #cac4d0;--md-ref-palette-neutralvariant90: #e7e0ec;--md-ref-palette-neutralvariant95: #f5eefa;--md-ref-palette-neutralvariant99: #fffbfe;--md-ref-palette-neutralvariant100: #ffffff;--md-ref-palette-error0: #000000;--md-ref-palette-error10: #410e0b;--md-ref-palette-error20: #601410;--md-ref-palette-error30: #8c1d18;--md-ref-palette-error40: #b3261e;--md-ref-palette-error50: #dc362e;--md-ref-palette-error60: #e46962;--md-ref-palette-error70: #ec928e;--md-ref-palette-error80: #f2b8b5;--md-ref-palette-error90: #f9dedc;--md-ref-palette-error95: #fceeee;--md-ref-palette-error99: #fffbf9;--md-ref-palette-error100: #ffffff}[data-theme=light],:root{--md-sys-color-primary: var(--md-ref-palette-primary40);--md-sys-color-on-primary: var(--md-ref-palette-primary100);--md-sys-color-primary-container: var(--md-ref-palette-primary90);--md-sys-color-on-primary-container: var(--md-ref-palette-primary10);--md-sys-color-secondary: var(--md-ref-palette-secondary40);--md-sys-color-on-secondary: var(--md-ref-palette-secondary100);--md-sys-color-secondary-container: var(--md-ref-palette-secondary90);--md-sys-color-on-secondary-container: var(--md-ref-palette-secondary10);--md-sys-color-tertiary: var(--md-ref-palette-tertiary40);--md-sys-color-on-tertiary: var(--md-ref-palette-tertiary100);--md-sys-color-tertiary-container: var(--md-ref-palette-tertiary90);--md-sys-color-on-tertiary-container: var(--md-ref-palette-tertiary10);--md-sys-color-error: var(--md-ref-palette-error40);--md-sys-color-on-error: var(--md-ref-palette-error100);--md-sys-color-error-container: var(--md-ref-palette-error90);--md-sys-color-on-error-container: var(--md-ref-palette-error10);--md-sys-color-background: var(--md-ref-palette-neutral99);--md-sys-color-on-background: var(--md-ref-palette-neutral10);--md-sys-color-surface: var(--md-ref-palette-neutral99);--md-sys-color-on-surface: var(--md-ref-palette-neutral10);--md-sys-color-surface-variant: var(--md-ref-palette-neutralvariant90);--md-sys-color-on-surface-variant: var(--md-ref-palette-neutralvariant30);--md-sys-color-surface-container-lowest: var(--md-ref-palette-neutral100);--md-sys-color-surface-container-low: var(--md-ref-palette-neutral96);--md-sys-color-surface-container: var(--md-ref-palette-neutral94);--md-sys-color-surface-container-high: var(--md-ref-palette-neutral92);--md-sys-color-surface-container-highest: var(--md-ref-palette-neutral90);--md-sys-color-outline: var(--md-ref-palette-neutralvariant50);--md-sys-color-outline-variant: var(--md-ref-palette-neutralvariant80);--md-sys-color-shadow: var(--md-ref-palette-neutral0);--md-sys-color-scrim: var(--md-ref-palette-neutral0);--md-sys-color-inverse-surface: var(--md-ref-palette-neutral20);--md-sys-color-inverse-on-surface: var(--md-ref-palette-neutral95);--md-sys-color-inverse-primary: var(--md-ref-palette-primary80)}[data-theme=dark]{--md-sys-color-primary: var(--md-ref-palette-primary80);--md-sys-color-on-primary: var(--md-ref-palette-primary20);--md-sys-color-primary-container: var(--md-ref-palette-primary30);--md-sys-color-on-primary-container: var(--md-ref-palette-primary90);--md-sys-color-secondary: var(--md-ref-palette-secondary80);--md-sys-color-on-secondary: var(--md-ref-palette-secondary20);--md-sys-color-secondary-container: var(--md-ref-palette-secondary30);--md-sys-color-on-secondary-container: var(--md-ref-palette-secondary90);--md-sys-color-tertiary: var(--md-ref-palette-tertiary80);--md-sys-color-on-tertiary: var(--md-ref-palette-tertiary20);--md-sys-color-tertiary-container: var(--md-ref-palette-tertiary30);--md-sys-color-on-tertiary-container: var(--md-ref-palette-tertiary90);--md-sys-color-error: var(--md-ref-palette-error80);--md-sys-color-on-error: var(--md-ref-palette-error20);--md-sys-color-error-container: var(--md-ref-palette-error30);--md-sys-color-on-error-container: var(--md-ref-palette-error90);--md-sys-color-background: var(--md-ref-palette-neutral10);--md-sys-color-on-background: var(--md-ref-palette-neutral90);--md-sys-color-surface: var(--md-ref-palette-neutral10);--md-sys-color-on-surface: var(--md-ref-palette-neutral90);--md-sys-color-surface-variant: var(--md-ref-palette-neutralvariant30);--md-sys-color-on-surface-variant: var(--md-ref-palette-neutralvariant80);--md-sys-color-surface-container-lowest: var(--md-ref-palette-neutral4);--md-sys-color-surface-container-low: var(--md-ref-palette-neutral10);--md-sys-color-surface-container: var(--md-ref-palette-neutral12);--md-sys-color-surface-container-high: var(--md-ref-palette-neutral17);--md-sys-color-surface-container-highest: var(--md-ref-palette-neutral22);--md-sys-color-outline: var(--md-ref-palette-neutralvariant60);--md-sys-color-outline-variant: var(--md-ref-palette-neutralvariant30);--md-sys-color-shadow: var(--md-ref-palette-neutral0);--md-sys-color-scrim: var(--md-ref-palette-neutral0);--md-sys-color-inverse-surface: var(--md-ref-palette-neutral90);--md-sys-color-inverse-on-surface: var(--md-ref-palette-neutral20);--md-sys-color-inverse-primary: var(--md-ref-palette-primary40)}:root{--md-sys-typescale-display-large-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-display-large-font-weight: 400;--md-sys-typescale-display-large-font-size: 3.5rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-display-large-letter-spacing: -.25px;--md-sys-typescale-display-medium-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-display-medium-font-weight: 400;--md-sys-typescale-display-medium-font-size: 2.75rem;--md-sys-typescale-display-medium-line-height: 3.25rem;--md-sys-typescale-display-medium-letter-spacing: 0px;--md-sys-typescale-display-small-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-display-small-font-weight: 400;--md-sys-typescale-display-small-font-size: 2.25rem;--md-sys-typescale-display-small-line-height: 2.75rem;--md-sys-typescale-display-small-letter-spacing: 0px;--md-sys-typescale-headline-large-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-headline-large-font-weight: 400;--md-sys-typescale-headline-large-font-size: 2rem;--md-sys-typescale-headline-large-line-height: 2.5rem;--md-sys-typescale-headline-large-letter-spacing: 0px;--md-sys-typescale-headline-medium-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-headline-medium-font-weight: 400;--md-sys-typescale-headline-medium-font-size: 1.75rem;--md-sys-typescale-headline-medium-line-height: 2.25rem;--md-sys-typescale-headline-medium-letter-spacing: 0px;--md-sys-typescale-headline-small-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-headline-small-font-weight: 400;--md-sys-typescale-headline-small-font-size: 1.5rem;--md-sys-typescale-headline-small-line-height: 2rem;--md-sys-typescale-headline-small-letter-spacing: 0px;--md-sys-typescale-title-large-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-title-large-font-weight: 500;--md-sys-typescale-title-large-font-size: 1.375rem;--md-sys-typescale-title-large-line-height: 1.75rem;--md-sys-typescale-title-large-letter-spacing: 0px;--md-sys-typescale-title-medium-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-title-medium-font-weight: 500;--md-sys-typescale-title-medium-font-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-title-medium-letter-spacing: .15px;--md-sys-typescale-title-small-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-title-small-font-weight: 500;--md-sys-typescale-title-small-font-size: .875rem;--md-sys-typescale-title-small-line-height: 1.25rem;--md-sys-typescale-title-small-letter-spacing: .1px;--md-sys-typescale-body-large-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-body-large-font-weight: 400;--md-sys-typescale-body-large-font-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-large-letter-spacing: .5px;--md-sys-typescale-body-medium-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-body-medium-font-weight: 400;--md-sys-typescale-body-medium-font-size: .875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-body-medium-letter-spacing: .25px;--md-sys-typescale-body-small-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-body-small-font-weight: 400;--md-sys-typescale-body-small-font-size: .75rem;--md-sys-typescale-body-small-line-height: 1rem;--md-sys-typescale-body-small-letter-spacing: .4px;--md-sys-typescale-label-large-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-label-large-font-weight: 500;--md-sys-typescale-label-large-font-size: .875rem;--md-sys-typescale-label-large-line-height: 1.25rem;--md-sys-typescale-label-large-letter-spacing: .1px;--md-sys-typescale-label-medium-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-label-medium-font-weight: 500;--md-sys-typescale-label-medium-font-size: .75rem;--md-sys-typescale-label-medium-line-height: 1rem;--md-sys-typescale-label-medium-letter-spacing: .5px;--md-sys-typescale-label-small-font-family: "Inter", "Roboto", sans-serif;--md-sys-typescale-label-small-font-weight: 500;--md-sys-typescale-label-small-font-size: .6875rem;--md-sys-typescale-label-small-line-height: 1rem;--md-sys-typescale-label-small-letter-spacing: .5px}:root{--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 50%}:root{--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 1px 3px 0px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15);--md-sys-elevation-level4: 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 6px 10px 4px rgba(0, 0, 0, .15);--md-sys-elevation-level5: 0px 4px 4px 0px rgba(0, 0, 0, .3), 0px 8px 12px 6px rgba(0, 0, 0, .15)}:root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1)}:root{--md-sys-spacing-0: 0px;--md-sys-spacing-1: 4px;--md-sys-spacing-2: 8px;--md-sys-spacing-3: 12px;--md-sys-spacing-4: 16px;--md-sys-spacing-5: 20px;--md-sys-spacing-6: 24px;--md-sys-spacing-8: 32px;--md-sys-spacing-10: 40px;--md-sys-spacing-12: 48px;--md-sys-spacing-16: 64px;--md-sys-spacing-20: 80px;--md-sys-spacing-24: 96px}.md-typescale-display-large{font-family:var(--md-sys-typescale-display-large-font-family);font-weight:var(--md-sys-typescale-display-large-font-weight);font-size:var(--md-sys-typescale-display-large-font-size);line-height:var(--md-sys-typescale-display-large-line-height);letter-spacing:var(--md-sys-typescale-display-large-letter-spacing)}.md-typescale-headline-large{font-family:var(--md-sys-typescale-headline-large-font-family);font-weight:var(--md-sys-typescale-headline-large-font-weight);font-size:var(--md-sys-typescale-headline-large-font-size);line-height:var(--md-sys-typescale-headline-large-line-height);letter-spacing:var(--md-sys-typescale-headline-large-letter-spacing)}.md-typescale-title-large{font-family:var(--md-sys-typescale-title-large-font-family);font-weight:var(--md-sys-typescale-title-large-font-weight);font-size:var(--md-sys-typescale-title-large-font-size);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-letter-spacing)}.md-typescale-body-large{font-family:var(--md-sys-typescale-body-large-font-family);font-weight:var(--md-sys-typescale-body-large-font-weight);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing)}.md-typescale-label-large{font-family:var(--md-sys-typescale-label-large-font-family);font-weight:var(--md-sys-typescale-label-large-font-weight);font-size:var(--md-sys-typescale-label-large-font-size);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing)}.premium-app-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--md-sys-color-background)}.desktop-layout{display:flex;flex:1;position:relative}.content-area{flex:1;display:flex;flex-direction:column;margin-left:80px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.premium-app-layout:has(.md3-navigation-rail:not(.collapsed)) .content-area{margin-left:280px}.page-content{flex:1;padding:24px;background:var(--md-sys-color-background);min-height:calc(100vh - 64px);margin-top:64px;max-width:1400px;width:100%;margin-left:auto;margin-right:auto}.premium-app-layout.dark,.premium-app-layout.dark .page-content{background:#0f172a}@media (max-width: 768px){.content-area{margin-left:0;margin-bottom:80px}.page-content{min-height:calc(100vh - 144px)}.mobile-only{display:block!important}}.mobile-only{display:none}@media (min-width: 769px){.mobile-only{display:none!important}}.md3-library-page{padding:24px;background:var(--md-sys-color-background);min-height:calc(100vh - 128px);color:var(--md-sys-color-on-background)}.md3-library-page.dark{background:#0f172a;color:#f1f5f9}.md3-library-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:24px}.md3-loading-spinner{position:relative;width:48px;height:48px}.md3-circular-progress{width:48px;height:48px;border:4px solid var(--md-sys-color-outline);border-top:4px solid var(--md-sys-color-primary);border-radius:50%;animation:spin 1s linear infinite}.md3-loading-text{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.md3-library-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;max-width:400px;margin:0 auto}.md3-error-icon{font-size:64px;color:var(--md-sys-color-error)}.md3-error-title{font-size:24px;font-weight:400;color:var(--md-sys-color-on-surface);margin:0}.md3-error-message{font-size:16px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.md3-recent-books-section{background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 4px 12px #00000014}.md3-library-page.dark .md3-recent-books-section{background:linear-gradient(135deg,#3b4252,#434c5e)}.md3-recent-books-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.md3-recent-books-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:500;color:var(--md-sys-color-on-primary-container);margin:0}.md3-recent-books-count{font-size:14px;color:var(--md-sys-color-on-primary-container);opacity:.8}.md3-library-page.dark .md3-recent-books-title,.md3-library-page.dark .md3-recent-books-count{color:#e5e9f0}.md3-recent-books-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;justify-content:flex-start}.md3-recent-books-scroll::-webkit-scrollbar{height:6px}.md3-recent-books-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.md3-recent-books-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.md3-recent-books-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.md3-recent-book-item{flex:1;min-width:160px;max-width:180px;flex-shrink:0}.md3-recent-book-card{height:160px;background:#fffffff2;border-radius:8px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;padding:12px;position:relative;overflow:hidden}.md3-recent-book-card:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.md3-recent-book-card.highlighted{animation:bookHighlight 2s ease-in-out;transform:scale(1.02);box-shadow:0 8px 24px #6750a44d}@keyframes bookHighlight{0%,to{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}50%{box-shadow:0 12px 32px #6750a466;transform:translateY(-4px) scale(1.02)}}.md3-recent-book-cover{width:100%;height:100px;border-radius:6px;overflow:hidden;margin-bottom:8px;background:var(--md-sys-color-surface-variant);display:flex;align-items:center;justify-content:center}.md3-recent-book-cover img{width:100%;height:100%;object-fit:cover}.md3-recent-book-cover .book-placeholder{color:var(--md-sys-color-on-surface-variant);font-size:24px}.md3-recent-book-info{flex:1;display:flex;flex-direction:column;gap:2px}.md3-recent-book-title{font-size:11px;font-weight:500;color:var(--md-sys-color-on-surface);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0}.md3-recent-book-author{font-size:10px;color:var(--md-sys-color-on-surface-variant);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.md3-library-page.dark .md3-recent-book-card{background:#2e3440e6;border-color:#4c566a4d}.md3-library-page.dark .md3-recent-book-card:hover,.md3-library-page.dark .md3-recent-book-cover{background:#3b4252}.md3-library-page.dark .md3-recent-book-title{color:#e5e9f0}.md3-library-page.dark .md3-recent-book-author{color:#d8dee9}.md3-library-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:24px;flex-wrap:wrap}.md3-filter-chips{display:flex;gap:8px;flex-wrap:wrap}.md3-filter-chip{padding:8px 16px;border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface-variant);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.md3-filter-chip:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-filter-chip.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:var(--md-sys-color-secondary)}.md3-library-page.dark .md3-filter-chip{background:#1e293b;border-color:#334155;color:#94a3b8}.md3-library-page.dark .md3-filter-chip:hover{background:#334155;color:#f1f5f9}.md3-library-page.dark .md3-filter-chip.selected{background:#3b4252;color:#88c0d0;border-color:#5e81ac}.md3-view-controls{display:flex;gap:4px;background:var(--md-sys-color-surface-container);border-radius:8px;padding:4px}.md3-view-controls .md3-icon-button{width:40px;height:40px;border-radius:6px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.md3-view-controls .md3-icon-button:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-view-controls .md3-icon-button.selected{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-library-page.dark .md3-view-controls{background:#1e293b}.md3-library-page.dark .md3-view-controls .md3-icon-button{color:#94a3b8}.md3-library-page.dark .md3-view-controls .md3-icon-button:hover{background:#334155;color:#f1f5f9}.md3-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center;max-width:400px;margin:0 auto}.md3-empty-icon{font-size:64px;color:var(--md-sys-color-outline)}.md3-empty-title{font-size:20px;font-weight:400;color:var(--md-sys-color-on-surface);margin:0}.md3-empty-message{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5}.md3-books-container{display:grid;gap:20px}.md3-books-container.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.md3-books-container.list{grid-template-columns:1fr}.md3-book-card{background:var(--md-sys-color-surface-container);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;position:relative;display:flex;gap:16px}.md3-books-container.grid .md3-book-card{flex-direction:column;text-align:center}.md3-books-container.list .md3-book-card{flex-direction:row;text-align:left}.md3-book-card:hover{background:var(--md-sys-color-surface-container-highest);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.md3-book-card.highlighted{animation:mainBookHighlight 2s ease-in-out;background:var(--md-sys-color-primary-container)!important;transform:scale(1.02);box-shadow:0 8px 24px #6750a44d}@keyframes mainBookHighlight{0%,to{background:var(--md-sys-color-surface-container);box-shadow:0 4px 12px #0000001a;transform:translateY(0)}50%{background:var(--md-sys-color-primary-container);box-shadow:0 12px 32px #6750a466;transform:translateY(-4px) scale(1.02)}}.md3-library-page.dark .md3-book-card{background:#1e293b}.md3-library-page.dark .md3-book-card:hover{background:#334155;box-shadow:0 4px 12px #0000004d}.md3-book-cover{position:relative;flex-shrink:0;overflow:hidden;border-radius:var(--md-sys-shape-corner-medium, 8px)}.md3-books-container.grid .md3-book-cover{width:100%;height:200px;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.md3-books-container.list .md3-book-cover{width:80px;height:120px}.md3-book-cover img{width:100%;height:100%;object-fit:cover;border-radius:8px}.md3-book-cover .library-book-cover-manager{width:100%;height:100%;max-height:200px;display:flex;align-items:center;justify-content:center}.md3-book-cover .library-book-cover-manager .book-cover-container{width:100%;height:100%;max-height:200px;position:relative!important}.md3-book-placeholder{width:100%;height:100%;background:var(--md-sys-color-surface-variant);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant)}.md3-book-placeholder .material-symbols-outlined{font-size:32px}.md3-library-page.dark .md3-book-placeholder{background:#334155;color:#94a3b8}.md3-book-badge{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.md3-book-badge.reading{background:var(--md-sys-color-primary)}.md3-book-badge.completed{background:var(--md-sys-color-secondary)}.md3-book-info{flex:1;min-width:0}.md3-book-title{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface);margin:0 0 4px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.md3-book-author{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-book-genre{font-size:12px;color:var(--md-sys-color-on-surface-variant);margin:0 0 8px;opacity:.8;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-library-page.dark .md3-book-title{color:#f1f5f9}.md3-library-page.dark .md3-book-author,.md3-library-page.dark .md3-book-genre{color:#94a3b8}.md3-progress-bar{width:100%;height:4px;background:var(--md-sys-color-outline-variant);border-radius:2px;overflow:hidden;margin-top:8px}.md3-progress-fill{height:100%;background:var(--md-sys-color-primary);transition:width .3s ease}.md3-library-page.dark .md3-progress-bar{background:#334155}.md3-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #0000001f;transition:all .2s;z-index:50}.md3-fab:hover{transform:scale(1.05);box-shadow:0 8px 20px #00000029}.md3-fab .material-symbols-outlined{font-size:24px}.md3-library-page.dark .md3-fab{background:#3b4252;color:#88c0d0}.md3-button{padding:10px 24px;border-radius:20px;border:none;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:all .2s}.md3-button-filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-button-filled:hover{background:var(--md-sys-color-primary);box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.md3-library-page.dark .md3-button-filled{background:#5e81ac;color:#fff}.md3-library-page.dark .md3-button-filled:hover{background:#81a1c1}@media (max-width: 768px){.md3-library-page{padding:16px}.md3-library-controls{flex-direction:column;align-items:stretch;gap:16px}.md3-filter-chips{justify-content:center}.md3-view-controls{align-self:center}.md3-books-container.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.md3-books-container.list .md3-book-card{padding:12px}.md3-books-container.list .md3-book-cover{width:60px;height:90px}.md3-fab{bottom:16px;right:16px;width:48px;height:48px;border-radius:12px}.md3-fab .material-symbols-outlined{font-size:20px}}.md3-reading-fab .md3-fab--extended{min-width:140px;transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.md3-reading-fab .timer-display{font-family:var(--md-sys-typescale-label-large-font-family);font-weight:var(--md-sys-typescale-label-large-font-weight);font-size:var(--md-sys-typescale-label-large-font-size);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);font-variant-numeric:tabular-nums}.reading-indicator{animation:reading-pulse 2s ease-in-out infinite}.reading-indicator-large{animation:reading-pulse 2s ease-in-out infinite;color:rgb(var(--md-sys-color-primary))}.md3-fab-group__action-label{background:rgb(var(--md-sys-color-inverse-surface));color:rgb(var(--md-sys-color-inverse-on-surface));padding:8px 12px;border-radius:var(--md-sys-shape-corner-small);font:var(--md-sys-typescale-body-small-font);white-space:nowrap;box-shadow:var(--md-sys-elevation-level2);margin-right:16px;opacity:0;transform:translate(10px);animation:labelSlideIn .2s ease-out .1s forwards}@keyframes labelSlideIn{to{opacity:1;transform:translate(0)}}.reading-tracker__book-info{margin-bottom:24px;display:flex;align-items:center;gap:16px}.reading-tracker__book-cover{width:64px;height:88px;object-fit:cover;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level2)}.reading-tracker__book-details h3{margin:0 0 4px;color:rgb(var(--md-sys-color-on-surface))}.reading-tracker__book-details p{margin:0;color:rgb(var(--md-sys-color-on-surface-variant))}.reading-tracker__timer{margin-bottom:24px;text-align:center}.reading-tracker__timer-display{display:flex;flex-direction:column;align-items:center;gap:8px}.reading-tracker__timer .md3-card__content{display:flex;align-items:center;justify-content:space-between;padding:24px}.timer-value{font-size:2.5rem;font-weight:var(--md-sys-typescale-display-small-font-weight);color:rgb(var(--md-sys-color-primary));font-variant-numeric:tabular-nums;line-height:1}.timer-label{color:rgb(var(--md-sys-color-on-surface-variant));margin-top:4px}.reading-tracker__form{display:flex;flex-direction:column;gap:24px}.reading-session-status{display:flex;align-items:center;position:relative;overflow:hidden}.reading-session-status .md3-chip__content{display:flex;align-items:center;gap:8px;min-width:0}.reading-session-status .md3-chip__subtitle{font-size:.75rem;color:rgb(var(--md-sys-color-on-surface-variant));opacity:.8;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-button__loading{display:flex;align-items:center;justify-content:center}.md3-button__spinner{animation:md3-spinner-rotate 1s linear infinite}.md3-button__spinner circle{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:31.416;stroke-dashoffset:31.416;animation:md3-spinner-dash 1.5s ease-in-out infinite}@keyframes md3-spinner-rotate{to{transform:rotate(360deg)}}@keyframes md3-spinner-dash{0%{stroke-dashoffset:31.416}50%{stroke-dashoffset:7.854}to{stroke-dashoffset:31.416}}@media (max-width: 600px){.md3-reading-fab .md3-fab--extended{min-width:120px}.md3-fab-group__action-label{display:none}.reading-tracker__book-info{flex-direction:column;text-align:center}.reading-tracker__timer .md3-card__content{flex-direction:column;gap:16px}.timer-value{font-size:2rem}.reading-session-status .md3-chip__subtitle{max-width:80px}}@media (max-width: 480px){.md3-reading-fab .md3-fab--extended .md3-fab__label{display:none}.md3-reading-fab .md3-fab--extended{min-width:56px}.timer-value{font-size:1.75rem}.reading-tracker__form{gap:16px}}@media (prefers-color-scheme: dark){.reading-indicator{filter:brightness(1.1)}.reading-tracker__book-cover{box-shadow:var(--md-sys-elevation-level2),0 0 0 1px #ffffff0d}.timer-value{color:rgb(var(--md-sys-color-primary-container))}}@media (prefers-contrast: high){.reading-indicator{filter:contrast(1.5)}.timer-value{border:1px solid currentColor;padding:4px 8px;border-radius:var(--md-sys-shape-corner-small)}.md3-fab-group__action-label{border:1px solid rgb(var(--md-sys-color-outline))}}@media (prefers-reduced-motion: reduce){.reading-indicator,.reading-indicator-large{animation:none}.md3-fab-group__action-label{animation:none;opacity:1;transform:none}.md3-reading-fab .md3-fab--extended{transition:none}}.md3-reading-fab .md3-fab:focus-visible .md3-fab__focus-ring{opacity:1;transform:scale(1)}.reading-session-status:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.md3-reading-fab{z-index:calc(var(--md-sys-z-index-fixed) + 10)}@media (max-width: 600px){.md3-reading-fab.md3-fab-group--bottom-right{bottom:96px}}.reading-tracker__modal{z-index:calc(var(--md-sys-z-index-modal) + 5)}.md3-reading-fab *,.reading-tracker__timer *,.reading-session-status *{will-change:transform}.reading-indicator,.timer-value,.md3-fab__ripple{transform:translateZ(0)}.md3-reading-fab .md3-fab--extended{contain:layout style}.reading-tracker__timer-display{contain:layout}.app-header .reading-session-status{margin-left:auto}.book-card__start-reading{margin-top:12px;width:100%}.enhanced-book-library .md3-reading-fab{bottom:24px;right:24px}@media print{.md3-reading-fab,.reading-session-status,.reading-tracker__modal{display:none!important}}:root{--md-sys-color-primary: 0, 92, 186;--md-sys-color-on-primary: 255, 255, 255;--md-sys-color-primary-container: 209, 221, 255;--md-sys-color-on-primary-container: 0, 24, 72;--md-sys-color-secondary: 80, 100, 83;--md-sys-color-on-secondary: 255, 255, 255;--md-sys-color-secondary-container: 213, 234, 216;--md-sys-color-on-secondary-container: 13, 31, 18;--md-sys-color-tertiary: 129, 76, 0;--md-sys-color-on-tertiary: 255, 255, 255;--md-sys-color-tertiary-container: 255, 221, 179;--md-sys-color-on-tertiary-container: 45, 22, 0;--md-sys-color-error: 156, 43, 30;--md-sys-color-on-error: 255, 255, 255;--md-sys-color-error-container: 255, 218, 214;--md-sys-color-on-error-container: 65, 14, 11;--md-sys-color-surface: 253, 252, 255;--md-sys-color-on-surface: 26, 26, 28;--md-sys-color-surface-variant: 222, 221, 229;--md-sys-color-on-surface-variant: 65, 65, 72;--md-sys-color-surface-dim: 221, 221, 225;--md-sys-color-surface-bright: 250, 249, 253;--md-sys-color-surface-container-lowest: 255, 255, 255;--md-sys-color-surface-container-low: 245, 244, 248;--md-sys-color-surface-container: 239, 239, 239;--md-sys-color-surface-container-high: 233, 232, 236;--md-sys-color-surface-container-highest: 227, 226, 230;--md-sys-color-outline: 114, 114, 121;--md-sys-color-outline-variant: 194, 193, 201;--md-sys-color-inverse-surface: 47, 47, 49;--md-sys-color-inverse-on-surface: 242, 241, 245;--md-sys-color-inverse-primary: 165, 194, 255;--md-sys-color-scrim: 0, 0, 0;--md-sys-color-shadow: 0, 0, 0;--md-sys-typescale-display-large-font: 400 57px/64px "Roboto", system-ui, sans-serif;--md-sys-typescale-display-large-line-height: 64px;--md-sys-typescale-display-large-size: 57px;--md-sys-typescale-display-large-weight: 400;--md-sys-typescale-display-medium-font: 400 45px/52px "Roboto", system-ui, sans-serif;--md-sys-typescale-display-medium-line-height: 52px;--md-sys-typescale-display-medium-size: 45px;--md-sys-typescale-display-medium-weight: 400;--md-sys-typescale-display-small-font: 400 36px/44px "Roboto", system-ui, sans-serif;--md-sys-typescale-display-small-line-height: 44px;--md-sys-typescale-display-small-size: 36px;--md-sys-typescale-display-small-weight: 400;--md-sys-typescale-headline-large-font: 400 32px/40px "Roboto", system-ui, sans-serif;--md-sys-typescale-headline-large-line-height: 40px;--md-sys-typescale-headline-large-size: 32px;--md-sys-typescale-headline-large-weight: 400;--md-sys-typescale-headline-medium-font: 400 28px/36px "Roboto", system-ui, sans-serif;--md-sys-typescale-headline-medium-line-height: 36px;--md-sys-typescale-headline-medium-size: 28px;--md-sys-typescale-headline-medium-weight: 400;--md-sys-typescale-headline-small-font: 400 24px/32px "Roboto", system-ui, sans-serif;--md-sys-typescale-headline-small-line-height: 32px;--md-sys-typescale-headline-small-size: 24px;--md-sys-typescale-headline-small-weight: 400;--md-sys-typescale-title-large-font: 400 22px/28px "Roboto", system-ui, sans-serif;--md-sys-typescale-title-large-line-height: 28px;--md-sys-typescale-title-large-size: 22px;--md-sys-typescale-title-large-weight: 400;--md-sys-typescale-title-medium-font: 500 16px/24px "Roboto", system-ui, sans-serif;--md-sys-typescale-title-medium-line-height: 24px;--md-sys-typescale-title-medium-size: 16px;--md-sys-typescale-title-medium-weight: 500;--md-sys-typescale-title-small-font: 500 14px/20px "Roboto", system-ui, sans-serif;--md-sys-typescale-title-small-line-height: 20px;--md-sys-typescale-title-small-size: 14px;--md-sys-typescale-title-small-weight: 500;--md-sys-typescale-label-large-font: 500 14px/20px "Roboto", system-ui, sans-serif;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-weight: 500;--md-sys-typescale-label-medium-font: 500 12px/16px "Roboto", system-ui, sans-serif;--md-sys-typescale-label-medium-line-height: 16px;--md-sys-typescale-label-medium-size: 12px;--md-sys-typescale-label-medium-weight: 500;--md-sys-typescale-label-small-font: 500 11px/16px "Roboto", system-ui, sans-serif;--md-sys-typescale-label-small-line-height: 16px;--md-sys-typescale-label-small-size: 11px;--md-sys-typescale-label-small-weight: 500;--md-sys-typescale-body-large-font: 400 16px/24px "Roboto", system-ui, sans-serif;--md-sys-typescale-body-large-line-height: 24px;--md-sys-typescale-body-large-size: 16px;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-body-medium-font: 400 14px/20px "Roboto", system-ui, sans-serif;--md-sys-typescale-body-medium-line-height: 20px;--md-sys-typescale-body-medium-size: 14px;--md-sys-typescale-body-medium-weight: 400;--md-sys-typescale-body-small-font: 400 12px/16px "Roboto", system-ui, sans-serif;--md-sys-typescale-body-small-line-height: 16px;--md-sys-typescale-body-small-size: 12px;--md-sys-typescale-body-small-weight: 400;--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0px 1px 3px 1px rgba(0, 0, 0, .15), 0px 1px 2px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level2: 0px 2px 6px 2px rgba(0, 0, 0, .15), 0px 1px 2px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level3: 0px 4px 8px 3px rgba(0, 0, 0, .15), 0px 1px 3px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level4: 0px 6px 10px 4px rgba(0, 0, 0, .15), 0px 2px 3px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level5: 0px 8px 12px 6px rgba(0, 0, 0, .15), 0px 4px 4px 0px rgba(0, 0, 0, .3);--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 50%;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-z-index-dropdown: 1000;--md-sys-z-index-sticky: 1020;--md-sys-z-index-fixed: 1030;--md-sys-z-index-modal: 1040;--md-sys-z-index-snackbar: 1050;--md-sys-z-index-tooltip: 1060}.theme-dark,[data-theme=dark],:root.theme-dark{--md-sys-color-primary: 165, 194, 255;--md-sys-color-on-primary: 0, 47, 102;--md-sys-color-primary-container: 0, 69, 143;--md-sys-color-on-primary-container: 209, 221, 255;--md-sys-color-secondary: 185, 206, 188;--md-sys-color-on-secondary: 34, 53, 38;--md-sys-color-secondary-container: 56, 76, 59;--md-sys-color-on-secondary-container: 213, 234, 216;--md-sys-color-tertiary: 255, 185, 90;--md-sys-color-on-tertiary: 74, 40, 0;--md-sys-color-tertiary-container: 101, 57, 0;--md-sys-color-on-tertiary-container: 255, 221, 179;--md-sys-color-error: 255, 137, 125;--md-sys-color-on-error: 96, 20, 16;--md-sys-color-error-container: 126, 31, 22;--md-sys-color-on-error-container: 255, 218, 214;--md-sys-color-surface: 26, 26, 28;--md-sys-color-on-surface: 227, 226, 230;--md-sys-color-surface-variant: 65, 65, 72;--md-sys-color-on-surface-variant: 194, 193, 201;--md-sys-color-surface-dim: 20, 20, 22;--md-sys-color-surface-bright: 55, 55, 57;--md-sys-color-surface-container-lowest: 15, 15, 17;--md-sys-color-surface-container-low: 26, 26, 28;--md-sys-color-surface-container: 30, 30, 32;--md-sys-color-surface-container-high: 39, 39, 41;--md-sys-color-surface-container-highest: 51, 51, 53;--md-sys-color-outline: 140, 140, 147;--md-sys-color-outline-variant: 65, 65, 72;--md-sys-color-inverse-surface: 227, 226, 230;--md-sys-color-inverse-on-surface: 47, 47, 49;--md-sys-color-inverse-primary: 0, 92, 186;--md-sys-color-scrim: 0, 0, 0;--md-sys-color-shadow: 0, 0, 0;--md-sys-elevation-level1: 0px 1px 3px 1px rgba(0, 0, 0, .3), 0px 1px 2px 0px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 2px 6px 2px rgba(0, 0, 0, .3), 0px 1px 2px 0px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 4px 8px 3px rgba(0, 0, 0, .3), 0px 1px 3px 0px rgba(0, 0, 0, .15);--md-sys-elevation-level4: 0px 6px 10px 4px rgba(0, 0, 0, .3), 0px 2px 3px 0px rgba(0, 0, 0, .15);--md-sys-elevation-level5: 0px 8px 12px 6px rgba(0, 0, 0, .3), 0px 4px 4px 0px rgba(0, 0, 0, .15)}:root{--md-gradient-primary: linear-gradient(135deg, var(--md-sys-color-primary) 0%, var(--md-sys-color-secondary) 100%);--md-gradient-surface: linear-gradient(135deg, var(--md-sys-color-surface-container-low) 0%, var(--md-sys-color-surface-container) 100%);--md-elevation-premium: 0 8px 30px rgba(0,0,0,.12), 0 6px 20px rgba(0,0,0,.08)}.premium-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.expressive-hover:hover{transform:translateY(-2px) scale(1.02)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--md-sys-color-on-surface));background-color:rgb(var(--md-sys-color-surface));line-height:var(--md-sys-typescale-body-medium-line-height);overflow-x:hidden}.display-large,h1.display-large,.md3-display-large{font:var(--md-sys-typescale-headline-large-font)!important;font-family:var(--md-sys-typescale-headline-large-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-headline-large-size, 32px)!important;font-weight:var(--md-sys-typescale-headline-large-weight, 400)!important;line-height:1.4!important;min-height:60px!important;padding:12px 8px!important;display:flex!important;align-items:center!important}.display-medium,h2.display-medium,.md3-display-medium{font:var(--md-sys-typescale-display-medium-font)!important;font-family:var(--md-sys-typescale-display-medium-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-display-medium-size, 45px)!important;font-weight:var(--md-sys-typescale-display-medium-weight, 400)!important;line-height:var(--md-sys-typescale-display-medium-line-height, 52px)!important}.display-small,h3.display-small,.md3-display-small{font:var(--md-sys-typescale-display-small-font)!important;font-family:var(--md-sys-typescale-display-small-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-display-small-size, 36px)!important;font-weight:var(--md-sys-typescale-display-small-weight, 400)!important;line-height:var(--md-sys-typescale-display-small-line-height, 44px)!important}.headline-large,h1.headline-large,.md3-headline-large{font:var(--md-sys-typescale-headline-large-font)!important;font-family:var(--md-sys-typescale-headline-large-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-headline-large-size, 32px)!important;font-weight:var(--md-sys-typescale-headline-large-weight, 400)!important;line-height:1.4!important;min-height:60px!important;padding:12px 8px!important;display:flex!important;align-items:center!important}.headline-medium,h2.headline-medium,.md3-headline-medium{font:var(--md-sys-typescale-headline-medium-font)!important;font-family:var(--md-sys-typescale-headline-medium-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-headline-medium-size, 28px)!important;font-weight:var(--md-sys-typescale-headline-medium-weight, 400)!important;line-height:var(--md-sys-typescale-headline-medium-line-height, 36px)!important}.headline-small,h3.headline-small,.md3-headline-small{font:var(--md-sys-typescale-headline-small-font)!important;font-family:var(--md-sys-typescale-headline-small-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-headline-small-size, 24px)!important;font-weight:var(--md-sys-typescale-headline-small-weight, 400)!important;line-height:var(--md-sys-typescale-headline-small-line-height, 32px)!important}.title-large,h4.title-large,.md3-title-large{font:var(--md-sys-typescale-title-large-font)!important;font-family:var(--md-sys-typescale-title-large-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-title-large-size, 22px)!important;font-weight:var(--md-sys-typescale-title-large-weight, 400)!important;line-height:var(--md-sys-typescale-title-large-line-height, 28px)!important}.title-medium,h5.title-medium,.md3-title-medium{font:var(--md-sys-typescale-title-medium-font)!important;font-family:var(--md-sys-typescale-title-medium-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-title-medium-size, 16px)!important;font-weight:var(--md-sys-typescale-title-medium-weight, 500)!important;line-height:var(--md-sys-typescale-title-medium-line-height, 24px)!important}.title-small,h6.title-small,.md3-title-small{font:var(--md-sys-typescale-title-small-font)!important;font-family:var(--md-sys-typescale-title-small-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-title-small-size, 14px)!important;font-weight:var(--md-sys-typescale-title-small-weight, 500)!important;line-height:var(--md-sys-typescale-title-small-line-height, 20px)!important}.label-large,label.label-large,.md3-label-large{font:var(--md-sys-typescale-label-large-font)!important;font-family:var(--md-sys-typescale-label-large-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-label-large-size, 14px)!important;font-weight:var(--md-sys-typescale-label-large-weight, 500)!important;line-height:var(--md-sys-typescale-label-large-line-height, 20px)!important}.label-medium,label.label-medium,.md3-label-medium{font:var(--md-sys-typescale-label-medium-font)!important;font-family:var(--md-sys-typescale-label-medium-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-label-medium-size, 12px)!important;font-weight:var(--md-sys-typescale-label-medium-weight, 500)!important;line-height:var(--md-sys-typescale-label-medium-line-height, 16px)!important}.label-small,label.label-small,.md3-label-small{font:var(--md-sys-typescale-label-small-font)!important;font-family:var(--md-sys-typescale-label-small-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-label-small-size, 11px)!important;font-weight:var(--md-sys-typescale-label-small-weight, 500)!important;line-height:var(--md-sys-typescale-label-small-line-height, 16px)!important}.body-large,p.body-large,.md3-body-large{font:var(--md-sys-typescale-body-large-font)!important;font-family:var(--md-sys-typescale-body-large-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-body-large-size, 16px)!important;font-weight:var(--md-sys-typescale-body-large-weight, 400)!important;line-height:var(--md-sys-typescale-body-large-line-height, 24px)!important}.body-medium,p.body-medium,.md3-body-medium{font:var(--md-sys-typescale-body-medium-font)!important;font-family:var(--md-sys-typescale-body-medium-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-body-medium-size, 14px)!important;font-weight:var(--md-sys-typescale-body-medium-weight, 400)!important;line-height:var(--md-sys-typescale-body-medium-line-height, 20px)!important}.body-small,p.body-small,.md3-body-small{font:var(--md-sys-typescale-body-small-font)!important;font-family:var(--md-sys-typescale-body-small-font-family, "Roboto", system-ui, sans-serif)!important;font-size:var(--md-sys-typescale-body-small-size, 12px)!important;font-weight:var(--md-sys-typescale-body-small-weight, 400)!important;line-height:var(--md-sys-typescale-body-small-line-height, 16px)!important}.text-primary,.md3-text-primary{color:rgb(var(--md-sys-color-primary))!important}.text-on-primary,.md3-text-on-primary{color:rgb(var(--md-sys-color-on-primary))!important}.text-secondary,.md3-text-secondary{color:rgb(var(--md-sys-color-secondary))!important}.text-on-secondary,.md3-text-on-secondary{color:rgb(var(--md-sys-color-on-secondary))!important}.text-tertiary,.md3-text-tertiary{color:rgb(var(--md-sys-color-tertiary))!important}.text-on-tertiary,.md3-text-on-tertiary{color:rgb(var(--md-sys-color-on-tertiary))!important}.text-error,.md3-text-error{color:rgb(var(--md-sys-color-error))!important}.text-on-error,.md3-text-on-error{color:rgb(var(--md-sys-color-on-error))!important}.text-on-surface,.md3-text-on-surface{color:rgb(var(--md-sys-color-on-surface))!important}.text-on-surface-variant,.md3-text-on-surface-variant{color:rgb(var(--md-sys-color-on-surface-variant))!important}.text-outline,.md3-text-outline{color:rgb(var(--md-sys-color-outline))!important}.bg-primary{background-color:rgb(var(--md-sys-color-primary))}.bg-primary-container{background-color:rgb(var(--md-sys-color-primary-container))}.bg-secondary{background-color:rgb(var(--md-sys-color-secondary))}.bg-secondary-container{background-color:rgb(var(--md-sys-color-secondary-container))}.bg-tertiary{background-color:rgb(var(--md-sys-color-tertiary))}.bg-tertiary-container{background-color:rgb(var(--md-sys-color-tertiary-container))}.bg-error{background-color:rgb(var(--md-sys-color-error))}.bg-error-container{background-color:rgb(var(--md-sys-color-error-container))}.bg-surface{background-color:rgb(var(--md-sys-color-surface))}.bg-surface-variant{background-color:rgb(var(--md-sys-color-surface-variant))}.bg-surface-container{background-color:rgb(var(--md-sys-color-surface-container))}.bg-surface-container-low{background-color:rgb(var(--md-sys-color-surface-container-low))}.bg-surface-container-high{background-color:rgb(var(--md-sys-color-surface-container-high))}.bg-surface-container-highest{background-color:rgb(var(--md-sys-color-surface-container-highest))}.elevation-0{box-shadow:var(--md-sys-elevation-level0)}.elevation-1{box-shadow:var(--md-sys-elevation-level1)}.elevation-2{box-shadow:var(--md-sys-elevation-level2)}.elevation-3{box-shadow:var(--md-sys-elevation-level3)}.elevation-4{box-shadow:var(--md-sys-elevation-level4)}.elevation-5{box-shadow:var(--md-sys-elevation-level5)}.rounded-none{border-radius:var(--md-sys-shape-corner-none)}.rounded-xs{border-radius:var(--md-sys-shape-corner-extra-small)}.rounded-sm{border-radius:var(--md-sys-shape-corner-small)}.rounded-md{border-radius:var(--md-sys-shape-corner-medium)}.rounded-lg{border-radius:var(--md-sys-shape-corner-large)}.rounded-xl{border-radius:var(--md-sys-shape-corner-extra-large)}.rounded-full{border-radius:var(--md-sys-shape-corner-full)}:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}::selection{background-color:rgb(var(--md-sys-color-primary) / .3);color:rgb(var(--md-sys-color-on-surface))}@media (prefers-contrast: high){:root{--md-sys-color-outline: 0, 0, 0;--md-sys-color-outline-variant: 100, 100, 100}.theme-dark{--md-sys-color-outline: 255, 255, 255;--md-sys-color-outline-variant: 150, 150, 150}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgb(var(--md-sys-color-surface-container));border-radius:4px}::-webkit-scrollbar-thumb{background:rgb(var(--md-sys-color-outline-variant));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--md-sys-color-outline))}.app{min-height:100vh;display:flex;flex-direction:column}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px;background-color:rgb(var(--md-sys-color-surface))}.error-content{text-align:center;max-width:400px}.error-content h2{font:var(--md-sys-typescale-headline-medium-font);color:rgb(var(--md-sys-color-error));margin:0 0 16px}.error-content p{font:var(--md-sys-typescale-body-large-font);color:rgb(var(--md-sys-color-on-surface-variant));margin:0 0 24px}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:32px}.not-found-content{text-align:center;max-width:400px}.not-found-content h1{font:var(--md-sys-typescale-display-medium-font);color:rgb(var(--md-sys-color-primary));margin:0 0 16px}.not-found-content h2{font:var(--md-sys-typescale-headline-medium-font);color:rgb(var(--md-sys-color-on-surface));margin:0 0 8px}.not-found-content p{font:var(--md-sys-typescale-body-large-font);color:rgb(var(--md-sys-color-on-surface-variant));margin:0 0 24px}.not-found-actions{display:flex;gap:12px;justify-content:center}@media (min-width: 600px){.container{max-width:840px;margin:0 auto;padding:0 24px}}@media (min-width: 1024px){.container{max-width:1200px;padding:0 32px}}@media (min-width: 1440px){.container{max-width:1400px;padding:0 40px}}@media print{:root{--md-sys-color-surface: 255, 255, 255;--md-sys-color-on-surface: 0, 0, 0;--md-sys-color-primary: 0, 0, 0;--md-sys-color-on-primary: 255, 255, 255}*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.app{background:#fff}.no-print{display:none!important}}.md3-animate,.md3-transition{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.md3-animate.animation-complete,.md3-transition.transition-complete{will-change:auto}@layer md3-components{@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.login-container{animation:slideInUp .6s cubic-bezier(.2,0,0,1)}.login-card{animation:fadeInScale .8s cubic-bezier(.2,0,0,1) .2s both}.login-logo{animation:fadeInScale 1s cubic-bezier(.2,0,0,1) .1s both}.login-background{background:radial-gradient(circle at 20% 50%,rgba(var(--md-sys-color-primary),.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(var(--md-sys-color-secondary),.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(var(--md-sys-color-tertiary),.1) 0%,transparent 50%)}.floating-element{animation:float 6s ease-in-out infinite}.floating-element:nth-child(2){animation-delay:-2s}.floating-element:nth-child(3){animation-delay:-4s}.login-card-enhanced{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:rgba(var(--md-sys-color-surface-container),.8);border:1px solid rgba(var(--md-sys-color-outline-variant),.2);box-shadow:0 8px 32px rgba(var(--md-sys-color-shadow),.1),0 4px 16px rgba(var(--md-sys-color-shadow),.05),inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.2,0,0,1)}.login-card-enhanced:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(var(--md-sys-color-shadow),.15),0 8px 24px rgba(var(--md-sys-color-shadow),.1),inset 0 1px #ffffff1a}.logo-container{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.15),rgba(var(--md-sys-color-primary),.05));border:1px solid rgba(var(--md-sys-color-primary),.1);transition:all .3s cubic-bezier(.2,0,0,1)}.logo-container:hover{transform:scale(1.05) rotate(2deg);background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.2),rgba(var(--md-sys-color-primary),.1))}.login-field{transition:all .2s cubic-bezier(.2,0,0,1)}.login-field:focus-within{transform:translateY(-1px)}.login-button-primary{background:linear-gradient(135deg,rgb(var(--md-sys-color-primary)),rgba(var(--md-sys-color-primary),.9));position:relative;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}.login-button-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button-primary:hover:before{left:100%}.login-button-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(var(--md-sys-color-primary),.4),0 4px 12px rgba(var(--md-sys-color-primary),.2)}.login-button-primary:active{transform:translateY(0)}.loading-spinner{border:2px solid rgba(var(--md-sys-color-on-primary),.3);border-top:2px solid rgb(var(--md-sys-color-on-primary));border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{animation:slideInUp .3s cubic-bezier(.2,0,0,1);background:linear-gradient(135deg,rgba(var(--md-sys-color-error-container),.2),rgba(var(--md-sys-color-error-container),.1));border-left:4px solid rgb(var(--md-sys-color-error))}.divider-enhanced{position:relative}.divider-enhanced:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--md-sys-color-outline-variant),.5),transparent)}.footer-link{position:relative;transition:all .2s cubic-bezier(.2,0,0,1)}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:rgb(var(--md-sys-color-primary));transition:width .3s cubic-bezier(.2,0,0,1)}.footer-link:hover:after{width:100%}@media (max-width: 640px){.login-container{padding:1rem}.login-card-enhanced{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo-container{width:4rem;height:4rem}}@media (prefers-color-scheme: dark){.login-card-enhanced{box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff0d}.login-card-enhanced:hover{box-shadow:0 12px 40px #0006,0 8px 24px #0000004d,inset 0 1px #ffffff0d}}@media (prefers-reduced-motion: reduce){.login-container,.login-card,.login-logo,.floating-element,.login-field,.login-button-primary,.error-message{animation:none}.logo-container:hover,.login-card-enhanced:hover,.login-button-primary:hover,.login-field:focus-within{transform:none}}@media (prefers-contrast: high){.login-card-enhanced{border:2px solid rgb(var(--md-sys-color-outline));background:rgb(var(--md-sys-color-surface));backdrop-filter:none;-webkit-backdrop-filter:none}.logo-container{border:2px solid rgb(var(--md-sys-color-primary))}}}:root{--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-z-index-dropdown: 1000;--md-sys-z-index-sticky: 1020;--md-sys-z-index-fixed: 1030;--md-sys-z-index-modal: 1040;--md-sys-z-index-snackbar: 1050;--md-sys-z-index-tooltip: 1060}@keyframes md3-shared-axis-x-enter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes md3-shared-axis-x-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes md3-shared-axis-y-enter{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes md3-shared-axis-y-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes md3-shared-axis-z-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-shared-axis-z-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@keyframes md3-container-transform-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-container-transform-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md3-fade-through-enter{0%{opacity:0;transform:scale(.92)}35%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes md3-fade-through-exit{0%{opacity:1;transform:scale(1)}35%{opacity:0;transform:scale(.92)}to{opacity:0;transform:scale(.92)}}@keyframes md3-elevation-rise{0%{box-shadow:var(--md-sys-elevation-level0)}to{box-shadow:var(--md-sys-elevation-level2)}}@keyframes md3-elevation-lower{0%{box-shadow:var(--md-sys-elevation-level2)}to{box-shadow:var(--md-sys-elevation-level0)}}@keyframes md3-ripple-expand{0%{opacity:.12;transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes md3-ripple-fade-in{0%{opacity:0}to{opacity:.12}}@keyframes md3-ripple-fade-out{0%{opacity:.12}to{opacity:0}}@keyframes md3-focus-ring-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-focus-ring-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md3-scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes md3-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes md3-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes md3-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes md3-slide-left{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-slide-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes md3-book-flip{0%{transform:rotateY(0)}50%{transform:rotateY(-90deg)}to{transform:rotateY(0)}}@keyframes md3-page-turn{0%{transform:rotateY(0);box-shadow:0 0 #0000}50%{transform:rotateY(90deg);box-shadow:-10px 0 20px #0003}to{transform:rotateY(180deg);box-shadow:0 0 #0000}}@keyframes md3-bookmark-flutter{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1deg)}75%{transform:translateY(1px) rotate(-1deg)}}@keyframes md3-reading-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.md3-animate-fade-in{animation:md3-fade-through-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-fade-out{animation:md3-fade-through-exit var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-scale-in{animation:md3-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-animate-scale-out{animation:md3-scale-out var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-animate-slide-up{animation:md3-slide-up var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-decelerate) forwards}.md3-animate-slide-down{animation:md3-slide-down var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized-accelerate) forwards}.md3-animate-shared-axis-x{animation:md3-shared-axis-x-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-shared-axis-y{animation:md3-shared-axis-y-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-animate-container-transform{animation:md3-container-transform-enter var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized) forwards}.md3-hover-lift{transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-hover-lift:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level3)}.md3-hover-scale{transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-hover-scale:hover{transform:scale(1.02)}.md3-press-scale{transition:transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-press-scale:active{transform:scale(.98)}@keyframes md3-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes md3-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.md3-loading-pulse{animation:md3-pulse var(--md-sys-motion-duration-long2) ease-in-out infinite}.md3-loading-shimmer{background:linear-gradient(90deg,rgb(var(--md-sys-color-surface-variant) / .1) 25%,rgb(var(--md-sys-color-surface-variant) / .3),rgb(var(--md-sys-color-surface-variant) / .1) 75%);background-size:200% 100%;animation:md3-shimmer 1.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.md3-animate-fade-in,.md3-animate-fade-out,.md3-animate-scale-in,.md3-animate-scale-out,.md3-animate-slide-up,.md3-animate-slide-down,.md3-animate-shared-axis-x,.md3-animate-shared-axis-y,.md3-animate-container-transform{animation:none}.md3-hover-lift,.md3-hover-scale,.md3-press-scale{transition:none}}.md3-will-change-transform{will-change:transform}.md3-will-change-opacity{will-change:opacity}.md3-will-change-auto{will-change:auto}.md3-hardware-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.enhanced-book-card{position:relative;transition:all .2s ease}.enhanced-book-card .book-card-content{transition:all .2s ease}.enhanced-book-card:hover .book-card-content{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.enhanced-book-card:hover .menu-button{opacity:1!important}.enhanced-book-card .menu-button{opacity:0;transition:opacity .2s ease}.enhanced-book-card .book-menu button:hover{background-color:#f5f5f5!important}.enhanced-book-card .book-menu button:hover.delete-button{background-color:#ffebee!important}.floating-reading-timer{position:fixed;bottom:1rem;right:1rem;z-index:40;transition:all .3s ease}.floating-reading-timer.minimized{width:4rem;height:4rem}.floating-reading-timer.expanded{width:18rem}.floating-reading-timer .timer-controls{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;box-shadow:0 4px 12px #00000026;border:1px solid rgba(0,0,0,.1)}.dark .floating-reading-timer .timer-controls{background:#1f2937f2;border-color:#ffffff1a}.reading-tracker-modal{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.reading-tracker-content{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;width:100%;height:100%;max-width:80rem;max-height:95vh;display:flex;flex-direction:column}.dark .reading-tracker-content{background:#1f2937}.reading-tracker-header{padding:1rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#dbeafe,#e0e7ff);border-radius:.5rem .5rem 0 0}.dark .reading-tracker-header{border-bottom-color:#374151;background:linear-gradient(to right,#374151,#4b5563)}.reading-tracker-controls{background:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 4px 6px -1px #0000001a}.dark .reading-tracker-controls{background:#1f2937}.reading-status-indicator{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.75rem;font-size:.625rem;font-weight:500}.reading-status-indicator.active{background-color:#10b981;color:#fff}.reading-status-indicator.completed{background-color:#3b82f6;color:#fff}.reading-status-indicator.in-progress{background-color:#f59e0b;color:#fff}.reading-progress-bar{width:100%;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.reading-progress-fill{height:100%;transition:width .3s ease;border-radius:2px}.reading-progress-fill.active{background-color:#10b981}.reading-progress-fill.completed{background-color:#3b82f6}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-slide-in-right{animation:slideInRight .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in,.book-menu{animation:fadeIn .2s ease-out}.book-menu button{transition:background-color .2s ease}.book-menu button:first-child{border-radius:.5rem .5rem 0 0}.book-menu button:last-child{border-radius:0 0 .5rem .5rem}@media (max-width: 768px){.floating-reading-timer{bottom:5rem;right:1rem;left:1rem;width:auto!important}.reading-tracker-modal{padding:.5rem}.reading-tracker-content{max-height:calc(100vh - 1rem);border-radius:.5rem}.reading-tracker-header{padding:.75rem}.reading-tracker-controls{padding:.75rem;flex-wrap:wrap;gap:.5rem}.enhanced-book-card{margin-bottom:1rem}.book-menu{position:fixed!important;bottom:1rem!important;left:1rem!important;right:1rem!important;top:auto!important;min-width:auto!important;border-radius:1rem;padding:.5rem}.book-menu button{padding:1rem;font-size:1rem;border-radius:.75rem;margin-bottom:.25rem}}@media (max-width: 480px){.floating-reading-timer.expanded{width:calc(100vw - 2rem)}.reading-tracker-controls{flex-direction:column;align-items:stretch}.reading-tracker-controls>div{margin-bottom:.5rem}}.dark .book-menu{background-color:#1f2937;border-color:#374151}.dark .book-menu button{color:#f3f4f6}.dark .book-menu button:hover{background-color:#374151!important}.dark .book-menu button.delete-button:hover{background-color:#7f1d1d!important;color:#fecaca!important}.dark .reading-progress-bar{background-color:#374151}@media (prefers-contrast: high){.enhanced-book-card .book-card-content{border-width:2px;border-style:solid}.reading-status-indicator{border:2px solid currentColor}.floating-reading-timer .timer-controls{border-width:2px}}@media (prefers-reduced-motion: reduce){.enhanced-book-card,.enhanced-book-card .book-card-content,.floating-reading-timer,.book-menu,.animate-pulse,.animate-slide-in-right,.animate-fade-in{animation:none;transition:none}.enhanced-book-card:hover .book-card-content{transform:none}}.enhanced-book-card .menu-button:focus,.floating-reading-timer button:focus,.reading-tracker-content button:focus,.book-menu button:focus{outline:2px solid #3b82f6;outline-offset:2px}.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}.enhanced-book-card{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-book-card .book-card-content{transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow}.enhanced-book-card:hover .book-card-content{transform:translateY(-4px);box-shadow:var(--md-sys-elevation-level3)}.enhanced-book-card:hover .menu-button{opacity:1!important;transform:scale(1.1)}@keyframes reading-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.timer-widget:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%);border-radius:inherit;pointer-events:none}.book-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:menuSlideIn .2s cubic-bezier(.4,0,.2,1)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.book-menu button{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.book-menu button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.book-menu button:hover:before{left:100%}.timer-widget{position:relative;background:linear-gradient(135deg,rgb(var(--md-sys-color-primary-container)),rgb(var(--md-sys-color-secondary-container)));background-size:400% 400%;animation:gradient-shift 8s ease-in-out infinite;overflow:hidden}.timer-widget .timer-display{font-variant-numeric:tabular-nums;position:relative}.timer-widget .timer-display:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent,rgb(var(--md-sys-color-primary)),transparent);border-radius:1px;opacity:.6}.page-counter-button{position:relative;overflow:hidden}.page-counter-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.page-counter-button:active:before{width:120%;height:120%}.timer-action-button{position:relative;overflow:hidden;transform:perspective(1px) translateZ(0)}.timer-action-button:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.timer-action-button:hover:before{transform:translate(100%)}.reading-action-button{position:relative;transform:perspective(1px) translateZ(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.reading-action-button:hover{transform:translateY(-2px)}.reading-action-button:active{transform:translateY(0);transition:all .1s ease}.premium-badge{position:relative;overflow:hidden}.premium-badge:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.2),transparent);animation:premium-shine 3s linear infinite}@keyframes premium-shine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.timer-widget{padding:12px}.timer-widget .timer-display{font-size:24px}.reading-actions{gap:6px}.reading-action-button{padding:10px 12px;font-size:12px}}@media (min-width: 1200px){.enhanced-book-card:hover{transform:scale(1.02)}.timer-widget{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.enhanced-book-card:focus-within .menu-button{opacity:1}.timer-widget button:focus,.reading-action-button:focus,.book-menu button:focus{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}@media (prefers-contrast: high){.timer-widget{border:2px solid rgb(var(--md-sys-color-outline))}.reading-action-button{border:1px solid rgb(var(--md-sys-color-outline))}}@media (prefers-reduced-motion: reduce){.enhanced-book-card,.timer-widget,.reading-action-button,.book-menu{animation:none;transition:none}.enhanced-book-card:hover .book-card-content{transform:none}}@media (prefers-color-scheme: dark){.timer-widget{background:linear-gradient(135deg,color-mix(in srgb,rgb(var(--md-sys-color-primary-container)),black 10%),color-mix(in srgb,rgb(var(--md-sys-color-secondary-container)),black 10%))}.book-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:color-mix(in srgb,rgb(var(--md-sys-color-surface-container-high)),transparent 20%)}}@media print{.timer-widget,.reading-actions,.book-menu{display:none}.enhanced-book-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:rgb(var(--md-sys-color-background, 255 251 255));color:rgb(var(--md-sys-color-on-background, 28 27 31));font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-large-size, 1rem);line-height:var(--md-sys-typescale-body-large-line-height, 1.5);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px);transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:1000;background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));color:rgb(var(--md-sys-color-on-surface, 28 27 31));border-bottom:1px solid rgb(var(--md-sys-color-outline-variant, 202 196 208));box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) );transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),box-shadow var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.app-main{flex:1;display:flex;flex-direction:column;padding:var(--md-sys-spacing-4, 16px);gap:var(--md-sys-spacing-6, 24px);max-width:1200px;margin:0 auto;width:100%}.app-footer{background-color:rgb(var(--md-sys-color-surface-container-low, 247 243 249));color:rgb(var(--md-sys-color-on-surface-variant, 73 69 79));padding:var(--md-sys-spacing-6, 24px);text-align:center;border-top:1px solid rgb(var(--md-sys-color-outline-variant, 202 196 208));font-size:var(--md-sys-typescale-body-small-size, .75rem);transition:background-color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1)),color var(--md-sys-motion-duration-medium2, .3s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1))}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--md-sys-spacing-6, 24px);padding:var(--md-sys-spacing-4, 16px) 0}.library-list{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4, 16px);padding:var(--md-sys-spacing-4, 16px) 0}.book-card{background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));border-radius:var(--md-sys-shape-corner-large, 16px);padding:var(--md-sys-spacing-4, 16px);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) );transition:all var(--md-sys-motion-duration-short4, .2s) var(--md-sys-motion-easing-standard, cubic-bezier(.2, 0, 0, 1));cursor:pointer}.book-card:hover{background-color:rgb(var(--md-sys-color-surface-container-high, 236 230 240));box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15) )}.book-card:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 103 80 164));outline-offset:2px}.navigation-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-4, 16px) var(--md-sys-spacing-6, 24px);background-color:rgb(var(--md-sys-color-surface-container, 243 237 247))}.navigation-rail{width:80px;min-height:100vh;background-color:rgb(var(--md-sys-color-surface-container, 243 237 247));display:flex;flex-direction:column;align-items:center;padding:var(--md-sys-spacing-4, 16px) 0;gap:var(--md-sys-spacing-4, 16px)}.navigation-drawer{width:280px;min-height:100vh;background-color:rgb(var(--md-sys-color-surface-container-low, 247 243 249));display:flex;flex-direction:column;padding:var(--md-sys-spacing-6, 24px);gap:var(--md-sys-spacing-2, 8px)}.content-section{background-color:rgb(var(--md-sys-color-surface, 255 251 255));border-radius:var(--md-sys-shape-corner-large, 16px);padding:var(--md-sys-spacing-6, 24px);margin-bottom:var(--md-sys-spacing-6, 24px);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15) )}.hero-section{background:linear-gradient(135deg,rgb(var(--md-sys-color-primary-container, 234 221 255)),rgb(var(--md-sys-color-tertiary-container, 255 216 228)));color:rgb(var(--md-sys-color-on-primary-container, 33 0 93));border-radius:var(--md-sys-shape-corner-extra-large, 24px);padding:var(--md-sys-spacing-8, 32px);text-align:center;margin-bottom:var(--md-sys-spacing-8, 32px)}.headline-large{font-family:var(--md-sys-typescale-headline-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-large-size, 2rem);font-weight:var(--md-sys-typescale-headline-large-weight, 400);line-height:var(--md-sys-typescale-headline-large-line-height, 2.5rem);letter-spacing:var(--md-sys-typescale-headline-large-tracking, 0)}.headline-medium{font-family:var(--md-sys-typescale-headline-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-medium-size, 1.75rem);font-weight:var(--md-sys-typescale-headline-medium-weight, 400);line-height:var(--md-sys-typescale-headline-medium-line-height, 2.25rem);letter-spacing:var(--md-sys-typescale-headline-medium-tracking, 0)}.title-large{font-family:var(--md-sys-typescale-title-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-title-large-size, 1.375rem);font-weight:var(--md-sys-typescale-title-large-weight, 400);line-height:var(--md-sys-typescale-title-large-line-height, 1.75rem);letter-spacing:var(--md-sys-typescale-title-large-tracking, 0)}.body-large{font-family:var(--md-sys-typescale-body-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);letter-spacing:var(--md-sys-typescale-body-large-tracking, .5px)}.body-medium{font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-size, .875rem);font-weight:var(--md-sys-typescale-body-medium-weight, 400);line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-body-medium-tracking, .25px)}.label-large{font-family:var(--md-sys-typescale-label-large-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-size, .875rem);font-weight:var(--md-sys-typescale-label-large-weight, 500);line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem);letter-spacing:var(--md-sys-typescale-label-large-tracking, .1px)}@media (max-width: 599px){.app-main{padding:var(--md-sys-spacing-3, 12px);gap:var(--md-sys-spacing-4, 16px)}.library-grid{grid-template-columns:1fr;gap:var(--md-sys-spacing-4, 16px)}.content-section{padding:var(--md-sys-spacing-4, 16px);margin-bottom:var(--md-sys-spacing-4, 16px)}.hero-section{padding:var(--md-sys-spacing-6, 24px);margin-bottom:var(--md-sys-spacing-6, 24px)}.navigation-bar{padding:var(--md-sys-spacing-3, 12px) var(--md-sys-spacing-4, 16px)}}@media (min-width: 600px) and (max-width: 1024px){.library-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.app-main{padding:var(--md-sys-spacing-5, 20px)}}@media (min-width: 1025px){.app-main{padding:var(--md-sys-spacing-6, 24px)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.focusable:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 103 80 164));outline-offset:2px;border-radius:var(--md-sys-shape-corner-small, 8px)}@media (prefers-contrast: high){.app-header,.app-footer,.book-card,.content-section{border:1px solid rgb(var(--md-sys-color-outline, 121 116 126))}}@media (prefers-reduced-motion: reduce){#root,.app-header,.app-footer,.book-card,.content-section,.hero-section{transition:none}}@media (prefers-color-scheme: dark){#root{background-color:rgb(var(--md-sys-color-background, 16 14 19));color:rgb(var(--md-sys-color-on-background, 230 225 229))}.app-header{background-color:rgb(var(--md-sys-color-surface-container, 37 35 42));color:rgb(var(--md-sys-color-on-surface, 230 225 229))}.app-footer{background-color:rgb(var(--md-sys-color-surface-container-low, 28 27 31));color:rgb(var(--md-sys-color-on-surface-variant, 202 196 208))}.book-card{background-color:rgb(var(--md-sys-color-surface-container, 37 35 42))}.book-card:hover{background-color:rgb(var(--md-sys-color-surface-container-high, 54 52 59))}}@media print{.app-header,.app-footer,.navigation-bar,.navigation-rail,.navigation-drawer{display:none}.app-main{padding:0;max-width:none}.book-card,.content-section{box-shadow:none;border:1px solid #ccc;break-inside:avoid}}.notepad-widget{position:fixed;bottom:20px;right:20px;background-color:#fff;border:1px solid #ccc;padding:10px;box-shadow:0 0 10px #0003;z-index:1000;width:300px;height:200px;resize:both;overflow:auto}.notepad-widget textarea{width:100%;height:100%;border:none;outline:none;resize:none}.md3-snackbar__container{position:fixed;z-index:var(--md-sys-z-index-snackbar);pointer-events:none}.md3-snackbar{--_container-color: var(--md-sys-color-inverse-surface);--_container-elevation: var(--md-sys-elevation-level3);--_container-shape: var(--md-sys-shape-corner-extra-small);--_supporting-text-color: var(--md-sys-color-inverse-on-surface);--_action-label-text-color: var(--md-sys-color-inverse-primary);position:relative;display:flex;align-items:center;min-width:344px;max-width:672px;min-height:48px;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);pointer-events:auto;overflow:hidden}.md3-snackbar__content{display:flex;align-items:center;gap:12px;padding:14px 16px;flex:1;min-width:0}.md3-snackbar__message{font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-body-medium-line-height);flex:1;min-width:0;word-wrap:break-word}.md3-snackbar__action{display:flex;align-items:center;gap:8px;flex-shrink:0}.md3-snackbar__action .md3-button{--md-sys-color-primary: var(--md-sys-color-inverse-primary);--md-sys-color-on-primary: var(--md-sys-color-inverse-on-surface);min-width:auto;padding:8px 12px;font-size:.875rem}.md3-snackbar__close-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:rgb(var(--_supporting-text-color));transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);flex-shrink:0}.md3-snackbar__close-button:hover{background-color:rgb(var(--md-sys-color-inverse-on-surface) / .08)}.md3-snackbar__close-button:active{background-color:rgb(var(--md-sys-color-inverse-on-surface) / .12)}.md3-snackbar__close-icon{width:18px;height:18px;fill:currentColor}.md3-snackbar--success{--_container-color: var(--md-sys-color-tertiary-container);--_supporting-text-color: var(--md-sys-color-on-tertiary-container);--_action-label-text-color: var(--md-sys-color-tertiary)}.md3-snackbar--error{--_container-color: var(--md-sys-color-error-container);--_supporting-text-color: var(--md-sys-color-on-error-container);--_action-label-text-color: var(--md-sys-color-error)}.md3-snackbar--warning{--_container-color: var(--md-sys-color-secondary-container);--_supporting-text-color: var(--md-sys-color-on-secondary-container);--_action-label-text-color: var(--md-sys-color-secondary)}.md3-snackbar--info{--_container-color: var(--md-sys-color-primary-container);--_supporting-text-color: var(--md-sys-color-on-primary-container);--_action-label-text-color: var(--md-sys-color-primary)}.md3-snackbar--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.md3-snackbar--bottom-left{bottom:16px;left:16px}.md3-snackbar--bottom-right{bottom:16px;right:16px}.md3-snackbar--top-center{top:16px;left:50%;transform:translate(-50%)}.md3-snackbar--top-left{top:16px;left:16px}.md3-snackbar--top-right{top:16px;right:16px}.md3-snackbar--entering{animation:md3-snackbar-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--exiting{animation:md3-snackbar-exit var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}@keyframes md3-snackbar-enter{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes md3-snackbar-exit{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(100%)}}@keyframes md3-snackbar-enter-left{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-snackbar-exit-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes md3-snackbar-enter-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes md3-snackbar-exit-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes md3-snackbar-enter-top{0%{opacity:0;transform:translate(-50%) translateY(-100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes md3-snackbar-exit-top{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-100%)}}.md3-snackbar--bottom-left.md3-snackbar--entering{animation:md3-snackbar-enter-left var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-left.md3-snackbar--exiting{animation:md3-snackbar-exit-left var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-right.md3-snackbar--entering{animation:md3-snackbar-enter-right var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--bottom-right.md3-snackbar--exiting{animation:md3-snackbar-exit-right var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--top-center.md3-snackbar--entering,.md3-snackbar--top-left.md3-snackbar--entering,.md3-snackbar--top-right.md3-snackbar--entering{animation:md3-snackbar-enter-top var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.md3-snackbar--top-center.md3-snackbar--exiting,.md3-snackbar--top-left.md3-snackbar--exiting,.md3-snackbar--top-right.md3-snackbar--exiting{animation:md3-snackbar-exit-top var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized) forwards}.md3-progress-snackbar__content{display:flex;flex-direction:column;gap:8px;width:100%}.md3-progress-snackbar__message{font:var(--md-sys-typescale-body-medium-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-body-medium-line-height)}.md3-progress-snackbar__progress{position:relative;width:100%;height:4px;background-color:rgb(var(--md-sys-color-inverse-on-surface) / .24);border-radius:2px;overflow:hidden}.md3-progress-snackbar__progress-bar{position:absolute;top:0;left:0;height:100%;background-color:rgb(var(--_action-label-text-color));border-radius:inherit;transition:width var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-progress-snackbar__percentage{font:var(--md-sys-typescale-label-small-font);color:rgb(var(--_supporting-text-color));line-height:var(--md-sys-typescale-label-small-line-height);text-align:right;opacity:.8}@media (max-width: 600px){.md3-snackbar{min-width:280px;max-width:calc(100vw - 32px);margin:0 16px}.md3-snackbar--bottom-center,.md3-snackbar--top-center{left:16px;right:16px;transform:none;width:auto}.md3-snackbar__content{padding:12px 14px;gap:8px}.md3-snackbar__message{font-size:.875rem}.md3-snackbar__action .md3-button{padding:6px 8px;font-size:.75rem}}@media (max-width: 480px){.md3-snackbar{min-width:240px}.md3-snackbar__content{flex-direction:column;align-items:stretch;gap:8px}.md3-snackbar__action{justify-content:flex-end;margin-top:4px}.md3-snackbar__close-button{align-self:flex-end;margin-top:-4px}}.md3-snackbar:nth-of-type(1){z-index:calc(var(--md-sys-z-index-snackbar) + 3)}.md3-snackbar:nth-of-type(2){z-index:calc(var(--md-sys-z-index-snackbar) + 2);bottom:80px;opacity:.9;transform:translate(-50%) scale(.98)}.md3-snackbar:nth-of-type(3){z-index:calc(var(--md-sys-z-index-snackbar) + 1);bottom:144px;opacity:.8;transform:translate(-50%) scale(.96)}.md3-snackbar:nth-of-type(n+4){display:none}@media (prefers-reduced-motion: reduce){.md3-snackbar--entering,.md3-snackbar--exiting{animation:none}.md3-progress-snackbar__progress-bar{transition:none}}@media (prefers-contrast: high){.md3-snackbar{border:2px solid rgb(var(--md-sys-color-outline))}.md3-snackbar__close-button:focus-visible{outline:2px solid rgb(var(--_supporting-text-color));outline-offset:2px}}@media (prefers-color-scheme: dark){.md3-snackbar--success{--_container-color: var(--md-sys-color-tertiary);--_supporting-text-color: var(--md-sys-color-on-tertiary)}.md3-snackbar--error{--_container-color: var(--md-sys-color-error);--_supporting-text-color: var(--md-sys-color-on-error)}.md3-snackbar--warning{--_container-color: var(--md-sys-color-secondary);--_supporting-text-color: var(--md-sys-color-on-secondary)}.md3-snackbar--info{--_container-color: var(--md-sys-color-primary);--_supporting-text-color: var(--md-sys-color-on-primary)}}.md3-menu{--_container-color: var(--md-sys-color-surface-container);--_container-shape: var(--md-sys-shape-corner-extra-small);--_container-elevation: var(--md-sys-elevation-level2);position:fixed;z-index:var(--md-sys-z-index-dropdown);min-width:112px;max-width:280px;padding:8px 0;background-color:rgb(var(--_container-color));border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);overflow:hidden;transform-origin:top left;opacity:0;transform:scale(.8);transition:opacity var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized)}.md3-menu--open{opacity:1;transform:scale(1)}.md3-menu--closing{opacity:0;transform:scale(.8)}.md3-menu--elevation-1{--_container-elevation: var(--md-sys-elevation-level1)}.md3-menu--elevation-2{--_container-elevation: var(--md-sys-elevation-level2)}.md3-menu--elevation-3{--_container-elevation: var(--md-sys-elevation-level3)}.md3-menu-item{--_list-item-container-color: transparent;--_list-item-label-text-color: var(--md-sys-color-on-surface);--_list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);--_list-item-leading-icon-color: var(--md-sys-color-on-surface-variant);--_list-item-trailing-icon-color: var(--md-sys-color-on-surface-variant);--_list-item-container-height: 48px;position:relative;display:flex;align-items:center;min-height:var(--_list-item-container-height);padding:12px 16px;background-color:rgb(var(--_list-item-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none}.md3-menu-item__text{flex:1;min-width:0;font:var(--md-sys-typescale-body-large-font);color:rgb(var(--_list-item-label-text-color));line-height:var(--md-sys-typescale-body-large-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-menu-item__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--_list-item-leading-icon-color));flex-shrink:0}.md3-menu-item__icon--leading{margin-right:12px}.md3-menu-item__icon--trailing{margin-left:12px;color:rgb(var(--_list-item-trailing-icon-color))}.md3-menu-item__ripple{position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--md-sys-color-on-surface) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-menu-item:hover:not(.md3-menu-item--disabled){background-color:rgb(var(--md-sys-color-on-surface) / .08)}.md3-menu-item:focus-visible{background-color:rgb(var(--md-sys-color-on-surface) / .12);outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:-2px}.md3-menu-item:active:not(.md3-menu-item--disabled) .md3-menu-item__ripple{opacity:1;transform:scale(1)}.md3-menu-item--selected{background-color:rgb(var(--md-sys-color-secondary-container));--_list-item-label-text-color: var(--md-sys-color-on-secondary-container);--_list-item-leading-icon-color: var(--md-sys-color-on-secondary-container);--_list-item-trailing-icon-color: var(--md-sys-color-on-secondary-container)}.md3-menu-item--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.md3-menu-item--destructive{--_list-item-label-text-color: var(--md-sys-color-error);--_list-item-leading-icon-color: var(--md-sys-color-error)}.md3-menu-item--destructive:hover:not(.md3-menu-item--disabled){background-color:rgb(var(--md-sys-color-error) / .08)}.md3-menu-divider{height:1px;margin:8px 0;background-color:rgb(var(--md-sys-color-outline-variant))}.md3-menu-group{padding:8px 0}.md3-menu-group:not(:first-child){border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-menu-group__label{padding:8px 16px 4px;font:var(--md-sys-typescale-label-small-font);color:rgb(var(--md-sys-color-on-surface-variant));line-height:var(--md-sys-typescale-label-small-line-height);text-transform:uppercase;letter-spacing:.1em}.md3-dropdown-button{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-on-surface);--_button-outline-color: var(--md-sys-color-outline);--_button-container-shape: var(--md-sys-shape-corner-extra-small);--_button-container-height: 40px;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:var(--_button-container-height);padding:0 16px;border:1px solid rgb(var(--_button-outline-color));border-radius:var(--_button-container-shape);background-color:rgb(var(--_button-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none;overflow:hidden}.md3-dropdown-button--filled{--_button-container-color: var(--md-sys-color-primary);--_button-label-text-color: var(--md-sys-color-on-primary);border:none}.md3-dropdown-button--tonal{--_button-container-color: var(--md-sys-color-secondary-container);--_button-label-text-color: var(--md-sys-color-on-secondary-container);border:none}.md3-dropdown-button--outlined{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-primary);--_button-outline-color: var(--md-sys-color-outline)}.md3-dropdown-button--text{--_button-container-color: transparent;--_button-label-text-color: var(--md-sys-color-primary);border:none}.md3-dropdown-button__ripple{position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--_button-label-text-color) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-dropdown-button__icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:rgb(var(--_button-label-text-color));margin-right:8px}.md3-dropdown-button__text{font:var(--md-sys-typescale-label-large-font);color:rgb(var(--_button-label-text-color));line-height:var(--md-sys-typescale-label-large-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md3-dropdown-button__arrow{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:rgb(var(--_button-label-text-color));margin-left:8px;font-size:12px;transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.md3-dropdown-button__arrow--up{transform:rotate(180deg)}.md3-dropdown-button:hover:not(.md3-dropdown-button--disabled){background-color:rgb(var(--_button-label-text-color) / .08)}.md3-dropdown-button--outlined:hover:not(.md3-dropdown-button--disabled){border-color:rgb(var(--md-sys-color-outline));background-color:rgb(var(--md-sys-color-primary) / .08)}.md3-dropdown-button:focus-visible{box-shadow:0 0 0 2px rgb(var(--md-sys-color-primary))}.md3-dropdown-button:active:not(.md3-dropdown-button--disabled) .md3-dropdown-button__ripple{opacity:1;transform:scale(1)}.md3-dropdown-button--open{background-color:rgb(var(--_button-label-text-color) / .12)}.md3-dropdown-button--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}@media (max-width: 600px){.md3-menu{max-width:calc(100vw - 32px)}.md3-menu-item{min-height:56px;padding:16px}.md3-menu-item__text{font-size:16px}.md3-dropdown-button{height:48px;padding:0 12px}.md3-dropdown-button__text{font-size:16px}}@media (max-width: 480px){.md3-menu{min-width:160px}.md3-menu-item__icon--leading{margin-right:16px}.md3-menu-item__icon--trailing{margin-left:16px}.md3-dropdown-button__icon{margin-right:4px}.md3-dropdown-button__arrow{margin-left:4px}}@media (prefers-reduced-motion: reduce){.md3-menu,.md3-menu-item__ripple,.md3-dropdown-button,.md3-dropdown-button__ripple,.md3-dropdown-button__arrow{transition:none}}@media (prefers-contrast: high){.md3-menu{border:2px solid rgb(var(--md-sys-color-outline))}.md3-menu-divider{height:2px;background-color:rgb(var(--md-sys-color-outline))}.md3-dropdown-button--outlined{border-width:2px}.md3-menu-item:focus-visible{outline-width:3px}.md3-dropdown-button:focus-visible{box-shadow:0 0 0 3px rgb(var(--md-sys-color-primary))}}@media (prefers-color-scheme: dark){.md3-menu{--_container-color: var(--md-sys-color-surface-container-high)}.md3-menu-item--selected{background-color:rgb(var(--md-sys-color-secondary-container))}}@keyframes md3-menu-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md3-menu-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.md3-menu[data-anchor-origin=top-left]{transform-origin:bottom left}.md3-menu[data-anchor-origin=top-right]{transform-origin:bottom right}.md3-menu[data-anchor-origin=bottom-left]{transform-origin:top left}.md3-menu[data-anchor-origin=bottom-right]{transform-origin:top right}.md3-menu[data-anchor-origin=center]{transform-origin:center}.md3-menu-item--has-submenu .md3-menu-item__icon--trailing:after{content:"▶";font-size:12px}.md3-menu--nested{margin-left:4px}@media (pointer: coarse){.md3-menu-item{min-height:56px}.md3-dropdown-button{min-height:48px}}.md3-navigation-rail{--_container-color: var(--md-sys-color-surface);--_container-width: 80px;--_container-elevation: var(--md-sys-elevation-level0);position:relative;display:flex;flex-direction:column;width:var(--_container-width);height:100vh;background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);overflow:hidden;transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.md3-navigation-rail--expanded{--_container-width: 256px}.md3-navigation-rail__header{display:flex;align-items:center;justify-content:center;min-height:64px;padding:16px;border-bottom:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-rail__fab{display:flex;align-items:center;justify-content:center;padding:16px}.md3-navigation-rail__destinations{flex:1;display:flex;flex-direction:column;gap:4px;padding:8px 0;overflow-y:auto}.md3-navigation-drawer__scrim{position:fixed;inset:0;background-color:rgb(var(--md-sys-color-scrim) / .32);z-index:var(--md-sys-z-index-modal);opacity:0;animation:md3-scrim-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.md3-navigation-drawer{--_container-color: var(--md-sys-color-surface-container-low);--_container-width: 360px;--_container-elevation: var(--md-sys-elevation-level1);position:fixed;top:0;left:0;width:var(--_container-width);height:100vh;background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);z-index:calc(var(--md-sys-z-index-modal) + 1);display:flex;flex-direction:column;transform:translate(-100%);transition:transform var(--md-sys-motion-duration-medium3) var(--md-sys-motion-easing-emphasized)}.md3-navigation-drawer--open{transform:translate(0)}.md3-navigation-drawer--permanent{position:relative;transform:none;z-index:auto}.md3-navigation-drawer__header{display:flex;align-items:center;min-height:64px;padding:16px 24px;border-bottom:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-drawer__content{flex:1;overflow-y:auto;padding:8px 0}.md3-navigation-drawer__destinations{display:flex;flex-direction:column;gap:4px;padding:0 12px}.md3-navigation-drawer__footer{padding:16px 24px;border-top:1px solid rgb(var(--md-sys-color-outline-variant))}.md3-navigation-bar{--_container-color: var(--md-sys-color-surface-container);--_container-elevation: var(--md-sys-elevation-level2);--_container-height: 80px;position:fixed;bottom:0;left:0;right:0;height:var(--_container-height);background-color:rgb(var(--_container-color));box-shadow:var(--_container-elevation);z-index:var(--md-sys-z-index-fixed)}.md3-navigation-bar__destinations{display:flex;height:100%;align-items:center;justify-content:space-around;padding:0 8px}.md3-navigation-item{--_item-container-color: transparent;--_item-icon-color: var(--md-sys-color-on-surface-variant);--_item-label-text-color: var(--md-sys-color-on-surface-variant);--_item-selected-container-color: var(--md-sys-color-secondary-container);--_item-selected-icon-color: var(--md-sys-color-on-secondary-container);--_item-selected-label-text-color: var(--md-sys-color-on-secondary-container);position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:4px 12px;border:none;border-radius:var(--md-sys-shape-corner-full);background-color:rgb(var(--_item-container-color));cursor:pointer;outline:none;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);-webkit-user-select:none;user-select:none;overflow:hidden}.md3-navigation-item--rail{margin:0 8px;flex-direction:column;gap:4px;min-height:72px}.md3-navigation-item--drawer{margin:0;border-radius:var(--md-sys-shape-corner-full);justify-content:flex-start;padding:8px 12px}.md3-navigation-item--bar{flex:1;flex-direction:column;gap:4px;min-height:64px;margin:0 4px;border-radius:var(--md-sys-shape-corner-medium)}.md3-navigation-item--expanded{justify-content:flex-start;padding:8px 16px}.md3-navigation-item__container{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.md3-navigation-item--rail .md3-navigation-item__container,.md3-navigation-item--bar .md3-navigation-item__container{flex-direction:column;gap:4px}.md3-navigation-item--expanded .md3-navigation-item__container{flex-direction:row}.md3-navigation-item__icon-container{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.md3-navigation-item__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:rgb(var(--_item-icon-color));font-size:24px;line-height:1;transition:color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-navigation-item__label{font:var(--md-sys-typescale-label-medium-font);color:rgb(var(--_item-label-text-color));line-height:var(--md-sys-typescale-label-medium-line-height);text-align:center;transition:color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-navigation-item--drawer .md3-navigation-item__label{font:var(--md-sys-typescale-label-large-font);line-height:var(--md-sys-typescale-label-large-line-height);text-align:left}.md3-navigation-item__badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background-color:rgb(var(--md-sys-color-error));color:rgb(var(--md-sys-color-on-error));font:var(--md-sys-typescale-label-small-font);line-height:var(--md-sys-typescale-label-small-line-height);border-radius:var(--md-sys-shape-corner-full);display:flex;align-items:center;justify-content:center;font-weight:500}.md3-navigation-item__ripple{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgb(var(--_item-icon-color) / .12) 0%,transparent 50%);opacity:0;transform:scale(0);transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized);pointer-events:none}.md3-navigation-item--selected{--_item-container-color: var(--md-sys-color-secondary-container);--_item-icon-color: var(--md-sys-color-on-secondary-container);--_item-label-text-color: var(--md-sys-color-on-secondary-container)}.md3-navigation-item:hover:not(.md3-navigation-item--disabled){background-color:rgb(var(--_item-icon-color) / .08)}.md3-navigation-item:focus-visible{background-color:rgb(var(--_item-icon-color) / .12);outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.md3-navigation-item:active:not(.md3-navigation-item--disabled) .md3-navigation-item__ripple{opacity:1;transform:scale(1)}.md3-navigation-item--disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.md3-navigation-layout{display:flex;min-height:100vh}.md3-navigation-layout--drawer,.md3-navigation-layout--bar{flex-direction:column}.md3-navigation-layout__header{display:flex;align-items:center;height:64px;padding:0 16px;background-color:rgb(var(--md-sys-color-surface));border-bottom:1px solid rgb(var(--md-sys-color-outline-variant));z-index:var(--md-sys-z-index-sticky)}.md3-navigation-layout__menu-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:var(--md-sys-shape-corner-full);background-color:transparent;color:rgb(var(--md-sys-color-on-surface));cursor:pointer;margin-right:16px;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.md3-navigation-layout__menu-button:hover{background-color:rgb(var(--md-sys-color-on-surface) / .08)}.md3-navigation-layout__content{flex:1;overflow:auto}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:80px}@media (max-width: 1023px){.md3-navigation-rail{display:none}}@media (max-width: 599px){.md3-navigation-drawer{--_container-width: 100vw;max-width:320px}.md3-navigation-bar__destinations{padding:0 4px}.md3-navigation-item--bar{margin:0 2px}.md3-navigation-item__label{font-size:12px}}@media (max-width: 480px){.md3-navigation-bar{--_container-height: 72px}.md3-navigation-item--bar{min-height:56px}.md3-navigation-item__icon{width:20px;height:20px;font-size:20px}.md3-navigation-item__label{font-size:11px}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:72px}}@keyframes md3-scrim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes md3-drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes md3-drawer-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-item,.md3-navigation-item__ripple,.md3-navigation-layout__menu-button{transition:none}.md3-navigation-drawer__scrim{animation:none}}@media (prefers-contrast: high){.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-bar{border:2px solid rgb(var(--md-sys-color-outline))}.md3-navigation-item--selected{border:2px solid rgb(var(--md-sys-color-primary))}.md3-navigation-item:focus-visible{outline-width:3px}}@media (prefers-color-scheme: dark){.md3-navigation-drawer__scrim{background-color:rgb(var(--md-sys-color-scrim) / .48)}.md3-navigation-rail{--_container-color: var(--md-sys-color-surface-container)}.md3-navigation-bar{--_container-color: var(--md-sys-color-surface-container-high)}}@media print{.md3-navigation-rail,.md3-navigation-drawer,.md3-navigation-bar,.md3-navigation-layout__header{display:none}.md3-navigation-layout__content{margin:0}}@supports (padding: env(safe-area-inset-bottom)){.md3-navigation-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--_container-height) + env(safe-area-inset-bottom))}.md3-navigation-layout--bar .md3-navigation-layout__content{margin-bottom:calc(80px + env(safe-area-inset-bottom))}}.md3-book-progress-controls{--md3-progress-controls-spacing: var(--md-sys-spacing-4, 16px);--md3-progress-controls-spacing-small: var(--md-sys-spacing-2, 8px);--md3-progress-controls-spacing-large: var(--md-sys-spacing-6, 24px);display:flex;flex-direction:column;gap:var(--md3-progress-controls-spacing);padding:var(--md3-progress-controls-spacing);border-radius:var(--md-sys-shape-corner-medium, 12px);background:rgb(var(--md-sys-color-surface-container-lowest, 255, 255, 255));border:1px solid rgb(var(--md-sys-color-outline-variant, 196, 199, 197));transition:all .2s cubic-bezier(.2,0,0,1)}.md3-book-progress-controls:hover{background:rgb(var(--md-sys-color-surface-container-low, 247, 243, 249));box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15))}.md3-book-progress-controls--compact{padding:var(--md3-progress-controls-spacing-small);gap:var(--md3-progress-controls-spacing-small)}.md3-book-progress-controls__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md3-progress-controls-spacing-small)}.md3-book-progress-controls__label{font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79))}.md3-book-progress-controls__current{font-family:var(--md-sys-typescale-title-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-title-medium-font-size, 1rem);font-weight:var(--md-sys-typescale-title-medium-font-weight, 500);color:rgb(var(--md-sys-color-primary, 64, 109, 183))}.md3-book-progress-controls__progress{margin:var(--md3-progress-controls-spacing-small) 0}.md3-book-progress-controls__presets{display:flex;gap:var(--md3-progress-controls-spacing-small);flex-wrap:wrap;align-items:center}.md3-book-progress-controls__preset-chip{transition:all .15s cubic-bezier(.2,0,0,1);min-width:60px}.md3-book-progress-controls__preset-chip:hover{transform:translateY(-1px);box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15))}.md3-book-progress-controls__preset-chip:active{transform:translateY(0);box-shadow:var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15))}.md3-book-progress-controls__actions{display:flex;justify-content:flex-end;margin-top:var(--md3-progress-controls-spacing-small)}.md3-book-progress-dialog{display:flex;flex-direction:column;gap:var(--md3-progress-controls-spacing-large);min-width:400px;max-width:500px}.md3-book-progress-dialog__book-info{text-align:center;padding-bottom:var(--md3-progress-controls-spacing);border-bottom:1px solid rgb(var(--md-sys-color-outline-variant, 196, 199, 197))}.md3-book-progress-dialog__title{font-family:var(--md-sys-typescale-headline-small-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-small-font-size, 1.5rem);font-weight:var(--md-sys-typescale-headline-small-font-weight, 400);color:rgb(var(--md-sys-color-on-surface, 28, 27, 31));margin:0 0 var(--md3-progress-controls-spacing-small) 0;line-height:1.3}.md3-book-progress-dialog__author{font-family:var(--md-sys-typescale-body-medium-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-medium-font-size, .875rem);color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79));margin:0}.md3-book-progress-dialog__comparison{display:flex;align-items:center;justify-content:space-around;padding:var(--md3-progress-controls-spacing);background:rgb(var(--md-sys-color-surface-container-highest, 230, 225, 229));border-radius:var(--md-sys-shape-corner-medium, 12px)}.md3-book-progress-dialog__current,.md3-book-progress-dialog__new{text-align:center}.md3-book-progress-dialog__label{display:block;font-family:var(--md-sys-typescale-label-small-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-small-font-size, .6875rem);font-weight:var(--md-sys-typescale-label-small-font-weight, 500);color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79));text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--md3-progress-controls-spacing-small)}.md3-book-progress-dialog__value{display:block;font-family:var(--md-sys-typescale-headline-medium-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-headline-medium-font-size, 1.75rem);font-weight:var(--md-sys-typescale-headline-medium-font-weight, 400);color:rgb(var(--md-sys-color-primary, 64, 109, 183))}.md3-book-progress-dialog__arrow{font-size:1.5rem;color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79));margin:0 var(--md3-progress-controls-spacing)}.md3-book-progress-dialog__preview{margin:var(--md3-progress-controls-spacing) 0}.md3-book-progress-dialog__slider{position:relative}.md3-book-progress-dialog__slider-label{display:block;font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);color:rgb(var(--md-sys-color-on-surface, 28, 27, 31));margin-bottom:var(--md3-progress-controls-spacing)}.md3-book-progress-dialog__slider-input{width:100%;height:8px;background:rgb(var(--md-sys-color-surface-variant, 231, 224, 236));border-radius:var(--md-sys-shape-corner-full, 9999px);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.md3-book-progress-dialog__slider-input::-webkit-slider-track{height:8px;background:rgb(var(--md-sys-color-surface-variant, 231, 224, 236));border-radius:var(--md-sys-shape-corner-full, 9999px)}.md3-book-progress-dialog__slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:24px;width:24px;background:rgb(var(--md-sys-color-primary, 64, 109, 183));border-radius:50%;cursor:pointer;box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15));transition:all .15s cubic-bezier(.2,0,0,1)}.md3-book-progress-dialog__slider-input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--md-sys-elevation-level3, 0px 1px 3px rgba(0, 0, 0, .3), 0px 4px 8px 3px rgba(0, 0, 0, .15))}.md3-book-progress-dialog__slider-input::-moz-range-track{height:8px;background:rgb(var(--md-sys-color-surface-variant, 231, 224, 236));border-radius:var(--md-sys-shape-corner-full, 9999px);border:none}.md3-book-progress-dialog__slider-input::-moz-range-thumb{height:24px;width:24px;background:rgb(var(--md-sys-color-primary, 64, 109, 183));border-radius:50%;border:none;cursor:pointer;box-shadow:var(--md-sys-elevation-level2, 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15))}.md3-book-progress-dialog__slider-marks{display:flex;justify-content:space-between;margin-top:var(--md3-progress-controls-spacing-small);font-family:var(--md-sys-typescale-body-small-font-family, "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-body-small-font-size, .75rem);color:rgb(var(--md-sys-color-on-surface-variant, 73, 69, 79))}.md3-book-progress-dialog__numeric{width:100%}.md3-book-progress-dialog__quick-actions{display:flex;flex-direction:column;gap:var(--md3-progress-controls-spacing-small)}.md3-book-progress-dialog__quick-label{font-family:var(--md-sys-typescale-label-large-font-family, "Google Sans", "Inter", system-ui, sans-serif);font-size:var(--md-sys-typescale-label-large-font-size, .875rem);font-weight:var(--md-sys-typescale-label-large-font-weight, 500);color:rgb(var(--md-sys-color-on-surface, 28, 27, 31))}.md3-book-progress-dialog__quick-chips{display:flex;gap:var(--md3-progress-controls-spacing-small);flex-wrap:wrap}@media (max-width: 600px){.md3-book-progress-dialog{min-width:280px;max-width:100%}.md3-book-progress-controls__presets{flex-direction:column;align-items:stretch}.md3-book-progress-controls__preset-chip{width:100%;justify-content:center}.md3-book-progress-dialog__comparison{flex-direction:column;gap:var(--md3-progress-controls-spacing)}.md3-book-progress-dialog__arrow{transform:rotate(90deg);margin:var(--md3-progress-controls-spacing-small) 0}}.md3-book-progress-controls *:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary, 64, 109, 183));outline-offset:2px;border-radius:var(--md-sys-shape-corner-small, 8px)}@media (prefers-contrast: high){.md3-book-progress-controls{border-width:2px}.md3-book-progress-dialog__slider-input::-webkit-slider-thumb{border:2px solid rgb(var(--md-sys-color-on-surface, 28, 27, 31))}}@media (prefers-reduced-motion: reduce){.md3-book-progress-controls,.md3-book-progress-controls__preset-chip,.md3-book-progress-dialog__slider-input::-webkit-slider-thumb{transition:none}.md3-book-progress-controls__preset-chip:hover{transform:none}}.md3-navigation-rail{position:fixed;left:0;top:0;height:100vh;width:80px;background:var(--md-sys-color-surface);border-right:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:100;overflow:hidden}.md3-navigation-rail:not(.collapsed){width:280px}.md3-navigation-rail.dark{background:#1e293b;border-right-color:#334155}.md3-rail-header{display:flex;align-items:center;padding:16px;gap:16px;border-bottom:1px solid var(--md-sys-color-outline-variant);min-height:64px}.md3-navigation-rail.dark .md3-rail-header{border-bottom-color:#334155}.md3-rail-title{font-size:20px;font-weight:600;color:var(--md-sys-color-primary);letter-spacing:.15px;white-space:nowrap}.md3-icon-button{width:48px;height:48px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.md3-icon-button:hover{background:var(--md-sys-color-surface-variant)}.md3-navigation-rail.dark .md3-icon-button{color:#f1f5f9}.md3-navigation-rail.dark .md3-icon-button:hover{background:#334155}.md3-rail-destinations{flex:1;padding:12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.md3-rail-destination{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-radius:28px;text-decoration:none;color:var(--md-sys-color-on-surface-variant);background:transparent;border:none;cursor:pointer;transition:all .2s;position:relative;width:100%;font-size:14px;font-weight:500;letter-spacing:.1px}.md3-navigation-rail.collapsed .md3-rail-destination{padding:0;justify-content:center}.md3-rail-destination:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-rail-destination.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md3-navigation-rail.dark .md3-rail-destination{color:#94a3b8}.md3-navigation-rail.dark .md3-rail-destination:hover{background:#334155;color:#f1f5f9}.md3-navigation-rail.dark .md3-rail-destination.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.md3-rail-destination-icon{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.md3-rail-destination-icon .material-symbols-outlined{font-size:24px}.md3-rail-destination-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md3-badge{position:absolute;top:-4px;right:-8px;min-width:18px;height:18px;padding:0 4px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.md3-rail-footer{padding:12px;border-top:1px solid var(--md-sys-color-outline-variant)}.md3-navigation-rail.dark .md3-rail-footer{border-top-color:#334155}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.md3-navigation-rail{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 1024px){.md3-navigation-rail:not(.collapsed){width:80px}.md3-rail-destination-label,.md3-rail-title{display:none}.md3-rail-destination{justify-content:center;padding:0}}@media (max-width: 768px){.md3-navigation-rail{display:none}}.md3-rail-destination:before{content:"";position:absolute;inset:0;border-radius:28px;background:currentColor;opacity:0;transition:opacity .2s;pointer-events:none}.md3-rail-destination:hover:before{opacity:.08}.md3-rail-destination:active:before{opacity:.12}.md3-rail-destination.active:before{opacity:0}.md3-rail-destination:focus-visible,.md3-icon-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.md3-rail-destinations::-webkit-scrollbar{width:4px}.md3-rail-destinations::-webkit-scrollbar-track{background:transparent}.md3-rail-destinations::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:2px}.md3-rail-destinations::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.md3-header{position:fixed;top:0;left:80px;right:0;height:64px;background:var(--md-sys-color-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;padding:0 24px;z-index:90;transition:left .3s cubic-bezier(.4,0,.2,1)}.premium-app-layout:has(.md3-navigation-rail:not(.collapsed)) .md3-header{left:280px}.md3-header.dark{background:#1e293b;border-bottom-color:#334155}.md3-header-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:24px}.md3-header-left{display:flex;align-items:center;gap:16px;flex:1}.md3-header-logo{height:36px;width:auto;cursor:pointer;transition:transform .2s,opacity .2s;border-radius:8px;padding:2px;object-fit:contain;display:block}.md3-header-logo:hover{transform:scale(1.05);opacity:.9;background:var(--md-sys-color-surface-variant)}.md3-header.dark .md3-header-logo{filter:brightness(1.1)}.md3-header.dark .md3-header-logo:hover{background:#ffffff0d}.md3-header-logo-fallback{height:36px;width:36px;cursor:pointer;transition:transform .2s,opacity .2s;border-radius:8px;padding:6px;display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.md3-header-logo-fallback:hover{transform:scale(1.05);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.md3-header.dark .md3-header-logo-fallback{background:#6750a433;color:#d0bcff}.md3-header.dark .md3-header-logo-fallback:hover{background:#6750a44d}.md3-header-title{font-size:22px;font-weight:400;color:var(--md-sys-color-on-surface);letter-spacing:0;line-height:28px}.md3-header.dark .md3-header-title{color:#f1f5f9}.md3-header-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.md3-header-breadcrumbs a{color:var(--md-sys-color-primary);text-decoration:none;transition:opacity .2s}.md3-header-breadcrumbs a:hover{opacity:.8}.md3-header-search{flex:1;max-width:400px}.md3-search-field{width:100%;height:40px;padding:0 16px;background:var(--md-sys-color-surface-variant);border:none;border-radius:20px;font-size:14px;color:var(--md-sys-color-on-surface);outline:none;transition:all .2s}.md3-search-field:focus{background:var(--md-sys-color-surface-container-highest);box-shadow:0 1px 2px #0000001a}.md3-header.dark .md3-search-field{background:#334155;color:#f1f5f9}.md3-header.dark .md3-search-field:focus{background:#475569}.md3-header-right{display:flex;align-items:center;gap:8px}.md3-header-icon-button{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.md3-header-icon-button:hover{background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.md3-header.dark .md3-header-icon-button{color:#94a3b8}.md3-header.dark .md3-header-icon-button:hover{background:#334155;color:#f1f5f9}.md3-header-badge{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--md-sys-color-error);border-radius:50%}.md3-header-avatar{width:32px;height:32px;border-radius:50%;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:14px;cursor:pointer;transition:transform .2s}.md3-header-avatar:hover{transform:scale(1.05)}.md3-header-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--md-sys-color-surface-container);border-radius:12px;box-shadow:0 4px 12px #00000026;padding:8px 0;z-index:100;opacity:0;transform:translateY(-8px);pointer-events:none;transition:all .2s}.md3-header-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.md3-header.dark .md3-header-menu{background:#1e293b;box-shadow:0 4px 12px #0000004d}.md3-header-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--md-sys-color-on-surface);text-decoration:none;transition:background .2s;cursor:pointer;font-size:14px;border:none;background:none;width:100%;text-align:left}.md3-header-menu-item:hover{background:var(--md-sys-color-surface-variant)}.md3-header.dark .md3-header-menu-item{color:#f1f5f9}.md3-header.dark .md3-header-menu-item:hover{background:#334155}.md3-header-menu-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:4px 0}@media (max-width: 1024px){.md3-header{left:80px}.premium-app-layout:has(.md3-navigation-rail:not(.collapsed)) .md3-header{left:80px}.md3-header-search{display:none}}@media (max-width: 768px){.md3-header{left:0;padding:0 16px}.md3-header-title{font-size:18px}}:root{--md-sys-color-primary: #2563eb;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #dbeafe;--md-sys-color-on-primary-container: #1e40af;--md-sys-color-secondary: #059669;--md-sys-color-secondary-container: #10b981;--md-sys-color-surface: #fefefe;--md-sys-color-on-surface: #1a1a1a;--md-sys-color-surface-variant: #f4f4f5;--md-sys-color-outline: #d4d4d8;--md-sys-color-surface-container: #f9fafb;--md-elevation-level-1: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);--md-elevation-level-2: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);--md-elevation-level-3: 0 10px 20px rgba(0,0,0,.19), 0 6px 6px rgba(0,0,0,.23)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);line-height:1.6;overflow-x:hidden}.landing-page{font-family:Roboto,sans-serif;line-height:1.6}.section-container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--md-sys-color-on-surface)}.section-subtitle{text-align:center;font-size:1.125rem;color:var(--md-sys-color-on-surface);opacity:.7;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:translateY(-4px);box-shadow:var(--md-elevation-level-2)}50%{transform:translateY(-8px);box-shadow:var(--md-elevation-level-3)}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #2563eb4d}50%{box-shadow:0 0 20px #2563eb99}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateZ(0)}50%{opacity:1;transform:scale(1.05) translateZ(0)}70%{transform:scale(.9) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes unlock-celebration{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.2) rotate(-5deg);filter:brightness(1.3)}50%{transform:scale(1.3) rotate(5deg);filter:brightness(1.5)}75%{transform:scale(1.2) rotate(-2deg);filter:brightness(1.2)}to{transform:scale(1.05);filter:brightness(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px) rotate(-1deg)}75%{transform:translate(3px) rotate(1deg)}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}50%{opacity:1;transform:translate(-50%) translateY(-15px) scale(1.1)}to{opacity:0;transform:translate(-50%) translateY(-30px) scale(1)}}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-1200px)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatRotate{0%{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(-5px) rotate(-1deg)}to{transform:translateY(0) rotate(0)}}.fade-in-up{animation:fadeInUp .6s ease forwards}.fade-in-left{animation:fadeInLeft .6s ease forwards}.fade-in-right{animation:fadeInRight .6s ease forwards}.fade-in-scale{animation:fadeInScale .6s ease forwards}.fade-in-up.delay-1{animation-delay:.1s}.fade-in-up.delay-2{animation-delay:.2s}.fade-in-up.delay-3{animation-delay:.3s}.fade-in-up.delay-4{animation-delay:.4s}.fade-in-up.delay-5{animation-delay:.5s}.pulse{animation:pulse 2s ease-in-out infinite}.pulse-scale{animation:pulseScale 2s ease-in-out infinite}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.bounce{animation:bounce 1s infinite}.bounce-in{animation:bounceIn .75s ease}.slide-in-right{animation:slideInRight .5s ease}.slide-out-right{animation:slideOutRight .5s ease}.slide-in-down{animation:slideInDown .5s ease}.float{animation:float 3s ease-in-out infinite}.float-rotate{animation:floatRotate 4s ease-in-out infinite}.hero-section{min-height:100vh;display:flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden;color:#fff}.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:2rem;z-index:2}.hero-text{color:#fff}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:1.5rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9;font-weight:300;line-height:1.6}.hero-stats{display:flex;gap:2rem;margin-bottom:2rem}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;display:block;line-height:1}.stat-label{font-size:.875rem;opacity:.8;margin-top:.25rem}.button-group{display:flex;gap:1rem;flex-wrap:wrap}.hero-animation{height:500px;position:relative;display:flex;align-items:center;justify-content:center}#three-container{width:100%;height:100%;border-radius:16px}.md3-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:20px;border:none;font-family:Roboto,sans-serif;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden;min-height:40px;justify-content:center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.md3-button.filled,.md3-button[variant=filled]{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-elevation-level-1)}.md3-button.filled:hover,.md3-button[variant=filled]:hover{background:var(--md-sys-color-primary);box-shadow:var(--md-elevation-level-2);transform:translateY(-1px)}.md3-button.outlined,.md3-button[variant=outlined]{background:transparent;color:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-outline)}.md3-button.outlined:hover,.md3-button[variant=outlined]:hover{background:#2563eb14;border-color:var(--md-sys-color-primary);transform:translateY(-1px);box-shadow:var(--md-elevation-level-1)}.md3-button.text,.md3-button[variant=text]{background:transparent;color:var(--md-sys-color-primary);padding:.75rem 1rem}.md3-button.text:hover,.md3-button[variant=text]:hover{background:#2563eb14}.md3-button.tonal,.md3-button[variant=tonal]{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.md3-button.tonal:hover,.md3-button[variant=tonal]:hover{background:var(--md-sys-color-primary-container);box-shadow:var(--md-elevation-level-1);transform:translateY(-1px)}.hero-section .md3-button.outlined{color:#fff;border-color:#ffffff80}.hero-section .md3-button.outlined:hover{background:#ffffff1a;border-color:#fffc;color:#fff}.md3-button:hover{box-shadow:var(--md-elevation-level-2);transform:translateY(-1px)}.md3-button .material-icons{font-size:1.125rem;line-height:1}.features-section{padding:5rem 2rem;background:var(--md-sys-color-surface)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.feature-card{background:var(--md-sys-color-surface-container);border-radius:16px;padding:2rem;box-shadow:var(--md-elevation-level-1);transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer;perspective:1000px;min-height:280px}.feature-card:hover{box-shadow:var(--md-elevation-level-2);transform:translateY(-4px)}.feature-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.feature-card.flipped .feature-card-inner{transform:rotateY(180deg)}.feature-card-front,.feature-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:16px;display:flex;flex-direction:column}.feature-card-back{transform:rotateY(180deg);background:var(--md-sys-color-primary-container);padding:1.5rem;justify-content:center}.feature-icon{width:64px;height:64px;border-radius:16px;background:var(--md-sys-color-primary-container);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:all .3s ease}.feature-icon .material-icons{font-size:32px;color:var(--md-sys-color-on-primary-container)}.feature-card:hover .feature-icon{transform:scale(1.1);background:var(--md-sys-color-primary)}.feature-card:hover .feature-icon .material-icons{color:var(--md-sys-color-on-primary)}.feature-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--md-sys-color-on-surface)}.feature-description{opacity:.8;line-height:1.6;color:var(--md-sys-color-on-surface);flex-grow:1}.feature-demo{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center}.feature-demo h4{color:var(--md-sys-color-on-primary-container);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.demo-element{background:var(--md-sys-color-surface);border-radius:8px;padding:.75rem;margin:.5rem 0;box-shadow:var(--md-elevation-level-1);text-align:left}.demo-element strong{color:var(--md-sys-color-on-surface);font-weight:600}.demo-element small{color:var(--md-sys-color-on-surface);opacity:.7;font-size:.875rem}.calculator-section{padding:4rem 2rem;background:linear-gradient(135deg,#fef3c7,#fde68a)}.calculator-widget{max-width:600px;margin:0 auto;background:var(--md-sys-color-surface);border-radius:20px;padding:2.5rem;box-shadow:var(--md-elevation-level-3);text-align:center}.calculator-widget h2{margin-bottom:1rem;color:var(--md-sys-color-on-surface);font-size:2rem;font-weight:700}.calculator-widget p{margin-bottom:2rem;opacity:.7;font-size:1.125rem}.calculator-input{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.calculator-input span{font-weight:500;color:var(--md-sys-color-on-surface);font-size:1rem}.time-slider{width:200px;height:8px;border-radius:4px;background:var(--md-sys-color-outline);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.time-slider:hover{background:var(--md-sys-color-primary);opacity:.7}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--md-sys-color-primary);cursor:pointer;box-shadow:var(--md-elevation-level-1);transition:all .2s ease}.time-slider::-webkit-slider-thumb:hover{background:var(--md-sys-color-primary);transform:scale(1.2);box-shadow:var(--md-elevation-level-2)}.time-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--md-sys-color-primary);cursor:pointer;border:none;box-shadow:var(--md-elevation-level-1);transition:all .2s ease}.time-slider::-moz-range-thumb:hover{background:var(--md-sys-color-primary);transform:scale(1.2);box-shadow:var(--md-elevation-level-2)}.time-display{font-size:1.5rem;font-weight:600;color:var(--md-sys-color-primary);min-width:120px;transition:all .3s ease}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin:2rem 0}.result-item{background:var(--md-sys-color-primary-container);border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.result-item:hover{transform:translateY(-2px);box-shadow:var(--md-elevation-level-2)}.result-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.result-item:hover:before{left:100%}.result-number{font-size:2rem;font-weight:700;color:var(--md-sys-color-on-primary-container);display:block;margin-bottom:.5rem;transition:all .3s ease}.result-label{font-size:.875rem;color:var(--md-sys-color-on-primary-container);opacity:.8;font-weight:500}.motivational-message{margin-top:1.5rem;font-style:italic;opacity:.8;font-size:1rem;line-height:1.6;padding:1rem;background:var(--md-sys-color-surface-variant);border-radius:12px;border-left:4px solid var(--md-sys-color-primary)}.result-number.updating{transform:scale(1.1);color:var(--md-sys-color-primary)}.gamification-section{padding:5rem 2rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);position:relative}.gamification-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1200px;margin:0 auto}.gamification-visual{background:var(--md-sys-color-surface);border-radius:16px;padding:2rem;box-shadow:var(--md-elevation-level-2)}.level-progress{margin-bottom:2rem}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.level-title{font-weight:600;color:var(--md-sys-color-primary);font-size:1.125rem}.level-points{font-size:.875rem;opacity:.7;color:var(--md-sys-color-on-surface)}.progress-bar{height:8px;background:var(--md-sys-color-outline);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-secondary));width:65%;transition:width 1s ease;border-radius:4px;position:relative;box-shadow:0 2px 8px #2563eb4d}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.achievements-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.achievement-badge{aspect-ratio:1;border-radius:12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.75rem;text-align:center;box-shadow:var(--md-elevation-level-1);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.achievement-badge:hover{transform:scale(1.05);box-shadow:var(--md-elevation-level-3);z-index:10}.achievement-badge.unlocked{background:linear-gradient(135deg,#10b981,#059669);box-shadow:var(--md-elevation-level-2);border:2px solid rgba(16,185,129,.3)}.achievement-badge.unlocked:hover{background:linear-gradient(135deg,#059669,#047857)}.achievement-badge.locked{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:var(--md-elevation-level-1);border:2px solid rgba(107,114,128,.3);opacity:.7}.achievement-badge.locked:hover{background:linear-gradient(135deg,#4b5563,#374151);opacity:.8}.achievement-tooltip{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:.75rem;border-radius:8px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:20;font-weight:400;line-height:1.4;max-width:200px;white-space:normal;text-align:center}.achievement-badge:hover .achievement-tooltip{opacity:1}.achievement-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000e6}.achievement-badge.celebrating{animation:unlock-celebration .6s ease}.achievement-badge.shaking{animation:shake .5s ease}.floating-xp{position:absolute;top:-10px;left:50%;transform:translate(-50%);color:#10b981;font-weight:700;font-size:.875rem;pointer-events:none;z-index:30;animation:floatUp 2s ease forwards;text-shadow:0 1px 2px rgba(0,0,0,.3)}.gamification-text h2{margin-bottom:1rem}.gamification-text p{margin-bottom:2rem}.gamification-text .features-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:0}.gamification-text .feature-card{padding:1.5rem;cursor:default}.gamification-text .feature-card:hover{transform:none}.gamification-text .feature-card h4{margin-bottom:1rem;color:var(--md-sys-color-primary);font-size:1.125rem;font-weight:600}.gamification-text .feature-card p{margin:0;color:var(--md-sys-color-on-surface);opacity:.8}.testimonials-section{padding:5rem 2rem;background:var(--md-sys-color-surface-variant)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}.testimonial-card{background:var(--md-sys-color-surface);border-radius:16px;padding:2rem;box-shadow:var(--md-elevation-level-1);transition:all .3s ease;position:relative;overflow:hidden}.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--md-elevation-level-2)}.testimonial-card:before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:4rem;font-weight:700;color:var(--md-sys-color-primary);opacity:.1;font-family:Georgia,serif;line-height:1}.testimonial-text{font-style:italic;margin-bottom:1.5rem;line-height:1.6;color:var(--md-sys-color-on-surface);font-size:1rem;position:relative;z-index:2}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:48px;height:48px;border-radius:24px;background:var(--md-sys-color-primary-container);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-primary-container);font-weight:600;font-size:1.125rem;flex-shrink:0;box-shadow:var(--md-elevation-level-1)}.author-info{flex:1}.author-name{font-weight:600;margin-bottom:.25rem;color:var(--md-sys-color-on-surface);font-size:1rem}.author-title{font-size:.875rem;opacity:.7;color:var(--md-sys-color-on-surface)}.testimonial-card.featured{grid-column:span 2;background:linear-gradient(135deg,var(--md-sys-color-primary-container) 0%,var(--md-sys-color-surface) 100%);border:2px solid var(--md-sys-color-primary)}.testimonial-card.featured .testimonial-text{font-size:1.125rem;font-weight:500}.testimonial-card.featured .author-avatar{width:56px;height:56px;border-radius:28px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.testimonial-card.featured:before{color:var(--md-sys-color-primary);opacity:.15;font-size:5rem}.testimonial-author:hover .author-avatar{transform:scale(1.1);box-shadow:var(--md-elevation-level-2)}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#1e40af,#3730a3);color:#fff;text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M985.66,92.83C906.67,72,823.78,31,743.84,14.19c-82.26-17.34-168.06-16.33-250.45.39-57.84,11.73-114,31.07-172,41.86A600.21,600.21,0,0,1,0,27.35V120H1200V95.8C1132.19,118.92,1055.71,111.31,985.66,92.83Z" fill="rgba(255,255,255,0.05)"/></svg>') repeat-x;background-size:1200px 120px;animation:wave 20s linear infinite;opacity:.1}.cta-content{max-width:600px;margin:0 auto;position:relative;z-index:2}.cta-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin-bottom:1rem;line-height:1.2}.cta-subtitle{font-size:1.125rem;margin-bottom:2rem;opacity:.9;line-height:1.6;max-width:500px;margin-left:auto;margin-right:auto}.cta-button-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:24px;border:none;font-family:Roboto,sans-serif;font-weight:500;font-size:1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;min-width:180px;justify-content:center}.cta-button.primary{background:#fff;color:var(--md-sys-color-primary);box-shadow:var(--md-elevation-level-2)}.cta-button.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--md-elevation-level-3)}.cta-button.primary:hover{background:#f8f9fa;color:var(--md-sys-color-primary)}.cta-button.secondary:hover{background:#ffffff1a;border-color:#fffc}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.cta-button:hover:before{left:100%}.cta-button .material-icons{font-size:1.25rem}@media (max-width: 768px){.section-container{padding:0 1rem}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.hero-content{grid-template-columns:1fr;text-align:center;gap:2rem;padding:1rem}.hero-stats{justify-content:center;gap:1.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.75rem}.button-group{justify-content:center}.hero-animation{height:300px}.features-section{padding:3rem 1rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem;min-height:240px}.feature-icon{width:56px;height:56px;margin-bottom:1rem}.feature-icon .material-icons{font-size:28px}.feature-title{font-size:1.125rem}.feature-description{font-size:.95rem}.demo-element{padding:.5rem;margin:.25rem 0}.gamification-content{grid-template-columns:1fr;gap:2rem}.gamification-visual{padding:1.5rem}.achievements-preview{grid-template-columns:repeat(2,1fr);gap:.75rem}.achievement-badge{font-size:.625rem;padding:.25rem}.achievement-tooltip{font-size:.625rem;padding:.5rem;max-width:150px}.level-title{font-size:1rem}.level-points{font-size:.75rem}.calculator-section{padding:3rem 1rem}.calculator-widget{padding:2rem;margin:0 1rem}.calculator-widget h2{font-size:1.75rem}.calculator-input{flex-direction:column;gap:1rem}.time-slider{width:250px}.results-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.result-item{padding:1rem}.result-number{font-size:1.5rem}.result-label{font-size:.75rem}.testimonials-section{padding:3rem 1rem}.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.testimonial-card{padding:1.5rem}.testimonial-card.featured{grid-column:span 1}.testimonial-text{font-size:.95rem}.testimonial-card.featured .testimonial-text{font-size:1rem}.author-avatar{width:40px;height:40px;border-radius:20px;font-size:1rem}.testimonial-card.featured .author-avatar{width:48px;height:48px;border-radius:24px}.testimonial-card:before{font-size:3rem;top:.75rem;left:1rem}.testimonial-card.featured:before{font-size:4rem}.cta-section{padding:3rem 1rem}.cta-title{font-size:2rem}.cta-subtitle{font-size:1rem}.cta-button-group{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:280px}.md3-button{padding:.875rem 1.75rem;font-size:1rem;min-height:44px}}@media (max-width: 480px){.hero-stats{flex-direction:column;gap:1rem}.hero-stats .stat-item{display:flex;align-items:center;justify-content:center;gap:.5rem}.hero-stats .stat-number,.hero-stats .stat-label{display:inline;margin:0}.hero-stats .stat-number{font-size:1.25rem}.feature-card{padding:1rem;min-height:200px}.feature-icon{width:48px;height:48px}.feature-icon .material-icons{font-size:24px}.gamification-visual{padding:1rem}.achievements-preview{grid-template-columns:repeat(3,1fr);gap:.5rem}.achievement-badge{font-size:.5rem;border-radius:8px}.level-header{flex-direction:column;align-items:flex-start;gap:.25rem}.progress-bar{height:6px}.calculator-widget{padding:1.5rem;border-radius:16px}.calculator-widget h2{font-size:1.5rem}.calculator-widget p{font-size:1rem}.time-slider{width:200px}.time-display{font-size:1.25rem}.results-grid{grid-template-columns:1fr 1fr;gap:.75rem}.result-item{padding:.75rem}.result-number{font-size:1.25rem}.motivational-message{font-size:.875rem;padding:.75rem}.testimonials-section{padding:2rem 1rem}.testimonial-card{padding:1rem}.testimonial-text{font-size:.875rem;margin-bottom:1rem}.testimonial-author{gap:.75rem}.author-avatar{width:36px;height:36px;border-radius:18px;font-size:.875rem}.author-name{font-size:.875rem}.author-title{font-size:.75rem}.testimonial-card:before{font-size:2.5rem;top:.5rem;left:.75rem}.cta-section{padding:2rem 1rem}.cta-title{font-size:1.75rem}.cta-button{padding:.75rem 1.5rem;font-size:.875rem;min-width:160px}.md3-button{padding:.625rem 1.25rem;min-height:36px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in-up,.fade-in-left,.fade-in-right,.fade-in-scale,.bounce,.bounce-in,.pulse,.pulse-scale,.pulse-glow,.float,.float-rotate{animation:none!important}.hover-lift:hover,.hover-scale:hover{transform:none!important}}.md3-button:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.md3-button:focus:not(:focus-visible){outline:none}.md3-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.time-slider:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.achievement-badge:focus{outline:2px solid #fbbf24;outline-offset:2px}@media (prefers-contrast: high){.md3-button.outlined{border-width:2px}.md3-button:focus{outline-width:3px}.cta-button.secondary{border-width:3px}.achievement-tooltip,.motivational-message{opacity:1}}@media (prefers-color-scheme: dark){:root{--md-sys-color-surface: #1a1a1a;--md-sys-color-on-surface: #e5e5e5;--md-sys-color-surface-variant: #2a2a2a;--md-sys-color-surface-container: #2a2a2a}.testimonials-section{background:#1a1a1a}.testimonial-card{background:#2a2a2a;border:1px solid #404040}.testimonial-text{color:#e5e5e5}.author-name{color:#fff}.author-title{color:#b0b0b0}.testimonial-card:before{color:var(--md-sys-color-primary);opacity:.1}.md3-button.filled{background:#4285f4;color:#fff}.md3-button.outlined{border-color:#8ab4f8;color:#8ab4f8}.md3-button.text{color:#8ab4f8}}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--md-elevation-level-2)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px #2563eb4d}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s ease}.animate-on-scroll.animate{opacity:1;transform:translateY(0)}.no-animation{animation:none!important;transition:none!important}.pause-animation{animation-play-state:paused!important}.api-key-configuration{max-width:800px;margin:0 auto;padding:24px;border-radius:16px;background:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant)}.config-header{margin-bottom:32px}.header-content{display:flex;align-items:center;gap:16px}.header-icon{color:var(--md-sys-color-primary);flex-shrink:0}.config-header h2{margin:0 0 4px;color:var(--md-sys-color-on-surface);font-size:24px;font-weight:500}.config-header p{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:14px}.security-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:24px;background:var(--md-sys-color-secondary-container);border-radius:12px;border-left:4px solid var(--md-sys-color-secondary)}.notice-icon{color:var(--md-sys-color-secondary);flex-shrink:0;margin-top:2px}.notice-content p{margin:0;color:var(--md-sys-color-on-secondary-container);font-size:14px;line-height:1.4}.provider-tabs{display:flex;gap:4px;margin-bottom:24px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:12px;overflow-x:auto}.provider-tab{flex:1;min-width:120px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;justify-content:center}.provider-tab:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.provider-tab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.tab-content{display:flex;align-items:center;gap:6px}.tab-name{text-transform:capitalize}.tab-check{color:var(--md-sys-color-on-primary)}.provider-configuration{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}@media (max-width: 768px){.provider-configuration{grid-template-columns:1fr}}.provider-info{padding:20px;background:var(--md-sys-color-surface-container);border-radius:12px}.provider-info h4{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-size:16px;font-weight:500}.provider-description{margin:0 0 12px;color:var(--md-sys-color-on-surface-variant);font-size:14px}.key-format{margin:0 0 16px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.key-format code{background:var(--md-sys-color-surface-container-high);padding:2px 6px;border-radius:4px;font-family:Fira Code,monospace;font-size:12px}.get-key-link{display:inline-flex;align-items:center;color:var(--md-sys-color-primary);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.get-key-link:hover{color:var(--md-sys-color-primary-container);text-decoration:underline}.provider-key-form{padding:20px;background:var(--md-sys-color-surface-container);border-radius:12px;border:2px solid transparent;transition:border-color .2s ease}.provider-key-form.configured{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.form-header{margin-bottom:16px}.provider-status{display:flex;align-items:center;gap:8px}.status-icon.success{color:var(--md-sys-color-primary)}.status-icon.warning{color:var(--md-sys-color-error)}.status-text{font-size:14px;font-weight:500;color:var(--md-sys-color-on-surface)}.configured-key-info{padding:16px;background:var(--md-sys-color-surface-container-low);border-radius:8px;margin-bottom:12px}.configured-key-info p{margin:0 0 4px;font-size:13px;color:var(--md-sys-color-on-surface-variant)}.key-prefix{font-family:Fira Code,monospace;font-weight:500!important;color:var(--md-sys-color-on-surface)!important}.remove-key-button{display:flex;align-items:center;gap:6px;padding:8px 12px;margin-top:12px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:background-color .2s ease}.remove-key-button:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.key-input-section{display:flex;flex-direction:column;gap:12px}.key-input-wrapper{position:relative;display:flex}.key-input{flex:1;padding:12px 48px 12px 16px;border:2px solid var(--md-sys-color-outline);border-radius:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-size:14px;font-family:Fira Code,monospace;transition:border-color .2s ease}.key-input:focus{outline:none;border-color:var(--md-sys-color-primary)}.key-input::placeholder{color:var(--md-sys-color-on-surface-variant);font-family:system-ui,-apple-system,sans-serif}.toggle-visibility{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:8px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;border-radius:4px;transition:background-color .2s ease}.toggle-visibility:hover{background:var(--md-sys-color-surface-container-high)}.save-key-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-key-button:hover:not(:disabled){background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.save-key-button:disabled{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.loading-spinner.small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.validation-error,.validation-success{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;font-size:13px;margin-top:8px}.validation-error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.validation-success{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.configuration-summary{padding:20px;background:var(--md-sys-color-primary-container);border-radius:12px;margin-bottom:24px}.configuration-summary h4{margin:0 0 12px;color:var(--md-sys-color-on-primary-container);font-size:16px;font-weight:500}.provider-list{display:flex;flex-wrap:wrap;gap:8px}.provider-item{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);border-radius:16px;font-size:13px;text-transform:capitalize}.provider-check{color:var(--md-sys-color-primary)}.advanced-options{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:24px}.toggle-advanced{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;background:transparent;border:none;color:var(--md-sys-color-on-surface-variant);font-size:14px;font-weight:500;cursor:pointer}.advanced-content{padding-top:16px;display:flex;flex-direction:column;gap:16px}.clear-all-button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background-color .2s ease;align-self:flex-start}.clear-all-button:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.debug-info{padding:16px;background:var(--md-sys-color-surface-container);border-radius:8px}.debug-info h5{margin:0 0 8px;color:var(--md-sys-color-on-surface);font-size:14px;font-weight:500}.debug-info p{margin:4px 0;color:var(--md-sys-color-on-surface-variant);font-size:13px;font-family:Fira Code,monospace}.theme-dark .provider-key-form.configured{background:var(--md-sys-color-primary-container)}.theme-dark .key-input{background:var(--md-sys-color-surface-container)}@media (max-width: 640px){.api-key-configuration{padding:16px;margin:16px}.provider-tabs{flex-direction:column}.provider-tab{min-width:unset}.key-input-wrapper{flex-direction:column;gap:8px}.toggle-visibility{position:relative;right:auto;top:auto;transform:none;align-self:flex-end;margin-top:-40px;margin-right:8px}}.literary-mentor-ui{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.05),rgba(var(--md-sys-color-tertiary),.05));border-radius:var(--md-sys-shape-corner-large);padding:var(--md-sys-spacing-6);box-shadow:var(--md-sys-elevation-level1);min-height:500px}.mentor-header{margin-bottom:var(--md-sys-spacing-6)}.mentor-greeting h2{font-family:var(--md-sys-typescale-headline-medium-font-family);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:var(--md-sys-typescale-headline-medium-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-2) 0}.mentor-subtitle{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin:0}.api-warning{display:flex;align-items:center;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-error-container),.8);color:rgb(var(--md-sys-color-on-error-container));border-radius:var(--md-sys-shape-corner-medium);font-size:var(--md-sys-typescale-body-small-font-size)}.api-warning .config-button{margin-left:auto;padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-small);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:background-color .2s ease}.api-warning .config-button:hover{background:rgba(var(--md-sys-color-primary),.8)}.mentor-tabs{display:flex;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-4);border-bottom:1px solid rgba(var(--md-sys-color-outline),.2);padding-bottom:var(--md-sys-spacing-2)}.tab-button{display:flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:transparent;border:none;border-radius:var(--md-sys-shape-corner-medium);color:rgb(var(--md-sys-color-on-surface-variant));font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.tab-button:hover{background:rgba(var(--md-sys-color-primary),.08);color:rgb(var(--md-sys-color-primary))}.tab-button.active{color:rgb(var(--md-sys-color-primary));background:rgba(var(--md-sys-color-primary),.12)}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:var(--md-sys-spacing-4);right:var(--md-sys-spacing-4);height:2px;background:rgb(var(--md-sys-color-primary));border-radius:1px}.mentor-insights-panel{padding:var(--md-sys-spacing-4)}.insights-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.insights-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.insights-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0}.insight-card{display:flex;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.8);border:1px solid rgba(var(--md-sys-color-outline),.2);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:var(--md-sys-spacing-3);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.insight-card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.insight-card.insight-streak{background:linear-gradient(135deg,#ff98001a,#ff57221a);border-color:#ff98004d}.insight-card.insight-progress{background:linear-gradient(135deg,#4caf501a,#8bc34a1a);border-color:#4caf504d}.insight-card.insight-recommendation{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.1),rgba(var(--md-sys-color-tertiary),.1));border-color:rgba(var(--md-sys-color-primary),.3)}.insight-icon{font-size:28px;min-width:40px;text-align:center}.insight-content{flex:1}.insight-message{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-2) 0}.insight-action{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-1);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.1);color:rgb(var(--md-sys-color-primary));border:1px solid rgba(var(--md-sys-color-primary),.3);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);cursor:pointer;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.insight-action:hover{background:rgba(var(--md-sys-color-primary),.2);transform:translate(2px)}.reading-stats{margin:var(--md-sys-spacing-6) 0;padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.6);border-radius:var(--md-sys-shape-corner-large)}.reading-stats h4{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-4) 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--md-sys-spacing-4)}.stat-item{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.05);border-radius:var(--md-sys-shape-corner-medium)}.stat-item svg{color:rgb(var(--md-sys-color-primary))}.stat-item>div{display:flex;flex-direction:column}.stat-label{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin-bottom:var(--md-sys-spacing-1)}.stat-value{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:rgb(var(--md-sys-color-on-surface))}.suggested-actions{margin-top:var(--md-sys-spacing-4)}.suggested-actions h4{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.action-button{display:flex;align-items:center;gap:var(--md-sys-spacing-2);width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);margin-bottom:var(--md-sys-spacing-2);background:rgba(var(--md-sys-color-secondary),.1);border:1px solid rgba(var(--md-sys-color-secondary),.3);border-radius:var(--md-sys-shape-corner-medium);color:rgb(var(--md-sys-color-on-surface));font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);text-align:left}.action-button:hover{background:rgba(var(--md-sys-color-secondary),.2);transform:translate(4px)}.mentor-discussion-panel{padding:var(--md-sys-spacing-4)}.discussion-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.discussion-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.discussion-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0;flex:1}.current-book{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant));padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-primary),.1);border-radius:var(--md-sys-shape-corner-small)}.no-book-selected{text-align:center;padding:var(--md-sys-spacing-8);color:rgb(var(--md-sys-color-on-surface-variant))}.no-book-selected svg{margin-bottom:var(--md-sys-spacing-3);color:rgba(var(--md-sys-color-on-surface-variant),.5)}.current-question{display:flex;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:linear-gradient(135deg,rgba(var(--md-sys-color-tertiary),.1),rgba(var(--md-sys-color-secondary),.1));border:1px solid rgba(var(--md-sys-color-tertiary),.3);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:var(--md-sys-spacing-4)}.question-icon{color:rgb(var(--md-sys-color-tertiary));min-width:24px}.question-text{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0;line-height:1.6}.discussion-history{max-height:300px;overflow-y:auto;margin-bottom:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.5);border-radius:var(--md-sys-shape-corner-medium)}.discussion-entry{display:flex;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-3);animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.discussion-entry.user{flex-direction:row-reverse}.entry-avatar{font-size:24px;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.entry-content{flex:1;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.9);border-radius:var(--md-sys-shape-corner-medium);border:1px solid rgba(var(--md-sys-color-outline),.2)}.discussion-entry.user .entry-content{background:rgba(var(--md-sys-color-primary),.1);border-color:rgba(var(--md-sys-color-primary),.3)}.entry-content p{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-1) 0}.entry-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.response-input{margin-bottom:var(--md-sys-spacing-4)}.response-textarea{width:100%;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.8);border:1px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));resize:vertical;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.response-textarea:focus{outline:none;border-color:rgb(var(--md-sys-color-primary));background:rgb(var(--md-sys-color-surface))}.submit-response{width:100%;margin-top:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.submit-response:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.submit-response:disabled{opacity:.5;cursor:not-allowed}.discussion-prompts h4{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.prompts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--md-sys-spacing-2)}.prompt-button{padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-secondary),.08);border:1px solid rgba(var(--md-sys-color-secondary),.2);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface));cursor:pointer;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.prompt-button:hover{background:rgba(var(--md-sys-color-secondary),.15);border-color:rgba(var(--md-sys-color-secondary),.3)}.mentor-quiz-panel{padding:var(--md-sys-spacing-4)}.quiz-header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.quiz-icon{color:rgb(var(--md-sys-color-primary));width:24px;height:24px}.quiz-header h3{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0}.quiz-intro{text-align:center;padding:var(--md-sys-spacing-6)}.quiz-intro h4{font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-3) 0}.quiz-benefits{list-style:none;padding:0;margin:var(--md-sys-spacing-4) 0;text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.quiz-benefits li{padding:var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface))}.start-quiz-button{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-6);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.start-quiz-button:hover{transform:scale(1.05);box-shadow:var(--md-sys-elevation-level3)}.quiz-question{max-width:600px;margin:0 auto}.question-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--md-sys-spacing-4)}.question-progress span{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.progress-bar{flex:1;height:4px;background:rgba(var(--md-sys-color-outline),.2);border-radius:2px;margin-left:var(--md-sys-spacing-4);overflow:hidden}.progress-fill{height:100%;background:rgb(var(--md-sys-color-primary));transition:width .3s ease}.question-content{padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.8);border-radius:var(--md-sys-shape-corner-large);margin-bottom:var(--md-sys-spacing-4)}.question-text{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:0 0 var(--md-sys-spacing-4) 0;line-height:1.6}.answer-options{display:flex;flex-direction:column;gap:var(--md-sys-spacing-2)}.answer-option{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-surface),.9);border:2px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));cursor:pointer;text-align:left;transition:all var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.answer-option:hover{background:rgba(var(--md-sys-color-primary),.08);border-color:rgba(var(--md-sys-color-primary),.5)}.answer-option.selected{background:rgba(var(--md-sys-color-primary),.15);border-color:rgb(var(--md-sys-color-primary))}.answer-textarea{width:100%;padding:var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-surface),.9);border:1px solid rgba(var(--md-sys-color-outline),.3);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:rgb(var(--md-sys-color-on-surface));resize:vertical}.question-hint{display:flex;align-items:center;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:rgba(var(--md-sys-color-tertiary),.1);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:rgb(var(--md-sys-color-on-surface-variant))}.question-hint svg{color:rgb(var(--md-sys-color-tertiary))}.next-question-button{width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary));border:none;border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.next-question-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}.next-question-button:disabled{opacity:.5;cursor:not-allowed}.quiz-results{text-align:center;padding:var(--md-sys-spacing-6)}.score-display{margin-bottom:var(--md-sys-spacing-4)}.trophy-icon{width:64px;height:64px;margin-bottom:var(--md-sys-spacing-3)}.trophy-icon.gold{color:gold}.trophy-icon.silver{color:silver}.score-display h2{font-family:var(--md-sys-typescale-display-small-font-family);font-size:var(--md-sys-typescale-display-small-font-size);font-weight:var(--md-sys-typescale-display-small-font-weight);color:rgb(var(--md-sys-color-primary));margin:0}.score-display p{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface-variant));margin:var(--md-sys-spacing-2) 0}.score-feedback{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:rgb(var(--md-sys-color-on-surface));margin:var(--md-sys-spacing-4) 0;padding:var(--md-sys-spacing-4);background:rgba(var(--md-sys-color-primary),.08);border-radius:var(--md-sys-shape-corner-medium)}.quiz-actions{display:flex;gap:var(--md-sys-spacing-3);justify-content:center;margin-top:var(--md-sys-spacing-4)}.retake-quiz,.new-quiz{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-5);background:rgba(var(--md-sys-color-primary),.1);color:rgb(var(--md-sys-color-primary));border:1px solid rgb(var(--md-sys-color-primary));border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.retake-quiz:hover,.new-quiz:hover{background:rgb(var(--md-sys-color-primary));color:rgb(var(--md-sys-color-on-primary))}.mentor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:rgb(var(--md-sys-color-on-surface-variant))}.loading-spinner{width:48px;height:48px;border:4px solid rgba(var(--md-sys-color-primary),.2);border-top-color:rgb(var(--md-sys-color-primary));border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--md-sys-spacing-4)}@keyframes spin{to{transform:rotate(360deg)}}.theme-dark .literary-mentor-ui{background:linear-gradient(135deg,rgba(var(--md-sys-color-primary),.08),rgba(var(--md-sys-color-tertiary),.08))}.theme-dark .insight-card,.theme-dark .reading-stats,.theme-dark .discussion-history,.theme-dark .question-content,.theme-dark .answer-option{background:rgba(var(--md-sys-color-surface),.3)}.theme-dark .response-textarea:focus,.theme-dark .answer-textarea{background:rgba(var(--md-sys-color-surface),.5)}.api-config-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:rgb(var(--md-sys-color-surface));border-radius:var(--md-sys-shape-corner-large);max-width:800px;max-height:90vh;width:90%;overflow-y:auto;box-shadow:var(--md-sys-elevation-level5)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-4);border-bottom:1px solid rgba(var(--md-sys-color-outline),.2)}.modal-header h2{margin:0;font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);color:rgb(var(--md-sys-color-on-surface))}.close-button{background:none;border:none;font-size:24px;color:rgb(var(--md-sys-color-on-surface-variant));cursor:pointer;padding:var(--md-sys-spacing-2);border-radius:var(--md-sys-shape-corner-small);transition:background-color .2s ease}.close-button:hover{background:rgba(var(--md-sys-color-on-surface),.08)}@media (max-width: 768px){.literary-mentor-ui{padding:var(--md-sys-spacing-4)}.stats-grid{grid-template-columns:repeat(2,1fr)}.prompts-grid{grid-template-columns:1fr}.quiz-actions{flex-direction:column}.retake-quiz,.new-quiz{width:100%}}.md3-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:500;font-size:12px;line-height:1;white-space:nowrap;transition:all .2s ease}.md3-status-badge--small{padding:2px 6px;font-size:10px;border-radius:8px}.md3-status-badge--medium{padding:4px 8px;font-size:12px}.md3-status-badge--large{padding:6px 12px;font-size:14px;border-radius:16px}.md3-status-badge--reading{background-color:#e3f2fd;color:#1976d2}.md3-status-badge--completed{background-color:#e8f5e8;color:#2e7d32}.md3-status-badge--paused{background-color:#fff3e0;color:#f57c00}.md3-status-badge--default{background-color:#f5f5f5;color:#616161}.md3-status-badge--outlined{background-color:transparent;border:1px solid currentColor}.md3-status-badge--outlined.md3-status-badge--reading{border-color:#1976d2}.md3-status-badge--outlined.md3-status-badge--completed{border-color:#2e7d32}.md3-status-badge--outlined.md3-status-badge--paused{border-color:#f57c00}.md3-status-badge--outlined.md3-status-badge--default{border-color:#616161}.book-cover-container{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--md-sys-shape-corner-medium, 8px);background-color:rgb(var(--md-sys-color-surface-container-highest));cursor:pointer;transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.book-cover-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.book-cover-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgb(var(--md-sys-color-primary-container)),rgb(var(--md-sys-color-secondary-container)));color:rgb(var(--md-sys-color-on-primary-container));cursor:pointer;position:relative;overflow:hidden}.book-cover-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle at 75% 75%,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px;display:flex;align-items:center;justify-content:center}.book-icon{font-size:2rem;color:#ffffffe6}.book-cover-text{position:absolute;bottom:20%;left:50%;transform:translate(-50%);text-align:center;width:80%}.book-title{font-size:.9rem;font-weight:700;margin-bottom:4px;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-author{font-size:.75rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-cover-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgb(var(--md-sys-color-surface-container-highest));position:relative;overflow:hidden}.loading-shimmer{width:100%;height:100%;background:linear-gradient(90deg,rgba(var(--md-sys-color-surface-variant),.4),rgba(var(--md-sys-color-surface-variant),.1),rgba(var(--md-sys-color-surface-variant),.4));animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.cover-badge{position:absolute;top:8px;right:8px;padding:4px 6px;border-radius:var(--md-sys-shape-corner-small, 4px);font-size:.75rem;font-weight:600;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 4px #0003;z-index:5}.cover-badge.generated{background:rgba(var(--md-sys-color-tertiary),.9)}.book-cover-container.small{min-width:96px;min-height:144px}.book-cover-container.medium{min-width:192px;min-height:288px}.book-cover-container.large{min-width:256px;min-height:384px}.book-cover-container.thumbnail{min-width:64px;min-height:96px}.batch-cover-processor{margin:16px 0;padding:16px;background:rgb(var(--md-sys-color-surface-container-low));border-radius:var(--md-sys-shape-corner-large, 12px);border:1px solid rgb(var(--md-sys-color-outline-variant))}.cover-status h3{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:rgb(var(--md-sys-color-on-surface))}.status-stats{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:rgb(var(--md-sys-color-primary));line-height:1}.stat-label{font-size:.75rem;color:rgb(var(--md-sys-color-on-surface-variant));margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.processing-status{margin-top:16px}.progress-bar{width:100%;height:6px;background:rgb(var(--md-sys-color-surface-variant));border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:rgb(var(--md-sys-color-primary));transition:width .3s ease;border-radius:3px}.processing-status p{margin:0;font-size:.875rem;color:rgb(var(--md-sys-color-on-surface-variant));text-align:center}.recent-book-cover-manager .book-cover-container{aspect-ratio:2/3;border-radius:var(--md-sys-shape-corner-small, 6px);width:100%;height:100%;position:relative}.library-book-cover-manager .book-cover-container{aspect-ratio:2/3;border-radius:var(--md-sys-shape-corner-medium, 8px);width:100%;height:100%;position:relative;max-height:100%;object-fit:contain}.enhanced-book-cover .book-cover-container{width:100%;height:100%;border-radius:inherit;position:relative;display:flex;align-items:center;justify-content:center}.collections-book-cover .book-cover-container{aspect-ratio:3/4;border-radius:inherit;position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.book-cover-fallback{transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);border-radius:var(--md-sys-shape-corner-medium, 8px);box-shadow:0 2px 8px #0000001a}.book-cover-fallback:hover{transform:scale(1.02);box-shadow:0 4px 16px #00000026}.book-cover-fallback.geometric{background-size:20px 20px,cover}.book-cover-fallback.abstract{background-blend-mode:multiply}.book-cover-fallback.minimal{position:relative}.book-cover-fallback.textured{background-blend-mode:overlay}.book-icon-large{display:flex;align-items:center;justify-content:center;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.book-cover-fallback:hover .book-icon-large{transform:scale(1.05)}.book-cover-container:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}@media (prefers-color-scheme: dark){.book-cover-fallback{background:linear-gradient(135deg,hsl(var(--md-sys-color-primary-container-hue),var(--md-sys-color-primary-container-saturation),calc(var(--md-sys-color-primary-container-lightness) * .8)),hsl(var(--md-sys-color-secondary-container-hue),var(--md-sys-color-secondary-container-saturation),calc(var(--md-sys-color-secondary-container-lightness) * .8)))}}@keyframes md3-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes md3-scale-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.enhanced-book-card{--card-transition: all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);overflow:visible!important;position:relative;transition:var(--card-transition)}.book-menu-button{position:absolute!important;z-index:100!important;pointer-events:auto!important}.enhanced-book-card:hover .book-menu-button,.enhanced-book-card:focus-within .book-menu-button{opacity:1!important;visibility:visible!important;transform:scale(1.05)}@media (hover: none){.book-menu-button{opacity:1!important;visibility:visible!important}}.enhanced-book-card:hover:not(.selected){--_container-elevation: var(--md-sys-elevation-level3);transform:translateY(-4px)}.enhanced-book-card.selected{--_container-elevation: var(--md-sys-elevation-level4);transform:translateY(-2px)}.book-cover-container,.md3-book-cover .library-book-cover-manager,.md3-book-cover .library-book-cover-manager .book-cover-container{overflow:visible!important}.book-cover-container:hover .progress-tooltip{opacity:1!important}.book-menu-button{display:flex!important;opacity:1!important;visibility:visible!important;z-index:10;position:absolute;outline:none;-webkit-tap-highlight-color:transparent}.book-menu-button:focus-visible{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}.book-actions-menu{z-index:20;transform-origin:top right}.book-progress-container{z-index:5}.book-progress-bar{transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}@keyframes progress-shimmer{0%{left:-100%}to{left:100%}}.book-metadata{min-height:28px}.enhanced-book-card.list-view{max-width:none;width:100%;display:flex;flex-direction:row;position:relative}.enhanced-book-card.list-view .book-menu-button{position:absolute!important;top:8px!important;right:8px!important;z-index:200!important}.enhanced-book-card.list-view .book-cover-container{aspect-ratio:3/4;width:120px;flex-shrink:0}.enhanced-book-card.list-view .book-info-container{flex:1;border-radius:0 var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large) 0}.enhanced-book-card.grid-view{flex-direction:column}.book-metadata .md3-chip{margin-right:var(--md-sys-spacing-1);margin-bottom:var(--md-sys-spacing-1)}.book-menu-button:hover{transition:var(--card-transition)}.enhanced-book-card:focus-within{outline:2px solid rgb(var(--md-sys-color-primary));outline-offset:2px}@media (max-width: 600px){.enhanced-book-card{max-width:none;width:100%}.book-menu-button{width:36px;height:36px;top:6px;right:6px}.book-actions-menu{right:6px;top:44px;min-width:180px}}@media (prefers-color-scheme: dark){.book-menu-button{background-color:#ffffffe6;color:rgb(var(--md-sys-color-on-surface));border-color:#0003}.book-menu-button:hover{background-color:rgb(var(--md-sys-color-primary-container));color:rgb(var(--md-sys-color-on-primary-container))}}@media (prefers-contrast: high){.book-menu-button{border-width:3px;font-weight:700}.enhanced-book-card.selected{border-width:3px}}@media (prefers-reduced-motion: reduce){.enhanced-book-card,.book-menu-button,.book-progress-bar,.book-actions-menu{transition:none;animation:none}.enhanced-book-card:hover{transform:none}}@media print{.book-menu-button,.book-actions-menu{display:none}}.floating-timer{position:fixed;top:20px;right:20px;width:280px;background:var(--md3-surface-container-high);border:1px solid var(--md3-outline-variant);border-radius:var(--md3-shape-corner-large);box-shadow:var(--md3-elevation-3);z-index:9999;overflow:hidden;transition:all .3s cubic-bezier(.2,0,0,1)}.floating-timer.minimized{width:200px}.timer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--md3-primary-container);color:var(--md3-on-primary-container);cursor:pointer;-webkit-user-select:none;user-select:none}.timer-info{display:flex;align-items:center;gap:12px;flex:1}.timer-icon{font-size:20px}.timer-details{flex:1}.book-title{font-size:var(--md3-typography-title-small-size);font-weight:var(--md3-typography-title-small-weight);line-height:var(--md3-typography-title-small-line-height);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.timer-display{font-size:var(--md3-typography-label-large-size);font-weight:var(--md3-typography-label-large-weight);font-family:Roboto Mono,SF Mono,Consolas,Liberation Mono,monospace;display:flex;align-items:center;gap:8px}.paused-indicator{font-size:12px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.minimize-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;padding:4px;border-radius:var(--md3-shape-corner-small);transition:background-color .2s}.minimize-btn:hover{background:var(--md3-on-primary-container);background:color-mix(in srgb,var(--md3-on-primary-container) 12%,transparent)}.timer-controls{display:flex;gap:8px;padding:12px 16px;background:var(--md3-surface-container)}.control-btn{flex:1;padding:10px 12px;border:none;border-radius:var(--md3-shape-corner-medium);font-size:var(--md3-typography-label-medium-size);font-weight:var(--md3-typography-label-medium-weight);cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);display:flex;align-items:center;justify-content:center;gap:6px}.control-btn.pause-resume{background:var(--md3-secondary-container);color:var(--md3-on-secondary-container)}.control-btn.pause-resume:hover{background:var(--md3-secondary-container-hover);box-shadow:var(--md3-elevation-1)}.control-btn.stop{background:var(--md3-error-container);color:var(--md3-on-error-container)}.control-btn.stop:hover{background:var(--md3-error-container-hover);box-shadow:var(--md3-elevation-1)}.session-stats{padding:8px 16px 12px;background:var(--md3-surface-container-low);border-top:1px solid var(--md3-outline-variant);font-size:var(--md3-typography-body-small-size);color:var(--md3-on-surface-variant);text-align:center}.stat{display:inline-flex;align-items:center;gap:4px}@media (max-width: 640px){.floating-timer{top:10px;right:10px;width:260px}.floating-timer.minimized{width:180px}}
