:root{--color-primary:#f97316;--color-primary-hover:#ea580c;--color-primary-soft-bg:#fff7ed;--color-primary-soft-fg:#c2410c;--color-primary-border:#f9731699;--color-primary-ring:#f973164d;--color-primary-faint:#f9731633;--color-background:#fbf8f3;--color-surface:#fff;--color-surface-translucent:#fffbf5f0;--color-border:#e7e5e4;--color-text-primary:#1c1917;--color-text-secondary:#78716c;--color-text-placeholder:#a8a29e;--color-text-on-primary:#fff;--color-success-bg:#d1fae5;--color-success-fg:#047857;--color-warning-bg:#fef3c7;--color-warning-fg:#b45309;--color-muted-bg:#f5f5f4;--color-muted-bg-subtle:#f5f5f466;--color-muted-fg:#78716c;--color-destructive:#ef4444;--color-destructive-hover:#dc2626;--color-destructive-soft-bg:#ef44441a;--color-star-active:#fbbf24;--color-star-inactive:#d6d3d1;--color-overlay:#0006;--space-0_5:.125rem;--space-1:.25rem;--space-1_5:.375rem;--space-2:.5rem;--space-2_5:.625rem;--space-3:.75rem;--space-3_5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--radius-sm:.5rem;--radius-card:1rem;--radius-input:.75rem;--radius-button:.75rem;--radius-pill:9999px;--radius-sheet-top:1.5rem;--shadow-card:0 1px 2px 0 #0000000d;--shadow-fab:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-3xl:1.875rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--duration-fast:.15s;--duration-base:.25s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--motion-slide-sm:.5rem;--motion-sheet-close-threshold:6rem;--z-header:30;--z-bottom-nav:30;--z-fab:30;--z-overlay:40;--z-sheet:50;--z-toast:50;--layout-max-width:375px;--size-touch:2.75rem;--size-bottom-nav:3.5rem;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Sans", "Noto Sans JP", sans-serif}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--color-background);min-height:100%;color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.5;display:flex}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed}input,textarea,select{font:inherit;color:inherit;font-size:var(--font-size-base)}img,svg{display:block}ul{padding:0;list-style:none}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-xs{width:.875rem;height:.875rem}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}.icon-xl{width:1.75rem;height:1.75rem}.icon-2xl{width:2.5rem;height:2.5rem}.icon-muted{color:var(--color-text-secondary)}@keyframes dp-spin{to{transform:rotate(360deg)}}@keyframes dp-pulse{50%{opacity:.5}}.skeleton{background:var(--color-muted-bg);animation:2s cubic-bezier(.4,0,.6,1) infinite dp-pulse}
.page{width:100%;max-width:var(--layout-max-width);flex-direction:column;min-height:100dvh;margin-inline:auto;display:flex}.page--pad-sm{padding-bottom:var(--space-10)}.page--pad-fab{padding-bottom:var(--space-24)}.page--pad-actions{padding-bottom:var(--space-28)}.page-body{padding:var(--space-4)}.page-body--flush-y{padding-block:0}.page-header{z-index:var(--z-header);align-items:center;gap:var(--space-2);height:3.5rem;padding-inline:var(--space-2);border-bottom:1px solid var(--color-border);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.page-header__back{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-input);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.page-header__back:hover{background:var(--color-muted-bg)}.page-header__spacer{width:var(--space-2)}.page-header__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex:1;overflow:hidden}.page-header__action{padding-right:var(--space-1);align-items:center;display:flex}.header-edit{align-items:center;gap:var(--space-1);min-height:var(--size-touch);padding-inline:var(--space-2);border-radius:var(--radius-input);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-soft-fg);display:flex}.header-edit:hover{background:var(--color-primary-soft-bg)}.auth-required{align-items:center;gap:var(--space-4);padding-inline:var(--space-4);padding-block:var(--space-16);text-align:center;flex-direction:column;display:flex}.auth-required__icon{color:var(--color-primary)}.auth-required__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.auth-required__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:underline}.centered-state{align-items:center;gap:var(--space-3);padding-inline:var(--space-4);padding-block:var(--space-16);text-align:center;flex-direction:column;flex:1;display:flex}.centered-state--lg{padding-block:var(--space-20)}.muted-note{font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.bottom-nav{inset-inline:0;z-index:var(--z-bottom-nav);width:100%;max-width:var(--layout-max-width);height:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-inline:auto;display:flex;position:fixed;bottom:0}.bottom-nav__item{justify-content:center;align-items:center;gap:var(--space-0_5);min-height:var(--size-touch);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);flex-direction:column;flex:1;display:flex}.bottom-nav__item--active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}body:has(.bottom-nav){padding-bottom:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom))}body:has(.bottom-nav) .page{min-height:calc(100dvh - var(--size-bottom-nav) - env(safe-area-inset-bottom))}:is(body:has(.bottom-nav) .fab,body:has(.bottom-nav) .toast){bottom:calc(var(--size-bottom-nav) + env(safe-area-inset-bottom) + var(--space-4))}
.account-menu{align-items:center;display:flex;position:relative}.account-menu__trigger{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-input);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.account-menu__trigger:hover{background:var(--color-muted-bg)}.account-menu__popover{top:calc(100% + var(--space-1));z-index:var(--z-sheet);gap:var(--space-0_5);min-width:14rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-fab);transform-origin:100% 0;animation:dp-popover-in var(--duration-fast) var(--ease-out);flex-direction:column;display:flex;position:absolute;right:0}.account-menu__identity{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.account-menu__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.account-menu__email{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.account-menu__item{align-items:center;gap:var(--space-2);width:100%;min-height:var(--size-touch);padding-inline:var(--space-3);border-radius:var(--radius-input);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:left;transition:background-color .15s;display:flex}.account-menu__item:hover{background:var(--color-muted-bg)}.account-menu__icon{color:var(--color-text-secondary)}
.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-touch);padding-inline:var(--space-6);padding-block:var(--space-3);border-radius:var(--radius-button);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background-color .15s,color .15s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--block{width:100%}.btn--grow{flex:1}.btn--compact{padding-inline:var(--space-2);padding-block:var(--space-1)}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{border:1px solid var(--color-primary-border);color:var(--color-primary-soft-fg)}.btn--secondary:hover:not(:disabled){background:var(--color-primary-soft-bg)}.btn--destructive{color:var(--color-destructive)}.btn--destructive:hover:not(:disabled){background:var(--color-muted-bg)}.btn--ghost{color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-muted-bg)}.btn--danger{background:var(--color-destructive);color:var(--color-text-on-primary)}.btn--danger:hover:not(:disabled){background:var(--color-destructive-hover)}.spinner{color:currentColor;width:1.25rem;height:1.25rem;animation:1s linear infinite dp-spin}.spinner--sm{width:1rem;height:1rem}.chip{align-items:center;gap:var(--space-1);padding-inline:var(--space-2_5);padding-block:var(--space-0_5);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-soft-bg);color:var(--color-primary-soft-fg);display:inline-flex}.chip.is-selected{background:var(--color-primary);color:var(--color-text-on-primary)}.chip--interactive{min-height:2rem;transition:background-color .15s,color .15s}.input{width:100%;padding-inline:var(--space-3);padding-block:var(--space-2_5);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--font-size-base);color:var(--color-text-primary)}.input::placeholder{color:var(--color-text-placeholder)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring);outline:none}.input--textarea{resize:vertical}.input--narrow{width:8rem}.field{gap:var(--space-1_5);flex-direction:column;display:flex}.field--grow{flex:1}.field__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.field__required{margin-left:var(--space-0_5);color:var(--color-destructive)}.field__hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.field__input-wrap{position:relative}.field__input-wrap:has(.field__clear) .input{padding-right:var(--size-touch)}.field__clear{width:var(--size-touch);height:var(--size-touch);color:var(--color-text-placeholder);transition:color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.field__clear:hover{color:var(--color-text-secondary)}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);padding-inline:var(--space-4);padding-block:var(--space-16);text-align:center;flex-direction:column;display:flex}.empty-state__icon{color:var(--color-primary)}.empty-state__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-state__description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.empty-state__action{margin-top:var(--space-2)}.toast{inset-inline:var(--space-4);bottom:var(--space-6);z-index:var(--z-toast);max-width:var(--layout-max-width);padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-input);color:var(--color-text-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;box-shadow:var(--shadow-card);margin-inline:auto;position:fixed}.toast--success{background:var(--color-text-primary)}.toast--error{background:var(--color-destructive)}.bottom-sheet{z-index:var(--z-overlay);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet__overlay{background:var(--color-overlay);opacity:0;transition:opacity var(--duration-base) var(--ease-out);position:absolute;inset:0}.bottom-sheet.is-open .bottom-sheet__overlay{opacity:1}.bottom-sheet__panel{z-index:var(--z-sheet);width:100%;max-width:var(--layout-max-width);border-top-left-radius:var(--radius-sheet-top);border-top-right-radius:var(--radius-sheet-top);background:var(--color-surface);max-height:85vh;padding-top:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));will-change:transform;transition:transform var(--duration-base) var(--ease-out);position:relative;overflow-y:auto}.bottom-sheet__drag-handle{padding-top:var(--space-1);padding-bottom:var(--space-2);touch-action:none;cursor:grab}.bottom-sheet__drag-handle:active{cursor:grabbing}.bottom-sheet__grip{width:2.5rem;height:.25rem;margin-inline:auto;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--color-star-inactive)}.sheet-confirm{gap:var(--space-4);padding-inline:var(--space-5);padding-bottom:var(--space-4);flex-direction:column;display:flex}.sheet-confirm__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sheet-confirm__detail{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.sheet-confirm__warning{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-destructive)}.sheet-confirm__error{font-size:var(--font-size-sm);color:var(--color-destructive)}.logo{align-items:center;gap:var(--space-2);display:inline-flex}.logo__mark{flex-shrink:0;width:2rem;height:2rem}.logo__wordmark{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em;color:var(--color-text-primary)}.logo__wordmark-accent{color:var(--color-primary)}.logo--lg{gap:var(--space-3)}.logo--lg .logo__mark{width:3rem;height:3rem}.logo--lg .logo__wordmark{font-size:var(--font-size-3xl)}
.sk-line{width:100%;height:var(--font-size-sm);border-radius:var(--radius-sm)}.sk-block{border-radius:var(--radius-sm)}.sk-search-input{width:100%;height:var(--size-touch);border-radius:var(--radius-input)}.sk-tag-chip{border-radius:var(--radius-pill);flex-shrink:0;width:4rem;height:2rem}.sk-cal-segment{flex:1;height:2.25rem}.sk-cal-nav-btn{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-input);flex-shrink:0}.sk-cal-nav-label{width:6rem;height:var(--font-size-base)}.sk-cal-nav-today{width:2.5rem;height:var(--font-size-xs);margin-top:var(--space-1)}.day-row--skeleton{pointer-events:none}.sk-cal-weekday{width:1.5rem;height:var(--font-size-xs)}.sk-cal-day{width:1.25rem;height:var(--font-size-lg);margin-top:var(--space-1)}.sk-cal-summary{gap:var(--space-1);flex-direction:column;display:flex}.sk-cal-dish{width:70%;height:var(--font-size-sm)}.sk-cal-dish--short{width:45%}.sk-cal-badge{border-radius:var(--radius-pill);flex-shrink:0;width:3rem;height:1.25rem}.sk-plan-slot{border-radius:var(--radius-input);flex-shrink:0;width:4.5rem;height:2.5rem}.sk-plan-label{width:3rem;height:var(--font-size-sm)}.sk-plan-select{width:100%;height:var(--size-touch);border-radius:var(--radius-input)}.sk-rec-date{width:6rem;height:var(--font-size-sm)}.sk-rec-action{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-button);flex-shrink:0}.sk-rec-thumb{flex-shrink:0;width:2.25rem;height:2.25rem}.sk-rec-role{border-radius:var(--radius-input);flex-shrink:0;width:2.5rem;height:1.25rem}.sk-rec-title{width:60%;height:var(--font-size-sm)}.sk-rec-stars{width:7rem;height:1.25rem}.sk-detail-thumb{aspect-ratio:16/9;border-radius:var(--radius-card);width:100%}.sk-detail-title{width:70%;height:var(--font-size-xl)}.sk-detail-tag{border-radius:var(--radius-pill);width:3.5rem;height:1.25rem}.sk-detail-source{width:8rem;height:var(--font-size-sm)}.sk-detail-note-label{width:2.5rem;height:var(--font-size-xs)}.sk-detail-note{width:100%;height:var(--font-size-sm);margin-top:var(--space-2)}.sk-detail-note--short{width:50%}.sk-quick-thumb{aspect-ratio:16/9;border-radius:var(--radius-card);width:100%}.sk-quick-tag{border-radius:var(--radius-pill);width:3.5rem;height:1.5rem}.sk-quick-note{width:100%;height:var(--font-size-sm)}.sk-quick-note+.sk-quick-note{margin-top:var(--space-1_5)}.sk-quick-note--short{width:60%}.sk-quick-source{width:8rem;height:var(--font-size-sm)}.sk-field{gap:var(--space-1_5);flex-direction:column;display:flex}.sk-field__label{width:4rem;height:var(--font-size-xs)}.sk-field__input{width:100%;height:var(--size-touch);border-radius:var(--radius-input)}.sk-field__input--textarea{height:5rem}.sk-form-btn{width:100%;height:var(--size-touch);border-radius:var(--radius-button)}.sk-hh-title{width:8rem;height:var(--font-size-sm)}.sk-hh-name{width:7rem;height:var(--font-size-base)}.sk-hh-meta{width:5rem;height:var(--font-size-xs);margin-top:var(--space-1)}.sk-hh-action{width:4rem;height:var(--size-touch);border-radius:var(--radius-button);flex-shrink:0}.sk-hh-member{width:60%;height:var(--font-size-sm)}.sk-hh-member--short{width:40%}
.fab:disabled{cursor:progress}.action-row:disabled{cursor:progress;opacity:.5}.action-row.is-pending{opacity:1;color:var(--color-primary-soft-fg)}@keyframes dp-popover-in{0%{opacity:0;transform:translateY(calc(-1 * var(--motion-slide-sm))) scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.account-menu__popover,.calendar-track,.bottom-sheet__overlay,.bottom-sheet__panel,.dish-card{transition:none!important;animation:none!important}}
.home{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-8);background:var(--color-background);flex-direction:column;flex:1;display:flex}.home__title{display:flex}.home__subtitle{color:var(--color-text-secondary)}.home__section{width:100%;max-width:28rem}.auth-card{width:100%;max-width:28rem;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:center}.auth-card__title{margin-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.auth-card__text{margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-input);background:var(--color-text-primary);color:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:opacity .15s;display:flex}.auth-button:hover{opacity:.9}
.calendar{gap:var(--space-4);flex-direction:column;display:flex}.segmented{padding:var(--space-1);border-radius:var(--radius-input);background:var(--color-muted-bg);display:flex;position:relative}.segmented__thumb{inset-block:var(--space-1);left:var(--space-1);width:calc(50% - var(--space-1));border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-card);pointer-events:none;transform:translateX(calc(var(--segmented-active,0) * 100%));transition:transform var(--duration-base) var(--ease-standard);position:absolute}@media (prefers-reduced-motion:reduce){.segmented__thumb{transition:none}}.segmented__option{border-radius:var(--radius-sm);min-height:2.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);flex:1;transition:color .15s;position:relative}.segmented__option.is-active{color:var(--color-text-primary)}.calendar-nav{justify-content:space-between;align-items:center;display:flex}.calendar-nav__btn{width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-input);color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.calendar-nav__btn:hover{background:var(--color-muted-bg)}.calendar-nav__center{flex-direction:column;align-items:center;display:flex}.calendar-nav__label{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.calendar-nav__today{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary)}.calendar-swipe{touch-action:pan-y;overflow-x:clip}.calendar-track{--calendar-pane-gap:var(--space-4);align-items:flex-start;gap:var(--calendar-pane-gap);display:flex}.calendar-track.is-animating{transition:transform var(--duration-base) var(--ease-out)}.calendar-track__pane{flex:0 0 100%;min-width:0}.calendar__error{padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-input);background:var(--color-warning-bg);font-size:var(--font-size-sm);color:var(--color-warning-fg)}.week-list{gap:var(--space-2);flex-direction:column;display:flex}.day-row{align-items:center;gap:var(--space-3);padding-inline:var(--space-3);padding-block:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:flex}.day-row.is-today{border-color:var(--color-primary);background:var(--color-primary-soft-bg)}.day-row__date{width:3rem;min-height:var(--size-touch);border-radius:var(--radius-input);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s;display:flex}.day-row__date:hover{background:var(--color-muted-bg)}.day-row__weekday{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.day-row__day{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.day-row__summary{flex:1;min-width:0}.day-summary--empty{min-height:var(--size-touch);font-size:var(--font-size-sm);color:var(--color-text-placeholder);align-items:center;display:flex}.day-dishes{gap:var(--space-1);flex-direction:column;display:flex}.day-dishes__count{padding-inline:var(--space-1_5);padding-block:var(--space-0_5);border-radius:var(--radius-pill);background:var(--color-muted-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);align-self:flex-start}.day-dish{align-items:center;gap:var(--space-2);min-width:0;display:flex}.day-dish--link{min-height:var(--size-touch);margin-inline:calc(-1 * var(--space-1));padding-inline:var(--space-1);border-radius:var(--radius-input);transition:background-color .15s}.day-dish--link:hover{background:var(--color-muted-bg)}.day-dish--link .day-dish__title{color:var(--color-primary)}.day-dish__title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden}.day-dish__more{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.month-grid__weekdays{margin-bottom:var(--space-1);text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.month-grid__weekday{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.month-grid__cells{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.month-cell{aspect-ratio:1;justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-primary);flex-direction:column;transition:background-color .15s;display:flex}.month-cell:hover{background:var(--color-muted-bg)}.month-cell.is-today{border-color:var(--color-primary);background:var(--color-primary-soft-bg);font-weight:var(--font-weight-bold)}.month-cell.is-outside{color:var(--color-text-placeholder)}.day-dots{align-items:center;gap:var(--space-1);height:.5rem;display:flex}.dot{border-radius:var(--radius-pill);width:.375rem;height:.375rem}.dot--plan{background:var(--color-primary)}.dot--record{background:var(--color-success-fg)}.status-badge{padding-inline:var(--space-2);padding-block:var(--space-0_5);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.status-badge--recorded{background:var(--color-success-bg);color:var(--color-success-fg)}.status-badge--planned{background:var(--color-warning-bg);color:var(--color-warning-fg)}.legend{align-items:center;column-gap:var(--space-4);row-gap:var(--space-1);padding-inline:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.legend__item{align-items:center;gap:var(--space-1);display:flex}.legend__badge{padding-inline:var(--space-1_5);padding-block:var(--space-0_5);border-radius:var(--radius-pill);background:var(--color-warning-bg);font-weight:var(--font-weight-semibold);color:var(--color-warning-fg)}
.planner{gap:var(--space-5);flex-direction:column;display:flex}.planner__date-field{gap:var(--space-1_5)}.planner__date-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.planner__date-row{align-items:center;gap:var(--space-2);display:flex}.planner__date-row .input{flex:auto;min-width:0}.planner__date-nav{width:var(--size-touch);height:var(--size-touch);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.planner__date-nav:hover{border-color:var(--color-primary);color:var(--color-primary)}.slot-badge{align-items:center;gap:var(--space-1_5);padding-inline:var(--space-3);padding-block:var(--space-2_5);border-radius:var(--radius-input);background:var(--color-muted-bg);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-shrink:0;display:flex}.dish-list{gap:var(--space-4);flex-direction:column;display:flex}.dish-group{gap:var(--space-2);flex-direction:column;display:flex}.dish-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);transition:transform var(--duration-fast) var(--ease-out), box-shadow .15s ease, border-color .15s ease;flex-direction:column;display:flex}.dish-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dish-card.is-dragging{z-index:1;border-color:var(--color-primary);box-shadow:var(--shadow-fab);opacity:.97;position:relative}.dish-card__drag-handle{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-secondary);cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.dish-card__drag-handle:hover{border-color:var(--color-primary);color:var(--color-primary)}.dish-card.is-dragging .dish-card__drag-handle{cursor:grabbing}.dish-card__select-row{align-items:center;gap:var(--space-2);display:flex}.dish-card__select-row .input{flex:auto;min-width:0}.recipe-picker__trigger{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--size-touch);padding-inline:var(--space-2_5);padding-block:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;flex:auto;transition:border-color .15s;display:flex}.recipe-picker__trigger:hover{border-color:var(--color-primary)}.recipe-picker__trigger-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.recipe-picker__trigger-placeholder{min-width:0;color:var(--color-text-placeholder);flex:auto}.recipe-picker__trigger-caret{color:var(--color-text-secondary);flex-shrink:0}.recipe-picker__sheet{gap:var(--space-3);padding-inline:var(--space-5);padding-bottom:var(--space-2);flex-direction:column;display:flex}.recipe-picker__search{flex-shrink:0}.recipe-picker__clear{justify-content:center;align-items:center;gap:var(--space-1_5);padding-inline:var(--space-2_5);padding-block:var(--space-1_5);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;align-self:flex-start;transition:border-color .15s,color .15s;display:flex}.recipe-picker__clear:hover{border-color:var(--color-destructive);color:var(--color-destructive)}.recipe-picker__list{gap:var(--space-2);flex-direction:column;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.recipe-picker__option{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s;display:flex}.recipe-picker__option:hover{border-color:var(--color-primary)}.recipe-picker__option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft-bg)}.recipe-picker__option-body{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.recipe-picker__option-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden}.recipe-picker__option-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.recipe-picker__option-check{color:var(--color-primary);flex-shrink:0}.recipe-picker__empty{align-items:center;gap:var(--space-2);padding-block:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-direction:column;display:flex}.dish-card__remove{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.dish-card__remove:hover{border-color:var(--color-destructive);color:var(--color-destructive)}.dish-add{justify-content:center;align-items:center;gap:var(--space-1_5);padding-block:var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-input);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;transition:border-color .15s,color .15s;display:flex}.dish-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.dup-warning{align-items:flex-start;gap:var(--space-1_5);padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-input);background:var(--color-warning-bg);font-size:var(--font-size-xs);color:var(--color-warning-fg);display:flex}.dup-warning__icon{margin-top:var(--space-0_5);flex-shrink:0}.recent-mains{gap:var(--space-1_5);padding-top:var(--space-0_5);flex-direction:column;display:flex}.recent-mains__label{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.recent-mains__chips{gap:var(--space-1_5);flex-wrap:wrap;display:flex}.recent-main{padding-inline:var(--space-2_5);padding-block:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-muted-bg);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:default;transition:border-color .15s,color .15s}.recent-main.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft-bg);color:var(--color-primary-soft-fg)}.recent-main--reusable{cursor:pointer}.recent-main--reusable:not(.is-selected):hover{border-color:var(--color-primary);color:var(--color-primary)}.recent-main:disabled{cursor:default}.recent-main__meta{margin-left:var(--space-1);opacity:.7}.planner__error{font-size:var(--font-size-sm);color:var(--color-destructive)}.planner__notice{padding:var(--space-2_5) var(--space-3);border:1px solid var(--color-primary-border);border-radius:var(--radius-card);background:var(--color-primary-soft-bg);color:var(--color-primary-soft-fg);font-size:var(--font-size-sm)}.planner__actions{align-items:center;gap:var(--space-3);display:flex}.record-prompt{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-muted-bg-subtle);flex-direction:column;display:flex}.record-prompt__text{font-size:var(--font-size-xs);color:var(--color-text-secondary)}
.record-list{gap:var(--space-4);flex-direction:column;display:flex}.record-list__error{font-size:var(--font-size-sm);color:var(--color-destructive)}.record-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.record-card__header{justify-content:space-between;align-items:center;display:flex}.record-card__date{align-items:center;gap:var(--space-1_5);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex}.record-dishes{gap:var(--space-1_5);flex-direction:column;display:flex}.record-dish{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.record-dish__role{padding-inline:var(--space-2);padding-block:var(--space-0_5);border-radius:var(--radius-input);background:var(--color-muted-bg);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.record-dish__body{color:var(--color-text-primary)}.record-dish__link{color:var(--color-primary);text-underline-offset:2px}.record-dish__link:hover{text-decoration:underline}.record-dish__note{color:var(--color-text-secondary)}.record-card__memo{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.record-card__footer{justify-content:space-between;align-items:center;display:flex}.record-card__source{font-size:var(--font-size-xs);color:var(--color-text-placeholder)}.rating{align-items:center;gap:var(--space-0_5);display:flex}.rating__btn{padding:var(--space-0_5)}.rating__btn:disabled{cursor:not-allowed;opacity:.5}.rating__star{width:1.25rem;height:1.25rem;color:var(--color-text-placeholder);fill:none}.rating__star.is-filled{color:var(--color-star-active);fill:var(--color-star-active)}
.recipe-search{gap:var(--space-3);padding-inline:var(--space-4);padding-block:var(--space-3);flex-direction:column;display:flex}.search-box{position:relative}.search-box__icon{left:var(--space-3);pointer-events:none;color:var(--color-text-placeholder);position:absolute;top:50%;transform:translateY(-50%)}.input--search{padding-left:2.25rem;padding-right:var(--space-3)}.tag-filter{gap:var(--space-2);margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.tag-filter .chip{flex-shrink:0}.recipe-list-body{gap:var(--space-3);padding-inline:var(--space-4);flex-direction:column;flex:1;display:flex}.fab{right:var(--space-4);bottom:var(--space-6);z-index:var(--z-fab);border-radius:var(--radius-pill);background:var(--color-primary);width:3.5rem;height:3.5rem;color:var(--color-text-on-primary);box-shadow:var(--shadow-fab);justify-content:center;align-items:center;transition:background-color .15s;display:flex;position:fixed}.fab:hover{background:var(--color-primary-hover)}.recipe-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);display:flex;position:relative}.recipe-card.is-highlighted{box-shadow:0 0 0 2px var(--color-primary)}.recipe-card__link{gap:var(--space-3);flex:1;min-width:0;display:flex}.recipe-card__body{flex:1;min-width:0}.recipe-card__title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden}.recipe-card__tags{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.recipe-card__host{margin-top:var(--space-1);text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden}.recipe-card__menu{width:var(--size-touch);height:var(--size-touch);margin-top:calc(-1 * var(--space-1));margin-right:calc(-1 * var(--space-1));padding:var(--space-1);color:var(--color-text-placeholder);flex-shrink:0;justify-content:flex-end;align-items:flex-start;transition:color .15s;display:flex}.recipe-card__menu:hover{color:var(--color-text-secondary)}.thumbnail{object-fit:cover}.thumbnail--card{border-radius:var(--radius-input);flex-shrink:0;width:5rem;height:5rem}.thumbnail--detail{aspect-ratio:16/9;border-radius:var(--radius-card);width:100%}.thumbnail--mini{border-radius:var(--radius-sm);flex-shrink:0;width:2.25rem;height:2.25rem}.thumbnail--placeholder{background:var(--color-muted-bg);justify-content:center;align-items:center;display:flex}.thumbnail__icon{color:var(--color-text-placeholder)}.recipe-skeleton{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);display:flex}.recipe-skeleton__thumb{border-radius:var(--radius-input);flex-shrink:0;width:5rem;height:5rem}.recipe-skeleton__body{gap:var(--space-2);min-width:0;padding-block:var(--space-1);flex-direction:column;flex:1;display:flex}.skeleton-line{border-radius:var(--radius-sm)}.skeleton-line--title{width:66%;height:1rem}.skeleton-line--sub{width:33%;height:.75rem}.skeleton-line--meta{width:25%;height:.75rem}.action-menu{padding-bottom:var(--space-2)}.action-menu__title{text-overflow:ellipsis;white-space:nowrap;padding-inline:var(--space-5);padding-bottom:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);overflow:hidden}.action-row{align-items:center;gap:var(--space-3);width:100%;padding-inline:var(--space-5);padding-block:var(--space-3_5);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex}.action-row:hover{background:var(--color-muted-bg)}.action-row--destructive{color:var(--color-destructive)}.action-row__icon{flex-shrink:0}.recipe-quick-view{gap:var(--space-3);padding-inline:var(--space-5);padding-bottom:var(--space-2);flex-direction:column;display:flex}.recipe-quick-view__thumb{border-radius:var(--radius-card);display:block;overflow:hidden}.recipe-quick-view__head{gap:var(--space-1_5);flex-direction:column;display:flex}.recipe-quick-view__role{padding-inline:var(--space-2);padding-block:var(--space-0_5);border-radius:var(--radius-input);background:var(--color-muted-bg);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-self:flex-start}.recipe-quick-view__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.recipe-quick-view__tags{gap:var(--space-1_5);flex-wrap:wrap;display:flex}.recipe-quick-view__note{white-space:pre-wrap;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.recipe-quick-view__source{align-items:center;gap:var(--space-1);width:fit-content;min-height:var(--size-touch);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color .15s;display:inline-flex}.recipe-quick-view__source:hover{color:var(--color-primary-soft-fg)}.recipe-form{gap:var(--space-4);flex-direction:column;display:flex}.url-field__row{gap:var(--space-2);align-items:stretch;display:flex}.url-field__input-wrap{flex:1;min-width:0;position:relative}.url-field__input-wrap:has(.url-field__clear) .input{padding-right:var(--size-touch)}.url-field__clear{width:var(--size-touch);height:var(--size-touch);color:var(--color-text-placeholder);transition:color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.url-field__clear:hover{color:var(--color-text-secondary)}.url-field__input{flex:1;min-width:0}.url-field__paste{align-items:center;gap:var(--space-1);padding-inline:var(--space-3);border:1px solid var(--color-primary-border);border-radius:var(--radius-input);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-soft-fg);flex-shrink:0;transition:background-color .15s;display:inline-flex}.url-field__paste:hover{background:var(--color-primary-soft-bg)}.recipe-form__preview{gap:var(--space-1_5);flex-direction:column;display:flex}.recipe-form__preview-note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.recipe-form__error{font-size:var(--font-size-sm);color:var(--color-destructive)}.recipe-form__actions{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.tag-input{gap:var(--space-1_5);flex-direction:column;display:flex}.tag-input__tags{gap:var(--space-1_5);flex-wrap:wrap;display:flex}.tag{align-items:center;gap:var(--space-1);padding-block:var(--space-0_5);padding-left:var(--space-2_5);padding-right:var(--space-1);border-radius:var(--radius-pill);background:var(--color-primary-soft-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-soft-fg);display:inline-flex}.tag__remove{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:1.25rem;height:1.25rem;transition:background-color .15s;display:flex}.tag__remove:hover{background:var(--color-primary-faint)}.tag-suggestions{gap:var(--space-1_5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-suggestion{min-height:2rem;padding-inline:var(--space-2_5);padding-block:var(--space-0_5);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.tag-suggestion.is-active{border-color:var(--color-primary-border);background:var(--color-primary-soft-bg);color:var(--color-primary-soft-fg)}.recipe-detail__body{gap:var(--space-4);padding-inline:var(--space-4);padding-block:var(--space-4);flex-direction:column;flex:1;display:flex}.recipe-detail__head{gap:var(--space-2);flex-direction:column;display:flex}.recipe-detail__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.recipe-detail__tags{gap:var(--space-1_5);flex-wrap:wrap;display:flex}.recipe-detail__source{align-items:center;gap:var(--space-1);width:fit-content;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color .15s;display:inline-flex}.recipe-detail__source:hover{color:var(--color-primary-soft-fg)}.recipe-detail__note-card{padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.recipe-detail__note-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.recipe-detail__note{margin-top:var(--space-1);white-space:pre-wrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.recipe-detail__note--empty{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-placeholder)}.recipe-detail__date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.recipe-usage{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.recipe-usage__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.recipe-usage__empty{font-size:var(--font-size-sm);color:var(--color-text-placeholder)}.recipe-usage__primary{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.recipe-usage__count{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.recipe-usage__last,.recipe-usage__secondary{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.recipe-usage__recent{gap:var(--space-1_5);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.recipe-usage__recent-item{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex}.recipe-usage__recent-date{min-width:5.5rem}.recipe-usage__badge{padding-inline:var(--space-2);padding-block:var(--space-0_5);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);align-items:center;display:inline-flex}.recipe-usage__badge--record{background:var(--color-primary-soft-bg);color:var(--color-primary-soft-fg)}.recipe-usage__badge--plan{background:var(--color-muted-bg);color:var(--color-muted-fg)}.action-bar{inset-inline:0;z-index:var(--z-header);padding-inline:var(--space-4);padding-top:var(--space-3);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface-translucent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;bottom:0}.action-bar__inner{gap:var(--space-2);width:100%;max-width:var(--layout-max-width);margin-inline:auto;display:flex}.action-bar__inner>*{flex:1}
.household-manager{gap:var(--space-6);flex-direction:column;display:flex}.alert{padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-input);font-size:var(--font-size-sm)}.alert--error{background:var(--color-destructive-soft-bg);color:var(--color-destructive)}.household-section{gap:var(--space-3);flex-direction:column;display:flex}.household-section--divided{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.household-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.household-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;display:flex}.household-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.household-card__info{min-width:0}.household-card__name{text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden}.household-card__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.household-rename{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.household-rename__actions{gap:var(--space-2);display:flex}.badge-active{align-items:center;gap:var(--space-1);padding-inline:var(--space-2_5);padding-block:var(--space-1);border-radius:var(--radius-pill);background:var(--color-primary-soft-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-soft-fg);display:inline-flex}.member-list{gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-direction:column;display:flex}.member{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.member__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-primary);overflow:hidden}.member__role{margin-left:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.member__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.invite-box{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-input);background:var(--color-muted-bg);flex-direction:column;display:flex}.invite-box__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.invite-box__row{align-items:center;gap:var(--space-2);display:flex}.invite-box__code{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-xs);color:var(--color-text-primary);flex:1;overflow:hidden}.invite-box__copy{border-radius:var(--radius-input);width:2.25rem;height:2.25rem;color:var(--color-text-secondary);justify-content:center;align-items:center;transition:background-color .15s;display:flex}.invite-box__copy:hover{background:var(--color-surface)}.household-card__footer{align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-wrap:wrap;display:flex}.disband-summary{gap:var(--space-1);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-input);background:var(--color-muted-bg);flex-direction:column;display:flex}.disband-summary__item{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.disband-summary__count{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}

