@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swap";.discover-page{max-width:1400px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md)}.discover-header{text-align:center;margin-bottom:var(--spacing-3xl)}.discover-title{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-md);color:var(--color-primary);font-family:var(--font-serif)}.discover-subtitle{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--color-text-light);margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.discover-search{max-width:600px;margin:0 auto}.discover-search .search-input{width:100%;padding:1rem 1.5rem;font-size:1.1rem;border:2px solid var(--color-border);border-radius:12px;background-color:var(--color-surface);color:var(--color-text);transition:all var(--transition-base)}.discover-search .search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #e945601a}.shelves-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-2xl)}.shelf-card{background-color:var(--color-surface);border-radius:16px;overflow:hidden;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:1px solid var(--color-border);cursor:pointer}.shelf-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-accent)}.shelf-card-header{position:relative;width:100%;height:200px;overflow:hidden}.shelf-cover{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.shelf-card:hover .shelf-cover{transform:scale(1.05)}.shelf-cover-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);display:flex;align-items:center;justify-content:center}.shelf-icon{font-size:4rem;opacity:.9}.shelf-card-content{padding:var(--spacing-lg)}.shelf-card-title{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-primary);font-family:var(--font-serif);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shelf-card-description{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-md);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.6}.shelf-card-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:.9rem}.shelf-badge{display:inline-block;padding:.3rem .8rem;background-color:#e945601a;color:var(--color-accent);border-radius:6px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(233,69,96,.2)}.shelf-count{color:var(--color-text-light);font-weight:500}.no-shelves,.loading,.error{text-align:center;padding:var(--spacing-3xl);font-size:1.2rem;color:var(--color-text-light)}.error{color:var(--color-accent)}.error button{margin-top:var(--spacing-lg);background-color:var(--color-accent);color:#fff;padding:.75rem 2rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.error button:hover{background-color:var(--color-accent-light);transform:translateY(-2px)}@media (max-width: 768px){.shelves-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-lg)}.shelf-card-header{height:160px}}@media (max-width: 480px){.shelves-grid{grid-template-columns:1fr}}.pricing-page{max-width:1400px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md)}.pricing-header{text-align:center;margin-bottom:var(--spacing-3xl)}.pricing-title{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--spacing-md);color:var(--color-primary);font-family:var(--font-serif)}.pricing-subtitle{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--color-text-light);margin-bottom:var(--spacing-xl)}.current-plan{display:inline-flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background-color:#e945601a;border:2px solid rgba(233,69,96,.3);border-radius:12px;font-size:1rem;color:var(--color-primary)}.manage-btn{padding:.5rem 1.5rem;font-size:.9rem;background-color:var(--color-accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all var(--transition-base)}.manage-btn:hover{background-color:var(--color-accent-light)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.pricing-card{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:20px;padding:var(--spacing-2xl);transition:all var(--transition-base);position:relative;display:flex;flex-direction:column}.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.pricing-card.popular{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.pricing-card.current{border-color:#4ade80;background-color:#4ade800d}.popular-badge,.current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:.4rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.popular-badge{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff}.current-badge{background-color:#4ade80;color:#fff}.pricing-card-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.tier-name{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-primary);font-family:var(--font-serif)}.tier-price{display:flex;align-items:baseline;justify-content:center;gap:.3rem;margin-bottom:var(--spacing-sm)}.price-amount{font-size:3.5rem;font-weight:800;color:var(--color-accent);font-family:var(--font-sans)}.price-period{font-size:1.1rem;color:var(--color-text-light);font-weight:500}.tier-storage{font-size:1rem;color:var(--color-text-light);font-weight:500}.features-list{list-style:none;padding:0;margin:0 0 var(--spacing-xl) 0;flex:1}.feature-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;font-size:1rem;color:var(--color-text)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#e945601a;color:var(--color-accent);border-radius:50%;font-weight:700;font-size:.85rem;flex-shrink:0}.pricing-card-footer{margin-top:auto}.plan-btn{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:12px;border:none;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-sans)}.upgrade-btn{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff;box-shadow:var(--shadow-md)}.upgrade-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.upgrade-btn:disabled{opacity:.6;cursor:not-allowed}.current-plan-btn{background-color:#4ade80;color:#fff;cursor:not-allowed;opacity:.8}.free-btn{background-color:var(--color-surface);color:var(--color-text-light);border:2px solid var(--color-border);cursor:default}.pricing-faq{margin-top:var(--spacing-3xl);padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--color-surface);border-radius:20px}.pricing-faq h3{text-align:center;font-size:2rem;margin-bottom:var(--spacing-2xl);color:var(--color-primary);font-family:var(--font-serif)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.faq-item h4{font-size:1.2rem;margin-bottom:var(--spacing-sm);color:var(--color-primary);font-family:var(--font-serif)}.faq-item p{font-size:1rem;color:var(--color-text-light);line-height:1.6}@media (max-width: 768px){.pricing-grid,.faq-grid{grid-template-columns:1fr}.current-plan{flex-direction:column;text-align:center}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)}.app-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;padding:var(--spacing-xl) var(--spacing-md);box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl)}.app-title{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--spacing-xs);font-weight:700;letter-spacing:-.02em}.app-subtitle{font-size:clamp(.9rem,2vw,1.1rem);opacity:.9;font-weight:300;font-family:var(--font-sans)}.auth-section{display:flex;align-items:center;gap:var(--spacing-md)}.sign-in-btn{padding:.75rem 2rem;font-size:1rem;font-weight:600;background-color:#fff;color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.sign-in-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #fff3}.app-main{flex:1;max-width:1400px;margin:0 auto;padding:var(--spacing-3xl) var(--spacing-md);width:100%}.welcome-message{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl);max-width:700px;margin:0 auto}.welcome-message h2{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--spacing-lg);color:var(--color-primary)}.welcome-message p{font-size:clamp(1.1rem,2.5vw,1.3rem);margin-bottom:var(--spacing-2xl);color:var(--color-text-light);line-height:1.7}.cta-button{padding:1.25rem 3rem;font-size:1.25rem;font-weight:600;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all var(--transition-base);box-shadow:0 8px 20px #e945604d}.cta-button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #e9456066}.ebook-card{background-color:var(--color-surface);border-radius:16px;overflow:hidden;transition:all var(--transition-base);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.ebook-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-accent)}.shelf-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-2xl);padding:var(--spacing-md) 0}.ebook-card-cover{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.ebook-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.ebook-card:hover .ebook-card-cover img{transform:scale(1.05)}.ebook-card-content{padding:var(--spacing-lg)}.ebook-card-title{font-size:1.15rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-primary);font-family:var(--font-serif)}.ebook-card-author{font-size:.95rem;color:var(--color-text-light);margin-bottom:var(--spacing-md);font-style:italic}.app-footer{background-color:var(--color-primary);color:#fffc;padding:var(--spacing-xl);text-align:center;margin-top:auto}.shelf-title{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:var(--spacing-sm);color:var(--color-primary)}.shelf-description{font-size:clamp(1rem,2vw,1.2rem);color:var(--color-text-light);margin-bottom:var(--spacing-md)}.shelf-view{margin-bottom:var(--spacing-3xl)}.shelf-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:3px solid var(--color-accent)}.shelf-meta{display:flex;gap:var(--spacing-xl);font-size:.95rem;color:var(--color-text-light)}.header-actions{display:flex;align-items:center;gap:var(--spacing-xl)}.nav-menu{display:flex;gap:var(--spacing-sm);background-color:#ffffff1a;padding:.5rem;border-radius:12px}.nav-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background-color:transparent;color:#fffc;border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.nav-btn:hover{background-color:#ffffff26;color:#fff;transform:none;box-shadow:none}.nav-btn.active{background-color:#fff;color:var(--color-primary)}@media (max-width: 1024px){.header-content{flex-direction:column;gap:var(--spacing-md)}.header-actions{width:100%;justify-content:space-between}.nav-menu,.nav-btn{flex:1}}@media (max-width: 480px){.header-actions{flex-direction:column;gap:var(--spacing-md)}.nav-menu,.auth-section,.sign-in-btn{width:100%}}:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--color-primary: #1a1a2e;--color-secondary: #16213e;--color-accent: #e94560;--color-accent-light: #ff6b81;--color-text: #2d3436;--color-text-light: #636e72;--color-background: #ffffff;--color-surface: #f8f9fa;--color-border: #e9ecef;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;font-family:var(--font-sans);line-height:1.6;font-weight:400;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2;color:var(--color-primary)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-light)}button{border-radius:8px;border:1px solid transparent;padding:.75em 1.5em;font-size:1em;font-weight:500;font-family:var(--font-sans);background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}button:focus,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:active{transform:translateY(0)}@media (prefers-color-scheme: dark){:root{--color-primary: #f8f9fa;--color-secondary: #e9ecef;--color-text: #f8f9fa;--color-text-light: #adb5bd;--color-background: #1a1a2e;--color-surface: #16213e;--color-border: #2d3561}}
