body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--transition-standard:0.4s cubic-bezier(0.25,0.8,0.25,1);--shadow-soft:0 10px 30px #5a4a3a40;--shadow-hover:0 15px 35px #5a4a3a59;--primary-color:var(--journal-primary);--accent-color:var(--journal-accent);--accent-gradient:linear-gradient(135deg,var(--warm-gold),var(--journal-accent));--light-bg:var(--journal-light);--card-bg:var(--journal-card-bg);--text-primary:var(--journal-text);--text-secondary:#5a4a3a;--error-color:#ef476f;--success-color:#06d6a0}.auth-container{align-items:center;background:radial-gradient(ellipse at bottom right,#e6d7ca 0,#f3e9dd 100%);display:flex;font-family:"Noto Serif",Georgia,serif;justify-content:center;min-height:100vh;padding:20px}.auth-card,.auth-container{overflow:hidden;position:relative}.auth-card{animation:cardAppear .8s cubic-bezier(.34,1.56,.64,1) forwards;background:#fffdf7eb;background:var(--card-bg);border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:16px;box-shadow:0 10px 30px #5a4a3a40;box-shadow:var(--shadow-soft);margin:0 auto;max-width:520px;padding:40px;transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all var(--transition-standard);width:100%;z-index:10}.auth-card:hover{box-shadow:0 15px 35px #5a4a3a59;box-shadow:var(--shadow-hover);transform:translateY(-5px)}.card-decoration{background:linear-gradient(135deg,#d4a96a,#d9ae94);background:var(--accent-gradient);height:5px;right:0}.welcome-title{animation:slideDown .6s ease-out .2s both;color:#3c2415;color:var(--text-primary);font-size:2.5rem;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.auth-subtitle{animation:slideDown .6s ease-out .4s both;color:#5a4a3a;color:var(--text-secondary);font-size:1.1rem;font-weight:400;margin-bottom:30px;text-align:center}.quote-container{animation:fadeIn .8s ease-out .5s both;background:#ffffff80;border-left:4px solid #d9ae94;border-left:4px solid var(--accent-color);border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:30px;padding:20px 30px;position:relative}.inspirational-quote{color:#5a4a3a;color:var(--text-secondary);font-size:1rem;font-style:italic;line-height:1.6;text-align:center}.auth-form{animation:fadeIn .8s ease-out .6s both;gap:24px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px;transition:all .3s ease}.form-group:focus-within{transform:translateY(-2px)}label{align-items:center;color:#5a4a3a;color:var(--text-secondary);display:flex;font-size:.9rem;font-weight:600;margin-left:5px}.form-icon,label{transition:color .3s ease}.form-icon{color:#785c43;color:var(--primary-color)}.form-group:focus-within .form-icon,.form-group:focus-within label{color:#d9ae94;color:var(--accent-color)}.input-wrapper,input{width:100%}input{background-color:#fff;border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:8px;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;color:#3c2415;color:var(--text-primary);font-size:1rem;padding:16px;position:relative;transition:all .3s ease;z-index:2}.password-input input{padding-right:60px}input:focus{background-color:#fff;border-color:#d9ae94;border-color:var(--accent-color);box-shadow:0 0 0 3px #d9ae9433;outline:none}.input-focus-effect{background-color:#d9ae94;background-color:var(--accent-color);bottom:-3px;height:2px;opacity:0;transition:width .4s cubic-bezier(.25,.8,.25,1),opacity .3s ease;width:0;z-index:1}input:focus~.input-focus-effect{opacity:1;width:100%}.password-input{align-items:center;display:flex;position:relative;width:100%}.password-toggle{background:none;border:none;border-radius:4px;color:#5a4a3a;color:var(--text-secondary);cursor:pointer;font-size:.8rem;padding:5px 10px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:3}.password-toggle:hover{background-color:#5a4a3a1a;color:#785c43;color:var(--primary-color)}.password-toggle:focus{outline:2px solid #d9ae94;outline:2px solid var(--accent-color);outline-offset:2px}.auth-button{background:linear-gradient(135deg,#d4a96a,#d9ae94);background:var(--accent-gradient);border:none;border-radius:8px;box-shadow:0 4px 15px #d9ae944d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:1px;margin-top:10px;overflow:hidden;padding:16px 20px;position:relative;text-transform:uppercase;transition:all .3s ease}.button-text{position:relative;z-index:2}.button-shine{background:linear-gradient(90deg,#0000,#fff3,#0000);transition:all .6s ease}.auth-button:hover{box-shadow:0 8px 20px #d9ae9466;transform:translateY(-3px)}.auth-button:hover .button-shine{left:100%}.auth-button:active{transform:translateY(1px)}.auth-alt-option{animation:fadeIn .8s ease-out 1s both;background:#ffffff80;border-bottom:1px solid #ffffff80;border-radius:8px;border-top:1px solid #ffffff80;margin-top:30px;padding:20px 15px;text-align:center}.auth-alt-option p{color:#5a4a3a;color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}.text-button{background:none;border:none;color:#785c43;color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:600;padding:5px 10px;position:relative;transition:all .3s ease}.text-button:after{background-color:#d9ae94;background-color:var(--accent-color);bottom:0;content:"";height:1px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.text-button:hover{color:#d9ae94;color:var(--accent-color)}.text-button:hover:after{width:70%}.error-message{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;background-color:#ef476f1a;border-left:3px solid #ef476f;border-left:3px solid var(--error-color);color:#ef476f;color:var(--error-color)}.error-message,.success-message{border-radius:8px;font-size:.9rem;margin-bottom:20px;padding:14px 18px}.success-message{animation:pulse 1.5s infinite;background-color:#06d6a01a;border-left:3px solid #06d6a0;border-left:3px solid var(--success-color);color:#06d6a0;color:var(--success-color);font-weight:500;text-align:center}.helper-text{animation:fadeIn .8s ease-out 1.2s both;color:#5a4a3a;color:var(--text-secondary);font-size:.8rem;margin-top:25px;opacity:.8;text-align:center}.success-animation{animation:successPulse 1s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}@media (max-width:600px){.auth-card{padding:30px 20px}.welcome-title{font-size:2rem}.auth-button,input{padding:14px 16px}.floating-shapes:before{height:120px;left:10%;top:5%;width:120px}.floating-shapes:after{height:100px;right:10%;top:70%;width:100px}.password-input input{padding-right:50px}}.setup-container{background:linear-gradient(135deg,#f9f1e9,#efebe0);font-family:Courier New,Courier,monospace;min-height:100vh;overflow-y:auto;padding:40px 20px;position:relative}.setup-card{background:#fff8e7e6;border:2px solid #d7ccc8;border-radius:10px;box-shadow:0 4px 8px #0000001a;margin:0 auto;max-width:600px;padding:30px;text-align:center}.welcome-title{color:#5d4037;margin-bottom:10px}.setup-subtitle{color:#4e342e;font-size:1.2rem;margin-bottom:20px}.step-indicator{font-size:1rem}.setup-step h2,.step-indicator{color:#6d4c41;margin-bottom:20px}.setup-step h2{font-size:1.8rem}.form-group{margin-bottom:15px;text-align:left}.form-group label{color:#6d4c41;display:block;font-size:1.2rem;margin-bottom:5px}.form-group input,.form-group select{background:#fff;border:1px solid #d7ccc8;border-radius:5px;font-size:1.2rem;padding:8px;width:100%}.back-button,.next-button{background:#8d5524;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin:10px 5px;padding:10px 20px}.back-button{background:#6d4c41}.back-button:hover,.next-button:hover{opacity:.9}.success-message{color:#388e3c;margin:10px 0}:root{--soft-blue:#a7c7e7;--sage-green:#a8c69f;--muted-teal:#6ba292;--text-dark:#444;--error-light:#f5d7d7;--success-light:#d7e4d9;--font-large:1.5rem;--font-medium:1.25rem;--font-small:1.125rem}*{box-sizing:border-box}.journal-container{align-items:center;background:radial-gradient(ellipse at bottom right,#e6d7ca 0,#f3e9dd 100%);display:flex;flex-direction:column;font-family:"Noto Serif",Georgia,serif;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:40px 20px 60px;position:relative;transition:filter .4s cubic-bezier(.25,.8,.25,1);transition:filter var(--journal-transition)}.vintage-background{background-image:linear-gradient(90deg,#fffdf780,#fffdf71a),linear-gradient(180deg,#fffdf780,#fffdf71a);background-size:20px 20px,20px 20px;opacity:.15;pointer-events:none;position:absolute;z-index:0}.floating-shapes{overflow:hidden;z-index:1}.floating-shapes:after,.floating-shapes:before{background:linear-gradient(45deg,#eac9c1,#0000);background:linear-gradient(45deg,var(--soft-pink),#0000);border-radius:50%;content:"";opacity:.2;position:absolute}.floating-shapes:before{animation:float 25s linear infinite;height:200px;left:20%;top:10%;width:200px}.floating-shapes:after{animation:float 20s linear infinite reverse;height:150px;right:15%;top:60%;width:150px}.journal-header{margin-bottom:20px;max-width:800px;position:relative;text-align:center;width:100%;z-index:10}.vintage-title{color:#785c43;color:var(--journal-primary);font-family:Playfair Display,serif;font-size:3rem;letter-spacing:1px;margin-bottom:0;text-shadow:1px 1px 0 #ffffffb3}.decorative-line{background:linear-gradient(90deg,#0000,#d4a96a,#0000);background:linear-gradient(to right,#0000,var(--warm-gold),#0000);height:4px;margin:10px auto 20px;width:180px}.journal-card{animation:cardAppear .8s cubic-bezier(.34,1.56,.64,1) forwards;background:#fffdf7eb;background:var(--journal-card-bg);border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:16px;box-shadow:0 10px 30px #5a4a3a40;box-shadow:var(--journal-shadow);margin:0 auto 40px;max-width:800px;overflow:hidden;padding:40px;transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all var(--journal-transition);width:100%;z-index:10}.journal-card,.vintage-paper{position:relative}.paper-texture{background-image:repeating-linear-gradient(45deg,#ded7cd1a,#ded7cd1a 2px,#0000 0,#0000 4px);background-size:8px 8px;opacity:.08;opacity:var(--paper-texture-opacity);z-index:0}.card-decoration,.paper-texture{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.card-decoration{background:radial-gradient(ellipse at center,#ded7cd1a 0,#0000 70%);background-position:50%;background-repeat:no-repeat;background-size:95% 95%;opacity:.06;z-index:1}.card-corner{background:linear-gradient(45deg,#d9ae94,#0000);background:linear-gradient(45deg,var(--journal-accent),#0000);background-repeat:no-repeat;background-size:contain;border-radius:5px;height:30px;opacity:.5;position:absolute;width:30px;z-index:2}.top-left{left:10px;top:10px;transform:rotate(0deg)}.top-right{right:10px;top:10px;transform:rotate(90deg)}.bottom-left{bottom:10px;left:10px;transform:rotate(270deg)}.bottom-right{bottom:10px;right:10px;transform:rotate(180deg)}.journal-card:hover{box-shadow:0 15px 35px #5a4a3a59;box-shadow:var(--journal-shadow-hover)}.journal-title-wrapper{align-items:center;display:flex;justify-content:center;margin-bottom:10px;position:relative;z-index:5}.welcome-title{color:#785c43;color:var(--journal-primary);font-family:Playfair Display,serif;font-size:2rem;margin:0 15px;text-align:center}.title-icon{color:#d4a96a;color:var(--warm-gold);height:24px;width:24px}.journal-subtitle{color:#3c2415;color:var(--journal-text);font-style:italic;margin-bottom:25px;opacity:.8;text-align:center}.prompt-container{align-items:center;display:flex;justify-content:center;margin:30px 0;position:relative}.prompt-decoration{background:linear-gradient(90deg,#0000,#d9ae94);background:linear-gradient(to right,#0000,var(--journal-accent));height:2px;margin:0 15px;width:60px}.prompt-decoration.right{background:linear-gradient(270deg,#0000,#d9ae94);background:linear-gradient(to left,#0000,var(--journal-accent))}.journal-prompt{color:#785c43;color:var(--journal-primary);font-family:Lora,serif;font-size:1.1rem;font-style:italic;line-height:1.6;margin:0;max-width:500px;padding:0 10px;text-align:center}.success-message{align-items:center;animation:pulse 2s infinite;background-color:#d4a96a26;border-radius:10px;color:#c17817;color:var(--deep-amber);display:flex;font-size:1.1rem;justify-content:center;margin:20px 0;padding:15px}.success-message svg{color:#c17817;color:var(--deep-amber);margin-right:10px}.journal-form{position:relative;z-index:5}.image-container{background:#ffffff80;border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:12px;box-shadow:0 4px 10px #0000000d;height:300px;margin-bottom:20px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all var(--journal-transition);width:100%}.image-container.sepia img{filter:sepia(.7) contrast(1.1)}.image-container.polaroid img{border:15px solid #fff;box-shadow:0 5px 15px #00000026;filter:contrast(1.1) brightness(1.05) saturate(1.1)}.image-container.faded img{filter:contrast(.9) brightness(1.1) saturate(.85)}.image-container.blackwhite img{filter:grayscale(1) contrast(1.2)}.memory-image{height:100%;object-fit:cover;transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all var(--journal-transition);width:100%}.image-placeholder{align-items:center;color:#3c2415;color:var(--journal-text);display:flex;flex-direction:column;height:100%;justify-content:center;opacity:.7;padding:20px;text-align:center;width:100%}.placeholder-icon{animation:float 6s ease-in-out infinite;color:#d9ae94;color:var(--journal-accent);font-size:3rem;margin-bottom:15px}.favorite-button{align-items:center;background:#ffffffb3;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#aaa;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s ease;width:40px}.favorite-button:hover{background:#ffffffe6;transform:scale(1.1)}.favorite-button.favorited{color:#ff6b6b}.favorite-button.favorited svg{animation:heartBeat .5s cubic-bezier(.25,.8,.25,1)}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.filter-options{margin-bottom:20px}.filter-label{color:#3c2415;color:var(--journal-text);font-size:.9rem;font-weight:500;margin-bottom:8px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-button{background:#ffffff80;border:1px solid #d9ae94;border:1px solid var(--journal-accent);border-radius:30px;color:#3c2415;color:var(--journal-text);cursor:pointer;font-size:.85rem;padding:8px 12px;transition:all .3s ease}.filter-button:hover{background:#fffc;transform:translateY(-2px)}.filter-button.active{background:#d9ae94;background:var(--journal-accent);color:#fff}.photo-actions{gap:15px;margin-bottom:25px}.action-button,.photo-actions{display:flex;justify-content:center}.action-button{align-items:center;background:linear-gradient(180deg,#f8f4e9,#f0e6d9);background:linear-gradient(to bottom,var(--journal-light),#f0e6d9);border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:30px;box-shadow:0 2px 6px #00000014;color:#785c43;color:var(--journal-primary);font-size:.95rem;padding:12px 20px;transition:all .3s ease}.action-button:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-3px)}.action-button:active{transform:translateY(-1px)}.action-button svg{margin-right:8px}.action-icon{height:20px;transition:all .3s ease;width:20px}.form-group{margin-bottom:25px}.form-group label{color:#3c2415;color:var(--journal-text);font-size:1rem;font-weight:500;margin-bottom:10px}.form-icon{color:#d4a96a;color:var(--warm-gold);margin-right:8px}.vintage-input{background:#ffffff80;border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:10px;color:#3c2415;color:var(--journal-text);font-family:Lora,serif;font-size:1rem;line-height:1.6;padding:15px;position:relative;resize:vertical;transition:all .3s ease;width:100%;z-index:1}.vintage-input:focus{background:#ffffffb3;border-color:#d9ae94;border-color:var(--journal-accent);box-shadow:0 0 0 3px #d9ae9433;outline:none}.input-focus-effect{border-radius:10px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.form-group.focused .input-focus-effect{box-shadow:0 0 0 3px #d9ae9433}.input-decorations{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.input-decoration{background:linear-gradient(45deg,#d9ae94,#0000);background:linear-gradient(45deg,var(--journal-accent),#0000);background-repeat:no-repeat;background-size:contain;border-radius:50%;height:15px;opacity:.3;position:absolute;width:15px}.mood-selector{margin-bottom:25px}.mood-selector label{color:#3c2415;color:var(--journal-text);display:block;font-weight:500;margin-bottom:10px}.mood-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.mood-button{background:#ffffff80;border:1px solid #d9ae94;border:1px solid var(--journal-accent);border-radius:30px;color:#3c2415;color:var(--journal-text);transition:all .3s ease}.mood-button.selected{background:#d9ae94;background:var(--journal-accent);color:#fff}.ambiance-selector{margin-bottom:25px}.ambiance-selector label{color:#3c2415;color:var(--journal-text);display:block;font-weight:500;margin-bottom:10px}.vintage-select{-webkit-appearance:none;appearance:none;background:#ffffff80;background-image:linear-gradient(45deg,#0000 50%,#3c2415 0),linear-gradient(135deg,#3c2415 50%,#0000 0);background-image:linear-gradient(45deg,#0000 50%,var(--journal-text) 50%),linear-gradient(135deg,var(--journal-text) 50%,#0000 50%);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:10px;color:#3c2415;color:var(--journal-text);font-family:Lora,serif;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.vintage-select:focus{background-color:#ffffffb3;border-color:#d9ae94;border-color:var(--journal-accent);outline:none}.voice-button{align-items:center;background:linear-gradient(180deg,#a0b3c7,#8ca5be);background:linear-gradient(to bottom,var(--dusty-blue),#8ca5be);border:none;border-radius:10px;box-shadow:0 4px 10px #a0b3c74d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;margin-bottom:25px;padding:15px;transition:all .3s ease;width:100%}.voice-button:hover{box-shadow:0 6px 15px #a0b3c766;transform:translateY(-3px)}.voice-button svg{margin-right:10px}.voice-button.recording{animation:recordingPulse 1.5s infinite;background:linear-gradient(180deg,#e27474,#d35f5f)}@keyframes recordingPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.save-button{align-items:center;background:linear-gradient(180deg,#d4a96a,#c49a5f);background:linear-gradient(to bottom,var(--warm-gold),#c49a5f);border:none;border-radius:10px;box-shadow:0 4px 15px #d4a96a4d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:500;justify-content:center;overflow:hidden;padding:15px;position:relative;transition:all .3s ease;width:100%}.save-button:hover{box-shadow:0 6px 20px #d4a96a66;transform:translateY(-3px)}.save-button:disabled{cursor:not-allowed;opacity:.7}.save-button svg{margin-right:10px}.button-shine{animation:shine 3s infinite;background:linear-gradient(90deg,#fff0 0,#ffffff4d 50%,#fff0);height:100%;left:-100%;position:absolute;top:0;width:100%}.success-animation{animation:successPulse 2s ease-out}@keyframes successPulse{0%{box-shadow:0 10px 30px #5a4a3a40;box-shadow:var(--journal-shadow);transform:scale(1)}40%{box-shadow:0 0 30px #d4a96a80;transform:scale(1.02)}80%{box-shadow:0 10px 30px #5a4a3a40;box-shadow:var(--journal-shadow);transform:scale(1)}}.weather-effect{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.raindrop{animation:rain linear infinite;background:linear-gradient(180deg,#fff0,#a0b3c780);height:20px;position:absolute;width:2px}@keyframes rain{0%{opacity:0;transform:translateY(-20px)}50%{opacity:1}to{opacity:0;transform:translateY(calc(100vh + 20px))}}.snowflake{animation:snow linear infinite;background:#fff;border-radius:50%;height:6px;opacity:.7;position:absolute;width:6px}@keyframes snow{0%{opacity:0;transform:translateY(-20px) rotate(0deg)}20%{opacity:.8}80%{opacity:.8}to{opacity:0;transform:translateY(calc(100vh + 20px)) rotate(1turn)}}.sunshine-ray{animation:sunshine 10s linear infinite;background:radial-gradient(ellipse at center,#ffd98066 0,#ffd98000 70%);height:200px;position:absolute;right:0;top:0;width:200px}@keyframes sunshine{0%{opacity:.5;transform:rotate(0deg)}50%{opacity:.8}to{opacity:.5;transform:rotate(1turn)}}.falling-leaf{animation:leaf ease-in-out infinite;background:radial-gradient(ellipse at center,#b6c199 30%,#0000 70%);background:radial-gradient(ellipse at center,var(--muted-sage) 30%,#0000 70%);height:20px;opacity:.6;position:absolute;width:20px}@keyframes leaf{0%{opacity:0;transform:translateY(-20px) rotate(0deg)}20%{opacity:.6}80%{opacity:.6}to{opacity:0;transform:translateY(calc(100vh + 20px)) rotate(1turn)}}.memories-section{margin:0 auto;max-width:800px;position:relative;width:100%;z-index:5}.memories-header{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.memories-title{color:#785c43;color:var(--journal-primary);font-family:Playfair Display,serif;font-size:1.8rem;margin:0 15px}.memories-icon{color:#eac9c1;color:var(--soft-pink)}.no-memories{align-items:center;background:#fffdf7eb;background:var(--journal-card-bg);border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:16px;display:flex;flex-direction:column;padding:40px;text-align:center}.no-memories p{color:#3c2415;color:var(--journal-text);font-style:italic;opacity:.7}.empty-icon{color:#d9ae94;color:var(--journal-accent);font-size:3rem;margin-bottom:15px;opacity:.6}.memories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.memory-card{background:#fffdf7eb;background:var(--journal-card-bg);border:1px solid #a4826059;border:1px solid var(--paper-border-color);border-radius:12px;box-shadow:0 10px 30px #5a4a3a40;box-shadow:var(--journal-shadow);overflow:hidden;transition:all .3s ease}.memory-card:hover{box-shadow:0 15px 35px #5a4a3a59;box-shadow:var(--journal-shadow-hover);transform:translateY(-5px)}.memory-image-container{height:200px;position:relative}.memory-thumbnail{height:100%;object-fit:cover;width:100%}.memory-favorite{align-items:center;background:#ffffffb3;border-radius:50%;color:#ff6b6b;display:flex;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px}.memory-content{padding:15px}.memory-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#3c2415;color:var(--journal-text);display:-webkit-box;font-size:.95rem;line-height:1.6;margin-bottom:15px;max-height:80px;overflow:hidden;text-overflow:ellipsis}.memory-mood{background:#d9ae9426;border-radius:20px;color:#785c43;color:var(--journal-primary);display:inline-block;font-size:.8rem;margin-bottom:10px;padding:5px 10px}.memory-footer{align-items:center;color:#3c2415;color:var(--journal-text);display:flex;font-size:.85rem;justify-content:space-between;margin-top:10px;opacity:.7}@media (max-width:768px){.journal-card{padding:25px}.welcome-title{font-size:1.8rem}.photo-actions{flex-direction:column}.action-button{width:100%}.filter-buttons{justify-content:center}.memories-grid{grid-template-columns:1fr}}@media (max-width:480px){.vintage-title{font-size:2.5rem}.journal-card{padding:20px 15px}.mood-buttons{gap:5px}.filter-button,.mood-button{font-size:.8rem;padding:6px 10px}}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.face-recognition-button{bottom:20px}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{align-items:center;color:#5d4037;display:flex;font-family:Courier New,Courier,monospace;font-size:1.1rem;margin-bottom:.5rem}.form-group .form-icon{color:#8d5524;margin-right:.5rem}.form-group .input-wrapper{position:relative}.form-group input,.form-group textarea{background:#fff8e1e6;border:2px solid #d7ccc8;border-radius:8px;box-shadow:inset 0 2px 4px #0000000d;color:#4e342e;font-family:Courier New,Courier,monospace;font-size:1rem;padding:.8rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#8d5524;box-shadow:0 0 8px #8d55244d;outline:none}.form-group .input-focus-effect{border:2px solid #0000;border-radius:10px;bottom:-2px;left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;transition:border-color .3s ease}.form-group.focused .input-focus-effect{border-color:#8d5524}.form-group .input-decorations{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.form-group .input-decoration{background:#d7ccc8;border-radius:50%;height:10px;position:absolute;width:10px}.form-group .input-decoration.top-left{left:-5px;top:-5px}.form-group .input-decoration.top-right{right:-5px;top:-5px}.form-group .input-decoration.bottom-left{bottom:-5px;left:-5px}.form-group .input-decoration.bottom-right{bottom:-5px;right:-5px}.memory-with{align-items:center;color:#5d4037;display:flex;font-family:Courier New,Courier,monospace;font-size:.9rem;margin-bottom:.5rem}.memory-with .memory-icon{color:#8d5524;margin-right:.5rem}.input-wrapper{align-items:center;display:flex;gap:10px;position:relative}.mic-button{background:none;border:none;cursor:pointer;padding:5px;position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:10}.mic-button .action-icon{color:#666;height:20px;transition:color .3s ease;width:20px}.mic-button:hover .action-icon{color:#ff6f61}.mic-button.recording .action-icon{animation:pulse 1s infinite;color:#ff6f61}.vintage-input{padding-right:40px}.form-group textarea.vintage-input{padding-right:40px;resize:none}.action-button{background-color:#f0f0f0;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-size:14px;padding:5px 10px;transition:background-color .3s ease}.action-button:hover{background-color:#e0e0e0}.fancy-recall-button.cute-recall{align-items:center;background:linear-gradient(135deg,#fcf,#cce6ff);border:2px solid #f9c;border-radius:25px;bottom:20px;box-shadow:0 4px 8px #0000001a,inset 0 0 10px #ffffff80;color:#639;cursor:pointer;display:flex;font-family:Comic Sans MS,Chalkboard,cursive;font-size:1rem;font-weight:700;overflow:hidden;padding:8px 16px;position:fixed;right:20px;text-transform:uppercase;transition:all .3s ease;z-index:1000}.fancy-recall-button.cute-recall:hover{background:linear-gradient(135deg,#f9c,#9cf);box-shadow:0 6px 12px #00000026,inset 0 0 15px #ffffffb3;transform:scale(1.05) rotate(-2deg)}.fancy-recall-button.cute-recall .recall-icon{fill:#ff66b2;height:20px;margin-right:8px;transition:transform .3s ease;width:20px}.fancy-recall-button.cute-recall:hover .recall-icon{transform:rotate(1turn)}.fancy-recall-button.cute-recall .button-shine{animation:shine 1.5s infinite;background:#ffffff4d;height:200%;left:-50%;position:absolute;top:-50%;transform:skewX(-20deg);width:200%}.fancy-recall-button.cute-recall .cute-sparkle{animation:sparkle 1s infinite alternate;font-size:1.2rem;margin-left:8px}@keyframes shine{0%{transform:translateX(-100%) skewX(-20deg)}50%{transform:translateX(100%) skewX(-20deg)}to{transform:translateX(100%) skewX(-20deg)}}.recall-options.vintage-recall-dropdown{bottom:60px;position:fixed;right:20px;z-index:1000}.face-recognition-button{align-items:center;background-color:#ff6b6b;border:none;border-radius:50%;bottom:90px;box-shadow:0 4px 15px #0003;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:20px;transition:transform .3s ease,background-color .3s ease;width:60px;z-index:1000}.face-recognition-button:hover{background-color:#ff8787;transform:scale(1.1)}.face-recognition-button .action-icon{color:#fff;height:30px;width:30px}.recall-modal-overlay{align-items:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.recall-modal{animation:fadeIn .3s ease;background:#fffaf0;border:2px solid #f99;border-radius:15px;box-shadow:0 10px 20px #0003;max-width:400px;padding:20px;position:relative;width:90%}.recall-modal .modal-header{align-items:center;border-bottom:1px solid #d4b2a8;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.recall-modal .modal-header h3{color:#5c4033;font-family:Courier New,Courier,monospace;font-size:1.5rem;margin:0}.recall-modal .modal-close-button{background:none;border:none;color:#f66;cursor:pointer;font-size:1.2rem;transition:color .3s ease}.recall-modal .modal-close-button:hover{color:#f33}.recall-modal .modal-content{display:flex;flex-direction:column;gap:15px}.recall-modal .people-list{background:#fff5ee80;border:1px solid #d4b2a8;border-radius:10px;max-height:200px;overflow-y:auto;padding:10px}.recall-modal .people-list h4{color:#5c4033;font-family:Courier New,Courier,monospace;font-size:1.1rem;margin:0 0 10px}.recall-modal .people-list p{color:#5c4033;font-style:italic}.recall-modal .person-button{background:linear-gradient(135deg,#fcf,#cce6ff);border:1px solid #f9c;border-radius:10px;color:#639;cursor:pointer;display:block;font-family:Comic Sans MS,Chalkboard,cursive;font-size:1rem;margin-bottom:5px;padding:8px;transition:transform .3s ease,background .3s ease;width:100%}.recall-modal .person-button:hover{background:linear-gradient(135deg,#f9c,#9cf);transform:scale(1.02)}.recall-modal .person-button:disabled{background:#d3d3d3;cursor:not-allowed;opacity:.6}.recall-modal .webcam-recall-button{align-items:center;background:linear-gradient(135deg,#fc9,#f99);border:none;border-radius:15px;color:#5c4033;cursor:pointer;display:flex;font-family:Courier New,Courier,monospace;font-size:1rem;font-weight:700;gap:8px;justify-content:center;padding:10px;transition:transform .3s ease,background .3s ease}.recall-modal .webcam-recall-button:hover{background:linear-gradient(135deg,#f99,#fc9);transform:scale(1.05)}.recall-modal .webcam-recall-button:disabled{background:#d3d3d3;cursor:not-allowed;opacity:.6}.recall-modal .webcam-recall-button .action-icon{fill:#5c4033;height:20px;width:20px}.journal-container.modal-open{filter:blur(5px);transition:filter .3s ease}:root{--journal-primary:#785c43;--journal-accent:#d9ae94;--journal-light:#f8f4e9;--journal-card-bg:#fffdf7eb;--journal-text:#3c2415;--journal-shadow:0 10px 30px #5a4a3a40;--journal-shadow-hover:0 15px 35px #5a4a3a59;--journal-transition:0.4s cubic-bezier(0.25,0.8,0.25,1);--warm-gold:#d4a96a;--soft-pink:#eac9c1;--muted-sage:#b6c199;--dusty-blue:#a0b3c7;--deep-amber:#c17817;--paper-texture-opacity:0.08;--paper-border-color:#a4826059}@media (max-width:1024px){.journal-container{padding:30px 15px 50px}.journal-header{max-width:700px}.vintage-title{font-size:2.8rem}.journal-card{max-width:700px;padding:30px}.welcome-title{font-size:1.9rem}.journal-prompt{font-size:1rem;max-width:450px}.image-container{height:250px}.memories-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.memory-image-container{height:180px}.recall-modal{max-width:350px}}@media (max-width:768px){.journal-container{padding:25px 10px 100px}.journal-header{max-width:100%}.vintage-title{font-size:2.5rem}.decorative-line{width:150px}.journal-card{margin:0 0 30px;max-width:100%;padding:25px}.welcome-title{font-size:1.8rem}.journal-prompt{font-size:1rem;max-width:100%}.prompt-decoration{width:40px}.image-container{height:200px}.photo-actions{flex-direction:column;gap:10px}.action-button{padding:10px 15px;width:100%}.filter-buttons{gap:8px;justify-content:center}.filter-button{font-size:.8rem;padding:6px 10px}.mood-buttons{gap:8px}.mood-button{font-size:.85rem;padding:6px 12px}.vintage-input{font-size:.95rem;padding:12px}.save-button,.voice-button{font-size:1rem;padding:12px}.memories-grid{grid-template-columns:1fr}.memory-image-container{height:160px}.memory-text{font-size:.9rem;max-height:60px}.recall-modal{max-width:300px;padding:15px}.recall-modal .modal-header h3{font-size:1.3rem}.recall-modal .person-button{font-size:.9rem;padding:6px}.recall-modal .webcam-recall-button{font-size:.9rem;padding:8px}.face-recognition-button{bottom:70px;right:15px}.fancy-recall-button.cute-recall{bottom:15px;right:15px}.recall-options.vintage-recall-dropdown{bottom:75px;right:15px}}@media (max-width:480px){.journal-container{padding:20px 8px 120px}.vintage-title{font-size:2rem}.decorative-line{width:120px}.journal-card{margin:0 0 20px;padding:20px 15px}.welcome-title{font-size:1.6rem}.title-icon{height:20px;width:20px}.journal-subtitle{font-size:.9rem}.journal-prompt{font-size:.95rem;padding:0 5px}.prompt-decoration{width:30px}.success-message{font-size:1rem;padding:10px}.image-container{height:180px}.image-placeholder{padding:15px}.placeholder-icon{font-size:2.5rem}.filter-label{font-size:.85rem}.filter-button{font-size:.75rem;padding:5px 8px}.mood-button{font-size:.8rem;padding:5px 10px}.vintage-input{font-size:.9rem;padding:10px}.vintage-select{font-size:.9rem;padding:10px 12px}.form-group label{font-size:.95rem}.save-button,.voice-button{font-size:.95rem;padding:10px}.save-button svg,.voice-button svg{height:18px;margin-right:6px;width:18px}.memories-title{font-size:1.5rem}.memory-image-container{height:140px}.memory-text{font-size:.85rem;max-height:50px}.memory-mood{font-size:.75rem;padding:4px 8px}.memory-footer{font-size:.8rem}.no-memories{padding:30px}.empty-icon{font-size:2.5rem}.recall-modal{max-width:280px;padding:10px;width:95%}.recall-modal .modal-header h3{font-size:1.2rem}.recall-modal .modal-close-button{font-size:1rem}.recall-modal .people-list{max-height:150px}.recall-modal .person-button{font-size:.85rem;padding:5px}.recall-modal .webcam-recall-button{font-size:.85rem;padding:6px}.face-recognition-button .action-icon{height:25px;width:25px}.fancy-recall-button.cute-recall .recall-icon{height:18px;width:18px}.face-recognition-button{bottom:65px;right:10px}.fancy-recall-button.cute-recall{bottom:10px;right:10px}.recall-options.vintage-recall-dropdown{bottom:65px;right:10px}}@media (max-width:360px){.vintage-title{font-size:1.8rem}.journal-card{padding:15px 10px}.welcome-title{font-size:1.4rem}.journal-prompt{font-size:.9rem}.image-container{height:150px}.filter-button,.mood-button{font-size:.7rem;padding:4px 8px}.vintage-input{font-size:.85rem;padding:8px}.save-button,.voice-button{font-size:.9rem;padding:8px}.memories-title{font-size:1.3rem}.memory-image-container{height:120px}.recall-modal{max-width:250px}.recall-modal .modal-header h3{font-size:1.1rem}}@media (max-width:768px){.face-recognition-button{bottom:80px}.fancy-recall-button.cute-recall{bottom:10px}.recall-options.vintage-recall-dropdown{bottom:50px}}@media (max-width:480px){.recall-modal-overlay{padding:10px}.recall-modal{height:auto;max-height:90vh;overflow-y:auto;width:100%}}@media (max-width:768px){.floating-shapes:before{height:150px;left:10%;top:5%;width:150px}.floating-shapes:after{height:100px;right:10%;top:50%;width:100px}}@media (max-width:480px){.floating-shapes:before{height:100px;width:100px}.floating-shapes:after{height:80px;width:80px}}.navbar{background:linear-gradient(180deg,#f8f4e9f2,#f8f4e9e6);border-bottom:1px solid #a4826059;box-shadow:0 10px 30px #5a4a3a40;height:70px;left:0;position:fixed;top:0;width:100%;z-index:1000}.navbar-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:15px 20px}.navbar-brand{align-items:center;display:flex;text-decoration:none}.brand-icon{color:#d4a96a;height:28px;margin-right:10px;width:28px}.brand-text{color:#785c43;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.hamburger-btn{background:none;border:none;cursor:pointer;display:none;padding:10px;transition:all .3s ease}.hamburger-icon{color:#785c43;height:24px;width:24px}.nav-menu{gap:30px}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{border-radius:20px;color:#3c2415;font-family:Lora,serif;font-size:1rem;padding:10px 15px;text-decoration:none;transition:all .4s cubic-bezier(.25,.8,.25,1)}.nav-item:hover{background:#d9ae9433;transform:translateY(-2px)}.nav-icon{color:#d9ae94;height:20px;margin-right:8px;width:20px}@media (max-width:768px){.hamburger-btn{display:block}.nav-menu{align-items:center;background:#f8f4e9fa;flex-direction:column;height:calc(100vh - 70px);justify-content:center;left:-100%;position:fixed;top:70px;transition:left .5s cubic-bezier(.25,.8,.25,1);width:100%}.nav-menu.active{left:0}.nav-item{background:#ffffff80;border:1px solid #a4826059;font-size:1.2rem;justify-content:center;margin:10px 0;padding:15px 25px;width:80%}.nav-item:hover{background:#d9ae944d}}@keyframes menuSlideIn{0%{left:-100%;opacity:0}to{left:0;opacity:1}}.nav-menu.active{animation:menuSlideIn .5s forwards}body{padding-top:70px}:root{--card-bg:#f5e6daf2;--shadow-soft:0 10px 30px #44444412;--transition:0.3s cubic-bezier(0.25,0.8,0.25,1);--highlight:#faf3c080;--sage-green:#6ba292;--muted-teal:#5c8b7d;--warm-beige:#f5e6da;--pale-yellow:#faf3c0;--soft-blue:#a2c4e0;--text-dark:#3a3a3a;--text-medium:#666;--modal-overlay:#00000080;--chat-companion:#e6f2f0;--chat-user:#f0e6f2}.routine-container{background:linear-gradient(135deg,#f5e6da,#faf3c0);background:linear-gradient(135deg,var(--warm-beige) 0,var(--pale-yellow) 100%);font-family:Lora,Georgia,serif;min-height:100vh;overflow-x:hidden;padding:40px 20px;position:relative}.vintage-overlay{opacity:.03}.companion-chat-button{background:linear-gradient(135deg,#6ba292,#a2c4e0);background:linear-gradient(135deg,var(--sage-green),var(--soft-blue));border:none;border-radius:50px;box-shadow:0 4px 10px #6ba2924d;color:#fff;cursor:pointer;font-size:clamp(.8rem,2.5vw,1rem);padding:10px 20px;position:fixed;right:20px;top:20px;transition:all .3s ease;z-index:100}.companion-chat-button:hover{box-shadow:0 6px 15px #6ba29266;transform:translateY(-3px)}.routine-header{margin-bottom:clamp(30px,5vw,50px);position:relative;text-align:center;z-index:1}.routine-title{color:#3a3a3a;color:var(--text-dark);font-family:Playfair Display,serif;font-size:clamp(1.5rem,5vw,2.2rem);letter-spacing:-.5px;margin:0;text-shadow:2px 2px 0 #6ba29233}.header-decoration{background:linear-gradient(90deg,#0000,#6ba292,#0000);background:linear-gradient(to right,#0000,var(--sage-green),#0000);height:4px;width:clamp(80px,10vw,120px)}.routine-layout{grid-gap:clamp(15px,2.5vw,25px);display:grid;gap:clamp(15px,2.5vw,25px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto 40px;max-width:1100px;position:relative;width:100%}.calendar-section{background:#f5e6daf2;background:var(--card-bg);border:none;border-radius:18px;box-shadow:0 10px 30px #44444412;box-shadow:var(--shadow-soft);overflow:hidden;padding:clamp(15px,3vw,25px);position:relative;z-index:1}.calendar-section:before{background:linear-gradient(90deg,#6ba292,#a2c4e0);background:linear-gradient(to right,var(--sage-green),var(--soft-blue));content:"";height:5px;left:0;position:absolute;top:0;width:100%}.section-title{color:#3a3a3a;color:var(--text-dark);display:inline-block;font-family:Playfair Display,serif;font-size:clamp(1.1rem,3vw,1.3rem);margin:0 0 20px;position:relative}.section-title:after{background:#6ba292;background:var(--sage-green);bottom:-5px;content:"";height:2px;left:0;position:absolute;width:40px}.calendar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(50px,1fr))}.calendar-day{background:#fff6;border:none;border-radius:12px;cursor:pointer;overflow:hidden;padding:clamp(8px,1.5vw,12px) clamp(5px,1vw,8px);position:relative;text-align:center;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition)}.calendar-day:hover{box-shadow:0 5px 15px #6ba29226;transform:translateY(-3px)}.calendar-day.selected{background:#6ba292;background:var(--sage-green);box-shadow:0 5px 15px #6ba29240;color:#fff}.day-number{display:block;font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:600}.day-name{font-size:clamp(.65rem,1.5vw,.75rem);letter-spacing:1px;opacity:.9;text-transform:uppercase}.routine-count{background:#5c8b7d;background:var(--muted-teal);border-radius:50%;color:#fff;font-size:.75rem;height:20px;line-height:20px;position:absolute;right:5px;top:5px;width:20px}.routine-section{background:#f5e6daf2;background:var(--card-bg);border:none;border-radius:18px;box-shadow:0 10px 30px #44444412;box-shadow:var(--shadow-soft);overflow:hidden;padding:clamp(15px,3vw,25px);position:relative;z-index:1}.routine-section:before{background:linear-gradient(90deg,#a2c4e0,#6ba292);background:linear-gradient(to right,var(--soft-blue),var(--sage-green));content:"";height:5px;left:0;position:absolute;top:0;width:100%}.no-routines{color:#666;color:var(--text-medium);font-style:italic;padding:30px 0;text-align:center}.routine-list{list-style:none;margin:0 0 20px;max-height:clamp(250px,50vh,350px);overflow-y:auto;padding:0}.routine-item{align-items:center;background:#ffffff80;border-radius:12px;display:flex;flex-wrap:wrap;margin-bottom:10px;padding:clamp(10px,2vw,15px) clamp(8px,1.5vw,10px);transition:all .2s ease}.routine-item:hover{background:#faf3c080;background:var(--highlight);transform:translateX(5px)}.routine-checkbox{accent-color:#6ba292;accent-color:var(--sage-green);border-radius:50%;cursor:pointer;flex-shrink:0;height:22px;margin-right:15px;width:22px}.routine-time{color:#3a3a3a;color:var(--text-dark);flex-shrink:0;font-size:clamp(.8rem,2vw,.9rem);font-weight:600;width:clamp(70px,15%,90px)}.routine-task{flex:1 1;font-size:clamp(.9rem,2vw,1rem);min-width:150px;word-break:break-word}.completed,.routine-task{color:#666;color:var(--text-medium)}.completed{opacity:.7;text-decoration:line-through}.edit-button{background:#0000;border:1px solid #6ba292;border:1px solid var(--sage-green);border-radius:20px;color:#5c8b7d;color:var(--muted-teal);font-size:.8rem;margin-left:auto;margin-top:5px;padding:6px 12px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition)}@media (max-width:500px){.edit-button{margin-left:37px;margin-top:8px}}.edit-button:hover{background:#6ba292;background:var(--sage-green);color:#fff;transform:scale(1.05)}.routine-form{display:flex;flex-wrap:wrap;gap:10px}.routine-input{background:#ffffffb3;border:none;border-radius:25px;box-shadow:inset 0 2px 5px #0000000d;flex:1 1;font-size:clamp(.85rem,2vw,.95rem);min-width:120px;padding:12px 15px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition)}.routine-input:focus{background:#fff;box-shadow:inset 0 2px 5px #0000000d,0 0 0 3px #6ba29233;outline:none}.add-button{background:linear-gradient(135deg,#6ba292,#79b0a1);background:linear-gradient(135deg,var(--sage-green),#79b0a1);border:none;border-radius:25px;box-shadow:0 4px 10px #6ba29233;color:#fff;cursor:pointer;font-size:clamp(.85rem,2vw,.95rem);font-weight:600;padding:12px clamp(15px,4vw,25px);transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition);white-space:nowrap}.add-button:hover{box-shadow:0 6px 15px #6ba2924d;transform:translateY(-3px)}.add-button:active{transform:translateY(-1px)}.weather-card{background:#f5e6daf2;background:var(--card-bg);border:none;border-radius:18px;box-shadow:0 10px 30px #44444412;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;overflow:hidden;padding:clamp(15px,3vw,25px);position:relative;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition);z-index:1}.weather-card:before{background:linear-gradient(90deg,#f8d56f,#a2c4e0);background:linear-gradient(to right,#f8d56f,var(--soft-blue));content:"";height:5px;left:0;position:absolute;top:0;width:100%}.weather-card:hover{box-shadow:0 15px 30px #6ba29226;transform:translateY(-5px)}.weather-content{margin-bottom:20px}.weather-image-container{display:flex;justify-content:center;margin-top:15px}.weather-emoticon{background:#faf3c0;background:var(--pale-yellow);border-radius:50%;box-shadow:0 8px 20px #f8d56f33;height:clamp(65px,15vw,85px);object-fit:contain;padding:12px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition);width:clamp(65px,15vw,85px)}.weather-card:hover .weather-emoticon{transform:rotate(10deg) scale(1.05)}.weather-details{flex:1 1}.weather-title{color:#3a3a3a;color:var(--text-dark);display:inline-block;font-size:clamp(1rem,3vw,1.2rem);margin:0 0 10px;position:relative}.weather-title:after{background:#f8d56f;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:30px}.weather-condition{color:#5c8b7d;color:var(--muted-teal);font-size:clamp(.8rem,2vw,.9rem);text-transform:capitalize}.weather-temp{color:#f8d56f;font-size:clamp(1.5rem,5vw,2rem);font-weight:600;margin:5px 0}.weather-desc{color:#666;color:var(--text-medium);font-size:clamp(.8rem,2vw,.9rem);font-style:italic}.poetry-card{background:#f5e6daf2;background:var(--card-bg);border:none;border-radius:18px;box-shadow:0 10px 30px #44444412;box-shadow:var(--shadow-soft);overflow:hidden;padding:clamp(15px,3vw,25px);position:relative;z-index:1}.poetry-card:before{background:linear-gradient(90deg,#a2c4e0,#d3a5c9);background:linear-gradient(to right,var(--soft-blue),#d3a5c9);content:"";height:5px;left:0;position:absolute;top:0;width:100%}.poetry-header{margin-bottom:25px}.poetry-title{color:#3a3a3a;color:var(--text-dark);display:inline-block;font-family:Playfair Display,serif;font-size:clamp(1rem,3vw,1.2rem);margin:0;position:relative}.poetry-title:after{background:#a2c4e0;background:var(--soft-blue);bottom:-5px;content:"";height:2px;left:0;position:absolute;width:30px}.poetry-list{display:flex;flex-direction:column;gap:15px;max-height:clamp(200px,40vh,300px);overflow-y:auto}.poetry-preview{background:#fff9;border-radius:12px;padding:15px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition)}.poetry-preview:hover{background:#faf3c080;background:var(--highlight);transform:translateX(5px)}.poem-title{color:#3a3a3a;color:var(--text-dark);font-family:Playfair Display,serif;font-size:clamp(.9rem,2.5vw,1rem);margin:0 0 10px}.poem-preview-text{color:#666;color:var(--text-medium);font-size:clamp(.8rem,2vw,.9rem);font-style:italic;line-height:1.6;margin:0 0 15px}.view-poem-button{background:#0000;border:1px solid #a2c4e0;border:1px solid var(--soft-blue);border-radius:20px;color:#a2c4e0;color:var(--soft-blue);cursor:pointer;font-size:.8rem;padding:6px 12px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition)}.view-poem-button:hover{background:#a2c4e0;background:var(--soft-blue);color:#fff;transform:scale(1.05)}.storytelling-button{background:linear-gradient(135deg,#a2c4e0,#d3a5c9);background:linear-gradient(135deg,var(--soft-blue),#d3a5c9);border:none;border-radius:25px;box-shadow:0 4px 10px #a2c4e033;color:#fff;cursor:pointer;display:block;font-size:clamp(.85rem,2vw,.95rem);font-weight:600;margin-top:20px;padding:12px;transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition);width:100%}.storytelling-button:hover{box-shadow:0 6px 15px #a2c4e04d;transform:translateY(-3px)}.animate-fade{animation:fadeInRight .3s ease-out}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.chat-modal-overlay{align-items:center;background:#00000080;background:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:10px;position:fixed;right:0;top:0;z-index:1000}.chat-modal{background:#fff;border-radius:18px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:clamp(400px,80vh,600px);max-width:500px;overflow:hidden;width:100%}.chat-modal-header{align-items:center;background:#6ba292;background:var(--sage-green);color:#fff;display:flex;justify-content:space-between;padding:clamp(10px,2vw,15px) clamp(15px,3vw,20px)}.chat-modal-header h3{font-family:Playfair Display,serif;font-size:clamp(1rem,3vw,1.2rem);margin:0}.close-modal-button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:15px;max-height:clamp(250px,50vh,350px);overflow-y:auto;padding:clamp(15px,3vw,20px)}.chat-message{border-radius:18px;font-size:clamp(.85rem,2vw,.95rem);line-height:1.5;max-width:clamp(220px,80%,350px);padding:clamp(10px,2vw,12px) clamp(12px,2.5vw,15px);position:relative}.companion-message{align-self:flex-start;background:#e6f2f0;background:var(--chat-companion);border-bottom-left-radius:5px;color:#3a3a3a}.user-message{align-self:flex-end;background:#f0e6f2;background:var(--chat-user);border-bottom-right-radius:5px;color:#3a3a3a}.chat-input-area{background:#f5f5f5;border-top:1px solid #eee;display:flex;gap:10px;padding:clamp(10px,2vw,15px)}.chat-input{background:#fff;border:none;border-radius:25px;box-shadow:inset 0 2px 5px #0000000d;flex:1 1;font-size:clamp(.85rem,2vw,.95rem);padding:clamp(10px,2vw,12px) clamp(12px,2.5vw,15px)}.chat-input:focus{box-shadow:inset 0 2px 5px #0000000d,0 0 0 3px #6ba29233;outline:none}.send-button{background:#6ba292;background:var(--sage-green);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:clamp(.85rem,2vw,.95rem);padding:clamp(8px,2vw,12px) clamp(15px,3vw,20px);transition:.3s cubic-bezier(.25,.8,.25,1);transition:var(--transition);white-space:nowrap}.send-button:hover{background:#5c8b7d;background:var(--muted-teal)}.poem-modal-overlay{align-items:center;background:#00000080;background:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:10px;position:fixed;right:0;top:0;z-index:1000}.poem-modal{background:#fff;border-radius:18px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:clamp(400px,80vh,600px);max-width:500px;overflow:hidden;width:100%}.poem-modal-header{align-items:center;background:linear-gradient(135deg,#a2c4e0,#d3a5c9);background:linear-gradient(135deg,var(--soft-blue),#d3a5c9);color:#fff;display:flex;justify-content:space-between;padding:clamp(10px,2vw,15px) clamp(15px,3vw,20px)}.poem-modal-header h3{font-family:Playfair Display,serif;font-size:clamp(1rem,3vw,1.2rem);margin:0}.poem-modal-content{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2NkYGD4z8DAwMgABXAGxgYGBgD/A8gB7mPU5gAAAABJRU5ErkJggg==) repeat;background-color:#f5e6da;background-color:var(--warm-beige);overflow-y:auto;padding:clamp(20px,4vw,30px)}.poem-line{color:#3a3a3a;color:var(--text-dark);font-size:clamp(.95rem,2.5vw,1.1rem);font-style:italic;line-height:1.8;margin:0 0 15px;text-align:center}@media (max-width:992px){.routine-layout{gap:20px}}@media (max-width:768px){.routine-container{padding:30px 15px}.routine-layout{gap:15px}.companion-chat-button{padding:8px 15px;right:15px;top:15px}}@media (max-width:576px){.routine-container{padding:20px 10px}.routine-header{margin-bottom:25px}.routine-item{padding:10px 8px}.routine-checkbox{height:20px;margin-right:10px;width:20px}.calendar-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(40px,1fr))}.routine-task,.routine-time{margin-bottom:5px}.routine-form{flex-direction:column}.add-button{margin-top:5px;width:100%}.chat-messages,.poem-modal-content{padding:15px}}@media (max-width:360px){.routine-time{margin-bottom:5px;width:100%}.routine-task{width:100%}.edit-button{margin-left:0;text-align:center;width:100%}.companion-chat-button{font-size:.75rem;padding:6px 12px}}.sound-therapy-card{background:var(--card-bg);border:none;border-radius:18px;box-shadow:var(--shadow-soft);flex:1 1;margin-top:25px;min-width:300px;overflow:hidden;padding:25px;position:relative;z-index:1}.sound-therapy-card:before{background:linear-gradient(90deg,#8e6fd0,#cb74ea);content:"";height:5px;left:0;position:absolute;top:0;width:100%}.sound-therapy-header{margin-bottom:20px}.sound-therapy-title{color:var(--text-dark);display:inline-block;font-family:Playfair Display,serif;font-size:1.2rem;margin:0 0 5px;position:relative}.sound-therapy-title:after{background:#9975d5;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:30px}.sound-therapy-subtitle{color:var(--text-medium);font-size:.9rem;font-style:italic;margin:10px 0 0}.mood-selector{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.mood-button{align-items:center;background:#fff9;border:none;border-radius:20px;cursor:pointer;display:flex;font-size:.9rem;gap:5px;padding:8px 15px;transition:var(--transition)}.mood-button:hover{background:#fffc;transform:translateY(-2px)}.mood-button.active{background:#9975d5;box-shadow:0 4px 10px #9975d54d;color:#fff}.sound-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-height:250px;overflow-y:auto;padding-right:5px}.sound-option{align-items:center;background:#fff9;border-radius:12px;cursor:pointer;display:flex;overflow:hidden;padding:12px 15px;position:relative;transition:var(--transition)}.sound-option:hover{background:var(--highlight);transform:translateX(5px)}.sound-option.playing{background:#9975d533;border-left:4px solid #9975d5}.sound-option.playing:before{background:#9975d5;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.sound-icon{align-items:center;display:flex;font-size:1.8rem;height:40px;justify-content:center;margin-right:15px;width:40px}.sound-details{flex:1 1}.sound-name{color:var(--text-dark);font-size:1rem;margin:0 0 5px}.sound-description{color:var(--text-medium);font-size:.8rem;margin:0}.sound-status{font-size:1.2rem}.sound-controls{background:#ffffffb3;border-radius:12px;margin-top:15px;padding:15px}.volume-control{align-items:center;display:flex;gap:10px;margin-bottom:10px}.volume-slider{-webkit-appearance:none;appearance:none;background:#ddd;border-radius:5px;flex:1 1;height:5px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#9975d5;border-radius:50%;cursor:pointer;height:15px;-webkit-transition:all .2s ease;transition:all .2s ease;width:15px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-icon{color:var(--text-medium);font-size:1.2rem}.now-playing{align-items:center;display:flex;justify-content:center}.now-playing p{color:var(--text-medium);font-size:.9rem;margin:0}.current-sound-name{color:#9975d5;font-weight:600}@keyframes pulsate{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.sound-option.playing .sound-icon{animation:pulsate 2s ease-in-out infinite}@media (max-width:768px){.mood-selector{justify-content:center}.sound-option{padding:10px}.sound-icon{font-size:1.5rem;height:30px;margin-right:10px;width:30px}.sound-name{font-size:.9rem}.sound-description{font-size:.75rem}}:root{--card-bg:#f5e6dae6;--shadow-soft:0 8px 20px #44444426;--transition:0.3s ease-in-out;--curve-radius:30px;--highlight:#faf3c0b3;--companion-accent:#a8c69f;--doodle-color:#f5d7d7;--warm-beige:beige;--pale-yellow:#fffacd;--text-dark:#333;--text-medium:#555;--soft-blue:#add8e6;--font-small:0.95rem;--font-medium:1.1rem}.chatbot-container{background:linear-gradient(to bottom right,beige,#fffacd);background:linear-gradient(to bottom right,var(--warm-beige) 0,var(--pale-yellow) 100%);font-family:Lora,Georgia,serif;min-height:100vh;overflow-x:hidden;padding:50px 20px;position:relative}.vintage-overlay{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYV2NkYGD4z8DAwMgABXAGxgYGBgD/A8gB7mPU5gAAAABJRU5ErkJggg==) repeat;opacity:.08;pointer-events:none}.companion-backdrop,.vintage-overlay{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.companion-backdrop{overflow:hidden}.floating-memory{animation:float 15s ease-in-out infinite;background:radial-gradient(circle,#faf3c0b3 20%,#0000 70%);background:radial-gradient(circle,var(--highlight) 20%,#0000 70%);border-radius:50%;height:40px;left:10%;position:absolute;top:20%;width:40px}.floating-memory.second{animation:float 20s ease-in-out infinite reverse;height:60px;left:80%;top:70%;width:60px}@keyframes float{0%{opacity:.5;transform:translate(0) scale(1)}50%{opacity:.8;transform:translate(20px,-30px) scale(1.1)}to{opacity:.5;transform:translate(0) scale(1)}}.chatbot-header{margin-bottom:50px;position:relative;text-align:center;z-index:1}.chatbot-title{animation:bounceIn 1s ease-out;color:#333;color:var(--text-dark);font-family:Playfair Display,serif;font-size:2.5rem;margin:0;text-shadow:2px 2px 4px #faf3c0b3;text-shadow:2px 2px 4px var(--highlight)}.header-decoration{animation:glow 3s infinite;background:radial-gradient(circle,#a8c69f 30%,#0000 70%);background:radial-gradient(circle,var(--companion-accent) 30%,#0000 70%);border-radius:10px;height:5px;margin:15px auto;width:150px}.chatbot-subtitle{animation:fadeIn 2s ease-in;color:#555;color:var(--text-medium);font-size:1.1rem;font-size:var(--font-medium);font-style:italic;margin:0;opacity:.85}.chatbot-card{background:#f5e6dae6;background:var(--card-bg);border:2px dashed #6ba2924d;border-radius:30px;border-radius:var(--curve-radius);box-shadow:0 8px 20px #44444426;box-shadow:var(--shadow-soft);margin:0 auto 40px;max-width:650px;padding:35px;position:relative;width:100%;z-index:1}.chatbot-card:before{animation:spinGlow 20s linear infinite;background:radial-gradient(circle,#faf3c033 10%,#0000 50%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:-1}.chatbot-messages{margin-bottom:20px;max-height:450px;overflow-y:auto;padding:15px;scrollbar-color:#a8c69f #0000;scrollbar-color:var(--companion-accent) #0000;scrollbar-width:thin}.message-bubble{align-items:flex-start;animation:slideIn .5s ease-out;display:flex;margin:15px 0;max-width:85%;position:relative}.user-message{background:#fffacd;background:var(--pale-yellow);border-radius:20px 20px 5px 20px;margin-left:auto}.companion-message,.user-message{box-shadow:0 2px 4px #0000000d;color:#333;color:var(--text-dark);padding:12px 20px}.companion-message{background:#add8e6;background:var(--soft-blue);border-radius:20px 20px 20px 5px;margin-right:auto}.message-text{word-wrap:break-word;font-size:.95rem;font-size:var(--font-small);line-height:1.6}.message-doodle{animation:bounce 2s infinite;bottom:-15px;color:#f5d7d7;color:var(--doodle-color);font-size:1.2rem;position:absolute;right:10px}.chatbot-input{align-items:stretch;display:flex;flex-direction:column;gap:10px;margin-top:20px;position:relative;z-index:10}.chatbot-input .input-wrapper{position:relative;width:100%}.chatbot-input .input-textarea{background:#fff5eee6;border:2px dashed #d4b2a8;border-radius:15px;box-shadow:0 2px 5px #0000000d;box-sizing:border-box;color:#5c4033;font-family:Lora,serif;font-size:.95rem;font-size:var(--font-small);min-height:70px;outline:none;padding:12px 45px 12px 16px;pointer-events:auto;resize:none;transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease;width:100%}.chatbot-input .input-textarea:focus{background:#fff;border-color:#a8c69f;border-color:var(--companion-accent);border-style:solid;box-shadow:0 0 8px #6ba29266}.chatbot-input .mic-button{background:none;border:none;cursor:pointer;padding:5px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:transform .3s ease,color .3s ease;z-index:11}.chatbot-input .mic-button .action-icon{color:#a8c69f;color:var(--companion-accent);height:20px;transition:inherit;width:20px}.chatbot-input .mic-button:hover .action-icon{color:#86a87f;transform:scale(1.1)}.chatbot-input .mic-button.recording .action-icon{animation:pulse 1s infinite;color:#e74c3c}.chatbot-input .input-focus-effect{border-radius:17px;box-shadow:none;height:calc(100% + 4px);left:-2px;pointer-events:none;position:absolute;top:-2px;transition:box-shadow .3s ease;width:calc(100% + 4px);z-index:-1}.chatbot-input .input-decorations{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.chatbot-input .input-decoration{background:#0000;border:1px solid #a8c69f80;height:10px;position:absolute;width:10px}.chatbot-input .input-decoration.top-left{border-bottom:none;border-right:none;border-top-left-radius:5px;left:-1px;top:-1px}.chatbot-input .input-decoration.top-right{border-bottom:none;border-left:none;border-top-right-radius:5px;right:-1px;top:-1px}.chatbot-input .input-decoration.bottom-left{border-bottom-left-radius:5px;border-right:none;border-top:none;bottom:-1px;left:-1px}.chatbot-input .input-decoration.bottom-right{border-bottom-right-radius:5px;border-left:none;border-top:none;bottom:-1px;right:-1px}.chatbot-input .send-button{align-items:center;background:linear-gradient(45deg,#a8c69f,#b6d4a9);background:linear-gradient(45deg,var(--companion-accent),#b6d4a9);border:none;border-radius:15px;box-shadow:0 2px 5px #6ba29233;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-family:Lora,serif;font-size:.95rem;font-size:var(--font-small);font-weight:700;gap:10px;justify-content:center;padding:12px 20px;transition:.3s ease-in-out;transition:var(--transition);width:100%}.chatbot-input .send-button:hover{background:linear-gradient(45deg,#b6d4a9,#a8c69f);background:linear-gradient(45deg,#b6d4a9,var(--companion-accent));box-shadow:0 5px 15px #6ba2924d;transform:scale(1.03)}.chatbot-input .send-button svg{fill:currentColor;height:20px;width:20px}.chatbot-input .error-message{color:#c0392b;font-size:.85rem;margin-top:5px;text-align:center;width:100%}.companion-details{margin:40px auto 0;max-width:650px;position:relative;text-align:center;z-index:1}.companion-image{animation:wobble 5s ease-in-out infinite;background:#fffacd;background:var(--pale-yellow);border:4px solid #a8c69f;border:4px solid var(--companion-accent);border-radius:50%;box-shadow:0 8px 20px #44444426;box-shadow:var(--shadow-soft);height:140px;margin-bottom:20px;object-fit:cover;padding:8px;width:140px}.companion-note{background:#f5e6da99;border:1px dashed #a8c69f;border:1px dashed var(--companion-accent);border-radius:15px;color:#555;color:var(--text-medium);display:inline-block;font-size:1.1rem;font-size:var(--font-medium);font-style:italic;max-width:90%;opacity:.9;padding:15px 25px}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:.85}}@keyframes glow{0%,to{box-shadow:0 0 5px #a8c69f;box-shadow:0 0 5px var(--companion-accent);opacity:.7}50%{box-shadow:0 0 10px #a8c69f;box-shadow:0 0 10px var(--companion-accent);opacity:1}}@keyframes spinGlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes wobble{0%{transform:rotate(0deg)}15%{transform:rotate(4deg)}30%{transform:rotate(-4deg)}45%{transform:rotate(2deg)}60%{transform:rotate(-2deg)}75%{transform:rotate(1deg)}to{transform:rotate(0deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.chatbot-container{padding:30px 15px}.chatbot-title{font-size:2rem}.chatbot-card{max-width:95%;padding:25px}.chatbot-messages{max-height:400px}.chatbot-input .input-textarea{font-size:.9rem;min-height:60px;padding:10px 40px 10px 12px}.chatbot-input .mic-button .action-icon{height:18px;width:18px}.chatbot-input .send-button{font-size:.9rem;padding:10px 15px}.chatbot-input .send-button svg{height:18px;width:18px}.companion-image{height:120px;width:120px}.companion-note{font-size:1rem;padding:12px 20px}.floating-memory{height:30px;width:30px}.floating-memory.second{height:45px;width:45px}}@media (max-width:480px){.chatbot-container{padding:20px 10px}.chatbot-header{margin-bottom:30px}.chatbot-title{font-size:1.75rem}.chatbot-subtitle{font-size:1rem}.header-decoration{width:120px}.chatbot-card{border-radius:20px;padding:20px}.chatbot-messages{max-height:350px;padding:10px}.message-bubble{max-width:90%}.message-text{font-size:.9rem}.companion-message,.user-message{padding:10px 15px}.chatbot-input{gap:8px}.chatbot-input .input-textarea{min-height:50px;padding:8px 35px 8px 10px}.chatbot-input .mic-button{right:8px}.chatbot-input .send-button{padding:8px 12px}.companion-image{height:100px;width:100px}.companion-note{font-size:.9rem;padding:10px 15px}.chatbot-input .input-decoration{display:none}.floating-memory{height:25px;width:25px}.floating-memory.second{height:35px;width:35px}}.profile-container{background:linear-gradient(135deg,#f9f1e9,#efebe0);font-family:Courier New,Courier,monospace;min-height:100vh;overflow-y:auto;padding:40px 20px;position:relative}.vintage-background{background:#ede3c94d;background-image:repeating-linear-gradient(45deg,#0000,#0000 10px,#fff8e71a 0,#fff8e71a 20px);height:100%;left:0;opacity:.5;position:fixed;top:0;width:100%;z-index:-1}.floating-shapes{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.profile-header{margin-bottom:40px;text-align:center}.vintage-title{color:#5d4037;font-size:2.5rem;text-shadow:1px 1px 2px #0000001a}.decorative-line{background:#8d5524;height:2px;margin:10px auto;width:100px}.profile-section{background:#fff8e7e6;border:2px solid #d7ccc8;border-radius:10px;box-shadow:0 4px 8px #0000001a;margin:20px auto;max-width:800px;padding:20px;position:relative}.profile-section h2{color:#6d4c41;font-size:1.8rem;margin-bottom:15px}.profile-section p{color:#4e342e;font-size:1.2rem;margin:5px 0}.edit-button{background:#8d5524;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:10px;padding:8px 16px}.edit-button:hover{background:#6d4c41}.faces-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.face-card{text-align:center}.face-photo{border:2px solid #d7ccc8;border-radius:50%;height:100px;object-fit:cover;width:100px}.profile-section label{color:#6d4c41;font-size:1.2rem;margin-right:10px}.profile-section input,.profile-section select{border:1px solid #d7ccc8;border-radius:5px;font-size:1.2rem;margin:5px 0;padding:5px}.error-message{color:#d32f2f;margin:10px 0;text-align:center}:root{--book-primary:#d9ae94;--book-accent:#d9ae94;--book-bg:#fef8e6;--book-text:#1f1209;--sparkle-color:#fff9c4}.storybook-container{background:linear-gradient(180deg,#fff5e1,#ffe8b3);box-sizing:border-box;font-family:Merriweather,serif;min-height:100vh;overflow-x:hidden;padding:20px;position:relative;width:100%}.storybook-bg{background:radial-gradient(circle at top center,var(--page-glow),#0000 70%);left:0;opacity:.5;top:0;z-index:0}.sparkle-layer,.storybook-bg{height:100%;position:absolute;width:100%}.sparkle-layer{z-index:1}.sparkle{animation:sparkle 4s ease-in-out infinite;background:#fff9c4;background:var(--sparkle-color);border-radius:50%;box-shadow:0 0 8px #fff9c4;box-shadow:0 0 8px var(--sparkle-color);height:4px;position:absolute;width:4px}@keyframes sparkle{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(.5)}}.storybook-header{padding:20px 0;position:sticky;text-align:center;top:0;width:100%;z-index:10}.storybook-title{color:#d9ae94;color:var(--book-accent);font-family:Playfair Display,serif;font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:15px;text-shadow:0 2px 5px #0000004d}.controls{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;padding:0 10px}.story-select{background:#fef8e6;background:var(--book-bg);border:2px solid #d9ae94;border:2px solid var(--book-accent);border-radius:20px;box-shadow:0 2px 5px #2c1a0e33;color:#1f1209;color:var(--book-text);cursor:pointer;flex:1 1 auto;font-size:1rem;max-width:150px;padding:10px 20px;transition:all .3s ease}.story-select:hover{background:var(--page-glow);box-shadow:0 4px 10px #2c1a0e4d;transform:scale(1.05)}.weave-btn{align-items:center;background:linear-gradient(45deg,#d9ae94,#d9ae94);background:linear-gradient(45deg,var(--book-primary),var(--book-accent));border:none;border-radius:20px;color:#fff;display:flex;flex:1 1 auto;font-size:1rem;justify-content:center;max-width:180px;padding:10px 25px;transition:all .3s ease}.weave-btn:hover{background:linear-gradient(45deg,#d9ae94,#d9ae94);background:linear-gradient(45deg,var(--book-accent),var(--book-primary));box-shadow:0 5px 15px #2c1a0e80;transform:scale(1.05)}.weave-btn svg{margin-right:8px}.storybook-content{margin:30px auto;max-width:800px;padding:0 15px;z-index:2}.story-book,.storybook-content{box-sizing:border-box;position:relative;width:100%}.story-book{background:#fef8e6;background:var(--book-bg);border:5px solid #d9ae94;border:5px solid var(--book-primary);border-radius:15px;box-shadow:var(--page-shadow);padding:20px}.story-title{color:#d9ae94;color:var(--book-primary);font-family:Playfair Display,serif;font-size:clamp(1.5rem,4vw,2rem);margin-bottom:20px;text-align:center;text-shadow:0 1px 3px #0003}.book-pages{height:clamp(250px,50vh,400px);perspective:2000px;position:relative;width:100%}.page{background:#fef8e6;background:var(--book-bg);border:2px solid #d9ae94;border:2px solid var(--book-primary);box-shadow:var(--page-shadow);box-sizing:border-box;height:100%;overflow:hidden;padding:20px;position:absolute;transition:transform 1s ease-in-out;width:50%}.left-page{border-radius:10px 0 0 10px;left:0}.right-page{border-radius:0 10px 10px 0;right:0;transform-origin:right center}.page.active{z-index:2}.right-page.flipping{box-shadow:-8px 0 20px #2c1a0e80;transform:rotateY(-180deg);z-index:3}.page-content{align-items:center;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAJElEQVQYV2NkYGD4z8DAwMjIyMgwMDAwMDL8Z+BgYGBgYOBgYAAAJ4gC1QAAAABJRU5ErkJggg==) repeat;background-size:10px 10px;color:#1f1209;color:var(--book-text);display:flex;flex-direction:column;height:100%;justify-content:center;opacity:.9;overflow-y:auto;padding:15px;text-align:center}.page-content p{font-size:clamp(.9rem,2vw,1.1rem);line-height:1.8}.flip-btn{align-items:center;background:#d9ae94;background:var(--book-accent);border:2px solid #d9ae94;border:2px solid var(--book-primary);border-radius:50%;color:#d9ae94;color:var(--book-primary);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;top:50%;transition:all .3s ease;width:40px;z-index:5}.flip-btn.prev{left:-20px;transform:translateY(-50%)}.flip-btn.next{right:-20px;transform:translateY(-50%)}.flip-btn:hover{background:var(--page-glow);box-shadow:0 0 10px var(--page-glow);transform:translateY(-50%) scale(1.1)}.flip-btn:disabled{cursor:not-allowed;opacity:.5}.flip-btn svg{height:25px;width:25px}.favorite-btn{align-items:center;background:#fef8e6;background:var(--book-bg);border:2px solid #d9ae94;border:2px solid var(--book-primary);border-radius:50%;bottom:10px;box-shadow:0 2px 5px #2c1a0e4d;display:flex;height:40px;justify-content:center;position:absolute;right:10px;transition:all .3s ease;width:40px;z-index:6}.favorite-btn:hover{background:var(--page-glow);transform:scale(1.1)}.favorite-btn.favorited{background:#d9ae94;background:var(--book-accent);box-shadow:0 0 10px #d9ae94;box-shadow:0 0 10px var(--book-accent);color:#fff}.backdrop-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.backdrop-overlay.enchanted{background:radial-gradient(circle,#90ee904d,#0000 70%)}.backdrop-overlay.twilight{background:linear-gradient(180deg,#4b00824d,#0000)}.backdrop-overlay.mist{animation:mistFlow 8s infinite;background:linear-gradient(180deg,#c8c8c866,#0000)}.backdrop-overlay.stars{background:radial-gradient(circle,#ffffff1a,#0000)}.backdrop-overlay.stars:before{animation:twinkle 3s infinite;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="10" cy="10" r="1" fill="%23fff"/><circle cx="90" cy="20" r="2" fill="%23fff"/><circle cx="50" cy="80" r="1" fill="%23fff"/></svg>') repeat;content:"";height:100%;opacity:.5;position:absolute;width:100%}@keyframes mistFlow{0%{transform:translateY(0)}50%{transform:translateY(15px)}to{transform:translateY(0)}}@keyframes twinkle{0%{opacity:.3}50%{opacity:.8}to{opacity:.3}}.empty-story{background:#fef8e6;background:var(--book-bg);border:3px solid #d9ae94;border:3px solid var(--book-primary);border-radius:15px;box-shadow:var(--page-shadow);padding:50px;text-align:center}.empty-story p{color:#1f1209;color:var(--book-text);font-size:clamp(1rem,2vw,1.2rem);font-style:italic;opacity:.7}.storybook-library{box-sizing:border-box;margin:40px auto;max-width:800px;padding:0 15px;position:relative;width:100%;z-index:2}.library-title{color:#d9ae94;color:var(--book-primary);font-family:Playfair Display,serif;font-size:clamp(1.5rem,4vw,1.8rem);margin-bottom:20px;text-align:center}.library-empty{color:#1f1209;color:var(--book-text);font-size:clamp(.9rem,2vw,1.1rem);font-style:italic;opacity:.7;text-align:center}.story-shelf{gap:15px}.story-book{cursor:pointer;perspective:1000px}.book-spine{border-radius:5px;transform:rotateY(-30deg);width:35px}@media (max-width:768px){.storybook-container{padding:15px 10px}.controls{align-items:center;flex-direction:column}.story-select,.weave-btn{max-width:100%;width:100%}.book-pages{height:300px}.flip-btn.prev{left:5px}.flip-btn.next{right:5px}.page{padding:15px 10px}}@media (max-width:480px){.storybook-container{padding:10px 5px}.book-pages{height:250px}.page{padding:10px 8px}.book-spine{height:100px;width:30px}.spine-title{font-size:.8rem}.flip-btn{height:30px;width:30px}.flip-btn svg{height:20px;width:20px}.favorite-btn{bottom:5px;height:30px;right:5px;width:30px}.empty-story{padding:30px 15px}}@media (max-width:360px){.storybook-title{margin-bottom:10px}.controls{gap:8px}.story-select,.weave-btn{font-size:.8rem;padding:6px 10px}.book-pages{height:200px}.page-content p{font-size:.8rem;line-height:1.6}.flip-btn{height:25px;width:25px}.flip-btn svg{height:15px;width:15px}}.storybook-library .story-book{background-color:initial;border:none;box-shadow:none;cursor:pointer;height:130px;margin:10px;perspective:1000px;position:relative;transition:all .3s ease;width:50px}.storybook-library .story-book:hover{transform:scale(1.1)}.book-spine{align-items:center;background:linear-gradient(90deg,#d9ae94,#4a2c1e);background:linear-gradient(90deg,var(--book-primary),#4a2c1e);border:2px solid #d9ae94;border:2px solid var(--book-accent);border-radius:5px 0 0 5px;box-shadow:5px 5px 10px #2c1a0e66;display:flex;height:120px;justify-content:center;position:relative;transform:rotateY(-20deg);transition:all .3s ease;width:40px}.book-spine:hover{box-shadow:0 5px 15px #2c1a0e99;transform:rotateY(0deg)}.book-spine:after{background:linear-gradient(90deg,#4a2c1e,#2c1a0e);border-radius:0 5px 5px 0;content:"";height:100%;position:absolute;right:-10px;top:0;transform:rotateY(90deg);transform-origin:left;width:10px}.spine-title{color:#d9ae94;color:var(--book-accent);font-family:Playfair Display,serif;font-size:.9rem;font-weight:700;letter-spacing:1px;padding:10px 0;text-shadow:0 1px 2px #0000004d;writing-mode:vertical-rl}.story-shelf{align-items:flex-end;background-color:#2c1a0e1a;border-radius:10px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center;min-height:150px;padding:20px;position:relative}.story-shelf:after{background:linear-gradient(180deg,#4a2c1e,#2c1a0e);border-radius:0 0 10px 10px;bottom:0;box-shadow:0 5px 10px #0003;content:"";height:15px;left:0;position:absolute;width:100%}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.64f1b1fe.css.map*/