*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{margin:0;padding:0;min-height:100vh;background:var(--background-dark)}#root{min-height:100vh;width:100vw}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.romance-dashboard{padding:2rem;width:100%;min-height:calc(100vh - 4rem);margin:0;display:flex;flex-direction:column}.section-title{background:linear-gradient(45deg,var(--primary-purple),#FF69B4);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(1.5rem,5vw,2rem);margin-bottom:clamp(1.5rem,4vw,2rem);text-align:center}.countdown-section{margin-bottom:clamp(2rem,6vw,4rem)}.countdown-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1rem,3vw,2rem)}.countdown-card{background:var(--card-bg);padding:clamp(1.5rem,4vw,2rem);border-radius:15px;text-align:center;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;position:relative;overflow:hidden}.countdown-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(45deg,var(--primary-purple),#FF69B4);opacity:0;transition:opacity .3s ease}.countdown-card:hover{transform:translateY(-5px)}.countdown-card:hover:before{opacity:1}.countdown-card h3{color:#fff;margin-bottom:.5rem;font-size:clamp(1rem,3vw,1.2rem)}.countdown-card .countdown{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;background:linear-gradient(45deg,var(--primary-purple),#FF69B4);-webkit-background-clip:text;background-clip:text;color:transparent;margin:.5rem 0}.countdown-card .date{display:block;color:#a5b4fc;font-size:clamp(.8rem,2.5vw,.9rem);margin-top:.5rem}.countdown-card.special{background:linear-gradient(135deg,#8b5cf61a,#ff69b41a)}.countdown-card.special:before{background:linear-gradient(45deg,#ff69b4,gold)}.memories-section{margin-top:clamp(2rem,6vw,4rem)}.add-memory-form{background:var(--card-bg);padding:clamp(1.5rem,4vw,2rem);border-radius:15px;margin-bottom:3rem;display:grid;gap:clamp(.8rem,2vw,1rem);border:1px solid rgba(255,255,255,.1);max-width:800px;margin-left:auto;margin-right:auto}.add-memory-form input,.add-memory-form textarea{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:clamp(.6rem,2vw,.8rem);border-radius:8px;color:#fff;font-size:clamp(.9rem,2.5vw,1rem)}.add-memory-form textarea{min-height:100px;resize:vertical}.add-btn{background:linear-gradient(45deg,var(--primary-purple),var(--primary-blue));color:#fff;border:none;padding:clamp(.8rem,2.5vw,1rem);border-radius:8px;cursor:pointer;font-weight:700;transition:all .3s ease;font-size:clamp(.9rem,2.5vw,1rem)}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;width:100%;padding:2rem 0}.memory-card{background:var(--card-bg);border-radius:15px;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.memory-card:hover{transform:translateY(-5px)}.memory-image{width:100%;height:clamp(150px,30vw,200px);overflow:hidden}.memory-image img{width:100%;height:100%;object-fit:cover}.memory-content{padding:clamp(1rem,3vw,1.5rem)}.memory-content h3{color:#fff;margin-bottom:.5rem;font-size:clamp(1rem,3vw,1.2rem)}.memory-date{color:var(--primary-purple);font-size:.9rem;margin-bottom:1rem}.memory-description{color:#a5b4fc;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;transition:all .3s ease}.memory-description.expanded{-webkit-line-clamp:unset}.memory-card.expanded{grid-column:1 / -1;max-width:600px;margin:0 auto;transform:none}.memory-card.expanded .memory-image{height:clamp(200px,40vw,300px)}@media (max-width: 768px){.romance-dashboard{padding:1rem}.memories-grid,.countdown-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}.countdown-card .countdown{font-size:1.5rem}.add-memory-form{margin-bottom:2rem}.add-memory-form textarea{min-height:80px}}@media (max-width: 380px){.romance-dashboard{padding:.8rem}.countdown-card,.add-memory-form{padding:1.2rem}.file-input-label span{font-size:.9rem}.memory-content{padding:1rem}.memory-description{font-size:.9rem}}@media (max-height: 500px) and (orientation: landscape){.countdown-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.countdown-card{padding:1rem}.memory-image{height:120px}}.image-upload-container{position:relative;margin-bottom:1rem}.file-input{display:none}.file-input-label{display:flex;align-items:center;justify-content:center;padding:clamp(.8rem,2.5vw,1rem);background:#ffffff1a;border:2px dashed rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;color:#a5b4fc;font-size:clamp(.9rem,2.5vw,1rem)}.file-input-label:hover{background:#ffffff26;border-color:#ffffff4d}.file-input-label span{display:flex;align-items:center;gap:.5rem}.image-preview{margin-top:1rem;position:relative;border-radius:8px;overflow:hidden;max-width:min(300px,90%);margin-left:auto;margin-right:auto}.image-preview img{width:100%;height:auto;display:block}.remove-image{position:absolute;top:.5rem;right:.5rem;background:#00000080;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.remove-image:hover{background:#000000b3;transform:scale(1.1)}@media (hover: none){.countdown-card:hover,.memory-card:hover{transform:none}.add-btn:active,.file-input-label:active{transform:scale(.98)}}.loading{text-align:center;color:#a5b4fc;padding:2rem;grid-column:1 / -1}.error-message{background:#ff634733;color:tomato;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.delete-btn{background:#ff634733;color:tomato;border:1px solid rgba(255,99,71,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;margin-top:1rem;transition:all .3s ease}.delete-btn:hover{background:#ff63474d}@media (hover: none){.delete-btn:active{transform:scale(.98)}}.spiritual-comfort{padding:2rem;width:100%;min-height:calc(100vh - 4rem);margin:0;display:flex;flex-direction:column}.moods-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.mood-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .3s ease}.mood-card:hover{transform:translateY(-3px);background:#ffffff1a}.mood-card.selected{background:linear-gradient(135deg,#8b5cf633,#ff69b433);border-color:var(--primary-purple)}.mood-emoji{font-size:2rem}.mood-description{color:#a5b4fc;font-size:.9rem;text-align:center}.dua-container{flex:1;display:flex;flex-direction:column;background:var(--card-bg);border-radius:15px;padding:2rem;margin-top:2rem;border:1px solid rgba(255,255,255,.1);animation:fadeIn .5s ease}.dua-content{flex:1;overflow-y:auto;max-height:calc(100vh - 400px);white-space:pre-wrap;line-height:1.8;color:#fff;margin-bottom:1.5rem}.share-btn{background:var(--card-bg);border:1px solid rgba(255,255,255,.2);color:#a5b4fc;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.share-btn:hover{background:#ffffff1a}.loading-container{text-align:center;padding:2rem;color:#a5b4fc}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--primary-purple);animation:spin 1s linear infinite;margin:0 auto 1rem}@media (max-width: 768px){.spiritual-comfort{padding:1rem}.moods-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dua-container{padding:1.5rem}}@media (max-width: 480px){.mood-card{padding:1rem}.mood-emoji{font-size:1.5rem}}.header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.toggle-btn{background:var(--card-bg);border:1px solid rgba(255,255,255,.2);color:#a5b4fc;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{background:#ffffff1a}.dua-actions{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{flex:1;min-width:120px;background:var(--card-bg);border:1px solid rgba(255,255,255,.2);color:#a5b4fc;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.save-btn{background:linear-gradient(135deg,#8b5cf633,#ff69b433)}.saved-duas{display:flex;flex-direction:column;gap:1.5rem}.saved-dua-card{background:var(--card-bg);border-radius:15px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.saved-dua-header{display:flex;justify-content:space-between;margin-bottom:1rem;color:#a5b4fc;font-size:.9rem}.no-duas{text-align:center;color:#a5b4fc;padding:2rem}@media (max-width: 768px){.header-actions{flex-direction:column;gap:1rem}.dua-actions{flex-direction:column}.action-btn{width:100%}}.success-message{background:#48bb7833;color:#48bb78;padding:1rem;border-radius:8px;margin:1rem 0;text-align:center;animation:fadeIn .3s ease}.save-btn:disabled{background:linear-gradient(135deg,#48bb7833,#48bb7866);cursor:default;color:#48bb78}.loading-container p{font-size:1.1rem;margin-top:1rem;background:linear-gradient(45deg,var(--primary-purple),#FF69B4);-webkit-background-clip:text;background-clip:text;color:transparent}.story-assistant{padding:2rem;width:100%;min-height:calc(100vh - 4rem);margin:0;display:flex;flex-direction:column}.subtitle{text-align:center;color:#a5b4fc;margin-bottom:2rem;font-size:clamp(1rem,2.5vw,1.1rem)}.genre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.genre-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center}.genre-card:hover{transform:translateY(-3px);background:#ffffff1a}.genre-card.selected{background:linear-gradient(135deg,#8b5cf633,#ff69b433);border-color:var(--primary-purple)}.genre-icon{font-size:2rem;display:block;margin-bottom:1rem}.genre-card h4{margin:.5rem 0;color:#fff}.genre-card p{color:#a5b4fc;font-size:.9rem;margin:0}.topic-input{margin:2rem 0}.input-group{display:flex;gap:1rem;margin-top:1rem}.topic-field{flex:1;background:var(--card-bg);border:1px solid rgba(255,255,255,.2);padding:.8rem 1rem;border-radius:8px;color:#fff;font-size:1rem}.generate-btn{background:linear-gradient(135deg,var(--primary-purple),#FF69B4);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.generate-btn:disabled{opacity:.7;cursor:not-allowed}.generated-content{margin-top:2rem;animation:fadeIn .5s ease}.content-display{background:var(--card-bg);border-radius:15px;padding:2rem;margin:1rem 0;border:1px solid rgba(255,255,255,.1);white-space:pre-wrap;min-height:300px;max-height:calc(100vh - 400px);overflow-y:auto}.content-display pre{font-family:inherit;margin:0;white-space:pre-wrap}.content-actions{display:flex;gap:1rem;margin-top:1rem}.action-btn{flex:1;background:var(--card-bg);border:1px solid rgba(255,255,255,.2);color:#a5b4fc;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#ffffff1a}.loading-container{text-align:center;margin:2rem 0}.loading-spinner{border:4px solid rgba(255,255,255,.1);border-left-color:var(--primary-purple);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}.error-message{background:#ef444433;color:#ef4444;padding:1rem;border-radius:8px;margin:1rem 0;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.input-group,.content-actions{flex-direction:column}.action-btn{width:100%}}#root{max-width:100vw;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2rem}.read-the-docs{color:#888}:root{--primary-purple: #9c0e8b;--primary-blue: #0b3983;--background-dark: #1a1a2e;--card-bg: rgba(255, 255, 255, .1)}.app-container{min-height:100vh;width:100vw;background:linear-gradient(135deg,var(--background-dark),#2A2A4A);padding:0;color:#fff;overflow-x:hidden}.app-header{text-align:center;margin-bottom:4rem}.gradient-text{color:var(--primary-purple);font-size:2.5rem;margin:2px}.subtitle{color:#a5b4fc;font-size:1.2rem;margin-top:.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:100%;max-width:none;padding:0 2rem}.feature-card{background:var(--card-bg);border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-card h2{color:#fff;margin-bottom:1rem}.feature-card p{color:#a5b4fc;margin-bottom:1.5rem}.feature-btn{background:linear-gradient(45deg,var(--primary-purple),var(--primary-blue));border:none;padding:.8rem 1.5rem;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;transition:opacity .3s ease}.feature-btn:hover{opacity:.9}.assistant-avatar{position:fixed;bottom:2rem;right:2rem;width:80px;height:80px;background:linear-gradient(45deg,var(--primary-purple),var(--primary-blue));border-radius:50%;cursor:pointer;transition:transform .3s ease}.assistant-avatar:hover{transform:scale(1.1)}@media (max-width: 768px){.features-grid{grid-template-columns:1fr}.app-container{padding:1rem}}.birthday-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.birthday-modal{background:var(--card-bg);padding:2rem;border-radius:20px;text-align:center;max-width:90vw;width:800px;border:1px solid rgba(255,255,255,.1)}.birthday-title{color:#fff;font-size:2rem;margin-bottom:1.5rem;background:linear-gradient(45deg,#FF69B4,var(--primary-purple));-webkit-background-clip:text;background-clip:text;color:transparent}.birthday-video{width:100%;max-height:70vh;border-radius:10px;margin-bottom:1.5rem}.close-video-btn{background:linear-gradient(45deg,var(--primary-purple),var(--primary-blue));border:none;padding:1rem 2rem;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease}.close-video-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.feature-container{width:100%;min-height:100vh;padding:1rem}.back-btn{position:absolute;top:1rem;left:1rem;z-index:10;background:var(--card-bg);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.8rem 1.5rem;border-radius:10px;cursor:pointer;margin-bottom:2rem;transition:all .3s ease}.back-btn:hover{background:#ffffff1a;transform:translate(-5px)}
