.login-page{position:relative;display:grid;min-height:100vh;overflow:hidden;place-items:center;padding:30px 18px 72px;color:#243248;background:radial-gradient(ellipse at 50% 20%,#475e76 0,#2d4055 45%,#1a2535)}.login-card{position:relative;z-index:1;width:min(100%,430px);padding:39px 43px 31px;border:1px solid rgba(255,255,255,.7);border-radius:17px;background:#fffdfb;box-shadow:0 25px 80px #080f1857}.login-brand{margin-bottom:28px;text-align:center}.login-emblem{display:grid;width:49px;height:49px;margin:0 auto 12px;place-items:center;border:1px solid #cba7c7;border-radius:50%;color:var(--violet);font:34px Satisfy,cursive}.login-brand p{margin:0;color:#7d8794;font-size:9px;font-weight:700;letter-spacing:3px}.login-brand h1{margin:0;color:var(--slate);font:37px Satisfy,cursive}.login-rule{position:relative;width:72px;height:1px;margin:12px auto 0;background:#e5d6e5}.login-rule span{position:absolute;top:-9px;left:30px;padding:0 8px;color:var(--violet);background:#fffdfb}.login-card h2{margin:0;color:#29374a;font-size:20px;font-weight:700;text-align:center}.login-subtitle{margin:8px 0 25px;color:#87909a;font-size:12px;text-align:center}.login-card form{display:grid;gap:9px}.login-card form label{margin-top:5px;color:#4b5869;font-size:11px;font-weight:700}.login-card form input{width:100%;height:43px;padding:0 12px;border:1px solid #e4e5e6;border-radius:6px;color:#29374a;background:#fff;font-size:12px}.login-card form input::placeholder{color:#b2b8bf}.login-submit{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px 15px;border:0;border-radius:6px;color:#fff;background:var(--violet);font-size:12px;font-weight:700}.login-submit:hover{background:var(--violet-dark)}.login-submit:disabled{cursor:wait;opacity:.7}.login-submit span{font-size:17px}.login-error{padding:9px 10px;border-radius:5px;color:#943d35;background:#fff0ed;font-size:11px}.login-switch{margin:21px 0 0;color:#828b95;font-size:11px;text-align:center}.login-switch button{padding:0;border:0;color:var(--violet);background:none;font-weight:700}.login-privacy{margin-top:25px;padding-top:16px;border-top:1px solid #eeeae7;color:#9da2a8;font-size:9px;text-align:center}.login-privacy span{margin-right:5px;color:var(--teal)}.login-footer{position:absolute;bottom:20px;z-index:1;margin:0;color:#ffffff8c;font:16px Satisfy,cursive}.login-decoration{position:absolute;border:1px solid rgba(238,209,209,.12);border-radius:50%}.login-decoration--one{top:-230px;right:-80px;width:560px;height:560px}.login-decoration--two{bottom:-260px;left:-150px;width:540px;height:540px}@media(max-width:480px){.login-card{padding:32px 25px 27px}.login-footer{font-size:14px}}.dashboard-page{max-width:1280px;margin:auto}.welcome-banner{position:relative;display:flex;min-height:clamp(290px,24vw,350px);overflow:hidden;border-radius:17px;color:#fff;background:linear-gradient(110deg,#2c3e50,#395169 62%,#536e88);box-shadow:0 16px 40px #25364a1f}.welcome-copy{position:relative;z-index:2;width:59%;padding:clamp(36px,4vw,58px) clamp(34px,4.4vw,64px)}.welcome-copy .eyebrow{color:#d3b7d4}.welcome-copy h1{margin:16px 0 12px;font:clamp(40px,3.4vw,52px)/1.12 "Satisfy",cursive}.welcome-copy h1 em{color:var(--cream);font-style:normal}.welcome-copy p{max-width:430px;margin:0 0 25px;color:#c3ced7;font-size:14px;line-height:1.75}.welcome-button{padding:13px 18px;color:#3c3b4b;background:#eed1d1;font-size:12px}.welcome-button:hover{color:#30243c;background:#f5dddd}.welcome-art{position:absolute;top:0;right:0;width:46%;height:100%;overflow:hidden}.sun-disc{position:absolute;top:50%;left:50%;width:clamp(190px,19vw,270px);aspect-ratio:1;border:1px solid rgba(238,209,209,.4);border-radius:50%;background:radial-gradient(circle at center,#eed1d142,#eed1d10a 68%);transform:translate(-50%,-50%)}.art-book{position:absolute;top:50%;left:50%;display:flex;width:clamp(118px,10vw,148px);height:clamp(164px,15vw,205px);flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.43);border-radius:7px 14px 14px 7px;color:#f5e1d7;background:linear-gradient(145deg,#8e647c,#554461);box-shadow:12px 14px 30px #121b2a59,inset 5px 0 #ffffff1a;transform:translate(-50%,-50%) rotate(8deg);transition:box-shadow .45s ease,transform .55s cubic-bezier(.2,.8,.2,1)}.welcome-banner:hover .art-book{box-shadow:16px 20px 34px #121b2a66,inset 5px 0 #ffffff1a;transform:translate(-50%,calc(-50% - 5px)) rotate(5deg)}.art-book span{margin-bottom:13px;font-size:24px}.art-book small{font:24px/1.05 Satisfy,cursive;text-align:center}.art-orbit{position:absolute;top:50%;left:50%;border:1px solid rgba(238,209,209,.3);border-radius:50%}.art-orbit--one{width:clamp(280px,30vw,410px);height:clamp(115px,12vw,158px);animation:orbit-turn 20s linear infinite}.art-orbit--two{width:clamp(300px,32vw,440px);height:clamp(122px,13vw,172px);animation:orbit-turn-reverse 28s linear infinite}.art-orbit--one:before,.art-orbit--one:after,.art-orbit--two:after{position:absolute;color:#eed1d1;text-shadow:0 0 12px rgba(238,209,209,.75)}.art-orbit--one:before{top:-8px;left:50%;content:"✦";font-size:16px}.art-orbit--one:after{right:17%;bottom:-7px;content:"✧";font-size:13px}.art-orbit--two:after{top:44%;right:-7px;content:"✦";font-size:12px}@keyframes orbit-turn{0%{transform:translate(-50%,-50%) rotate(-24deg)}to{transform:translate(-50%,-50%) rotate(336deg)}}@keyframes orbit-turn-reverse{0%{transform:translate(-50%,-50%) rotate(29deg)}to{transform:translate(-50%,-50%) rotate(-331deg)}}.art-sparkle{position:absolute;color:#eed1d1}.sparkle-one{top:43px;right:54px;font-size:22px}.sparkle-two{right:48px;bottom:45px;font-size:18px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 42px}.stat-card{display:flex;min-height:94px;align-items:center;gap:15px;padding:17px;border:1px solid #eceae6;border-radius:12px;background:#fff;text-align:left;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .25s ease}.stat-card:hover{box-shadow:0 10px 24px #23304414;transform:translateY(-3px)}.stat-icon{display:grid;flex:0 0 auto;width:39px;height:39px;place-items:center;border-radius:10px;font-size:20px}.stat-icon--purple{color:#8c58a1;background:#f2eaf5}.stat-icon--peach{color:#bd785f;background:#fbefe8}.stat-icon--green{color:#398675;background:#e8f4ef}.stat-card strong,.stat-card span:not(.stat-icon){display:block}.stat-card strong{color:#2c3e50;font-size:18px}.stat-card div>span{margin-top:4px;color:#89939d;font-size:12px}.stat-card--action{position:relative;border-style:dashed;cursor:pointer}.stat-card--action strong{font-size:12px}.stat-card--action>b{margin-left:auto;color:var(--violet)}.stat-card--action:hover{border-color:#b389bd;background:#fdfaff}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.section-heading h2{margin:5px 0 0;color:#2c3e50;font-size:19px}.text-link{padding:5px 0;border:0;color:var(--violet);background:none;font-size:11px;font-weight:700}.text-link span{margin-left:5px}.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recent-card{position:relative;min-height:200px;padding:22px;overflow:hidden;border:1px solid #ece9e6;border-radius:12px;color:#29384a;background:#fff;text-align:left;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .25s ease}.recent-card:hover{box-shadow:0 10px 26px #2a364517;transform:translateY(-3px)}.recent-card--1{background:linear-gradient(150deg,#fff 55%,#f7eef5)}.recent-card--2{background:linear-gradient(150deg,#fff 55%,#f9f1e9)}.recent-card--3{background:linear-gradient(150deg,#fff 55%,#edf5f2)}.recent-date{color:#969da5;font-size:9px;letter-spacing:.2px}.recent-card h3{margin:16px 0 8px;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.recent-card p{display:-webkit-box;overflow:hidden;color:#7c8792;font-size:12px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:3}.recent-media{color:#8f6c99;font-size:9px}.recent-arrow{position:absolute;right:15px;bottom:12px;color:#9a6da2;font-size:17px}.dashboard-empty{padding:35px 20px;border:1px dashed #ded9d5;border-radius:9px;background:#ffffff80;text-align:center}.empty-icon{color:#a978ae;font-size:28px}.dashboard-empty h3{margin:7px 0;color:#39485a;font-size:15px}.dashboard-empty p{margin:0 0 7px;color:#88929d;font-size:11px}@media(prefers-reduced-motion:reduce){.art-orbit--one,.art-orbit--two{animation:none}}@media(max-width:900px){.welcome-copy{padding-left:30px}.welcome-copy h1{font-size:38px}}@media(max-width:620px){.welcome-banner{min-height:285px}.welcome-copy{width:81%;padding:30px 22px}.welcome-copy h1{font-size:33px}.welcome-copy p{max-width:330px;font-size:12px}.welcome-art{width:42%;opacity:.48}.art-book{width:100px;height:145px}.sun-disc{width:165px}.art-orbit--one{width:230px;height:100px}.art-orbit--two{width:245px;height:108px}.dashboard-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:30px}.stat-card{min-height:76px;padding:11px}.stat-card--action{grid-column:1 / -1}.recent-grid{grid-template-columns:1fr}.recent-card{min-height:165px}}@media(max-width:400px){.welcome-copy{width:100%}.welcome-art{width:50%;opacity:.24}.section-heading h2{font-size:16px}}.media-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;width:100%;height:100%;place-items:center;padding:clamp(12px,3vw,32px);overflow:hidden;background:#080c13f0;overscroll-behavior:contain}.media-viewer{position:relative;display:grid;width:min(1200px,100%);height:min(850px,100%);min-width:0;min-height:0;place-items:center;overflow:hidden;background:#080c13}.media-viewer>img,.media-viewer>video{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.media-viewer:fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0}.media-viewer:fullscreen>img,.media-viewer:fullscreen>video{width:100%;height:100%;max-width:100vw;max-width:100dvw;max-height:100vh;max-height:100dvh;object-fit:contain}.media-viewer::backdrop{background:#080c13}.media-viewer-controls{position:absolute;top:12px;right:12px;z-index:2;display:flex;gap:8px}.media-viewer-controls button{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:#141922ad;font-size:21px}.media-viewer-controls button:hover{background:#fff3}.media-viewer-controls .media-viewer-close{font-size:29px;line-height:1}.media-viewer-error{position:absolute;bottom:14px;left:50%;z-index:2;margin:0;padding:8px 11px;border-radius:6px;color:#fff;background:#1a2535d9;font-size:12px;transform:translate(-50%)}@media(max-width:600px){.media-viewer-backdrop{padding:0}.media-viewer{width:100%;height:100%}.media-viewer-controls{top:12px;right:12px}}.memories-page{max-width:1280px;margin:auto}.memories-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.memories-heading h1{margin:7px 0 4px;color:#2c3e50;font-size:clamp(27px,2.1vw,34px);letter-spacing:-.7px}.memories-heading h1 span{display:inline-grid;min-width:25px;height:24px;margin-left:5px;padding:0 6px;place-items:center;border-radius:20px;color:#845291;background:#eee5f1;font-size:11px;vertical-align:middle}.memories-heading p{margin:0;color:#8a939d;font-size:13px}.memory-search{display:flex;width:min(260px,42%);height:39px;align-items:center;gap:8px;padding:0 11px;border:1px solid #e6e5e1;border-radius:7px;background:#fff}.memory-search span{color:#a2aab2;font-size:22px;transform:rotate(-20deg)}.memory-search input{width:100%;border:0;outline:0;color:#344356;background:transparent;font-size:11px}.memory-search input:focus-visible{outline:0}.memory-list{border:1px solid #eceae6;border-radius:9px;background:#fff}.memory-row{position:relative;display:flex;min-height:124px;align-items:center;gap:18px;padding:17px 22px;border-bottom:1px solid #f0efec;transition:background .24s ease}.memory-row:not(.memory-row--removing):hover{background:#fdfcff}.memory-row:last-child{border-bottom:0}.memory-row--deleting{z-index:2}.memory-row--removing{pointer-events:none;animation:memory-remove .22s ease forwards}@keyframes memory-remove{to{opacity:0;transform:translate(24px) scale(.98)}}.memory-tile{display:grid;flex:0 0 auto;width:86px;height:86px;overflow:hidden;place-items:center;border:0;border-radius:9px;font-size:27px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}.memory-tile:hover{box-shadow:0 7px 18px #23304424;transform:scale(1.035)}.memory-tile img{width:100%;height:100%;object-fit:cover}.memory-tile-video{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:#fff;background:#1a2535b3;font-size:12px}.memory-tile--0{color:#98669e;background:#f2e9f4}.memory-tile--1{color:#bc8569;background:#f8eee7}.memory-tile--2{color:#569083;background:#eaf3ef}.memory-tile--3{color:#8f7e58;background:#f4f1e7}.memory-row-copy{flex:1;min-width:0;padding:5px 0;border:0;background:none;text-align:left}.memory-date{color:#a0a6ad;font-size:9px}.memory-row-copy h2{overflow:hidden;margin:6px 0;color:#344356;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.memory-row-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#8b949d;font-size:12px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-row-end{display:flex;flex:0 0 auto;align-items:center;gap:8px}.attachment-count{margin-right:4px;color:#9c7aa4;font-size:10px}.row-edit-button,.row-open-button,.row-delete-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #ece9e6;border-radius:7px;color:#778390;background:#fff;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.row-edit-button:hover,.row-open-button:hover{border-color:#cbaed0;color:var(--violet);background:#fbf7fc}.row-delete-button{color:#a24d49}.row-delete-button:hover{border-color:#e4b7b2;color:#bd443d;background:#fff2ef;box-shadow:0 3px 9px #c6534d24;transform:translateY(-2px)}.action-icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.row-open-button:hover{box-shadow:0 3px 9px #8e44ad24;transform:translateY(-2px)}.action-icon--view{transition:transform .2s ease}.row-open-button:hover .action-icon--view{transform:scale(1.14);animation:eye-blink 1.1s ease-in-out infinite}.row-delete-button .trash-lid{transform-box:fill-box;transform-origin:80% 100%;transition:transform .2s ease}.row-delete-button:hover .trash-lid{transform:rotate(-24deg) translateY(-1px)}.row-delete-button:hover .action-icon--delete{animation:trash-wiggle .36s ease-in-out}@keyframes eye-blink{0%,85%,to{transform:scaleY(1)}92%{transform:scaleY(.18)}}@keyframes trash-wiggle{0%,to{transform:rotate(0)}30%{transform:rotate(-7deg)}70%{transform:rotate(7deg)}}.list-delete-confirm{position:absolute;right:15px;bottom:-39px;z-index:2;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid #eadbd8;border-radius:7px;background:#fff;box-shadow:0 5px 16px #2330441a}.list-delete-confirm span{padding:0 5px;color:#96524c;font-size:10px}.list-delete-confirm button{padding:5px 8px;border:0;border-radius:4px;color:#667182;background:#f1f0ee;font-size:10px}.list-delete-confirm .list-delete-action{color:#fff;background:#c6534d}.memories-empty{padding:90px 20px;color:#8c94a0;text-align:center}.memories-empty>div{color:#aa7fb1;font-size:33px}.memories-empty h2{margin:12px 0 6px;color:#455366;font-size:16px}.memories-empty p{font-size:11px}.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;width:100%;height:100%;place-items:center;padding:clamp(12px,3vw,28px);overflow:auto;background:#111a26ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain}.detail-card{display:flex;width:min(760px,100%);max-height:min(86vh,820px);max-height:min(86dvh,820px);flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:#fffdfa;box-shadow:0 25px 85px #0000004d;animation:detail-in .24s cubic-bezier(.2,.8,.2,1)}.detail-card--expanded{width:min(1500px,100%);height:100%;max-height:100%}@keyframes detail-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-card-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 26px 18px;border-bottom:1px solid #eeeae6}.detail-card-header h2{margin:5px 0 3px;color:#29394c;font:26px Satisfy,cursive}.detail-date{color:#9aa1a8;font-size:10px}.detail-controls{display:flex;flex:0 0 auto;gap:6px}.detail-controls button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #eae7e4;border-radius:6px;color:#657384;background:#fff;font-size:17px}.detail-controls button:hover{color:var(--violet);background:#f7f0f8}.detail-controls .detail-close{color:#78818b;font-size:27px}.detail-card-body{flex:1;min-height:0;overflow:auto;padding:26px clamp(18px,4vw,36px);overscroll-behavior:contain}.detail-card-body>p{margin:0;color:#465466;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:13px;margin-top:24px}.detail-gallery button{height:clamp(150px,24vw,260px);min-width:0;overflow:hidden;padding:0;border:0;border-radius:9px;background:#f2f0ed;cursor:zoom-in}.detail-gallery img,.detail-gallery video{width:100%;height:100%;object-fit:cover}.detail-card-footer{display:flex;justify-content:space-between;padding:14px 25px;border-top:1px solid #eeeae6}.delete-memory-button,.detail-done-button,.delete-confirm button{padding:9px 13px;border:0;border-radius:6px;font-size:11px;font-weight:600}.delete-memory-button{color:#a24d49;background:#fff2ef}.delete-memory-button:hover{background:#ffe4df}.detail-done-button{color:#fff;background:var(--violet)}.delete-confirm{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #eeeae6}.delete-confirm span{margin-right:auto;color:#9a504a;font-size:11px}.delete-confirm button{color:#667182;background:#f1f0ee}.delete-confirm .delete-confirm-action{color:#fff;background:#c6534d}@media(max-width:600px){.memories-heading{align-items:stretch;flex-direction:column}.memory-search{width:100%}.memory-row{gap:11px;padding:12px 10px}.memory-tile{width:58px;height:58px}.row-open-button{display:grid}.memory-row-end{gap:5px}.detail-backdrop{align-items:end;padding:8px}.detail-card{width:100%;max-height:92vh;max-height:92dvh;border-radius:16px 16px 12px 12px}.detail-card--expanded{width:100%;height:100%;max-height:100%;border-radius:12px}.detail-card-header{align-items:flex-start;padding:17px 16px 13px}.detail-card-header h2{font-size:22px}.detail-controls{gap:3px}.detail-controls button{width:30px;height:30px}.detail-card-body{padding:18px 16px}.detail-gallery{grid-template-columns:repeat(auto-fill,minmax(min(145px,100%),1fr));gap:9px;margin-top:18px}.detail-gallery button{height:clamp(135px,45vw,220px)}.delete-confirm{flex-wrap:wrap;padding:12px}.delete-confirm span{flex-basis:100%}}@media(max-height:500px)and (orientation:landscape){.detail-backdrop{align-items:center;padding:6px 12px}.detail-card{max-height:96vh;max-height:96dvh}.detail-card-header{padding-top:10px;padding-bottom:9px}.detail-card-body{padding-top:12px;padding-bottom:12px}.detail-gallery button{height:min(34vh,180px)}.detail-card-footer{padding-top:8px;padding-bottom:8px}}@media(prefers-reduced-motion:reduce){.memory-row--removing,.row-open-button:hover .action-icon--view,.row-delete-button:hover .action-icon--delete{animation:none}.row-edit-button,.row-open-button,.row-delete-button,.action-icon,.trash-lid{transition:none}}.editor-page{max-width:1000px;margin:0 auto}.editor-intro{margin:0 0 23px 2px}.editor-intro h1{margin:7px 0 5px;color:#2c3e50;font:36px Satisfy,cursive}.editor-intro p{margin:0;color:#8a939d;font-size:13px}.memory-editor{padding:clamp(24px,3vw,40px);border:1px solid #eceae6;border-radius:14px;background:#fff;box-shadow:0 8px 30px #2330440b}.editor-form-heading{display:flex;align-items:center;gap:13px;margin-bottom:23px;padding-bottom:19px;border-bottom:1px solid #efeeeb}.editor-form-icon{display:grid;width:41px;height:41px;place-items:center;border-radius:9px;color:#8c58a1;background:#f3ebf5;font-size:20px}.editor-form-heading h2{margin:0 0 4px;color:#334256;font-size:14px}.editor-form-heading p{margin:0;color:#929aa2;font-size:10px}.editor-fields{min-width:0;margin:0;padding:0;border:0}.memory-editor--restoring .editor-fields{opacity:.58}.draft-status{margin:-8px 0 17px;color:#648277;font-size:11px}.editor-field{display:grid;gap:8px;margin:0 0 18px}.editor-field>span,.editor-attachments-heading strong{color:#455366;font-size:13px;font-weight:700}.editor-field input,.editor-field textarea{width:100%;padding:14px 15px;border:1px solid #e6e5e2;border-radius:8px;color:#344356;background:#fdfdfc;font-size:14px;transition:border-color .24s ease,box-shadow .24s ease,background .24s ease}.editor-field input:focus,.editor-field textarea:focus{border-color:#b28abb;outline:0;box-shadow:0 0 0 3px #8e44ad17}.editor-field input::placeholder,.editor-field textarea::placeholder{color:#adb3ba}.editor-field textarea{min-height:210px;resize:vertical;line-height:1.75}.editor-attachments-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 0 13px}.editor-attachments-heading strong,.editor-attachments-heading span{display:block}.editor-attachments-heading span{margin-top:4px;color:#959da5;font-size:12px}.upload-progress-list{display:grid;gap:12px;margin:12px 0 16px}.upload-progress-item{padding:12px 14px;border:1px solid #e8e4e9;border-radius:8px;background:#fcfafc}.upload-progress-label{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#596779;font-size:11px}.upload-file-icon{display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:6px;color:#80518b;background:#f0e8f3;font-size:15px}.upload-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-percent{color:#80518b;font-variant-numeric:tabular-nums}.upload-progress-track{height:5px;overflow:hidden;border-radius:9px;background:#e9e5e9}.upload-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8e44ad,#c292c9);transition:width .16s ease-out}.attach-button{padding:9px 11px;border:1px solid #e4d8e8;border-radius:6px;color:#80518b;background:#fbf8fc;font-size:10px;font-weight:600}.attach-button:hover{border-color:#c6a9ce;background:#f5edf7}.editor-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,168px));gap:12px}.editor-media-item{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:9px;background:#f1efed;box-shadow:0 2px 8px #23304414}.editor-media-preview{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;width:100%;height:100%;place-items:center;padding:0;border:0;background:transparent}.editor-media-preview img,.editor-media-preview video{width:100%;height:100%;object-fit:cover}.editor-media-expand{position:absolute;right:6px;bottom:6px;padding:3px 5px;border-radius:4px;color:#fff;background:#1a2535b8;font-size:14px}.editor-media-item>button:not(.editor-media-preview){position:absolute;top:5px;right:5px;display:grid;width:23px;height:23px;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:#1a2535bf;font-size:19px}.editor-media-preview{overflow:hidden;cursor:zoom-in}.editor-media-preview:hover img,.editor-media-preview:hover video{transform:scale(1.05)}.editor-media-preview img,.editor-media-preview video{transition:transform .2s ease}.editor-error{margin:13px 0 0;color:#a3483f;font-size:11px}.editor-success{margin:13px 0 0;color:#327664;font-size:11px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid #efeeeb}.editor-cancel{padding:10px 14px;border:1px solid #e5e4e0;border-radius:6px;color:#697587;background:#fff;font-size:11px}.editor-save,.editor-save-more{padding:10px 15px;border-radius:6px;font-size:11px;font-weight:600}.editor-save-more{border:1px solid #e4d8e8;color:#80518b;background:#fbf8fc}.editor-save-more:hover{background:#f5edf7}.editor-save span{padding-left:6px}.editor-save:disabled,.editor-save-more:disabled{cursor:wait;opacity:.7}@media(max-width:540px){.memory-editor{padding:20px 16px 17px}.editor-intro h1{font-size:29px}.editor-attachments-heading{align-items:flex-start;flex-direction:column}.attach-button{width:100%}}@media(max-width:540px){.editor-actions{flex-wrap:wrap}.editor-cancel{margin-right:auto}}.admin-page{max-width:1180px;margin:0 auto;padding-bottom:48px}.admin-heading,.admin-member-heading,.admin-memory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-heading{margin:10px 0 28px}.admin-heading h1{margin:8px 0;color:var(--ink, #302a38);font-family:var(--serif, Georgia, serif);font-size:clamp(2rem,4vw,3rem)}.admin-heading p,.admin-member-heading p{margin:0;color:#77717d}.admin-total{display:grid;min-width:135px;padding:18px;border:1px solid #ece7ef;border-radius:16px;background:#fff;text-align:center}.admin-total strong{color:#66518a;font-size:1.7rem}.admin-total span{color:#77717d;font-size:.82rem}.admin-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.6fr);gap:22px;align-items:start}.admin-users,.admin-content{min-width:0;border:1px solid #ece7ef;border-radius:18px;background:#fff}.admin-users{padding:18px 12px}.admin-users h2{margin:0 8px 14px;color:#3c3542;font-size:1.1rem}.admin-user{display:flex;width:100%;gap:11px;align-items:center;padding:12px 9px;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}.admin-user--active,.admin-user:hover{background:#f5f1f8}.admin-avatar{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:#ede5f3;color:#644d7d;font-weight:700}.admin-user-copy{display:grid;min-width:0;flex:1;gap:3px}.admin-user-copy strong,.admin-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-copy small{color:#827c87;font-size:.77rem}.admin-content{padding:22px}.admin-member-heading{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #eeeaf1}.admin-member-heading h2{margin:6px 0 4px;color:#3c3542}.admin-member-heading>span{color:#77717d;font-size:.88rem}.admin-memory-list{display:grid;gap:14px}.admin-memory{padding:17px;border:1px solid #eeeaf1;border-radius:14px}.admin-memory-heading h3{margin:0 0 5px;color:#3c3542}.admin-memory-heading time{color:#847d89;font-size:.76rem}.admin-memory-heading button,.admin-edit-form button{padding:8px 12px;border:1px solid #e8e1eb;border-radius:9px;background:#fff;color:#554765;cursor:pointer}.admin-memory-heading .admin-delete{margin-left:6px;color:#a64747}.admin-memory-text{color:#5e5863;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.admin-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:9px}.admin-media-grid button{overflow:hidden;aspect-ratio:1;padding:0;border:0;border-radius:10px;background:#f3eff5;cursor:pointer}.admin-media-grid img,.admin-media-grid video{width:100%;height:100%;object-fit:cover}.admin-edit-form{display:grid;gap:13px}.admin-edit-form label{display:grid;gap:6px;color:#5e5863;font-size:.88rem}.admin-edit-form input,.admin-edit-form textarea{width:100%;padding:10px 12px;border:1px solid #e4dfe8;border-radius:9px;font:inherit}.admin-edit-form>div{display:flex;gap:8px}.admin-empty{padding:20px;color:#827c87;text-align:center}.admin-select-prompt{display:grid;min-height:300px;align-content:center;justify-items:center}.admin-select-prompt>span{font-size:2rem;color:#927ca6}.admin-select-prompt h2,.admin-select-prompt p{margin:5px}.admin-error{margin-bottom:16px;padding:12px 15px;border-radius:10px;background:#fff0ef;color:#984541}.admin-activity{margin-top:22px;padding:20px;border:1px solid #ece7ef;border-radius:18px;background:#fff}.admin-activity-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-activity-heading button{padding:8px 12px;border:1px solid #e8e1eb;border-radius:9px;background:#fff;color:#554765;cursor:pointer}.admin-activity h2{margin:5px 0 15px;color:#3c3542}.admin-activity ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.admin-activity li{display:flex;gap:11px;padding:12px 4px;border-top:1px solid #f0edf2;color:#655e69;font-size:.9rem}.admin-activity li>div{display:grid;gap:4px}.admin-activity li strong{display:inline;color:#403846}.admin-activity time{color:#89828e;font-size:.76rem}.admin-activity-dot{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border-radius:50%;background:#9981ad}.private-media-loading{display:inline-block;width:22px;height:22px;border:2px solid #e0d9e7;border-top-color:#78668b;border-radius:50%;animation:private-media-spin .8s linear infinite}.private-media-error{color:#984541;font-size:.8rem}@keyframes private-media-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.admin-heading{align-items:flex-start}.admin-layout{grid-template-columns:1fr}.admin-content{padding:16px}}.about-page{max-width:930px;margin:0 auto}.about-hero{position:relative;overflow:hidden;padding:38px 42px;border-radius:12px;color:#fff;background:linear-gradient(115deg,#2c3e50,#4a6485)}.about-hero .eyebrow{color:#e2c7dc}.about-hero h1{position:relative;z-index:1;margin:13px 0 11px;font:38px/1.15 Satisfy,cursive}.about-hero p{position:relative;z-index:1;max-width:480px;margin:0;color:#d1d9e0;font-size:12px;line-height:1.8}.about-hero-mark{position:absolute;top:-50px;right:33px;color:#eed1d121;font:270px/.95 Satisfy,cursive}.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:19px 0}.about-values article{padding:21px 19px;border:1px solid #eceae6;border-radius:9px;background:#fff}.about-values article>span{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:#895b94;background:#f2eaf4;font-size:18px}.about-values h2{margin:14px 0 7px;color:#354458;font-size:13px}.about-values p,.about-note p{margin:0;color:#87919b;font-size:11px;line-height:1.75}.about-note{padding:18px 20px;border-left:3px solid #b68cbd;border-radius:0 8px 8px 0;background:#f1edf3}.about-note strong{display:block;margin-bottom:5px;color:#53415c;font-size:11px}.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.about-primary,.about-secondary{padding:10px 14px;border-radius:6px;font-size:11px;font-weight:600}.about-primary{border:0;color:#fff;background:var(--violet)}.about-primary span{padding-left:8px}.about-secondary{border:1px solid #e4e0dc;color:#647082;background:#fff}@media(max-width:650px){.about-hero{padding:28px 22px}.about-hero h1{font-size:31px}.about-hero-mark{top:3px;right:3px;font-size:200px}.about-values{grid-template-columns:1fr;gap:9px}.about-values article{padding:16px}.about-values h2{margin-top:10px}}.contact-page{max-width:900px;margin:0 auto}.contact-heading{margin-bottom:22px}.contact-heading h1{margin:7px 0 5px;color:#2c3e50;font:34px Satisfy,cursive}.contact-heading p{margin:0;color:#89929c;font-size:12px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px}.contact-card{padding:23px;border:1px solid #eceae6;border-radius:9px;background:#fff}.contact-card--support{background:linear-gradient(150deg,#fff,#f8f2f8)}.contact-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;color:#80528e;background:#eee5f1;font-size:20px}.contact-icon--soft{color:#ad715e;background:#faeee8}.contact-card h2{margin:15px 0 8px;color:#354458;font-size:15px}.contact-card>p{margin:0 0 17px;color:#87919b;font-size:11px;line-height:1.75}.contact-link{display:inline-flex;gap:10px;padding:10px 13px;border-radius:6px;color:#fff;background:var(--violet);font-size:11px;font-weight:600;text-decoration:none}.contact-link:hover,.contact-copy-button:hover{background:var(--violet-dark)}.contact-card form{display:grid;gap:8px}.contact-card form label{color:#4a586a;font-size:10px;font-weight:700}.contact-card textarea{width:100%;padding:10px;border:1px solid #e6e5e2;border-radius:6px;color:#39485a;background:#fdfdfc;font-size:11px;line-height:1.6;resize:vertical}.contact-card textarea::placeholder{color:#abb2b9}.contact-notice{margin:0;color:#47796a;font-size:10px}.contact-copy-button{justify-self:start;padding:9px 13px;border:0;border-radius:6px;color:#fff;background:var(--violet);font-size:10px;font-weight:600}.contact-privacy{margin-top:15px;color:#969da5;font-size:10px}@media(max-width:620px){.contact-grid{grid-template-columns:1fr}.contact-card{padding:19px}}.guide-page{max-width:960px;margin:0 auto}.guide-heading{margin-bottom:21px}.guide-heading h1{margin:7px 0 5px;color:#2c3e50;font:34px Satisfy,cursive}.guide-heading>p{margin:0;color:#89929c;font-size:12px}.guide-steps{display:grid;gap:13px}.guide-step{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);align-items:center;gap:20px;min-height:208px;padding:14px 17px 14px 23px;border:1px solid #eceae6;border-radius:9px;background:#fff}.guide-number{color:#a577ae;font-size:10px;font-weight:700;letter-spacing:1.5px}.guide-step h2{margin:8px 0 7px;color:#344356;font-size:15px}.guide-step-copy>p{max-width:340px;margin:0 0 12px;color:#84909a;font-size:10px;line-height:1.75}.guide-step-copy>button{padding:8px 10px;border:1px solid #e5d9e9;border-radius:6px;color:#80518b;background:#fbf8fc;font-size:10px;font-weight:600}.guide-step-copy>button:hover{background:#f4edf6}.guide-step-copy>button span{padding-left:6px}.guide-demo{display:block;width:100%;max-height:190px;object-fit:contain}.guide-tip{display:flex;gap:12px;align-items:flex-start;margin-top:15px;padding:14px 16px;border:1px solid #e7dce9;border-radius:8px;background:#f6f1f7}.guide-tip>span{color:#8c5c96;font-size:18px}.guide-tip p{margin:0;color:#786c7d;font-size:10px;line-height:1.7}.guide-tip strong{color:#514257}@media(max-width:660px){.guide-heading h1{font-size:29px}.guide-step{grid-template-columns:1fr;gap:10px;padding:17px}.guide-step-copy>p{max-width:none}.guide-demo{max-height:180px}}:root{font-family:DM Sans,sans-serif;color:#233044;background:#f7f6f3;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #1a2535;--slate: #2c3e50;--steel: #395169;--dusk: #4a6485;--mist: #869dc0;--cream: #eed1d1;--violet: #8e44ad;--violet-dark: #713589;--amber: #ff843d;--teal: #1abc9c;--paper: #f7f6f3;--muted: #8290a1;--line: #e8e7e2}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ad79be;outline-offset:3px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}::selection{color:#2c3e50;background:#e7d4eb}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:270px;padding:30px 19px 20px;color:#fff;background:var(--navy);box-shadow:8px 0 30px #1a25350d}.brand-lockup{display:flex;align-items:center;gap:11px;padding:0 7px 40px}.brand-mark{display:grid;width:39px;height:39px;place-items:center;border:1px solid rgba(238,209,209,.58);border-radius:50%;color:var(--cream);font:27px Satisfy,cursive}.brand-title{color:#fff;font:600 14px/1.2 DM Sans,sans-serif;letter-spacing:-.25px;white-space:nowrap}.brand-caption{margin-top:3px;color:#8c99a9;font-size:8px;letter-spacing:1.5px}.nav-section-label,.eyebrow{color:#8995a2;font-size:10px;font-weight:700;letter-spacing:1.5px}.nav-section-label{padding:0 12px 12px}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:9px;color:#bec7d0;background:transparent;text-align:left;font-size:13px;transition:background .24s cubic-bezier(.2,.8,.2,1),color .2s ease,transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease}.nav-item:hover{transform:translate(2px)}.nav-item:hover,.nav-item--active{color:#fff;background:#304158}.nav-item--active{box-shadow:inset 3px 0 #c493c9}.nav-icon{display:inline-grid;width:19px;place-items:center;color:#c493c9;font-size:18px}.nav-count{margin-left:auto;color:#9eabba;font-size:11px}.sidebar-bottom{margin-top:auto}.privacy-note{display:flex;gap:11px;margin:0 3px 19px;padding:14px 12px;border:1px solid rgba(255,255,255,.09);border-radius:9px;color:#e6c6d8}.privacy-note>span{font-size:17px}.privacy-note strong,.privacy-note small{display:block}.privacy-note strong{margin-bottom:4px;color:#eee8e4;font-size:11px}.privacy-note small{color:#9ea9b7;font-size:10px;line-height:1.5}.profile-row{display:flex;align-items:center;gap:10px;padding:14px 4px 0;border-top:1px solid rgba(255,255,255,.12)}.avatar{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;border-radius:50%;color:#fff;background:#8e647c;font-size:12px}.profile-email{overflow:hidden;color:#d3dae0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.signout-button{margin-left:auto;border:0;color:#aab4bf;background:none;font-size:19px}.main-column{min-height:100vh;margin-left:270px}.topbar{position:sticky;top:0;z-index:10;display:flex;height:72px;align-items:center;justify-content:space-between;padding:0 clamp(28px,4.2vw,72px);border-bottom:1px solid #eeece8;background:#ffffffe0;-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35)}.breadcrumb{color:#758193;font-size:13px}.breadcrumb span{padding:0 8px;color:#bbc0c6}.topbar-create,.welcome-button,.editor-save{border:0;border-radius:8px;color:#fff;background:var(--violet);font-weight:600;transition:background .24s cubic-bezier(.2,.8,.2,1),transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease}.topbar-create{padding:10px 15px;font-size:12px}.topbar-create:hover,.welcome-button:hover,.editor-save:hover{background:var(--violet-dark);transform:translateY(-1px)}.topbar-create span{margin-right:5px;font-size:16px}.mobile-menu-button{display:none;border:0;color:var(--slate);background:transparent;font-size:21px}.page-content{width:100%;max-width:1600px;margin:0 auto;padding:clamp(30px,3.2vw,52px) clamp(28px,4.2vw,72px) 76px}.page-transition{animation:page-arrive .42s cubic-bezier(.2,.75,.25,1) both}@keyframes page-arrive{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}.storage-alert{margin-bottom:20px;padding:12px 15px;border:1px solid #e8b3a9;border-radius:8px;color:#883f34;background:#fff1ed;font-size:13px}.sidebar-backdrop{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .25s ease}.sidebar--open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;display:block;border:0;background:#0e16207a}.main-column{margin-left:0}.mobile-menu-button{display:inline-block}.topbar{height:62px;padding:0 18px}.page-content{padding:28px 22px 52px}.breadcrumb{margin-right:auto;margin-left:12px;font-size:11px}.topbar-create{padding:9px 10px;font-size:11px}}@media(max-width:420px){.page-content{padding:22px 15px 40px}.topbar-create{font-size:0}.topbar-create span{font-size:19px}}@media(min-width:1500px){.sidebar{width:286px;padding-right:22px;padding-left:22px}.main-column{margin-left:286px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page-transition{animation:none}}
