:root{--bg:#f7f5fa;--paper:#fff;--ink:#2e2638;--muted:#776e83;--purple:#7854a7;--line:#e7e0ed;--safe:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:#eae6f0;scroll-padding-top:90px}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #a78bca}input:focus,textarea:focus,select:focus{outline-offset:2px;outline:2px solid #a78bca}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;line-height:1.25}p{line-height:1.55}input,textarea,select{width:100%;min-width:0;max-width:100%;color:var(--ink);background:#fff;border:1px solid #ddd3e5;border-radius:14px;min-height:54px;padding:15px 16px;font-size:16px}input::placeholder,textarea::placeholder{color:#8c8198}textarea{resize:vertical}label{margin:20px 0 9px;font-size:15px;font-weight:600;display:block}label span{color:var(--muted);font-size:14px;font-weight:400}.brand{letter-spacing:-1.3px;align-items:center;gap:9px;font-size:26px;font-weight:800;display:flex}.brand-icon{color:#8c65b3;background:#e8dcf3;border-radius:12px;place-items:center;width:34px;height:34px;display:grid}.brand-icon svg{width:20px}.brand-period{color:var(--purple)}.icon-btn{color:#82718e;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.icon-btn:hover{color:var(--purple);background:#eee7f5}.primary{background:var(--purple);color:#fff;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 20px;font-size:16px;font-weight:650;display:inline-flex}.primary:hover{background:#684191}.wide{width:100%;margin-top:24px}.secondary{min-height:46px;color:var(--purple);background:#fff;border:1px solid #d9cce5;border-radius:13px;justify-content:center;align-items:center;padding:12px 16px;font-size:15px;display:inline-flex}.text-button{min-height:44px;color:var(--purple);align-items:center;gap:7px;padding:8px 0;font-size:15px;font-weight:550;display:inline-flex}.form-error{color:#a5403a;background:#fdeae8;border-radius:12px;margin-top:16px;padding:13px 15px;font-size:15px}.info-message{color:#705489;background:#eee7f5;border-radius:13px;margin-top:15px;padding:14px;font-size:14px;line-height:1.6}.loading{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:25px;min-height:100dvh;display:flex}.loading p{color:var(--muted);font-size:16px}.loader{border:2px solid #dfd3ea;border-top-color:var(--purple);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{background:var(--bg);max-width:560px;min-height:100dvh;padding-bottom:calc(185px + var(--safe));margin:0 auto;position:relative;box-shadow:0 0 100px #4d356e08}.app-header{height:calc(78px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 22px 0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#f7f5faf2;border-bottom:1px solid #eae4f0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:9px;display:flex}.couple{padding-left:8px;display:flex}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:inline-flex}.avatar.asli{color:#a65c74;background:#f0dce2}.avatar.doganer{color:#7a559e;background:#e0d5ef}.couple .avatar{border:3px solid var(--bg);width:33px;height:33px;font-size:11px}.couple .avatar+.avatar{margin-left:-8px}.app-main{padding:28px 22px 0}.screen-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:25px;display:flex}.hello{color:#8b7c99;margin-bottom:7px;font-size:16px}.hello span{color:#aa80bf;margin-left:3px}.screen-heading h1{letter-spacing:-1.2px;font-size:34px;font-weight:750}.refresh-button{color:#9b8baa;margin-bottom:-2px}.segmented{background:#ede7f4;border:1px solid #e5dced;border-radius:17px;gap:4px;margin-bottom:25px;padding:5px;display:flex}.segmented>button{color:#8a7799;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:10px 5px;font-size:15px;font-weight:550;display:flex}.segmented>button.selected{color:#71508e;background:#fff;font-weight:650;box-shadow:0 2px 8px #4023590b}.segmented span{color:#8c6da4;background:#e4daef;border-radius:7px;place-items:center;min-width:21px;height:22px;font-size:13px;display:grid}.segmented .selected span{background:#f0e9f8}.search{border:1px solid var(--line);color:#9985a9;background:#fff;border-radius:15px;align-items:center;gap:11px;margin:0 0 20px;padding:0 14px;display:flex}.search input{background:0 0;border:0;outline:0;min-height:50px;padding:13px 0;font-size:16px}.search:focus-within{outline:2px solid #b49bcd}.task-list{flex-direction:column;gap:12px;display:flex}.task{background:#fff;border:1px solid #e7dfef;border-radius:20px;align-items:flex-start;gap:15px;padding:19px 17px;display:flex;box-shadow:0 3px 11px #49335d03}.checkbox{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;margin:-3px -6px 0 -5px;display:grid;position:relative}.checkbox:before{content:"";border:2px solid #d8c8e7;border-radius:10px;width:27px;height:27px;position:absolute}.checkbox svg{z-index:1}.checkbox:hover:before{background:#f3ecfa;border-color:#a98ac4}.completed .checkbox:before{background:#a38ab8;border-color:#a38ab8}.task-content{text-align:left;flex:1;min-width:0;min-height:44px;padding:0}.task-content h2{letter-spacing:-.25px;font-size:18px;font-weight:600;line-height:1.45}.task-desc{color:#83708f;white-space:pre-wrap;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:7px;font-size:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.task-meta{color:#9a88a5;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:11px;font-size:13px;display:flex}.due{color:#9278a5;align-items:center;gap:5px;display:inline-flex}.overdue{color:#b87c68}.assignee{color:#9278a5}.completed .task-content h2{color:#9b8ca6;text-decoration:line-through;text-decoration-thickness:1px}.completed .task-desc{color:#a18fad}.notes-list{flex-direction:column;gap:17px;display:flex}.note-card{background:#ece2f5;border:1px solid #e1d2ee;border-radius:22px;padding:15px 20px 20px}.note-card.rose{background:#f5e6e9;border-color:#eed7df}.note-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.author{color:#93759f;align-items:center;gap:8px;font-size:14px;display:flex}.tiny.avatar{width:28px;height:28px;font-size:11px}.is-pinned{color:var(--purple);background:#dfcfed}.rose .is-pinned{color:#a45b73;background:#ecd1da}.note-open{text-align:left;width:100%;min-height:44px;padding:0;display:block}.note-open h2{letter-spacing:-.3px;font-size:20px;font-weight:650;line-height:1.45}.note-open p{color:#766081;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;font-size:17px;line-height:1.65}.rose .note-open p{color:#8f6574}.note-date{color:#9c82ab;margin-top:20px;font-size:13px;display:block}.rose .note-date{color:#ac8192}.empty{text-align:center;padding:43px 15px 20px}.empty-icon{color:#b59bc8;background:#eae0f3;border-radius:32px;place-items:center;width:94px;height:94px;margin:7px auto 25px;display:grid;transform:rotate(-6deg)}.empty-icon svg{transform:rotate(6deg)}.empty h2{letter-spacing:-.6px;color:#6c567f;max-width:300px;margin:0 auto 11px;font-size:23px;font-weight:650}.empty p{color:#9c89a9;max-width:280px;margin:0 auto;font-size:16px}.empty-action{color:#8a659f;background:#fff9;border:1px solid #dcd0e7;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:46px;margin-top:23px;padding:10px 17px;font-size:15px;font-weight:600;display:inline-flex}.add-button{bottom:calc(98px + var(--safe));z-index:15;color:#fff;white-space:nowrap;background:#8058ab;border-radius:21px;justify-content:center;align-items:center;gap:9px;min-height:58px;padding:15px 28px;font-size:17px;font-weight:650;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #7854a73b}.add-button:hover{background:#704398}.bottom-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;width:min(100%,560px);padding:10px 15px calc(10px + var(--safe));min-height:calc(79px + var(--safe));background:#fefcffed;border-top:1px solid #e6ddec;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav>button{color:#a18bad;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:29%;min-height:57px;font-size:13px;font-weight:500;display:flex}.bottom-nav>button.active{color:#8053a6}.bottom-nav>button.active svg{background:#eae0f4;border-radius:5px;margin:3px 0 2px;box-shadow:0 0 0 7px #eae0f4}.bottom-nav>button:hover{background:#f1eaf8}.offline-banner{color:#9b7253;background:#faecdf;border:1px solid #ecd6bf;border-radius:13px;align-items:center;gap:8px;margin:0 0 20px;padding:12px;font-size:14px;display:flex}.offline-banner button{color:#865338;min-height:36px;margin-left:auto;font-weight:600}.toast{bottom:calc(173px + var(--safe));z-index:70;color:#7a548e;background:#fff;border:1px solid #d9c6e8;border-radius:17px;align-items:center;gap:10px;width:max-content;max-width:min(90vw,500px);padding:14px 18px;font-size:15px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #54386e20}.toast svg{flex-shrink:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#31203e66;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.modal{width:min(100%,560px);max-height:92dvh;padding:30px 24px calc(28px + var(--safe));background:#fcfaff;border-radius:30px 30px 0 0;position:relative;overflow:auto;box-shadow:0 -10px 80px #2c163721}.modal:before{content:"";background:#ddd2e5;border-radius:8px;width:38px;height:4px;position:absolute;top:10px;left:calc(50% - 19px)}.modal-close{z-index:1;background:#f0e9f6;position:absolute;top:17px;right:15px}.modal-symbol{color:#9976b4;background:#eae0f4;border-radius:15px;justify-content:center;align-items:center;width:44px;height:44px;margin:4px 0 17px;display:flex}.modal h2{letter-spacing:-.8px;margin-bottom:25px;padding-right:26px;font-size:27px;font-weight:700}.modal textarea{font-size:17px;line-height:1.55}.modal label{font-size:15px}.eyebrow{color:#9781a7;letter-spacing:.7px;margin-bottom:8px;font-size:13px;display:block}.form-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-two select{font-size:15px}.optional-fields{border-top:1px solid var(--line);margin-top:20px;padding-top:6px}.optional-fields summary{color:#896b9c;cursor:pointer;align-items:center;gap:10px;min-height:52px;font-size:15px;font-weight:600;list-style:none;display:flex}.optional-fields summary::-webkit-details-marker{display:none}.optional-fields summary span{color:#a48fb2;font-size:13px;font-weight:400}.optional-fields summary svg{margin-left:auto;transition:transform .2s}.optional-fields[open] summary svg{transform:rotate(180deg)}.delete-zone{color:#a17888;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:14px;display:flex}.delete-zone .text-button{font-size:15px}.danger{color:#b26372;min-height:44px}.setting-card{background:#fff;border:1px solid #e5dbed;border-radius:20px;margin-top:19px;padding:20px}.setting-title{color:#9a7cad;align-items:center;gap:10px;display:flex}.setting-title strong{color:#5c456d;flex:1;min-width:0;font-size:17px;font-weight:600;line-height:1.5}.status{color:#9474aa;background:#eee6f4;border-radius:9px;padding:5px 9px;font-size:13px}.status.on{color:#618a5b;background:#e5f0e4}.setting-card p{color:#8d7b99;margin:14px 0;font-size:15px;line-height:1.6}.setting-card>small{color:#9985a6;font-size:14px;line-height:1.6;display:block}.setting-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:19px;display:flex}.setting-actions .primary{min-height:48px;padding:11px 16px;font-size:15px}.setting-install{text-align:left;color:#9b77b3;align-items:center;gap:14px;width:100%;margin:4px 0;padding:21px 4px;display:flex}.setting-install div{flex:1}.setting-install strong{color:#76568b;font-size:17px;font-weight:600;display:block}.setting-install small{color:#a18aaf;margin-top:5px;font-size:14px;line-height:1.5;display:block}.setting-card form .secondary{width:100%;margin-top:12px}.logout{color:#a57484;justify-content:center;gap:10px;width:100%;margin:27px 0 0;padding:14px 0;font-size:16px;display:flex}.settings-page{padding-bottom:20px}.events article{border-top:1px solid var(--line);gap:12px;padding:17px 0;display:flex}.events article>div{flex:1;min-width:0}.events p{color:#7f618e;overflow-wrap:anywhere;font-size:16px}.events small{color:#ac91b9;margin-top:7px;font-size:13px;display:block}.modal-subtitle{color:#987da8;margin:-12px 0 20px;font-size:15px}.compact-empty{color:#b69cc6;padding:20px}.compact-empty p{margin-top:16px}.install-modal>p{color:#8a7298;font-size:16px}.install-steps{margin:20px 0;padding:0 0 7px}.install-steps h3{color:#7b5c8d;margin:23px 0 10px;font-size:18px;font-weight:650}.install-steps p{color:#9a81aa;margin-top:5px;font-size:15px;line-height:1.8}.install-steps b{color:#8d649f;margin-right:5px}.login-screen{background:var(--bg);max-width:560px;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top,0px)) 28px 35px;margin:auto}.login-content{max-width:400px;margin:auto}.login-heart{color:#bb9bcf;background:#e7daf3;border-radius:35px;place-items:center;width:108px;height:108px;margin:66px auto 28px;display:grid;transform:rotate(-7deg)}.login-heart svg{transform:rotate(7deg)}.login-screen h1{letter-spacing:-1px;text-align:center;margin-bottom:14px;font-size:30px;font-weight:750;line-height:1.25}.login-screen .login-content>p{text-align:center;color:#9c83ac;margin-bottom:37px;font-size:17px;line-height:1.7}.code-field{background:#fff;border:1px solid #dcd0e5;border-radius:16px;align-items:center;padding-right:6px;display:flex}.code-field:focus-within{outline:2px solid #b393cf}.code-field input{letter-spacing:1px;border:0;outline:0;min-height:58px;font-size:18px}.install-login{color:#a182b4;justify-content:center;align-items:center;gap:9px;min-height:48px;margin:26px auto 0;font-size:16px;display:flex}.login-screen .wide{min-height:58px;font-size:18px}@media (min-width:700px){.app-shell{border-left:1px solid #ddd3e7;border-right:1px solid #ddd3e7}.modal-backdrop{align-items:center;padding:25px}.modal{border-radius:27px;max-height:90dvh;padding:30px}.modal:before{display:none}.login-screen{border-left:1px solid #ddd3e7;border-right:1px solid #ddd3e7;box-shadow:0 0 80px #4d356e08}}@media (max-width:360px){.app-main,.app-header{padding-left:17px;padding-right:17px}.task{gap:12px;padding:17px 13px}.task-content h2{font-size:18px}.task-meta{gap:7px 10px}.segmented>button{font-size:14px}.screen-heading h1{font-size:32px}.modal{padding-left:20px;padding-right:20px}.setting-card{padding:17px}.setting-title strong{font-size:16px}.form-two{grid-template-columns:1fr}.login-screen{padding-left:23px;padding-right:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}button{transition:transform .12s,background-color .16s,box-shadow .16s}button:active:not(:disabled){transform:scale(.96)}.add-button:active:not(:disabled){transform:translate(-50%)scale(.94)}.app-main{animation:.23s cubic-bezier(.2,.8,.2,1) both screen-arrive}.task,.note-card{animation:.3s cubic-bezier(.2,.8,.2,1) both card-arrive;animation-delay:calc(var(--row,0)*35ms)}.modal-backdrop{animation:.16s both backdrop-arrive}.modal{animation:.27s cubic-bezier(.2,.85,.25,1) both sheet-arrive}.toast{animation:.22s cubic-bezier(.2,.85,.25,1) both toast-arrive}.checkbox:active:not(:disabled):before{transform:scale(.86)}.checkbox:before{transition:transform .13s,background-color .15s,border-color .15s}.is-pinned svg{animation:.28s both pin-set}.segmented .selected{animation:.17s both segment-select}.bottom-nav .active svg{animation:.25s cubic-bezier(.2,.8,.2,1) both nav-select}.login-heart{animation:.55s cubic-bezier(.2,.85,.3,1) both heart-arrive}.login-content>h1,.login-content>p,.login-content>form{animation:.38s both screen-arrive}.login-content>form{animation-delay:90ms}.sound-switch{border-radius:16px;flex-shrink:0;justify-content:flex-start;align-items:center;width:54px;min-width:54px;height:44px;padding:0 5px;display:flex;position:relative}.sound-switch:before{content:"";background:#d8cde2;border-radius:30px;transition:background .18s;position:absolute;inset:6px 0}.sound-switch[aria-checked=true]:before{background:#8b66b2}.sound-switch>span{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:relative;box-shadow:0 1px 5px #38204320}.sound-switch[aria-checked=true]>span{transform:translate(20px)}.sound-preview{gap:10px}.celebration{pointer-events:none;z-index:65;width:0;height:0;position:fixed;top:42%;left:50%}.celebration-mark{color:#fff;background:#a186ba;border:4px solid #f5eefd;border-radius:24px;place-items:center;width:68px;height:68px;animation:1.3s cubic-bezier(.2,.8,.2,1) both celebration-check;display:grid;position:absolute;top:-34px;left:-34px;box-shadow:0 8px 38px #73508a24}.celebration-piece{color:#b58cc9;width:10px;height:10px;animation:1.45s cubic-bezier(.12,.7,.2,1) both little-confetti;animation-delay:var(--delay);background:#c3a4db;border-radius:3px;justify-content:center;align-items:center;display:flex;position:absolute;top:-5px;left:-5px}.celebration-piece.piece-0{color:#c28bab;background:0 0;width:15px;height:15px}.celebration-piece.piece-1{color:#b598d4;background:0 0;font-size:23px}.celebration-piece.piece-2{background:#e8b4c8;border-radius:50%;width:7px;height:7px}.celebration-piece.piece-3{background:#c7cfb2;width:6px;height:12px}@keyframes screen-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-arrive{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-arrive{0%{opacity:0}to{opacity:1}}@keyframes sheet-arrive{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes nav-select{0%{transform:scale(.87)}65%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes segment-select{0%{opacity:.6}to{opacity:1}}@keyframes pin-set{0%{transform:rotate(-20deg)scale(.8)}60%{transform:rotate(8deg)scale(1.1)}to{transform:rotate(0)scale(1)}}@keyframes heart-arrive{0%{opacity:0;transform:rotate(-14deg)scale(.7)}65%{transform:rotate(-3deg)scale(1.04)}to{opacity:1;transform:rotate(-7deg)scale(1)}}@keyframes little-confetti{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}12%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(.65) rotate(var(--rotation))}}@keyframes celebration-check{0%{opacity:0;transform:scale(.4)rotate(-12deg)}20%{opacity:1;transform:scale(1.08)rotate(4deg)}35%,75%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:translateY(-12px)scale(.92)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.celebration{display:none}.app-main,.task,.note-card,.modal,.modal-backdrop,.toast,.login-heart,.login-content>h1,.login-content>p,.login-content>form{opacity:1}button:active:not(:disabled){transform:none}.add-button:active:not(:disabled){transform:translate(-50%)}}.nudge-button{color:#8b62a6;background:#ece2f6;border:1px solid #e3d5ef;border-radius:15px;justify-content:center;align-items:center;gap:7px;min-width:82px;min-height:44px;padding:10px 12px;font-size:15px;font-weight:650;display:flex}.nudge-button:hover:not(:disabled){background:#e4d5f0}.nudge-button:disabled{opacity:.65;cursor:default}.nudge-sent svg{transform-origin:70% 90%;animation:.65s both nudge-wave}@keyframes nudge-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(18deg)}40%,80%{transform:rotate(-12deg)}}@media (prefers-reduced-motion:reduce){.nudge-sent svg{animation:none}}
