@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Merriweather:wght@300;400;700&family=Source+Sans+Pro:wght@300;400;600&family=Inter:wght@400;500;600&display=swap";:root{--brand-primary: #2e6fa7;--brand-primary-rgb: 46, 111, 167;--accent-warm: #ff6b4a;--accent-warm-dark: #e0553e;--accent-cool: #0d8afe;--accent-muted: #6b7f8b;--bg: #fafbfc;--card-bg: #ffffff;--panel-bg: rgba(255, 255, 255, .92);--glass-bg: rgba(255, 255, 255, .75);--glass-bg-light: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .06);--text-primary: #222222;--text-secondary: #6b6f74;--muted: #8a8f94;--success: #28a745;--error: #d73527;--shadow-tint: rgba(34, 34, 34, .08);--border-light: rgba(34, 34, 34, .06);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 4px 6px rgba(0, 0, 0, .06);--shadow-md: 0 8px 15px rgba(0, 0, 0, .1);--shadow-lg: 0 15px 30px rgba(0, 0, 0, .14);--transition-fast: .2s ease;--transition-med: .3s ease;--transition-slow: .5s ease;--accent-warm-rgb: 255, 107, 74;--accent-cool-rgb: 13, 138, 254}html{box-sizing:border-box;width:100%;overflow-x:hidden}*,*:before,*:after{box-sizing:inherit}body{font-family:Source Sans Pro,sans-serif;margin:0;padding:0;color:var(--text-primary);background-color:var(--bg);min-height:100vh;width:100%;line-height:1.6;font-size:16px}.page-content{flex:1;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);min-height:100vh;width:100%;position:relative}body.sidebar-expanded .page-content{margin-left:300px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width: 768px){.page-content{margin-left:60px}body.sidebar-expanded .page-content{margin-left:300px}}@media (max-width: 767px){body.sidebar-expanded .page-content{margin-left:0}}.page-wrapper{background:url(/images/background.png) center center fixed;background-size:cover;position:relative;max-width:900px;margin:0 auto;padding:20px;z-index:1}.page-wrapper:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#0003;z-index:-1}h1,h2,h3{font-family:Playfair Display,serif;font-weight:700}.container{display:flex;flex-direction:column;gap:25px;background-color:var(--panel-bg);padding:30px;border-radius:10px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--glass-border)}.search-header{text-align:center;margin-bottom:20px}.search-header h2{color:#7a3f2a;margin-bottom:5px;font-size:28px}.search-header p{color:#666;margin-top:5px;font-style:italic}.input-section{display:flex;flex-direction:column;width:100%}#promptInput{width:100%;height:80px;padding:15px;border:2px solid var(--accent-warm-dark);border-radius:8px;font-family:Merriweather,serif;resize:vertical;font-size:16px;box-shadow:inset 0 1px 3px #0000001a,0 0 10px #8b45131a;box-sizing:border-box;transition:var(--transition-med);background-color:#fffffff2}#promptInput:focus{border-color:var(--accent-warm-dark);box-shadow:0 0 8px #8b451380;outline:none}#promptInput.at-limit{border-color:#e74c3c;box-shadow:0 0 8px #e74c3c80}.char-counter{text-align:right;font-size:13px;color:#7d7d7d;margin-top:5px;margin-bottom:15px}.char-counter .near-limit{color:#e74c3c;font-weight:700}#submitBtn{padding:15px 30px;background:linear-gradient(135deg,#7a3f2a,var(--accent-warm-dark));color:#fff;border:none;border-radius:8px;cursor:pointer;align-self:center;font-size:16px;font-weight:600;transition:var(--transition-med);box-shadow:var(--shadow-md);letter-spacing:.5px;position:relative;overflow:hidden}#submitBtn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}#submitBtn:hover{background:linear-gradient(135deg,#4a2201,#734010);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg)}#submitBtn:hover:before{left:100%}#submitBtn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}#submitBtn:disabled{background:#95a5a6;cursor:not-allowed;transform:none;box-shadow:none}#submitBtn i{margin-right:8px}.suggestions{margin-top:15px;margin-bottom:20px;text-align:center;font-size:14px}.suggestion-chip{display:inline-block;padding:6px 12px;margin:0 5px;background-color:#f6f6f6;border:1px solid var(--accent-warm-dark);border-radius:20px;cursor:pointer;transition:var(--transition-fast);font-size:13px}.suggestion-chip:hover{background-color:#efece6;transform:translateY(-2px)}#loading{display:none;text-align:center;margin:30px 0;flex-direction:column;align-items:center}.book-loader{position:relative;width:60px;height:40px;perspective:500px}.book-loader .page{position:absolute;left:0;top:0;width:100%;height:100%;transform-style:preserve-3d;background-color:#f6f6f6;border-left:5px solid var(--accent-warm-dark);border-top:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm)}.book-loader .page:nth-child(1){animation:flip1 1.5s infinite ease-in-out;animation-delay:0s}.book-loader .page:nth-child(2){animation:flip2 1.5s infinite ease-in-out;animation-delay:.5s}.book-loader .page:nth-child(3){animation:flip3 1.5s infinite ease-in-out;animation-delay:1s}@keyframes flip1{0%,to{transform:rotateY(0)}20%,80%{transform:rotateY(-180deg)}}@keyframes flip2{0%,to{transform:rotateY(0)}20%,80%{transform:rotateY(-180deg)}}@keyframes flip3{0%,to{transform:rotateY(0)}20%,80%{transform:rotateY(-180deg)}}#loading p{margin-top:20px;color:#7a3f2a;font-size:16px;font-style:italic;font-weight:500;text-shadow:1px 1px 2px rgba(255,255,255,.5);animation:pulse 1.5s infinite alternate}@keyframes pulse{0%{opacity:.7}to{opacity:1}}.books-container{width:100%;margin-top:20px}.books-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;width:100%}.book-cover{height:250px;background:linear-gradient(135deg,#f6f6f6,#efece6);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:15px 10px;box-shadow:inset 0 -10px 20px #0000000d}.book-cover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#ffffff1a,#0000000d);pointer-events:none}.book-cover img{width:auto;height:100%;object-fit:contain;display:block;filter:drop-shadow(0px 5px 10px rgba(0,0,0,.2));transform-origin:center;transition:transform .5s,filter .5s}.book-card:hover .book-cover img{transform:scale(1.03);filter:drop-shadow(0px 8px 15px rgba(0,0,0,.3))}.book-cover .no-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#555;font-size:18px;font-weight:500;background:linear-gradient(135deg,#e0eafc,#cfdef3)}.book-info{padding:25px;flex-grow:1;display:flex;flex-direction:column;background-color:var(--card-bg);position:relative}.book-info:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(to right,transparent,rgba(139,69,19,.3),transparent)}.book-title{font-size:22px;font-weight:700;margin-bottom:8px;color:#7a3f2a;line-height:1.3;font-family:Playfair Display,serif}.book-author{font-size:16px;color:#7d7d7d;margin-bottom:15px;font-style:italic}.book-description{font-size:15px;line-height:1.6;margin-bottom:15px;flex-grow:1;color:#444}.book-reasoning{margin-top:15px;padding-top:12px;border-top:1px solid #eee;font-size:14px;color:#555;line-height:1.5}.why-label{font-weight:700;color:#7a3f2a;display:block;margin-bottom:5px}.book-links{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.book-link{display:inline-flex;align-items:center;padding:8px 12px;background-color:#f6f6f6;color:#7a3f2a;text-decoration:none;border-radius:6px;font-size:13px;transition:var(--transition-fast);border:1px solid var(--accent-warm-dark);box-shadow:var(--shadow-sm)}.book-link:hover{background-color:#efece6;transform:translateY(-2px);box-shadow:var(--shadow-md)}.link-icon{margin-right:5px}.book-isbn{margin-top:15px;font-size:12px;color:#999}.feedback-section{background:var(--panel-bg);padding:25px;border-radius:10px;margin-top:30px;text-align:center;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.feedback-section h3{color:#7a3f2a;margin-bottom:15px;font-size:22px}.rating-stars{display:flex;justify-content:center;gap:10px;font-size:24px;margin-bottom:10px}.rating-stars i{color:#ddd;cursor:pointer;transition:var(--transition-fast)}.rating-stars i:hover,.rating-stars i.active{color:#f1c40f;transform:scale(1.2)}.rating-text{font-style:italic;color:#777;margin-top:10px}.error-message{color:#e74c3c;padding:15px;background-color:#fadbd8;border-radius:8px;margin-top:20px;text-align:center;font-size:15px;box-shadow:var(--shadow-sm)}.stacked-viewer-wrapper{display:flex;justify-content:center;align-items:center;margin:var(--space-xl) 0;min-height:600px}@media (max-width: 768px){.stacked-viewer-wrapper{min-height:500px;margin:var(--space-lg) 0}}@media (max-width: 480px){.stacked-viewer-wrapper{min-height:450px;margin:var(--space-md) 0}}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}@media (max-width: 900px){.books-grid{grid-template-columns:repeat(2,1fr)}body{padding:15px}.header h1{font-size:36px}}@media (max-width: 600px){.books-grid{grid-template-columns:1fr}.header h1{font-size:30px}.container{padding:20px 15px}.book-card{max-width:100%}}.landing-features{padding:var(--space-xxl, 64px) 0;background-color:var(--bg)}.feature-section{display:flex;align-items:center;gap:var(--space-xl, 32px);margin-bottom:var(--space-xxl, 64px);flex-wrap:wrap;background:var(--card-bg);border-radius:16px;padding:40px;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.feature-section:last-child{margin-bottom:0}.feature-section.reverse{flex-direction:row-reverse}.feature-text{flex:1;min-width:300px;position:relative}.feature-badge{display:inline-block;padding:6px 12px;background:var(--accent-cool);color:#fff;border-radius:6px;font-size:12px;font-weight:600;margin-bottom:16px;letter-spacing:.5px;text-transform:uppercase}.feature-badge:empty{display:none}.feature-text h2{font-family:Playfair Display,serif;font-size:28px;margin-bottom:var(--space-md, 16px);color:var(--text-primary)}.feature-text p{font-family:Source Sans Pro,sans-serif;font-size:16px;line-height:1.6;color:var(--text-primary);opacity:.85;margin-bottom:24px}.feature-actions{margin-top:20px}.feature-link{display:inline-flex;align-items:center;color:var(--brand-primary);font-weight:600;text-decoration:none;font-size:16px;transition:var(--transition-fast)}.feature-link:hover{color:var(--accent-warm)}.feature-link svg{margin-left:8px;transition:transform .2s}.feature-link:hover svg{transform:translate(4px)}.feature-image{flex:1;min-width:300px}.feature-image-placeholder{background-color:#6b5b951a;border-radius:12px;height:300px;display:flex;align-items:center;justify-content:center;color:var(--brand-primary);box-shadow:var(--shadow-sm);transition:var(--transition-med);overflow:hidden;position:relative}.feature-image-placeholder:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fff0,#ffffff1a);pointer-events:none}.premium-image .feature-image-placeholder{background:linear-gradient(135deg,#f8f8f8,#e8d8a7);box-shadow:0 10px 30px #d99c7a1a}.premium-image .feature-image-placeholder svg{color:#c9853b}.landing-testimonials{background-color:#211f1e;color:#fff;padding:var(--space-xxl, 64px) 0}.testimonials-header{text-align:center;font-family:Playfair Display,serif;font-size:36px;margin-bottom:10px;color:#fff}.testimonials-subtitle{text-align:center;color:#ffffffb3;font-size:18px;margin-bottom:40px}.faq-section{padding:var(--space-xxl, 64px) 0;background-color:var(--bg)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-top:40px}.faq-item{background:var(--card-bg);border-radius:8px;padding:24px;box-shadow:var(--shadow-sm);transition:var(--transition-med);border:1px solid var(--border-light)}.faq-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.faq-item h3{font-family:Playfair Display,serif;font-size:18px;margin-bottom:12px;color:var(--text-primary)}.faq-item p{font-size:15px;line-height:1.6;color:var(--text-primary);opacity:.8}.landing-cta-section{text-align:center;padding:var(--space-xxl, 64px) 0;background:linear-gradient(180deg,var(--card-bg),var(--bg));position:relative}.landing-cta-section h2{font-family:Playfair Display,serif;font-size:36px;margin-bottom:var(--space-sm, 8px)}.landing-cta-section p{font-family:Source Sans Pro,sans-serif;font-size:18px;margin-bottom:var(--space-lg, 24px);opacity:.85}.final-cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.landing-hero{padding:var(--space-xl, 32px) 0}.landing-hero h1{font-size:32px}.landing-subtitle{font-size:16px}.feature-section{flex-direction:column;padding:24px}.feature-section.reverse{flex-direction:column}.feature-text,.feature-image{width:100%}.faq-grid,.included-features-grid{grid-template-columns:1fr}}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links,.nav-buttons{display:none}.nav-links.open,.nav-buttons.open{display:flex;flex-direction:column;width:100%;margin-top:var(--space-md, 16px)}.nav-content{flex-direction:column;align-items:flex-start}.nav-logo-mobile{display:flex;justify-content:space-between;width:100%;align-items:center}}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}.landing-nav{padding:var(--space-md, 16px) 0;position:fixed;top:0;left:0;right:0;width:100%;z-index:999;background:#ffffff2e;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1.5px solid rgba(255,255,255,.35);box-shadow:0 2px 24px #50507814;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);transform:translateY(0);opacity:1}.landing-nav.scrolled{padding:8px 0;background:#fffffff2;top:16px;left:0;right:0;width:min(600px,calc(100% - 32px));margin:0 auto;border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #0000001a;transform:translateY(0);opacity:1;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.landing-nav .landing-container{max-width:1100px;margin:0 auto;width:100%}.landing-nav.hidden,.landing-nav.scrolled.hidden{transform:translateY(-100%);opacity:0}.nav-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-md, 16px);width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-lg, 24px)}.landing-nav.scrolled .nav-content{padding:0 var(--space-md, 16px);gap:var(--space-md, 16px);grid-template-columns:auto 1fr auto}.nav-logo-mobile{grid-column:1 / 2;justify-self:start}.nav-links{grid-column:2 / 3;justify-self:center}.nav-buttons{grid-column:3 / 4;justify-self:end;display:flex;gap:var(--space-sm, 8px)}.nav-logo a{font-family:Playfair Display,serif;font-weight:700;font-size:24px;color:var(--text-primary);text-decoration:none;display:flex;align-items:center;gap:var(--space-xs, 4px);text-shadow:0 2px 8px rgba(0,0,0,.18)}.landing-nav.scrolled .nav-logo a{font-size:20px;text-shadow:0 2px 6px rgba(0,0,0,.12)}.nav-logo-icon{color:var(--accent-warm);font-size:1.1em}.nav-logo-text{display:inline-flex;gap:2px;align-items:baseline}.nav-logo-text span{color:var(--accent-warm)}.nav-links{display:flex;gap:var(--space-lg, 24px);align-items:center}.landing-nav.scrolled .nav-links{display:none}.nav-link{font-family:Inter,sans-serif;font-size:15px;color:var(--text-primary);text-decoration:none;transition:opacity .2s ease,transform .2s ease;opacity:.8;text-shadow:0 2px 8px rgba(0,0,0,.15)}.landing-nav.scrolled .nav-link{font-size:14px;text-shadow:0 2px 6px rgba(0,0,0,.1)}.nav-link:hover{opacity:1;transform:translateY(-1px)}.nav-buttons{display:flex;gap:var(--space-sm, 8px)}.nav-button{padding:var(--space-xs, 4px) var(--space-md, 16px);font-family:Inter,sans-serif;font-size:14px;text-decoration:none;border-radius:6px;transition:opacity .2s ease,transform .2s ease,background-color .2s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);text-shadow:0 2px 8px rgba(0,0,0,.13)}.landing-nav.scrolled .nav-button{padding:var(--space-xs, 4px) var(--space-sm, 12px);font-size:13px;border-radius:8px}.nav-button:not(.primary){opacity:.8}.nav-button:not(.primary):hover{opacity:1;transform:translateY(-1px)}.nav-button.primary{background-color:var(--accent-warm);color:#fff}.nav-button.primary:hover{background-color:#5a4b80;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.user-info{display:flex;align-items:center;gap:var(--space-xs, 4px)}.user-greeting{font-family:Inter,sans-serif;font-size:14px;color:var(--text-primary);opacity:.9;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.12)}.logout-button{background:none;border:1px solid rgba(107,91,149,.2);cursor:pointer;color:var(--text-primary);opacity:.8}.logout-button:hover{opacity:1;border-color:var(--accent-warm);color:var(--accent-warm);transform:translateY(-1px)}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:24px}@media (max-width: 768px){.mobile-menu-toggle{display:block}.landing-nav.scrolled{width:calc(100% - 24px);top:12px;border-radius:16px}.landing-nav.hidden,.landing-nav.scrolled.hidden{transform:translateY(-100%)}.nav-content{display:flex;flex-direction:column;padding:0 var(--space-md, 16px)}.landing-nav.scrolled .nav-content{padding:0 var(--space-sm, 12px)}.nav-links,.nav-buttons{display:none;width:100%}.nav-links.open,.nav-buttons.open{display:flex;flex-direction:column;width:100%;margin-top:var(--space-md, 16px);align-items:center}.nav-logo-mobile{display:flex;justify-content:space-between;width:100%;align-items:center}.nav-links.open{gap:var(--space-lg, 24px)}.nav-buttons.open{gap:var(--space-md, 16px)}.user-info{order:-1;margin-bottom:var(--space-sm, 8px)}.user-greeting{font-size:16px}}.nav-button.skeleton{height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;pointer-events:none}.user-greeting .react-loading-skeleton{vertical-align:middle}.user-greeting{min-width:60px}.nav-button{min-width:80px}.footer{margin-top:clamp(64px,10vw,140px);padding:clamp(64px,8vw,128px) 0;background:linear-gradient(180deg,#f7f8fb,#fff);position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(255,107,74,.08),transparent 45%),radial-gradient(circle at 80% 0%,rgba(102,153,255,.08),transparent 40%);pointer-events:none;z-index:0}.footer-glow{position:absolute;width:480px;height:480px;background:radial-gradient(circle,rgba(255,107,74,.15),transparent 60%);top:-160px;right:-120px;filter:blur(60px);opacity:.7;z-index:0}.footer-content{position:relative;z-index:1;width:min(1200px,90vw);margin:0 auto;display:flex;flex-direction:column;gap:clamp(48px,6vw,80px)}.footer-story{text-align:center;max-width:720px;margin:0 auto}.footer-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:#0f172a80;margin-bottom:var(--space-sm)}.footer-story h3{font-family:Playfair Display,serif;font-size:clamp(32px,4vw,44px);margin:0 0 var(--space-sm);color:var(--text-primary)}.footer-story p{margin:0 auto;font-size:16px;line-height:1.7;color:#0f172abf;max-width:560px}.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px)}.footer-brand p{margin:var(--space-sm) 0 var(--space-md);color:#0f172ab3;line-height:1.6}.footer-logo{font-size:28px;font-weight:700;font-family:Playfair Display,serif;color:var(--text-primary)}.footer-logo span{color:var(--accent-warm)}.footer-highlights{display:flex;flex-wrap:wrap;gap:8px}.footer-highlights span{padding:6px 14px;border-radius:999px;font-size:12px;color:#0f172acc;background:#0f172a12}.footer-column ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.footer-column-title{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:#0f172a8c;margin-bottom:18px}.footer-column li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid rgba(15,23,42,.07)}.footer-column li svg{color:#0f172a40;font-size:12px}.footer-inline-link{text-decoration:none;color:var(--text-primary);font-weight:500;font-size:15px}.footer-inline-link:hover{color:var(--accent-warm)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid rgba(15,23,42,.08);flex-wrap:wrap}.footer-bottom p{margin:0;color:#0f172a99;font-size:14px}.footer-bottom-links{display:flex;gap:var(--space-md);flex-wrap:wrap}.footer-bottom-links a{text-decoration:none;color:#0f172ab3;font-size:14px}.footer-bottom-links a:hover{color:var(--accent-warm)}@media (max-width: 1024px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr}.footer-column li{border-bottom:none}}@media (max-width: 480px){.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom-links{width:100%;justify-content:space-between}}.section-navigation{position:fixed;right:32px;top:50%;transform:translateY(-50%);z-index:1000;pointer-events:none}.section-dots{display:flex;flex-direction:column;gap:var(--space-md);pointer-events:auto}.dot-container{position:relative;display:flex;align-items:center;justify-content:flex-end}.section-dot{width:10px;height:10px;border-radius:50%;background:#fff9;border:2px solid rgba(46,111,167,.5);cursor:pointer;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a}.section-dot:hover{background:#ffffffe6;border-color:var(--brand-primary);transform:scale(1.2)}.section-dot:focus{outline:2px solid var(--accent-warm);outline-offset:4px}.section-dot.active{background:var(--accent-warm);width:14px;height:14px;border-color:var(--accent-warm);box-shadow:0 2px 12px #ff6b4a66}.section-tooltip{position:absolute;right:calc(100% + 12px);background:var(--card-bg);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;border:1px solid rgba(46,111,167,.2)}@media (max-width: 768px){.section-navigation{right:auto;left:50%;top:90px;transform:translate(-50%)}.section-dots{flex-direction:row;gap:var(--space-sm)}.section-dot{width:10px;height:10px}.section-dot.active{width:12px;height:12px}.section-tooltip{display:none}}@media (max-width: 480px){.section-navigation{display:none}}.landing-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:linear-gradient(180deg,#fafbfcf2,#fafbfc4d 15%,#fafbfc00,#fafbfc4d 85%,#fafbfcf2);overflow:hidden;padding:100px 24px 40px}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 100% at 50% 50%,transparent 40%,rgba(250,251,252,.6) 70%,rgba(250,251,252,.95) 100%),linear-gradient(180deg,rgba(255,255,255,.8) 0%,transparent 12%,transparent 88%,rgba(255,255,255,.8) 100%);border-radius:24px;mix-blend-mode:normal}.landing-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(to right,rgba(250,251,252,.9) 0%,transparent 8%,transparent 92%,rgba(250,251,252,.9) 100%);border-radius:24px}@media (max-width: 768px){.landing-hero{min-height:100dvh;padding:90px 16px 40px}}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.55;border-radius:24px;will-change:transform;transform:translateZ(0);backface-visibility:hidden;filter:brightness(1.05) contrast(.95) saturate(1.1)}.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;opacity:.55;border-radius:24px;will-change:transform;transform:translateZ(0);backface-visibility:hidden;filter:brightness(1.05) contrast(.95) saturate(1.1)}.landing-hero .landing-container{position:relative;z-index:3;width:100%;max-width:900px;padding:0 24px}.landing-hero .landing-content{position:relative;z-index:4;transform:translateZ(0);text-shadow:0 2px 12px rgba(255,255,255,.3),0 1px 3px rgba(0,0,0,.1)}.landing-hero h1{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,56px);line-height:1.2;margin-bottom:var(--space-lg, 24px);letter-spacing:-.02em;filter:drop-shadow(0 2px 8px rgba(255,255,255,.4))}} .landing-title-start,.landing-title-end{color:var(--text-primary)}.landing-title-accent{color:var(--accent-warm);font-weight:700}.landing-title-highlight{color:var(--brand-primary);font-weight:700}.landing-subtitle{font-family:Merriweather,serif;font-size:20px;line-height:1.6;margin-bottom:var(--space-xl, 32px);max-width:700px;margin-left:auto;margin-right:auto;color:var(--text-primary);opacity:.9;text-shadow:0 1px 6px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.08)}.landing-cta-container{display:flex;gap:var(--space-md, 16px);justify-content:center;flex-wrap:wrap;margin-top:var(--space-xl, 32px)}.landing-cta-button{padding:var(--space-md, 16px) var(--space-lg, 24px);font-family:Inter,sans-serif;font-weight:500;font-size:16px;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:180px}.landing-cta-button.primary{background-color:var(--accent-warm);color:#fff;border:none;box-shadow:0 4px 12px #ff6b4a40,0 2px 4px #0000001a,0 0 0 1px #ffffff1a inset;position:relative;overflow:hidden;z-index:1}.landing-cta-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);z-index:-1}.landing-cta-button.primary:hover{background-color:var(--accent-warm-dark);transform:translateY(-2px);box-shadow:0 8px 20px #ff6b4a4d,0 4px 8px #00000026,0 0 0 1px #ffffff26 inset}.landing-cta-button.primary:hover:before{left:100%}.landing-cta-button.secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--brand-primary)}.landing-cta-button.secondary:hover{background-color:#2e6fa70d;transform:translateY(-2px)}.landing-cta-button.outline{background-color:transparent;color:var(--brand-primary);border:1px solid var(--brand-primary)}.landing-cta-button.outline:hover{background-color:#2e6fa70d;transform:translateY(-2px)}.landing-cta-button svg{margin-right:8px}.hero-features{display:flex;justify-content:center;gap:24px;margin-top:24px;flex-wrap:wrap;position:relative;z-index:3}.hero-feature{display:flex;align-items:center;font-size:14px;color:var(--text-primary);opacity:.85;text-shadow:0 1px 4px rgba(255,255,255,.4),0 1px 2px rgba(0,0,0,.06)}.hero-feature svg{margin-right:6px;color:var(--accent-warm)}@media (max-width: 768px){.landing-hero{padding:var(--space-xl, 32px) 0}.landing-hero h1{font-size:32px}.landing-subtitle{font-size:16px}}@media (max-width: 480px){.hero-features{flex-direction:column;align-items:center}.landing-cta-container{flex-direction:column}.landing-cta-button{width:100%;min-width:0;box-sizing:border-box}}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:10;color:var(--text-primary);font-size:28px;opacity:.4;cursor:pointer;transition:opacity .3s ease;filter:drop-shadow(0 2px 6px rgba(255,255,255,.6)) drop-shadow(0 1px 2px rgba(0,0,0,.1))}.scroll-indicator:hover{opacity:.8;filter:drop-shadow(0 3px 8px rgba(255,255,255,.8)) drop-shadow(0 2px 4px rgba(0,0,0,.15))}.about-app-section{background:linear-gradient(135deg,#fafbfc,#fffffff2,#fafbfc);padding:100px 0}.about-content-wrapper{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"cards text" "cards features";gap:100px;align-items:center}.about-text{grid-area:text;display:flex;flex-direction:column;gap:var(--space-xl)}.card-stack-container{grid-area:cards;position:relative;display:flex;flex-direction:column;align-items:center;gap:32px}.card-stack{position:relative;width:100%;max-width:400px;height:520px;perspective:1000px}.book-card-tinder{position:absolute;width:100%;height:100%;border-radius:32px;overflow:hidden;box-shadow:0 20px 60px #0003;pointer-events:none;transform:translateZ(0)}.book-card-tinder.top-card{box-shadow:0 25px 70px #0000004d}.book-card-tinder.background-stack-card{box-shadow:0 10px 30px #00000026}.card-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:40px 40px 46px;color:#fff;position:relative}.book-cover-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:32px}.book-cover-wrapper .book-cover{width:100%;height:100%;object-fit:cover;filter:brightness(.9) saturate(1.05);transition:filter .6s ease;border-radius:inherit}.book-card-tinder.top-card .book-cover-wrapper .book-cover{filter:brightness(1) saturate(1.1)}.cover-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000026,#00000059 55%,#000000a6);pointer-events:none}.book-card-tinder .card-info,.book-card-tinder .genre-tag{position:relative;z-index:2}.genre-tag{position:absolute;top:40px;right:40px;padding:12px 24px;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0000001a}.card-info{margin-top:auto}.card-info h3{font-family:Playfair Display,serif;font-size:36px;font-weight:700;margin-bottom:8px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.3)}.card-info p{font-size:18px;opacity:.95;text-shadow:0 1px 6px rgba(0,0,0,.3)}.swipe-controls{display:flex;gap:24px;justify-content:center;margin-top:12px}.swipe-btn{width:76px;height:76px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;font-size:28px;background:radial-gradient(circle at 30% 20%,#fffffff2,#ffffffbf);box-shadow:0 18px 40px #00000052;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform var(--transition-med),box-shadow var(--transition-med),background var(--transition-med);pointer-events:auto;cursor:pointer;transform:translateY(4px)}.swipe-btn.skip{color:#e74c3c}.swipe-btn.save{color:#2ecc71}.swipe-btn:hover{transform:translateY(0) scale(1.08);box-shadow:0 22px 50px #00000073;background:radial-gradient(circle at 25% 10%,#fff,#ffffffd1)}.features-bento-grid{grid-area:features;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:16px;margin-top:var(--space-md)}.about-main-heading{font-family:Playfair Display,serif;font-size:56px;font-weight:700;line-height:1.15;color:var(--text-primary);margin:0}.about-main-heading .about-highlight-text{color:var(--accent-warm)}.about-description{font-size:19px;line-height:1.7;color:var(--text-secondary);margin:0;max-width:540px}.feature-bento{background:var(--card-bg);border-radius:18px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.03)}.feature-bento--like{background:linear-gradient(135deg,#2ecc710f,#2ecc7100)}.feature-bento--skip{background:linear-gradient(135deg,#e74c3c0f,#e74c3c00)}.feature-bento--wide{grid-column:1 / -1;padding:18px 22px;background:linear-gradient(135deg,#0d8afe0f,#0d8afe00)}.feature-bento-icon{display:flex;align-items:center;justify-content:center}.feature-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:#fff}.feature-icon.swipe-right{background:#2ecc71;box-shadow:0 4px 12px #2ecc7159}.feature-icon.swipe-left{background:#e74c3c;box-shadow:0 4px 12px #e74c3c59}.feature-icon.ai-powered{background:#0d8afe;box-shadow:0 4px 12px #0d8afe59}.feature-bento-text h4{font-family:Inter,sans-serif;font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.feature-bento-text p{margin:0;font-size:14px;color:var(--text-secondary)}@media (max-width: 1024px){.about-content-wrapper{gap:60px}.card-stack{max-width:350px;height:460px}.card-info h3{font-size:30px}.about-main-heading{font-size:48px}.about-description{font-size:17px}}@media (max-width: 768px){.about-app-section{padding:60px 0}.about-content-wrapper{grid-template-columns:1fr;grid-template-areas:"text" "cards" "features";gap:48px}.card-stack{max-width:100%;height:500px}.features-bento-grid{grid-template-columns:1fr}.book-card-tinder{box-shadow:0 10px 30px #00000026}.book-card-tinder.top-card{box-shadow:0 15px 40px #0003}.about-main-heading{font-size:42px}.about-description{font-size:16px;max-width:100%}.features-bento-grid{grid-template-columns:1fr;gap:12px;margin-top:var(--space-md)}.feature-bento{padding:16px 18px}.feature-icon{width:36px;height:36px;font-size:16px}}@media (max-width: 480px){.card-stack{height:420px}.card-content{padding:28px}.card-info h3{font-size:24px}.book-cover-wrapper .book-cover{filter:brightness(.95)}.card-info p{font-size:16px}.genre-tag{top:28px;right:28px;padding:8px 16px;font-size:12px}.swipe-btn{width:56px;height:56px;font-size:20px}.about-main-heading{font-size:36px}.about-description{font-size:15px}.features-bento-grid{gap:10px}.feature-bento-text h4{font-size:15px}}.persona-showcase-section{background:linear-gradient(135deg,#fafbfc99,#fffc);position:relative;padding:80px 0;overflow:hidden}.persona-showcase-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(255,255,255,.3) 70%,rgba(250,251,252,.6) 100%);pointer-events:none;z-index:0}.persona-showcase-section .landing-container{position:relative;z-index:1}.persona-section-header-center{text-align:center;margin-bottom:48px;max-width:800px;margin-left:auto;margin-right:auto}.persona-section-header-center h2{font-family:Playfair Display,serif;font-size:56px;font-weight:700;line-height:1.15;color:var(--text-primary);margin-bottom:12px}.persona-section-header-center .section-subtitle{font-size:16px;line-height:1.7;opacity:.85;max-width:600px;margin:0 auto}.persona-section-header-center .section-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.18em;font-weight:600;color:var(--accent-warm);text-transform:uppercase;margin-bottom:12px}.persona-section-header-center h2 .text-warm{color:var(--accent-warm)}.persona-carousel-wrapper{overflow:hidden;position:relative;width:100vw;margin-top:40px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:32px 0;box-sizing:border-box}.persona-carousel-track{display:flex;gap:20px;will-change:transform}.persona-carousel-card{position:relative;flex-shrink:0;width:250px;height:320px;border-radius:24px;cursor:pointer;overflow:hidden;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease,box-shadow .3s ease;background:#fff;transform:translateZ(0)}.persona-carousel-card:hover{box-shadow:0 12px 32px #0000002e;transform:translate3d(0,-6px,0)}.persona-carousel-card .persona-image-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.persona-carousel-card .persona-image{width:100%;height:100%;object-fit:cover;object-position:center}.persona-carousel-card .persona-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.1) 70%,transparent 100%)}.persona-carousel-content{position:relative;z-index:1;padding:24px;color:#fff}.persona-card-cta-icon{position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;color:#fff;background:#00000059;border:1px solid rgba(255,255,255,.45);box-shadow:0 4px 12px #00000040;transition:transform var(--transition-fast, .2s),opacity var(--transition-fast, .2s)}.persona-carousel-card:hover .persona-card-cta-icon{transform:translateY(-2px) scale(1.05)}.persona-carousel-card.more-card .persona-card-cta-icon{color:var(--text-primary);background:#0000000d;border-color:#00000014;box-shadow:none}.persona-carousel-card .persona-icon-circle{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:28px;box-shadow:0 4px 12px #00000040}.persona-carousel-card h3{font-family:Playfair Display,serif;font-size:20px;font-weight:600;margin-bottom:8px;line-height:1.3;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.persona-carousel-card .persona-preview{font-size:13px;line-height:1.5;color:#fff;opacity:.95;text-shadow:0 1px 4px rgba(0,0,0,.3)}.persona-carousel-card.more-card{background:linear-gradient(135deg,#ff6b4a1a,#ffa34d1a);border:2px dashed rgba(255,107,74,.4)}.persona-carousel-card.more-card .more-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:0}.persona-carousel-card.more-card .persona-carousel-content{color:var(--text-primary);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.persona-carousel-card.more-card h3{color:var(--text-primary);text-shadow:none}.persona-carousel-card.more-card .persona-preview{color:var(--text-primary);opacity:.7;text-shadow:none}.persona-showcase-section .persona-showcase-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffd9;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.persona-showcase-section .persona-showcase-modal{background:#fff;border-radius:var(--radius-lg);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);width:40px;height:40px;border-radius:50%;background:#0000001a;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__close:hover{background:#0003}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light);justify-content:center;text-align:center}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__icon{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__header h2{font-family:Playfair Display,serif;font-size:32px;margin-bottom:var(--space-sm)}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__description{font-size:16px;color:var(--text-primary);opacity:.8;line-height:1.6}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__content{padding:var(--space-xl);text-align:center;display:flex;flex-direction:column;align-items:center}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__section{margin-bottom:var(--space-lg)}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__section h3{font-family:Playfair Display,serif;font-size:20px;color:var(--text-primary);margin-bottom:var(--space-md)}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__section p{font-size:16px;line-height:1.6;color:var(--text-primary);opacity:.8}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__tags{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__tag{padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;display:inline-block}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__tag-secondary{padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;background:#0000000d;color:var(--text-primary);opacity:.7;display:inline-block}@media (max-width: 768px){.persona-showcase-section{padding:60px 0}.persona-section-header-center{margin-bottom:32px}.persona-section-header-center h2{font-size:28px}.persona-carousel-track{gap:14px}.persona-carousel-card{width:210px;height:290px;box-shadow:0 2px 8px #0000001a}.persona-carousel-card:hover{box-shadow:0 6px 16px #00000026}.persona-carousel-content{padding:18px}.persona-carousel-card h3{font-size:18px}.persona-carousel-card .persona-icon-circle{width:48px;height:48px;font-size:24px}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__header{flex-direction:column;text-align:center}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__icon{width:100px;height:100px}.persona-showcase-section .persona-showcase-modal .persona-showcase-modal__header h2{font-size:24px}.persona-showcase-section .persona-showcase-modal{margin:var(--space-md)}}@media (max-width: 480px){.persona-carousel-card{width:180px;height:250px}.persona-bento-card h3{font-size:18px}.persona-preview{font-size:13px}.more-card h3{font-size:18px}.more-card p{font-size:13px}}.free-forever-section{background:linear-gradient(180deg,#fafbfcf2,#ffffffe6 60%,#fafbfcf2);padding:clamp(64px,12vw,120px) 0}.free-section-header{display:none}.free-section-header h2{font-family:Playfair Display,serif;font-size:clamp(32px,4vw,44px);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:16px}.free-section-subtitle{color:var(--text-primary);font-size:18px;line-height:1.7;opacity:.85}.free-hero-card{max-width:1080px;margin:0 auto;border-radius:36px;padding:clamp(40px,5vw,72px);position:relative;overflow:hidden;background:#ffffffe6;border:1px solid rgba(255,255,255,.7);box-shadow:0 45px 90px #0f172a1f;color:var(--text-primary);isolation:isolate}.free-hero-card:before,.free-hero-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.free-hero-card:before{background:radial-gradient(circle at 20% 20%,rgba(255,153,102,.25),transparent 45%),radial-gradient(circle at 80% 0%,rgba(102,153,255,.25),transparent 40%);z-index:0;filter:blur(10px)}.free-hero-card:after{background:linear-gradient(135deg,rgba(255,255,255,.25) 0%,transparent 60%);z-index:0}.free-card-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:clamp(32px,4vw,56px);align-items:start}.free-plan-panel{padding-right:clamp(16px,4vw,48px);border-right:1px solid rgba(15,23,42,.08)}.free-plan-title{font-family:Playfair Display,serif;font-size:56px;font-weight:700;line-height:1.15;color:var(--text-primary);margin-bottom:12px}.free-plan-subtitle{font-size:18px;line-height:1.6;opacity:.85;margin-bottom:32px}.free-price-display{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}.price-main{display:flex;align-items:baseline;gap:6px}.price-main .currency{font-size:28px;font-weight:600;color:var(--accent-warm)}.price-main .amount{font-size:clamp(64px,8vw,86px);font-weight:700;line-height:1}.price-label{text-transform:uppercase;letter-spacing:.15em;font-size:12px;color:var(--text-muted, rgba(15, 23, 42, .6))}.free-price-note{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#0f172aa6;margin-bottom:32px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 24px}.benefit-item{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:var(--text-primary)}.check-icon{width:32px;height:32px;border-radius:50%;background:#ff6b4a26;color:var(--accent-warm);display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,107,74,.2)}.free-meta-panel{display:flex;flex-direction:column;gap:24px;height:100%;justify-content:center}.pricing-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-content:center}.pricing-stat-card{padding:20px;border-radius:20px;background:#fffc;border:1px solid rgba(15,23,42,.06);box-shadow:0 12px 30px #0f172a14;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:100px}.pricing-stat-value{display:block;font-size:32px;font-weight:700;color:var(--brand-primary);margin-bottom:4px;word-break:break-word}.pricing-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0f172ab3;word-break:break-word;line-height:1.3}.cta-wrapper{margin-top:clamp(32px,5vw,56px);text-align:center;position:relative;z-index:1}.free-cta-button{display:inline-flex;align-items:center;gap:12px;padding:18px 40px;border-radius:999px;font-weight:700;font-size:18px;text-decoration:none;background:var(--accent-warm);color:#fff;box-shadow:0 18px 40px #ff6b4a4d;transition:transform .25s ease,box-shadow .25s ease}.free-cta-button:hover{transform:translateY(-3px);box-shadow:0 26px 50px #ff6b4a59}.cta-note{margin-top:16px;font-size:15px;color:#0f172ab3}.free-plan-title .text-warm{color:var(--accent-warm)}@media (max-width: 1024px){.free-card-grid{grid-template-columns:1fr}.free-plan-panel{border-right:none;border-bottom:1px solid rgba(15,23,42,.08);padding-right:0;padding-bottom:32px;margin-bottom:16px}}@media (max-width: 768px){.free-hero-card{padding:36px 24px;border-radius:28px}.stats-grid{grid-template-columns:1fr}.free-price-display{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.free-plan-title{font-size:28px}.benefits-grid{grid-template-columns:1fr}.free-cta-button{width:100%;justify-content:center}}.landing-page{background-color:#fafbfc;color:var(--text-primary);overflow-x:hidden;width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.landing-scroll-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;width:100%}.landing-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;position:relative}#hero.landing-section{padding:0;justify-content:center}.landing-container{max-width:1280px;margin:0 auto;padding:0 40px;width:100%;box-sizing:border-box}.landing-content{max-width:900px;margin:0 auto;position:relative}.section-header{text-align:center;margin-bottom:48px}.section-header h2{font-family:Playfair Display,serif;font-size:42px;color:var(--text-primary);margin-bottom:16px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.section-subtitle{font-size:18px;color:var(--text-primary);opacity:.7;max-width:600px;margin:0 auto;line-height:1.6}.glass-card{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #00000014}.bg-light{background:#fafbfc}.bg-white{background:#fff}@media (max-width: 768px){.landing-container{padding:0 24px}.section-header h2{font-size:32px}.section-subtitle{font-size:16px}.landing-section{min-height:auto;padding:60px 0}#hero.landing-section{min-height:100vh;padding:0}}.sidebar-container{position:fixed;left:0;top:0;height:100vh;z-index:10;pointer-events:none}.sidebar-desktop{height:100%;padding:16px;display:none;flex-direction:column;background:#f5f5f6f2;width:300px;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border-right:1px solid rgba(200,200,200,.3);box-shadow:inset -4px 0 12px #0000000f;pointer-events:all;position:relative}.sidebar-notch{position:absolute;right:-14px;top:50%;transform:translateY(-50%);height:40px;width:28px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:30}.sidebar-notch-button{pointer-events:all;height:36px;width:36px;border-radius:999px;border:none;background:linear-gradient(180deg,#fffffffa,#fafafffa);box-shadow:0 6px 18px #0a14281f,inset 0 -2px 6px #00000008;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;display:inline-flex;align-items:center;justify-content:center;position:relative}.sidebar-notch-button:hover{transform:translate(3px) scale(1.03);box-shadow:0 8px 22px #0a142829}.sidebar-notch-button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.sidebar-notch-button.notch-open{background:linear-gradient(180deg,var(--brand-primary),rgba(46,111,167,.95));color:#fff}.sidebar-notch-button:after{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:10px solid rgba(255,255,255,.98);filter:drop-shadow(-1px 0 0 rgba(0,0,0,.04))}.sidebar-notch-button.notch-open:after{border-left-color:var(--brand-primary)}.notch-icon{font-size:12px;transition:transform .22s cubic-bezier(.2,.9,.2,1),color .18s ease}.sidebar-notch-button.notch-open .notch-icon{transform:rotate(0);color:#fff}.sidebar-notch-button.notch-closed .notch-icon{transform:rotate(0);color:var(--brand-primary)}.sidebar-desktop.is-collapsed{overflow:visible}.sidebar-desktop:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}@media (min-width: 768px){.sidebar-desktop{display:flex}}.sidebar-mobile-header{height:40px;padding:16px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:#f5f5f6f2;width:100%;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border-bottom:1px solid rgba(200,200,200,.3);box-shadow:inset 0 -4px 12px #0000000f;pointer-events:all;position:relative;z-index:11}@media (min-width: 768px){.sidebar-mobile-header{display:none}}.mobile-header-content{display:flex;justify-content:flex-end;z-index:20;width:100%}.mobile-menu-icon{color:#1f2937;cursor:pointer;font-size:18px;padding:8px;border-radius:6px;transition:all .2s ease}.mobile-menu-icon:hover{background:#6b5b951a;color:var(--brand-primary)}.sidebar-mobile-overlay{position:fixed;height:100%;width:100%;top:0;left:0;background:#f5f5f6fa;backdrop-filter:blur(15px) saturate(1.1);-webkit-backdrop-filter:blur(15px) saturate(1.1);padding:40px;z-index:10;display:flex;flex-direction:column;justify-content:space-between;animation:slideInFromLeft .3s ease-out;pointer-events:all}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.mobile-close-button{position:absolute;right:40px;top:40px;z-index:50;color:#1f2937;cursor:pointer;font-size:18px;padding:8px;border-radius:6px;transition:all .2s ease}.mobile-close-button:hover{background:#6b5b951a;color:var(--brand-primary)}.sidebar-body{display:flex;flex-direction:column;justify-content:space-between;gap:40px;height:100%}.sidebar-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-header{margin-bottom:32px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.sidebar-footer{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(200,200,200,.3);padding-top:16px;margin-top:16px}.sidebar-logo{font-family:Playfair Display,serif;display:flex;align-items:center;gap:8px;font-size:14px;color:#000;padding:4px 0;position:relative;z-index:20;cursor:pointer;transition:all .2s ease;background:none;border:none;width:100%;text-align:left}.sidebar-logo:hover{color:var(--brand-primary)}.sidebar-logo:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:4px}.sidebar-logo-icon{display:flex;align-items:center;gap:8px;font-size:14px;color:#000;padding:4px 0;position:relative;z-index:20;cursor:pointer;transition:all .2s ease;background:none;border:none}.sidebar-logo-icon:hover{color:var(--brand-primary)}.sidebar-logo-icon:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:4px}.logo-icon{height:20px;width:24px;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:8px 2px;flex-shrink:0;position:relative;box-shadow:0 2px 8px #2e6fa740}.logo-icon:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent);border-radius:inherit}.logo-text{font-weight:600;color:#000;white-space:nowrap;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),color .2s ease;overflow:hidden}.sidebar-link{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px 0;border-radius:8px;cursor:pointer;transition:background .3s cubic-bezier(.4,0,.2,1),color .2s ease;position:relative;color:#374151;text-decoration:none;-webkit-user-select:none;user-select:none;min-height:40px;background:none;border:none;width:100%;text-align:left;font-family:inherit;font-size:inherit}.sidebar-link:hover{background:#6b5b9514;color:var(--brand-primary)}.sidebar-link:hover .sidebar-link-text,.sidebar-link:hover .sidebar-link-icon{color:var(--brand-primary)}.sidebar-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;background:#6b5b950d}.sidebar-desktop.is-collapsed{width:60px!important}.sidebar-desktop.is-collapsed .sidebar-link-text,.sidebar-desktop.is-collapsed .logo-text{opacity:0;width:0;overflow:hidden;transition:opacity .25s ease-out .1s,width .3s ease-out}.sidebar-desktop.is-open{width:300px!important}.sidebar-desktop.is-open .sidebar-link-text,.sidebar-desktop.is-open .logo-text{opacity:1;width:auto;transition:opacity .3s ease-in .15s,width .3s ease-in}.sidebar-link-icon{display:flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:18px;flex-shrink:0;transition:color .2s ease;min-width:25px;min-height:25px}.sidebar-link-icon svg[data-boring-avatar=true]{border-radius:50%;border:2px solid rgba(107,91,149,.1);transition:all .2s ease}.sidebar-link:hover .sidebar-link-icon svg[data-boring-avatar=true]{border-color:var(--brand-primary);transform:scale(1.1)}.sidebar-link-text{color:#374151;font-size:14px;transition:opacity .3s cubic-bezier(.4,0,.2,1),color .2s ease;white-space:nowrap;margin:0;padding:0;line-height:1.2;overflow:hidden}.sidebar-link.active{background:#6b5b951f;color:var(--brand-primary);position:relative}.sidebar-link.active:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:4px;height:28px;background:var(--brand-primary);border-radius:0 4px 4px 0;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-link.active .sidebar-link-text{color:var(--brand-primary);font-weight:600}.sidebar-link.active .sidebar-link-icon{color:var(--brand-primary)}.sidebar-link.active:hover{background:#6b5b9529}.sidebar-footer .sidebar-link:last-child{color:#dc2626;border-top:1px solid rgba(200,200,200,.2);padding-top:16px;margin-top:8px}.sidebar-footer .sidebar-link:last-child:hover{background:#dc262614;color:#dc2626}.sidebar-footer .sidebar-link:last-child .sidebar-link-text{color:#dc2626}@media (max-width: 768px){.sidebar-container{position:relative;width:100%;height:auto}.sidebar-nav{gap:12px}.sidebar-link{padding:16px 8px}.sidebar-link-text{font-size:16px}.sidebar-link-icon{width:24px;height:24px;font-size:18px}}.sidebar-link-text{transition:all .15s cubic-bezier(.4,0,.2,1)}.sidebar-desktop{transition:width .3s cubic-bezier(.4,0,.2,1)}@media (min-width: 768px){.sidebar-desktop:hover{box-shadow:inset -8px 0 24px #0000001f}}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#6b5b9533;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#6b5b9566}.sidebar-desktop,.sidebar-mobile-overlay{box-shadow:inset -6px 0 20px #00000014,inset 0 -2px 6px #0000000a}.stacked-book-container{position:relative;width:min(90%,clamp(300px,28vw,380px));height:auto;aspect-ratio:2/3;margin:0 auto;max-height:clamp(450px,65vh,570px)}.stacked-book-loading,.stacked-book-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:clamp(300px,50vh,360px);color:var(--text-secondary);font-size:clamp(1rem,2.5vw,1.05rem);gap:var(--space-md)}.stacked-book-loading svg,.stacked-book-empty svg{font-size:2rem;margin-bottom:var(--space-sm)}.books-remaining-counter{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--text-secondary);font-family:Merriweather,serif;font-size:.95rem;font-weight:600;opacity:.9}.books-remaining-counter .counter-icon{font-size:1.1rem;color:var(--accent-warm)}.books-remaining-counter .counter-text{color:var(--text-primary);letter-spacing:.02em}.stacked-book-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xxl);min-height:400px;text-align:center}.complete-icon{font-size:4rem;color:var(--success-color, #10b981);animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.complete-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-heading)}.complete-subtitle{font-size:1rem;color:var(--text-muted);margin:0;max-width:400px}.new-search-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff;border:none;border-radius:var(--radius-lg);font-size:1.125rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition-med);position:relative;overflow:hidden;margin-top:var(--space-md)}.new-search-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.new-search-button:hover:before{left:100%}.new-search-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.new-search-button:active{transform:translateY(-1px)}.new-search-button svg{font-size:1.25rem}.book-card-stack{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-xl);overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;transform:translateZ(0);backface-visibility:hidden}.book-card-stack.is-dragging{cursor:grabbing}.book-card-stack.is-dragging .book-card-cover,.book-card-stack.is-dragging .icon-container{transition:none;will-change:auto}.book-card-stack:active{cursor:grabbing}.book-card-content{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--radius-xl);padding:var(--space-lg)}.book-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--radius-xl);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none;transform:translateZ(0)}.overlay-content{padding:var(--space-lg);text-align:center;max-height:90%;overflow-y:auto;width:100%;display:flex;flex-direction:column;gap:var(--space-md);pointer-events:auto}.overlay-header{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.overlay-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);justify-content:center}.action-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:2px solid;border-radius:var(--radius-lg);background:transparent;cursor:pointer;transition:all var(--transition-med);font-family:Merriweather,serif;font-size:.9rem;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:auto;transform:translateZ(0)}.action-button:hover{background:#ffffff1a;transform:translateY(-2px) translateZ(0);box-shadow:0 4px 12px #0000004d}.action-button:active{transform:translateY(0) translateZ(0)}.action-button svg{font-size:1.1rem}.like-button:hover{border-color:#4caf50cc;color:#4caf50}.dislike-button:hover{border-color:#f44336cc;color:#f44336}.genre-icon{font-size:1.2rem;opacity:.9}.overlay-title{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;opacity:.95;text-shadow:0 1px 3px rgba(0,0,0,.3)}.overlay-description{flex:1;display:flex;align-items:center;justify-content:center}.overlay-description p{font-family:Merriweather,serif;font-size:.95rem;line-height:1.6;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.4);max-height:200px;overflow-y:auto;padding-right:var(--space-xs)}.overlay-footer{margin-top:var(--space-sm)}.hover-hint{font-size:.8rem;opacity:.7;font-style:italic;text-shadow:0 1px 2px rgba(0,0,0,.3)}.book-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.genre-indicator,.rating-indicator{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:transform var(--transition-med);transform:translateZ(0)}.genre-indicator svg,.rating-indicator svg{width:20px;height:20px;opacity:.8}.book-card-cover{width:100%;height:clamp(126px,20vh,180px);border-radius:var(--radius-lg);background-size:cover;background-position:center;background-repeat:no-repeat;transition:transform var(--transition-med);transform:translateZ(0)}.book-card-footer{margin-top:auto;padding-top:var(--space-md)}.rating-badge{display:inline-flex;align-items:center;gap:.25rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:.9rem;font-weight:500;margin-bottom:var(--space-md)}.rating-badge svg{width:16px;height:16px}.book-card-description{font-size:.9rem;line-height:1.5;opacity:.85;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.2)}.drag-indicator{position:absolute;bottom:var(--space-sm);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.drag-indicator-bar{height:4px;width:40px;border-radius:2px}.icon-container{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:transform var(--transition-med);transform:translateZ(0)}@media (max-width: 768px){.stacked-book-container{width:min(85%,clamp(320px,35vw,350px));max-height:clamp(480px,60vh,525px)}.book-card-title{font-size:clamp(1.4rem,4.2vw,1.6rem)}.book-card-author{font-size:clamp(1rem,2.8vw,1.1rem)}.book-card-content,.overlay-content{padding:clamp(var(--space-md),3.5vw,var(--space-lg))}.overlay-title{font-size:clamp(1rem,3vw,1.1rem)}.overlay-description p{font-size:clamp(.9rem,2.5vw,.95rem)}.overlay-actions{gap:clamp(var(--space-sm),2.5vw,var(--space-md))}.action-button{padding:clamp(var(--space-xs),2vw,var(--space-sm)) clamp(var(--space-sm),3vw,var(--space-md));font-size:clamp(.85rem,2.5vw,.9rem)}}@media (max-width: 480px){.stacked-book-container{width:min(95%,clamp(280px,40vw,320px));max-height:clamp(420px,55vh,480px)}.book-card-title{font-size:clamp(1.3rem,5.2vw,1.4rem);line-height:1.15}.book-card-author{font-size:clamp(.95rem,3.2vw,1.05rem)}.book-card-content{padding:clamp(var(--space-sm),3vw,var(--space-md))}.icon-container{width:clamp(32px,8.5vw,36px);height:clamp(32px,8.5vw,36px)}.icon-container svg{width:clamp(16px,4.2vw,18px);height:clamp(16px,4.2vw,18px)}.book-card-cover{height:clamp(140px,22vh,200px)}.book-card-description{font-size:clamp(.85rem,2.8vw,.9rem);line-height:1.4}.overlay-content{padding:clamp(var(--space-sm),3vw,var(--space-md));gap:clamp(var(--space-sm),2.5vw,var(--space-md))}.overlay-title{font-size:clamp(.95rem,3.2vw,1rem)}.overlay-description p{font-size:clamp(.85rem,2.8vw,.9rem);line-height:1.5;max-height:150px}.hover-hint{font-size:clamp(.75rem,2.2vw,.8rem)}.overlay-actions{flex-direction:column;gap:clamp(var(--space-xs),2vw,var(--space-sm))}.action-button{padding:clamp(var(--space-xs),2.5vw,var(--space-sm)) clamp(var(--space-sm),3.5vw,var(--space-md));font-size:clamp(.8rem,2.8vw,.85rem)}}.book-card-stack:hover:not(.is-dragging) .book-card-cover{transform:scale(1.02)}.book-card-stack:hover:not(.is-dragging){transform:translateY(-2px) translateZ(0);transition:transform .2s ease-out}.icon-container:hover{transform:scale(1.1) translateZ(0)}.book-card-stack.is-dragging:hover,.book-card-stack.is-dragging .book-card-cover{transform:none}.overlay-description p::-webkit-scrollbar{width:4px}.overlay-description p::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.overlay-description p::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.overlay-description p::-webkit-scrollbar-thumb:hover{background:#ffffff80}.stacked-book-loading svg{color:var(--accent-cool)}.stacked-book-empty svg{color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.book-card-stack,.book-card-cover,.icon-container,.action-button,.swipe-indicator{transition:none}.drag-indicator-bar{animation:none}.book-card-overlay{transition:opacity .1s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.book-card-stack:hover{transform:none}.demo-card-overlay,.swipe-overlay-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}.book-card-stack:focus{outline:2px solid var(--accent-cool);outline-offset:2px}.book-card-stack:focus-visible{outline:2px solid var(--accent-cool);outline-offset:2px}.book-card-stack:focus .book-card-overlay{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@media (prefers-contrast: high){.book-card-content{border:2px solid currentColor}.icon-container{border:1px solid currentColor}.book-card-overlay{border:1px solid currentColor;background:#000c!important}}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-lg);border-radius:var(--radius-xl);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:15;transform:translateY(-50%) translateZ(0)}.swipe-indicator-right{right:var(--space-md);background:linear-gradient(135deg,#4caf5026,#4caf5040);border:2px solid rgba(76,175,80,.5);box-shadow:0 0 30px #4caf5066,inset 0 0 20px #4caf5033}.swipe-indicator-left{left:var(--space-md);background:linear-gradient(135deg,#f4433626,#f4433640);border:2px solid rgba(244,67,54,.5);box-shadow:0 0 30px #f4433666,inset 0 0 20px #f4433633}.swipe-indicator .indicator-icon{font-size:3rem;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.swipe-indicator-right .indicator-icon{color:#4caf50}.swipe-indicator-left .indicator-icon{color:#f44336}.swipe-indicator .indicator-text{font-size:1.2rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);font-family:Merriweather,serif}@media (max-width: 768px){.swipe-indicator{padding:var(--space-md)}.swipe-indicator .indicator-icon{font-size:2.5rem}.swipe-indicator .indicator-text{font-size:1rem}}@media (max-width: 480px){.swipe-indicator{padding:var(--space-sm)}.swipe-indicator .indicator-icon{font-size:2rem}.swipe-indicator .indicator-text{font-size:.9rem}}.swipe-instructions-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;border-radius:var(--radius-xl);cursor:pointer;padding:var(--space-lg)}.swipe-instructions-content{background:linear-gradient(135deg,#2e6fa7e0,#578cb2d9);padding:var(--space-xl) var(--space-xxl);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #0006;border:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);max-width:480px;width:auto}.instruction-title{font-family:Merriweather,serif;font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0;text-align:center}.instruction-mockup{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-xl);margin:var(--space-lg) 0}.mock-book-card{width:180px;height:260px;background:linear-gradient(135deg,#2a3f5f,#1a2332);border-radius:var(--radius-md);box-shadow:0 10px 30px #0009,inset 0 2px 8px #ffffff1a;border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);position:relative;overflow:hidden}.mock-book-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);animation:book-shine 3s ease-in-out infinite}@keyframes book-shine{0%,to{transform:translate(-100%) translateY(-100%)}50%{transform:translate(100%) translateY(100%)}}.mock-book-cover{font-size:3rem;color:var(--accent-warm);filter:drop-shadow(0 4px 8px rgba(0,0,0,.4));margin-bottom:var(--space-md)}.mock-book-title{font-family:Merriweather,serif;font-size:.9rem;font-weight:700;color:#fff;text-align:center;margin:var(--space-sm) 0 var(--space-xs)}.mock-book-author{font-family:Merriweather,serif;font-size:.75rem;color:#ffffffb3;text-align:center;font-style:italic}.swipe-demo-left,.swipe-demo-right{position:absolute;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);font-size:2.5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.swipe-demo-left{left:-60px;color:#f44336}.swipe-demo-right{right:-60px;color:#4caf50}.swipe-demo-label{font-family:Merriweather,serif;font-size:.9rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);background:linear-gradient(135deg,#0006,#00000080);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full)}.instruction-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%}.instruction-action-item{display:flex;align-items:center;gap:var(--space-md);background:#ffffff1a;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15)}.action-icon-wrapper{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.action-icon-wrapper.like{background:linear-gradient(135deg,#4caf504d,#4caf5066);color:#4caf50;border:2px solid rgba(76,175,80,.5)}.action-icon-wrapper.dislike{background:linear-gradient(135deg,#f443364d,#f4433666);color:#f44336;border:2px solid rgba(244,67,54,.5)}.action-text{font-family:Merriweather,serif;font-size:1rem;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.4)}.action-arrow{margin-left:auto;color:#fff9;font-size:1rem}.instruction-hint{font-size:.9rem;color:#fffc;font-style:italic;margin:var(--space-sm) 0 0;text-shadow:0 1px 4px rgba(0,0,0,.4);text-align:center}@media (max-width: 768px){.swipe-instructions-overlay{padding:var(--space-lg)}.swipe-instructions-content{padding:var(--space-xl);max-width:90%}.instruction-title{font-size:1.5rem}.mock-book-card{width:150px;height:220px}.mock-book-cover{font-size:2.5rem}.mock-book-title{font-size:.85rem}.mock-book-author{font-size:.7rem}.swipe-demo-left,.swipe-demo-right{font-size:2rem}.swipe-demo-left{left:-50px}.swipe-demo-right{right:-50px}.swipe-demo-label{font-size:.8rem}.action-text{font-size:.95rem}.instruction-hint{font-size:.85rem}}@media (max-width: 480px){.swipe-instructions-overlay{padding:var(--space-md)}.swipe-instructions-content{padding:var(--space-lg);max-width:95%}.instruction-title{font-size:1.3rem}.mock-book-card{width:120px;height:180px;padding:var(--space-md)}.mock-book-cover{font-size:2rem}.mock-book-title{font-size:.75rem}.mock-book-author{font-size:.65rem}.swipe-demo-left,.swipe-demo-right{font-size:1.5rem}.swipe-demo-left{left:-40px}.swipe-demo-right{right:-40px}.swipe-demo-label{font-size:.7rem;padding:var(--space-xs) var(--space-sm)}.instruction-action-item{padding:var(--space-sm) var(--space-md)}.action-icon-wrapper{width:35px;height:35px;font-size:1.1rem}.action-text{font-size:.85rem}.instruction-hint{font-size:.75rem}}.swipe-overlay-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.instruction-book-card{position:relative;width:320px;height:480px;cursor:default;perspective:1000px;flex-shrink:0}.demo-card-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--radius-xl);overflow:hidden;transform-origin:center center;will-change:transform}.demo-card-content{position:relative;display:flex;flex-direction:column;height:100%;border-radius:var(--radius-xl);padding:var(--space-md);background:linear-gradient(135deg,#1a2332fa,#2a3f5ff2);box-shadow:0 25px 60px #0009,0 10px 30px #0006,inset 0 2px 8px #ffffff1a;border:1px solid rgba(255,255,255,.2)}.demo-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--radius-xl);backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);background:linear-gradient(to bottom,#ffffff08,#ffffff03);pointer-events:none;z-index:1}.demo-card-cover{position:relative;width:100%;aspect-ratio:2/3;border-radius:var(--radius-lg);background:linear-gradient(135deg,#1a2332,#2a3f5f);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);box-shadow:0 8px 24px #00000080;z-index:2;overflow:hidden}.demo-cover-icon{font-size:4rem;color:var(--accent-warm);opacity:.6;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.demo-card-info{position:relative;z-index:2;margin-bottom:var(--space-sm)}.demo-card-title{font-family:Merriweather,serif;font-size:clamp(1.3rem,3vw,1.5rem);font-weight:700;color:#fff;margin:0 0 var(--space-xs) 0;line-height:1.3;text-shadow:0 2px 8px rgba(0,0,0,.6)}.demo-card-author{font-family:Merriweather,serif;font-size:clamp(.95rem,2vw,1.1rem);font-weight:400;color:#fffc;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.5)}.demo-card-badges{position:relative;z-index:2;display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.demo-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:linear-gradient(135deg,#578cb24d,#578cb233);border-radius:var(--radius-full);font-size:.85rem;color:#ffffffe6;border:1px solid rgba(87,140,178,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.demo-card-description{position:relative;z-index:2;font-size:clamp(.9rem,2vw,1rem);line-height:1.6;color:#ffffffd9;margin:0;flex:1;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.4)}.swipe-explanation{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-sm);max-width:220px;z-index:10;transition:transform .3s ease-out,opacity .3s ease-out}.swipe-explanation-left{left:-320px;align-items:flex-end;text-align:right}.swipe-explanation-right{right:-320px;align-items:flex-start;text-align:left}.swipe-explanation-title{font-family:Merriweather,serif;font-size:1.3rem;font-weight:700;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.9);margin:0 0 var(--space-xs) 0;display:flex;align-items:center;gap:var(--space-sm)}.swipe-explanation-title svg{font-size:1.5rem;filter:drop-shadow(0 3px 8px rgba(0,0,0,.7))}.swipe-explanation-left .swipe-explanation-title{flex-direction:row-reverse;color:#f44336}.swipe-explanation-right .swipe-explanation-title{color:#4caf50}.swipe-explanation-text{font-family:Merriweather,serif;font-size:1rem;line-height:1.6;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.8);background:#00000080;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15)}.instruction-text-overlay{position:fixed;bottom:clamp(40px,8vh,80px);transform:translate(-50%);text-align:center;z-index:100;width:100%;max-width:90%;display:flex;justify-content:center}.instruction-hint-text{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:600;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.9);margin:-10px;background:#0009;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);white-space:nowrap;max-width:100%}@media (max-width: 768px){.instruction-book-card{width:280px;height:420px}.swipe-explanation{display:none}.instruction-text-overlay{bottom:30px}}@media (max-width: 480px){.instruction-book-card{width:280px;height:420px}.swipe-explanation{display:none}.demo-card-description{font-size:.85rem}.instruction-text-overlay{bottom:20px}.instruction-hint-text{font-size:.9rem;padding:var(--space-sm) var(--space-md)}.books-remaining-counter{font-size:.85rem;margin-bottom:var(--space-md)}}.glow-container{position:absolute;width:100%;pointer-events:none;z-index:0}.glow-variant-top{top:0}.glow-variant-above{top:-128px}.glow-variant-bottom{bottom:0}.glow-variant-below{bottom:-128px}.glow-variant-center{top:50%}.glow-outer{position:absolute;left:50%;height:160px;width:75%;transform:translate(-50%) scale(1.6);border-radius:50%;background:radial-gradient(ellipse at center,#2e6fa780 10%,#2e6fa700 60%);filter:blur(6px)}.glow-inner{position:absolute;left:50%;height:96px;width:30%;transform:translate(-50%) scale(1.4);border-radius:50%;background:radial-gradient(ellipse at center,#2e6fa780 10%,#2e6fa700 60%);filter:blur(4px)}.glow-center-transform{transform:translate(-50%) translateY(-50%) scale(2.5)}.glow-inner.glow-center-transform{transform:translate(-50%) translateY(-50%) scale(1.8)}@keyframes appear-zoom{0%{opacity:0;transform:translate(-50%) translateY(-50%) scale(.9)}60%{opacity:1;transform:translate(-50%) translateY(-50%) scale(1.05)}to{opacity:1;transform:translate(-50%) translateY(-50%) scale(1)}}.animate-appear-zoom{animation-name:appear-zoom;animation-duration:.7s;animation-timing-function:cubic-bezier(.2,.9,.2,1);animation-fill-mode:forwards}.animation-delay-1000ms{animation-delay:1s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation-name:fade-in;animation-duration:2s;animation-delay:1s;animation-timing-function:cubic-bezier(.2,.9,.2,1);animation-fill-mode:forwards}.opacity-0{opacity:0}@media (min-width: 640px){.glow-outer{height:500px}.glow-inner{height:300px}}.explore-page{background:linear-gradient(135deg,var(--bg) 0%,var(--card-bg) 100%);color:var(--text-primary);overflow-x:hidden;width:100%;min-height:100vh;position:relative;display:flex}.explore-page-content{flex:1;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);min-height:100vh;width:100%;position:relative;overflow-x:hidden}body.sidebar-expanded .explore-page-content{margin-left:300px!important;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.explore-container{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}body.sidebar-expanded .explore-page-content:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.01) 300px,transparent 400px);pointer-events:none;z-index:0;transition:opacity .3s ease;opacity:1}body.sidebar-expanded .explore-main{transition:padding-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .section-header,body.sidebar-expanded .explore-welcome-section,body.sidebar-expanded .recommended-section,body.sidebar-expanded .get-started-section,body.sidebar-expanded .quick-access-section{transition:transform .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .section-header{transform:translate(-2px)}body.sidebar-expanded .explore-welcome-section,body.sidebar-expanded .recommended-section,body.sidebar-expanded .get-started-section,body.sidebar-expanded .quick-access-section{transform:translate(-1px)}@media (min-width: 768px){.explore-page-content{margin-left:60px}body.sidebar-expanded .explore-page-content{margin-left:300px!important}body.sidebar-expanded .explore-container{transform:scale(.98);max-width:1100px}}@media (max-width: 767px){.explore-page-content,body.sidebar-expanded .explore-page-content{margin-left:0!important}body.sidebar-expanded .explore-container{transform:none}body.sidebar-expanded .explore-page-content:before{display:none}body.sidebar-expanded .section-header,body.sidebar-expanded .welcome-section,body.sidebar-expanded .recommended-section,body.sidebar-expanded .get-started-section,body.sidebar-expanded .quick-access-section{transform:none}}.explore-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(46,111,167,.05) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(13,138,254,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.explore-main{padding-top:40px;position:relative;z-index:1;transition:padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.explore-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);width:100%;box-sizing:border-box;transition:max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.explore-page .explore-welcome-section{padding:var(--space-xl) 0 0;text-align:left!important;margin-bottom:50px;display:block!important;transition:padding .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.welcome-content{background:var(--glass-bg-light);border-radius:20px;padding:var(--space-xl);box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05)}.welcome-title{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin-bottom:var(--space-md);color:var(--text-primary);font-weight:700}.welcome-subtitle{font-family:Merriweather,serif;font-size:1.125rem;line-height:1.6;color:var(--text-secondary);max-width:600px;margin:0}.welcome-ai-button{margin-top:var(--space-lg);font-size:16px;padding:14px 28px;display:inline-block;margin-left:0;margin-right:0}.explore-header{padding:var(--space-xxl) 0;text-align:center;position:relative;background:linear-gradient(180deg,#fff6,#fff0);border-bottom:1px solid rgba(107,91,149,.1);overflow:hidden}.explore-decorations{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:0}.explore-decoration{position:absolute;opacity:.08;color:var(--brand-primary)}.explore-decoration-left{left:5%;top:30%;font-size:4rem;transform:rotate(-15deg)}.explore-decoration-right{right:5%;top:20%;font-size:5rem;transform:rotate(15deg)}.explore-decoration-bottom{bottom:10%;left:50%;font-size:3rem;transform:translate(-50%) rotate(5deg)}.explore-title{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,56px);line-height:1.2;margin-bottom:var(--space-lg);letter-spacing:-.02em;color:var(--text-primary)}.explore-subtitle{font-family:Merriweather,serif;font-size:20px;line-height:1.6;margin-bottom:var(--space-xl);color:var(--text-primary);opacity:.85;max-width:700px;margin-left:auto;margin-right:auto}.explore-content{background:var(--glass-bg);border-radius:16px;padding:var(--space-xl);box-shadow:var(--glass-shadow);margin-bottom:var(--space-xxl);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05);position:relative;z-index:1}.search-container{max-width:700px;margin:0 auto var(--space-xl)}.search-form-wrapper{position:relative;z-index:2;margin-top:-40px}.book-list-container{margin-top:var(--space-xl)}.section-header{margin-bottom:calc(var(--space-lg) * 1.5);transition:margin .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.section-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);transition:font-size .3s cubic-bezier(.4,0,.2,1),gap .3s cubic-bezier(.4,0,.2,1)}.section-title svg{color:var(--brand-primary);font-size:1.5rem;opacity:.8;transition:font-size .3s cubic-bezier(.4,0,.2,1)}.recommended-section{margin-bottom:calc(var(--space-xxl) * 1.25);transition:margin .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.loading-recommendations{display:flex;align-items:center;justify-content:center;min-height:300px;background:#ffffff08;border-radius:var(--radius-lg);padding:var(--space-lg)}.loading-recommendations p{color:var(--text-secondary);font-size:1.1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.books-container.horizontal{background:transparent;border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:none;border:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.books-scroll{display:flex;gap:var(--space-lg);overflow-x:auto;overflow-y:hidden;padding:var(--space-sm) 0 var(--space-md);scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;transition:gap .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .books-scroll{gap:calc(var(--space-lg) * .9)}body.sidebar-expanded .recommendation-card{flex:0 0 185px;transition:flex-basis .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .recommendation-card .book-cover{height:265px;transition:height .3s cubic-bezier(.4,0,.2,1)}.books-scroll::-webkit-scrollbar{height:8px}.books-scroll::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:4px}.books-scroll::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:4px}.books-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2e6fa7,#0d8afe)}.recommendation-card{flex:0 0 200px;scroll-snap-align:start;height:auto;border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-med),flex-basis .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;display:flex;flex-direction:column;background:transparent;box-shadow:none;border:none;backdrop-filter:none;-webkit-backdrop-filter:none;min-width:180px}.recommendation-card:hover{transform:translateY(-8px);z-index:10;box-shadow:var(--shadow-lg)}.recommendation-card .book-cover{width:100%;height:285px;position:relative;overflow:hidden;border-radius:var(--radius-md);background:transparent;padding:0;box-shadow:none;transition:height .3s cubic-bezier(.4,0,.2,1)}.recommendation-card .book-cover:after{display:none}.recommendation-card .cover-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-med)}.recommendation-card:hover .cover-image{transform:scale(1.03)}.book-info-below{padding:var(--space-md);text-align:center;background:var(--glass-bg-light);border-radius:0 0 12px 12px;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border:1px solid var(--glass-border);border-top:none;height:180px}.book-title-below{font-family:Playfair Display,serif;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-summary-below{font-size:.875rem;color:var(--text-secondary);font-style:italic;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-hover-info{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff26;color:#fff;opacity:0;visibility:hidden;transition:all var(--transition-med);border-radius:var(--radius-md);backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);border:1px solid rgba(255,255,255,.2)}.book-hover-info.visible{opacity:1;visibility:visible}.hover-content{padding:var(--space-lg);height:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;overflow:hidden}.hover-description{font-size:1rem;line-height:1.5;color:#fffffff2;text-shadow:0 2px 8px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;margin:0}.book-card.horizontal{flex:0 0 280px;scroll-snap-align:start;height:400px;background:var(--glass-bg-light);border-radius:14px;overflow:hidden;box-shadow:var(--glass-shadow);transition:all var(--transition-med);border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);display:flex;flex-direction:column}.book-card.horizontal:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.book-card.horizontal .book-cover{height:200px;overflow:hidden;position:relative}.book-card.horizontal .book-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-med)}.book-card.horizontal:hover .book-cover img{transform:scale(1.05)}.book-card.horizontal .book-info{padding:var(--space-md);display:flex;flex-direction:column;flex:1}.book-card.horizontal .book-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-xs);color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card.horizontal .book-author{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--space-sm);font-style:italic}.book-card.horizontal .book-description{font-size:.875rem;line-height:1.4;color:var(--text-primary);flex:1;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.empty-recommendations{background:var(--glass-bg);border-radius:20px;padding:var(--space-xxl);box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05);position:relative;z-index:1}.empty-state{text-align:center;max-width:400px;margin:0 auto}.empty-icon{font-size:3rem;color:var(--brand-primary);margin-bottom:var(--space-lg);opacity:.8;filter:drop-shadow(0 4px 8px rgba(46,111,167,.2))}.empty-state h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:var(--space-md);color:var(--text-primary)}.empty-state p{font-size:1rem;line-height:1.5;color:var(--text-secondary);margin-bottom:var(--space-lg)}.cta-button{background:linear-gradient(135deg,var(--accent-warm),var(--accent-cool));color:#fff;border:none;padding:var(--space-md) var(--space-lg);border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-med);box-shadow:var(--glass-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 12px 36px #1f268733}.get-started-section{margin-bottom:calc(var(--space-xxl) * 1.25)}.checklist-card{background:var(--glass-bg);border-radius:18px;padding:var(--space-xl);box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05);position:relative;z-index:1;transition:padding .3s cubic-bezier(.4,0,.2,1)}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg);transition:gap .3s cubic-bezier(.4,0,.2,1),grid-template-columns .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .checklist-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:calc(var(--space-lg) * .85)}body.sidebar-expanded .checklist-card{padding:calc(var(--space-xl) * .9)}.checklist-item{background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:14px;padding:var(--space-lg);display:grid;grid-template-columns:56px 1fr auto;gap:var(--space-md);align-items:center;text-align:left;cursor:pointer;transition:all var(--transition-med),padding .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .checklist-item{padding:calc(var(--space-lg) * .9);gap:calc(var(--space-md) * .9)}.checklist-item:hover{transform:translateY(-2px);box-shadow:0 12px 36px #1f26872e}.checklist-item .item-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 6px 18px #2e6fa740}.checklist-item .item-content h3{font-family:Playfair Display,serif;font-size:1.125rem;margin:0 0 4px;color:var(--text-primary)}.checklist-item .item-content p{margin:0;color:var(--text-secondary);font-size:.95rem}.checklist-item .item-cta{display:flex;align-items:center;gap:var(--space-xs);color:var(--brand-primary);font-weight:600}.current-book{display:flex;align-items:start;gap:var(--space-lg)}.current-book-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);line-height:1.3}.current-book-author{font-size:1rem;color:var(--text-secondary);font-style:italic;margin-bottom:var(--space-md)}.progress-info{flex:1;max-width:300px}.progress-bar-container{margin-bottom:var(--space-sm)}.progress-bar{width:100%;height:12px;background:#ffffff40;border-radius:8px;overflow:hidden;margin-bottom:var(--space-xs);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--accent-cool));border-radius:8px;transition:width var(--transition-med);box-shadow:0 2px 8px #2e6fa740;position:relative;overflow:hidden}.progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-text{font-size:.875rem;font-weight:600;color:var(--brand-primary)}.page-info{font-size:.875rem;color:var(--text-secondary)}.quick-access-section{margin-bottom:calc(var(--space-xxl) * 1.5)}.quick-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);transition:gap .3s cubic-bezier(.4,0,.2,1),grid-template-columns .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .quick-access-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:calc(var(--space-lg) * .9)}.quick-access-button{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:var(--space-xl);display:flex;align-items:center;gap:var(--space-lg);text-align:left;cursor:pointer;transition:all var(--transition-med),transform .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05);box-shadow:var(--glass-shadow);position:relative;z-index:1}body.sidebar-expanded .quick-access-button{padding:calc(var(--space-xl) * .9);gap:calc(var(--space-lg) * .9)}.quick-access-button:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1f26872e;border-color:var(--glass-border);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}.quick-access-button:hover .button-icon{background:linear-gradient(135deg,var(--accent-cool),var(--brand-primary));box-shadow:0 6px 20px #2e6fa759;transform:scale(1.05) rotate(2deg);transition:all var(--transition-med)}.button-icon{width:60px;height:60px;background:linear-gradient(135deg,#2e6fa7,#4a8bc2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0;box-shadow:0 4px 16px #2e6fa740;position:relative;transition:all var(--transition-med)}.button-icon:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#ffffff26,#ffffff0d);border-radius:50%;pointer-events:none}.button-content h3{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);line-height:1.3}.button-content p{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin:0}@media (max-width: 768px){.explore-main{padding-top:20px}.explore-welcome-section{padding:var(--space-lg) 0 0;margin-bottom:0}.recommended-section,.get-started-section,.quick-access-section{margin-bottom:var(--space-xxl)}.section-header{margin-bottom:var(--space-lg)}.current-book{flex-direction:column;gap:var(--space-md)}.progress-info{max-width:none}.quick-access-grid{grid-template-columns:1fr;gap:var(--space-md)}.quick-access-button{padding:var(--space-lg)}.button-icon{width:50px;height:50px;font-size:1.25rem;background:linear-gradient(135deg,#2e6fa7,#4a8bc2);box-shadow:0 3px 12px #2e6fa733;transition:all var(--transition-med)}.books-scroll{gap:var(--space-md)}.book-card.horizontal{flex:0 0 250px;height:350px}.book-card.horizontal .book-cover{height:160px}.recommendation-card{flex:0 0 180px;min-width:160px}.recommendation-card .book-cover{height:250px}.book-info-below{padding:var(--space-sm)}.hover-content{padding:var(--space-md)}.hover-description{font-size:.9rem;-webkit-line-clamp:5;line-clamp:5}.book-title-below{font-size:.9rem}.book-summary-below{font-size:.8rem}}@media (max-width: 480px){.explore-main{padding-top:20px}.explore-welcome-section{padding:var(--space-md) 0 0;text-align:left;margin-bottom:0}.recommended-section,.get-started-section{margin-bottom:calc(var(--space-xl) * 1.5)}.quick-access-section{margin-bottom:var(--space-xxl)}.section-header{margin-bottom:var(--space-md)}.welcome-content{padding:var(--space-md)}.welcome-title{font-size:1.75rem}.section-title{font-size:1.25rem}.books-container.horizontal,.progress-card,.empty-recommendations{padding:var(--space-md);border-radius:14px}.book-card.horizontal{flex:0 0 220px;height:320px}.book-card.horizontal .book-cover{height:140px}.recommendation-card{flex:0 0 165px;min-width:150px}.recommendation-card .book-cover{height:235px}.book-info-below{padding:var(--space-xs)}.hover-content{padding:var(--space-sm)}.hover-description{font-size:.8rem;-webkit-line-clamp:4;line-clamp:4}.book-title-below{font-size:.8rem}.book-summary-below{font-size:.75rem}}.recommendations-header:after{content:"";display:block;position:absolute;bottom:-10px;left:calc(50% - 30px);width:60px;height:3px;background:var(--brand-primary);margin:15px auto 0;border-radius:3px}.recommendations-header svg{margin-right:10px;color:var(--brand-primary)}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg);width:100%;margin-top:var(--space-xl)}.book-card{background:var(--glass-bg-light);border-radius:14px;overflow:hidden;box-shadow:var(--glass-shadow);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;height:100%;animation:fadeIn .8s ease-in-out forwards;opacity:0;transform:translateY(20px);transform-origin:center bottom;border:1px solid var(--glass-border);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);position:relative}.book-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,transparent 70%,rgba(139,69,19,.05));z-index:-1}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.book-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.error-container{text-align:center;color:var(--accent-warm);padding:var(--space-lg);border:1px solid var(--accent-warm);border-radius:8px;margin:var(--space-xl) 0}.book-item{transition:transform .3s ease,box-shadow .3s ease}.book-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}@media (max-width: 768px){.explore-content{padding:var(--space-lg)}.explore-title{font-size:clamp(24px,5vw,32px)}.explore-subtitle{font-size:16px}.search-form-wrapper{margin-top:-20px}}.explore-page{background:linear-gradient(135deg,var(--bg) 0%,var(--card-bg) 100%);color:var(--text-primary);overflow-x:hidden;width:100%;min-height:100vh;position:relative}.book-links{position:absolute;bottom:10px;left:30px;display:flex}.book-links a{display:inline-block}.book-link icon{width:24px;height:24px;transition:transform .2s ease}.book-link:hover{transform:scale(1.2)}.chat-loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#1a3379,#0f172a,#000)}@media (prefers-color-scheme: dark){.chat-loader-overlay{background:linear-gradient(to bottom,#f3f4f6,#e5e7eb,#d1d5db)}}.chat-loader-container{position:relative;display:flex;align-items:center;justify-content:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}.chat-loader-inline{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:400px}.chat-loader-container.inline{position:relative;width:auto;height:auto;min-width:120px;min-height:120px}.chat-loader-container.inline .chat-loader-circle{opacity:.9;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));box-shadow:0 0 12px #03254159 inset}.chat-loader-container.inline .chat-loader-letter{color:#8b5cf6;opacity:.95}.chat-loader-text{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.chat-loader-letter{display:inline-block;color:#fff;opacity:.4;animation:loaderLetter 3s infinite}@media (prefers-color-scheme: dark){.chat-loader-letter{color:#1f2937}}.chat-loader-circle{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;animation:loaderCircle 5s linear infinite}@keyframes loaderCircle{0%{transform:rotate(90deg);box-shadow:0 6px 12px #38bdf8 inset,0 12px 18px #005dff inset,0 36px 36px #1e40af inset,0 0 3px 1.2px #38bdf84d,0 0 6px 1.8px #005dff33}50%{transform:rotate(270deg);box-shadow:0 6px 12px #60a5fa inset,0 12px 6px #0284c7 inset,0 24px 36px #005dff inset,0 0 3px 1.2px #38bdf84d,0 0 6px 1.8px #005dff33}to{transform:rotate(450deg);box-shadow:0 6px 12px #4dc8fd inset,0 12px 18px #005dff inset,0 36px 36px #1e40af inset,0 0 3px 1.2px #38bdf84d,0 0 6px 1.8px #005dff33}}@keyframes loaderLetter{0%,to{opacity:.4;transform:translateY(0)}20%{opacity:1;transform:scale(1.15)}40%{opacity:.7;transform:translateY(0)}}@media (prefers-color-scheme: dark){@keyframes loaderCircle{0%{transform:rotate(90deg);box-shadow:0 6px 12px #3b82f6 inset,0 12px 18px #8b5cf6 inset,0 36px 36px #06b6d4 inset,0 0 3px 1.2px #3b82f666,0 0 6px 1.8px #8b5cf64d}50%{transform:rotate(270deg);box-shadow:0 6px 12px #06b6d4 inset,0 12px 6px #3b82f6 inset,0 24px 36px #8b5cf6 inset,0 0 3px 1.2px #3b82f666,0 0 6px 1.8px #8b5cf64d}to{transform:rotate(450deg);box-shadow:0 6px 12px #8b5cf6 inset,0 12px 18px #06b6d4 inset,0 36px 36px #3b82f6 inset,0 0 3px 1.2px #3b82f666,0 0 6px 1.8px #8b5cf64d}}.chat-loader-circle{animation:loaderCircle 5s linear infinite}}.persona-selector{position:relative;width:100%;max-width:280px;font-family:var(--font-primary, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif)}.persona-trigger{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:.625rem .875rem;background:#fff9;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-lg, 12px);cursor:pointer;transition:all var(--transition-med, .3s ease);font-size:.875rem;font-weight:500;color:var(--text-primary, #333);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.persona-trigger:hover:not(:disabled){border-color:#0000001f;background:#ffffffd9;box-shadow:0 2px 8px #0000000f}.persona-trigger.open{border-color:#007bff4d;background:#ffffffe6;box-shadow:0 4px 12px #007bff1a}.persona-trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-disabled, #f5f5f5)}.persona-icon{font-size:1.5rem;line-height:1}.persona-label{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-icon{font-size:.875rem;color:var(--text-secondary, #666);transition:transform var(--transition-fast, .2s ease)}.persona-trigger.open .dropdown-icon{transform:rotate(180deg)}.persona-dropdown{position:absolute;top:calc(100% + .5rem);left:0;width:100%;max-width:320px;background:#fffffffa;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg, 12px);box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.persona-list{max-height:400px;overflow-y:auto;padding:.5rem}.persona-list::-webkit-scrollbar{width:6px}.persona-list::-webkit-scrollbar-track{background:transparent}.persona-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.persona-list::-webkit-scrollbar-thumb:hover{background:#999}.persona-option{display:flex;align-items:center;gap:.625rem;width:100%;padding:.75rem .875rem;background:transparent;border:none;border-left:2px solid transparent;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .2s ease,transform .2s ease;text-align:left}.persona-option:hover{background:#00000008;transform:translate(4px)}.persona-option.selected{background:color-mix(in srgb,var(--persona-color, #0d47a1) 8%,white)}.persona-option-icon{font-size:1.75rem;line-height:1;flex-shrink:0}.persona-option-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.persona-option-label{font-size:.95rem;font-weight:600;color:var(--text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.persona-option-description{font-size:.8rem;color:var(--text-secondary, #666);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.check-icon{font-size:1rem;flex-shrink:0}@media (max-width: 768px){.persona-selector{max-width:100%}.persona-dropdown{max-width:100%;left:0;right:0}.persona-trigger{padding:.625rem .875rem;font-size:.875rem}.persona-icon{font-size:1.25rem}.persona-option{padding:.75rem .875rem}.persona-option-icon{font-size:1.5rem}.persona-option-label{font-size:.875rem}.persona-option-description{font-size:.75rem}}@media (max-width: 480px){.persona-trigger{padding:.5rem .75rem;gap:.5rem}.persona-list{max-height:300px}.persona-option{padding:.625rem .75rem;gap:.625rem}}.ai-chat-page{min-height:100vh;background:linear-gradient(135deg,#fafafa,#f5f7fa);display:flex;flex-direction:row;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;position:relative;overflow-x:hidden}.app-page-content{flex:1;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);min-height:100vh;width:100%;position:relative;overflow-x:hidden;display:flex;flex-direction:column}body.sidebar-expanded .app-page-content{margin-left:300px!important;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .app-page-content:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.01) 300px,transparent 400px);pointer-events:none;z-index:0;transition:opacity .3s ease;opacity:1}@media (min-width: 768px){.app-page-content{margin-left:60px}body.sidebar-expanded .app-page-content{margin-left:300px!important}body.sidebar-expanded .chat-main{transform:scale(.98);transition:transform .3s cubic-bezier(.4,0,.2,1)}}@media (max-width: 767px){.app-page-content,body.sidebar-expanded .app-page-content{margin-left:0!important}body.sidebar-expanded .chat-main{transform:none}body.sidebar-expanded .app-page-content:before{display:none}}.chat-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px 30px;min-height:calc(100vh - 80px);position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}.chat-container{width:100%;max-width:1200px;margin:0 auto;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;position:relative;gap:clamp(1.25rem,3vw,2rem);transition:max-width .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .chat-container{max-width:1100px}.welcome-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;min-height:300px}.welcome-content{margin-bottom:0;background:none;border:none;box-shadow:none;padding:0}.welcome-title{font-size:3rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,#1a1a1a,#4a5568);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:18px;color:#666;margin-bottom:0;font-weight:400;opacity:.9;background:none}.loader-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0;flex:1;min-height:60vh}.results-section{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:clamp(1rem,3vh,2rem);width:100%;gap:clamp(1.5rem,4vw,2rem)}.chat-input-section{background:transparent;padding:0;border:none;box-shadow:none;width:100%;max-width:700px;margin:0 auto;position:relative;z-index:50;flex-shrink:0;transition:max-width .3s cubic-bezier(.4,0,.2,1)}.persona-selector-wrapper{margin-bottom:1rem;display:flex;justify-content:center;align-items:center}body.sidebar-expanded .chat-input-section{max-width:650px}.chat-input-section.at-bottom{margin-top:auto}.chat-form{margin-bottom:20px}.input-container{display:flex;align-items:center;gap:12px;background:#ffffffe6;border:1px solid rgba(229,229,229,.6);border-radius:24px;padding:16px 20px;transition:all .3s ease;box-shadow:0 4px 20px #00000014;position:relative;overflow:visible;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-container:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.input-container:focus-within{border-color:#007bff;box-shadow:0 6px 30px #007bff33;background:#fffffff2}.input-container:focus-within:before{left:100%}.icognito-btn{background:none;border:none;color:#999;cursor:pointer;padding:8px;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.icognito-btn:hover{background:#007bff1a;color:#007bff}.incognito-btn-wrapper{position:relative;display:flex;align-items:center}.incognito-tooltip{position:absolute;bottom:calc(100% + 12px);left:-50%;transform:translate(-75%);background:#1e1e1ef2;color:#fff;padding:0;border-radius:12px;box-shadow:0 8px 24px #0003;z-index:1000;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;max-width:280px}.tooltip-content{padding:12px 16px}.tooltip-content strong{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#fff}.tooltip-content p{font-size:12px;line-height:1.5;margin:0;color:#ffffffd9}.tooltip-arrow{position:absolute;bottom:-6px;left:15%;width:12px;height:12px;background:#1e1e1ef2;transform:translate(-50%) rotate(45deg);border-radius:2px}.chat-input{flex:1;border:none;background:none;font-size:16px;color:#1a1a1a;outline:none;padding:0;font-family:inherit}.chat-input::placeholder{color:#999;font-weight:400}.send-btn{background:#f0f0f0;border:none;padding:10px;border-radius:12px;color:#999;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:16px;min-width:auto;width:40px;height:40px;position:relative;overflow:hidden;flex-shrink:0}.send-btn.active{background:#007bff;color:#fff;box-shadow:0 2px 8px #007bff4d}.send-btn.active:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s ease}.send-btn.active:hover:before{left:100%}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.send-btn{width:36px;height:36px;padding:8px;font-size:14px}}@media (max-width: 480px){.send-btn{width:36px;height:36px;padding:8px;font-size:14px}}.bottom-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;transition:gap .3s cubic-bezier(.4,0,.2,1)}.chat-input-section.at-bottom .bottom-actions{display:none}body.sidebar-expanded .bottom-actions{gap:10px}.bottom-action-btn{background:#ffffffbf;border:1px solid rgba(200,200,200,.4);padding:12px 18px;border-radius:16px;color:#666;cursor:pointer;transition:all .3s ease,padding .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;font-family:inherit;box-shadow:0 2px 8px #0000000d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}body.sidebar-expanded .bottom-action-btn{padding:11px 16px;gap:7px;font-size:12.5px}.bottom-action-btn.persona-history_lover{border-color:#8b735540}.bottom-action-btn.persona-history_lover:hover{border-color:#8b7355;color:#6b5344;box-shadow:0 6px 22px #8b735526,0 0 30px #8b735559,0 0 60px #8b735533;transform:translateY(-1px)}.bottom-action-btn.persona-adventure_seeker{border-color:#2e7d3240}.bottom-action-btn.persona-adventure_seeker:hover{border-color:#2e7d32;color:#1b5e20;box-shadow:0 6px 22px #2e7d3226,0 0 30px #2e7d3259,0 0 60px #2e7d3233;transform:translateY(-1px)}.bottom-action-btn.persona-mystery_fan{border-color:#37474f40}.bottom-action-btn.persona-mystery_fan:hover{border-color:#37474f;color:#263238;box-shadow:0 6px 22px #37474f26,0 0 30px #37474f59,0 0 60px #37474f33;transform:translateY(-1px)}.bottom-action-btn.persona-romance_reader{border-color:#e570b840}.bottom-action-btn.persona-romance_reader:hover{border-color:#e570b8;color:#c2407f;box-shadow:0 6px 22px #e570b826,0 0 30px #e570b859,0 0 60px #e570b833;transform:translateY(-1px)}.bottom-action-btn.persona-sci_fi_enthusiast{border-color:#1565c040}.bottom-action-btn.persona-sci_fi_enthusiast:hover{border-color:#1565c0;color:#0d47a1;box-shadow:0 6px 22px #1565c026,0 0 30px #1565c066,0 0 60px #1565c040;transform:translateY(-1px)}.bottom-action-btn.persona-fantasy_lover{border-color:#6a1b9a40}.bottom-action-btn.persona-fantasy_lover:hover{border-color:#6a1b9a;color:#4a148c;box-shadow:0 6px 22px #6a1b9a26,0 0 30px #6a1b9a59,0 0 60px #6a1b9a33;transform:translateY(-1px)}.bottom-action-btn.persona-default{border-color:#455a6440}.bottom-action-btn.persona-default:hover{border-color:#455a64;color:#37474f;box-shadow:0 6px 22px #455a6426,0 0 30px #455a644d,0 0 60px #455a6426;transform:translateY(-1px)}@media (max-width: 768px){.chat-main{padding:100px 16px 20px}.chat-container{gap:clamp(1rem,3.5vw,1.875rem)}.chat-input-section.at-bottom{transform:translateY(clamp(.75rem,3vh,2rem))}.welcome-title{font-size:2.2rem;margin-bottom:12px}.welcome-subtitle{font-size:16px}.input-container{padding:14px 16px;gap:10px;border-radius:20px}.chat-input{font-size:16px}.send-btn{padding:10px 20px;font-size:13px;min-width:70px}.bottom-actions{gap:8px}.bottom-action-btn{padding:10px 14px;font-size:12px;border-radius:14px}}@media (max-width: 480px){.chat-main{padding:90px 12px 16px}.chat-container{gap:clamp(1rem,4vw,1.5rem)}.chat-input-section.at-bottom{transform:translateY(clamp(.5rem,2vh,1.5rem))}.welcome-title{font-size:1.9rem}.welcome-subtitle{font-size:15px}.input-container{padding:12px 14px;border-radius:18px;gap:8px}.attach-btn,.command-btn{padding:6px;font-size:14px}.send-btn{padding:8px 16px;font-size:13px;min-width:60px}.bottom-actions{gap:6px;justify-content:center;flex-wrap:wrap}.bottom-action-btn{padding:8px 12px;font-size:11px;border-radius:12px;min-width:45%;flex:0 0 calc(50% - 3px)}}.fade-in{animation:fadeIn .6s ease-out}.slide-up{animation:slideUp .5s ease-out}.scale-in{animation:scaleIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.aurora-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0}.aurora-container canvas{width:100%!important;height:100%!important}.onboarding-page,.onboarding-container,.onboarding-content,.onboarding-step,.step-options,.complete-container,.finalizing-container{scrollbar-width:none;-ms-overflow-style:none}.onboarding-page::-webkit-scrollbar,.onboarding-container::-webkit-scrollbar,.onboarding-content::-webkit-scrollbar,.onboarding-step::-webkit-scrollbar,.step-options::-webkit-scrollbar,.complete-container::-webkit-scrollbar,.finalizing-container::-webkit-scrollbar{display:none}body{padding:0 15px}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,var(--bg) 0%,var(--card-bg) 100%);display:flex;align-items:center;justify-content:center;padding:var(--space-md);position:relative;overflow:hidden}.onboarding-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(46,111,167,.05) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(13,138,254,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.onboarding-container{max-width:700px;width:100%;height:600px;background:#ffffffb8;border-radius:var(--radius-xl);box-shadow:0 8px 32px #1f26872e,var(--shadow-lg);padding:var(--space-xl);position:relative;z-index:1;border:1.5px solid rgba(255,255,255,.35);display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-sizing:border-box;color:var(--text-primary)}.onboarding-header{text-align:center;margin-bottom:var(--space-sm);flex-shrink:0}.onboarding-logo{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--brand-primary);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.onboarding-logo svg{font-size:2rem;transform:rotate(-10deg);filter:drop-shadow(0 2px 4px rgba(107,91,149,.2))}.onboarding-title{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,2.75rem);color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.2;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--brand-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.onboarding-subtitle{font-size:1.125rem;color:var(--text-primary);opacity:.85;line-height:1.6;max-width:520px;margin:0 auto;font-weight:400}.onboarding-content{flex:1;display:flex;align-items:center;justify-content:center;margin:var(--space-sm) 0;overflow-y:auto}.onboarding-navigation{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);border-top:1px solid rgba(0,0,0,.1);margin-top:0;flex-shrink:0;flex-wrap:wrap;gap:var(--space-sm)}.onboarding-nav-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition-med);border:none;text-decoration:none;min-width:100px;justify-content:center}.onboarding-nav-button.primary{background-color:var(--brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.onboarding-nav-button.primary:hover:not(:disabled){background-color:#5a4b80;transform:translateY(-2px);box-shadow:var(--shadow-md)}.onboarding-nav-button.secondary{background-color:transparent;color:var(--brand-primary);border:1px solid var(--brand-primary)}.onboarding-nav-button.secondary:hover:not(:disabled){background-color:#6b5b950d;transform:translateY(-2px)}.onboarding-nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.step-indicator{font-size:.95rem;color:var(--text-primary);opacity:.7;font-weight:500}.onboarding-error{display:flex;align-items:center;gap:var(--space-xs);color:#dc3545;font-size:.875rem;font-weight:500;background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);width:100%;margin-bottom:var(--space-sm)}.onboarding-error svg{font-size:1rem}.onboarding-progress{margin-bottom:var(--space-md);margin-top:var(--space-md);flex-shrink:0}.progress-steps{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xs)}.progress-step{flex:1;height:4px;background-color:#6b5b951a;border-radius:2px;transition:var(--transition-med);position:relative}.progress-step.completed{background:linear-gradient(90deg,var(--brand-primary),var(--accent-cool))}.progress-step.current{background:linear-gradient(90deg,var(--brand-primary),var(--accent-cool));opacity:.7}.onboarding-step{width:100%;height:100%;animation:fadeInSlide .5s ease-out}.step-question{text-align:center;margin-bottom:var(--space-lg)}.step-question h2{font-family:Playfair Display,serif;font-size:clamp(1.375rem,2.5vw,1.75rem);color:var(--text-primary);margin-bottom:var(--space-sm);line-height:1.3;font-weight:600}.selection-hint{font-size:.95rem;color:var(--text-primary);opacity:.7;font-style:italic}.step-options{display:flex;flex-wrap:wrap;gap:var(--space-sm);max-width:600px;margin:0 auto;justify-content:center;padding:var(--space-sm) 0}.option-button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:22px;cursor:pointer;transition:var(--transition-med);text-align:center;font-size:.9rem;font-weight:500;color:var(--text-primary);box-shadow:none;position:relative;overflow:hidden;white-space:nowrap;min-height:40px}.option-button:hover{border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px #6b5b9526;background-color:#6b5b950d}.option-button.selected{border-color:var(--brand-primary);background-color:var(--brand-primary);color:#fff;box-shadow:0 4px 12px #6b5b9540}.option-text{line-height:1.4;font-weight:500}.option-button.selected .option-text{color:#fff}.onboarding-complete{min-height:100vh;background:linear-gradient(135deg,var(--bg) 0%,var(--card-bg) 100%);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);position:relative;overflow:hidden}.onboarding-complete:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 30%,rgba(107,91,149,.05) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(115,149,174,.05) 0%,transparent 50%);pointer-events:none;z-index:0}.complete-container{max-width:500px;width:100%;background:#ffffffb8;border-radius:var(--radius-xl);box-shadow:0 8px 32px #1f26872e,var(--shadow-lg);padding:var(--space-xl);text-align:center;position:relative;z-index:1;border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-sizing:border-box;color:var(--text-primary)}.success-animation{margin-bottom:var(--space-lg);display:flex;justify-content:center}.success-circle{width:70px;height:70px;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;animation:successPop .6s ease-out;box-shadow:0 10px 30px #6b5b954d}.complete-title{font-family:Playfair Display,serif;font-size:clamp(1.75rem,3.5vw,2.25rem);color:var(--text-primary);margin-bottom:var(--space-sm);font-weight:600}.complete-message{font-size:1rem;color:var(--text-primary);opacity:.8;line-height:1.5;margin-bottom:var(--space-lg)}.complete-features{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.feature-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.95rem;color:var(--text-primary);opacity:.8}.feature-item svg{color:var(--brand-primary);font-size:1.1rem}.complete-button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition-med);box-shadow:var(--shadow-md)}.complete-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.welcome-actions{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;gap:var(--space-md);height:100%}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-md);width:100%;max-width:500px}.welcome-feature{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#6b5b950d;border-radius:var(--radius-lg);border:1px solid rgba(107,91,149,.1);transition:var(--transition-med)}.welcome-feature:hover{background:#6b5b9514;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.welcome-feature-icon{color:var(--brand-primary);font-size:1.25rem;min-width:24px}.welcome-feature-text{font-size:.9rem;color:var(--text-primary);font-weight:500;line-height:1.4}.onboarding-nav-button.large{padding:var(--space-lg) var(--space-xxl);font-size:1.125rem;min-width:220px;font-weight:700;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:var(--radius-lg);box-shadow:0 8px 25px #6b5b9540;position:relative;overflow:hidden}.onboarding-nav-button.large: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 .6s ease}.onboarding-nav-button.large:hover:before{left:100%}.onboarding-nav-button.large:hover{transform:translateY(-3px);box-shadow:0 12px 35px #6b5b9559}.finalizing-direct-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-lg);padding:var(--space-xl);color:var(--text-primary);position:relative;z-index:1;min-height:60vh;max-width:600px;margin:0 auto}.finalizing-direct-content .finalizing-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:50%;box-shadow:0 10px 30px #6b5b954d}.finalizing-direct-content .rotating-book{font-size:2rem;color:#fff;animation:rotateBook 2s ease-in-out infinite}.finalizing-direct-content .finalizing-title{font-family:Playfair Display,serif;font-size:clamp(1.75rem,4vw,2.5rem);color:var(--text-primary);margin:0;font-weight:600;background:linear-gradient(135deg,var(--text-primary),var(--brand-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1);transition:opacity .3s ease-in-out,transform .3s ease-in-out;animation:fadeInText .5s ease-in-out}.finalizing-direct-content .finalizing-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-primary);opacity:.9;line-height:1.5;margin:0;max-width:500px;text-shadow:0 1px 2px rgba(0,0,0,.1);transition:opacity .3s ease-in-out,transform .3s ease-in-out;animation:fadeInText .5s ease-in-out .1s both}.finalizing-direct-content .finalizing-dots{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.finalizing-direct-content .finalizing-dots span{width:12px;height:12px;background:var(--brand-primary);border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}.finalizing-direct-content .finalizing-dots span:nth-child(1){animation-delay:0s}.finalizing-direct-content .finalizing-dots span:nth-child(2){animation-delay:.2s}.finalizing-direct-content .finalizing-dots span:nth-child(3){animation-delay:.4s}.finalizing-container{max-width:600px;width:100%;height:400px;background:#ffffffb8;border-radius:var(--radius-xl);box-shadow:0 8px 32px #1f26872e,var(--shadow-lg);padding:var(--space-xl);position:relative;z-index:1;border:1.5px solid rgba(255,255,255,.35);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text-primary)}.finalizing-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.finalizing-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));border-radius:50%;margin-bottom:var(--space-md);box-shadow:0 10px 30px #6b5b954d}.rotating-book{font-size:2rem;color:#fff;animation:rotateBook 2s ease-in-out infinite}.finalizing-title{font-family:Playfair Display,serif;font-size:clamp(1.75rem,3.5vw,2.25rem);color:var(--text-primary);margin:0;font-weight:600;background:linear-gradient(135deg,var(--text-primary),var(--brand-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.finalizing-subtitle{font-size:1.125rem;color:var(--text-primary);opacity:.8;line-height:1.5;margin:0;max-width:400px}.finalizing-dots{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.finalizing-dots span{width:12px;height:12px;background:var(--brand-primary);border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}.finalizing-dots span:nth-child(1){animation-delay:0s}.finalizing-dots span:nth-child(2){animation-delay:.2s}.finalizing-dots span:nth-child(3){animation-delay:.4s}@keyframes fadeInText{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateBook{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes successPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.onboarding-page{padding:var(--space-sm)}.onboarding-container{padding:var(--space-md);margin:var(--space-sm);max-width:100%;height:500px}.finalizing-container{padding:var(--space-md);margin:var(--space-sm);height:350px;max-width:100%}.finalizing-direct-content{padding:var(--space-lg);gap:var(--space-md);min-height:50vh}.finalizing-direct-content .finalizing-icon{width:60px;height:60px}.finalizing-direct-content .rotating-book{font-size:1.5rem}.finalizing-icon{width:60px;height:60px}.rotating-book{font-size:1.5rem}.onboarding-navigation{flex-direction:column;gap:var(--space-sm)}.onboarding-nav-button{width:100%;min-width:auto;padding:var(--space-sm) var(--space-md);font-size:.9rem}.step-indicator{order:-1;margin-bottom:var(--space-xs)}.step-options{gap:var(--space-sm);max-width:100%}.option-button{padding:var(--space-sm) var(--space-md);font-size:.9rem;min-height:40px}.progress-steps{justify-content:space-around}.progress-steps{justify-content:space-around;gap:var(--space-xs)}.complete-features{flex-direction:column;align-items:center;gap:var(--space-md)}}@media (max-width: 480px){.onboarding-page{padding:var(--space-xs)}.onboarding-container{padding:var(--space-sm);margin:0;height:550px}.finalizing-container{padding:var(--space-sm);margin:0;height:300px}.finalizing-direct-content{padding:var(--space-md);gap:var(--space-sm);min-height:40vh}.finalizing-direct-content .finalizing-icon{width:50px;height:50px}.finalizing-direct-content .rotating-book{font-size:1.25rem}.finalizing-icon{width:50px;height:50px}.rotating-book{font-size:1.25rem}.finalizing-title{font-size:1.5rem}.finalizing-subtitle{font-size:1rem}.onboarding-content{min-height:300px;margin:var(--space-sm) 0;max-height:350px}.welcome-features{grid-template-columns:1fr;gap:var(--space-sm)}.welcome-feature{padding:var(--space-sm);display:flex;align-items:center;justify-content:center}.welcome-feature-text{font-size:.85rem}.onboarding-nav-button.large{padding:var(--space-md) var(--space-lg);font-size:1rem;min-width:180px}.complete-container{padding:var(--space-md);margin:var(--space-sm)}.success-circle{width:50px;height:50px;font-size:1.25rem}.step-options{gap:var(--space-xs)}.option-button{padding:var(--space-xs) var(--space-sm);font-size:.85rem;min-height:36px}.onboarding-title,.finalizing-title{background:none;-webkit-background-clip:initial;-webkit-text-fill-color:initial;background-clip:initial;color:var(--text-primary)}.onboarding-logo svg{font-size:1.75rem}}.auth-loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.auth-form-container{width:100%;max-width:340px;margin:0 auto;padding:1.25rem;border-radius:12px;background-color:var(--card-bg);box-shadow:0 8px 30px #0000001f;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.auth-form-container:hover{transform:translateY(-3px);box-shadow:0 12px 40px #00000026}.auth-form-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(to right,var(--accent-warm),var(--accent-cool))}.auth-title{margin-bottom:.25rem;font-size:1.7rem;font-weight:700;color:var(--text-title);text-align:center;letter-spacing:-.5px}.auth-description{margin-bottom:1rem;font-size:.97rem;color:var(--text-secondary);text-align:center;max-width:90%;margin-left:auto;margin-right:auto;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:.75rem}.form-input-container{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:.5rem}.form-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center}.required-indicator{color:var(--accent-warm);margin-left:.25rem;font-size:1.2rem;line-height:1}.form-input{width:100%;padding:.6rem 1rem;font-size:1rem;color:var(--text-primary);background-color:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;transition:all .25s ease;box-shadow:inset 0 1px 3px #0000000d}.form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #2e6fa726;background-color:#fff;transform:translateY(-1px)}.form-input::placeholder{color:#999;font-weight:400}.form-input.input-error{border-color:var(--error, #dc3545)!important;box-shadow:0 0 0 3px #dc354526!important}.auth-link{color:var(--brand-primary);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .2s ease;position:relative;display:inline-block}.auth-link:hover{color:var(--accent-warm)}.auth-link:after{content:"";position:absolute;width:100%;height:1px;bottom:-2px;left:0;background-color:var(--accent-warm);transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}.auth-link:hover:after{transform:scaleX(1);transform-origin:bottom left}.auth-button{width:100%;padding:.7rem 1rem;font-size:1rem;font-weight:600;color:#fff;background-color:var(--accent-warm);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:.25rem;box-shadow:0 4px 10px #ff6b4a33;letter-spacing:.3px}.auth-button:hover{background-color:var(--accent-warm-dark);transform:translateY(-2px);box-shadow:0 6px 15px #ff6b4a4d}.auth-button:active{transform:translateY(1px);box-shadow:0 2px 5px #ff6b4a33}.auth-button:disabled{background-color:#9e97b3;cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}.auth-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transition:left .7s ease}.auth-button:hover:before{left:100%}.auth-button-link{text-align:center;text-decoration:none;display:block}.auth-form-footer{margin-top:.75rem;text-align:center;font-size:.95rem;color:var(--text-secondary);position:relative;padding-top:.5rem}.auth-form-footer:before{content:"";position:absolute;top:0;left:30%;right:30%;height:1px;background:linear-gradient(to right,transparent,rgba(0,0,0,.1),transparent)}.auth-form-footer .terms-notice{display:block;margin-top:.5rem;font-size:.92em;color:var(--text-secondary);line-height:1.5}.form-input-wrapper{position:relative}.input-icon{position:absolute;top:3rem;left:1rem;color:var(--brand-primary);opacity:.7;transition:opacity .2s ease;z-index:2}.form-input-wrapper .form-input{padding-left:2.5rem}.form-input-wrapper:focus-within .input-icon{opacity:1;color:var(--accent-warm)}.auth-form-logo{text-align:center;margin-bottom:1.5rem;color:var(--brand-primary)}.form-options{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;margin-bottom:.75rem}.remember-me{display:flex;align-items:center;gap:.5rem}.remember-me input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--brand-primary)}.remember-me label{font-size:.95rem;color:var(--text-secondary);cursor:pointer}.input-error-message{font-size:.85rem;color:var(--error, #dc3545);margin-top:.25rem;display:flex;align-items:center;gap:.35rem}.auth-banner{padding:.75rem 1rem;margin-bottom:1.5rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.95rem;text-align:left}.auth-banner-error{background-color:#dc35451a;color:var(--error, #dc3545);border:1px solid rgba(220,53,69,.2)}.auth-banner-success{background-color:#1987541a;color:var(--success, #198754);border:1px solid rgba(25,135,84,.2)}.input-success-message{font-size:1rem;color:var(--success, #198754);padding:.75rem;border-radius:6px;background-color:#1987540d;text-align:center;margin-bottom:1rem}.form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-success-content-container{text-align:center;margin-top:2rem}.auth-success-content-container p{margin-top:1rem;color:var(--text-secondary)}.auth-success-content-container .auth-button{margin-top:1.5rem}.success-icon-container{display:flex;justify-content:center;margin-bottom:var(--space-md, 1.5rem)}.success-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:var(--success, #198754);color:#fff;font-size:32px;animation:pop .3s ease-out}.verification-info{margin-bottom:var(--space-md, 1.5rem)}.verification-steps{background:linear-gradient(135deg,var(--card-bg) 0%,rgba(255,255,255,.8) 100%);border:1px solid rgba(46,111,167,.1);border-radius:16px;padding:var(--space-lg, 2rem);margin:var(--space-lg, 2rem) 0;box-shadow:0 8px 32px #2e6fa714;position:relative;overflow:hidden}.verification-steps:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-primary),var(--accent-cool),var(--accent-warm));border-radius:16px 16px 0 0}.step{display:flex;align-items:center;margin-bottom:var(--space-md, 1.5rem);padding:var(--space-sm, .75rem) 0;position:relative;transition:all var(--transition-med)}.step:last-child{margin-bottom:0}.step:last-child:after{display:none}.step:after{content:"";position:absolute;left:18px;top:calc(50% + 18px);width:2px;height:calc(100% - 18px + var(--space-sm, .75rem));background:linear-gradient(180deg,var(--brand-primary) 0%,rgba(46,111,167,.2) 100%);z-index:1}.step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--accent-cool) 100%);color:#fff;border-radius:50%;margin-right:var(--space-md, 1.5rem);font-size:16px;font-weight:700;box-shadow:0 4px 16px #2e6fa74d;border:3px solid white;position:relative;z-index:2;flex-shrink:0;transition:all var(--transition-med);transform:scale(1)}.step-number:hover{transform:scale(1.1);box-shadow:0 6px 20px #2e6fa766}.step-text{flex:1;line-height:1.6;font-size:15px;color:var(--text-primary)}.verification-note{font-size:14px;color:var(--text-muted, #6c757d);margin-top:var(--space-sm, .75rem)}.text-button{background:none;border:none;color:var(--brand-primary);font-weight:500;cursor:pointer;padding:0;font-size:inherit;text-decoration:underline}.action-buttons{display:flex;flex-direction:column;gap:var(--space-sm, .75rem);margin-top:var(--space-md, 1.5rem)}.primary-button{background-color:var(--accent-warm)}.secondary-button{background-color:transparent;border:1px solid var(--brand-primary);color:var(--brand-primary)}.resend-message{font-size:13px;margin-top:.5rem;padding:.5rem;border-radius:4px;text-align:center}.resend-message.success{color:var(--success, #198754);background-color:#1987541a}.resend-message.error{color:var(--error, #dc3545);background-color:#dc35451a}.text-button:disabled{opacity:.6;cursor:not-allowed}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-form-container{animation:fadeIn .5s ease-out forwards}.auth-button{position:relative;overflow:hidden}@keyframes stepFadeIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes numberPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.verification-steps{animation:fadeIn .6s ease-out forwards}.step{animation:stepFadeIn .5s ease-out forwards;opacity:0}.step:nth-child(1){animation-delay:.1s}.step:nth-child(2){animation-delay:.2s}.step:nth-child(3){animation-delay:.3s}.step-number{animation:numberPulse 2s ease-in-out infinite;animation-delay:.8s}.step:nth-child(1) .step-number{animation-delay:1s}.step:nth-child(2) .step-number{animation-delay:1.2s}.step:nth-child(3) .step-number{animation-delay:1.4s}.step-text strong{color:var(--brand-primary);font-weight:600}@media (max-width: 480px){.auth-form-container{padding:1.25rem;max-width:360px}.auth-title{font-size:1.5rem}}@media (max-width: 768px){.auth-form-container{padding:1.5rem;max-width:380px}.auth-title{font-size:1.75rem}.auth-description{font-size:.95rem}.form-input{padding:.7rem .9rem;font-size:1rem}.auth-button{padding:.8rem 1rem;font-size:1rem}.form-row-grid{grid-template-columns:1fr;gap:0}.form-row-grid .form-input-container{margin-bottom:1.25rem}.form-row-grid .form-input-container:last-child{margin-bottom:.5rem}}@media (max-width: 768px){.verification-steps{padding:var(--space-md, 1.5rem);margin:var(--space-md, 1.5rem) 0}.step-number{width:32px;height:32px;font-size:14px;margin-right:var(--space-sm, .75rem)}.step-text{font-size:14px}}@media (max-width: 480px){.verification-steps{padding:var(--space-sm, .75rem)}.step{margin-bottom:var(--space-sm, .75rem)}.step-number{width:28px;height:28px;font-size:13px}}.auth-button-icon{margin-right:.5rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg) 0%,var(--accent-light) 100%);padding:2rem 1rem}.login-page-container{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.login-page-brand{text-align:center}@media (max-width: 768px){.login-page-container{grid-template-columns:1fr;gap:2rem;max-width:480px}.brand-title{font-size:2rem}.brand-description{font-size:1rem}}@media (max-width: 480px){.login-page{padding:1rem}.brand-title{font-size:1.75rem}}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-light) 0%,var(--bg) 100%);padding:2rem 1rem}.signup-page-container{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.signup-page-brand{text-align:center}@media (max-width: 768px){.signup-page-container{grid-template-columns:1fr;gap:2rem;max-width:480px}.brand-title{font-size:2rem}.brand-description{font-size:1rem}}@media (max-width: 480px){.signup-page{padding:1rem}.brand-title{font-size:1.75rem}}.forgot-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg) 0%,var(--accent-light) 100%);padding:2rem 1rem}.forgot-password-page-container{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.forgot-password-page-brand{text-align:center}@media (max-width: 768px){.forgot-password-page-container{grid-template-columns:1fr;gap:2rem;max-width:480px}.brand-title{font-size:2rem}.brand-description{font-size:1rem}}@media (max-width: 480px){.forgot-password-page{padding:1rem}.brand-title{font-size:1.75rem}}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg) 0%,var(--accent-light) 100%);padding:2rem 1rem}.reset-password-page-container{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.reset-password-page-brand{text-align:center}.brand-title{font-size:3rem;font-weight:800;color:var(--brand-primary);margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.brand-description{font-size:1.25rem;color:var(--text-secondary);line-height:1.6;max-width:400px;margin:0 auto}.auth-form-container{width:100%}.auth-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.auth-description{color:var(--text-secondary, #666);font-size:1rem}@media (max-width: 768px){.reset-password-page-container{grid-template-columns:1fr;gap:2rem;max-width:480px}.brand-title{font-size:2rem}.brand-description{font-size:1rem}}@media (max-width: 480px){.reset-password-page{padding:1rem}.brand-title{font-size:1.75rem}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--space-lg, 2rem)}.not-found-content{display:flex;flex-direction:column;align-items:center}.not-found-image{width:580px;max-width:98vw;height:auto;display:block;margin:64px auto 0;transition:width .2s}.not-found-text{font-family:Merriweather,serif;margin-top:var(--space-lg, 24px);font-size:1.15rem;color:var(--text-primary, #22223b);text-align:center}.not-found-back-link{color:var(--brand-primary);cursor:pointer;font-weight:600;text-decoration:underline;outline:none;transition:color .2s}.not-found-back-link:hover,.not-found-back-link:focus{color:#5a4b80;text-decoration:underline wavy}.not-found-footer{position:fixed;right:0;bottom:0;width:100%;display:flex;justify-content:flex-end;align-items:flex-end;pointer-events:none;z-index:100}.not-found-attribution{margin:.25rem 1rem 1rem .25rem;font-size:.8rem;color:#787878a6;text-decoration:none;background:#fff9;border-radius:4px;padding:.15rem .5rem;box-shadow:none;pointer-events:auto;transition:color .2s,background .2s;font-weight:400}.not-found-attribution:hover,.not-found-attribution:focus{color:var(--brand-primary, #c36b5b);background:#ffffffd9;text-decoration:underline}@media (max-width: 768px){.not-found-footer{justify-content:center}.not-found-attribution{margin:.25rem auto 1rem;font-size:.75rem}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.edit-profile-modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-lg) 0 var(--space-lg);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-lg)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.modal-close-button{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.modal-close-button:hover{background-color:var(--card-bg);color:var(--text-primary)}.modal-close-button:disabled{opacity:.5;cursor:not-allowed}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);gap:var(--space-md);color:var(--text-secondary)}.edit-profile-form{padding:0 var(--space-lg) var(--space-lg) var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--text-primary);font-size:.9rem}.optional-label{color:var(--text-secondary);font-weight:400;font-size:.85rem;margin-left:var(--space-xs)}.form-textarea{width:100%;padding:var(--space-sm);border:2px solid var(--border-light);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;transition:var(--transition-fast);resize:vertical;min-height:100px}.form-textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.1)}.form-textarea.error{border-color:var(--error)}.form-textarea:disabled{background-color:var(--card-bg);cursor:not-allowed;opacity:.7}.form-error{display:block;color:var(--error);font-size:.85rem;margin-top:var(--space-xs)}.character-count{font-size:.8rem;color:var(--text-secondary);text-align:right;margin-top:var(--space-xs)}.username-check{margin-top:var(--space-xs)}.input-info-message,.input-success-message,.input-error-message{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;padding:var(--space-xs) 0}.input-info-message{color:var(--text-secondary)}.input-success-message{color:var(--success)}.input-error-message{color:var(--error)}.form-message{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.9rem}.form-message.error{background-color:rgba(var(--error-color-rgb),.1);color:var(--error);border:1px solid rgba(var(--error-color-rgb),.2)}.form-message.success{background-color:rgba(var(--success-color-rgb),.1);color:var(--success);border:1px solid rgba(var(--success-color-rgb),.2)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--border-light);margin-top:var(--space-lg)}.button-primary,.button-secondary{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:none;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--space-xs);font-size:.9rem;min-width:120px;justify-content:center}.button-primary{background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff}.button-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.button-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-secondary{background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-light)}.button-secondary:hover:not(:disabled){background:var(--border-light);color:var(--text-primary)}.button-secondary:disabled{opacity:.6;cursor:not-allowed}.edit-profile-button{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition-fast);font-size:.9rem}.edit-profile-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.edit-profile-button:active{transform:translateY(0)}@media (max-width: 768px){.modal-backdrop{padding:var(--space-sm);align-items:flex-start;padding-top:var(--space-xl)}.edit-profile-modal{max-height:calc(100vh - var(--space-xl) * 2)}.modal-actions{flex-direction:column-reverse}.button-primary,.button-secondary{width:100%}}@media (max-width: 480px){.modal-header{padding:var(--space-md) var(--space-md) 0 var(--space-md)}.edit-profile-form{padding:0 var(--space-md) var(--space-md) var(--space-md)}.modal-header h2{font-size:1.25rem}}.user-stats-card{background:var(--card-bg, #1a1a2e);border-radius:var(--radius-lg, 12px);padding:var(--space-lg, 24px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1));transition:var(--transition-med, all .3s ease)}.user-stats-card:hover{box-shadow:var(--shadow-lg, 0 8px 16px rgba(0, 0, 0, .15))}.stats-title{font-size:1.5rem;font-family:Playfair Display,serif;font-weight:700;color:var(--text-primary, #ffffff);margin-bottom:var(--space-lg, 24px);display:flex;align-items:center;gap:var(--space-sm, 12px)}.stats-title svg{color:#ff6b4a99;font-size:.8rem}.profile-completion-banner{background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border-radius:var(--radius-md, 8px);padding:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px);border:1px solid rgba(255,107,107,.2)}.completion-header{display:flex;align-items:center;gap:var(--space-sm, 12px);margin-bottom:var(--space-sm, 12px);font-weight:600;font-size:.88rem;color:var(--text-primary, #ffffff)}.icon-star{color:#ffd73db3;font-size:.64rem}.completion-progress{height:8px;background:#ffffff1a;border-radius:var(--radius-full, 999px);overflow:hidden;margin-bottom:var(--space-xs, 8px)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-warm, #ff6b6b),var(--accent-cool, #4ecdc4));border-radius:var(--radius-full, 999px);transition:width .6s ease}.completion-hint{font-size:.7rem;color:var(--text-secondary, #a0a0a0);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px)}.stat-item{background:#ffffff0d;border-radius:var(--radius-md, 8px);padding:var(--space-md, 16px);display:flex;align-items:center;gap:var(--space-sm, 12px);transition:var(--transition-fast, all .2s ease);border:1px solid transparent}.stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.stat-item.accent-warm{border-color:#ff6b4a33}.stat-item.accent-warm:hover{background:#ff6b4a14;border-color:#ff6b4a66}.stat-item.accent-warm .stat-icon{color:#ff6b4a99}.stat-item.accent-warm:hover .stat-icon{color:#ff6b4acc}.stat-item.accent-cool{border-color:#0d8afe33}.stat-item.accent-cool:hover{background:#0d8afe14;border-color:#0d8afe66}.stat-item.accent-cool .stat-icon{color:#0d8afe99}.stat-item.accent-cool:hover .stat-icon{color:#0d8afecc}.stat-item.accent-purple{border-color:#8b5cf633}.stat-item.accent-purple:hover{background:#8b5cf614;border-color:#8b5cf666}.stat-item.accent-purple .stat-icon{color:#8b5cf699}.stat-item.accent-purple:hover .stat-icon{color:#8b5cf6cc}.stat-item.accent-success{border-color:#22c55e33}.stat-item.accent-success:hover{background:#22c55e14;border-color:#22c55e66}.stat-item.accent-success .stat-icon{color:#22c55e99}.stat-item.accent-success:hover .stat-icon{color:#22c55ecc}.stat-item.accent-info{border-color:#3b82f633}.stat-item.accent-info:hover{background:#3b82f614;border-color:#3b82f666}.stat-item.accent-info .stat-icon{color:#3b82f699}.stat-item.accent-info:hover .stat-icon{color:#3b82f6cc}.stat-item.accent-warm-alt{border-color:#fb923c33}.stat-item.accent-warm-alt:hover{background:#fb923c14;border-color:#fb923c66}.stat-item.accent-warm-alt .stat-icon{color:#fb923c99}.stat-item.accent-warm-alt:hover .stat-icon{color:#fb923ccc}.stat-icon{font-size:.72rem;opacity:.5;flex-shrink:0;transition:var(--transition-fast, all .2s ease)}.stat-item:hover .stat-icon{opacity:.7}.stat-content{flex:1;min-width:0}.stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary, #ffffff);line-height:1;margin-bottom:var(--space-xs, 8px)}.stat-label{font-size:.6rem;color:var(--text-secondary, #a0a0a0);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.stat-badge{font-size:.6rem;margin-top:var(--space-xs, 8px);padding:2px 8px;background:#ffffff1a;border-radius:var(--radius-sm, 4px);display:inline-block;font-weight:600}.preferences-summary{background:#ffffff08;border-radius:var(--radius-md, 8px);padding:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px)}.preferences-title{font-size:.9rem;font-weight:600;color:var(--text-primary, #ffffff);margin-bottom:var(--space-md, 16px);display:flex;align-items:center;gap:var(--space-sm, 12px)}.preferences-title svg{color:#0d8afe99;font-size:.64rem}.preferences-list{display:flex;flex-direction:column;gap:var(--space-sm, 12px)}.preference-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs, 8px) 0;border-bottom:1px solid rgba(255,255,255,.05)}.preference-item:last-child{border-bottom:none}.preference-label{font-size:.72rem;color:var(--text-secondary, #a0a0a0)}.preference-value{font-size:.72rem;font-weight:600;color:var(--text-primary, #ffffff)}.achievements-section{background:linear-gradient(135deg,#ffd7000d,#ff6b6b0d);border-radius:var(--radius-md, 8px);padding:var(--space-md, 16px);border:1px solid rgba(255,215,0,.2)}.achievements-title{font-size:.9rem;font-weight:600;color:var(--text-primary, #ffffff);margin-bottom:var(--space-md, 16px);display:flex;align-items:center;gap:var(--space-sm, 12px)}.achievements-title svg{color:#ffd73db3;font-size:.64rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm, 12px)}.achievement-badge{background:#ffffff0d;border-radius:var(--radius-md, 8px);padding:var(--space-sm, 12px);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 8px);text-align:center;transition:var(--transition-fast, all .2s ease);border:1px solid rgba(255,255,255,.1)}.achievement-badge:hover{transform:scale(1.05);box-shadow:var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.achievement-icon{font-size:.96rem}.achievement-label{font-size:.6rem;font-weight:600;color:var(--text-primary, #ffffff)}.achievement-blue{border-color:#3b82f64d}.achievement-blue:hover{background:#3b82f61a}.achievement-purple{border-color:#8b5cf64d}.achievement-purple:hover{background:#8b5cf61a}.achievement-red{border-color:#ef44444d}.achievement-red:hover{background:#ef44441a}.achievement-gold{border-color:#ffd7004d}.achievement-gold:hover{background:#ffd7001a}.achievement-green{border-color:#22c55e4d}.achievement-green:hover{background:#22c55e1a}.loading-state,.error-state{min-height:200px;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.2rem}.achievements-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.user-stats-card{padding:var(--space-md, 16px)}.stats-grid{grid-template-columns:1fr}.stat-item{padding:var(--space-sm, 12px)}.achievements-grid{grid-template-columns:1fr}}.profile-page{min-height:100vh;background-color:var(--card-bg);display:flex;flex-direction:row;position:relative;overflow-x:hidden}.page-content{flex:1;margin-left:0;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);min-height:100vh;width:100%;position:relative;overflow-x:hidden;display:flex;flex-direction:column;padding-top:80px}body.sidebar-expanded .page-content{margin-left:300px!important;transition:margin-left .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .page-content:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.01) 300px,transparent 400px);pointer-events:none;z-index:0;transition:opacity .3s ease;opacity:1}@media (min-width: 768px){.page-content{margin-left:60px}body.sidebar-expanded .page-content{margin-left:300px!important}body.sidebar-expanded .profile-container{transform:scale(.98);transition:transform .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .profile-header{transform:translate(-2px);transition:transform .3s cubic-bezier(.4,0,.2,1),gap .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .profile-content{transform:translate(-1px);transition:transform .3s cubic-bezier(.4,0,.2,1),gap .3s cubic-bezier(.4,0,.2,1)}}@media (max-width: 767px){.page-content{margin-left:0!important;padding-top:64px}body.sidebar-expanded .page-content{margin-left:0!important}body.sidebar-expanded .profile-container{transform:none}body.sidebar-expanded .page-content:before{display:none}}.profile-container{flex:1;max-width:1200px;margin:0 auto;padding:var(--space-xl) var(--space-lg);width:100%;transition:max-width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}body.sidebar-expanded .profile-container{max-width:1100px}body.sidebar-expanded .profile-header,body.sidebar-expanded .profile-content,body.sidebar-expanded .profile-section{transition:transform .3s cubic-bezier(.4,0,.2,1)}.profile-header{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-lg);align-items:start;background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-xl);transition:gap .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .profile-header{gap:calc(var(--space-lg) * .9);padding:calc(var(--space-xl) * .95);transition:gap .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.profile-avatar{display:flex;align-items:center;justify-content:center}.avatar-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--brand-primary)}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;text-transform:uppercase}.profile-avatar-skeleton{display:flex;align-items:center;justify-content:center}.profile-info{min-width:0}.profile-name{margin:0 0 var(--space-xs) 0;font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.profile-username{margin:0 0 var(--space-md) 0;font-size:1.1rem;color:var(--text-secondary);font-weight:500}.profile-bio{margin-bottom:var(--space-md)}.profile-bio p{margin:0;color:var(--text-primary);line-height:1.6;font-size:1rem}.profile-meta{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.profile-joined{color:var(--text-secondary);font-size:.9rem}.profile-actions{display:flex;align-items:flex-start}.profile-content{display:grid;gap:var(--space-xl);transition:gap .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .profile-content{gap:calc(var(--space-xl) * .9);transition:gap .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.profile-section{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);transition:padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}body.sidebar-expanded .profile-section{padding:calc(var(--space-xl) * .95);transition:padding .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.profile-section h2{margin:0 0 var(--space-md) 0;font-size:1.5rem;font-family:Playfair Display,serif;font-weight:700;color:var(--text-primary)}.profile-section p{margin:0;color:var(--text-primary);line-height:1.6}.preferences-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.preferences-header h2{margin:0}.edit-preferences-btn{background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);transition:all var(--transition-med);box-shadow:0 4px 12px #2e6fa733}.edit-preferences-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2e6fa74d}.edit-preferences-btn:active{transform:translateY(0)}body.sidebar-expanded .edit-preferences-btn{padding:calc(var(--space-sm) * .95) calc(var(--space-lg) * .95);font-size:.9rem;transition:all var(--transition-med)}.profile-placeholder{color:var(--text-secondary)!important;font-style:italic}@media (max-width: 768px){.profile-meta{justify-content:center}.profile-container{padding:var(--space-lg) var(--space-md);transition:padding .3s cubic-bezier(.4,0,.2,1)}.profile-header{grid-template-columns:1fr;text-align:center;gap:var(--space-md);padding:var(--space-lg);transition:gap .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}.profile-actions{justify-content:center}.avatar-image,.avatar-placeholder{width:100px;height:100px}.avatar-placeholder{font-size:40px}.profile-name{font-size:1.75rem}.profile-section{padding:var(--space-lg);text-align:center;transition:padding .3s cubic-bezier(.4,0,.2,1)}.preferences-header{flex-direction:column;gap:var(--space-md);align-items:stretch}.edit-preferences-btn{width:100%;justify-content:center}body.sidebar-expanded .profile-header,body.sidebar-expanded .profile-content,body.sidebar-expanded .profile-section{gap:var(--space-md);padding:var(--space-lg);transform:none;transition:gap .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1)}}@media (max-width: 480px){.profile-container{padding:var(--space-md) var(--space-sm);transition:padding .3s cubic-bezier(.4,0,.2,1)}.profile-header{padding:var(--space-lg);transition:padding .3s cubic-bezier(.4,0,.2,1)}.avatar-image,.avatar-placeholder{width:80px;height:80px}.avatar-placeholder{font-size:32px}.profile-name{font-size:1.5rem}.profile-section{padding:var(--space-md);transition:padding .3s cubic-bezier(.4,0,.2,1)}div>.preference-item+.response-data,div>.preference-item+.no-response{margin-top:.25rem}body.sidebar-expanded .profile-container{padding:var(--space-md) var(--space-sm);transform:none}body.sidebar-expanded .profile-header{padding:var(--space-lg);transform:none}body.sidebar-expanded .profile-section{padding:var(--space-md);transform:none}}.profile-stats-section{margin:var(--space-xl, 32px) 0;transition:var(--transition-med, all .3s ease)}.profile-stats-section>*{animation:fadeInUp .6s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body.sidebar-expanded .profile-stats-section{transition:margin .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.profile-stats-section{margin:var(--space-lg, 24px) 0}}@media (max-width: 480px){.profile-stats-section{margin:var(--space-md, 16px) 0}}.preferences-table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-md, 8px);background:#ffffff05;padding:var(--space-xs, 8px)}.preferences-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:.95rem}.preferences-table thead{background:linear-gradient(135deg,#ff6b6b1a,#4ecdc41a);border-radius:var(--radius-md, 8px)}.preferences-table thead th{padding:var(--space-md, 16px);text-align:left;font-weight:700;color:var(--text-primary, #ffffff);border-bottom:2px solid rgba(255,107,107,.3);font-size:1rem;letter-spacing:.02em}.preferences-table thead th:first-child{border-top-left-radius:var(--radius-md, 8px)}.preferences-table thead th:last-child{border-top-right-radius:var(--radius-md, 8px)}.preferences-table tbody tr{border-bottom:1px solid rgba(255,255,255,.08);transition:background-color .2s ease}.preferences-table tbody tr:last-child{border-bottom:none}.preferences-table tbody tr:hover{background-color:#ffffff08}.preferences-table td{padding:var(--space-md, 16px);vertical-align:top}.question-cell{font-weight:600;color:var(--text-primary, #ffffff);width:35%;min-width:200px}.response-cell{color:var(--text-secondary, #a0a0a0);width:65%}.response-data{color:var(--text-primary);font-weight:500}.no-response{color:var(--text-tertiary, #666);font-style:italic;opacity:.7}@media (max-width: 768px){.preferences-table{font-size:.9rem}.preferences-table thead th,.preferences-table td{padding:var(--space-sm, 12px)}.question-cell{width:40%;min-width:150px}.response-cell{width:60%}}@media (max-width: 480px){.preferences-table-wrapper{padding:0;background:transparent}.preferences-table{font-size:.85rem;display:block}.preferences-table thead{display:none}.preferences-table tbody{display:block}.preferences-table tbody tr{display:block;margin-bottom:var(--space-md, 16px);background:#ffffff08;border-radius:var(--radius-md, 8px);padding:var(--space-sm, 12px);border:1px solid rgba(255,255,255,.08)}.preferences-table tbody tr:hover{background:#ffffff0d}.preferences-table .response-cell{display:block;padding:var(--space-xs, 8px) 0;width:100%;min-width:unset}.question-cell{font-size:.95rem;margin-bottom:var(--space-xs, 8px);padding-bottom:var(--space-xs, 8px);border-bottom:1px solid rgba(255,255,255,.1)}.question-cell:before{content:"Q: ";color:var(--accent-warm, #ff6b6b);font-weight:700}.response-cell:before{content:"A: ";color:var(--accent-cool, #4ecdc4);font-weight:700;display:inline-block;margin-right:var(--space-xs, 8px)}}.profile-demo-page{min-height:100vh;background-color:var(--card-bg);display:flex;flex-direction:column}.profile-demo-container{flex:1;max-width:1200px;margin:0 auto;padding:var(--space-xl) var(--space-lg);width:100%}.demo-section{background:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.demo-section h1{margin:0 0 var(--space-md) 0;color:var(--text-primary);font-size:2.5rem}.demo-section h2{margin:0 0 var(--space-lg) 0;color:var(--text-primary);font-size:1.8rem}.demo-section h3{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:1.2rem}.demo-section p{margin:0 0 var(--space-md) 0;color:var(--text-secondary);line-height:1.6}.status-card,.test-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg)}.status-card p{margin:0 0 var(--space-sm) 0}.status-card p:last-child{margin-bottom:0}.input-group{margin-bottom:var(--space-lg)}.input-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--text-primary)}.demo-input{width:100%;max-width:300px;padding:var(--space-sm);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition-fast)}.demo-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.1)}.demo-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.demo-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);text-decoration:none;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;border:none;font-size:.9rem}.demo-button.primary{background:linear-gradient(135deg,var(--brand-primary),var(--accent-cool));color:#fff}.demo-button.primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.demo-button.secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-light)}.demo-button.secondary:hover{background:var(--border-light);color:var(--text-primary)}.demo-button.small{padding:var(--space-xs) var(--space-md);font-size:.8rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.feature-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-lg)}.feature-card h3{color:var(--success);margin-bottom:var(--space-md)}.feature-card p{margin:0;font-size:.9rem}.url-list{display:flex;flex-direction:column;gap:var(--space-md)}.url-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md)}.url-item code{font-family:Courier New,monospace;background:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--brand-primary);font-weight:500}@media (max-width: 768px){.profile-demo-container{padding:var(--space-lg) var(--space-md)}.demo-section{padding:var(--space-lg)}.demo-section h1{font-size:2rem}.demo-section h2{font-size:1.5rem}.features-grid{grid-template-columns:1fr}.demo-actions{flex-direction:column}.demo-button{width:100%}.url-item{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}@media (max-width: 480px){.profile-demo-container{padding:var(--space-md) var(--space-sm)}.demo-section{padding:var(--space-md)}}.loading-container{display:flex}.activity-page{display:flex;min-height:100vh;background-color:var(--bg);--activity-primary: #5b9bd5;--activity-primary-rgb: 91, 155, 213}.activity-container{max-width:1400px;margin:0 auto;padding:var(--space-xl) var(--space-lg);width:100%}.activity-header{margin-bottom:var(--space-xl);text-align:center}.header-content{max-width:700px;margin:0 auto}.page-title{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.title-icon{color:var(--activity-primary);font-size:2rem}.page-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0}.activity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.liked{background:rgba(var(--accent-warm-rgb),.1);color:var(--accent-warm)}.stat-icon.disliked{background:#6c757d1a;color:#6c757d}.stat-icon.total{background:rgba(var(--activity-primary-rgb),.1);color:var(--activity-primary)}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:var(--space-xs)}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.activity-controls{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.tab-filters{display:flex;gap:var(--space-sm);flex-wrap:wrap}.tab-button{padding:var(--space-sm) var(--space-lg);border:2px solid var(--border-light);background:transparent;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-sm)}.tab-button:hover{border-color:var(--activity-primary);color:var(--activity-primary);background:rgba(var(--activity-primary-rgb),.05)}.tab-button.active{border-color:var(--activity-primary);background:var(--activity-primary);color:#fff}.search-bar{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-md);color:var(--text-secondary);font-size:1rem}.search-input{width:100%;padding:var(--space-sm) var(--space-md) var(--space-sm) 2.75rem;border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:.9375rem;background:var(--bg);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--activity-primary);background:#fff}.books-table-container{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.books-table{width:100%;border-collapse:collapse}.books-table thead{background:var(--bg)}.books-table th{padding:var(--space-md) var(--space-lg);text-align:left;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border-light)}.books-table tbody tr{border-bottom:1px solid var(--border-light);transition:background-color var(--transition-fast)}.books-table tbody tr:hover{background:var(--bg)}.books-table tbody tr:last-child{border-bottom:none}.books-table td{padding:var(--space-lg)}.book-title-cell{min-width:280px}.book-title-wrapper{display:flex;align-items:center;gap:var(--space-md)}.book-icon{color:var(--activity-primary);font-size:1.25rem;flex-shrink:0}.book-details{flex:1}.book-title{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:2px;line-height:1.4}.book-year{font-size:.8125rem;color:var(--text-secondary)}.author-cell{color:var(--text-secondary);font-size:.9375rem;min-width:180px}.genres-cell{min-width:200px}.genres-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.genre-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:rgba(var(--activity-primary-rgb),.1);color:var(--activity-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;white-space:nowrap}.genre-tag svg{font-size:.625rem}.more-genres{font-size:.75rem;color:var(--text-secondary);font-weight:600}.no-genres{font-size:.8125rem;color:var(--muted);font-style:italic}.status-cell{min-width:120px}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 14px;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.status-badge.liked{background:rgba(var(--accent-warm-rgb),.1);color:var(--accent-warm)}.status-badge.disliked{background:#6c757d1a;color:#6c757d}.date-cell{color:var(--text-secondary);font-size:.875rem;min-width:140px}.date-icon{margin-right:var(--space-xs);color:var(--muted)}.action-cell{text-align:center;width:80px}.delete-button{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:1rem}.delete-button:hover:not(:disabled){background:#d735271a;color:var(--error);transform:scale(1.1)}.delete-button:active:not(:disabled){transform:scale(.95)}.delete-button:disabled{cursor:not-allowed;opacity:.5}.delete-button .deleting{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:90%;padding:var(--space-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.modal-icon{font-size:1.5rem;color:var(--error)}.modal-header h3{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.modal-body{margin-bottom:var(--space-xl)}.modal-body p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 0 var(--space-md) 0}.modal-body p strong{color:var(--text-primary);font-weight:600}.modal-warning{font-size:.875rem;color:var(--muted);font-style:italic}.modal-footer{display:flex;gap:var(--space-md);justify-content:flex-end}.modal-button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent;display:flex;align-items:center;gap:var(--space-xs)}.modal-button.cancel{background:var(--bg);color:var(--text-secondary);border-color:var(--border-light)}.modal-button.cancel:hover{background:var(--card-bg);border-color:var(--text-secondary);color:var(--text-primary)}.modal-button.delete{background:var(--error);color:#fff;border-color:var(--error)}.modal-button.delete:hover{background:#c02d22;border-color:#c02d22;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-button.delete:active{transform:translateY(0)}.empty-state{text-align:center;padding:var(--space-xxl) var(--space-lg);background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.empty-icon{font-size:4rem;color:var(--muted);margin-bottom:var(--space-lg);opacity:.5}.empty-state h3{font-family:Playfair Display,serif;font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state p{font-size:1rem;color:var(--text-secondary);margin:0}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xxl);text-align:center}.loading-container p{margin-top:var(--space-md);color:var(--text-secondary);font-size:1rem}@media (max-width: 1024px){.activity-container{padding:var(--space-lg) var(--space-md)}.page-title{font-size:2rem}.activity-stats{grid-template-columns:1fr}.books-table-container{overflow-x:auto}.books-table{min-width:900px}}@media (max-width: 768px){.page-title{font-size:1.75rem;flex-direction:column;gap:var(--space-sm)}.title-icon{font-size:1.5rem}.page-subtitle{font-size:1rem}.activity-controls{padding:var(--space-md)}.tab-filters{justify-content:center}.tab-button{flex:1;min-width:100px;justify-content:center}.stat-card{padding:var(--space-md)}.stat-icon{width:50px;height:50px;font-size:1.25rem}.stat-value{font-size:1.75rem}.books-table th,.books-table td{padding:var(--space-md)}}@media (max-width: 480px){.activity-container{padding:var(--space-md) var(--space-sm)}.page-title{font-size:1.5rem}.stat-card{flex-direction:column;text-align:center}.tab-button{font-size:.875rem;padding:var(--space-xs) var(--space-md)}}.about-page{background-color:var(--bg);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;position:relative}.about-main{flex:1;padding-top:120px;padding-bottom:var(--space-xxl);position:relative;z-index:1}.about-container{max-width:1000px;margin:0 auto;padding:0 var(--space-lg)}.about-hero{text-align:center;margin-bottom:var(--space-xxl);animation:fadeIn .8s ease-out}.about-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,5vw,4rem);margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.about-subtitle{font-size:1.2rem;color:var(--text-secondary);font-weight:300}.about-content-section{display:flex;flex-direction:column;gap:var(--space-xxl);animation:slideUp .8s ease-out .2s backwards;max-width:800px;margin:0 auto}.about-text{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);text-align:center}.about-text p{margin-bottom:var(--space-lg);text-align:left}.about-closing{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}.highlight-text{font-family:Playfair Display,serif;font-size:1.4rem;color:var(--text-primary);margin-bottom:var(--space-xs)!important}.about-image-container{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);transform:rotate(2deg);transition:transform .3s ease;background-color:var(--card-bg);padding:var(--space-xs);border:1px solid var(--border-color);max-width:450px;margin:0 auto}.about-image-container:hover{transform:rotate(0)}.about-image{width:100%;height:auto;display:block;border-radius:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-glow-corner{position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(80px);opacity:.4;z-index:0;pointer-events:none;background:radial-gradient(circle,#ffa03c4d,#ffa03c00 70%)}.about-glow-left{top:-100px;left:-100px}.about-glow-right{top:-100px;right:-100px}.terms-and-conditions-page{background:var(--card-bg);color:var(--text-primary);max-width:700px;margin:2rem auto;padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);font-size:1.05rem}.terms-and-conditions-page h1{color:var(--brand-primary);margin-bottom:1.5rem}.terms-and-conditions-page h2{color:var(--accent-cool);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem}.terms-and-conditions-page ul{margin-left:1.5rem;margin-bottom:1rem}.terms-and-conditions-page li{margin-bottom:.5rem}.preloader-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff;z-index:99999}.preloader-text{display:flex;align-items:center;color:#000;font-size:clamp(2.5rem,5vw,4rem);position:absolute;z-index:10;font-weight:500;margin:0;font-family:Playfair Display,serif}.preloader-dot{display:block;width:.625rem;height:.625rem;background-color:#000;border-radius:50%;margin-right:.625rem;flex-shrink:0}.preloader-svg{position:absolute;top:0;width:100%;height:calc(100% + 300px)}@media (max-width: 768px){.preloader-text{font-size:clamp(2rem,6vw,3rem)}.preloader-dot{width:.5rem;height:.5rem;margin-right:.5rem}}@media (max-width: 480px){.preloader-text{font-size:clamp(1.5rem,8vw,2.5rem)}.preloader-dot{width:.375rem;height:.375rem;margin-right:.375rem}}.floatingchat-container-wrap,.floating-chat-kofi-popup-iframe{left:unset!important;right:16px!important}
