@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.gift-prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gift-prep{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.gift-prep:hover{border-color:var(--line);box-shadow:0 9px 20px color-mix(in srgb,var(--pine) 6%,transparent)}.gift-prep>span{color:var(--coral);font-size:18px}.gift-prep b,.gift-prep small{display:block}.gift-prep b,.calendar-row b,.task-main b,.directory-main b,.person-tile b{font-size:var(--type-title)}.gift-prep small{margin-top:4px;color:var(--muted);font-size:var(--type-meta);line-height:1.4}.gift-prep em,.calendar-row em,.home-row>em{display:none}@media(max-width:700px){.gift-prep-grid{grid-template-columns:1fr}}.calendar-list{display:grid;gap:9px}.calendar-month{margin:18px 2px 3px;color:var(--success);font-size:var(--type-meta);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.calendar-list .calendar-month:first-child{margin-top:2px}.calendar-agenda-day{margin:10px 2px 0;color:var(--ink);font-size:var(--type-title)}.global-filter{display:inline-flex;margin:0 0 var(--space-page-flow)}.view-toggle.global-filter,.view-toggle.planning-filter{display:inline-flex;width:fit-content}.gift-page-tabs,.meal-page-tabs{display:flex;width:min(280px,100%);margin:0 0 var(--space-page-flow);border-bottom:1px solid var(--line)}.connections-page-tabs{width:min(320px,100%)}.gift-page-tabs button,.meal-page-tabs button{flex:1;padding:9px 12px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:var(--type-title);font-weight:700;cursor:pointer}.gift-page-tabs button.active,.meal-page-tabs button.active{border-bottom-color:var(--pine);color:var(--pine)}.people-filter{max-width:100%;overflow-x:auto;scrollbar-width:none}.due-urgent{color:var(--danger)!important;font-weight:700}.task-row{display:flex;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.task-check{display:grid;place-items:center;width:19px;height:19px;margin-top:2px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--on-primary);line-height:1;cursor:pointer}.task-check.done{border-color:var(--pine);background:var(--pine)}.task-main{flex:1;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.task-main b,.task-main small{display:block}.task-main small{margin-top:3px;color:var(--muted);font-size:var(--type-meta)}.task-check.done+.task-main b{text-decoration:line-through;color:var(--muted)}.directory-row.task-directory-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:5px 12px;padding:15px;cursor:pointer}.task-directory-row .task-check{align-self:start;margin:1px 0 0;flex:none}.task-directory-row.is-done .directory-main b{color:var(--muted);text-decoration:line-through}.directory-row.task-directory-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.task-directory-row .task-row-context{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.task-row-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.task-row-context.is-overdue,.task-row-context.is-overdue>span{color:var(--danger)}.task-row-context span{color:var(--muted)}.tasks-filter-row{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-page-flow)}.tasks-mobile-search-toggle,.tasks-search-close,.record-mobile-search-toggle,.record-search-close{display:none}.tasks-filter-row .global-filter{margin-bottom:0}.delete-completed{margin-left:auto;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text-danger);font:inherit;font-size:var(--type-meta);font-weight:700;cursor:pointer}.delete-completed:hover{border-color:var(--coral);background:var(--surface-danger);color:var(--danger)}.task-row-delete{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-left:auto;padding:0;border:0;border-radius:7px;background:var(--surface-danger);color:var(--danger);cursor:pointer;transition:background .16s}.task-directory-content{display:grid;min-width:0;gap:5px}.task-read-detail{display:grid;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.task-read-detail:not(.has-notes){display:none}.task-read-notes{margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.task-read-actions{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.task-read-actions.has-notes{padding-top:12px;border-top:1px solid var(--line)}.task-read-actions .quiet-button,.task-read-actions .delete-link{margin:0;padding:0;font-size:var(--type-meta);line-height:1.2}.task-read-actions .delete-link{margin-left:auto}.directory-row.reminder-directory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:15px;cursor:pointer}.reminder-directory-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.reminder-directory-content{display:grid;min-width:0;gap:5px}.reminder-quick-actions{display:flex;align-items:center;gap:6px}.reminder-quick-actions button{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--pine);font:inherit;font-size:var(--type-meta);font-weight:750;cursor:pointer}.reminder-quick-actions button:hover{border-color:var(--pine)}.reminder-directory-main{min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.reminder-directory-main .directory-main{min-width:0}.reminder-directory-main b{display:block;overflow:hidden;font-size:var(--type-title);text-overflow:ellipsis;white-space:nowrap}.reminder-directory-row .reminder-row-context{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.reminder-row-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.reminder-row-context .due-urgent{font-weight:inherit}.reminder-read-detail{display:grid;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.reminder-read-notes{margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.reminder-read-actions{display:flex;grid-column:1 / -1;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:12px;padding:4px 0}.reminder-read-actions.has-notes{padding-top:12px;border-top:1px solid var(--line)}.reminder-read-actions .quiet-button,.reminder-read-actions .delete-link{margin:0;padding:0;font-size:var(--type-meta);line-height:1.2}.reminder-read-actions .delete-link{margin-left:auto}.directory-row.gift-directory-row{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:15px;cursor:pointer}.gift-directory-main{min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.gift-directory-main b{display:block;overflow:hidden;font-size:var(--type-title);text-overflow:ellipsis;white-space:nowrap}.gift-directory-row .gift-row-context{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.gift-row-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.gift-directory-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.gift-read-detail{display:grid;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.gift-read-detail:not(.has-detail){gap:0;padding-top:0;border-top:0}.gift-read-detail p{max-width:760px;margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.gift-read-detail .gift-read-meta{color:var(--muted);font-size:var(--type-meta);line-height:1.45;white-space:normal}.gift-read-meta button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.gift-read-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.gift-read-detail:not(.has-detail) .gift-read-actions{padding-top:0;border-top:0}.gift-read-actions .quiet-button,.gift-read-actions .delete-link{margin:0;padding:4px 0;font-size:var(--type-meta);line-height:1.2}.gift-read-actions .delete-link{margin-left:auto}@media(max-width:850px){.reminder-directory-row .reminder-row-context,.reminder-directory-row .reminder-read-notes,.gift-directory-row .gift-row-context{display:block}}.task-row-delete svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.task-row-delete:hover{background:var(--soft-coral)}.task-directory-main{display:flex;align-items:center;gap:15px;min-width:0;flex:1;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.task-directory-main .directory-main{flex:1;min-width:0}.task-directory-main .directory-main b,.task-directory-main .directory-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-directory-main p{flex:1}.task-directory-main em{margin-left:auto;color:var(--muted);font-size:18px;font-style:normal}.directory-row.global-item-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr) 28px;cursor:default}.global-item-main{display:flex;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.global-item-main .directory-main{min-width:0}.global-item-main .directory-main b,.global-item-main .directory-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-item-row .linked-people,.global-item-row p{min-width:0}.linked-people{display:flex;flex:1;flex-wrap:wrap;gap:5px;align-items:center;min-width:120px}.linked-people>span{color:var(--muted);font-size:var(--type-body)}.linked-person-chip{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--pine);font:inherit;font-size:var(--type-meta);font-weight:700;cursor:pointer}.linked-person-chip:hover{border-color:var(--pine);background:var(--surface-selected)}.task-check.done~.task-directory-main b{text-decoration:line-through;color:var(--muted)}.date-card{display:grid;gap:8px}.important-date{display:flex;align-items:center;width:100%;gap:12px;padding:8px 0;border-top:1px solid var(--line);border-right:0;border-bottom:0;border-left:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.important-date:hover{background:var(--surface-subtle)}.important-date b{display:block;font-size:var(--type-title)}.important-date small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-meta)}.important-date-edit{display:grid;gap:13px;margin-top:10px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-subtle)}.important-date-edit input,.important-date-edit select{width:100%;height:40px;box-sizing:border-box;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit}.important-date-edit label{display:grid;gap:6px}.important-date-edit label>span{color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.important-date-edit label em{margin-left:3px;color:var(--muted);font-size:var(--type-micro);font-style:normal;letter-spacing:.04em}.important-date-edit-top{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:10px;align-items:end}.important-date-edit-fields{display:grid;grid-template-columns:minmax(0,1fr) 72px 96px;gap:10px;align-items:end}.important-date-editor .important-date-edit-fields>label{margin-top:14px}.important-date-remove{width:32px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--danger);font-size:18px;cursor:pointer}.important-date-remove:hover{background:var(--soft-coral)}.year-toggle{height:40px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--pine);font:inherit;font-size:var(--type-meta);font-weight:700;white-space:nowrap;cursor:pointer}.year-toggle:hover{background:var(--success-soft)}@media(max-width:650px){.important-date-edit-fields{grid-template-columns:minmax(0,1fr) 70px}.important-date-edit-fields>label:last-child{grid-column:span 2}}.about-card{display:grid;gap:0}.about-group{padding:13px 0;border-top:1px solid var(--line)}.about-group>span{display:block;margin-bottom:8px;color:var(--text-subtle);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.about-group p{margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.55}.about-group input{width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);outline:0}.about-group select{width:100%;min-height:40px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:inherit;outline:0}.about-group textarea{width:100%;min-height:90px;padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);font:inherit;font-size:var(--type-body);resize:vertical}.about-chips{display:flex;flex-wrap:wrap;gap:6px}.about-chips>b{padding:5px 8px;border-radius:999px;background:var(--surface-success);color:var(--text-success);font-size:var(--type-meta)}.about-chip-button,.about-add{border:0;cursor:pointer}.about-chip-button{padding:5px 8px;border-radius:999px;background:var(--surface-success);color:var(--text-success);font-size:var(--type-meta);font-weight:700}.about-chip-button b{margin-left:3px;color:var(--danger);font-size:14px;line-height:0}.about-add{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-raised);color:var(--success);font-size:var(--type-meta);font-weight:700}.about-custom-category-action{padding:13px 0;border-top:1px solid var(--line)}.custom-section-add{margin:0;cursor:pointer}.about-section-remove{float:right;padding:0;border:0;background:transparent;color:var(--text-danger);font-size:16px;line-height:1;cursor:pointer}.about-group small{color:var(--muted);font-size:var(--type-body)}.gift-preferences-edit{display:grid;gap:9px}.gift-preferences-edit label{display:grid;gap:6px;color:var(--text-subtle);font-size:var(--type-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.gift-occasion-group{display:grid;gap:6px}.gift-occasion-group>small{color:var(--muted);font-size:var(--type-meta)}.about-chip-button.selected{background:var(--pine);color:var(--on-primary)}.gift-preferences-summary{display:grid;gap:4px}.gift-preferences-summary b{color:var(--text-success);font-size:var(--type-body)}.gift-preferences-summary small{line-height:1.45}.gift-planning-tools{display:grid;justify-items:start;gap:6px;margin:-4px 0 var(--space-page-flow)}.gift-planning-tools small{color:var(--muted);font-size:var(--type-meta)}.gift-planning-filters{display:flex;width:max-content;align-items:center;gap:12px;margin:0 0 var(--space-page-flow)}.planning-filter{display:flex}.gift-needs-list{display:grid;gap:10px}.gift-need-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.gift-need-row .directory-main{min-width:0}.gift-planning-main{min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.gift-planning-main b{display:block;overflow:hidden;font-size:var(--type-title);text-overflow:ellipsis;white-space:nowrap}.gift-need-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.gift-need-row .linked-people{min-width:0}.gift-need-row p{min-width:0;margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.gift-need-read-detail{display:grid;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.gift-need-read-detail:not(.has-detail){gap:0;padding-top:0;border-top:0}.gift-need-read-detail>p{margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.gift-need-read-detail .gift-read-meta{color:var(--muted);font-size:var(--type-meta);line-height:1.45;white-space:normal}.gift-need-row>.quiet-button{grid-column:2;grid-row:1 / span 2;align-self:center;width:88px;margin-top:0;text-align:right}.gift-need-overdue p{color:var(--text-danger);font-weight:700}.gift-needs-empty{padding:18px 0 4px;color:var(--muted);font-size:var(--type-body)}.gift-need-row small{color:var(--muted);font-size:var(--type-meta)}.history-actions{display:flex;align-items:center;gap:8px}.view-toggle{display:flex;padding:3px;border-radius:9px;background:var(--success-soft)}.view-toggle button{border:0;border-radius:7px;padding:5px 8px;background:transparent;color:var(--muted);font-size:var(--type-meta);font-weight:700;cursor:pointer}.view-toggle button.active{background:var(--surface-raised);color:var(--pine);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 8%,transparent)}.filter-count{margin-left:5px;opacity:.82;font-size:var(--type-label);font-variant-numeric:tabular-nums;font-weight:800}.history-timeline{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.timeline-label{margin:0 0 10px;color:var(--text-subtle);font-size:var(--type-label);font-weight:700;letter-spacing:.12em}.timeline-lane{padding-right:12px}.history-event{position:relative;display:grid;grid-template-columns:72px 15px 1fr;gap:10px;width:100%;padding:10px 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.history-event:not(:last-child):after{position:absolute;top:18px;bottom:-11px;left:87px;width:1px;background:var(--line);content:""}.history-event time{color:var(--muted);font-size:var(--type-label);font-weight:700}.history-event i{z-index:1;width:10px;height:10px;margin-top:3px;border:2px solid var(--panel);border-radius:50%;background:var(--coral);box-shadow:0 0 0 1px var(--line)}.history-event b,.life-event b{display:block;font-size:var(--type-title)}.history-event small,.life-event small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-meta);line-height:1.4}.life-lane{padding-left:17px;border-left:1px solid var(--line)}.life-event{display:flex;gap:9px;width:100%;padding:9px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.life-event span{min-width:68px;color:var(--muted);font-size:var(--type-label);font-weight:700}.history-event:hover b,.life-event:hover b{color:var(--pine)}@media(max-width:650px){.history-timeline{grid-template-columns:1fr}.life-lane{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}.history-actions{align-items:flex-end}.history-event{grid-template-columns:66px 15px 1fr}.history-event:not(:last-child):after{left:81px}}.history-date{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.history-date label{margin-top:0!important}.history-date-parts{display:grid;grid-template-columns:minmax(0,1fr) 72px 96px;gap:10px}.history-date-parts label{display:grid;gap:6px;margin-top:0!important}.history-date-parts label>span{color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}@media(max-width:580px){.sidebar{overflow:hidden}.sidebar nav{overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.sidebar nav:after{content:"";flex:0 0 18px}.history-date{grid-template-columns:1fr}.history-date-parts{grid-template-columns:minmax(0,1fr) 70px}.history-date-parts>label:last-child{grid-column:span 2}}.history-timing-toggle{justify-self:start;margin-bottom:10px}.primary-button:disabled{opacity:.45;cursor:not-allowed}.moment-editor select{display:block;width:100%;height:42px;box-sizing:border-box;appearance:none;-webkit-appearance:none;padding:0 38px 0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236e8177' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none}.editor-select{position:relative;width:100%;min-width:0}.editor-select-trigger{position:relative;display:flex;align-items:center;width:100%;min-width:0;box-sizing:border-box;min-height:42px;padding:0 38px 0 11px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:inherit;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer}.editor-select-trigger:after{position:absolute;right:13px;width:12px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236e8177' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E") center / 12px 8px no-repeat;content:"";pointer-events:none}.editor-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-select-options{position:absolute;z-index:12;top:calc(100% + 5px);right:0;left:0;display:grid;max-height:min(250px,42vh);overflow-y:auto;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 17%,transparent)}.editor-select.menu-up .editor-select-options{top:auto;bottom:calc(100% + 5px)}.editor-select-options button{width:100%;padding:10px 6px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;line-height:1.35;text-align:left;cursor:pointer}.editor-select-options button:hover,.editor-select-options button.selected{background:var(--success-soft);color:var(--pine)}@media(min-width:581px){.gift-editor .moment-date{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-editor .editor-select.menu-up .editor-select-options{left:auto;width:max-content;min-width:100%;max-width:min(400px,calc(100vw - 64px))}.gift-editor .editor-select-options button{white-space:nowrap}}.empty-relationships{margin:0;color:var(--muted);font-size:var(--type-title);line-height:1.5}.dashboard-grid:has(.upcoming .empty-relationships){grid-template-columns:1fr}.dashboard-grid:has(.upcoming .empty-relationships) .upcoming{display:none}.gift-prep-grid:has(.empty-state){grid-template-columns:1fr}.recent:has(.gift-prep-grid .empty-state){display:none}.gift-row{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.gift-row:hover b{color:var(--pine)}.gift-row small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-meta)}.timeline-item{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.timeline-item:hover b{color:var(--pine)}.moment-pencil{margin-left:5px;color:var(--pine)!important;font-size:var(--type-meta)}.moment-overlay{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--ink) 46%,transparent)}html:has(.moment-overlay),body:has(.moment-overlay){overflow:hidden;overscroll-behavior:none}.confirmation-overlay{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--ink) 46%,transparent)}.confirmation-dialog{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;width:min(390px,100%);padding:23px;border-radius:18px;background:var(--surface-raised);box-shadow:0 28px 70px color-mix(in srgb,var(--ink) 38%,transparent)}.confirmation-mark{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--surface-danger);color:var(--danger);font-size:18px;font-weight:800}.confirmation-dialog h2{margin:2px 0 20px;font-size:20px}.confirmation-dialog p:not(.eyebrow){margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.5}.confirmation-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:8px;margin-top:4px}.danger-button{border:0;border-radius:8px;padding:8px 11px;background:var(--danger);color:var(--on-primary);font:inherit;font-size:var(--type-body);font-weight:700;cursor:pointer}.danger-button:hover{background:var(--danger)}.moment-editor{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;overscroll-behavior:contain;padding:25px;border-radius:18px;background:var(--surface-raised);box-shadow:0 28px 70px color-mix(in srgb,var(--ink) 38%,transparent)}.moment-editor label{display:grid;gap:7px;margin-top:14px;color:var(--muted);font-size:var(--type-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.moment-editor input,.moment-editor textarea{width:100%;box-sizing:border-box;font:inherit;padding:11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);letter-spacing:normal;text-transform:none}.moment-editor input{height:42px}.moment-editor textarea{min-height:96px;resize:vertical}.moment-editor label>em,.moment-editor label>span em{color:var(--muted);font-size:var(--type-micro);font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.person-link-picker{position:relative;display:grid;gap:7px;margin-top:14px}.person-link-picker>span{color:var(--muted);font-size:var(--type-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.person-link-picker>span em{color:var(--muted);font-size:var(--type-micro);font-style:normal}.person-link-picker input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:none;background:var(--surface-raised);color:var(--ink);font:inherit;box-sizing:border-box}.person-link-picker input:focus{border-color:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 12%,transparent)}.person-link-results{position:absolute;z-index:20;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:min(280px,45vh);overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 7%,transparent)}.person-link-results button{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border:0;border-bottom:1px solid var(--success-soft);background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.person-link-results button:last-child{border-bottom:0}.person-link-results button:hover{background:var(--paper)}.person-link-results .person-link-add{grid-template-columns:25px 1fr;color:var(--pine);font-weight:700}.person-link-results button span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--sage);color:var(--pine);font-size:var(--type-label);font-weight:800}.person-link-results button b{color:var(--pine);font-size:17px}.person-link-results small{padding:10px;color:var(--muted)}.moment-date{display:grid;grid-template-columns:1fr 1fr;gap:10px}.moment-date>label{grid-template-rows:13px 42px;align-items:stretch}.moment-date>label>input,.moment-date>label>select{height:42px;min-height:42px;margin:0;align-self:stretch}.editor-field-label em,.checklist-label em{color:var(--muted);font-size:var(--type-micro);font-style:normal;letter-spacing:.04em;margin-left:3px}.moment-location-field{display:flex;gap:7px}.moment-location-field input{min-width:0;flex:1}.location-button{display:grid;place-items:center;flex:0 0 38px;width:38px;border:1px solid var(--line);border-radius:9px;background:var(--success-soft);color:var(--pine);font-size:18px;cursor:pointer}.location-button:hover:not(:disabled){background:var(--pine);color:var(--on-primary)}.location-button:disabled{opacity:.6;cursor:wait}.location-status{display:block;margin-top:5px;color:var(--danger);font-size:var(--type-meta)}.editor-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin-top:22px}.editor-actions .quiet-button{margin:0;white-space:nowrap}.editor-actions .primary-button{white-space:nowrap}.editor-actions .delete-link{margin:0}.contact-input{grid-template-columns:92px minmax(0,1fr) 27px!important;align-items:stretch}.contact-input input{width:100%;min-width:0}.contact-input select{min-width:0;width:100%}.contact-input button{width:27px;min-width:27px}.category-picker{display:flex;flex-wrap:wrap;gap:7px}.category-pill{border:1px solid var(--line);border-radius:999px;background:var(--surface-raised);color:var(--success);padding:7px 10px;font-size:var(--type-body);font-weight:700;cursor:pointer}.category-pill.selected{border-color:var(--pine);background:var(--pine);color:var(--on-primary)}.category-pill.add-category{border-color:var(--line);border-style:solid;background:var(--surface-raised);color:var(--success)}.birthday-input{display:grid;grid-template-columns:1.2fr .55fr 1fr;gap:7px}.birthday-input input,.birthday-input select{min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);outline:0}.birthday-display{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.birthday-display small{color:var(--muted);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.birthday-display b{font-size:var(--type-title)}:root{--ink: #1f302c;--muted: #72807b;--line: #e4e9e3;--paper: #f6f7f3;--panel: #fff;--pine: #274a42;--sage: #e3eee5;--coral: #e77a61;--soft-coral: color-mix(in srgb, var(--coral) 12%, var(--panel));--on-primary: #fff;--success: var(--pine);--success-soft: var(--sage);--danger: #a2453e;--info: #587594;--info-soft: color-mix(in srgb, var(--info) 12%, var(--panel));--preview-light-paper: #f6f7f3;--preview-light-panel: #fff;--preview-light-line: #e4e9e3;--preview-light-sage: #e3eee5;--preview-dark-paper: #18221f;--preview-dark-panel: #22312b;--preview-dark-line: #3b5147;--preview-dark-sage: #31483b;--preview-dark-pine: #b3d8bd;--surface-raised: var(--panel);--surface-subtle: var(--paper);--surface-selected: var(--sage);--surface-success: var(--success-soft);--surface-danger: var(--soft-coral);--line-strong: var(--line);--text-subtle: var(--muted);--text-success: var(--success);--text-danger: var(--danger);--type-micro: 9px;--type-label: 10px;--type-meta: 11px;--type-body: 12px;--type-title: 13px;--type-ui: 15px;--sidebar-width: 238px;--space-page-flow: 16px;--space-control-stack: 10px}:root[data-theme=dark]{color-scheme:dark;--ink: #edf3ee;--muted: #b4c2b9;--line: #3b5147;--paper: #18221f;--panel: #22312b;--pine: #b3d8bd;--sage: #31483b;--coral: #f4a088;--soft-coral: #3d2b29;--on-primary: #18221f;--success: var(--pine);--success-soft: var(--sage);--danger: #f4a088;--info: #b8c7db;--info-soft: #263930;--surface-raised: var(--panel);--surface-subtle: var(--paper);--surface-selected: var(--sage);--surface-success: var(--success-soft);--surface-danger: var(--soft-coral);--line-strong: var(--line);--text-subtle: var(--muted);--text-success: var(--success);--text-danger: var(--danger)}:where(button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--pine);outline-offset:2px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:var(--type-ui) "DM Sans",sans-serif}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.offline-sync-status{position:fixed;z-index:40;top:12px;left:50%;transform:translate(-50%);margin:0;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:12px;box-shadow:0 4px 16px #30271e1a}.sidebar{position:sticky;top:0;z-index:20;height:100vh;display:flex;flex-direction:column;padding:24px 17px 16px;background:var(--panel);border-right:1px solid var(--line)}.workspace-switcher{display:grid;gap:5px;margin:0 14px 18px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.workspace-switcher select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:var(--surface-raised);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:normal}.mobile-workspace-switcher{margin:0 0 18px}nav{display:grid;gap:5px}.sidebar nav{min-height:0;flex:1;overflow-y:auto;padding:0 2px 12px 0;scrollbar-width:thin}.nav{display:flex;gap:13px;align-items:center;border:0;border-radius:11px;padding:12px 14px;background:transparent;color:var(--muted);font-weight:600;text-align:left;transition:.18s}.nav-icon{display:block;flex:0 0 18px;width:19px;height:19px}.nav:hover{background:var(--success-soft);color:var(--ink)}.nav.active{background:var(--pine);color:#fff;box-shadow:0 9px 20px color-mix(in srgb,var(--ink) 13%,transparent)}.nav:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--pine)}.nav.active:focus-visible{box-shadow:inset 0 0 0 2px var(--panel),0 9px 20px color-mix(in srgb,var(--ink) 13%,transparent)}.sidebar-foot{width:42px;height:42px;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:background .16s}.sidebar-foot:hover,.sidebar-foot:focus-visible{background:var(--success-soft)}.sidebar-account{position:relative;margin-top:auto}.account-menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:1;width:224px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 14px 30px color-mix(in srgb,var(--ink) 14%,transparent)}.account-menu-identity{display:flex;align-items:center;gap:10px;padding:7px 8px 10px}.account-menu-identity .avatar{width:32px;height:32px;font-size:12px}.account-menu-identity span,.mobile-more-account>button>span{display:grid;min-width:0;gap:2px}.account-menu-identity b,.mobile-more-account>button>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta)}.account-menu-identity small,.mobile-more-account>button>span small{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em}.account-menu>button,.mobile-more-account>button{display:flex;width:100%;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;font:700 var(--type-meta)/1.2 var(--font-sans, "DM Sans"),sans-serif;text-align:left}.account-menu>button:hover,.account-menu>button:focus-visible,.mobile-more-account>button:hover,.mobile-more-account>button:focus-visible{outline:0;background:var(--sage)}.account-menu>button .nav-icon,.mobile-more-account>button .nav-icon{width:18px;height:18px}.account-menu-divider{display:block;height:1px;margin:6px 2px;background:var(--line)}.account-menu-sign-out,.mobile-more-sign-out{color:var(--danger)!important}.account-menu>p,.mobile-more-account>p{margin:6px 8px 3px;color:var(--danger);font-size:var(--type-meta);line-height:1.35}.settings-panel{margin-top:16px}.settings-sections{display:grid;grid-template-columns:minmax(0,900px);align-items:start;gap:14px;max-width:900px}.settings-section{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 5px 16px color-mix(in srgb,var(--ink) 3%,transparent)}.settings-section.wide{grid-column:auto}.settings-section>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary>span:first-child{display:grid;gap:3px}.settings-section>summary .eyebrow{margin:0}.settings-section>summary b{color:var(--ink);font:700 16px/1.25 var(--font-sans, "DM Sans"),sans-serif}.settings-section>summary small{color:var(--muted);font-size:13px;line-height:1.4}.settings-section-chevron{flex:0 0 auto;color:var(--pine);font-size:22px;line-height:1;transition:transform .18s ease}.settings-section[open]>summary{border-bottom:1px solid var(--line)}.settings-section[open] .settings-section-chevron{transform:rotate(180deg)}.settings-section-content{padding:0 18px 18px}.settings-section-content>.settings-panel{margin:0;padding:20px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}.settings-section-content>.settings-panel+.settings-panel{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.settings-section-content>.settings-panel>.section-title{margin-bottom:10px}.settings-section-content>.settings-panel>.section-title h2{margin:0;color:var(--ink);font:700 14px/1.3 var(--font-sans, "DM Sans"),sans-serif;letter-spacing:0;text-transform:none}.settings-section-content>.settings-panel>.section-title>small,.settings-section-content .mobile-nav-available>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.settings-section-content>.settings-panel>p,.settings-section-content .theme-settings-panel>p,.settings-section-content .week-start-settings-panel>p,.settings-section-content .family-settings-intro,.settings-section-content .data-settings-panel>p,.settings-section-content .danger-settings-panel>p,.settings-section-content .mobile-navigation-settings>p{font-size:13px;line-height:1.5}.settings-section-content .mobile-nav-setting-row>b,.settings-section-content .theme-options b,.settings-section-content .data-backup-actions b,.settings-section-content .account-email-change>div b,.settings-section-content .development-tool b{font-size:14px}.settings-section-content .mobile-nav-setting-row>small,.settings-section-content .data-backup-actions small,.settings-section-content .account-email-change>div small,.settings-section-content .development-tool p{font-size:13px;line-height:1.45}.settings-section-content .mobile-nav-setting-row>small{font-size:11px}.settings-section-content .theme-options small{font-size:12px;line-height:1.4}.settings-section-content .section-title h3,.settings-section-content .family-group-create h3,.settings-section-content .settings-group h3,.settings-section-content .danger-settings-panel>h3{font-size:14px;line-height:1.25}@media(max-width:850px){.settings-sections{grid-template-columns:1fr;gap:10px}.settings-section>summary{padding:14px 15px}.settings-section-content{padding:0 14px 14px}}.theme-settings-panel>p{margin:0;color:var(--muted)}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.theme-options>button{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;gap:3px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.theme-options>button.active{border-color:var(--pine);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 14%,transparent)}.theme-options b{align-self:end}.theme-options small{color:var(--muted)}.week-start-settings-panel>p{margin:0;color:var(--muted)}.week-start-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:560px;margin-top:18px}.week-start-options button{min-height:52px;padding:8px 4px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);font:700 13px/1 var(--font-sans, "DM Sans"),sans-serif;cursor:pointer;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.week-start-options button:hover{border-color:var(--pine);color:var(--pine)}.week-start-options button.active{border-color:var(--pine);background:var(--sage);color:var(--pine);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 14%,transparent)}.theme-swatch{grid-row:1 / -1;display:grid;grid-template-columns:16px 1fr;grid-template-rows:13px 1fr;gap:3px;height:42px;padding:4px;border:1px solid var(--preview-light-line);border-radius:7px;background:var(--preview-light-paper)}.theme-swatch.dark{background:var(--preview-dark-paper);border-color:var(--preview-dark-line)}.theme-swatch i{display:block;border-radius:2px;background:var(--preview-light-panel)}.theme-swatch i:first-child{grid-row:1 / -1;background:var(--preview-light-sage)}.theme-swatch i:nth-child(2){background:var(--preview-light-sage)}.theme-swatch.dark i{background:var(--preview-dark-panel)}.theme-swatch.dark i:first-child{background:var(--preview-dark-pine)}.theme-swatch.dark i:nth-child(2){background:var(--preview-dark-sage)}.family-settings-panel{overflow:hidden}.family-settings-intro{max-width:660px;margin:0;color:var(--muted);line-height:1.55}.family-group-create{display:grid;gap:14px;margin-top:18px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.family-group-create h3,.settings-group h3{margin:2px 0 0;font-size:18px}.settings-group-list{display:grid;gap:14px;margin-top:18px}.settings-group{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.settings-group .section-title{align-items:start;margin-bottom:16px}.settings-group .section-title small{display:block;margin-top:3px;color:var(--muted)}.settings-group-members{display:grid;gap:7px;margin:12px 0}.settings-group-members label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-size:14px}.settings-group-members select{width:auto;min-width:100px;height:36px;padding:0 29px 0 10px;border:1px solid var(--line);border-radius:8px;outline:none;background-color:var(--surface-raised);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.settings-group-members select:focus{border-color:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 12%,transparent)}.family-group-section{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--sage)}.family-group-section>div:first-child{display:grid;gap:3px}.family-group-section>div:first-child b{font-size:14px}.family-group-section>div:first-child small{color:var(--muted);line-height:1.45}.family-group-section .person-link-picker{margin:0}.family-group-section+.family-group-section{margin-top:2px}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .workspace-switcher select,:root[data-theme=dark] .directory-row,:root[data-theme=dark] .gift-prep,:root[data-theme=dark] .settings-group,:root[data-theme=dark] .family-group-create,:root[data-theme=dark] .person-link-results,:root[data-theme=dark] .moment-editor,:root[data-theme=dark] .confirmation-dialog,:root[data-theme=dark] .mobile-more-sheet,:root[data-theme=dark] .meal-day,:root[data-theme=dark] .calendar-event-card,:root[data-theme=dark] .list-card,:root[data-theme=dark] .person-tile{background:var(--panel)}:root[data-theme=dark] input:not([type=checkbox]):not([type=radio]),:root[data-theme=dark] textarea,:root[data-theme=dark] select{border-color:var(--line);background-color:var(--surface-raised);color:var(--ink)}:root[data-theme=dark] .family-group-create{background:var(--panel)}:root[data-theme=dark] .meal-day-date{background:var(--paper)}:root[data-theme=dark] .theme-options>button{background:var(--panel)}:root[data-theme=dark] .list-item,:root[data-theme=dark] .task-row,:root[data-theme=dark] .gift-row,:root[data-theme=dark] .timeline-item,:root[data-theme=dark] .settings-group-members label{border-color:var(--line)}:root[data-theme=dark] .tag-pill,:root[data-theme=dark] .linked-person-chip,:root[data-theme=dark] .category-pill,:root[data-theme=dark] .date-badge{background:var(--pine);border-color:var(--line);color:var(--on-primary)}:root[data-theme=dark] .view-toggle{background:var(--sage);border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .view-toggle button:not(.active){color:var(--muted)}:root[data-theme=dark] .mobile-nav-setting-row,:root[data-theme=dark] .mobile-nav-setting-row button,:root[data-theme=dark] .mobile-nav-available button{border-color:var(--line);background:var(--panel);color:var(--ink)}:root[data-theme=dark] .mobile-nav-setting-row button{color:var(--pine)}:root[data-theme=dark] .mobile-nav-setting-icon{background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .mobile-nav-available>span{color:var(--muted)}:root[data-theme=dark] .briefing-card.warm,:root[data-theme=dark] .briefing-card.cool,:root[data-theme=dark] .briefing-card.household{border-color:var(--line);background:var(--panel)}:root[data-theme=dark] .household-snapshot{border-color:var(--line);background:var(--paper)}:root[data-theme=dark] .household-tile{background:var(--panel);color:var(--ink)}:root[data-theme=dark] .household-tile>span{background:var(--pine);color:var(--pine)}:root[data-theme=dark] .household-tile.lists>span,:root[data-theme=dark] .household-tile.chores>span{background:var(--pine);color:var(--pine)}:root[data-theme=dark] .home-alert{border-color:var(--danger);background:var(--surface-danger)}:root[data-theme=dark] .home-alert>span{background:var(--danger);color:var(--line)}:root[data-theme=dark] .home-alert em{color:var(--line)}:root[data-theme=dark] .home-household-panel{background:var(--paper)}:root[data-theme=dark] .search{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}:root[data-theme=dark] .search input{background:transparent;color:var(--ink)}:root[data-theme=dark] .calendar-command-bar,:root[data-theme=dark] .connections-tools{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}:root[data-theme=dark] .search span{color:var(--muted)}:root[data-theme=dark] .nav-count{background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .nav:hover{background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .sidebar-foot:hover,:root[data-theme=dark] .sidebar-foot:focus-visible{background:var(--pine)}:root[data-theme=dark] .home-moment,:root[data-theme=dark] .calendar-day-view,:root[data-theme=dark] .chores-overview,:root[data-theme=dark] .note-card,:root[data-theme=dark] .note-card.pinned,:root[data-theme=dark] .view-toggle button.active,:root[data-theme=dark] .planning-filter button.active{border-color:var(--line);background:var(--panel);color:var(--ink)}:root[data-theme=dark] .calendar-week-day,:root[data-theme=dark] .calendar-month-grid,:root[data-theme=dark] .calendar-month-grid button,:root[data-theme=dark] .calendar-month-grid>b,:root[data-theme=dark] .calendar-month-grid button.outside{border-color:var(--line);background:var(--panel);color:var(--ink)}:root[data-theme=dark] .calendar-month-grid>b,:root[data-theme=dark] .calendar-month-grid button.outside{background:var(--paper);color:var(--muted)}:root[data-theme=dark] .calendar-month-grid button.selected,:root[data-theme=dark] .calendar-event-card.calendar-meals,:root[data-theme=dark] .calendar-event-card.has-conflict{background:var(--pine)}:root[data-theme=dark] .profile-masthead{border-color:var(--line);background:linear-gradient(110deg,var(--paper) 0%,var(--panel) 72%)}:root[data-theme=dark] .profile-section-rail,:root[data-theme=dark] .profile-section-mobile{border-color:var(--line);background:var(--paper)}:root[data-theme=dark] .profile-section-rail button:hover{background:var(--surface-raised);color:var(--ink)}:root[data-theme=dark] .profile-masthead .tag-list span,:root[data-theme=dark] .identity-categories .category-pill:not(.selected){border-color:var(--line);background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .profile-back-control,:root[data-theme=dark] .profile-header-actions .icon-button,:root[data-theme=dark] .profile-header-actions .profile-actions-toggle{border-color:var(--line);background:var(--paper);color:var(--pine)}:root[data-theme=dark] .card-row-actions .pin-toggle:not(.active),:root[data-theme=dark] .card-drag-handle,:root[data-theme=dark] .card-edit-button,:root[data-theme=dark] .card-more-button{border-color:var(--line);background:var(--paper);color:var(--pine)}:root[data-theme=dark] .card-row-actions .pin-toggle:not(.active):hover{border-color:var(--line);background:var(--success-soft);color:var(--pine)}:root[data-theme=dark] .card-drag-handle:hover,:root[data-theme=dark] .card-edit-button:hover,:root[data-theme=dark] .card-more-button:hover{border-color:var(--pine);background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .card-actions-menu{border-color:var(--line);background:var(--surface-raised)}:root[data-theme=dark] .card-actions-menu button:hover{background:var(--soft-coral)}:root[data-theme=dark] .avatar,:root[data-theme=dark] .graph-node-name,:root[data-theme=dark] .delete-completed{background:var(--pine);color:var(--on-primary)}:root[data-theme=dark] .recipe-editor-head,:root[data-theme=dark] .recipe-field-section,:root[data-theme=dark] .editor-checklist-row,:root[data-theme=dark] .list-target-option,:root[data-theme=dark] .meal-picker-options button{border-color:var(--line);background:var(--surface-raised);color:var(--ink)}:root[data-theme=dark] .editor-actions{border-color:var(--line);background:var(--panel)}.chore-history{display:grid;gap:5px;padding:12px 0 2px;color:var(--muted)}.chore-history>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.chore-add-option{width:fit-content;margin:0;padding:0;border:0;background:transparent;color:var(--pine);font:700 var(--type-meta)/1.2 var(--font-sans, "DM Sans"),sans-serif;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rotation-settings{display:grid;gap:12px;margin:2px 0 4px}.schedule-picker{display:grid;gap:10px}.schedule-picker .moment-date{margin:0}.schedule-picker .moment-date label:last-child input{width:100%;box-sizing:border-box}.schedule-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.schedule-weekdays button{min-height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.schedule-weekdays button.active{border-color:var(--pine);background:var(--success-soft);color:var(--pine)}.schedule-month-day{max-width:180px}:root[data-theme=dark] .schedule-weekdays button{background:var(--paper);color:var(--ink)}:root[data-theme=dark] .schedule-weekdays button.active{border-color:var(--line);background:var(--pine);color:var(--sage)}.chores-overview{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;margin:18px 0;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.chores-progress{display:grid;align-content:start;gap:2px}.chores-progress p{margin:0}.chores-progress strong{font-size:30px;line-height:1}.chores-progress strong small{color:var(--muted);font-size:16px}.chores-progress>span{color:var(--muted);font-size:12px}.chore-member-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;align-items:center}.chore-member-progress>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}.chore-member-progress span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.chore-member-progress b{color:var(--muted);font-size:12px}.chore-member-progress i{grid-column:1 / -1;display:block;height:5px;overflow:hidden;border-radius:99px;background:var(--line)}.chore-member-progress em{display:block;height:100%;border-radius:inherit;background:var(--pine)}.chores-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:var(--space-page-flow)}.chores-toolbar .search{flex:1}.chores-filter-groups{display:flex;align-items:center;gap:8px}.chores-filter-groups .global-filter{margin:0}.chore-directory-row.is-due{border-left:3px solid var(--muted)}@media(max-width:700px){.chores-overview{grid-template-columns:1fr;gap:15px}.chores-toolbar{align-items:stretch;flex-direction:column;gap:var(--space-control-stack);margin-bottom:0}.chores-toolbar .view-toggle{align-self:flex-start}}.calendar-head{margin-bottom:20px}.calendar-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.calendar-workbench>*{min-width:0;max-width:100%;box-sizing:border-box}.calendar-command-bar{display:grid;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 9px 24px color-mix(in srgb,var(--ink) 3%,transparent)}.calendar-view-toolbar{display:flex;min-width:0;justify-content:space-between;gap:16px;align-items:center}.calendar-toolbar-actions{display:flex;min-width:0;align-items:center;gap:8px}.calendar-search-toggle{display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--pine);font-size:20px;line-height:1;cursor:pointer}.calendar-search-toggle:hover{border-color:var(--pine);background:var(--sage)}.calendar-search{flex:none;width:min(280px,24vw);min-width:0}.calendar-search button{width:28px;height:28px;margin-right:4px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:21px;line-height:1;cursor:pointer}.calendar-search button:hover{background:var(--sage);color:var(--pine)}.calendar-date-controls{display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.calendar-period-label{min-width:142px;min-height:34px;padding:4px 10px;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);font:700 var(--type-title)/1 var(--font-sans, "DM Sans"),sans-serif;text-align:center;cursor:pointer}.calendar-period-label:hover{background:var(--sage);color:var(--pine)}.calendar-date-controls .quiet-button{width:32px;min-width:32px;min-height:34px;margin:0;padding:4px 7px;border-radius:0}.calendar-canvas-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:3px 2px 0}.calendar-canvas-head>p{margin:0;color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.calendar-mobile-week-days{display:none}.calendar-kind-filter{display:inline-flex;width:fit-content}.calendar-day-view{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 9px 24px color-mix(in srgb,var(--ink) 3%,transparent)}.app-shell .calendar-day-view h2{margin:0 0 24px;font-size:24px}.calendar-entry-stack{display:grid;gap:8px}.calendar-event-card{display:grid;gap:3px;width:100%;padding:14px 15px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;background:var(--surface-raised);text-align:left;color:var(--ink);cursor:pointer;transition:.16s ease}.calendar-entry-main{width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.calendar-entry-main>b{font-size:var(--type-title)}.calendar-entry-context{color:var(--muted);font-size:var(--type-meta);line-height:1.45}.calendar-entry-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.calendar-event-card:hover{border-color:var(--muted);box-shadow:0 6px 16px color-mix(in srgb,var(--ink) 5%,transparent);transform:translateY(-1px)}.calendar-event-card.calendar-chores{border-left-color:var(--line);background:var(--panel)}.calendar-event-card.calendar-meals{border-left-color:var(--coral);background:var(--paper)}.calendar-event-card small,.calendar-empty-day{color:var(--muted)}.calendar-week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow-x:auto}.calendar-week-day{min-width:130px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}.calendar-week-day.is-today{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine)}.calendar-week-day>b{display:block;min-height:1.2em;margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-entry-stack.compact .calendar-event-card{padding:8px;font-size:12px}.calendar-event-card.has-conflict{border-left-color:var(--coral);background:var(--paper)}.calendar-event-card>.calendar-entry-main>b{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-event-conflict{padding:2px 5px;border-radius:5px;background:var(--line);color:var(--danger);font-size:10px;font-weight:750}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface-raised)}.calendar-month-grid>b{padding:9px;background:var(--paper);color:var(--muted);font-size:11px;text-align:center}.calendar-month-grid button{min-height:98px;display:grid;align-content:start;gap:3px;padding:7px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-raised);text-align:left;cursor:pointer}.calendar-month-grid button.selected{background:var(--success-soft)}.calendar-month-grid button.outside{color:var(--muted);background:var(--paper)}.calendar-month-grid small{overflow:hidden;color:var(--pine);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.calendar-month-grid em{color:var(--muted);font-size:10px;font-style:normal}.meal-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto}.meal-day{display:grid;align-content:start;gap:8px;min-height:210px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised)}.meal-day>small,.meal-day>span{color:var(--muted)}.meal-day select{width:100%}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.recipe-card{display:flex;flex-direction:column;gap:13px}.recipe-card h2,.recipe-card p{margin:0}.recipe-ingredients{display:flex;flex-wrap:wrap;gap:6px}.recipe-ingredients span{padding:5px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:12px}.recipe-card{align-content:start;min-height:0;padding:22px;cursor:pointer}.recipe-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px}.recipe-card>h2{margin:0}.recipe-card>p{margin:-6px 0 0;color:var(--muted);line-height:1.45}.recipe-card .recipe-ingredients,.recipe-card .recipe-instructions{display:grid;gap:8px;margin:4px 0 0;color:var(--ink);line-height:1.4}.recipe-card .recipe-ingredients{padding-left:26px;list-style:disc}.recipe-card .recipe-ingredients li::marker{color:var(--pine)}.recipe-card .recipe-ingredients li{position:relative}.recipe-card .recipe-ingredients li>span{padding:0;border-radius:0;background:transparent;color:inherit;font:inherit}.recipe-card .recipe-instructions{padding-left:26px}.recipe-card .recipe-instructions li::marker{color:var(--pine);font-weight:700}.recipe-card-head{position:relative;display:flex;align-items:flex-start}.recipe-card-head>div{display:grid;gap:4px;min-width:0}.recipe-card>section,.recipe-card-preview>section{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.recipe-card>section .eyebrow,.recipe-card-preview>section .eyebrow{margin:0}.recipe-card .quiet-button{justify-self:start;margin-top:2px}.moment-editor .recipe-fields{display:grid;gap:14px}.recipe-field-section{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.recipe-field-section>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.recipe-field-section textarea{min-height:112px;margin:0;background:var(--surface-raised)}.recipe-editor{width:min(680px,calc(100vw - 28px));max-height:min(850px,calc(100vh - 28px));overflow:auto}.recipe-field-section .editor-checklist-row{grid-template-columns:24px 84px 76px minmax(120px,1fr) 28px}.recipe-field-section[data-recipe-section=instructions] .editor-checklist-row{grid-template-columns:24px 24px minmax(0,1fr) 28px}.recipe-step-number{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--sage-pale);color:var(--pine);font-size:12px;font-weight:700}.recipe-field-section .editor-checklist-row input{min-width:0}@media(max-width:600px){.recipe-editor{width:calc(100vw - 20px)}.recipe-field-section{padding:10px}.recipe-field-section .editor-checklist-row{grid-template-columns:22px 62px 58px minmax(85px,1fr) 24px;gap:5px}.recipe-field-section .editor-checklist-row input{padding-inline:7px;font-size:13px}}.meals-head{margin-bottom:12px}.meals-subhead{display:flex;align-items:center;justify-content:flex-start;min-height:34px;margin:10px 0 16px}.meal-week-navigation{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);line-height:1}.meal-week-navigation .quiet-button{width:32px;min-width:32px;min-height:34px;margin:0;padding:4px 7px;border-radius:0}.meal-week-navigation .meal-week-range{display:flex;align-items:center;justify-content:center;min-width:142px;min-height:34px;margin:0;padding:4px 10px;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);font:700 var(--type-title)/1 var(--font-sans, "DM Sans"),sans-serif;cursor:pointer}.meal-week-navigation .meal-week-range:hover{background:var(--sage);color:var(--pine)}.meal-recipe-count{margin:0;color:var(--muted);font-size:var(--type-meta);font-weight:700}.meal-planner{display:grid;gap:16px}.meal-week-mobile{display:none}.meal-plan-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:4px 2px 0}.meal-plan-intro p{max-width:390px;margin:0;color:var(--muted);line-height:1.5}.meal-plan-intro h2{margin:3px 0 0;font-size:21px}.meal-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:visible}.meal-day{min-height:146px;padding:0;overflow:hidden;border-radius:15px;background:var(--surface-raised);box-shadow:0 7px 20px color-mix(in srgb,var(--ink) 4%,transparent)}.meal-day.is-today{border-color:var(--muted);box-shadow:0 7px 22px color-mix(in srgb,var(--success) 14%,transparent)}.meal-day-date{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px;padding:13px 14px 11px;background:var(--paper);border-bottom:1px solid var(--line)}.meal-day.is-today .meal-day-date{background:var(--success-soft)}.meal-day-date small{grid-column:1 / -1;color:var(--pine);font-size:10px;font-weight:800;letter-spacing:.1em}.meal-day-date b{font-size:27px;line-height:1;color:var(--ink)}.meal-day-date span{color:var(--muted);font-size:12px}.meal-choice{display:grid;align-content:start;gap:7px;min-width:0;min-height:78px;padding:14px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.meal-choice:hover{background:var(--paper)}.meal-choice>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.meal-choice b{overflow:hidden;color:var(--pine);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.meal-choice.selected b{color:var(--ink)}.meal-picker{width:min(440px,calc(100vw - 28px))}.meal-picker-options{display:grid;gap:7px}.meal-picker-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.meal-picker-options button:hover,.meal-picker-options button.selected{border-color:var(--muted);background:var(--paper)}.meal-picker-options small{color:var(--pine);font-size:var(--type-meta)}.meal-label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.meal-day select{min-height:40px;border-radius:9px;font-size:13px}.meal-list-button,.meal-add-button{min-height:32px;padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-size:12px;font-weight:750;text-align:left;cursor:pointer}.meal-list-button:hover,.meal-add-button:hover{text-decoration:underline}.recipes-library{display:grid;gap:16px}.recipe-tools{margin-bottom:0}.recipe-search{max-width:none}.list-target-picker{width:min(440px,calc(100vw - 28px))}.recipe-list-overlay{z-index:61}.list-target-heading{margin:2px 0 8px}.list-target-options{display:grid;gap:7px}.list-target-new-list{margin-top:18px}.list-target-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.list-target-option:hover{border-color:var(--muted);background:var(--paper)}.list-target-option small{color:var(--muted);font-size:var(--type-meta);font-weight:600}.lists-grid>.empty-state,.notes-grid>.empty-state{grid-column:1 / -1}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.recipe-card{gap:15px;height:600px;padding:0;overflow:hidden;border-radius:16px}.recipe-card>:not(img):not(.recipe-card-art){margin-inline:20px}.recipe-card>section,.recipe-card-preview>section{padding-top:14px}.recipe-card>section .eyebrow em,.recipe-card-preview>section .eyebrow em{margin-left:4px;color:var(--muted);font-style:normal}.recipe-card img,.recipe-card-art{width:100%;height:120px;border-radius:0;object-fit:cover}.recipe-card-art{display:grid;place-items:center;background:linear-gradient(135deg,var(--sage),var(--surface-danger));color:var(--muted);font-size:44px}.recipe-card-head{margin-top:3px;align-items:flex-start}.recipe-card-title{flex:1;min-width:0}.recipe-card-title .eyebrow{margin-bottom:4px}.recipe-card-head h2{font-size:20px;line-height:1.15}.recipe-card .card-edit-button{position:absolute;top:0;right:0;width:24px;height:24px;min-height:24px;padding:0;font-size:13px;line-height:1}.recipe-card .card-more-button{width:30px;height:30px}.recipe-meta{display:flex;flex-wrap:wrap;gap:6px}.recipe-meta span{padding:4px 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:700}.recipe-card .recipe-ingredients,.recipe-card .recipe-instructions{gap:7px;font-size:13px}.recipe-card .recipe-instructions{min-height:56px}.recipe-card-preview{position:relative;display:grid;flex:1;min-height:0;align-content:start;gap:15px;overflow:hidden}.recipe-card-preview.has-more:after{position:absolute;right:0;bottom:0;left:0;height:68px;background:linear-gradient(transparent,var(--panel) 68%);content:"";pointer-events:none}.recipe-card-more{position:absolute;z-index:1;right:0;bottom:4px;left:0;color:var(--muted);font-size:12px;font-style:italic;font-weight:700;text-align:center;pointer-events:none}.recipe-card-notes{margin:4px 0 0;color:var(--ink);line-height:1.45;white-space:pre-wrap}.recipe-more{color:var(--muted);font-size:12px;font-style:italic}.recipe-card .recipe-instructions .recipe-more{margin-left:-26px;list-style:none}.recipe-card .recipe-ingredients .recipe-more{margin-left:-26px;padding-right:0;list-style:none}.recipe-more button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:700;cursor:pointer;text-align:left}.recipe-more button:hover{text-decoration:underline}.recipe-detail{width:min(680px,100%)}.recipe-detail>img,.recipe-detail>.recipe-card-art{width:100%;aspect-ratio:4 / 3;max-height:300px;margin:18px 0;border-radius:12px;object-fit:cover}.recipe-detail>section{margin-top:22px}.recipe-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-detail-section-head .eyebrow{margin:0}.recipe-detail-section-head .quiet-button{margin:0;padding:3px 0;font-size:var(--type-meta)}.recipe-detail-list{display:grid;gap:9px;margin:8px 0 0;padding-left:22px;line-height:1.45}.recipe-detail-ingredients li>div{display:flex;align-items:center;gap:10px}.recipe-detail-ingredients li>div>span{flex:1}.recipe-detail-ingredient-add{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--success);font:700 16px/1 inherit;cursor:pointer}.recipe-detail-ingredient-add:hover{border-color:var(--line);background:var(--success-soft);color:var(--pine)}.recipe-detail-method li::marker{color:var(--pine);font-weight:700}.recipe-detail-notes{margin:8px 0 0;color:var(--ink);line-height:1.55;white-space:pre-wrap}.recipe-card-footer{margin-top:auto;margin-bottom:20px}.recipe-card-footer{text-align:center}.recipe-card-footer .quiet-button{margin:0}.recipe-empty{display:flex;align-items:center;gap:22px;max-width:680px;padding:28px}.recipe-empty .recipe-card-art{width:104px;flex:0 0 104px;aspect-ratio:1;border-radius:14px}.recipe-empty h2{margin:4px 0 8px}.recipe-empty p:not(.eyebrow){max-width:420px;margin:0 0 16px;color:var(--muted);line-height:1.5}.recipe-editor{width:min(760px,calc(100vw - 28px));padding:0}.recipe-editor-head{display:flex;justify-content:space-between;gap:20px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:var(--paper)}.recipe-editor-head h2{margin:3px 0 5px}.recipe-editor-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.recipe-editor>label,.recipe-editor>div:not(.recipe-editor-head):not(.editor-actions):not(.recipe-image-upload){margin-inline:26px}.recipe-basics{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(80px,1fr));gap:10px;margin-top:18px}.recipe-basics label,.recipe-image-field,.recipe-notes-field{margin-top:0}.recipe-basics input{padding-inline:9px}.recipe-tags-field{display:grid;gap:7px}.recipe-tags-field>label{margin-top:0}.recipe-field-section{margin-top:16px;padding:15px;background:var(--panel)}.recipe-notes-field{margin-bottom:18px}.recipe-notes-field textarea{min-height:76px}.recipe-editor .recipe-image-field,.recipe-editor .recipe-notes-field,.recipe-tags-field>label{grid-template-columns:max-content 1fr;align-items:baseline}.recipe-editor .recipe-image-field>em,.recipe-editor .recipe-notes-field>em,.recipe-tags-field>label>em{grid-column:2;grid-row:1}.recipe-editor .recipe-image-field>input,.recipe-editor .recipe-notes-field>textarea{grid-column:1 / -1}.recipe-image-upload{display:grid;gap:12px;margin:18px 26px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.recipe-image-add{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:0 10px;width:100%;min-height:68px;padding:12px;border:1px dashed var(--line);border-radius:9px;background:var(--surface-raised);color:var(--pine);text-align:left;cursor:pointer}.recipe-image-add>span{grid-row:1 / span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sage);font-size:20px}.recipe-image-add small{color:var(--muted);font-size:var(--type-meta)}.recipe-image-preview{display:flex;gap:12px;align-items:center}.recipe-image-preview img{width:100%;height:132px;border-radius:8px;object-fit:cover}.recipe-image-actions{display:flex;align-items:center;gap:14px}.recipe-image-actions .quiet-button,.recipe-image-actions .delete-link{margin:0;padding:4px 0;font-size:var(--type-meta);line-height:1.2}.recipe-image-error{color:var(--danger);font-size:var(--type-meta)}.recipe-editor .editor-actions{position:sticky;right:0;bottom:0;left:0;z-index:2;margin:18px 0 0;padding:14px 26px;border-top:1px solid var(--line);background:var(--surface-raised);box-shadow:0 -10px 18px color-mix(in srgb,var(--ink) 5%,transparent)}@media(max-width:760px){.meal-week{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-plan-intro{align-items:start;flex-direction:column;gap:6px}.recipe-editor-head{padding:20px 18px 16px}.recipe-editor>label,.recipe-editor>div:not(.recipe-editor-head):not(.editor-actions){margin-inline:18px}.recipe-basics{grid-template-columns:repeat(2,1fr)}.recipe-title-field{grid-column:1 / -1}}@media(max-width:600px){.meals-head .primary-button{white-space:nowrap}.meals-subhead{margin-bottom:16px}.meal-week-range,.meal-recipe-count{font-size:11px;text-align:right}.meal-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.meal-day{min-height:104px}.meal-day-date{padding:10px 11px 8px}.meal-day-date b{font-size:23px}.meal-choice{min-height:52px;padding:10px 11px}.meal-choice b{font-size:13px}.recipe-grid{grid-template-columns:1fr;gap:14px}.recipe-card>:not(img):not(.recipe-card-art){margin-inline:16px}.recipe-card{height:auto}.recipe-card-preview{max-height:260px}.recipe-card-footer{margin-bottom:16px}.recipe-empty{align-items:start;padding:20px}.recipe-empty .recipe-card-art{width:58px;flex-basis:58px;font-size:28px;border-radius:12px}.recipe-editor{width:calc(100vw - 16px)}.recipe-editor-head{padding:18px 16px 14px}.recipe-editor>label,.recipe-editor>div:not(.recipe-editor-head):not(.editor-actions){margin-inline:16px}.recipe-basics{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-field-section .editor-checklist-row{grid-template-columns:22px 52px 46px minmax(0,1fr) 24px}}.household-snapshot{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.household-snapshot-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.household-snapshot-head h2{margin:3px 0 0;font-size:20px}.household-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.household-tile{display:flex;align-items:flex-start;gap:11px;min-height:94px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.household-tile>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--success-soft);color:var(--pine);font-weight:800}.household-tile.lists>span{background:var(--surface-danger);color:var(--danger)}.household-tile.chores>span{background:var(--info-soft);color:var(--info)}.household-tile div{display:grid;gap:4px;min-width:0}.household-tile small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}.household-tile b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.household-tile em{color:var(--pine);font-size:12px;font-style:normal;font-weight:700}@media(max-width:700px){.household-snapshot{margin:18px 0;padding:16px}.household-snapshot-grid{grid-template-columns:1fr}.household-tile{min-height:72px}}.event-date-time{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.8fr));margin-top:14px}.event-date-time label{margin-top:0;grid-template-rows:18px 42px}.event-editor label>span{display:flex;align-items:baseline;gap:4px}.event-editor label em{color:var(--muted);font-size:var(--type-micro);font-style:normal;letter-spacing:.04em}.event-date-time label>span{height:18px}.editor-help{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.4}@media(max-width:600px){.event-date-time{grid-template-columns:1fr}}.event-date-time input{min-width:0}.chore-directory-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.chore-read-detail{display:grid;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.chore-read-detail:not(.has-notes):not(.has-steps){gap:0;padding-top:0;border-top:0}.chore-read-notes{margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.chore-steps{display:grid;gap:6px;padding:2px 0}.chore-steps .list-item{width:100%;padding:3px 0}.chore-steps .list-item:hover{color:var(--pine)}.chore-paused{color:var(--muted);font-weight:700}.chore-exceptions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.chore-exceptions .quiet-button{margin:0;padding:0;font-size:var(--type-meta)}.chore-exceptions label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--type-meta);font-weight:700}.chore-exceptions input,.chore-exceptions select{min-height:30px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font:inherit}.rotation-order{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.rotation-order>span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.rotation-order>span em{font-style:normal;font-weight:600}.rotation-order>div{display:grid;grid-template-columns:22px minmax(0,1fr) 28px 28px;align-items:center;gap:6px}.rotation-order>div>b{color:var(--pine);font-size:var(--type-meta)}.rotation-order>div>span{display:flex;min-width:0;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-meta);font-weight:700}.rotation-order>div>span em{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:var(--sage);color:var(--pine);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rotation-order button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--pine);cursor:pointer}.rotation-order button:disabled{cursor:default;opacity:.38}.rotation-toggle{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer}.rotation-toggle>span{position:relative;flex:0 0 34px;height:20px;border-radius:999px;background:var(--line);transition:.18s}.rotation-toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--surface-raised);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 21%,transparent);transition:.18s}.rotation-toggle.active{border-color:var(--pine);background:var(--success-soft)}.rotation-toggle.active>span{background:var(--pine)}.rotation-toggle.active>span:after{transform:translate(14px)}.rotation-toggle b,.rotation-toggle small{display:block}.rotation-toggle small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.4}.rotation-toggle:disabled{cursor:not-allowed;opacity:.58}@media(max-width:580px){.moment-editor.recipe-editor{padding:0}.recipe-editor .editor-actions{right:0;bottom:0;left:0;margin:18px 0 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.calendar-workbench{gap:12px}.calendar-command-bar{grid-template-columns:1fr;padding:12px}.calendar-view-toolbar{align-items:stretch;flex-direction:column;gap:10px}.calendar-view-toolbar .view-toggle{align-self:flex-start}.calendar-toolbar-actions{justify-content:flex-start}.calendar-toolbar-actions.search-open{align-items:stretch;flex-direction:column}.calendar-toolbar-actions.search-open .calendar-date-controls{align-self:flex-start}.calendar-search{width:100%}.calendar-date-controls{min-width:0}.calendar-period-label{min-width:116px}.calendar-canvas-head{align-items:flex-start;flex-direction:column;gap:8px}.calendar-canvas-head>.horizontal-scroll-cue{width:100%}.calendar-kind-filter{max-width:100%;overflow-x:auto;scrollbar-width:none}.calendar-kind-filter::-webkit-scrollbar{display:none}.calendar-day-view{padding:16px;border-radius:14px}.calendar-mobile-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.calendar-mobile-week-days button{display:grid;place-items:center;gap:3px;min-width:0;min-height:48px;padding:5px 2px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.calendar-mobile-week-days button span{font-size:10px;font-weight:750}.calendar-mobile-week-days button b{color:var(--ink);font-size:14px;line-height:1}.calendar-mobile-week-days button.is-today,.calendar-mobile-week-days button.is-today b{color:var(--pine)}.calendar-mobile-week-days button.is-selected{border-color:var(--pine);background:var(--sage)}.calendar-week-view{display:block}.calendar-week-day{display:none;min-width:0}.calendar-week-day.is-selected{display:block}.calendar-week-day .calendar-event-card{font-size:14px}.calendar-month-grid>b{padding:6px 2px;font-size:9px}.calendar-month-grid button{min-height:58px;padding:4px}.calendar-month-grid small{display:none}.calendar-month-grid em{font-size:9px}}.mobile-navigation-settings>p{margin:0 0 14px;color:var(--muted);font-size:var(--type-body)}.mobile-navigation-settings .section-title>small{color:var(--muted);font-size:var(--type-meta)}.mobile-nav-selected{display:grid;gap:7px}.mobile-nav-setting-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.mobile-nav-setting-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--sage);color:var(--pine)}.mobile-nav-setting-icon .nav-icon{width:16px;height:16px}.mobile-nav-setting-row>small{color:var(--muted);font-size:var(--type-meta)}.mobile-nav-setting-row>div{display:flex;gap:4px}.mobile-nav-setting-row button{display:grid;width:28px;height:28px;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--pine);font:700 15px/1 DM Sans,sans-serif;cursor:pointer}.mobile-nav-setting-row button:disabled{opacity:.35;cursor:default}.mobile-nav-setting-row .mobile-nav-remove{border-color:var(--line);color:var(--danger)}.mobile-nav-available{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px}.mobile-nav-available>span{margin-right:2px;color:var(--muted);font-size:var(--type-label);font-weight:700;letter-spacing:.12em}.mobile-nav-available button{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:700 var(--type-meta)/1 "DM Sans",sans-serif;cursor:pointer}.mobile-nav-available .nav-icon{width:15px;height:15px;color:var(--pine)}.mobile-nav-available button:disabled{opacity:.42;cursor:default}.calendar-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.calendar-settings label,.settings-occasion{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.calendar-settings input{accent-color:var(--pine)}.calendar-settings span,.settings-occasion span{display:grid;gap:3px}.calendar-settings small,.settings-occasion small{color:var(--muted);font-size:var(--type-meta)}.custom-occasion-fields{display:grid;grid-template-columns:1fr 130px 70px auto;gap:8px}.custom-occasion-fields input,.custom-occasion-fields select{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);font:inherit}.settings-occasion{justify-content:space-between;margin-top:9px}.time-travel-panel>p{margin:0 0 14px;color:var(--muted);font-size:var(--type-body)}.time-travel-panel .quiet-button:disabled{color:var(--muted);cursor:default}.time-travel-date{display:flex;align-items:baseline;gap:9px;margin-bottom:12px}.time-travel-date b{font-size:var(--type-body)}.time-travel-date small{color:var(--muted);font-size:var(--type-meta)}.time-travel-wheel{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.time-travel-wheel button{flex:0 0 auto;min-width:38px;min-height:34px;padding:6px 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:var(--type-meta);font-weight:700;cursor:pointer}.time-travel-wheel button:hover{color:var(--pine);background:var(--sage)}.time-travel-wheel button.active{min-width:70px;background:var(--surface-raised);color:var(--pine);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 8%,transparent)}.nav-count{display:grid;min-width:20px;height:20px;margin-left:auto;padding:0 6px;place-items:center;border-radius:999px;background:var(--sage);color:var(--pine);font-size:var(--type-label);font-variant-numeric:tabular-nums;font-weight:800}.nav.active .nav-count{background:color-mix(in srgb,var(--panel) 15%,transparent);color:var(--on-primary)}.connections-tools{display:flex;align-items:center;gap:14px;margin:0 0 18px}.connections-tools .search{flex:1;max-width:360px}.connections-person-picker{position:relative;flex:1;max-width:360px}.connection-person-picker{margin-top:0}.connection-type-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.connection-type-form label{margin-top:0}.connection-type-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:8px}@media(max-width:500px){.connection-type-form{grid-template-columns:1fr}}.connection-canvas-card{overflow:hidden}.connection-canvas-card.viewport-bounded{display:flex;flex-direction:column}.connection-canvas-card.viewport-bounded>.family-tree,.connection-canvas-card.viewport-bounded>.connection-canvas{flex:1;min-height:0}.connection-canvas-card.viewport-bounded>.family-tree{overflow:auto}.connection-canvas-card.viewport-bounded>.connection-canvas{display:flex;align-items:center;justify-content:center}.connection-canvas-card.viewport-bounded>.connection-canvas svg{flex:0 0 auto;width:100%;height:100%;min-height:0}.connection-canvas{overflow:auto;min-height:420px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 50%,var(--panel) 0,var(--paper) 48%,var(--success-soft) 100%)}.connection-canvas svg{display:block;width:100%;min-width:680px;min-height:420px}.graph-edge{stroke:var(--muted);stroke-width:1.5;stroke-linecap:round}.graph-label{fill:var(--muted);font:600 9px DM Sans;text-anchor:middle;paint-order:stroke;stroke:var(--paper);stroke-width:5px}.graph-node{cursor:pointer}.graph-node circle{fill:var(--panel);stroke:var(--muted);stroke-width:2;transition:.18s;filter:drop-shadow(0 4px 7px color-mix(in srgb,var(--pine) 9%,transparent))}.graph-node.external circle{fill:var(--paper);stroke-dasharray:4 3}.graph-node.focused circle{fill:var(--pine);stroke:var(--pine);r:38px}.graph-node:hover circle{fill:var(--sage);stroke:var(--pine)}.graph-node text{fill:var(--pine);font:700 11px DM Sans;text-anchor:middle;pointer-events:none}.graph-node.focused text,.graph-node:hover text{fill:var(--panel)}.graph-node-name{color:var(--ink);font:600 11px DM Sans;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:8px;background:color-mix(in srgb,var(--panel) 85%,transparent)}.family-tree{display:block;min-width:0;min-height:430px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 50%,var(--panel) 0,var(--paper) 48%,var(--success-soft) 100%);overflow-x:auto}.family-tree svg{display:block;width:auto;min-width:680px;height:auto;margin-inline:auto}.family-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.chart-toolbar-controls{display:inline-flex;align-items:center;gap:10px}.family-tree-toggle{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--muted);font:700 12px DM Sans;cursor:pointer}.family-tree-toggle>span{position:relative;width:30px;height:18px;border-radius:999px;background:var(--line);transition:.18s}.family-tree-toggle>span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--surface-raised);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 21%,transparent);content:"";transition:.18s}.family-tree-toggle.active{color:var(--pine)}.family-tree-toggle.active>span{background:var(--pine)}.family-tree-toggle.active>span:after{transform:translate(12px)}.connection-map-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.tree-zoom-controls{display:inline-flex;align-items:center;gap:6px}.tree-fit{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--pine);font:700 11px DM Sans;cursor:pointer}.tree-fit:hover{background:var(--success-soft)}.graph-zoom{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}.graph-zoom button{width:28px;height:28px;border:0;background:transparent;color:var(--pine);font:700 17px/1 DM Sans;cursor:pointer}.graph-zoom button:hover:not(:disabled){background:var(--success-soft)}.graph-zoom button:disabled{color:var(--line);cursor:default}.graph-zoom span{min-width:40px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.tree-line{stroke:var(--muted);stroke-width:2;stroke-linecap:round}.tree-line.union{stroke-width:2.5}.tree-svg-node{cursor:pointer}.tree-svg-node rect{fill:var(--panel);stroke:var(--line);stroke-width:1.2;filter:drop-shadow(0 3px 7px color-mix(in srgb,var(--pine) 8%,transparent))}.tree-svg-node circle{fill:var(--sage)}.tree-svg-node:hover rect{fill:var(--paper);stroke:var(--pine)}.tree-svg-node.focused rect{fill:var(--pine);stroke:var(--pine)}.tree-svg-node.focused circle{fill:color-mix(in srgb,var(--panel) 14%,transparent)}.tree-svg-initials,.tree-svg-name,.tree-svg-label{text-anchor:middle;pointer-events:none}.tree-svg-initials{fill:var(--pine);font:800 9px DM Sans}.tree-svg-name{fill:var(--ink);font:700 11px DM Sans}.tree-svg-label{fill:var(--muted);font:500 9px DM Sans}.tree-svg-node.focused .tree-svg-initials,.tree-svg-node.focused .tree-svg-name{fill:var(--panel)}.tree-svg-node.focused .tree-svg-label{fill:color-mix(in srgb,var(--panel) 75%,transparent)}.tree-generation{display:grid;justify-items:center;min-width:max-content}.tree-generation>p,.tree-siblings>p{margin:0 0 8px;color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tree-generation>div,.tree-focus-row,.tree-siblings>div{display:flex;align-items:center;justify-content:center;gap:16px}.tree-link{width:2px;height:38px;background:var(--muted)}.tree-link-down:after{display:block;width:8px;height:8px;margin:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);content:"";transform:translateY(27px) rotate(45deg)}.tree-household{display:grid;justify-items:center;gap:16px;min-width:max-content}.tree-siblings{display:grid;justify-items:center}.tree-focus-row{position:relative}.family-tree-person{display:grid;justify-items:center;gap:3px;width:126px;min-height:114px;padding:12px 9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);font:inherit;text-align:center;cursor:pointer;box-shadow:0 3px 9px color-mix(in srgb,var(--pine) 6%,transparent)}.family-tree-person:hover{border-color:var(--pine);background:var(--paper)}.family-tree-person.focused{border-color:var(--pine);background:var(--pine);color:var(--on-primary);box-shadow:0 5px 14px color-mix(in srgb,var(--ink) 14%,transparent)}.family-tree-person>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--sage);color:var(--pine);font-size:10px;font-weight:800}.family-tree-person.focused>span{background:color-mix(in srgb,var(--panel) 14%,transparent);color:var(--on-primary)}.family-tree-person b{font-size:13px;line-height:1.2}.family-tree-person small{color:var(--muted);font-size:11px}.family-tree-person.focused small{color:var(--on-primary)}.tree-empty{align-self:center;margin:auto;color:var(--muted)}.graph-hint{margin:12px 0 0;color:var(--muted);font-size:12px}.external-node-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--paper);color:var(--muted);font-size:12px}.external-node-action .quiet-button{margin:0;padding:0}.graph-filter{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}@media(max-width:700px){.connections-tools{align-items:stretch;flex-direction:column}.connections-tools .search{max-width:none}.family-tree-toolbar,.connection-map-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px}.connections-person-picker{flex-basis:100%;max-width:none}.family-tree{min-height:0;justify-items:start;padding:6px 0 14px}.family-tree svg{min-width:680px}}.page-head.connections-page-head.compact-landscape{display:none}.connections-page-tabs.compact-landscape{margin-bottom:10px}.connection-canvas-card.compact-landscape{padding:12px}.connection-canvas-card.compact-landscape .family-tree-toolbar,.connection-canvas-card.compact-landscape .connection-map-toolbar{margin-bottom:8px}.connection-canvas-card.compact-landscape .connections-person-picker{max-width:300px}.connection-canvas-card.compact-landscape .family-tree,.connection-canvas-card.compact-landscape .connection-canvas{height:136px;min-height:136px}.connection-canvas-card.compact-landscape .family-tree{padding:6px 0}.connection-canvas-card.compact-landscape .connection-canvas svg{height:136px;min-height:136px}.connection-canvas-card.compact-landscape .graph-hint{display:none}.sidebar-foot{display:flex;align-items:center;justify-content:center;padding:6px}.avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--sage);color:var(--pine);font-size:var(--type-body);font-weight:700}.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.avatar.small{width:30px;height:30px;font-size:var(--type-label);background:var(--line)}.avatar.large{width:48px;height:48px;background:var(--sage)}.app-shell main{width:min(1160px,100%);min-width:0;margin:0 auto;padding:42px 64px 90px}.mobile-tab-bar,.mobile-more-overlay,.mobile-compose-button,.home-compose-button,.home-compose-backdrop,.home-compose-menu{display:none}.mobile-compose-overlay{position:fixed;inset:0;z-index:60;display:none;place-items:center;padding:24px;background:color-mix(in srgb,var(--ink) 24%,transparent)}.mobile-compose-sheet{width:min(450px,100%);padding:20px;border-radius:20px;background:var(--panel);box-shadow:0 18px 45px color-mix(in srgb,var(--ink) 18%,transparent)}.mobile-compose-sheet .mobile-more-sheet-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:16px}.mobile-compose-sheet .mobile-more-sheet-head h2{text-align:center}.mobile-compose-sheet .mobile-more-sheet-head button{width:32px;height:32px;border:0;border-radius:50%;background:var(--success-soft);color:var(--pine);font-size:22px;line-height:1;cursor:pointer}.mobile-compose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.mobile-compose-grid button{display:grid;justify-items:center;gap:8px;min-height:82px;padding:12px 6px;border:1px solid var(--line);border-radius:13px;background:var(--surface-raised);color:var(--ink);font-size:var(--type-meta);font-weight:700;cursor:pointer}.mobile-compose-grid button:hover{border-color:var(--pine);background:var(--sage);color:var(--pine)}.compose-symbol{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:var(--sage);color:var(--pine)}.compose-symbol .nav-icon{width:16px;height:16px}.home-capture{display:none!important}.home-page{position:relative}.home-moments-more{display:none}.home-compose-button{position:relative;z-index:1;display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;background:var(--pine);color:var(--on-primary);box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 17%,transparent);font-size:0;font-weight:400;line-height:1;cursor:pointer}.home-compose-button:after,.page-head .primary-button:after{position:absolute;inset:0;display:grid;place-items:center;content:"+";font:400 26px/1 DM Sans,sans-serif;transform:translateY(-1px)}.home-compose-button:hover{transform:translateY(-1px);box-shadow:0 11px 22px color-mix(in srgb,var(--ink) 21%,transparent)}.home-compose-backdrop{position:fixed;inset:0;z-index:49;display:block;background:transparent}.home-compose-menu{position:absolute;top:50px;right:0;z-index:50;display:grid;gap:3px;width:190px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 15px 30px color-mix(in srgb,var(--ink) 15%,transparent)}.home-compose-menu .eyebrow{margin:3px 7px 6px}.home-compose-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-size:var(--type-body);font-weight:700;cursor:pointer}.home-compose-menu button:hover{background:var(--sage);color:var(--pine)}.home-compose-menu button>span{display:grid;width:21px;height:21px;place-items:center;border-radius:7px;background:var(--success-soft);color:var(--pine)}.home-compose-menu .nav-icon{width:15px;height:15px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head>.primary-button,.page-head .page-actions{flex:0 0 auto;align-self:flex-start}.page-head .primary-button{position:relative;display:grid;width:42px;height:42px;place-items:center;padding:0;border-radius:50%;font-size:0;line-height:1}.page-head.compact{margin-bottom:var(--space-page-flow)}.page-head.compact h1{font-size:clamp(30px,3vw,38px)}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:var(--type-label);font-weight:700;letter-spacing:.15em}.app-shell h1{max-width:700px;margin:0;color:var(--ink);font:700 clamp(39px,5vw,57px)/1.05 "Playfair Display";letter-spacing:-.045em}.app-shell h2{margin:0;font:700 21px/1.15 Playfair Display;letter-spacing:-.02em}.app-shell .confirmation-dialog h2{margin:2px 0 20px}.app-shell h3{margin:0}.subtitle{margin:13px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.quiet-button,.primary-button,.text-button,.icon-button,.done-button,.back-link{border:0;cursor:pointer}.quiet-button{margin-top:7px;padding:10px 0;background:none;color:var(--pine);font-weight:700}.quiet-button span{margin-left:8px;font-size:18px}.primary-button{padding:12px 16px;border-radius:10px;background:var(--pine);color:var(--on-primary);font-weight:700;box-shadow:0 8px 17px color-mix(in srgb,var(--pine) 13%,transparent)}.briefing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.briefing-grid.has-household{grid-template-columns:repeat(4,minmax(0,1fr))}.briefing-card{position:relative;min-height:126px;padding:17px 19px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--ink);text-align:left;overflow:hidden}.briefing-card.warm{background:var(--surface-danger);border-color:var(--line)}.briefing-card.cool{background:var(--success-soft)}.briefing-card.calm{background:var(--surface-danger);border-color:var(--line)}.briefing-card:not(.household){cursor:pointer}.briefing-card:not(.household):hover{border-color:var(--line);box-shadow:0 7px 17px color-mix(in srgb,var(--pine) 7%,transparent)}.briefing-card.household{background:var(--surface-danger);border-color:var(--line);cursor:pointer}.briefing-card.household:hover{border-color:var(--line);box-shadow:0 7px 17px color-mix(in srgb,var(--pine) 7%,transparent)}.briefing-icon{position:absolute;top:15px;right:16px;color:var(--muted);font-size:20px}.briefing-card.warm .briefing-icon{color:var(--coral)}.briefing-card.household .briefing-icon{color:var(--info)}.briefing-card p{margin:0 0 8px;color:var(--muted);font-size:var(--type-meta);font-weight:700}.briefing-card strong{display:block;max-width:calc(100% - 28px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 31px/1.1 Playfair Display;letter-spacing:-.05em}.briefing-card small,.date-row small,.timeline-item small,.contact-line small{display:block;color:var(--muted);line-height:1.5}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-head{display:block}.home-head-date{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}.home-head-date .eyebrow{margin:0}.home-head .home-compose-button{width:42px;height:42px;flex:0 0 42px}.home-redesign-head{margin-bottom:22px}.home-alert{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0 0 16px;padding:13px 16px;border:1px solid var(--coral);border-radius:14px;background:var(--surface-danger);color:var(--ink);text-align:left;cursor:pointer}.home-alert>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--line);color:var(--danger);font-weight:900}.home-alert b,.home-alert small{display:block}.home-alert small{margin-top:2px;color:var(--muted)}.home-alert em{color:var(--danger);font-size:var(--type-meta);font-style:normal;font-weight:800}.home-focus-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);align-items:start;gap:16px}.home-focus-layout.is-solo .home-focus-panel{grid-column:1 / -1}.home-focus-layout.is-family,.home-focus-layout.is-clear-day{align-items:stretch}.home-focus-layout.is-clear-day .home-focus-panel{display:flex;flex-direction:column}.home-focus-layout.is-clear-day .home-clear-state{flex:1;align-items:center}.home-side-stack{display:grid;gap:16px}.home-household-panel{background:var(--paper)}.home-focus-panel .section-title h2,.home-side-stack .section-title h2,.home-week-panel .section-title h2{margin:0}.home-clear-state{display:flex;align-items:flex-start;gap:13px;padding:19px 0 4px}.home-clear-state>span{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:50%;background:var(--sage);color:var(--pine);font-weight:800}.home-clear-state b{display:block}.home-clear-state p{margin:4px 0 0;color:var(--muted);line-height:1.5}.home-household-panel .household-snapshot-grid{grid-template-columns:1fr;gap:7px}.home-household-panel .household-tile{min-height:65px;padding:10px}.home-household-panel .household-tile em{display:none}.home-week-panel{margin-top:16px}.home-week-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.home-capture{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:440px}.home-capture .quiet-button,.home-capture .primary-button{padding:10px 13px;font-size:var(--type-body)}.home-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"today upcoming" "overdue upcoming";align-items:start;gap:16px}.home-today{grid-area:today}.home-upcoming{grid-area:upcoming}.home-overdue{grid-area:overdue}@media(min-width:1240px){.home-main-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"today upcoming overdue"}}.global-search+.global-filter{margin-bottom:12px}main:has(.calendar-list)>.global-filter{margin-bottom:12px}.home-attention,.home-upcoming{align-content:start}.home-attention .home-row:last-of-type,.home-upcoming .home-row:last-of-type{margin-bottom:0}.home-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;min-height:53px;border-top:1px solid var(--line)}.home-row-main{min-width:0;padding:11px 0 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.home-row-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-title)}.home-row-context{grid-column:1;padding:0 0 11px;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.home-row-context button,.home-moment-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.home-row-context .due-urgent{font-weight:inherit}.home-row>em{grid-column:2;grid-row:1 / span 2}.home-section{margin-top:28px}.home-moment-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,270px);gap:12px;overflow-x:auto;padding:2px 2px 12px;margin:-2px -2px -12px;scroll-snap-type:x proximity;scrollbar-width:thin}.home-moment{display:grid;gap:7px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--ink);text-align:left}.home-moment:hover{border-color:var(--line);box-shadow:0 9px 20px color-mix(in srgb,var(--pine) 6%,transparent)}.home-moment{scroll-snap-align:start}.home-moment>small{color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-moment-main{min-height:35px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font-size:var(--type-title);font-weight:700;line-height:1.35;cursor:pointer}.home-moment-context{color:var(--muted);font-size:var(--type-meta);line-height:1.45}.panel{border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:23px;box-shadow:0 13px 35px color-mix(in srgb,var(--pine) 3%,transparent)}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.text-button{padding:3px;background:none;color:var(--success);font-size:var(--type-title);font-weight:700}.attention-row{display:flex;align-items:center;width:100%;gap:13px;padding:13px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.attention-row:first-of-type{border-top:0}.attention-row b,.attention-row span{display:block}.attention-row span{margin-top:3px;color:var(--muted);font-size:var(--type-title)}.attention-row em,.directory-row em{margin-left:auto;color:var(--muted);font-size:18px;font-style:normal}.date-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.date-badge{display:grid;place-items:center;width:45px;height:48px;border-radius:9px;background:var(--soft-coral);color:var(--danger)}.date-badge b{font-size:var(--type-micro);letter-spacing:.08em}.date-badge span{font:700 19px Playfair Display}.date-badge.muted{background:var(--sage);color:var(--pine)}.recent{margin-top:36px}.people-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.person-tile{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer;transition:.18s}.person-tile:hover,.directory-row:hover{border-color:var(--line);box-shadow:0 9px 20px color-mix(in srgb,var(--pine) 6%,transparent);transform:translateY(-1px)}.person-tile b{display:block}.person-tile small{display:block;margin-top:3px;color:var(--muted);font-size:var(--type-body)}.directory-tools{display:flex;align-items:center;gap:17px;margin-bottom:var(--space-page-flow);color:var(--muted);font-size:var(--type-title)}.directory-tools.recipe-tools{margin-bottom:0}.directory-sort{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;color:var(--muted);font-size:var(--type-body);font-weight:700}.directory-sort select{height:34px;padding:0 27px 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit}.search{display:flex;align-items:center;flex:1;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised)}.search span{font-size:22px;color:var(--muted)}.search input{width:100%;padding:13px 0;border:0;outline:0;color:var(--ink)}.directory{display:grid;gap:10px}.people-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.people-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:start;gap:14px}.people-letter-index{position:sticky;top:16px;display:grid;gap:3px;padding:5px 3px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 4%,transparent)}.people-letter-index button{width:24px;min-height:18px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font:800 11px/1 DM Sans,sans-serif;cursor:pointer}.people-letter-index button:hover,.people-letter-index button:focus-visible{background:var(--sage);color:var(--pine);outline:0}.people-letter{grid-column:1 / -1;display:flex;align-items:center;gap:9px;height:18px;margin:16px 2px 0;color:var(--muted);font:800 13px/1 DM Sans,sans-serif;letter-spacing:0}.people-letter:after{flex:1;height:1px;content:"";background:var(--line)}.people-letter:first-child{margin-top:0}.people-directory .directory-row{min-height:76px;padding:13px 14px}.people-directory .avatar.large{width:42px;height:42px}.people-directory .directory-main{min-width:0}.lists-grid,.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.note-card{display:grid;gap:12px;min-height:182px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);transition:border-color .16s,box-shadow .16s,transform .16s}.note-card.pinned{border-color:var(--line);background:var(--panel)}.note-card.is-dragging-card,.list-card.is-dragging-card{opacity:.48}.note-card.is-drop-before,.list-card.is-drop-before{box-shadow:inset 0 3px 0 var(--pine)}.note-card.is-drop-after,.list-card.is-drop-after{box-shadow:inset 0 -3px 0 var(--pine)}.note-card:hover{border-color:var(--line);box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 5%,transparent);transform:translateY(-1px)}.note-card-heading{display:flex;align-items:flex-start;gap:10px}.note-card-heading>div:not(.card-row-actions){display:grid;gap:4px;min-width:0}.note-card-heading b{font-size:var(--type-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card-heading small{color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.08em}.note-card>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:var(--type-body);line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.note-card .linked-people{min-width:0;align-self:end}.note-card>.note-card-people{display:block;margin:0;overflow:visible;color:var(--muted);font-size:var(--type-meta);font-weight:500;line-height:1.45;-webkit-line-clamp:unset}.note-card-people button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.card-row-actions{position:relative;display:flex;align-items:center;gap:10px;margin-left:auto}.card-row-actions .pin-toggle{width:28px;height:28px;border-radius:8px}.card-row-actions .pin-toggle svg{width:15px;height:15px}.card-row-actions .pin-toggle,.card-drag-handle{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--success)}.card-drag-handle{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;padding:0;font-size:16px;line-height:1;cursor:grab;touch-action:none}.card-drag-handle:active{cursor:grabbing}.card-drag-handle{opacity:.55}.list-card:hover .card-drag-handle,.list-card:focus-within .card-drag-handle,.note-card:hover .card-drag-handle,.note-card:focus-within .card-drag-handle{opacity:1}.card-edit-button{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;padding:0 0 1px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--success);font:inherit;font-size:15px;font-weight:700;cursor:pointer}.card-more-button{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;padding:0 0 5px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--success);font:inherit;font-size:11px;font-weight:800;letter-spacing:1px;cursor:pointer}.card-row-actions .pin-toggle:not(.active):hover,.card-drag-handle:hover,.card-edit-button:hover,.card-more-button:hover{border-color:var(--line);background:var(--success-soft);color:var(--pine)}.card-actions-menu{position:absolute;z-index:6;top:calc(100% + 6px);right:0;min-width:112px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 10%,transparent)}.card-actions-menu button{width:100%;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:var(--danger);font:inherit;font-size:var(--type-body);font-weight:700;text-align:left;cursor:pointer}.card-actions-menu button:hover{background:var(--surface-danger)}.pin-toggle{display:grid;width:34px;height:34px;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--muted);cursor:pointer}.pin-toggle:hover{border-color:var(--line);background:var(--paper);color:var(--pine)}.pin-toggle.active{border-color:var(--pine);background:var(--pine);color:var(--on-primary)}.pin-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.list-card{display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);transition:border-color .16s,box-shadow .16s,transform .16s}.list-card.pinned{border-color:var(--line);background:var(--panel)}.list-card:hover{border-color:var(--line);box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 5%,transparent);transform:translateY(-1px)}.list-card-heading{display:flex;align-items:flex-start;gap:10px}.list-card-heading>div:not(.card-row-actions){display:grid;gap:4px;min-width:0}.list-card-heading b{font-size:var(--type-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card-heading small,.list-card>p,.list-preview>small{color:var(--muted);font-size:var(--type-meta)}.list-card>p{margin:-3px 0 0;line-height:1.45}.list-card .linked-people{min-width:0}.list-card>.list-card-people{margin:-3px 0 0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.list-card-people button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.list-preview{display:grid;gap:7px;align-content:end}.list-expand{justify-self:start;padding:1px 0;border:0;background:transparent;color:var(--success);font:inherit;font-size:var(--type-meta);font-weight:700;cursor:pointer}.list-expand:hover{text-decoration:underline}.quick-list-add{justify-self:start;padding:0;border:0;background:transparent;color:var(--success);font:inherit;font-size:var(--type-body);font-weight:700;cursor:pointer}.quick-list-form{display:flex;gap:7px}.quick-list-form input{min-width:0;flex:1;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--type-body);outline:0}.quick-list-form input:focus{border-color:var(--muted);box-shadow:0 0 0 3px var(--sage)}.quick-list-form button{padding:0 10px;border:0;border-radius:8px;background:var(--pine);color:var(--on-primary);font:inherit;font-size:var(--type-body);font-weight:700;cursor:pointer}.quick-list-form button:disabled{opacity:.45;cursor:not-allowed}.inline-text-add{display:flex;align-items:center;gap:5px;min-width:min(100%,210px)}.inline-text-add input{min-width:0;flex:1;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit;font-size:var(--type-body);letter-spacing:normal;text-transform:none;outline:0}.inline-text-add input:focus{border-color:var(--muted);box-shadow:0 0 0 3px var(--sage)}.inline-text-add button[type=submit]{height:32px;padding:0 10px;border:0;border-radius:8px;background:var(--pine);color:var(--on-primary);font:inherit;font-size:var(--type-body);font-weight:700;cursor:pointer}.inline-text-add button:disabled{opacity:.45;cursor:not-allowed}.inline-text-add-cancel{width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.profile-list-entry{display:grid;gap:6px}.profile-list-entry+.profile-list-entry{margin-top:10px}.profile-list-entry .quick-list-add,.profile-list-entry .quick-list-form{margin-left:29px}.list-item{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--type-body);text-align:left;cursor:pointer}.list-item>span{display:grid;flex:0 0 16px;width:16px;height:16px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--on-primary);font-size:10px}.list-item.done{color:var(--muted);text-decoration:line-through}.list-item.done>span{border-color:var(--pine);background:var(--pine)}.editor-checklist{display:grid;gap:8px}.checklist-label span{white-space:nowrap}.editor-checklist-row{display:flex;align-items:center;gap:8px}.editor-checklist-row.is-dragging{opacity:.48}.editor-checklist-row.is-drop-before{box-shadow:inset 0 2px 0 var(--pine)}.editor-checklist-row.is-drop-after{box-shadow:inset 0 -2px 0 var(--pine)}.editor-checklist-row input{min-width:0;flex:1}.drag-handle{display:grid;flex:0 0 22px;width:22px;height:30px;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:17px;line-height:1;cursor:grab;touch-action:none}.drag-handle:hover{background:var(--success-soft);color:var(--pine)}.drag-handle:active{cursor:grabbing}.editor-checklist-row .task-check{margin:0;flex:0 0 22px;width:22px;height:22px}.remove-checklist-item{display:grid;flex:0 0 26px;width:26px;height:26px;place-items:center;padding:0;border:0;border-radius:7px;background:var(--surface-danger);color:var(--danger);font-size:16px;cursor:pointer}.directory-row{display:flex;align-items:center;gap:15px;width:100%;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised);color:var(--ink);text-align:left;cursor:pointer;transition:.18s}.directory-main{min-width:180px}.directory-main b,.directory-main span{display:block}.directory-main span{margin-top:4px;color:var(--muted);font-size:var(--type-title)}.directory-main i{font-style:normal;color:var(--line)}.directory-row p{flex:1;margin:0;color:var(--muted);font-size:var(--type-title);line-height:1.45}.empty-state{padding:32px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.profile-masthead{display:block;margin-bottom:24px;padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(110deg,var(--paper) 0%,var(--panel) 72%);box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 4%,transparent)}.masthead-controls{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:12px}.masthead-identity{display:flex;align-items:center;gap:18px}.profile-back-control{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-raised);color:var(--pine);font-size:19px;line-height:1;cursor:pointer}.profile-back-control:hover{background:var(--sage)}.profile-masthead h1{margin:0;font-size:42px;line-height:1.08}.profile-hero{display:flex;align-items:flex-start;gap:16px;margin-bottom:26px}.profile-hero h1{margin:0;font-size:48px;line-height:1.05}.profile-identity{position:relative;min-width:0;flex:1;padding-right:0}.profile-header-actions{position:relative;display:flex;align-items:center;gap:5px}.profile-header-actions .icon-button{width:30px;height:30px;font-size:var(--type-body)}.profile-header-actions .profile-actions-toggle{width:30px;height:30px;padding-bottom:5px;font-size:11px;letter-spacing:1px}.profile-avatar{width:76px;height:76px;background:var(--line);font-size:20px}.profile-photo-wrap{display:grid;justify-items:center;gap:7px}.profile-photo-field{display:flex;align-items:center;gap:7px}.profile-photo-field .quiet-button,.profile-photo-field .delete-link{padding:3px 6px;font-size:var(--type-micro)}.profile-photo-field small{color:var(--danger);font-size:var(--type-micro)}.profile-photo-cropper{width:min(440px,calc(100vw - 28px))}.profile-photo-crop-frame{position:relative;display:grid;width:280px;height:280px;place-items:center;margin:18px auto;overflow:hidden;border:3px solid var(--panel);border-radius:50%;background:var(--success-soft);box-shadow:0 0 0 1px var(--line);cursor:grab;touch-action:none}.profile-photo-crop-frame:active{cursor:grabbing}.profile-photo-crop-frame canvas{width:100%;height:100%}.profile-photo-crop-source{display:none}.profile-photo-zoom{display:grid;gap:7px;color:var(--muted);font-size:var(--type-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.profile-photo-zoom input{width:100%;padding:0;border:0;border-radius:0;background:transparent}.tag-list{display:flex;gap:6px;margin-top:9px}.profile-legacy-header{display:none}.profile-masthead+.profile-section-mobile{margin-top:0}.profile-masthead .identity-categories{margin-top:8px}.profile-masthead .tag-list{flex-wrap:wrap}.profile-masthead .identity-fields{max-width:720px;margin-top:4px}.identity-connection{display:grid;gap:5px;max-width:250px;margin-top:10px;color:var(--muted);font-size:var(--type-label);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.identity-connection select{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none}.profile-masthead .tag-editor{margin-top:10px}.profile-actions-menu{position:absolute;z-index:5;top:calc(100% + 6px);right:0;min-width:128px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 10%,transparent)}.profile-actions-menu button{width:100%;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:var(--danger);font:inherit;font-size:var(--type-body);font-weight:700;text-align:left;cursor:pointer}.profile-actions-menu button:hover{background:var(--surface-danger)}.identity-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:7px;margin-bottom:10px}.identity-fields input{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);outline:0}.identity-categories{margin-top:10px}.identity-categories.editing{margin-top:9px}.tag-editor{margin-top:13px}.tag-editor-label{display:block;margin-bottom:6px;color:var(--text-subtle);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tag-pill{border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--success);padding:6px 9px;font-size:var(--type-body);font-weight:700;cursor:pointer}.tag-pill b{margin-left:3px;color:var(--danger);font-size:14px;line-height:0}.tag-pill.add-tag{background:var(--surface-raised);color:var(--success)}.profile-avatar{width:68px;height:68px;background:var(--line);font-size:18px}.tag-list{display:flex;gap:6px;margin-top:10px}.tag-list span{padding:4px 9px;border-radius:12px;background:var(--sage);color:var(--success);font-size:var(--type-meta);font-weight:700}.profile-masthead .profile-avatar{width:76px;height:76px;font-size:20px}.profile-masthead .tag-list{margin-top:9px}.profile-action{margin-left:auto}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.profile-page-body{display:grid;grid-template-columns:188px minmax(0,1fr);gap:24px;align-items:start}.profile-section-rail{position:sticky;top:26px;display:grid;gap:4px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.profile-nav-group+.profile-nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.profile-nav-group>p{margin:0 10px 4px;color:var(--muted);font-size:var(--type-micro);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.profile-section-rail button{width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.profile-section-rail button:hover{background:var(--surface-raised);color:var(--ink)}.profile-section-rail button.active{background:var(--pine);color:var(--on-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 14%,transparent)}.profile-section-rail b,.profile-section-rail small{display:block}.profile-section-rail b{font-size:var(--type-body)}.profile-section-rail small{margin-top:3px;font-size:var(--type-meta);line-height:1.25;opacity:.76}.profile-layout{grid-template-columns:minmax(0,1fr);gap:16px}.profile-primary,.profile-secondary{display:contents}.profile-destination{display:none}.profile-layout.active-overview .profile-overview,.profile-layout.active-contact .profile-contact,.profile-layout.active-connections .profile-connections,.profile-layout.active-moments .profile-life-moments,.profile-layout.active-history .profile-life-history,.profile-layout.active-pets .profile-life-pets,.profile-layout.active-gifts .profile-planning-gifts,.profile-layout.active-reminders .profile-planning-reminders,.profile-layout.active-tasks .profile-planning-tasks,.profile-layout.active-calendar .profile-planning-calendar,.profile-layout.active-chores .profile-planning-chores,.profile-layout.active-notes .profile-notes-notes,.profile-layout.active-lists .profile-notes-lists{display:block}.profile-section-mobile,.profile-sections-sheet{display:none}.profile-graph-entry{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:11px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.profile-graph-entry>span{color:var(--coral);font-size:20px}.profile-graph-entry div{min-width:0;flex:1}.profile-graph-entry b,.profile-graph-entry small{display:block}.profile-graph-entry b{font-size:var(--type-title)}.profile-graph-entry small{margin-top:2px;color:var(--muted);font-size:var(--type-meta)}.profile-graph-entry em{color:var(--pine);font-size:19px;font-style:normal}.profile-primary,.profile-secondary{display:grid;gap:16px}.profile-secondary{grid-template-columns:1fr;align-items:start}.profile-layout .profile-primary,.profile-layout .profile-secondary{display:contents}.contact-card{padding-bottom:18px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--success-soft);color:var(--pine);font-weight:700}.moment-pencil{opacity:.8;font-size:var(--type-body)}.section-title .icon-button{flex:0 0 36px}.directory-row em,.home-row>em{color:var(--success);font-size:18px}@media(hover:hover){.gift-row:hover,.important-date:hover{background:var(--paper)}}.done-button{border-radius:8px;padding:7px 10px;background:var(--pine);color:var(--on-primary);font-size:var(--type-body);font-weight:700}.basic-fields{display:grid;grid-template-columns:1fr 130px;gap:8px;padding:0 0 15px}.basic-fields input,.basic-fields select,.contact-input input,.contact-input select,textarea{border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);outline:0}.basic-fields input,.basic-fields select{padding:10px}.field-group{padding:13px 0;border-top:1px solid var(--line)}.field-group>span{display:block;margin-bottom:7px;color:var(--text-subtle);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-line{display:flex;align-items:center;gap:10px;margin:0 0 9px;color:var(--ink)}.contact-line>div{min-width:0}.contact-line small{font-size:var(--type-meta)}.contact-line span{display:block;overflow-wrap:anywhere}.contact-line>div>span{font-size:var(--type-title)}.contact-line span.contact-action{display:grid}.contact-action{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;background:var(--success-soft);color:var(--pine);text-decoration:none;font-size:14px;transition:.18s}.contact-action:hover{background:var(--pine);color:var(--on-primary)}.contact-action.muted{background:var(--paper);color:var(--muted)}.contact-input{display:flex;align-items:stretch;gap:7px;margin:7px 0}.contact-input select,.contact-input input{min-width:0;padding:9px 8px}.contact-input select{flex:0 0 92px}.contact-input input{flex:1 1 auto;width:0}.contact-input button{flex:0 0 27px;width:27px;min-width:27px;border:0;border-radius:7px;background:var(--surface-danger);color:var(--danger);font-size:19px;cursor:pointer}.add-line{margin-top:4px;padding:0;border:0;background:none;color:var(--success);font-size:var(--type-body);font-weight:700;cursor:pointer}.delete-link{margin-top:9px;padding:8px 0;border:0;background:none;color:var(--danger);font-size:var(--type-body);font-weight:700;cursor:pointer}.rich-card textarea{width:100%;min-height:110px;padding:11px;line-height:1.55;resize:vertical}.rich-card small{color:var(--muted);font-size:var(--type-meta)}.timeline{display:grid;gap:0}.timeline-item{display:flex;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.timeline-item i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--coral)}.timeline-item b{display:block;font-size:var(--type-title)}.moment-main{display:flex;flex:1;min-width:0;gap:11px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.moment-main>div{min-width:0}.moment-map-link{display:grid;place-items:center;align-self:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px;background:var(--success-soft);color:var(--pine);text-decoration:none;font-size:16px}.moment-map-link:hover{background:var(--pine);color:var(--on-primary)}.gift-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--type-title)}.gift-row span{color:var(--coral)}.empty-page{padding-top:10vh}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:13px;overflow:auto}.sidebar nav{display:flex}.nav{padding:9px 10px;white-space:nowrap}.nav i,.sidebar-foot,.sidebar-account{display:none}.app-shell main{padding:38px 24px}.dashboard-grid,.profile-layout{grid-template-columns:1fr}.home-main-grid{grid-template-columns:1fr;grid-template-areas:"today" "upcoming" "overdue"}.home-focus-layout,.home-side-stack,.profile-secondary{grid-template-columns:1fr}.profile-hero{flex-wrap:wrap}.home-head{display:block}.home-capture{justify-content:flex-start;max-width:none;margin-top:18px}.profile-action{margin-left:0}}@media(max-width:580px){.sidebar,.home-compose-backdrop,.home-compose-menu{display:none}.home-compose-button{display:grid;position:relative;z-index:1;flex:0 0 42px;width:42px;height:42px;font-size:25px}.mobile-tab-bar{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:calc(62px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 93%,transparent);box-shadow:0 -5px 18px color-mix(in srgb,var(--ink) 6%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-compose-button{position:fixed;right:17px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:41;display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;background:var(--pine);color:var(--on-primary);box-shadow:0 10px 22px color-mix(in srgb,var(--ink) 26%,transparent);font-size:31px;font-weight:400;line-height:1;cursor:pointer}.mobile-compose-button:active{transform:scale(.96)}.mobile-tab-bar button{display:grid;place-items:center;gap:3px;min-width:0;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:700 9px/1 var(--font-sans, "DM Sans"),sans-serif;cursor:pointer}.mobile-tab-bar .nav-icon{width:19px;height:19px}.mobile-tab-bar button.active{color:var(--pine);background:var(--sage)}.mobile-more-icon{height:19px;font-size:17px;line-height:13px;letter-spacing:1px}.mobile-more-overlay{position:fixed;inset:0;z-index:45;display:grid;align-items:end;background:color-mix(in srgb,var(--ink) 24%,transparent);overscroll-behavior:contain}.mobile-more-sheet{max-height:calc(100dvh - 12px);overflow-y:auto;padding:12px 16px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--panel);box-shadow:0 -12px 35px color-mix(in srgb,var(--ink) 15%,transparent);overscroll-behavior:contain}.mobile-more-sheet-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:14px}.mobile-more-sheet-head h2{text-align:center;font-size:21px}.mobile-more-sheet-head button{width:32px;height:32px;border:0;border-radius:50%;background:var(--success-soft);color:var(--pine);font-size:22px;line-height:1}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mobile-more-grid button{display:grid;justify-items:center;gap:8px;min-height:80px;padding:12px 6px;border:1px solid var(--line);border-radius:13px;background:var(--surface-raised);color:var(--ink);font-size:var(--type-meta);font-weight:700}.mobile-more-grid button.active{border-color:var(--pine);background:var(--sage);color:var(--pine)}.mobile-more-grid .nav-icon{width:21px;height:21px}.mobile-more-account{display:grid;gap:4px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.mobile-more-account>button{min-height:44px;padding:10px 11px;border:1px solid var(--line);background:var(--surface-raised)}.mobile-more-account>button:first-child{gap:11px}.mobile-more-account>button:first-child .avatar{width:32px;height:32px;font-size:12px}.mobile-compose-grid{grid-template-columns:repeat(4,1fr)}.mobile-compose-grid button{min-height:74px}.confirmation-overlay{place-items:center;padding:20px}.confirmation-dialog{width:100%;padding:22px;border-radius:18px}.confirmation-actions{display:grid;grid-template-columns:1fr 1fr}.confirmation-actions button{min-height:42px}.app-shell main{padding:24px 16px calc(78px + env(safe-area-inset-bottom))}.page-head{display:block;margin-bottom:20px}.page-head.compact{margin-bottom:16px}.page-head.compact h1{font-size:30px;line-height:1.08;letter-spacing:-.035em}.page-head .primary-button{margin-top:0}.page-head:has(.primary-button){display:flex;align-items:flex-start;gap:12px}.page-head:has(.primary-button)>div:first-child{min-width:0;flex:1}.page-head:has(.primary-button) .page-actions{margin:0}.home-head h1{font-size:35px}.home-alert{grid-template-columns:30px minmax(0,1fr);padding:12px}.home-alert em{display:none}.home-side-stack,.home-week-list{grid-template-columns:1fr}.section-title{margin-bottom:12px}.section-title .eyebrow{margin-bottom:4px}.people-strip,.profile-secondary,.lists-grid,.notes-grid,.people-directory{grid-template-columns:1fr}.people-directory-layout{grid-template-columns:minmax(0,1fr) 30px;gap:8px}.people-letter-index{position:sticky;top:12px;z-index:2;display:grid;width:auto;gap:2px;padding:4px 2px;border-radius:10px;box-shadow:0 3px 10px color-mix(in srgb,var(--ink) 4%,transparent)}.people-letter-index button{width:24px;min-height:17px}.home-moment-grid{grid-auto-columns:168px}.briefing-grid,.briefing-grid.has-household{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.briefing-card{min-height:112px;padding:15px 16px;border-radius:14px}.briefing-card p{margin-bottom:7px}.briefing-card strong{font-size:29px}.home-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}.home-row-context{grid-column:1;padding-bottom:10px}.home-row>em{grid-column:2;grid-row:1}.dashboard-grid{gap:12px}.directory-row p{display:none}.task-directory-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:5px 12px}.task-directory-row .task-row-context{display:block}.task-read-notes{display:block!important}.task-directory-main,.task-directory-main .directory-main{min-width:0}.task-directory-main .directory-main{flex:1}.gift-need-row{grid-template-columns:minmax(0,1fr);gap:10px}.gift-need-row .linked-people{grid-column:1 / -1;grid-row:2}.gift-need-row p{display:block;grid-column:1;grid-row:2}.gift-need-read-detail{grid-column:1 / -1;grid-row:auto}.gift-read-detail p,.gift-need-read-detail>p{display:block}.directory-main{min-width:0}.profile-hero h1{font-size:40px}.identity-fields{grid-template-columns:1fr}.profile-avatar{width:56px;height:56px}.directory-tools{align-items:stretch;flex-direction:column;gap:8px}.recipe-tools,.notes-tools,.lists-tools{align-items:center;flex-direction:row;gap:10px}.recipe-tools .recipe-search,.notes-tools .search,.lists-tools .search{min-width:0}.recipe-count,.record-count{flex:0 0 auto;white-space:nowrap;font-size:var(--type-meta)}.people-filter{margin-bottom:16px;padding-bottom:2px}.global-filter,.planning-filter{margin-bottom:0}.horizontal-scroll-cue{position:relative;max-width:100%;margin-bottom:16px}.horizontal-scroll-cue-scroller{display:flex;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.horizontal-scroll-cue-scroller>*{flex:0 0 auto;max-width:none;overflow:visible}.horizontal-scroll-cue-scroller::-webkit-scrollbar{display:none}.horizontal-scroll-cue-scroller .view-toggle>button{scroll-snap-align:start}.horizontal-scroll-cue.can-scroll-backward:before,.horizontal-scroll-cue.can-scroll-forward:after{position:absolute;top:0;bottom:0;z-index:1;width:38px;content:"";pointer-events:none}.horizontal-scroll-cue.can-scroll-backward:before{left:0;background:linear-gradient(90deg,var(--paper) 65%,transparent)}.horizontal-scroll-cue.can-scroll-forward:after{right:0;background:linear-gradient(90deg,transparent,var(--paper) 65%)}.horizontal-scroll-cue-arrow{position:absolute;top:50%;z-index:2;width:18px;height:18px;transform:translateY(-50%);border-radius:50%;background:var(--panel);box-shadow:0 1px 4px color-mix(in srgb,var(--ink) 8%,transparent);color:var(--pine);font:700 17px/16px sans-serif;text-align:center;pointer-events:none}.horizontal-scroll-cue-arrow.backward{left:4px}.horizontal-scroll-cue-arrow.forward{right:4px}.tasks-filter-row{align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tasks-filter-row .horizontal-scroll-cue{flex:1;min-width:0;margin-bottom:0}.tasks-mobile-search-toggle{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--pine);font:700 22px/1 sans-serif;cursor:pointer}.tasks-mobile-search-toggle[aria-expanded=true]{border-color:var(--line-strong);background:var(--sage)}.tasks-search:not(.is-open){display:none}.tasks-search.is-open{margin-bottom:10px}.tasks-search-close{display:grid;width:28px;height:28px;place-items:center;margin-right:-5px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font:400 21px/1 sans-serif;cursor:pointer}.tasks-search-close:hover{background:var(--sage);color:var(--pine)}.record-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.record-filter-row>.horizontal-scroll-cue{flex:1;min-width:0;margin-bottom:0}.record-filter-row .gift-planning-filters{margin-bottom:0}.record-mobile-search-toggle{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--pine);font:700 22px/1 sans-serif;cursor:pointer}.record-mobile-search-toggle[aria-expanded=true]{border-color:var(--line-strong);background:var(--sage)}.record-search:not(.is-open){display:none}.record-search.is-open{margin-bottom:10px}.record-search-close{display:grid;width:28px;height:28px;place-items:center;margin-right:-5px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font:400 21px/1 sans-serif;cursor:pointer}.record-search-close:hover{background:var(--sage);color:var(--pine)}.chores-search:not(.is-open){display:none}.chores-search.is-open{margin-bottom:0}.delete-completed{flex-basis:100%;margin-left:0}.directory-row.global-item-row{grid-template-columns:minmax(0,1fr) 28px;gap:5px 10px;padding:15px}.global-item-row .global-item-main{grid-column:1;grid-row:1}.global-item-row .linked-people{grid-column:1 / -1;grid-row:2;min-width:0}.global-item-row p{display:block;grid-column:1 / -1;grid-row:3;min-width:0;font-size:var(--type-meta);line-height:1.45}.global-item-row .task-row-delete{grid-column:2;grid-row:1;margin-left:0}.contact-input{grid-template-columns:none}.contact-input select{flex-basis:78px}.contact-input button{flex-basis:26px;width:26px;min-width:26px}.task-directory-row{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px 10px;padding:14px 15px}.task-directory-row .task-row-context{display:block;min-width:0;font-size:var(--type-meta);line-height:1.4}.task-directory-row .task-row-delete{grid-column:3;grid-row:1}.panel{padding:18px;border-radius:14px}.calendar-settings{grid-template-columns:1fr}.mobile-nav-setting-row{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}.mobile-nav-setting-row>small{grid-column:2;grid-row:2}.mobile-nav-setting-row>div{grid-column:3;grid-row:1 / span 2}.custom-occasion-fields{grid-template-columns:minmax(0,1fr) 88px}.custom-occasion-fields input:first-child,.custom-occasion-fields button{grid-column:1 / -1}.moment-overlay{place-items:center;padding:24px 16px}.moment-editor{box-sizing:border-box;width:min(560px,100%);max-height:calc(100dvh - 48px);padding:20px 16px 16px;border-radius:18px}.moment-date{grid-template-columns:1fr}.editor-actions{position:sticky;right:-16px;bottom:-16px;left:-16px;z-index:2;grid-template-columns:1fr 1fr;gap:8px;margin:12px -16px -16px;padding:12px 16px 16px;background:var(--surface-raised);box-shadow:0 -10px 18px color-mix(in srgb,var(--ink) 5%,transparent)}.editor-actions>span{display:none}.editor-actions>.delete-link:first-child{grid-column:1 / -1;justify-self:start}.editor-actions .quiet-button,.editor-actions .primary-button{min-height:44px}}@media(max-width:580px){.moment-editor:not(.recipe-editor)>label,.moment-editor:not(.recipe-editor)>.person-link-picker,.moment-editor:not(.recipe-editor)>.moment-date{margin-top:16px}.moment-editor:not(.recipe-editor)>.moment-date>label{margin-top:0}.moment-editor:not(.recipe-editor)>.moment-date{gap:16px}.profile-page-body{display:block}.profile-section-rail{display:none}.profile-section-mobile{position:sticky;top:0;z-index:50;display:flex;gap:7px;margin:-4px -16px 12px;padding:8px 16px 9px;overflow-x:auto;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 95%,transparent);box-shadow:0 5px 12px color-mix(in srgb,var(--ink) 4%,transparent);scrollbar-width:none}.profile-section-mobile::-webkit-scrollbar{display:none}.profile-section-mobile button{flex:0 0 auto;min-height:34px;padding:7px 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:700 var(--type-meta)/1 var(--font-sans, "DM Sans"),sans-serif;white-space:nowrap}.profile-section-mobile button.active{background:var(--pine);color:var(--on-primary)}.profile-section-mobile .profile-sections-trigger{display:flex;align-items:center;width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);text-align:left}.profile-sections-trigger span{color:var(--muted);font-size:var(--type-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profile-sections-trigger b{margin-left:8px;font-size:var(--type-body)}.profile-sections-trigger em{margin-left:auto;color:var(--pine);font-size:17px;font-style:normal}.profile-sections-sheet{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;padding:20px 12px 12px;background:color-mix(in srgb,var(--ink) 26%,transparent)}.profile-sections-sheet-panel{width:100%;max-height:min(720px,calc(100dvh - 32px));overflow:auto;padding:18px;border-radius:18px;background:var(--panel);box-shadow:0 -10px 30px color-mix(in srgb,var(--ink) 17%,transparent)}.profile-sections-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.profile-sections-sheet-head .eyebrow{margin:0 0 3px}.profile-sections-sheet-head h2{margin:0;font-size:24px}.profile-sections-sheet .profile-nav-group+.profile-nav-group{margin-top:12px;padding-top:12px}.profile-sections-sheet .profile-nav-group>p{margin-left:3px}.profile-sections-sheet .profile-nav-group>button{width:100%;min-height:44px;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left}.profile-sections-sheet .profile-nav-group>button.active{background:var(--pine);color:var(--on-primary)}.profile-masthead{margin-bottom:12px;padding:10px 12px 12px;border-radius:16px;background:linear-gradient(110deg,var(--paper) 0%,var(--panel) 100%);box-shadow:0 6px 18px color-mix(in srgb,var(--ink) 4%,transparent)}.masthead-controls{min-height:28px;margin-bottom:8px}.masthead-identity{align-items:flex-start;gap:11px}.profile-masthead h1{font-size:33px}.profile-back-control{flex-basis:28px;width:28px;height:28px;font-size:17px}.profile-masthead .profile-avatar{width:48px;height:48px;font-size:16px}.profile-header-actions{gap:3px}.identity-categories,.tag-list{margin-top:6px}.tag-list{flex-wrap:wrap}}@media(min-width:581px){.task-directory-row.chore-directory-row{display:grid;grid-template-columns:28px minmax(0,1.2fr) minmax(155px,.8fr) minmax(175px,.8fr) auto}}.household-reference-intro{margin:-4px 0 20px;color:var(--muted)}.api-data-gate{min-height:100vh}.auth-gate{display:grid;min-height:100vh;align-content:center;justify-items:center;padding:40px 24px;background:radial-gradient(circle at 18% 16%,var(--sage) 0,transparent 31%),radial-gradient(circle at 87% 84%,var(--surface-danger) 0,transparent 28%),var(--paper)}.auth-gate-brand{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;color:var(--pine);font-size:var(--type-label);font-weight:800;letter-spacing:.15em}.auth-gate-brand i{color:var(--coral);font-size:15px;font-style:normal}.auth-gate-card{width:min(100%,470px);padding:34px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 18px 46px color-mix(in srgb,var(--ink) 9%,transparent)}.auth-gate-card h1{margin:3px 0 12px;font:700 36px/1.08 Playfair Display,serif;letter-spacing:-.035em}.auth-gate-card>p:not(.eyebrow):not(.auth-gate-message){margin:0;color:var(--muted);font-size:var(--type-ui);line-height:1.5}.auth-gate-form{display:grid;gap:15px;margin-top:24px}.auth-gate-form label{display:grid;gap:7px;color:var(--ink);font-size:var(--type-meta);font-weight:800;letter-spacing:.04em}.auth-gate-form label em{color:var(--muted);font-size:10px;font-style:normal;font-weight:600;letter-spacing:0}.auth-gate-form input{width:100%;min-height:43px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:500 var(--type-body)/1.25 var(--font-sans, "DM Sans"),sans-serif}.auth-gate-form input:focus{border-color:var(--pine);outline:2px solid color-mix(in srgb,var(--line) 47%,transparent);outline-offset:1px}.auth-gate-form .primary-button{justify-content:center;width:100%;min-height:43px;margin-top:2px}.auth-gate-form .primary-button:disabled{cursor:wait;opacity:.72}.auth-gate-restore{display:grid;gap:7px;margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}.auth-gate-restore>b{font-size:var(--type-meta)}.auth-gate-restore>p{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.auth-gate-restore>.quiet-button{justify-self:start;margin-top:3px}.auth-gate-restore>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.auth-gate-restore small{overflow:hidden;color:var(--muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap}.auth-gate-restore .primary-button{min-height:36px}.auth-gate-change-email{display:inline-flex;width:fit-content;margin-top:18px;padding:0;border:0;background:transparent;color:var(--muted);font:700 var(--type-meta)/1.4 var(--font-sans, "DM Sans"),sans-serif;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}.auth-gate-change-email:hover{color:var(--pine)}.auth-gate-change-email:disabled{cursor:wait;opacity:.65}.auth-gate-help{display:block;margin-top:17px;color:var(--muted);font-size:var(--type-meta);line-height:1.5}.auth-gate-message{margin:17px 0 0;padding:10px 11px;border-radius:9px;background:var(--sage);color:var(--pine);font-size:var(--type-meta);font-weight:700;line-height:1.4}.auth-gate-development-link{display:inline-block;margin-top:12px;color:var(--pine);font-size:var(--type-meta);font-weight:800;text-decoration:underline;text-underline-offset:3px}.auth-gate-foot{margin:20px 0 0;color:var(--muted);font-size:var(--type-meta);font-weight:700}@media(max-width:580px){.auth-gate{align-content:center;padding:24px 16px}.auth-gate-card{padding:26px 21px;border-radius:17px}.auth-gate-card h1{font-size:31px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.data-settings-panel>p{max-width:690px;margin:0;color:var(--muted);line-height:1.55}.data-backup-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 0}.data-backup-actions+.data-backup-actions{border-top:1px solid var(--line)}.data-settings-panel>.data-backup-actions:first-child{margin-top:0;padding-top:0}.data-backup-actions>div{display:grid;gap:4px}.data-backup-actions b{color:var(--ink);font-size:var(--type-body)}.data-backup-actions small{color:var(--muted);line-height:1.45}.data-backup-actions .quiet-button{flex:0 0 auto;margin:0;white-space:nowrap}.data-import-actions{padding-bottom:0}.data-import-confirmation{display:grid;gap:13px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.data-import-confirmation p{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;overflow:hidden}.data-import-confirmation p b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-import-confirmation p span{flex:0 0 auto;color:var(--muted);font-size:var(--type-meta)}.data-import-confirmation label{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:var(--type-meta);line-height:1.45}.data-import-confirmation input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--pine)}.data-import-confirmation .primary-button{justify-self:start}.danger-settings-panel>p{max-width:700px;margin:0;color:var(--muted);line-height:1.55}.danger-settings-panel>h3{margin:20px 0 6px;font-size:var(--type-title)}.danger-settings-panel .settings-signed-in{display:inline-flex;gap:5px;margin:0;color:var(--muted);font-size:var(--type-meta)}.settings-signed-in b{color:var(--ink);font-weight:800}.account-email-change{display:grid;gap:9px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.account-email-change>div{display:grid;gap:3px}.account-email-change>div b{font-size:var(--type-body)}.account-email-change>div small{color:var(--muted);line-height:1.45}.account-email-change form{display:flex;flex-wrap:wrap;gap:9px}.account-email-change input{flex:1 1 200px;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit}.account-email-change .quiet-button{margin:0}.account-email-change>p{margin:0;color:var(--pine);font-size:var(--type-meta);font-weight:700}.account-email-change>a{width:fit-content;color:var(--pine);font-size:var(--type-meta);font-weight:800;text-decoration:underline;text-underline-offset:3px}.destructive-confirmation{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.destructive-confirmation label{display:grid;flex:1 1 190px;gap:6px;color:var(--muted);font-size:var(--type-meta);font-weight:700}.destructive-confirmation label b{color:var(--danger);letter-spacing:.06em}.destructive-confirmation input{width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit}.delete-button{min-height:36px;padding:8px 12px;border:1px solid var(--danger);border-radius:8px;background:var(--danger);color:var(--on-primary);cursor:pointer;font:700 var(--type-meta)/1 var(--font-sans, "DM Sans"),sans-serif}.delete-button:disabled{cursor:not-allowed;opacity:.48}.development-settings-panel{display:grid;gap:16px}.development-tool{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.development-tool>div:first-child{max-width:680px}.development-tool b{font-size:var(--type-body)}.development-tool p{margin:4px 0 0;color:var(--muted);line-height:1.5}.account-settings-panel>.quiet-button{margin-top:2px}.settings-account-error{margin:10px 0 0;color:var(--danger);font-size:var(--type-meta);font-weight:700}@media(max-width:580px){.data-backup-actions{align-items:flex-start;flex-direction:column;gap:10px}.data-backup-actions .quiet-button{padding:7px 0}.data-import-confirmation .primary-button,.delete-button{width:100%}.development-tool{display:grid;gap:10px}}.household-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.household-reference-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.household-reference-card>button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.household-reference-card h2{margin:3px 0 6px;font-size:18px}.household-reference-card p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.5}.household-reference-card .household-reference-detail{margin-bottom:12px;color:var(--pine);font-size:var(--type-meta);font-weight:700}.household-reference-card small{display:block;margin-top:12px;color:var(--pine);font-size:var(--type-meta);font-weight:700}.household-template-help{margin:0;color:var(--muted);line-height:1.5}.household-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.household-template-grid button{min-height:90px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);text-align:left;cursor:pointer}.household-template-grid b,.household-template-grid small{display:block}.household-template-grid small{margin-top:4px;color:var(--muted);line-height:1.35}@media(max-width:580px){.household-reference-grid{grid-template-columns:1fr}}.moments-filter-bar{display:flex;align-items:center}.moments-filter-bar>.horizontal-scroll-cue{min-width:0}.view-toggle .moments-expand-all{display:grid;place-items:center;width:30px;padding:0}.moments-expand-all svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.moment-directory-row.global-item-row{grid-template-columns:minmax(0,1fr);gap:5px;cursor:pointer}.moment-directory-row.is-active{border-color:var(--line-strong);box-shadow:0 9px 22px color-mix(in srgb,var(--pine) 7%,transparent)}.moment-directory-row .moment-row-context{grid-column:1 / -1;grid-row:auto;margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.moment-row-context button{padding:0;border:0;background:transparent;color:var(--pine);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.moment-read-detail{display:grid;grid-column:1 / -1;gap:12px;margin-top:2px;padding:16px 0 2px;border-top:1px solid var(--line);cursor:default}.moment-read-detail:not(.has-narrative){gap:0;padding-top:0;border-top:0}.moment-read-detail .moment-read-narrative{display:block;grid-column:auto;grid-row:auto;max-width:760px;margin:0;color:var(--ink);line-height:1.6;white-space:pre-wrap}.moment-photo-gallery{display:grid;gap:10px}.moment-photo-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:var(--type-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.moment-photo-gallery-head em{color:var(--muted);font-size:var(--type-micro);font-style:normal}.moment-photo-gallery-head .quiet-button{padding:5px 8px;font-size:var(--type-meta);letter-spacing:normal;text-transform:none}.moment-photo-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.moment-photo-thumb{position:relative;flex:0 0 122px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.moment-photo-thumb>button:first-child{display:block;width:100%;height:96px;padding:0;border:0;background:transparent;cursor:zoom-in}.moment-photo-thumb img{width:100%;height:100%;object-fit:cover}.moment-photo-controls{display:flex;border-top:1px solid var(--line)}.moment-photo-controls button{flex:1;min-height:28px;padding:0;border:0;border-right:1px solid var(--line);background:var(--panel);color:var(--pine);cursor:pointer}.moment-photo-controls button:last-child{border-right:0;color:var(--danger)}.moment-photo-controls button:disabled{color:var(--muted);cursor:default}.moment-photo-help,.moment-photo-error{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.45}.moment-photo-error{color:var(--danger)}.moment-photo-viewer{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:28px;background:color-mix(in srgb,var(--ink) 90%,transparent);cursor:zoom-out}.moment-photo-viewer img{display:block;max-width:min(1100px,100%);max-height:calc(100dvh - 56px);border-radius:10px;box-shadow:0 20px 60px var(--undefined);object-fit:contain}.moment-photo-viewer .icon-button{position:fixed;top:16px;right:16px;color:var(--on-primary);background:color-mix(in srgb,var(--ink) 60%,transparent)}.moment-photo-viewer-nav{position:fixed;top:50%;width:42px;height:48px;padding:0;transform:translateY(-50%);border:0;border-radius:8px;background:color-mix(in srgb,var(--ink) 60%,transparent);color:var(--on-primary);font-size:38px;line-height:1;cursor:pointer}.moment-photo-viewer-nav.previous{left:16px}.moment-photo-viewer-nav.next{right:16px}.moment-photo-viewer-count{position:fixed;bottom:16px;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--ink) 60%,transparent);color:var(--on-primary);font-size:var(--type-meta)}@media(max-width:580px){.moment-photo-thumb{flex-basis:108px}.moment-photo-thumb>button:first-child{height:84px}.moment-photo-viewer{padding:16px}}.moment-read-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.moment-read-detail:not(.has-narrative) .moment-read-actions{padding-top:0;border-top:0}.moment-read-actions .quiet-button,.moment-read-actions .delete-link{margin:0;padding:4px 0;font-size:var(--type-meta);line-height:1.2}.moment-read-actions .delete-link{margin-left:auto}@media(max-width:580px){.moments-filter-bar{display:flex;align-items:center}.moments-filter-bar>.horizontal-scroll-cue{flex:1}.moment-directory-row.global-item-row{grid-template-columns:minmax(0,1fr)}.moment-read-detail{gap:12px;padding-top:14px}}.recipe-editor-head{padding:25px 26px 0;border-bottom:0;background:transparent}.recipe-editor-head p:not(.eyebrow){display:none}.moment-editor>.editor-actions{position:sticky;right:-25px;bottom:-25px;left:-25px;z-index:2;margin:22px -25px -25px;padding:14px 25px;border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -10px 18px color-mix(in srgb,var(--ink) 5%,transparent)}.editor-actions>span:first-child{grid-column:1 / span 2}.recipe-editor>.editor-actions{right:0;bottom:0;left:0;margin:18px 0 0;padding:14px 26px}@media(max-width:760px){.recipe-editor-head{padding:20px 18px 0}}@media(max-width:600px){.recipe-editor-head{padding:18px 16px 0}.recipe-editor>.editor-actions{padding-inline:16px}}@media(max-width:580px){.recipe-editor>label,.recipe-editor>div:not(.recipe-editor-head):not(.editor-actions):not(.recipe-image-upload){margin-inline:16px}.moment-editor.recipe-editor>.recipe-image-upload{margin-inline:16px}.recipe-image-upload{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.moment-editor>.editor-actions{right:-16px;bottom:-16px;left:-16px;margin:12px -16px -16px;padding:12px 16px 16px}.recipe-editor>.editor-actions{right:0;bottom:0;left:0;margin:12px 0 0;padding:12px 16px 16px}}@media(min-width:581px)and (max-width:900px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.app-shell main{padding:48px 40px calc(92px + env(safe-area-inset-bottom))}.home-compose-backdrop,.home-compose-menu{display:none}.home-compose-button{display:grid;width:42px;height:42px;font-size:25px}.mobile-tab-bar{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:calc(68px + env(safe-area-inset-bottom));padding:7px 18px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fbfcf9ee;box-shadow:0 -5px 18px #1c3a3210;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-tab-bar button{display:grid;place-items:center;gap:4px;min-width:0;padding:5px 4px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:700 11px/1 var(--font-sans, "DM Sans"),sans-serif;cursor:pointer}.mobile-tab-bar .nav-icon{width:22px;height:22px}.mobile-tab-bar button.active{color:var(--pine);background:var(--sage)}.mobile-more-icon{height:22px;font-size:19px;line-height:15px;letter-spacing:1px}.mobile-more-overlay{position:fixed;inset:0;z-index:45;display:grid;align-items:end;background:#18362a3d}.mobile-more-sheet{padding:16px 28px calc(26px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fbfcf9;box-shadow:0 -12px 35px #18362a26}.mobile-more-sheet-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:16px}.mobile-more-sheet-head h2{text-align:center;font-size:22px}.mobile-more-sheet-head button{width:36px;height:36px;border:0;border-radius:50%;background:#edf2ed;color:var(--pine);font-size:24px;line-height:1}.mobile-more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mobile-more-grid button{display:grid;justify-items:center;gap:9px;min-height:94px;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:var(--type-body);font-weight:700}.mobile-more-grid button.active{border-color:var(--pine);background:var(--sage);color:var(--pine)}.mobile-more-grid .nav-icon{width:24px;height:24px}.mobile-more-account{display:grid;gap:6px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.mobile-more-account>button{min-height:50px;padding:11px 13px;border:1px solid var(--line);background:#fff}.mobile-more-account>button:first-child .avatar{width:36px;height:36px}.mobile-compose-grid{grid-template-columns:repeat(4,1fr)}.mobile-compose-grid button{min-height:82px}}@media(min-width:581px)and (max-width:720px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid>:last-child{grid-column:1 / -1}}@media(max-width:580px){.week-start-options{gap:5px;margin-top:16px}.week-start-options button{min-height:44px;padding-inline:2px;border-radius:9px;font-size:12px}}
