:root{--color-transparent: transparent;--opacity-full: 1;--angle-quarter: 90deg;--color-background: #F7F5F0;--color-backgroundRaised: #EFECE4;--color-surface: #FFFFFF;--color-surfaceStrong: #F1EEE7;--color-border: #E2DDD2;--color-borderHover: #CFC8BA;--color-borderStrong: #8A8272;--color-text: #1E2320;--color-textMuted: #4F5750;--color-textSubtle: #626A63;--color-textDisabled: #9AA09A;--color-accent: #2F6B4F;--color-accentHover: #275A42;--color-accentPressed: #1F4A36;--color-textInverse: #FFFFFF;--color-accentTint: #E6EFE9;--color-accentOnLight: #2F6B4F;--color-focus: #2F6B4F;--color-success: #2F6B4F;--color-warning: #8A5A00;--color-danger: #B42318;--color-info: #2F5E8A;--font-display: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--type-display: 2.25rem;--type-h1: 1.75rem;--type-h2: 1.375rem;--type-h3: 1.125rem;--type-lead: 1.0625rem;--type-base: 1rem;--type-small: .875rem;--type-label: .8125rem;--type-lineTight: 1.1;--type-lineHeading: 1.2;--type-lineBody: 1.5;--type-lineControl: 1;--type-tracking: -.015em;--type-labelTracking: .04em;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--size-touch: 2.75rem;--size-field: 3rem;--size-controlLarge: 3.25rem;--size-icon-sm: 1rem;--size-icon-md: 1.25rem;--size-icon-lg: 1.5rem;--size-readable: 60ch;--size-container: 32rem;--size-focus: 3px;--size-hairline: 1px;--radius-xs: 8px;--radius-md: 16px;--radius-avatar: 50%;--shadow-lift: 0 12px 32px rgba(16,24,40,.12);--motion-react: .17s;--motion-screen: .3s;--motion-ease: cubic-bezier(.2,.8,.2,1);--size-full: 100%;--size-viewport: 100dvh;--size-zero: 0;--size-bar: .75rem;--size-photo: 5rem;--size-preview: 18rem;--opacity-backdrop: .35;--opacity-disabled: .65;--layer-nav: 10;--layer-toast: 30;--layer-modal: 20}*{box-sizing:border-box}html{color-scheme:light;background:var(--color-background)}body{margin:var(--size-zero);color:var(--color-text);font-family:var(--font-body);font-size:var(--type-base);line-height:var(--type-lineBody);font-weight:var(--font-regular)}button,input{font:inherit;color:inherit}button,.button,.icon-button,.file-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--size-touch);min-width:var(--size-touch);padding-block:max(var(--space-sm),calc((var(--size-touch) - 1em - var(--size-hairline) * 2) / 2));padding-inline:var(--space-md);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);cursor:pointer;text-decoration:none;font-weight:var(--font-medium);white-space:nowrap;line-height:var(--type-lineControl);transition:background var(--motion-react) var(--motion-ease),border-color var(--motion-react) var(--motion-ease)}button:hover,.button:hover{border-color:var(--color-borderHover);background:var(--color-surfaceStrong)}button:disabled{cursor:default;opacity:var(--opacity-disabled)}:focus-visible{outline:var(--size-focus) solid var(--color-focus);outline-offset:var(--space-2xs)}a{color:inherit}svg{width:var(--size-icon-md);height:var(--size-icon-md);flex-shrink:var(--size-zero)}h1,h2,h3,p{margin:var(--size-zero)}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--type-lineHeading);letter-spacing:var(--type-tracking);overflow-wrap:anywhere}h1{font-size:var(--type-h1)}h2{font-size:var(--type-h2)}h3{font-size:var(--type-h3)}strong{font-weight:var(--font-semibold)}p{color:var(--color-textMuted)}small,.small{font-size:var(--type-small);color:var(--color-textSubtle)}ul{list-style:none;margin:var(--size-zero);padding:var(--size-zero)}input:not([type=checkbox]){width:var(--size-full);min-width:var(--size-zero);min-height:var(--size-field);border:var(--size-hairline) solid var(--color-borderStrong);border-radius:var(--radius-xs);background:var(--color-surface);padding:var(--space-sm)}input[type=checkbox]{width:var(--size-icon-md);height:var(--size-icon-md);accent-color:var(--color-accent);flex-shrink:var(--size-zero)}label{display:flex;flex-direction:column;gap:var(--space-xs);font-weight:var(--font-medium)}fieldset{border:var(--size-zero);padding:var(--size-zero);margin:var(--size-zero);min-width:var(--size-zero)}legend{padding:var(--size-zero);margin-bottom:var(--space-xs);font-weight:var(--font-medium)}.app{width:var(--size-full);max-width:var(--size-container);margin-inline:auto;padding:var(--size-zero) var(--space-lg) calc(var(--space-5xl) + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-lg);border-bottom:var(--size-hairline) solid var(--color-border);gap:var(--space-sm)}.brand{min-height:var(--size-touch);display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;font-size:var(--type-h3);font-weight:var(--font-semibold)}.brand-mark{display:flex;align-items:center;justify-content:center;width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-xs);background:var(--color-accent);color:var(--color-textInverse)}.icon-button{padding-block:calc((var(--size-touch) - var(--size-icon-md) - var(--size-hairline) * 2) / 2);padding-inline:var(--space-xs)}main{min-width:var(--size-zero)}.page-heading{padding-block:var(--space-xl);display:grid;gap:var(--space-sm)}.page-heading h1{font-size:var(--type-display);line-height:var(--type-lineTight)}.eyebrow{font-size:var(--type-label);letter-spacing:var(--type-labelTracking);color:var(--color-textSubtle)}.primary{background:var(--color-accent);color:var(--color-textInverse);border-color:var(--color-accent);padding-block:max(var(--space-md),calc((var(--size-controlLarge) - 1em - var(--size-hairline) * 2) / 2))}.primary:hover{background:var(--color-accentHover);border-color:var(--color-accentHover)}.primary:active{background:var(--color-accentPressed)}.stack{display:flex;flex-direction:column;gap:var(--space-lg)}.row,.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.section-title{margin-block:var(--space-sm) var(--space-md)}.section-title>span{font-size:var(--type-small);color:var(--color-textSubtle)}.task-list{border-block:var(--size-hairline) solid var(--color-border)}.task-row{display:flex;gap:var(--space-sm);align-items:center;padding:var(--space-md) var(--size-zero);border-bottom:var(--size-hairline) solid var(--color-border)}.task-row:last-child{border-bottom:var(--size-zero)}.task-name{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2xs);min-width:var(--size-zero);padding:var(--space-xs);border-color:var(--color-transparent);background:var(--color-transparent);text-align:left;line-height:var(--type-lineBody);white-space:normal;overflow-wrap:anywhere}.task-name strong{font-size:var(--type-h3)}.task-name>span{font-size:var(--type-small);color:var(--color-textSubtle)}.status{display:inline-flex;gap:var(--space-xs);align-items:center}.status svg{width:var(--size-icon-sm);height:var(--size-icon-sm)}.task-actions{display:grid;gap:var(--space-xs)}.done-button{position:relative;min-width:var(--size-controlLarge);padding-block:calc(var(--space-xs) + var(--size-icon-md) + var(--space-2xs)) var(--space-xs);padding-inline:var(--space-xs);border-color:var(--color-borderStrong);font-size:var(--type-label)}.done-button svg{position:absolute;top:var(--space-xs)}.done .done-button{color:var(--color-textInverse);background:var(--color-accent);border-color:var(--color-accent);opacity:var(--opacity-full)}.done .status{color:var(--color-accentOnLight)}.scan-button{width:var(--size-full);margin-block:var(--space-lg) var(--space-xl)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);background:var(--color-surfaceStrong);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.empty>svg{width:var(--size-icon-lg);height:var(--size-icon-lg)}summary{cursor:pointer;min-height:var(--size-touch);padding-block:var(--space-sm);font-weight:var(--font-medium)}summary span{margin-left:var(--space-xs);font-size:var(--type-small);color:var(--color-textSubtle)}.bottom-nav{position:fixed;bottom:var(--size-zero);left:var(--size-zero);right:var(--size-zero);z-index:var(--layer-nav);display:flex;max-width:var(--size-container);margin-inline:auto;padding:var(--space-xs) var(--space-md) calc(var(--space-xs) + env(safe-area-inset-bottom));background:var(--color-background);border-top:var(--size-hairline) solid var(--color-border)}.bottom-nav a{flex:1;min-width:var(--size-zero);min-height:var(--size-controlLarge);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2xs);text-decoration:none;color:var(--color-textSubtle);font-size:var(--type-label);border-radius:var(--radius-xs)}.bottom-nav a.active{color:var(--color-text);background:var(--color-backgroundRaised);font-weight:var(--font-semibold)}.sheet{width:min(var(--size-full),var(--size-container));max-width:var(--size-full);max-height:calc(var(--size-viewport) - var(--space-lg));margin:auto auto var(--size-zero);padding:var(--space-lg) var(--space-lg) calc(var(--space-xl) + env(safe-area-inset-bottom));color:var(--color-text);background:var(--color-background);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) var(--size-zero) var(--size-zero);box-shadow:var(--shadow-lift);overscroll-behavior:contain}.sheet::backdrop{background:var(--color-text);opacity:var(--opacity-backdrop)}.sheet.full{height:var(--size-viewport);max-height:var(--size-viewport);border-radius:var(--size-zero)}.sheet>header{margin-bottom:var(--space-lg)}.sheet>header h2{font-size:var(--type-h2)}.segments{display:flex;gap:var(--space-2xs)}.segments button{flex:1;padding-inline:var(--size-zero)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.chips button{padding-inline:var(--space-sm);font-size:var(--type-small)}button[aria-pressed=true]{border-color:var(--color-borderStrong);background:var(--color-backgroundRaised);color:var(--color-text)}.frequency{display:flex;gap:var(--space-xs)}.frequency input{text-align:center}.danger{color:var(--color-danger)}.error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:var(--size-hairline) solid var(--color-danger);border-radius:var(--radius-xs);margin-block:var(--space-md)}.error p{flex:1;min-width:var(--size-zero);color:var(--color-danger);overflow-wrap:anywhere}.error>svg{color:var(--color-danger)}.error button{width:var(--size-full)}.skeletons{display:grid;gap:var(--space-md);padding-block:var(--space-lg);color:var(--color-textSubtle)}.skeletons>div{height:var(--size-field);border-radius:var(--radius-xs);background:var(--color-backgroundRaised)}.toasts{position:fixed;bottom:calc(var(--space-4xl) + env(safe-area-inset-bottom));inset-inline:var(--space-md);max-width:calc(var(--size-container) - var(--space-xl));margin-inline:auto;z-index:var(--layer-toast);display:grid;gap:var(--space-xs);max-height:var(--size-preview);overflow-y:auto}.toast{padding:var(--space-xs) var(--space-md);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lift);background:var(--color-surface)}.toast .row>span:first-child{display:inline-flex;align-items:center;gap:var(--space-xs)}.preview{width:var(--size-full);max-height:var(--size-preview);object-fit:contain;border-radius:var(--radius-md);background:var(--color-backgroundRaised)}.photo-full{width:var(--size-full);height:auto}.suggestion{padding:var(--space-md);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid;gap:var(--space-md)}.check-label{flex-direction:row;align-items:center;min-height:var(--size-touch);gap:var(--space-sm)}.duplicate{font-size:var(--type-small);color:var(--color-textMuted)}.file-button{white-space:normal}.file-button input{max-width:var(--size-full);font-size:var(--type-small)}.auth{display:flex;flex-direction:column;gap:var(--space-xl);padding-block:var(--space-2xl)}.auth h1{font-size:var(--type-display)}.invite{display:grid;gap:var(--space-sm);padding:var(--space-lg);border:var(--size-hairline) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surfaceStrong);margin-bottom:var(--space-lg)}.break{overflow-wrap:anywhere}.members li{display:flex;align-items:center;gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--size-hairline) solid var(--color-border)}.members .small{display:block}.avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--size-touch);height:var(--size-touch);flex-shrink:var(--size-zero);border-radius:var(--radius-avatar);color:var(--color-text);background:var(--color-backgroundRaised);font-weight:var(--font-medium)}.history-day{margin-bottom:var(--space-xl)}.history-day h2{font-size:var(--type-h3);padding-block:var(--space-sm)}.history-row{display:flex;align-items:flex-start;gap:var(--space-sm);padding-block:var(--space-lg);border-bottom:var(--size-hairline) solid var(--color-border)}.grow{flex:1;min-width:var(--size-zero);overflow-wrap:anywhere}.points{font-weight:var(--font-medium)}.thumbnail{display:flex;width:var(--size-photo);height:var(--size-photo);padding:var(--size-zero);overflow:hidden;margin-top:var(--space-sm)}.thumbnail img{width:var(--size-full);height:var(--size-full);object-fit:cover}.month-control{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding-bottom:var(--space-lg);border-bottom:var(--size-hairline) solid var(--color-border)}.month-control h2{font-size:var(--type-h3);text-align:center}.verdict{padding-block:var(--space-xl);display:grid;gap:var(--space-md)}.verdict h2{font-size:var(--type-display);line-height:var(--type-lineTight)}.verdict-text{white-space:pre-line}.shares,.rebalance{padding-block:var(--space-xl);display:grid;gap:var(--space-md);border-top:var(--size-hairline) solid var(--color-border)}.share{display:grid;gap:var(--space-sm);padding-block:var(--space-xs)}.share p{font-size:var(--type-small)}.bar{height:var(--size-bar);background:var(--color-backgroundRaised);position:relative}.bar span{display:block;width:var(--share);height:var(--size-full);background:var(--color-text)}.bar i{position:absolute;top:calc(var(--space-2xs) * -1);bottom:calc(var(--space-2xs) * -1);left:clamp(var(--size-zero),var(--expected),calc(var(--size-full) - var(--size-focus)));width:var(--size-focus);background:var(--color-accent)}.rebalance-person{display:grid;gap:var(--space-sm);padding-block:var(--space-md)}.rebalance-person li{padding-block:var(--space-sm);border-bottom:var(--size-hairline) solid var(--color-border)}.rebalance-person li span{display:block}.offline{margin-block:var(--space-md);padding:var(--space-sm);border:var(--size-hairline) solid var(--color-borderStrong);border-radius:var(--radius-xs);font-size:var(--type-small)}.skip{position:fixed;top:var(--space-sm);left:var(--space-sm);padding:var(--space-sm);background:var(--color-surface);transform:translateY(calc(-1 * var(--space-5xl)));z-index:var(--layer-toast)}.skip:focus{transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}summary{list-style:none;display:flex;align-items:center;gap:var(--space-xs)}summary::-webkit-details-marker{display:none}details[open] summary svg{transform:rotate(var(--angle-quarter))}.home-heading{padding-block:var(--space-md);gap:var(--space-2xs)}.home-heading h1{font-size:var(--type-h2)}.invite{margin-top:var(--space-lg)}.invite-actions,.toast-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.toast-actions button{padding-inline:var(--space-sm);font-size:var(--type-small)}.visually-hidden{position:absolute;width:var(--size-hairline)!important;height:var(--size-hairline);min-height:var(--size-zero)!important;padding:var(--size-zero)!important;margin:calc(-1 * var(--size-hairline));overflow:hidden;clip-path:inset(var(--size-full));white-space:nowrap;border:var(--size-zero)!important}.sheet.full[open]{display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}.sheet.full>header{flex-shrink:var(--size-zero)}.scan-content{flex:1;overflow-y:auto;min-height:var(--size-zero);padding:var(--space-2xs)}.scan-footer{flex-shrink:var(--size-zero);padding-top:var(--space-md);border-top:var(--size-hairline) solid var(--color-border);background:var(--color-background)}.scan-footer button{width:var(--size-full)}.suggestion{gap:var(--space-xs)}.text-button{justify-self:start;padding-inline:var(--space-xs);border-color:var(--color-transparent);background:var(--color-transparent);text-decoration:underline}.task-name{text-decoration:none}.task-name:hover strong{text-decoration:underline}
