*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-start: #E8E0F0;--color-bg-end: #D4E7D4;--color-text: #2D3748;--color-text-muted: #718096;--color-primary: #805AD5;--color-primary-hover: #6B46C1;--color-card: rgba(255, 255, 255, .9);--color-card-border: rgba(255, 255, 255, .5);--color-surface: white;--color-surface-alt: #F7FAFC;--color-border: #E2E8F0;--color-danger: #E53E3E;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 30px rgba(0, 0, 0, .12);--radius: 16px;--radius-sm: 8px;--gradient-bg: linear-gradient(-45deg, #E8E0F0, #D4E7D4, #F5E6D3, #D4E7E8)}[data-theme=dark]{--color-bg-start: #1A1225;--color-bg-end: #121E12;--color-text: #E2E8F0;--color-text-muted: #A0AEC0;--color-primary: #B794F4;--color-primary-hover: #D6BCFA;--color-card: rgba(45, 42, 55, .9);--color-card-border: rgba(255, 255, 255, .1);--color-surface: #2D2A37;--color-surface-alt: #363242;--color-border: #4A4458;--color-danger: #FC8181;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .3);--shadow-hover: 0 8px 30px rgba(0, 0, 0, .4);--gradient-bg: linear-gradient(-45deg, #1A1225, #121E12, #1E1710, #101E1E)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text);background:var(--color-bg-start);line-height:1.6}.app{min-height:100vh;width:100%;background:var(--gradient-bg);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding:20px;display:flex;flex-direction:column;align-items:center}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 0;margin-bottom:20px;width:100%;max-width:800px}.app-title{font-size:1.5rem;font-weight:600;color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle{background:var(--color-card);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-hover)}.favorites-toggle{background:var(--color-card);color:var(--color-text);border:none;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:1rem;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s}.favorites-toggle:hover{transform:scale(1.05);box-shadow:var(--shadow-hover)}.app-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:800px;margin:0 auto;width:100%}.name-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:center;align-items:center;padding:20px}.name-prompt{background:var(--color-card);padding:40px;border-radius:var(--radius);box-shadow:var(--shadow-hover);text-align:center;max-width:400px;width:100%;animation:fadeInUp .4s ease}.name-prompt h2{font-size:1.8rem;margin-bottom:8px}.name-prompt p{color:var(--color-text-muted);margin-bottom:24px}.name-prompt input{width:100%;padding:14px 18px;font-size:1.1rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:20px;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .2s}.name-prompt input:focus{border-color:var(--color-primary)}.name-prompt-buttons{display:flex;flex-direction:column;gap:12px}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:14px 28px;font-size:1rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s,transform .2s}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text-muted);border:none;padding:10px;font-size:.95rem;cursor:pointer;transition:color .2s}.btn-secondary:hover{color:var(--color-text)}.mood-selector{text-align:center;width:100%}.mood-selector h2{font-size:1.8rem;margin-bottom:8px}.mood-subtitle{color:var(--color-text-muted);margin-bottom:30px}.mood-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.mood-card{background:var(--color-card);border:2px solid var(--color-card-border);border-radius:var(--radius);padding:24px 20px;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative}.mood-card:hover:not(.locked){transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--color-primary)}.mood-card.locked{opacity:.5;cursor:not-allowed}.mood-emoji{font-size:2.5rem}.mood-label{font-size:1rem;font-weight:500;text-align:center}.lock-icon{position:absolute;top:8px;right:8px;font-size:.8rem}.quote-container{width:100%;text-align:center}.back-button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;margin-bottom:20px;transition:color .2s}.back-button:hover{color:var(--color-text)}.quote-card{background:var(--color-card);border-radius:var(--radius);padding:60px 50px;box-shadow:var(--shadow-soft);margin-bottom:24px;min-height:250px;display:flex;flex-direction:column;justify-content:center}.quote-text{font-size:1.8rem;font-weight:500;line-height:1.5;margin-bottom:16px}.quote-author{color:var(--color-text-muted);font-style:italic}.quote-actions{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.action-btn{background:var(--color-card);border:none;width:56px;height:56px;border-radius:50%;cursor:pointer;font-size:1.4rem;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-hover)}.favorite-btn.is-favorite{animation:heartPop .3s ease}@keyframes heartPop{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.hint-text{color:var(--color-text-muted);font-size:.85rem}.streak-badge{background:var(--color-card);padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:500;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:6px}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1000}.confetti-particle{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;animation:confettiFall 1.5s ease-out forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-300px) rotate(720deg);opacity:0}}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:flex-end;z-index:100}.favorites-drawer{background:var(--color-surface);width:100%;max-width:400px;height:100%;padding:24px;overflow-y:auto;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.drawer-header h3{font-size:1.3rem;color:var(--color-text)}.close-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--color-text-muted);line-height:1}.close-btn:hover{color:var(--color-text)}.empty-message{color:var(--color-text-muted);text-align:center;padding:40px 0}.favorites-list{display:flex;flex-direction:column;gap:12px}.favorite-item{background:var(--color-surface-alt);padding:16px;border-radius:var(--radius-sm);position:relative}.favorite-item p{font-size:.95rem;padding-right:30px;color:var(--color-text)}.remove-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--color-text-muted)}.remove-btn:hover{color:var(--color-danger)}.export-btn{width:100%;margin-top:20px;background:var(--color-surface-alt);color:var(--color-text);border:2px solid var(--color-border);padding:12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;transition:border-color .2s}.export-btn:hover{border-color:var(--color-primary)}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;padding:20px;z-index:100}.share-modal{background:var(--color-surface);border-radius:var(--radius);padding:24px;max-width:500px;width:100%;position:relative;animation:fadeInUp .3s ease}.share-card-preview{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius);padding:40px 30px;margin-bottom:20px;aspect-ratio:1200 / 627;display:flex;align-items:center;justify-content:center}.share-card-content{text-align:center}.share-quote{color:#fff;font-size:1.3rem;font-weight:500;line-height:1.5;margin-bottom:20px}.share-watermark{color:#ffffffb3;font-size:.85rem}.share-actions{display:flex;gap:12px}.share-actions button{flex:1}.greeting{text-align:center;color:var(--color-text-muted);font-size:1rem;margin-top:auto;padding-top:20px;width:100%;max-width:800px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .4s ease}.fade-in-left{animation:fadeInLeft .4s ease}.fade-in-right{animation:fadeInRight .4s ease}@keyframes fadeInLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.app-footer{text-align:center;padding:30px 20px;margin-top:auto;width:100%;max-width:800px}.footer-tagline{color:var(--color-text-muted);font-size:.9rem;margin-bottom:12px}.footer-tagline strong{color:var(--color-text)}.footer-links{display:flex;justify-content:center;align-items:center;gap:16px}.footer-links a{color:var(--color-text-muted);font-size:1.4rem;transition:color .2s,transform .2s;display:flex}.footer-links a:hover{color:var(--color-primary);transform:scale(1.15)}@media (prefers-reduced-motion: reduce){.app{animation:none}.confetti-particle{animation:none;display:none}.favorites-drawer,.share-modal,.name-prompt,.fade-in-up,.fade-in-left,.fade-in-right,.favorite-btn.is-favorite{animation:none}.mood-card:hover:not(.locked),.action-btn:hover,.favorites-toggle:hover,.btn-primary:hover,.footer-links a:hover{transform:none}}@media (max-width: 480px){.app{padding:16px}.app-title{font-size:1.2rem}.quote-text{font-size:1.25rem}.mood-grid{grid-template-columns:repeat(2,1fr)}.quote-card{padding:30px 20px}}
