@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root,[data-theme=dark]{--bg-primary: #08080A;--bg-secondary: #0F0F12;--bg-tertiary: #161619;--bg-card: rgba(20, 20, 24, .85);--bg-card-solid: #141418;--bg-elevated: #1C1C21;--text-primary: #F5F3EF;--text-secondary: #A8A5A0;--text-tertiary: #6B6966;--text-inverse: #08080A;--accent-primary: #C9A962;--accent-primary-hover: #D4B86A;--accent-primary-soft: rgba(201, 169, 98, .12);--accent-secondary: #4A9B8C;--accent-secondary-hover: #5BB5A5;--accent-secondary-soft: rgba(74, 155, 140, .12);--success: #4CAF7C;--success-soft: rgba(76, 175, 124, .12);--warning: #E5A84B;--warning-soft: rgba(229, 168, 75, .12);--error: #D15B5B;--error-soft: rgba(209, 91, 91, .12);--info: #5B8FD1;--info-soft: rgba(91, 143, 209, .12);--emerald: #4CAF7C;--gold: #E5A84B;--scarlet: #D15B5B;--border-subtle: rgba(201, 169, 98, .08);--border-default: rgba(201, 169, 98, .15);--border-strong: rgba(201, 169, 98, .25);--border-accent: var(--accent-primary);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .7);--shadow-glow: 0 0 40px rgba(201, 169, 98, .15);--shadow-glow-teal: 0 0 40px rgba(74, 155, 140, .15);--glass-bg: rgba(20, 20, 24, .7);--glass-border: rgba(201, 169, 98, .1);--glass-blur: blur(24px);--gradient-primary: linear-gradient(135deg, #C9A962 0%, #8B7355 100%);--gradient-secondary: linear-gradient(135deg, #4A9B8C 0%, #2D6B5F 100%);--gradient-dark: linear-gradient(180deg, #08080A 0%, #0F0F12 100%);--gradient-card: linear-gradient(145deg, rgba(28, 28, 33, .95) 0%, rgba(20, 20, 24, .95) 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(201, 169, 98, .08) 0%, transparent 60%);--scrollbar-track: var(--bg-secondary);--scrollbar-thumb: #2A2A30;--scrollbar-thumb-hover: var(--accent-primary)}[data-theme=light]{--bg-primary: #FDFBF7;--bg-secondary: #F7F4EF;--bg-tertiary: #EDE9E3;--bg-card: rgba(255, 253, 250, .95);--bg-card-solid: #FFFDF9;--bg-elevated: #FFFFFF;--text-primary: #1A1815;--text-secondary: #5C5651;--text-tertiary: #908A84;--text-inverse: #FDFBF7;--accent-primary: #9A7B3C;--accent-primary-hover: #846832;--accent-primary-soft: rgba(154, 123, 60, .1);--accent-secondary: #2E7266;--accent-secondary-hover: #245C52;--accent-secondary-soft: rgba(46, 114, 102, .1);--success: #2E8B57;--success-soft: rgba(46, 139, 87, .1);--warning: #C4842D;--warning-soft: rgba(196, 132, 45, .1);--error: #B84444;--error-soft: rgba(184, 68, 68, .1);--info: #3B6FA8;--info-soft: rgba(59, 111, 168, .1);--emerald: #2E8B57;--gold: #C4842D;--scarlet: #B84444;--border-subtle: rgba(26, 24, 21, .06);--border-default: rgba(26, 24, 21, .1);--border-strong: rgba(26, 24, 21, .18);--border-accent: var(--accent-primary);--shadow-sm: 0 2px 8px rgba(26, 24, 21, .06);--shadow-md: 0 8px 24px rgba(26, 24, 21, .08);--shadow-lg: 0 16px 48px rgba(26, 24, 21, .1);--shadow-xl: 0 24px 64px rgba(26, 24, 21, .12);--shadow-glow: 0 8px 32px rgba(154, 123, 60, .12);--shadow-glow-teal: 0 8px 32px rgba(46, 114, 102, .12);--glass-bg: rgba(255, 253, 250, .85);--glass-border: rgba(26, 24, 21, .08);--glass-blur: blur(24px);--gradient-primary: linear-gradient(135deg, #9A7B3C 0%, #725A2B 100%);--gradient-secondary: linear-gradient(135deg, #2E7266 0%, #1F4F47 100%);--gradient-dark: linear-gradient(180deg, #FDFBF7 0%, #F7F4EF 100%);--gradient-card: linear-gradient(145deg, #FFFFFF 0%, #FDFBF7 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(154, 123, 60, .06) 0%, transparent 60%);--scrollbar-track: var(--bg-secondary);--scrollbar-thumb: #D5D0C8;--scrollbar-thumb-hover: var(--accent-primary)}:root{--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 40px;--spacing-2xl: 64px;--spacing-3xl: 96px;--spacing-4xl: 128px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 28px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:var(--spacing-md);letter-spacing:-.02em}h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700}h2{font-size:clamp(1.75rem,4vw,2.75rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2.5vw,1.5rem)}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}strong,b{font-weight:600}code,pre,.mono{font-family:var(--font-mono)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);border:2px solid var(--scrollbar-track)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::selection{background:var(--accent-primary);color:#fff}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}@media(max-width:768px){.container{padding:0 var(--spacing-md)}}@media(max-width:480px){.container{padding:0 var(--spacing-sm)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:var(--shadow-glow)}50%{box-shadow:0 0 60px #8b5cf659}}.fade-in{animation:fadeIn var(--transition-slow)}.fade-in-up{animation:fadeInUp var(--transition-slow)}.slide-up{animation:slideUp var(--transition-normal)}.slide-down{animation:slideDown var(--transition-normal)}.scale-in{animation:scaleIn var(--transition-normal)}.text-center{text-align:center}.text-right{text-align:right}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.error-message{color:var(--error);font-size:.875rem;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.success-message{color:var(--success);font-size:.875rem;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-primary);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-width:0}@media(max-width:768px){html{font-size:15px}.container{padding:0 var(--spacing-md)}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}}.header{background:var(--glass-bg);border-bottom:1px solid var(--border-subtle);padding:18px 0;position:fixed;top:0;left:0;right:0;z-index:100;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:all var(--transition-normal)}.header-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-2xl)}.logo{text-decoration:none;display:flex;flex-direction:column;transition:opacity var(--transition-normal)}.logo:hover{opacity:.85}.logo h1{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1;letter-spacing:-.02em}.logo-subtitle{font-family:var(--font-body);font-size:.65rem;color:var(--accent-primary);letter-spacing:.2em;text-transform:uppercase;margin-top:4px;font-weight:600}.search-bar{flex:1;max-width:480px;position:relative;display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:0 20px;transition:all var(--transition-normal)}.search-bar:focus-within{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-primary-soft)}.search-icon{color:var(--text-tertiary);font-size:1.1rem;margin-right:12px;transition:color var(--transition-normal)}.search-bar:focus-within .search-icon{color:var(--accent-primary)}.search-input{flex:1;border:none;background:transparent;padding:14px 0;color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;outline:none}.search-input::placeholder{color:var(--text-tertiary)}.nav-links{display:flex;gap:32px;align-items:center}.nav-link{text-decoration:none;color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:500;position:relative;padding:8px 0;transition:color var(--transition-normal)}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-primary)}.nav-link.active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent-primary);border-radius:1px}.header-actions{display:flex;align-items:center;gap:14px}.icon-btn{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);position:relative;font-size:1.1rem}.icon-btn:hover{background:var(--accent-primary-soft);border-color:var(--accent-primary);color:var(--accent-primary)}.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--accent-primary);color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.auth-link{padding:10px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:all var(--transition-normal);display:inline-flex;align-items:center;cursor:pointer}.login-link{color:var(--accent-primary);border:1px solid var(--accent-primary);background:transparent}.login-link:hover{background:var(--accent-primary-soft)}.register-link{background:var(--accent-primary);color:var(--bg-primary);border:1px solid var(--accent-primary)}.register-link:hover{background:var(--accent-primary-bright);border-color:var(--accent-primary-bright)}.nav-actions{display:flex;gap:12px;align-items:center}.nav-actions .btn{text-decoration:none;color:inherit;padding:10px 18px;font-size:.85rem;white-space:nowrap}.logout-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-primary)}.logout-btn:hover{background:var(--error-soft);border-color:#d15b5b;color:#d15b5b}.nav-menu{display:flex;gap:var(--spacing-lg);align-items:center}.mobile-menu-btn{display:none;background:transparent;border:1px solid var(--border-default);color:var(--text-primary);width:44px;height:44px;border-radius:var(--radius-md);align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:all var(--transition-normal)}.mobile-menu-btn:hover{background:var(--accent-primary-soft);border-color:var(--accent-primary);color:var(--accent-primary)}@media(max-width:1024px){.search-bar{max-width:280px}.nav-links{gap:20px}}@media(max-width:768px){.header{padding:12px 0}.header-container{padding:0 16px;gap:12px;justify-content:space-between}.logo{flex-shrink:0}.logo h1{font-size:1.4rem}.logo-subtitle{font-size:.55rem;letter-spacing:.15em}.search-bar{display:none}.nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bg-primary);flex-direction:column;align-items:stretch;padding:80px 24px 32px;border-left:1px solid var(--border-subtle);transition:right .3s ease;box-shadow:-8px 0 32px #0003;z-index:99;gap:0}.nav-menu:before{content:"Menu";position:absolute;top:24px;left:24px;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--accent-primary);letter-spacing:.05em}.nav-menu.open{right:0}.nav-menu .nav-link{padding:16px 0;font-size:1rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center}.nav-menu .nav-link:last-child{border-bottom:none}.nav-menu .nav-link.active:after{display:none}.nav-menu .nav-link.active{color:var(--accent-primary);font-weight:600}.nav-menu .auth-link{padding:12px 16px;margin-top:16px;border-bottom:none;text-align:center}.nav-menu .login-link{margin-bottom:12px}.nav-actions{flex-direction:column;width:100%;gap:12px;margin-top:16px}.nav-actions .btn{width:100%;justify-content:center}.mobile-menu-btn{display:flex;z-index:101}.header-actions{gap:10px;margin-left:auto}.icon-btn{width:42px;height:42px;font-size:1.1rem}.nav-menu.open:after{content:"";position:fixed;inset:0 280px 0 0;background:#00000080;z-index:-1}}@media(max-width:480px){.header{padding:10px 0}.header-container{padding:0 12px;gap:8px}.logo h1{font-size:1.25rem}.logo-subtitle{display:none}.header-actions{gap:6px}.icon-btn{width:40px;height:40px;font-size:1rem;border-radius:var(--radius-sm)}.mobile-menu-btn{width:40px;height:40px;font-size:1.25rem}.cart-badge{min-width:16px;height:16px;font-size:.6rem;top:-2px;right:-2px}.nav-menu{width:100%;right:-100%;padding:72px 20px 24px}.nav-menu:before{top:20px;left:20px;font-size:1.1rem}.nav-menu .nav-link{padding:14px 0;font-size:.95rem}.nav-menu.open:after{display:none}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);padding:64px 0 32px;margin-top:80px;position:relative;transition:all var(--transition-normal)}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;height:3px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent)}.footer-container{max-width:1400px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}.footer-section{display:flex;flex-direction:column}.footer-title{font-family:var(--font-display);font-size:2rem;color:var(--text-primary);margin-bottom:16px;font-weight:700;letter-spacing:-.02em}.footer-title span{color:var(--accent-primary)}.footer-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin:0;max-width:320px}.footer-heading{font-family:var(--font-display);color:var(--text-primary);font-size:1.125rem;margin-bottom:20px;font-weight:600;position:relative;padding-bottom:12px}.footer-heading:after{content:"";position:absolute;bottom:0;left:0;width:32px;height:2px;background:var(--accent-primary)}.footer-links,.footer-info{list-style:none;padding:0;margin:0}.footer-links li,.footer-info li{margin-bottom:14px}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.footer-links a:before{content:"";width:0;height:1px;background:var(--accent-primary);transition:width var(--transition-normal)}.footer-links a:hover{color:var(--accent-primary)}.footer-links a:hover:before{width:16px}.footer-info li{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.footer-social{display:flex;gap:12px;margin-top:8px}.social-link{width:44px;height:44px;border:1px solid var(--border-default);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1.1rem;transition:all var(--transition-normal);background:var(--bg-tertiary)}.social-link:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-glow);transform:translateY(-4px);box-shadow:var(--shadow-md)}.footer-bottom{max-width:1400px;margin:48px auto 0;padding:24px 32px 0;border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-tertiary);font-size:.9rem}.footer-bottom p{margin:8px 0;display:flex;align-items:center;justify-content:center;gap:8px}.heart-icon{color:var(--error);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.footer-note{opacity:.7;font-size:.85rem}@media(max-width:1024px){.footer-container{grid-template-columns:repeat(2,1fr);gap:40px}}@media(max-width:768px){.footer{padding:48px 0 24px;margin-top:48px}.footer-container{padding:0 24px;grid-template-columns:1fr;gap:32px;text-align:center}.footer-heading:after{left:50%;transform:translate(-50%)}.footer-desc{max-width:100%}.footer-social{justify-content:center}.footer-bottom{padding:20px 24px 0;margin-top:32px}.footer-bottom p{flex-direction:column;gap:4px}}@media(max-width:480px){.footer{padding:40px 0 20px;margin-top:40px}.footer-container{padding:0 16px;gap:28px}.footer-title{font-size:1.75rem}.footer-desc{font-size:.875rem;line-height:1.7}.footer-heading{font-size:1rem;margin-bottom:16px}.footer-links a,.footer-info li{font-size:.875rem;min-height:44px;display:flex;align-items:center;justify-content:center}.social-link{width:48px;height:48px;font-size:1.2rem}.footer-bottom{padding:16px 16px 0;margin-top:24px}.footer-bottom p,.footer-note{font-size:.8rem}}.btn{font-family:var(--font-body);font-weight:500;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;letter-spacing:.02em;font-size:.9rem;border-radius:var(--radius-md);padding:14px 28px}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;font-weight:600}.btn-primary:hover{box-shadow:0 12px 32px #d4a72c59;transform:translateY(-4px);background:linear-gradient(135deg,#d8b54f,#c49d3f);color:#fff}.btn-secondary{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary);font-weight:600}.btn-secondary:hover{border-color:var(--accent-primary);color:#fff;background:var(--accent-primary);box-shadow:0 12px 32px #d4a72c59;transform:translateY(-4px)}.btn-accent{background:var(--gradient-secondary);color:#fff;border:none;font-weight:600}.btn-accent:hover{box-shadow:var(--shadow-glow-teal)}.btn-danger{background:var(--error-soft);color:var(--error);border:1px solid var(--error)}.btn-danger:hover{background:var(--error);color:#fff}.btn-ghost{background:transparent;border:none;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-small{padding:8px 18px;font-size:.85rem;border-radius:var(--radius-sm)}.btn-medium{padding:12px 26px;font-size:.95rem;border-radius:var(--radius-md)}.btn-large{padding:16px 36px;font-size:1rem;border-radius:var(--radius-lg)}.btn-full{width:100%}.btn-icon{display:flex;align-items:center;justify-content:center;font-size:1.2em}@media(max-width:768px){.btn{padding:12px 22px;font-size:.85rem}.btn-small{padding:8px 14px;font-size:.8rem}.btn-medium{padding:10px 20px;font-size:.85rem}.btn-large{padding:12px 28px;font-size:.9rem}}@media(max-width:480px){.btn{padding:10px 18px;font-size:.8rem}.btn-small{padding:6px 12px;font-size:.75rem}.btn-medium{padding:8px 16px;font-size:.8rem}.btn-large{padding:10px 22px;font-size:.85rem}}.book-card{position:relative;width:100%;height:480px;background:var(--bg-card-solid);border-radius:20px;overflow:hidden;cursor:pointer;border:none;box-shadow:0 10px 40px #00000026;transition:transform .5s ease,box-shadow .5s ease}.book-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--accent-primary);clip-path:circle(150px at 80% 20%);transition:.5s ease-in-out;z-index:1}.book-card:hover:before{clip-path:circle(320px at 80% -20%);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%)}.book-card:after{content:attr(data-title);position:absolute;top:20%;left:-10%;font-size:5em;font-weight:800;font-style:italic;color:#ffffff0a;z-index:0;pointer-events:none;font-family:var(--font-display);word-break:break-word;width:120%;white-space:normal}.book-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #00000040,0 0 0 1px var(--accent-primary)}.book-card-image{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:10;width:100%;height:220px;display:flex;align-items:center;justify-content:center;transition:.5s ease-in-out}.book-card:hover .book-card-image{top:20%;transform:translate(-50%,-50%) scale(.75)}.book-title-preview{position:absolute;bottom:95px;left:16px;right:16px;font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--text-primary);margin:0;line-height:1.2;letter-spacing:-.03em;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:.5s ease-in-out;z-index:9;text-align:center}.book-card:hover .book-title-preview{opacity:0;visibility:hidden;transform:translateY(20px)}.book-author-preview{position:absolute;bottom:75px;left:16px;right:16px;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0;line-height:1.3;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:.5s ease-in-out;z-index:9;text-align:center}.book-card:hover .book-author-preview{opacity:0;visibility:hidden;transform:translateY(20px)}.book-card-image img{width:140px;height:200px;object-fit:cover;border-radius:8px;box-shadow:0 15px 35px #0006,0 5px 15px #0003;transform:rotate(-5deg);transition:.5s ease-in-out}.book-card:hover .book-card-image img{transform:rotate(0) scale(1.05);box-shadow:0 20px 45px #00000080,0 8px 20px #0000004d}.book-status{position:absolute;top:16px;left:16px;padding:8px 14px;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:.5s ease-in-out}.book-card:hover .book-status{-webkit-backdrop-filter:none;backdrop-filter:none}.status-available{background:#2a9d6ef2;color:#fff;border:1px solid rgba(255,255,255,.3)}.book-card:hover .status-available{background:#2a9d6e;color:#fff;border:none}.status-reserved{background:#dc3545f2;color:#fff;border:1px solid rgba(255,255,255,.3)}.book-card:hover .status-reserved{background:#dc3545;color:#fff;border:none}.status-borrowed{background:#6c5ce7f2;color:#fff;border:1px solid rgba(255,255,255,.3)}.book-card:hover .status-borrowed{background:#6c5ce7;color:#fff;border:none}.wishlist-btn{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:#fffffff2;border:none;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .3s ease;z-index:15;box-shadow:0 4px 15px #00000026}.wishlist-btn:hover{transform:scale(1.15);color:var(--error);background:#fff}.wishlist-btn.active{background:var(--error);color:#fff}.wishlist-btn.active:hover{background:#b33a3a}.book-card-content{position:absolute;bottom:0;left:0;width:100%;height:100px;text-align:center;transition:.5s ease-in-out;z-index:12;padding:0 20px 20px;display:flex;flex-direction:column;justify-content:flex-end}.book-card:hover .book-card-content{height:260px}.book-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 4px;line-height:1.3;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author{font-size:.9rem;color:var(--text-secondary);margin:0;font-style:italic;opacity:0;visibility:hidden;transition:.5s ease;transform:translateY(10px)}.book-card:hover .book-author{opacity:.9;visibility:visible;transform:translateY(0);transition-delay:.15s}.book-meta{display:flex;justify-content:center;align-items:center;gap:20px;padding:12px 0;opacity:0;visibility:hidden;transition:.5s ease;transform:translateY(10px)}.book-card:hover .book-meta{opacity:1;visibility:visible;transform:translateY(0);transition-delay:.2s}.book-genre{display:inline-flex;align-items:center;padding:6px 14px;background:#ffffff26;color:var(--text-primary);border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.book-rating{display:flex;align-items:center;gap:6px;color:var(--warning);font-weight:700;font-size:.95rem}.star-icon{font-size:1rem;fill:var(--warning)}.book-copies{font-size:.85rem;opacity:0;visibility:hidden;transition:.5s ease;transform:translateY(10px);margin:8px 0}.book-card:hover .book-copies{opacity:1;visibility:visible;transform:translateY(0);transition-delay:.3s}.copies-available{color:var(--success);font-weight:600}.copies-unavailable{color:var(--error);font-weight:600}.book-card .btn{opacity:0;transform:translateY(30px);transition:.5s ease;margin-top:10px;border-radius:25px;font-weight:600;letter-spacing:.02em}.book-card:hover .btn{opacity:1;transform:translateY(0);transition-delay:.4s}.book-card .btn-accent{background:#fff;color:var(--accent-primary);border:2px solid var(--accent-primary);font-weight:700}.book-card .btn-accent:hover{background:var(--accent-primary);color:#fff;transform:scale(1.02);box-shadow:0 8px 20px #d4a72c4d}.book-card .btn-secondary{background:#ffffffe6;color:var(--text-primary);border:none;font-weight:600}.book-card .btn-secondary:hover{background:#fff;transform:scale(1.02)}@media(max-width:768px){.book-card{height:400px}.book-card:before{clip-path:circle(100px at 80% 20%)}.book-card:hover:before{clip-path:circle(250px at 80% -20%)}.book-card:after{font-size:3.5em}.book-card-image{top:40%}.book-card:hover .book-card-image{top:18%;transform:translate(-50%,-50%) scale(.7)}.book-card-image img{width:110px;height:160px}.book-title-preview{font-size:1.1rem;bottom:80px}.book-author-preview{font-size:.85rem;bottom:62px}.book-title{font-size:1.1rem}.book-author{font-size:.8rem}.book-card-content{padding:0 16px 16px;height:90px}.book-card:hover .book-card-content{height:220px}.wishlist-btn{width:36px;height:36px;font-size:.95rem;top:12px;right:12px}.book-status{padding:6px 10px;font-size:.6rem;top:12px;left:12px}.book-meta{gap:12px;padding:8px 0}.book-genre{padding:4px 10px;font-size:.65rem}.book-rating{font-size:.85rem}.book-copies{font-size:.8rem;margin:4px 0}.book-card .btn{padding:10px 16px;font-size:.8rem}}@media(max-width:480px){.book-card{height:380px}.book-card:before{clip-path:circle(90px at 80% 20%)}.book-card:hover:before{clip-path:circle(220px at 80% -20%)}.book-card:after{font-size:3em}.book-card-image img{width:100px;height:145px}.book-title-preview{font-size:1rem;bottom:75px;left:12px;right:12px}.book-author-preview{font-size:.8rem;bottom:58px;left:12px;right:12px}.book-meta{gap:10px;flex-wrap:wrap;justify-content:center}.book-genre{padding:4px 8px;font-size:.6rem}.book-card-content{padding:0 12px 12px}.book-card:hover .book-card-content{height:210px}.book-card .btn{padding:8px 14px;font-size:.75rem;margin-top:6px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);min-height:300px}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:var(--spacing-lg);color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-dots{display:flex;gap:8px}.loading-dots span{width:10px;height:10px;background:var(--accent-primary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media(max-width:768px){.loading-container{padding:var(--spacing-xl);min-height:200px}.loading-spinner{width:40px;height:40px}.loading-text{font-size:.8rem;margin-top:var(--spacing-md)}.loading-dots span{width:8px;height:8px}}@media(max-width:480px){.loading-container{padding:var(--spacing-lg);min-height:150px}.loading-spinner{width:36px;height:36px;border-width:2px}.loading-text{font-size:.75rem;letter-spacing:.08em}.loading-dots{gap:6px}.loading-dots span{width:6px;height:6px}}.home-page{min-height:100vh;overflow-x:hidden}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:120px var(--spacing-lg) 80px}.hero-section:before{content:"";position:absolute;inset:0;background:var(--gradient-hero);pointer-events:none}.hero-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,var(--bg-primary),transparent);pointer-events:none}.hero-container{position:relative;z-index:2;width:100%;max-width:1000px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-copy{display:flex;flex-direction:column;align-items:center;max-width:800px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 24px;background:var(--accent-primary-soft);border:1px solid var(--border-default);border-radius:var(--radius-full);margin-bottom:var(--spacing-xl);animation:fadeInDown .8s ease-out}.hero-eyebrow span{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--accent-primary);letter-spacing:.12em;text-transform:uppercase}.hero-eyebrow svg{color:var(--accent-primary);font-size:1rem}.hero-title{font-family:var(--font-display);font-size:clamp(3.5rem,8vw,7rem);font-weight:500;line-height:1;color:var(--text-primary);margin-bottom:var(--spacing-lg);letter-spacing:-.03em;animation:fadeInUp .8s ease-out .1s backwards}.hero-title .accent{color:var(--accent-primary);font-style:italic}.hero-title .line{display:block}.hero-subtitle{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.25rem);font-weight:400;color:var(--text-secondary);margin-bottom:var(--spacing-2xl);max-width:560px;line-height:1.8;animation:fadeInUp .8s ease-out .2s backwards}.hero-actions{display:flex;gap:20px;margin-bottom:var(--spacing-3xl);animation:fadeInUp .8s ease-out .3s backwards}.hero-stats{display:flex;gap:var(--spacing-3xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--border-subtle);animation:fadeInUp .8s ease-out .4s backwards}.stat{display:flex;flex-direction:column;align-items:center;gap:6px}.stat-number{font-family:var(--font-display);font-weight:600;font-size:2.5rem;color:var(--text-primary);letter-spacing:-.02em}.stat-label{font-family:var(--font-body);font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.15em}.hero-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}.decor-line{position:absolute;background:var(--border-subtle)}.decor-line.horizontal{height:1px;width:100%}.decor-line-1{top:25%;left:0;width:80px}.decor-line-2{top:25%;right:0;width:80px}.decor-line-3{bottom:30%;left:5%;height:60px}.decor-line-4{bottom:30%;right:5%;height:60px}.floating-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;z-index:0;animation:orbFloat 20s ease-in-out infinite}[data-theme=light] .floating-orb{opacity:.08}.orb-1{width:500px;height:500px;background:var(--accent-primary);top:-10%;left:-10%;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--accent-secondary);bottom:-15%;right:-10%;animation-delay:-10s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-40px) scale(1.05)}66%{transform:translate(-30px,30px) scale(.95)}}.hero-art,.hero-visual-wrapper,.glass-card-showcase,.floating-chip,.card-icon-circle,.card-content,.card-header,.card-badge,.card-dots,.card-metrics,.card-footer,.metric,.trend-indicator{display:none}.catalog-section{padding:var(--spacing-3xl) 0 var(--spacing-4xl)}.section-header{margin-bottom:var(--spacing-2xl);text-align:center}.tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);justify-content:center;flex-wrap:wrap}.tab{padding:14px 32px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.tab:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-tertiary)}.tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-inverse)}.genre-filters{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.genre-btn{padding:10px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.genre-btn:hover{color:var(--text-primary);border-color:var(--border-default);transform:translateY(-2px)}.genre-btn.active{background:var(--accent-primary-soft);border-color:var(--accent-primary);color:var(--accent-primary)}.books-count{text-align:center;font-family:var(--font-display);font-size:1.1rem;color:var(--text-tertiary);margin-bottom:var(--spacing-xl);font-style:italic}.books-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;margin-top:var(--spacing-lg)}.book-grid-item{animation:fadeInUp .6s ease-out backwards}.book-grid-item:nth-child(1){animation-delay:.05s}.book-grid-item:nth-child(2){animation-delay:.1s}.book-grid-item:nth-child(3){animation-delay:.15s}.book-grid-item:nth-child(4){animation-delay:.2s}.book-grid-item:nth-child(5){animation-delay:.25s}.book-grid-item:nth-child(6){animation-delay:.3s}.no-books{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);background:var(--bg-card);border-radius:var(--radius-xl);border:1px dashed var(--border-default)}.no-books h3{font-family:var(--font-display);color:var(--text-secondary);font-size:1.75rem;margin-bottom:var(--spacing-md);font-weight:500}.no-books p{color:var(--text-tertiary);font-size:1rem}@media(max-width:1024px){.hero-section{min-height:auto;padding:140px var(--spacing-lg) 80px}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem)}.hero-stats{gap:var(--spacing-xl)}.books-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}}@media(max-width:768px){.hero-section{padding:100px var(--spacing-md) 50px}.hero-title{font-size:clamp(2rem,8vw,3rem)}.hero-subtitle{font-size:.95rem;padding:0 var(--spacing-sm)}.hero-actions{flex-direction:column;gap:12px;width:100%;max-width:300px}.hero-actions .btn{width:100%;justify-content:center;padding:14px 24px}.hero-stats{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:center}.stat-number{font-size:1.75rem}.stat-label{font-size:.65rem}.catalog-section{padding:var(--spacing-xl) 0}.tabs{flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-md)}.tab{width:100%;text-align:center;padding:12px 20px}.genre-filters{gap:8px;padding:0 var(--spacing-md);justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.genre-filters::-webkit-scrollbar{display:none}.genre-btn{padding:8px 14px;font-size:.75rem;white-space:nowrap;flex-shrink:0}.books-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;padding:0 var(--spacing-md)}.books-count{padding:0 var(--spacing-md);font-size:.85rem}.no-books{margin:0 var(--spacing-md)}}@media(max-width:480px){.hero-section{padding:90px var(--spacing-sm) 40px}.hero-eyebrow{padding:8px 14px}.hero-eyebrow span{font-size:.65rem}.hero-eyebrow svg{font-size:.85rem}.hero-title{font-size:clamp(1.75rem,10vw,2.5rem)}.hero-subtitle{font-size:.9rem;line-height:1.6}.hero-actions .btn{padding:12px 20px;font-size:.9rem}.hero-stats{gap:var(--spacing-lg)}.stat-number{font-size:1.5rem}.books-grid{grid-template-columns:1fr;gap:24px;padding:0 var(--spacing-sm)}.tabs{padding:0 var(--spacing-sm)}.tab{padding:10px 16px;font-size:.85rem}.catalog-section{padding:var(--spacing-lg) 0}}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle);transition:all var(--transition-normal);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:0;transition:opacity var(--transition-normal)}.card-hover{cursor:pointer}.card-hover:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.card-hover:hover:before{opacity:1}.card-elevated{box-shadow:var(--shadow-md)}.card-accent{border-color:var(--accent-primary)}.card-accent:before{opacity:1}@media(max-width:768px){.card{padding:20px;border-radius:var(--radius-md)}.card-hover:hover{transform:translateY(-3px)}}@media(max-width:480px){.card{padding:16px}}.book-details-page{min-height:100vh;padding:var(--spacing-xl) 0;background:var(--bg-primary)}.back-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:var(--glass-bg);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:10px 20px;border-radius:8px;font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:all var(--transition-normal);margin-bottom:var(--spacing-xl);text-transform:uppercase;letter-spacing:.05em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translate(-4px)}.book-details-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.book-image-section{position:sticky;top:100px;height:fit-content}.book-image-wrapper{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--border-subtle);background:var(--bg-card)}.book-image-wrapper img{width:100%;height:auto;display:block}.status-badge{position:absolute;top:var(--spacing-md);left:var(--spacing-md);padding:6px 14px;border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.75rem}.status-available{background:#10b98133;color:var(--success);border:1px solid rgba(16,185,129,.4)}.status-reserved{background:#f59e0b33;color:var(--warning);border:1px solid rgba(245,158,11,.4)}.status-borrowed{background:#f43f5e33;color:var(--danger);border:1px solid rgba(244,63,94,.4)}.book-detail-title{font-family:var(--font-heading);font-size:3rem;color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:1.1;font-weight:600}.book-detail-author{font-family:var(--font-body);font-size:1.2rem;color:var(--text-secondary);font-style:italic;margin-bottom:var(--spacing-lg);font-weight:400}.book-rating-section{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.rating-display{display:flex;align-items:center;gap:4px}.star{color:var(--border-subtle);font-size:1.5rem}.star.filled{color:var(--warning);fill:var(--warning)}.rating-value{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-left:var(--spacing-sm)}.review-count{color:var(--text-muted);font-size:1rem}.book-details-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.meta-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:all var(--transition-normal)}.meta-item:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.meta-icon{font-size:1.75rem;color:var(--accent-primary)}.meta-label{display:block;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.meta-value{display:block;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.availability-card{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.availability-card h3{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-family:var(--font-heading)}.availability-available{color:var(--success);font-weight:600;font-size:1.125rem}.availability-unavailable{color:var(--danger);font-weight:600;font-size:1.125rem}.action-buttons{display:flex;gap:var(--spacing-md)}.book-additional-info{display:flex;flex-direction:column;gap:var(--spacing-xl)}.section-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.75rem;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--accent-primary);padding-bottom:var(--spacing-sm)}.book-description{font-size:1.1rem;line-height:1.8;color:var(--text-secondary)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);padding:var(--spacing-lg) 0}.info-item{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.info-label{font-weight:600;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.reviews-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.review-item{padding:var(--spacing-lg);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);border-left:4px solid var(--accent-primary)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.review-user{font-weight:600;color:var(--text-primary)}.review-rating{display:flex;gap:2px}.review-rating .star{font-size:1rem}.review-comment{color:var(--text-secondary);line-height:1.7;font-style:italic}.error-state{text-align:center;padding:var(--spacing-2xl)}.error-state h2{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}@media(max-width:1024px){.book-details-grid{grid-template-columns:1fr}.book-image-section{position:static}.book-image-wrapper{max-width:350px;margin:0 auto}}@media(max-width:768px){.book-details-page{padding:var(--spacing-xl) 0}.book-detail-title{font-size:1.75rem}.book-detail-author{font-size:1.1rem}.book-details-meta{grid-template-columns:1fr;gap:var(--spacing-md)}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%;justify-content:center}.info-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.info-item{padding:var(--spacing-md)}.review-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.review-item{padding:var(--spacing-md)}.book-additional-info .card{padding:var(--spacing-lg)}.section-title{font-size:1.25rem}.book-description{font-size:1rem;line-height:1.7}}@media(max-width:480px){.book-details-page{padding:var(--spacing-lg) 0}.book-image-wrapper{max-width:280px}.book-image-wrapper img{max-height:350px}.book-detail-title{font-size:1.5rem}.book-detail-author{font-size:1rem}.book-details-meta{gap:var(--spacing-sm)}.meta-item{padding:var(--spacing-sm)}.section-title{font-size:1.1rem}}.input-wrapper{margin-bottom:var(--spacing-lg)}.input-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:10px;font-family:var(--font-body);letter-spacing:.01em}.required{color:var(--error);margin-left:4px}.input-container{position:relative;display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-normal);overflow:hidden}.input-container.focused{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-primary-soft)}.input-container.error{border-color:var(--error);box-shadow:0 0 0 4px var(--error-soft)}.input-icon{display:flex;align-items:center;justify-content:center;padding:0 16px;color:var(--text-tertiary);font-size:1.1rem;transition:color var(--transition-normal)}.input-container.focused .input-icon{color:var(--accent-primary)}.input-field{flex:1;padding:16px;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:1rem;outline:none;min-height:52px}.input-container.has-icon .input-field{padding-left:0}.input-field::placeholder{color:var(--text-tertiary)}.input-field.textarea{resize:vertical;min-height:120px;padding:16px;line-height:1.6}.input-field.select{appearance:none;cursor:pointer;padding-right:40px}.input-error{color:var(--error);font-size:.8rem;margin-top:8px;display:flex;align-items:center;gap:6px}.input-helper{color:var(--text-tertiary);font-size:.8rem;margin-top:8px}@media(max-width:768px){.input-field{padding:14px;font-size:.95rem;min-height:48px}.input-container.has-icon .input-field{padding-left:0}.input-icon{padding:0 12px;font-size:1rem}.input-wrapper{margin-bottom:var(--spacing-md)}.input-label{font-size:.8rem}}@media(max-width:480px){.input-field{padding:12px;font-size:.9rem;min-height:44px}.input-icon{padding:0 10px;font-size:.95rem}.input-label{font-size:.75rem;margin-bottom:8px}.input-error,.input-helper{font-size:.75rem}}.modal-overlay{position:fixed;inset:0;background:#08080ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:32px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--border-default);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-small{width:100%;max-width:420px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;border-bottom:1px solid var(--border-subtle);position:relative}.modal-header:after{content:"";position:absolute;bottom:-1px;left:32px;width:60px;height:2px;background:var(--accent-primary)}.modal-header h2{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.modal-close{background:var(--bg-tertiary);border:1px solid var(--border-subtle);font-size:1.25rem;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast);line-height:1;padding:0}.modal-close:hover{background:var(--error-soft);border-color:var(--error);color:var(--error);transform:rotate(90deg)}.modal-body{padding:32px;color:var(--text-primary)}.modal-body .input-wrapper{margin-bottom:24px}.modal-body .form-actions{margin-top:32px;display:flex;gap:16px;justify-content:flex-end}@media(max-width:768px){.modal-overlay{padding:16px}.modal-content{max-height:85vh}.modal-small,.modal-medium,.modal-large{max-width:100%}.modal-header{padding:18px 20px}.modal-header:after{left:20px;width:40px}.modal-body{padding:20px}.modal-header h2{font-size:1.25rem}.modal-close{width:36px;height:36px;font-size:1.1rem}.modal-body .form-actions{flex-direction:column}.modal-body .input-wrapper{margin-bottom:18px}.modal-body .form-actions{margin-top:24px;gap:12px}}@media(max-width:480px){.modal-overlay{padding:12px}.modal-header{padding:16px}.modal-header:after{left:16px}.modal-body{padding:16px}.modal-header h2{font-size:1.1rem}.modal-close{width:32px;height:32px;font-size:1rem}}.cart-page{min-height:100vh;padding:var(--spacing-3xl) 0}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl)}.page-title{font-family:var(--font-display);color:var(--text-primary);font-size:2.5rem;font-weight:600;letter-spacing:-.02em}.cart-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-2xl)}.cart-items{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cart-item{display:flex;align-items:center;gap:var(--spacing-xl);position:relative;animation:fadeInUp .3s ease-out;background:var(--bg-card-solid);border:1px solid var(--border-subtle);padding:var(--spacing-xl);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.cart-item:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.cart-item-image{width:90px;height:130px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-info{flex:1}.cart-item-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.35rem;margin-bottom:6px;font-weight:600}.cart-item-author{color:var(--text-secondary);font-style:italic;margin-bottom:12px;font-size:.95rem}.cart-item-genre{display:inline-block;padding:6px 14px;background:var(--accent-primary-soft);color:var(--accent-primary);border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.remove-btn{width:44px;height:44px;border-radius:50%;background:var(--error-soft);border:1px solid transparent;color:var(--error);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all var(--transition-normal)}.remove-btn:hover{background:var(--error);color:#fff;transform:scale(1.1)}.cart-summary{position:sticky;top:120px;height:fit-content;background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-xl)}.summary-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--accent-primary);font-weight:600}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0;color:var(--text-secondary);font-size:1rem}.summary-value{font-weight:600;color:var(--text-primary);font-size:1.125rem}.policy-info{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--warning-soft);border-left:4px solid var(--warning);border-radius:var(--radius-md)}.policy-info h3{color:var(--warning);font-size:1rem;margin-bottom:var(--spacing-xs)}.policy-info p{color:var(--text-secondary);font-size:.875rem;margin:0}.empty-cart{text-align:center;padding:var(--spacing-2xl);max-width:600px;margin:0 auto}.empty-cart-icon{font-size:5rem;color:var(--accent-primary);margin-bottom:var(--spacing-lg);animation:float 3s ease-in-out infinite}.empty-cart h2{font-family:Cormorant Garamond,serif;color:var(--text-primary);font-size:2rem;margin-bottom:var(--spacing-md)}.empty-cart p{color:var(--text-primary);opacity:.8;margin-bottom:var(--spacing-xl)}.reservation-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.duration-select{width:100%;padding:12px var(--spacing-md);border:2px solid var(--brass-gold);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-dark);font-family:Inter,sans-serif;font-size:1rem;cursor:pointer;transition:all var(--transition-normal)}.duration-select:focus{outline:none;box-shadow:var(--glow-gold);border-color:var(--warm-amber)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.form-actions button{flex:1}@media(max-width:1024px){.cart-content{grid-template-columns:1fr}.cart-summary{position:static}}@media(max-width:768px){.cart-page{padding:var(--spacing-xl) 0}.cart-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.page-title{font-size:1.75rem}.cart-item{flex-direction:column;align-items:flex-start;padding:var(--spacing-lg);gap:var(--spacing-md)}.cart-item-image{width:100%;height:200px;border-radius:var(--radius-md)}.cart-item-title{font-size:1.15rem}.cart-item-author{font-size:.9rem}.remove-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:38px;height:38px}.cart-summary{padding:var(--spacing-lg)}.summary-title{font-size:1.25rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.empty-cart-icon{font-size:4rem}.empty-cart h2{font-size:1.5rem}}@media(max-width:480px){.cart-page{padding:var(--spacing-lg) 0}.page-title{font-size:1.5rem}.cart-item{padding:var(--spacing-md)}.cart-item-image{height:180px}.cart-item-title{font-size:1.05rem}.cart-item-genre{font-size:.65rem;padding:5px 10px}.remove-btn{width:34px;height:34px;font-size:1rem}.cart-summary{padding:var(--spacing-md)}.summary-item{font-size:.9rem;padding:var(--spacing-sm) 0}.policy-info{padding:var(--spacing-sm)}.policy-info h3{font-size:.9rem}.policy-info p{font-size:.8rem}}.checkout-page{min-height:100vh;padding:48px 0;background:var(--bg-primary)}.page-title{font-family:var(--font-display);color:var(--text-primary);font-size:2.5rem;margin-bottom:40px;font-weight:700;letter-spacing:-.02em}.checkout-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px}.checkout-main{display:flex;flex-direction:column;gap:32px}.checkout-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px}.section-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--accent-primary),var(--accent-secondary));border-radius:2px}.books-summary{display:flex;flex-direction:column;gap:16px}.summary-book-item{display:flex;gap:20px;padding:20px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-normal)}.summary-book-item:hover{border-color:var(--accent-primary);transform:translate(4px)}.summary-book-image{width:70px;height:100px;object-fit:cover;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.summary-book-info{flex:1;display:flex;flex-direction:column;justify-content:center}.summary-book-info h4{font-family:var(--font-display);color:var(--text-primary);margin-bottom:6px;font-size:1.125rem;font-weight:600}.summary-book-info p{color:var(--text-secondary);font-size:.9rem;font-style:italic;margin:0}.policy-details{line-height:1.9}.policy-details p{color:var(--text-secondary);margin-bottom:16px}.policy-note{padding:20px;background:var(--warning-soft);border-left:4px solid var(--warning);border-radius:var(--radius-sm);margin-top:20px;font-style:italic;color:var(--text-secondary)}.terms-content ul{list-style:none;padding:0;margin-bottom:24px}.terms-content li{padding:12px 0 12px 32px;color:var(--text-secondary);position:relative;line-height:1.6}.terms-content li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:700;font-size:1.1rem}.checkbox-label{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.checkbox-label:hover{border-color:var(--accent-primary);background:var(--bg-secondary)}.checkbox-input{width:22px;height:22px;cursor:pointer;accent-color:var(--accent-primary)}.checkout-sidebar{position:sticky;top:120px;height:fit-content}.reservation-info-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reservation-info-card .section-title{font-size:1.375rem;margin-bottom:var(--spacing-lg)}.info-item{display:flex;align-items:flex-start;gap:16px;padding:var(--spacing-lg);border-bottom:1px solid var(--border-subtle);margin:0 -32px;padding-left:48px;padding-right:32px}.info-item:last-of-type{border-bottom:none}.info-icon{font-size:1.5rem;color:var(--accent-primary);flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border-radius:var(--radius-sm)}.info-content{flex:1}.reservation-info-card input,.reservation-info-card textarea,.reservation-info-card select,.reservation-info-card .info-content,.reservation-info-card .info-value{padding-left:10px}.info-label{font-size:.75rem;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.info-value{color:var(--text-primary);font-weight:600;font-size:1rem}.info-value{color:var(--text-primary);font-weight:500;font-size:1rem}.total-summary{margin:24px 0;padding:24px;background:var(--accent-glow);border-radius:var(--radius-md);border:1px solid var(--accent-primary)}.total-item{display:flex;justify-content:space-between;padding:10px 0;color:var(--text-primary)}.total-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.total-value{font-weight:700;color:var(--accent-primary);font-size:1.25rem}.confirmation-card{max-width:800px;margin:0 auto;text-align:center;padding:48px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirmation-header{margin-bottom:40px}.success-icon{font-size:5rem;color:var(--success);margin-bottom:24px;animation:scaleIn .6s var(--ease-out-expo)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.confirmation-title{font-family:var(--font-display);color:var(--text-primary);font-size:2.5rem;margin-bottom:16px;font-weight:700}.confirmation-subtitle{color:var(--text-secondary);font-size:1.125rem;font-style:italic}.confirmation-details{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px;margin-bottom:40px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-subtle)}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.detail-value{color:var(--text-primary);font-weight:700;font-size:1rem}.qr-section{margin:48px 0}.qr-section h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;margin-bottom:12px}.qr-instruction{color:var(--text-secondary);margin-bottom:24px;font-style:italic}.qr-code-wrapper{display:inline-block;padding:24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.confirmation-message{background:var(--accent-glow);padding:24px;border-radius:var(--radius-md);border-left:4px solid var(--accent-primary);margin-bottom:40px;text-align:left}.confirmation-message p{color:var(--text-primary);margin-bottom:12px;line-height:1.7}.reminder-text{font-style:italic;font-size:.9375rem;color:var(--text-secondary)}.confirmation-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}@media(max-width:1024px){.checkout-grid{grid-template-columns:1fr;gap:32px}.checkout-sidebar{position:static}}@media(max-width:768px){.checkout-page{padding:var(--spacing-xl) 0}.page-title{font-size:1.75rem}.checkout-section,.reservation-info-card{padding:var(--spacing-lg)}.info-item{margin:0 -24px;padding-left:36px;padding-right:24px;gap:12px}.info-icon{width:36px;height:36px;font-size:1.25rem}.confirmation-card{padding:var(--spacing-xl)}.confirmation-title{font-size:1.75rem}.success-icon{font-size:3.5rem}.confirmation-actions{flex-direction:column}.confirmation-actions .btn{width:100%}.detail-item{flex-direction:column;gap:6px;text-align:left;align-items:flex-start}.total-summary{padding:var(--spacing-md);margin:var(--spacing-md) 0}.total-item{font-size:.9rem}.book-detail-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.book-detail-image{width:100%;height:200px}.qr-code-wrapper{padding:16px}}@media(max-width:480px){.checkout-page{padding:var(--spacing-lg) 0}.page-title{font-size:1.5rem}.checkout-section,.reservation-info-card{padding:var(--spacing-md)}.section-title{font-size:1.15rem}.info-item{margin:0 -16px;padding:var(--spacing-md);padding-left:24px;padding-right:16px;gap:10px}.info-icon{width:32px;height:32px;font-size:1.1rem}.info-label{font-size:.7rem}.info-value{font-size:.9rem}.confirmation-card{padding:var(--spacing-lg)}.confirmation-title{font-size:1.5rem}.success-icon{font-size:3rem}.confirmation-message{padding:var(--spacing-md)}.confirmation-message p{font-size:.9rem}.reminder-text{font-size:.85rem}.book-detail-image{height:180px}.book-detail-title{font-size:1.1rem}.summary-book-item{flex-direction:column;text-align:center}.summary-book-image{margin:0 auto}}.dashboard-page{min-height:100vh;padding:var(--spacing-3xl) 0}.auth-required-card{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-3xl) var(--spacing-lg)}.auth-required-content{text-align:center;max-width:500px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-3xl);box-shadow:var(--shadow-md);animation:slideUp .6s ease-out}.auth-required-content h2{font-family:var(--font-display);font-size:2rem;color:var(--text-primary);margin-bottom:var(--spacing-md);font-weight:600;letter-spacing:-.02em}.auth-required-content p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.auth-required-content .btn{margin-bottom:var(--spacing-lg);padding:14px 36px;font-size:.95rem}.auth-hint{color:var(--text-tertiary);font-size:.9rem}.auth-link-text{color:var(--accent-primary);text-decoration:none;font-weight:600;transition:all var(--transition-normal)}.auth-link-text:hover{color:var(--accent-primary-bright);text-decoration:underline}.dashboard-header{margin-bottom:var(--spacing-2xl);text-align:center}.dashboard-title{font-family:var(--font-display);color:var(--text-primary);font-size:2.75rem;margin-bottom:var(--spacing-sm);font-weight:600;letter-spacing:-.02em}.dashboard-subtitle{color:var(--text-secondary);font-size:1.1rem;font-style:italic}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl)}.stat-card{display:flex;align-items:center;gap:var(--spacing-lg);transition:all var(--transition-normal);background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-xl);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);border-color:var(--border-default);box-shadow:var(--shadow-lg)}.stat-icon{width:60px;height:60px;border-radius:var(--radius-lg);background:var(--accent-primary-soft);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-value{font-size:2.25rem;font-weight:600;color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.02em}.stat-label{font-size:.85rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.dashboard-section{margin-bottom:var(--spacing-3xl)}.section-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.75rem;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:14px;font-weight:600}.section-title:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--border-subtle),transparent)}.empty-state{text-align:center;color:var(--text-secondary);font-style:italic;padding:var(--spacing-2xl);background:var(--bg-tertiary);border-radius:var(--radius-xl);border:1px dashed var(--border-default)}.books-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.borrowed-book-card{display:grid;grid-template-columns:100px 1fr auto;gap:var(--spacing-xl);align-items:center;background:var(--bg-card-solid);border:1px solid var(--border-subtle);padding:var(--spacing-lg);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.borrowed-book-card:hover{background:var(--bg-elevated);border-color:var(--border-default);transform:translate(6px);box-shadow:var(--shadow-md)}.book-thumbnail{width:100px;height:150px;object-fit:cover;border-radius:var(--radius-md)}.book-details h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.35rem;margin-bottom:var(--spacing-xs);font-weight:600}.book-author{color:var(--text-secondary);font-style:italic;margin-bottom:var(--spacing-lg)}.book-dates{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-sm)}.date-item{display:flex;flex-direction:column}.date-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.date-value{color:var(--text-primary);font-weight:600}.date-value.overdue{color:var(--error)}.days-remaining{display:inline-block;padding:6px 14px;background:var(--success-soft);color:var(--success);border-radius:var(--radius-sm);font-weight:600;font-size:.875rem}.days-remaining.warning{background:var(--warning-soft);color:var(--warning)}.days-remaining.overdue{background:var(--error-soft);color:var(--error)}.book-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.extend-note{font-size:.875rem;color:var(--text-secondary);font-style:italic}.reservations-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.reservation-card{animation:slideUp .3s ease-out;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);gap:var(--spacing-lg)}.reservation-info{flex:1}.reservation-info h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.25rem;margin-bottom:var(--spacing-sm)}.reservation-author{color:var(--text-secondary);font-size:.95rem;margin-bottom:var(--spacing-sm)}.reservation-status{color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--spacing-sm)}.status-badge{display:inline-block;background:var(--accent-primary-soft);color:var(--accent-primary);padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:600;text-transform:capitalize}.reservation-date,.reservation-expiry{font-size:.85rem;color:var(--text-tertiary);margin-top:4px}.reservation-actions{display:flex;gap:var(--spacing-md);flex-shrink:0}.reservation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(199,168,117,.2)}.reservation-header h3{font-family:Cormorant Garamond,serif;color:var(--text-dark);font-size:1.25rem;margin-bottom:var(--spacing-xs)}.reservation-date{font-size:.875rem;color:var(--text-secondary)}.reservation-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-row span:first-child{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-row span:last-child{color:var(--text-dark);font-weight:600}.reserved-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md)}.reserved-book-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm)}.reserved-book-item img{width:80px;height:120px;object-fit:cover;border-radius:var(--radius-sm)}.reserved-book-item span{font-size:.875rem;color:var(--text-dark);line-height:1.3}.wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg)}.wishlist-card{position:relative;text-align:center}.remove-wishlist-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:32px;height:32px;border-radius:50%;background:#e74c3ce6;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);z-index:1}.remove-wishlist-btn:hover{background:#e74c3c;transform:scale(1.1)}.wishlist-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.wishlist-info h4{font-family:Cormorant Garamond,serif;color:var(--text-dark);font-size:1.125rem;margin-bottom:var(--spacing-xs)}.wishlist-info p{color:var(--text-secondary);font-size:.9375rem;font-style:italic}.history-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:500px;overflow-y:auto}.history-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:#c7a8750d;border-radius:var(--radius-md);transition:all var(--transition-fast)}.history-item:hover{background:#c7a8751a}.history-thumbnail{width:60px;height:90px;object-fit:cover;border-radius:var(--radius-sm)}.history-info h4{font-family:Cormorant Garamond,serif;color:var(--text-dark);font-size:1.125rem;margin-bottom:4px}.history-info p{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin-bottom:4px}.history-date{font-size:.75rem;color:var(--brass-gold);font-weight:500}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.borrowed-book-card{grid-template-columns:80px 1fr auto;gap:var(--spacing-lg)}.book-thumbnail{width:80px;height:120px}}@media(max-width:768px){.dashboard-page{padding:var(--spacing-xl) 0}.dashboard-title{font-size:1.75rem}.dashboard-subtitle{font-size:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{padding:var(--spacing-lg);gap:var(--spacing-md)}.stat-icon{width:50px;height:50px;font-size:1.25rem}.stat-value{font-size:1.75rem}.stat-label{font-size:.75rem}.borrowed-book-card{grid-template-columns:1fr;text-align:center;padding:var(--spacing-lg)}.book-thumbnail{width:100%;height:auto;max-width:180px;margin:0 auto}.book-details h3{font-size:1.2rem}.book-dates{justify-content:center;flex-wrap:wrap;gap:var(--spacing-md)}.book-actions{justify-content:center}.reservation-details{grid-template-columns:1fr}.wishlist-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.section-title{font-size:1.35rem}}@media(max-width:480px){.dashboard-page{padding:var(--spacing-lg) 0}.dashboard-title{font-size:1.5rem}.dashboard-subtitle{font-size:.9rem}.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:row;justify-content:flex-start}.stat-icon{width:45px;height:45px;font-size:1.1rem}.stat-value{font-size:1.5rem}.borrowed-book-card{padding:var(--spacing-md)}.book-thumbnail{max-width:150px}.book-details h3{font-size:1.1rem}.book-dates{flex-direction:column;gap:var(--spacing-sm)}.wishlist-grid{grid-template-columns:1fr}.section-title{font-size:1.2rem;flex-direction:column;text-align:center;gap:var(--spacing-sm)}.section-title:after{display:none}.empty-state{padding:var(--spacing-lg)}}.book-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;width:120px;height:180px;background:linear-gradient(135deg,var(--accent-primary-soft) 0%,var(--bg-tertiary) 100%);border-radius:var(--radius-lg);flex-shrink:0;color:var(--text-tertiary)}.book-cover-image{width:100px;height:150px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.quick-actions .btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;transition:all var(--transition-normal);border:none;cursor:pointer}.quick-actions .btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.quick-actions .btn-primary:hover{background:var(--accent-primary-bright);transform:translateY(-2px);box-shadow:0 8px 24px #c9a9624d}@media(max-width:768px){.quick-actions{grid-template-columns:1fr}}.contact-page{min-height:100vh;padding:var(--spacing-xl) 0;background:var(--bg-primary)}.contact-header{text-align:center;margin-bottom:var(--spacing-2xl)}.page-title{font-family:var(--font-heading);color:var(--text-primary);font-size:3rem;margin-bottom:var(--spacing-md);font-weight:600}.page-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto;font-weight:400}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-2xl)}.section-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.75rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--accent-primary)}.success-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#10b9811a;border-left:4px solid var(--success);border-radius:8px;color:var(--success);margin-bottom:var(--spacing-lg);animation:slideDown .3s ease-out}.success-banner svg{font-size:1.5rem}.textarea-field{width:100%;padding:16px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;resize:vertical;transition:all var(--transition-normal)}.textarea-field:focus{outline:none;box-shadow:0 0 0 3px #8b5cf626;border-color:var(--accent-primary)}.textarea-field::placeholder{color:var(--text-muted)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-xl)}.info-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.info-block{padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.info-block h3{font-family:var(--font-heading);color:var(--accent-primary);font-size:1.125rem;margin-bottom:var(--spacing-sm)}.info-block p{color:var(--text-secondary);line-height:1.7}.faq-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.faq-item{padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.faq-item h4{font-family:var(--font-heading);color:var(--text-primary);font-size:1.125rem;margin-bottom:var(--spacing-sm)}.faq-item p{color:var(--text-secondary);line-height:1.7}@media(max-width:1024px){.contact-grid{grid-template-columns:1fr}}@media(max-width:768px){.contact-page{padding:var(--spacing-lg) 0}.page-title{font-size:2rem}.page-subtitle{font-size:.95rem}.section-title{font-size:1.35rem}.contact-header{margin-bottom:var(--spacing-xl)}.info-block,.faq-item{padding:var(--spacing-md)}.info-block h3,.faq-item h4{font-size:1rem}.info-block p,.faq-item p{font-size:.9rem}.textarea-field{padding:14px}}@media(max-width:480px){.contact-page{padding:var(--spacing-md) 0}.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.section-title{font-size:1.2rem}.success-banner{padding:var(--spacing-sm);font-size:.9rem}.success-banner svg{font-size:1.25rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:40px var(--spacing-md);background:var(--bg-primary)}.auth-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-orb{position:absolute;border-radius:50%;opacity:.03;filter:blur(80px);animation:float 20s ease-in-out infinite}.floating-orb.orb-1{width:400px;height:400px;background:var(--accent-primary);top:-200px;left:-200px;animation-delay:0s}.floating-orb.orb-2{width:300px;height:300px;background:var(--accent-secondary);bottom:-150px;right:-150px;animation-delay:7s}.floating-orb.orb-3{width:250px;height:250px;background:var(--accent-primary);top:50%;right:10%;animation-delay:14s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(30px)}}.decor-line{position:absolute;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);opacity:.1}.decor-line.horizontal{width:100%;height:1px}.decor-line.vertical{width:1px;height:100%}.decor-line-1{top:20%}.decor-line-2{right:30%;top:0;bottom:0}.auth-container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;width:100%;max-width:1200px;align-items:center}.auth-branding{padding:40px 20px}.branding-content{display:flex;flex-direction:column;gap:32px}.branding-icon{font-size:64px;color:var(--accent-primary);display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--accent-primary-soft);border-radius:16px;border:2px solid var(--border-default);animation:pulse-icon 3s ease-in-out infinite}@keyframes pulse-icon{0%,to{box-shadow:0 0 0 0 var(--accent-primary-soft)}50%{box-shadow:0 0 0 12px transparent}}.branding-title{font-family:Cormorant Garamond,serif;font-size:48px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-1px}.branding-subtitle{font-size:18px;color:var(--accent-primary);margin:0;font-weight:500;letter-spacing:2px}.branding-description{font-size:16px;color:var(--text-secondary);line-height:1.6;margin:0}.features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.feature-item{display:flex;align-items:center;gap:16px;font-size:15px;color:var(--text-secondary);transition:all .3s ease}.feature-item:hover{color:var(--text-primary);transform:translate(8px)}.feature-icon{font-size:24px;display:flex;align-items:center;justify-content:center;min-width:28px}.auth-form-section{display:flex;align-items:center;justify-content:center}.auth-form-wrapper{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:20px;padding:48px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-lg);animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-header{margin-bottom:32px;text-align:center}.form-header h2{font-family:Cormorant Garamond,serif;font-size:32px;color:var(--text-primary);margin:0 0 8px}.form-header p{font-size:14px;color:var(--text-secondary);margin:0}.auth-alert{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:24px;display:flex;align-items:center;gap:10px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:var(--error-soft);border:1px solid var(--error);color:var(--error)}.alert-success{background:var(--success-soft);border:1px solid var(--success);color:var(--success)}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.form-input-wrapper{position:relative;display:flex;align-items:center;border:1px solid var(--border-default);border-radius:12px;padding:0 16px;height:48px;background:var(--bg-secondary);transition:all .3s ease}.form-input-wrapper:focus-within{border-color:var(--accent-primary);background:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-primary-soft)}.form-input-wrapper.error{border-color:var(--error);background:var(--error-soft)}.form-input-wrapper.error:focus-within{box-shadow:0 0 0 3px var(--error-soft)}.input-icon{color:var(--text-tertiary);margin-right:12px;font-size:18px;flex-shrink:0}.form-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:15px;outline:none;font-family:inherit;height:100%}.form-input::placeholder{color:var(--text-tertiary)}.password-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;padding:4px;transition:color .3s ease;margin-left:8px}.password-toggle:hover{color:var(--accent-primary)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.form-error{font-size:13px;color:var(--error);display:flex;align-items:center;gap:6px}.password-hint{font-size:12px;color:var(--text-tertiary);margin:4px 0 0}.form-remember,.form-terms{display:flex;align-items:center;justify-content:space-between;font-size:14px}.form-terms{justify-content:flex-start;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:color .3s ease}.checkbox-label:hover{color:var(--text-primary)}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.forgot-password{color:var(--accent-primary);text-decoration:none;font-weight:500;transition:color .3s ease}.forgot-password:hover{color:var(--accent-primary-hover)}.form-submit{height:48px;padding:0 24px;background:var(--gradient-primary);color:var(--text-inverse);border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px #c9a9624d}.form-submit:active:not(:disabled){transform:translateY(0)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--text-secondary)}.auth-link{color:var(--accent-primary);text-decoration:none;font-weight:600;transition:color .3s ease}.auth-link:hover{color:var(--accent-primary-hover);text-decoration:underline}.social-divider{position:relative;text-align:center;margin:24px 0;font-size:13px;color:var(--text-tertiary)}.social-divider:before,.social-divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--border-default)}.social-divider:before{left:0}.social-divider:after{right:0}.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-btn{height:44px;padding:0 16px;border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.social-btn:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary)}.social-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.auth-container{gap:40px}.auth-form-wrapper{padding:40px}.branding-title{font-size:40px}}@media(max-width:768px){.auth-container{grid-template-columns:1fr;gap:40px}.auth-branding{padding:0}.branding-title{font-size:36px}.features-list{gap:16px}.auth-form-wrapper{padding:32px}.form-submit{height:44px;font-size:14px}.form-header h2{font-size:28px}}@media(max-width:480px){.auth-page{padding:20px var(--spacing-sm)}.auth-container{gap:24px}.auth-form-wrapper{padding:24px;border-radius:16px}.branding-icon{width:64px;height:64px;font-size:48px}.branding-title{font-size:28px}.branding-subtitle,.branding-description{font-size:14px}.feature-item{font-size:13px;gap:12px}.form-header h2{font-size:24px}.form-label{font-size:12px}.form-input-wrapper{height:44px;padding:0 12px}.input-icon{font-size:16px;margin-right:8px}.form-input{font-size:14px}.form-submit{height:40px;font-size:13px}.auth-footer{font-size:13px}.form-remember,.form-terms{font-size:12px}}[data-theme=light] .auth-page{background:var(--bg-primary)}[data-theme=light] .auth-form-wrapper{box-shadow:var(--shadow-md)}[data-theme=light] .floating-orb{opacity:.04}[data-theme=light] .form-input-wrapper:focus-within{box-shadow:0 0 0 3px var(--accent-primary-soft)}[data-theme=light] .form-input-wrapper.error:focus-within{box-shadow:0 0 0 3px var(--error-soft)}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding-top:80px}@media(max-width:768px){.main-content{padding-top:70px}}@media(max-width:480px){.main-content{padding-top:64px}}
