:root{color:#243128;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{background:radial-gradient(circle at 100% 0,#bedabd73,#0000 36%),#f4f6f1;min-width:320px;margin:0}button{font:inherit}.app-shell{width:100%;max-width:680px;height:100dvh;min-height:0;padding:max(32px, env(safe-area-inset-top)) 20px 0;flex-direction:column;margin:0 auto;display:flex;overflow:hidden}.page-header{flex-shrink:0;margin-bottom:20px}.family-header-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-bottom:7px;display:flex}.family-identity{flex-wrap:wrap;flex:1;align-items:center;gap:6px 8px;min-width:0;display:flex}.family-identity .eyebrow{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.family-code-button{color:#56715d;cursor:pointer;background:#edf4ee;border:1px solid #c6d4c9;border-radius:10px;flex-shrink:0;min-height:32px;padding:5px 9px;font-size:.76rem;font-weight:750}.family-code-button:focus-visible,.profile-avatar-button:focus-visible,.profile-dropdown button:focus-visible{outline-offset:1px;outline:3px solid #49745459}.profile-menu-root{z-index:12;flex:0 0 44px;position:relative}.profile-avatar-button{color:#fff;cursor:pointer;background:#31543d;border:1px solid #aebfb2;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.profile-avatar-content{font-size:1rem;font-weight:800;line-height:1}.profile-dropdown{z-index:15;background:#fff;border:1px solid #384e3f21;border-radius:14px;width:min(220px,100vw - 40px);padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #2233272b}.profile-member-name{overflow-wrap:anywhere;color:#33463a;border-bottom:1px solid #e7ebe6;margin:0;padding:10px 11px;font-size:.88rem;font-weight:750}.profile-dropdown button{color:#415548;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 11px;font-size:.88rem;font-weight:650}.profile-dropdown button:active{background:#edf4ee}.profile-dropdown .profile-logout-button{color:#7d463d}.eyebrow{color:#56715d;letter-spacing:.11em;text-transform:uppercase;margin:0 0 7px;font-size:.78rem;font-weight:750}h1{color:#17271d;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,9vw,3rem);line-height:1.05}.subtitle{color:#68736c;margin:12px 0 0;font-size:1rem}.section-switch{background:#d7e0d8cc;border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin-top:22px;padding:4px;display:grid}.section-switch button{color:#647168;cursor:pointer;background:0 0;border:0;border-radius:11px;min-height:42px;font-size:.9rem;font-weight:700}.section-switch button.active{color:#31543d;background:#fff;box-shadow:0 2px 8px #22332714}.section-switch button:focus-visible{outline-offset:2px;outline:3px solid #49745459}.task-list{min-height:0;padding:0 3px max(20px, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;grid-auto-rows:max-content;align-content:start;gap:14px;display:grid;overflow-y:auto}.task-group{gap:10px;display:grid}.task-group+.task-group{margin-top:12px}.task-group-heading{color:#657168;letter-spacing:.07em;text-transform:uppercase;margin:0;padding:0 4px;font-size:.82rem;font-weight:800}.task-group-cards{gap:14px;display:grid}.task-card{background:#ffffffeb;border:1px solid #384e3f1a;border-radius:20px;padding:20px;position:relative;box-shadow:0 10px 28px #22332712}.pending-task-card h2{padding-right:86px}.card-icon-actions{gap:0;display:flex;position:absolute;top:8px;right:8px}.card-icon-actions button{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;font-size:1rem;display:grid}.card-icon-actions button:active{background:#edf1ed}.card-icon-actions button:focus-visible{outline-offset:1px;outline:3px solid #49745459}.card-icon-actions .delete-icon-button{filter:grayscale(.45);opacity:.66}.task-card h2{color:#1d2e22;margin:0 0 18px;font-size:1.18rem;line-height:1.35}.task-details{border-bottom:1px solid #e7ebe6;grid-template-columns:minmax(0,1fr) auto;gap:20px;margin:0;padding-bottom:17px;display:grid}.task-details div{min-width:0}.task-details dt{color:#7a857d;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:700}.task-details dd{color:#33463a;margin:0;font-size:.98rem;font-weight:650}.task-author{color:#717d74;margin:15px 0 0;font-size:.88rem}.task-author strong{color:#445649;font-weight:650}.completion-meta{margin-top:15px}.completion-meta .task-author{margin-top:0}.completion-date{color:#68736c;margin:5px 0 0;font-size:.88rem;line-height:1.4}.task-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.complete-button,.schedule-button,.restore-button{cursor:pointer;border-radius:13px;width:100%;min-height:46px;padding:8px;font-size:.9rem;font-weight:750}.complete-button{color:#31543d;background:#edf4ee;border:1px solid #aabdaf}.schedule-button{color:#4c6052;background:#fff;border:1px solid #c3cdc5}.restore-button{color:#40594a;background:#fff;border:1px solid #c3cdc5;margin-top:16px}.complete-button:disabled,.schedule-button:disabled,.restore-button:disabled{cursor:default;opacity:.65}.state-message{color:#657168;text-align:center;border:1px dashed #cbd4cc;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:36px 24px;display:flex}.state-message h2{color:#2b3d30;margin:14px 0 6px;font-size:1.2rem}.state-message p{max-width:310px;margin:0;line-height:1.5}.loader{border:3px solid #dbe3dc;border-top-color:#52705b;border-radius:50%;width:32px;height:32px;margin-bottom:16px;animation:.8s linear infinite spin}.state-icon{color:#9c3f31;background:#f8ded8;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:800;display:grid}.state-icon-empty{color:#42694b;background:#dfece1}.retry-button{color:#395241;cursor:pointer;background:#fff;border:1px solid #b7c5ba;border-radius:12px;margin-top:20px;padding:10px 16px;font-weight:700}.action-bar{padding:14px 0 max(18px, env(safe-area-inset-bottom));background:linear-gradient(#f4f6f100,#f4f6f1 26%);flex-shrink:0}.add-button{color:#fff;cursor:pointer;background:#31543d;border:0;border-radius:16px;width:min(100%,640px);min-height:54px;margin:0 auto;font-size:1rem;font-weight:750;display:block;box-shadow:0 9px 22px #2548313d}.add-button:active,.retry-button:active{transform:translateY(1px)}.add-button:focus-visible,.retry-button:focus-visible,.complete-button:focus-visible,.schedule-button:focus-visible,.restore-button:focus-visible,.cancel-button:focus-visible,.submit-button:focus-visible,.form-field input:focus-visible{outline-offset:3px;outline:3px solid #49745459}.modal-backdrop{z-index:20;padding-top:env(safe-area-inset-top);background:#121f167a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.create-modal{width:100%;max-height:100%;padding:26px 20px max(22px, env(safe-area-inset-bottom));background:#f8faf6;border-radius:24px 24px 0 0;overflow-y:auto;box-shadow:0 -16px 40px #16291c33}.create-modal-header{margin-bottom:24px}.create-modal-header h2{color:#17271d;letter-spacing:-.025em;margin:0;font-size:1.7rem}.schedule-task-name{color:#68736c;margin:10px 0 0;line-height:1.4}.confirmation-modal h2{color:#17271d;letter-spacing:-.025em;margin:0;font-size:1.55rem;line-height:1.2}.confirmation-task-name{color:#26392c;margin:22px 0 8px;font-size:1.08rem;font-weight:750;line-height:1.4}.confirmation-text{color:#68736c;margin:0 0 22px;line-height:1.5}.confirmation-actions{margin-top:18px}.create-form{gap:18px;display:grid}.form-field{color:#34483a;gap:8px;font-size:.9rem;font-weight:700;display:grid}.form-field small{color:#7a857d;font-size:.8rem;font-weight:500}.form-field input{color:#1d2e22;width:100%;min-height:50px;font:inherit;background:#fff;border:1px solid #cbd5cd;border-radius:13px;padding:11px 13px;font-size:1rem}.form-field input:disabled{opacity:.65}.invite-code-input{letter-spacing:.12em}.schedule-options{border:0;min-width:0;margin:0;padding:0}.schedule-options legend{color:#34483a;margin-bottom:8px;font-size:.9rem;font-weight:700}.schedule-options>div{background:#e7ece7;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.schedule-options label{cursor:pointer;position:relative}.schedule-options input{opacity:0;position:absolute}.schedule-options span{color:#617066;text-align:center;border-radius:11px;place-items:center;min-height:44px;padding:8px;font-size:.88rem;font-weight:700;display:grid}.schedule-options input:checked+span{color:#31543d;background:#fff;box-shadow:0 2px 8px #22332714}.schedule-options input:focus-visible+span{outline-offset:2px;outline:3px solid #49745459}.schedule-options:disabled{opacity:.65}.form-error{color:#87362b;background:#f8ded8;border-radius:12px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.4}.form-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.cancel-button,.submit-button{cursor:pointer;border-radius:14px;min-height:52px;font-weight:750}.delete-confirm-button{background:#8b4438}.auth-shell{width:100%;height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid;overflow-y:auto}.auth-card{background:#f8faf6f5;border:1px solid #384e3f1a;border-radius:24px;width:min(100%,480px);padding:26px 20px;box-shadow:0 16px 40px #2233271a}.auth-card h1{font-size:clamp(1.8rem,8vw,2.5rem)}.auth-welcome>p:not(.eyebrow),.auth-status-card>p{color:#68736c;margin:14px 0 0;line-height:1.5}.auth-primary-actions{gap:12px;margin-top:28px;display:grid}.auth-explanation{color:#68736c;margin:14px 0 22px;line-height:1.5}.member-picker-title{color:#34483a;margin:24px 0 12px;font-size:1rem}.member-picker{gap:9px;display:grid}.member-picker button{color:#26392c;min-height:54px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5cd;border-radius:13px;flex-direction:column;justify-content:center;align-items:flex-start;padding:10px 14px;font-weight:750;display:flex}.member-picker button small{color:#7a857d;margin-top:2px;font-size:.76rem;font-weight:500}.member-picker button:focus-visible{outline-offset:2px;outline:3px solid #49745459}.member-picker-actions{margin-top:20px}.auth-status-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:250px;display:flex}.auth-status-card h1{margin-top:4px;font-size:1.45rem}.invite-code-row{background:#edf4ee;border:1px solid #d7e3d9;border-radius:15px;align-items:center;gap:4px;min-width:0;margin:22px 0 0;padding:6px;display:flex;container-type:inline-size}.invite-code-value{color:#31543d;letter-spacing:.03em;text-align:center;-webkit-user-select:all;user-select:all;white-space:nowrap;flex:1;min-width:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.15rem,5cqw + .3rem,1.4rem);font-weight:800;line-height:1.25}.invite-code-value.long-code{letter-spacing:0;font-size:clamp(.95rem,4.2cqw + .25rem,1.2rem)}.copy-code-button{cursor:pointer;background:#fff;border:1px solid #bdc9c0;border-radius:13px;flex:0 0 48px;place-items:center;width:48px;height:48px;padding:0;font-size:1.15rem;display:grid}.copy-code-button:focus-visible{outline-offset:2px;outline:3px solid #49745459}.copy-feedback{color:#87362b;text-align:center;min-height:20px;margin:7px 0;font-size:.8rem;line-height:1.35}.copy-feedback-success{color:#477255}.rotate-code-button{color:#56715d;cursor:pointer;background:0 0;border:0;border-radius:11px;min-height:44px;margin:0 auto 8px;padding:7px 14px;font-weight:750;display:block}.rotate-code-button:focus-visible{outline-offset:1px;outline:3px solid #49745459}.rotate-code-confirmation-text{margin-top:18px}.recovery-code-explanation{margin-top:14px}.recovery-code-configured{color:#31543d;text-align:center;margin:20px 0 4px;font-weight:800}.recovery-code-created-at{color:#6f7c72;text-align:center;margin:0 0 16px;font-size:.82rem}.recovery-code-confirmation{margin-top:20px}.recovery-code-block{background:#edf4ee;border:1px solid #d7e3d9;border-radius:15px;min-width:0;margin-top:20px;padding:14px 10px 10px;container-type:inline-size}.recovery-code-value{color:#31543d;letter-spacing:.01em;text-align:center;-webkit-user-select:all;user-select:all;white-space:nowrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(.9rem,3.5cqw + .25rem,1.15rem);font-weight:800;line-height:1.3}.recovery-copy-button{min-height:44px;margin:10px auto 0;padding-inline:18px;display:block}.recovery-code-warning{color:#765a1f;background:#fff5dc;border-radius:12px;margin:8px 0 0;padding:11px 12px;font-size:.86rem;font-weight:650;line-height:1.45}.auth-inline-action{color:#477255;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin:-4px 0 -8px;padding:8px 2px;font-weight:750}.auth-inline-action:focus-visible{outline-offset:2px;outline:3px solid #49745459}.recovery-owner-hint{color:#6f7c72;margin-top:-8px;line-height:1.4;display:block}.recovery-code-input{letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.recovery-success-card{text-align:center}.family-members-list{gap:10px;max-height:min(52dvh,430px);margin-top:18px;display:grid;overflow-y:auto}.family-member-row{background:#f7faf7;border:1px solid #d7e3d9;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 10px 10px 13px;display:flex}.family-member-row>div{gap:2px;min-width:0;display:grid}.family-member-row strong{overflow-wrap:anywhere;color:#31543d}.family-member-row small{color:#6f7c72}.member-reset-button{flex:none;min-height:44px;padding:7px 10px;font-size:.78rem}.member-reset-confirmation{white-space:pre-line;margin-top:18px}.member-reset-code-value{color:#31543d;letter-spacing:.03em;text-align:center;-webkit-user-select:all;user-select:all;white-space:nowrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1rem,4cqw + .3rem,1.25rem);font-weight:800}@media (width<=380px){.family-member-row{flex-direction:column;align-items:stretch}.member-reset-button{width:100%}}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:56px}.password-input-wrapper input::-ms-reveal{display:none}.password-input-wrapper input::-ms-clear{display:none}.password-input-wrapper button{cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;width:44px;height:44px;padding:0;font-size:1rem;display:grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.password-input-wrapper button:focus-visible{outline-offset:1px;outline:3px solid #49745459}.password-input-wrapper button:disabled{cursor:default;opacity:.55}.change-password-form{margin-top:22px}.account-feedback{z-index:30;top:max(14px, env(safe-area-inset-top));color:#fff;white-space:nowrap;background:#31543d;border-radius:12px;margin:0;padding:10px 16px;font-size:.88rem;font-weight:750;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #2233272e}.modal-single-button{width:100%;min-height:52px}.logout-text{margin-top:16px}.cancel-button{color:#415548;background:#fff;border:1px solid #bdc9c0}.submit-button{color:#fff;background:#31543d;border:0}.cancel-button:disabled,.submit-button:disabled{cursor:default;opacity:.65}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=600px){.app-shell{padding-left:28px;padding-right:28px}.task-card{padding:24px}.modal-backdrop{align-items:center;padding:28px}.create-modal{border-radius:24px;max-width:480px}}@media (prefers-reduced-motion:reduce){.loader{animation-duration:1.6s}}
