:root{--bg-primary: #ffffff;--bg-secondary: #f9f9f9;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #86868b;--accent-red: rgb(220, 38, 39);--accent-red-light: rgba(220, 38, 39, .15);--accent-green: #10B981;--border-color: #e5e5e5;--shadow: rgba(0, 0, 0, .05);--shadow-hover: rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: rgb(16 24 39);--bg-secondary: #1c1c1e;--text-primary: #f5f5f7;--text-secondary: #a1a1a6;--text-muted: #6e6e73;--accent-red: rgb(220, 38, 39);--accent-red-light: rgba(220, 38, 39, .2);--accent-green: #34D399;--border-color: #2c2c2e;--shadow: rgba(0, 0, 0, .3);--shadow-hover: rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}.icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{max-width:1200px;width:100%;margin:0 auto;padding:0 20px;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--border-color);margin-bottom:40px}.logo{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:600;color:var(--text-primary);text-decoration:none}.logo-image{height:48px;width:auto;object-fit:contain}.nav-items{display:flex;align-items:center;gap:8px}.nav-item{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.nav-item:hover{color:var(--text-primary)}.nav-item.active{background:var(--text-primary);color:var(--bg-primary)}.nav-item-icon{font-size:1rem;width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s ease}.theme-toggle:hover{border-color:var(--text-secondary)}.theme-icon{font-size:1.1rem;width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center}.main-content{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 200px);padding:40px 0}.tab-content{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.quote-display-container{max-width:800px;width:100%;margin:0 auto;padding:0;display:flex;flex-direction:column;justify-content:center}.quote-card{background:transparent;padding:0;position:relative}.quote-content{margin-bottom:32px}.quote-decoration{display:flex;align-items:flex-start;margin-bottom:16px;position:relative}.quote-text{font-family:Playfair Display,serif;font-size:2rem;line-height:1.4;color:var(--text-primary);margin-bottom:20px;font-weight:400;letter-spacing:-.5px;text-align:center}.quote-author{font-size:1rem;color:var(--text-secondary);text-align:center;margin-bottom:16px}.quote-categories{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 24px;width:fit-content}.quote-category{display:inline-flex;align-items:center;padding:8px 16px;background:var(--category-bg, var(--bg-primary));border:1.5px solid var(--category-border, var(--border-color));border-radius:24px;font-size:.85rem;font-weight:500;color:var(--category-text, var(--text-primary));transition:all .2s ease}.quote-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}.action-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.action-button:hover:not(:disabled){border-color:var(--text-secondary)}.action-button.primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.action-button.primary:hover:not(:disabled){border-color:var(--text-secondary);transform:translateY(-1px);box-shadow:0 2px 8px var(--shadow)}.action-button.square{width:44px;height:44px;padding:0;justify-content:center}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-icon{font-size:1.1rem;width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 0;margin-bottom:30px;border-bottom:1px solid var(--border-color)}.top-actions{display:flex;gap:12px;align-items:center}.auth-button-top{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.auth-button-top:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.logout-button{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{color:var(--text-primary);border-color:var(--text-secondary)}.app-nav{display:flex;gap:8px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}.nav-button{padding:8px 16px;font-size:.95rem;font-weight:500;background:transparent;color:var(--text-secondary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.nav-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-button.active{background:var(--text-primary);color:var(--bg-primary)}.modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000}.modal-container{position:relative;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;padding:40px;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px var(--shadow)}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--bg-secondary);border-radius:50%;font-size:20px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:var(--text-secondary);color:var(--bg-primary)}.modal-title{font-size:1.75rem;font-weight:600;margin-bottom:24px;text-align:center;color:var(--text-primary)}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column}.form-input,.form-textarea{padding:12px 16px;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-red)}.auth-button{padding:12px 24px;font-size:1rem;font-weight:600;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.auth-button:hover:not(:disabled){opacity:.9}.auth-switch{margin-top:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}.switch-button{background:none;border:none;color:var(--accent-red);cursor:pointer;text-decoration:underline;font-size:inherit;margin-left:5px;font-weight:500}.switch-button:hover{opacity:.8}.forgot-password-link{margin-top:8px;margin-bottom:16px;text-align:right}.link-button{background:none;border:none;color:var(--accent-red);cursor:pointer;text-decoration:underline;font-size:.9rem;font-weight:500;padding:0}.link-button:hover{opacity:.8}.error-message,.success-message{padding:12px;background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;font-size:.9rem;border:1px solid var(--border-color)}.error-message{border-color:#ef4444;background:#ef44441a}.success-message{border-color:var(--accent-green);background:#10b9811a}.welcome-screen{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:40px 20px}.welcome-content{text-align:center;max-width:800px;width:100%}.welcome-cta{margin-top:60px;padding-top:40px;border-top:1px solid var(--border-color)}.welcome-title{font-size:2rem;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.welcome-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:32px}.welcome-auth-button,.mood-button-large{padding:12px 24px;font-size:1rem;font-weight:600;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.welcome-auth-button:hover,.mood-button-large:hover{opacity:.9}.loading{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-red);border-radius:50%;animation:spin 1s linear infinite}.loading p{font-size:1rem;color:var(--text-secondary)}.error{background:#ef44441a;color:#ef4444;padding:16px;border-radius:8px;border:1px solid #ef4444;margin:20px 0;text-align:center;font-weight:500}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:1rem}.empty-state p{margin-bottom:20px}.quotes-list{display:flex;flex-direction:column;gap:16px;max-width:800px;width:100%;margin:0 auto}.quote-list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s ease}.quote-list-item:hover{border-color:var(--text-secondary);box-shadow:0 2px 8px var(--shadow)}.quote-list-content{flex:1;min-width:0}.quote-list-text{font-family:Playfair Display,serif;font-size:1.25rem;line-height:1.5;color:var(--text-primary);margin-bottom:8px;font-weight:400}.quote-list-author{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px}.quote-list-categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.quote-list-category{display:inline-flex;align-items:center;padding:6px 14px;background:var(--category-bg, var(--bg-primary));border:1.5px solid var(--category-border, var(--border-color));border-radius:20px;font-size:.8rem;font-weight:500;color:var(--category-text, var(--text-primary));transition:all .2s ease}.quote-list-actions{display:flex;gap:8px;flex-shrink:0}.quote-list-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.quote-list-action-btn:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.quote-list-action-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.quote-list-item{flex-direction:column;gap:12px}.quote-list-actions{align-self:flex-end}.quote-list-text{font-size:1.1rem}}@keyframes spin{to{transform:rotate(360deg)}}.modal-enter-active,.modal-leave-active{transition:opacity .3s ease}.modal-enter-from,.modal-leave-to{opacity:0}.quote-fade-enter-active,.quote-fade-leave-active{transition:all .3s ease}.quote-fade-enter-from{opacity:0;transform:translateY(20px)}.quote-fade-leave-to{opacity:0;transform:translateY(-20px)}@media (max-width: 768px){.quote-text{font-size:1.5rem}.quote-actions{flex-direction:column}.action-button{width:100%}.app-header{flex-direction:column;gap:16px;align-items:flex-start}.nav-items{width:100%;justify-content:space-between}}@media (max-width: 480px){.quote-text{font-size:1.25rem}}.profile-container{max-width:600px;width:100%;margin:0 auto}.profile-content{display:flex;flex-direction:column;gap:32px}.profile-header{text-align:center;padding:32px 0}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--text-secondary)}.profile-username{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.profile-email{font-size:1rem;color:var(--text-secondary)}.profile-actions{display:flex;justify-content:center;padding-top:24px;border-top:1px solid var(--border-color)}.profile-actions .logout-button{padding:12px 24px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.profile-actions .logout-button:hover{color:var(--text-primary);border-color:var(--text-secondary)}.preferences-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.preferences-description{font-size:.95rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.loading-categories{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}.loading-categories .loading-spinner{width:32px;height:32px}.loading-categories p{font-size:.9rem;color:var(--text-secondary)}.categories-section{display:flex;flex-direction:column;gap:20px}.categories-actions{display:flex;gap:12px;flex-wrap:wrap}.category-checkbox{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;user-select:none}.category-checkbox:hover{border-color:var(--text-secondary);background:var(--bg-primary)}.category-checkbox.selected{background:var(--accent-red-light);border-color:var(--accent-red);color:var(--text-primary)}.category-checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-red)}.category-checkbox-label{font-size:.95rem;color:var(--text-primary);flex:1;cursor:pointer}.category-checkbox.selected .category-checkbox-label{font-weight:500}.preferences-actions{display:flex;justify-content:center;align-items:center;gap:12px;padding-top:24px;margin-top:24px}.save-preferences-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-preferences-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-secondary)}[data-theme=dark] .save-preferences-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--text-secondary)}.save-preferences-btn:disabled{opacity:.5;cursor:not-allowed}.save-icon{font-size:1.1rem;display:inline-block;animation:float 2s ease-in-out infinite}.saving-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.empty-categories{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.95rem}@media (max-width: 768px){.categories-grid{grid-template-columns:1fr}.categories-actions{justify-content:space-between}.category-action-btn{flex:1}}.category-selector-container{width:100%;padding:32px 0}.category-selector-header{margin-bottom:32px}.category-selector-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.category-selector-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.category-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px}.category-loading .loading-spinner{width:32px;height:32px}.category-loading p{font-size:.9rem;color:var(--text-secondary)}.category-selector-content{display:flex;flex-direction:column;gap:24px}.category-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.category-action-btn{padding:10px 20px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.category-action-btn:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}[data-theme=dark] .category-action-btn:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.categories-flow{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;align-items:center;justify-content:center;overflow:visible;max-height:none}.category-tag{position:relative;display:inline-flex;align-items:center;padding:8px 16px;background:var(--category-bg, var(--bg-primary));border:1.5px solid var(--category-border, var(--border-color));border-radius:24px;font-size:.85rem;font-weight:500;color:var(--category-text, var(--text-primary));cursor:pointer;transition:all .2s ease;user-select:none;min-width:fit-content;flex-shrink:0}.category-tag.selected{background:#dc26271a;border-color:#dc2627;color:var(--category-text, var(--text-primary))}.category-tag.selected:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0003}.category-tag.selected:before{background:#ffffff1a}.tag-content{position:relative;z-index:1;display:flex;align-items:center;gap:0}.tag-label{font-size:.85rem;font-weight:500;color:var(--category-text, var(--text-primary));transition:color .2s ease;white-space:nowrap}.category-tag.selected .tag-label{color:var(--category-text, var(--text-primary));font-weight:500}.tag-ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);pointer-events:none}.category-tag:active .tag-ripple{animation:ripple .6s ease-out}@keyframes ripple{0%{width:0;height:0;opacity:1}to{width:200px;height:200px;opacity:0}}@keyframes tag-appear{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.category-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:.95rem}@media (max-width: 768px){.categories-flow{gap:8px}.category-tag{padding:8px 16px}.tag-label{font-size:.85rem}.category-selector-title{font-size:1.25rem}.category-actions{justify-content:center}.category-action-btn{flex:1}}@media (max-width: 480px){.categories-flow{gap:6px}.category-tag{padding:8px 14px}.tag-label{font-size:.8rem}.tag-check{width:16px;height:16px;font-size:10px}}.about-page{width:100%;padding:0;min-height:100vh}.about-hero{background:var(--bg-primary);padding:80px 20px 60px;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:60px}.about-container{max-width:900px;margin:0 auto;padding:0 20px}.about-title{font-size:4rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;font-family:Playfair Display,serif;text-align:center;letter-spacing:-1px;line-height:1.1}.about-hero-text{font-size:1.5rem;line-height:1.6;color:var(--text-secondary);font-weight:400;max-width:600px;margin:0 auto}.about-section{margin-bottom:64px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-section-featured{padding:48px;background:transparent;border-radius:20px;border:1px solid var(--border-color);position:relative;overflow:hidden}.about-section-featured:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-red),rgba(220,38,39,.6));opacity:.6}.about-section-card{padding:40px;background:transparent;border:1px solid var(--border-color);border-radius:16px;transition:all .3s ease}.about-section-card:hover{border-color:var(--text-secondary);box-shadow:0 4px 20px var(--shadow);transform:translateY(-2px)}.about-icon{text-align:center;margin-bottom:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);animation:float 3s ease-in-out infinite}.about-icon svg{width:48px;height:48px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.about-section-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:20px;font-family:Playfair Display,serif;text-align:center}.about-intro{font-size:1.5rem;line-height:1.7;color:var(--text-primary);margin-bottom:32px;font-weight:500;text-align:center;font-family:Playfair Display,serif}.about-text-group{display:flex;flex-direction:column;gap:16px}.about-text{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);margin-bottom:0}.about-subtitle{font-size:2.25rem;font-weight:600;color:var(--text-primary);margin-bottom:24px;font-family:Playfair Display,serif;text-align:center;line-height:1.3}.about-list{list-style:none;padding:0;margin:32px 0;display:flex;flex-direction:column;gap:16px}.about-list li{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);display:flex;align-items:center;gap:12px;padding:12px 20px;background:transparent;border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.about-list li:hover{border-color:var(--accent-red);transform:translate(4px);box-shadow:0 2px 8px var(--shadow)}.list-icon{flex-shrink:0;color:var(--accent-red);display:flex;align-items:center;justify-content:center}.list-icon svg{width:16px;height:16px}.about-divider{display:flex;align-items:center;justify-content:center;gap:20px;margin:80px 0;position:relative}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent);max-width:200px}.divider-icon{opacity:.4;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.divider-icon svg{width:20px;height:20px}.about-section-contact{padding:48px;background:transparent;border-radius:20px;border:1px solid var(--border-color);text-align:center}.about-contact{margin-top:40px;padding:32px;background:transparent;border-radius:16px;border:2px solid var(--accent-red);box-shadow:0 4px 20px #dc262726;transition:all .3s ease}.about-contact:hover{box-shadow:0 6px 30px #dc262733;transform:translateY(-2px)}.about-contact-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.contact-icon{display:flex;align-items:center;justify-content:center;color:var(--accent-red)}.contact-icon svg{width:20px;height:20px}.about-contact-label{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.about-contact-link{font-size:1.125rem;color:var(--text-primary);text-decoration:none;transition:all .2s ease;word-break:break-all;display:inline-block;padding:8px 16px;border-radius:8px;font-weight:500}.about-contact-link:hover{color:var(--text-secondary);background:var(--bg-secondary);transform:scale(1.05)}@media (max-width: 768px){.about-hero{padding:60px 20px 40px}.about-title{font-size:2.5rem;margin-bottom:16px}.about-hero-text{font-size:1.25rem}.about-section-featured,.about-section-card,.about-section-contact{padding:32px 24px}.about-intro{font-size:1.25rem}.about-text{font-size:1rem}.about-subtitle{font-size:1.75rem}.about-section-title{font-size:1.5rem}.about-divider{margin:60px 0;gap:12px}.divider-line{max-width:100px}.about-icon{font-size:2.5rem}.about-contact{padding:24px}}
