body{font-family:Montserrat,sans-serif;overflow-x:hidden;overflow-y:auto;background:var(--warm-white);color:var(--charcoal)}.page-container{width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;position:relative;overflow-x:hidden}.hero-section{position:absolute;inset:0;background:url(/assets/images/nature-background.jpg) center / cover;display:flex;align-items:center;justify-content:center;z-index:2;transition:transform 1.2s cubic-bezier(.65,0,.35,1)}.hero-section.animated{transform:translate(50%)}.hero-content{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;z-index:3;transition:transform 1.2s cubic-bezier(.65,0,.35,1)}.hero-section.animated .hero-content{transform:translate(calc(-50% - 25vw)) translateY(-50%)}.page-container .brand-title{font-family:RL Madena,Crimson Text,serif;font-size:clamp(3rem,8vw,7rem);font-weight:600;letter-spacing:-.02em;margin:0;text-shadow:0 4px 20px rgba(0,0,0,.3);opacity:0;animation:fadeInUp 1s ease-out .3s forwards;color:#fff}.brand-subtitle{font-family:Not A Typeface,Montserrat,sans-serif;font-size:clamp(.9rem,2vw,1.1rem);font-weight:400;letter-spacing:.08em;margin-top:-1rem;text-align:center;opacity:.9;opacity:0;animation:fadeInUp 1s ease-out .6s forwards}.auth-section{position:absolute;top:0;left:-50%;width:50%;height:100%;background:var(--earth-green);z-index:1;display:flex;align-items:center;justify-content:center;transition:left 1.2s cubic-bezier(.65,0,.35,1);padding:2rem}.auth-section.animated{left:0}.auth-container{width:100%;max-width:420px;opacity:0;transform:translateY(20px);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .6s ease-out 1.4s,transform .6s ease-out 1.4s}.auth-container.visible{opacity:1;transform:translateY(0)}.auth-toggle{display:flex;gap:.8rem;margin-bottom:1.5rem}.toggle-btn{flex:1;padding:.75rem 1.5rem;background:transparent;border:2px solid rgba(255,255,255,.3);color:#ffffffb3;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:all .3s ease;border-radius:8px}.toggle-btn:hover{border-color:#fff9;color:#fff}.toggle-btn.active{background:#fff;color:var(--deep-green);border-color:#fff}.auth-form{display:none}.auth-form.active{display:flex;flex-direction:column;gap:.8rem;animation:fadeIn .4s ease-out}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6}.form-input{width:100%;padding:.8rem 1rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;font-family:Montserrat,sans-serif;font-size:.9rem;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .15s ease}.form-input::placeholder{color:#fff6}.form-input:focus{outline:none;background:#ffffff2e;border-color:#fff;box-shadow:0 0 0 4px #ffffff26}.form-input:hover{background:#ffffff29}.auth-form .submit-btn{margin-top:.5rem;padding:.85rem 1.8rem;border-radius:12px;background:#ffffff24;color:#fff;border:1px solid white;font-family:Not A Typeface,Montserrat,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.auth-form .submit-btn:hover:not(:disabled){transform:translateY(-2px);background:#ffffff38;border-color:#fff;box-shadow:0 10px 30px #0003}.auth-form .submit-btn:active{transform:translateY(0);box-shadow:0 6px 18px #0003}.auth-form .submit-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.error-message{background:#ffb4b426;border:1px solid rgba(255,180,180,.4);color:#ffd6d6;padding:.5rem .75rem;border-radius:10px;font-size:.8rem;margin-top:.25rem}.error-message.show{display:block}.auth-context{text-align:center;font-family:Not A Typeface,Montserrat,sans-serif;font-size:1.3rem;letter-spacing:.08em;color:#ffffffbf;margin-bottom:.75rem;transition:opacity .25s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media(max-width:768px){.page-container{min-height:100svh;min-height:100dvh}.hero-section,.auth-section{position:relative;inset:auto;width:100%;transition:none}.hero-section{min-height:42svh;justify-content:center}.hero-section.animated{transform:none}.hero-content,.hero-section.animated .hero-content{position:static;transform:none;padding:2rem 1rem 1.25rem;text-align:center}.page-container .brand-title{font-size:clamp(2.2rem,12vw,3.6rem)}.brand-subtitle{margin-top:-.4rem;font-size:.9rem}.auth-section{left:0;height:auto;min-height:58svh;padding:1rem 1rem 2rem}.auth-section.animated{top:auto}.auth-container{max-width:480px;width:100%;padding:0;transform:none;opacity:1;transition:none}.auth-toggle{margin-bottom:1rem}.toggle-btn{padding:.7rem .9rem;font-size:.9rem}}@media(max-width:480px){.hero-section{min-height:36svh}.hero-content,.hero-section.animated .hero-content{padding:1.4rem .8rem 1rem}.auth-section{padding:.85rem .8rem 1.2rem}.auth-context{font-size:1.05rem;margin-bottom:.6rem}.auth-toggle{gap:.5rem}.form-input{padding:.72rem .9rem;font-size:.85rem}.auth-form .submit-btn{width:100%}}.loading{pointer-events:none;opacity:.6}.auth-form .loading .submit-btn:after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid var(--deep-green);border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@font-face{font-family:RL Madena;src:url(/assets/fonts/RL-Madena.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:RL Madena;src:url(/assets/fonts/RL-Madena-Oblique.otf) format("opentype");font-weight:400;font-style:oblique;font-display:swap}@font-face{font-family:RL Madena;src:url(/assets/fonts/RL%20Madena%20Variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Not A Typeface;src:url(/assets/fonts/this-font-is-not-a-typeface.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap;size-adjust:105%}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;min-height:100dvh;line-height:1.6;color:#333;background-color:#f5f5f5;-webkit-text-size-adjust:100%}#root{min-height:100vh;min-height:100dvh}.dashboard-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(#fdfbf74d,#fdfbf74d),url(/assets/images/nature-background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Montserrat,sans-serif;font-weight:450;overflow-x:hidden;overflow-y:auto}.write-note-btn{background:#ffffffeb;border:1px solid rgba(107,127,92,.2);border-radius:12px;padding:1.05rem 1.5rem;cursor:pointer;transition:all .3s ease;width:100%;max-width:640px;box-shadow:0 8px 18px #2c2c2c1a;position:relative;overflow:visible}.write-note-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #2c2c2c24;border-color:var(--earth-green)}.btn-content{display:flex;align-items:center;gap:1.25rem}.folder-badge{position:relative;width:70px;height:55px;flex-shrink:0}.folder-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.folder-back{z-index:1;filter:drop-shadow(0 5px 8px rgba(20,32,16,.16))}.folder-pocket{position:absolute;inset:5% 9% 10%;z-index:2;pointer-events:none;overflow-x:clip;overflow-y:visible}.folder-front{z-index:3}.folder-image{position:absolute;left:50%;bottom:0;width:46px;height:35px;border-radius:6px;object-fit:cover;box-shadow:0 5px 8px #2c2c2c2e;opacity:.95;transform:translate(-50%,-3px) scale(.55);transition:transform .35s ease,box-shadow .35s ease}.folder-image:nth-child(1){transform:translate(-74%,-3px) rotate(-5deg) scale(.52)}.folder-image:nth-child(2){transform:translate(-50%,-4px) rotate(0) scale(.55)}.folder-image:nth-child(3){transform:translate(-27%,-3px) rotate(5deg) scale(.52)}.write-note-btn:hover .folder-image:nth-child(1){transform:translate(-86%,-19px) rotate(-9deg) scale(.95);box-shadow:0 10px 18px #2c2c2c38}.write-note-btn:hover .folder-image:nth-child(2){transform:translate(-50%,-24px) rotate(0) scale(1);box-shadow:0 10px 18px #2c2c2c38}.write-note-btn:hover .folder-image:nth-child(3){transform:translate(-14%,-18px) rotate(9deg) scale(.95);box-shadow:0 10px 18px #2c2c2c38}.btn-text{font-size:1.55rem;font-weight:500;color:var(--charcoal);text-align:left;white-space:normal;line-height:1.3;font-family:RL Madena,Crimson Text,serif}.prompt-text{color:var(--earth-green);font-weight:600;display:inline-block;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.write-note-btn{padding:.95rem 1.25rem}.btn-content{gap:1rem}.folder-badge{width:64px;height:52px}.folder-image{width:40px;height:31px}.btn-text{font-size:1.1rem;white-space:normal;line-height:1.3}}@media(max-width:480px){.write-note-btn{padding:.85rem 1rem}.btn-text{font-size:.95rem;white-space:normal;line-height:1.3}}.notes-scroll-container{flex:1;min-height:0;max-height:none;overflow-y:auto;padding-right:.5rem}.notes-scroll-container::-webkit-scrollbar{width:8px}.notes-scroll-container::-webkit-scrollbar-track{background:var(--cream);border-radius:10px}.notes-scroll-container::-webkit-scrollbar-thumb{background:var(--earth-green);border-radius:10px}.notes-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--deep-green)}.notes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem}.note-card{cursor:pointer;transition:transform .3s ease;display:flex;flex-direction:column;align-items:center;gap:.75rem;min-height:230px}.note-card:hover{transform:translateY(-8px)}.note-card.is-shaking{animation:envelopeShake .45s ease}.note-card.is-shaking .envelope-image.closed{filter:drop-shadow(0 4px 12px rgba(168,64,64,.18))}@keyframes envelopeShake{0%,to{transform:translate(0)}20%{transform:translate(-6px) rotate(-1.8deg)}40%{transform:translate(6px) rotate(1.8deg)}60%{transform:translate(-4px) rotate(-1deg)}80%{transform:translate(4px) rotate(1deg)}}.envelope-wrapper{width:145px;height:148px;display:flex;align-items:center;justify-content:center}.envelope-image{width:118px;height:auto;object-fit:contain;transition:filter .3s ease}.envelope-image.open{width:122px}.note-card:hover .envelope-image{filter:drop-shadow(0 4px 12px rgba(0,0,0,.14))}.note-info{text-align:center;width:100%}.note-title{font-size:.95rem;font-weight:600;color:var(--charcoal);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-date{font-size:.75rem;color:#666;margin:0}.date-label{font-weight:600;color:var(--earth-green)}.note-countdown{font-size:.7rem;color:var(--earth-green);font-weight:500;margin:.25rem 0 0}.notes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:#666}.loading-spinner{width:40px;height:40px;border:3px solid var(--cream);border-top-color:var(--earth-green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;padding:2rem}.empty-message{font-size:1.1rem;font-weight:600;color:var(--charcoal);margin:0 0 .5rem}.empty-hint{font-size:.9rem;color:#666;max-width:300px;margin:0;line-height:1.5}@media(max-width:768px){.notes-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.envelope-wrapper{width:118px;height:126px}.envelope-image{width:101px}.envelope-image.open{width:106px}}@media(max-width:480px){.notes-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:768px)and (max-height:760px){.notes-list{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.75rem}.note-card{min-height:175px;gap:.45rem}.envelope-wrapper{width:98px;height:102px}.envelope-image{width:84px}.envelope-image.open{width:89px}.note-title{font-size:.84rem}.note-date{font-size:.68rem}}@media(max-width:480px)and (max-height:700px){.envelope-wrapper{width:88px;height:92px}.envelope-image{width:74px}.envelope-image.open{width:78px}}.create-note-overlay{position:fixed;inset:0;z-index:50;background:#11160f33;backdrop-filter:blur(1.6px);-webkit-backdrop-filter:blur(1.6px);display:flex;align-items:flex-end;justify-content:center;padding:1rem 1.2rem 0;animation:overlayFadeIn .35s ease forwards}.letter-form-popup{--letter-close-right: clamp(.6rem, 2.8vw, 2.75rem);--letter-close-top: clamp(.55rem, 1.8vw, .95rem);position:relative;width:min(940px,97vw);height:min(94dvh,860px);min-height:80vh;max-height:94vh;max-height:94dvh;aspect-ratio:47 / 43;background-position:center bottom;background-size:cover;background-repeat:no-repeat;display:flex;align-items:stretch;justify-content:center;animation:letterSlideUp .34s cubic-bezier(.22,.61,.36,1) both}.create-note-overlay.is-closing{animation:overlayFadeOut .34s ease forwards}.letter-form-popup.is-closing{animation:letterSlideDown .34s cubic-bezier(.22,.61,.36,1) both}.letter-form{width:min(600px,76%);margin-top:clamp(2.35rem,4.8vw,3.1rem);margin-bottom:clamp(5.1rem,10.8vh,6.5rem);background:transparent;border:none;box-shadow:none;padding:0;display:grid;align-content:start;gap:.62rem;max-height:calc(100% - clamp(7.7rem,16.5vh,9rem));overflow-y:auto}.letter-form h1{margin:0;font-family:RL Madena,Crimson Text,serif;font-size:clamp(1.55rem,3.1vw,2.2rem);color:#2a2012f2;letter-spacing:.02em}.form-subtitle{margin:0 0 .2rem;color:#352b1dcc;font-size:.95rem;line-height:1.35}.envelope-style-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-bottom:.2rem;padding:.35rem 0;border-radius:10px;background:transparent;border:none;margin-top:.35rem}.envelope-preview{width:clamp(78px,18vw,112px);height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.14))}.color-swatch-group{display:flex;align-items:center;gap:.4rem}.color-swatch-btn{border:1px solid transparent;background:transparent;width:22px;height:22px;border-radius:999px;padding:2px;cursor:pointer}.color-swatch-btn.active{border-color:#0000008c}.color-swatch-dot{display:block;width:100%;height:100%;border-radius:inherit;border:1px solid rgba(0,0,0,.1)}.letter-form label{font-size:.9rem;font-weight:500;color:#31271aeb}.letter-form input,.letter-form textarea{width:100%;border:1px solid rgba(88,72,47,.28);background:transparent;border-radius:0;padding:.55rem 0;font-family:Not A Typeface,DM Sans,sans-serif;font-size:.94em;color:var(--charcoal);transition:border-color .2s ease,box-shadow .2s ease;border-left:none;border-right:none;border-top:none}.letter-form input:focus,.letter-form textarea:focus{outline:none;border-color:#4a5a3ecc;box-shadow:0 6px 0 -5px #4a5a3e80}.letter-form textarea{resize:vertical;min-height:110px;line-height:1.5}.letter-form{scrollbar-width:thin;scrollbar-color:rgba(108,76,38,.75) rgba(232,216,186,.55)}.letter-form::-webkit-scrollbar{width:7px}.letter-form::-webkit-scrollbar-track{background:#e8d8ba8c;border-radius:10px}.letter-form::-webkit-scrollbar-thumb{background:#6c4c26bf;border-radius:10px}.letter-form::-webkit-scrollbar-thumb:hover{background:#593e1ee0}.date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.form-feedback{margin:.2rem 0 0;font-size:.82rem;padding:.48rem .62rem;border-radius:8px}.form-feedback.error{color:#8a2a2a;background:#ffdedea6;border:1px solid rgba(186,88,88,.35)}.form-feedback.success{color:#2d6a37;background:#dcffe0b8;border:1px solid rgba(80,148,84,.35)}.create-note-actions{display:flex;justify-content:center;margin-top:.2rem}.create-note-back-btn{margin-top:0}.sent-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1.1rem;border-radius:12px;border:1px solid rgba(63,105,67,.35);background:#f4fff7f5;color:#2d6a37;font-size:.95rem;font-weight:600;box-shadow:0 14px 32px #0003}.sent-popup-plane{font-size:1.05rem}.submit-btn{justify-self:center;margin-top:.1rem;background:transparent;color:#34291bf5;border:1px solid rgba(88,72,47,.36);border-radius:0;padding:.45rem .82rem;font-size:.9rem;font-weight:500;font-family:Not A Typeface,Montserrat,sans-serif;cursor:pointer;letter-spacing:.02em;transition:transform .2s ease,border-color .2s ease,opacity .2s ease;box-shadow:none}.submit-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#34291ba6}.submit-btn:disabled{opacity:.7;cursor:progress}@keyframes letterSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes letterSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes overlayFadeIn{0%{background:#11160f00}to{background:#11160f94}}@keyframes overlayFadeOut{0%{background:#11160f94}to{background:#11160f00}}@media(max-width:768px){.create-note-overlay{padding:.45rem .55rem 0}.letter-form-popup{width:auto;height:min(93dvh,720px);min-height:80vh;max-height:93vh;max-height:93dvh;max-width:100%;aspect-ratio:47 / 43;background-size:cover;--letter-close-right: .6rem;--letter-close-top: .55rem}.letter-form{width:min(450px,78%);margin-top:1.35rem;margin-bottom:clamp(4.1rem,8.6vh,5.2rem);max-height:calc(100% - 5.65rem);gap:.62rem}.date-row{grid-template-columns:1fr}}@media(max-width:480px){.create-note-overlay{padding:.3rem .3rem 0}.letter-form-popup{height:min(95vh,680px);height:min(95dvh,680px);min-height:74vh}.letter-form{width:min(390px,82%);margin-top:1.05rem;margin-bottom:3.9rem;max-height:calc(100% - 5rem);gap:.5rem}.letter-form h1{font-size:1.2rem}.form-subtitle,.letter-form label,.letter-form input,.letter-form textarea{font-size:.85rem}.envelope-style-row{align-items:flex-start;flex-direction:column}}.note-letter-overlay{z-index:80}.note-letter-overlay.note-letter-animated{animation:noteOverlayFadeIn .35s ease forwards}.note-letter-popup.note-letter-animated{animation:noteLetterSlideUp .34s cubic-bezier(.22,.61,.36,1) both}.note-letter-overlay.note-letter-animated.is-closing{animation:noteOverlayFadeOut .34s ease forwards}.note-letter-popup.note-letter-animated.is-closing{animation:noteLetterSlideDown .34s cubic-bezier(.22,.61,.36,1) both}.note-letter-popup{--letter-close-right: clamp(.65rem, 2.2vw, 1.65rem);--letter-close-top: clamp(.55rem, 1.6vw, .9rem);width:min(900px,96vw);height:min(calc(100vh - 72px),860px);height:min(calc(100dvh - 72px),860px);max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);min-height:min(76vh,700px)}.note-letter-content{width:min(580px,76%);margin-top:clamp(2.6rem,5.2vw,3.5rem);margin-bottom:clamp(5.8rem,13vh,7.1rem);max-height:calc(100% - clamp(9.1rem,19vh,10.8rem));overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.85rem;scrollbar-width:thin;scrollbar-color:rgba(108,76,38,.75) rgba(232,216,186,.55)}.note-letter-popup.long-letter .note-letter-paper h1{font-size:clamp(1.4rem,2.8vw,1.85rem)}.note-letter-popup.long-letter .note-letter-body,.note-letter-popup.long-letter .note-letter-greeting,.note-letter-popup.long-letter .note-letter-signoff,.note-letter-popup.long-letter .note-letter-signature{font-size:.94rem}.note-letter-popup.very-long-letter .note-letter-paper h1{font-size:clamp(1.2rem,2.25vw,1.58rem)}.note-letter-popup.very-long-letter .note-letter-body,.note-letter-popup.very-long-letter .note-letter-greeting,.note-letter-popup.very-long-letter .note-letter-signoff,.note-letter-popup.very-long-letter .note-letter-signature{font-size:.84rem;line-height:1.5}.note-letter-popup.long-letter .note-letter-content,.note-letter-popup.very-long-letter .note-letter-content{margin-bottom:clamp(6.2rem,13.8vh,7.6rem);max-height:calc(100% - clamp(9.8rem,20vh,12rem));overflow-y:auto}.note-letter-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.25rem .9rem;font-size:.88rem;color:#3e4835e6}.note-letter-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.82rem;min-width:max-content}.note-letter-content::-webkit-scrollbar{width:7px}.note-letter-content::-webkit-scrollbar-track{background:#e8d8ba8c;border-radius:10px}.note-letter-content::-webkit-scrollbar-thumb{background:#6c4c26bf;border-radius:10px}.note-letter-content::-webkit-scrollbar-thumb:hover{background:#593e1ee0}.note-letter-paper{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;overflow-x:hidden}.note-letter-paper h1{margin:.2rem 0 .9rem;font-family:Not A Typeface,Montserrat,sans-serif;font-size:clamp(1.5rem,2.9vw,1.95rem);color:#2c2c2c;letter-spacing:.01em;overflow-wrap:anywhere;word-break:break-word}.note-letter-greeting,.note-letter-signoff,.note-letter-signature,.note-letter-body{font-family:Not A Typeface,Montserrat,sans-serif;color:#2f2f2f;font-size:.96rem;line-height:1.58;margin:0;text-align:left}.note-letter-greeting,.note-letter-signoff,.note-letter-signature{padding-top:.25rem}.note-letter-body{white-space:pre-wrap;overflow-wrap:anywhere}.note-letter-actions{position:sticky;bottom:0;display:flex;justify-content:center;align-items:center;gap:.6rem;margin-top:.55rem;padding:.75rem 0 .5rem;background:transparent}.note-letter-delete-btn{color:#8a2a2aeb;border-color:#ba585859;box-shadow:0 1px 6px #8a2a2a14}.note-letter-delete-btn:hover:not(:disabled){border-color:#97373773}.note-letter-status,.note-letter-error{text-align:center}.note-letter-error{margin-bottom:1rem}.note-letter-inline-error{margin:0;color:#8a2a2a;background:#ffdedea6;border:1px solid rgba(186,88,88,.35);border-radius:8px;padding:.42rem .58rem;font-size:.82rem}.note-letter-back-btn{justify-self:flex-end}.delete-popup{flex-direction:column;text-align:center;color:#8a2a2a;border-color:#ba585859;background:#fff7f7f7}.delete-popup-actions{display:flex;gap:.6rem;margin-top:.2rem}.delete-popup-btn{margin-top:0}@keyframes noteLetterSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes noteLetterSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes noteOverlayFadeIn{0%{background:#11160f00}to{background:#11160f94}}@keyframes noteOverlayFadeOut{0%{background:#11160f94}to{background:#11160f00}}@media(max-width:768px){.note-letter-popup{height:min(calc(100vh - 56px),760px);height:min(calc(100dvh - 56px),760px);max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);min-height:min(72vh,640px)}.note-letter-content{width:min(450px,79%);margin-top:1.65rem;margin-bottom:clamp(5.1rem,11.6vh,6.4rem);max-height:calc(100% - 7.4rem)}.note-letter-popup.long-letter .note-letter-content,.note-letter-popup.very-long-letter .note-letter-content{margin-bottom:clamp(5.6rem,12.3vh,6.9rem);max-height:calc(100% - 8.2rem)}.note-letter-header{flex-direction:column;gap:.3rem}.note-letter-meta{align-items:flex-start}.note-letter-actions{flex-direction:column}}@media(max-width:480px){.note-letter-popup{width:98vw;height:min(calc(100vh - 30px),680px);height:min(calc(100dvh - 30px),680px);max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);min-height:min(68vh,560px)}.note-letter-content{width:min(330px,82%);margin-top:1.2rem;margin-bottom:4.9rem;max-height:calc(100% - 6.3rem)}.note-letter-paper h1{font-size:1.25rem}.note-letter-greeting,.note-letter-signoff,.note-letter-signature,.note-letter-body{font-size:.85rem}.delete-popup-actions,.note-letter-actions{width:100%}.delete-popup-actions{flex-direction:column}}.dashboard-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(#fdfbf74d,#fdfbf74d),url(/assets/images/nature-background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Montserrat,sans-serif;font-weight:450;overflow-x:hidden;overflow-y:auto}.profile-main{flex:1;display:grid;place-items:center;padding:2rem 1rem}.profile-card{width:min(760px,100%);background:#ffffffed;border:1px solid rgba(106,122,86,.35);border-radius:16px;padding:clamp(1.5rem,4vw,2.25rem);box-shadow:0 8px 20px #32323217;color:#2f2f2f}.profile-card-header{text-align:center;margin-bottom:.01rem}.profile-card-header h2{margin:0 0 .6rem;font-family:RL Madena,Crimson Text,serif;font-size:clamp(1.6rem,4vw,2rem)}.profile-card-header p{margin:0;line-height:1.6}.profile-btn-active{transform:scale(1.03)}.profile-avatar-large{width:80px;height:80px;border-radius:10px;background:#4a5a3ef2;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.7rem;font-family:RL Madena,Crimson Text,serif;margin:0 auto 1rem}.profile-view{text-align:center}.profile-name{margin:0;font-family:RL Madena,Crimson Text,serif;color:var(--charcoal);font-size:clamp(1.55rem,4vw,1.9rem)}.profile-email{margin:.5rem 0 1.2rem;color:#3a3a3ad6}.profile-form{display:grid;gap:.72rem}.profile-form label{font-size:.92rem;font-weight:600;color:#37312ae6}.profile-form input{width:100%;border:1px solid rgba(117,102,81,.25);background:#fffffff0;border-radius:11px;padding:.72rem .82rem;font-family:Not A Typeface,DM Sans,sans-serif;color:var(--charcoal);transition:border-color .2s ease,box-shadow .2s ease}.profile-form input:focus{outline:none;border-color:var(--earth-green);box-shadow:0 0 0 3px #6b7f5c2b}.password-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.profile-password-hint{margin:.2rem 0 0;font-size:.84rem;color:#4d4d4dd6}.profile-feedback{margin:.4rem 0 0;font-size:.92rem;padding:.58rem .68rem;border-radius:8px}.profile-feedback.error{color:#8a2a2a;background:#ffdedea6;border:1px solid rgba(186,88,88,.35)}.profile-feedback.success{color:#2d6a37;background:#dcffe0b8;border:1px solid rgba(80,148,84,.35)}.profile-actions{margin-top:.85rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.profile-primary-btn,.profile-secondary-btn{border:none;border-radius:12px;padding:.72rem 1.3rem;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:Not A Typeface,DM Sans,sans-serif}.profile-primary-btn{background:var(--earth-green)}.profile-primary-btn:hover:not(:disabled){background:var(--deep-green)}.profile-primary-btn:disabled{opacity:.7;cursor:progress}.profile-secondary-btn{background:#66785a}.profile-secondary-btn:hover{background:#526049}.profile-footer{text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#2c2c2cb3;padding:1.5rem 0 2rem;margin-top:auto}@media(max-width:768px){.profile-main{padding:1.25rem .8rem}.password-row{grid-template-columns:1fr}.profile-actions{justify-content:stretch}.profile-primary-btn,.profile-secondary-btn{width:100%}}.dashboard-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(#fdfbf74d,#fdfbf74d),url(/assets/images/nature-background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Not A Typeface,Montserrat,sans-serif;font-weight:450}.about-nav{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 2.2rem;background:#ffffffe6;border-bottom:1px solid rgba(93,105,79,.2)}.about-brand{font-family:RL Madena,Crimson Text,serif;font-size:2rem;font-weight:600;color:var(--charcoal);margin:0;letter-spacing:-.02em}.about-nav-links{display:flex;align-items:center;gap:2rem}.about-nav-link{border:1px solid transparent;background:transparent;color:#2f2f2f;font-family:Not A Typeface,Montserrat,sans-serif;font-size:.98rem;padding:.45rem .65rem;cursor:pointer}.about-nav-link.active{border-bottom-color:#6b7f5c;color:#6b7f5c}.about-profile-btn{border:none;background:transparent;padding:0;cursor:pointer}.about-profile-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6b7f5c,#4a5a3e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.about-content{flex:1;display:grid;place-items:center;padding:2rem 1rem}.about-card{background:#ffffffed;border:1px solid rgba(106,122,86,.38);border-radius:16px;width:min(680px,100%);padding:clamp(1.5rem,4vw,2.25rem);color:#2f2f2f;box-shadow:0 8px 20px #32323217;min-height:0;display:flex;flex-direction:column;gap:1rem}.about-card h2{margin:.2rem 0;font-family:RL Madena,Crimson Text,serif;font-size:2.15rem;font-weight:600}.about-card p{line-height:1.5;margin:0 0 .8rem}.about-links{margin-top:.2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.about-link-card{text-decoration:none;color:#2f2f2f;border:1px solid rgba(106,122,86,.45);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.2rem;background:#ffffffe0;transition:transform .2s ease,border-color .2s ease,background .2s ease}.about-link-card:hover{border-color:#5a6d4b;background:#f4f8eef2;transform:translateY(-2px)}.about-link-card span{font-weight:700}.about-link-card small{color:#525252}.about-footer{text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#2c2c2cb3;padding:1.5rem 0 2rem;margin-top:auto}@media(max-width:768px){.about-nav{padding:1rem}.about-brand{font-size:1.5rem}.about-card{min-height:0}.about-links{grid-template-columns:1fr}}:root{--earth-green: #6B7F5C;--deep-green: #4A5A3E;--cream: #F5F1E8;--warm-white: #FDFBF7;--charcoal: #2C2C2C;--soft-shadow: rgba(107, 127, 92, .15)}.dashboard-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(#fdfbf74d,#fdfbf74d),url(/assets/images/nature-background.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;font-family:Montserrat,sans-serif;font-weight:450;overflow-x:hidden;overflow-y:auto}.dashboard-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:#ffffffeb;box-shadow:0 2px 12px #2c2c2c14;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(107,127,92,.2)}.brand-title{font-family:RL Madena,Crimson Text,serif;font-size:2rem;font-weight:600;color:var(--charcoal);margin:0;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.42rem}.brand-logo{height:.8em;width:auto;max-width:100%;display:block;object-fit:contain;aspect-ratio:auto;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{font-size:1rem;color:var(--charcoal);text-decoration:none;font-weight:500;transition:color .3s ease;position:relative}.nav-link:hover,.nav-link.active{color:var(--earth-green)}.nav-link.active:after{content:"";position:absolute;bottom:-.5rem;left:0;right:0;height:2px;background:var(--earth-green)}.profile-btn{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s ease}.profile-btn:hover{transform:scale(1.05)}.profile-avatar{width:45px;height:45px;border-radius:10px;background:#4a5a3ef2;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;font-family:RL Madena,Crimson Text,serif;box-shadow:0 2px 10px var(--soft-shadow)}.dashboard-main{max-width:1400px;margin:0 auto;padding:3rem 2rem;width:100%;flex:1;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.create-section{margin-bottom:3rem}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;flex:1;min-height:0;align-items:stretch}.notes-section{background:#ffffffe6;border-radius:12px;padding:1.5rem;box-shadow:0 8px 24px #2c2c2c14;border:1px solid rgba(107,127,92,.12);min-height:20rem;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(107,127,92,.2)}.header-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--deep-green)}.header-icon svg{width:100%;height:100%;fill:currentColor}.section-header h2{font-family:RL Madena,Crimson Text,serif;font-size:1.75rem;color:var(--charcoal);margin:0;font-weight:600}.dashboard-footer{text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#2c2c2cb3;padding:1.5rem 0 2rem;margin-top:auto}@media(max-width:1024px){.notes-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-nav{padding:1rem;flex-wrap:wrap;gap:.8rem}.brand-title{font-size:1.5rem;width:100%;justify-content:center}.nav-links{width:100%;gap:.65rem;justify-content:center;flex-wrap:wrap}.nav-link{font-size:.9rem;padding:.2rem .35rem}.dashboard-main{padding:1.25rem .9rem 1.75rem;overflow:visible}.create-section{margin-bottom:1.4rem}.notes-grid{gap:1rem}.notes-section{padding:1rem;min-height:17rem}.section-header{margin-bottom:1rem;padding-bottom:.7rem}.section-header h2{font-size:1.25rem}}@media(max-width:480px){.brand-title{font-size:1.3rem}.dashboard-nav{position:sticky;top:0}.nav-links{justify-content:space-between}.nav-link{font-size:.82rem}.profile-avatar{width:40px;height:40px;font-size:.9rem}.dashboard-footer{font-size:.72rem;padding-bottom:1.2rem}}.music-toggle-btn{border:1px solid rgba(107,127,92,.38);background:#f5f1e8eb;color:var(--deep-green);border-radius:999px;padding:.4rem .55rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;cursor:pointer;transition:all .2s ease}.music-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem}.music-toggle-icon svg{width:100%;height:100%}.music-toggle-btn:hover{background:#eaf4e3f2;border-color:var(--earth-green)}.music-toggle-btn:focus-visible{outline:2px solid rgba(107,127,92,.5);outline-offset:2px}@media(max-width:768px){.music-toggle-btn{padding:.4rem .5rem}}@media(max-width:768px)and (max-height:760px){.dashboard-nav{padding:.7rem .8rem;gap:.5rem}.brand-title{font-size:1.25rem}.nav-links{gap:.45rem}.dashboard-main{padding-top:.7rem;padding-bottom:1rem}.create-section{margin-bottom:.8rem}.notes-section{padding:.8rem}.section-header{margin-bottom:.7rem;padding-bottom:.55rem}.section-header h2{font-size:1.05rem}}.contact-main{flex:1;display:grid;place-items:center;padding:2rem 1rem}.contact-card{width:min(680px,100%);background:#ffffffed;border:1px solid rgba(106,122,86,.35);border-radius:16px;padding:clamp(1.5rem,4vw,2.25rem);box-shadow:0 8px 20px #32323217;color:#2f2f2f}.contact-card h2{margin:0 0 .8rem;font-family:RL Madena,Crimson Text,serif;font-size:clamp(1.6rem,4vw,2rem)}.contact-card p{margin:0 0 1rem;line-height:1.6}.contact-email-link{display:inline-block;margin-bottom:1rem;font-size:1.05rem;color:var(--deep-green);font-weight:700}.contact-email-link:hover{color:var(--earth-green)}.contact-tip{color:#4e4e4e;font-size:.95rem}.contact-footer{text-align:center;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#2c2c2cb3;padding:1.5rem 0 2rem;margin-top:auto}
