@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-ext-flar-normal-xI68MTCR.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-cyrillic-flar-normal-Bu0KP8vx.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-greek-flar-normal-DG3aN_VM.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-vietnamese-flar-normal-BwQqJCep.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-ext-flar-normal-BH1zfkhz.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Commissioner Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/commissioner-latin-flar-normal-CwFMBEr6.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Commissioner Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ground:#f5f5fc;--surface:#fdfdff;--ink:#1b1f3a;--muted:#5f6385;--line:#e2e3f1;--line-strong:#cbcde3;--accent:#5b5bd6;--accent-hover:#4747b8;--accent-ink:#fff;--accent-tint:#e6e6fa;--marigold:#f2b134;--danger:#c23b2a;--danger-tint:#f8e4e0;--brand-accent:#1b1f4b;--r-control:10px;--r-panel:16px;--r-sheet:22px;--rail:244px;--tabbar-h:62px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--night:#1b1f4b;--stars:radial-gradient(2.8px 2.8px at 24px 34px, #ffffffe6 50%, transparent 52%), radial-gradient(2px 2px at 96px 18px, #fff9 50%, transparent 52%), radial-gradient(3.6px 3.6px at 150px 90px, #ffe296e6 50%, transparent 52%), radial-gradient(2px 2px at 60px 120px, #ffffffb3 50%, transparent 52%), radial-gradient(2.4px 2.4px at 190px 160px, #fffc 50%, transparent 52%), radial-gradient(2px 2px at 120px 200px, #ffffff80 50%, transparent 52%), radial-gradient(2.8px 2.8px at 20px 180px, #ffffffb3 50%, transparent 52%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0d0f26;--surface:#15183a;--ink:#e9eaf8;--muted:#a1a5cf;--line:#25295a;--line-strong:#353a75;--accent:#9a9cf5;--accent-hover:#b3b5f8;--accent-ink:#0d0f26;--accent-tint:#24285a;--danger:#f08272;--danger-tint:#3a211d;--night:#090b1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#0d0f26;--surface:#15183a;--ink:#e9eaf8;--muted:#a1a5cf;--line:#25295a;--line-strong:#353a75;--accent:#9a9cf5;--accent-hover:#b3b5f8;--accent-ink:#0d0f26;--accent-tint:#24285a;--danger:#f08272;--danger-tint:#3a211d;--night:#090b1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-variation-settings:"FLAR" 0;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,p,ul,ol{margin:0}h1,h2,h3{font-variation-settings:"FLAR" 70;letter-spacing:-.012em;font-weight:700;line-height:1.15}h1{font-size:44px}h2{font-size:20px}h3{font-size:17px}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.num{font-variant-numeric:tabular-nums}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=search],input[type=number],input[inputmode=numeric],select,textarea{border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);width:100%;min-height:42px;padding:9px 12px}textarea{line-height:1.45}@media (pointer:coarse){input,select,textarea{font-size:max(16px,1em)!important}}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 75%, transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--accent)}.btn{border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);min-height:42px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;transition:background-color .12s;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--ink) 5%, var(--surface))}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--danger) 88%, black)}.btn-quiet{color:var(--muted);background:0 0;border-color:#0000}.btn-sm{min-height:34px;padding:0 12px;font-size:14px}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}.link-btn{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.form{gap:16px;display:grid}.form-row{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.form-actions .push{margin-right:auto}.sheet-body .form-actions{border-top:1px solid var(--line);background:var(--surface);margin:8px -22px -22px;padding:14px 22px 22px;position:sticky;bottom:-22px}.form-error{border-radius:var(--r-control);background:var(--danger-tint);color:var(--danger);padding:10px 12px;font-weight:500}.field{gap:6px;min-width:0;display:grid}.field-label{font-size:14px;font-weight:600}.field-hint{color:var(--muted);font-size:13px}.field-error{color:var(--danger);font-size:13px}.check-field{align-items:center;gap:10px;min-height:42px;font-weight:500;display:flex}.check-field input{width:18px;height:18px;accent-color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:4px 13px 4px 6px;font-weight:500;display:inline-flex}.chip:not(:has(.avatar)){padding-left:14px}.chip:hover{border-color:var(--ink)}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.segmented{border:1px solid var(--line-strong);border-radius:var(--r-control);background:var(--surface);justify-self:start;padding:3px;display:inline-flex}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 14px;font-weight:600}.segmented button.is-on{background:var(--accent-tint);color:var(--ink)}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{background:var(--swatch);border:0;border-radius:50%;width:32px;height:32px}.swatch.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.avatar{width:var(--size,28px);height:var(--size,28px);font-size:calc(var(--size,28px) * .46);border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid}.avatar-unknown,.avatar-more{background:var(--line);color:var(--muted)}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:calc(var(--size,24px) * -.3)}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface)}.check{--check:var(--accent);border:2px solid var(--line-strong);background:var(--surface);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;padding:0;transition:background-color .15s,border-color .15s;display:inline-grid}.check:hover{border-color:var(--check)}.check svg{fill:none;width:18px;height:18px;stroke:var(--accent-ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.check svg path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .22s ease-out}.check.is-checked{background:var(--check);border-color:var(--check)}.check.is-checked svg path{stroke-dashoffset:0}.sheet{border-radius:var(--r-sheet);background:var(--surface);width:min(560px,100vw - 32px);max-height:min(90dvh,880px);color:var(--ink);border:0;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 64px #0a0c2857}.sheet-narrow{width:min(420px,100vw - 32px)}.sheet::backdrop{background:#080a228c}.sheet[open]{animation:.18s ease-out sheet-in;display:flex}.sheet-body{width:100%;max-height:inherit;padding:20px 22px 22px;overflow:auto}.sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sheet-head h2{font-size:22px}.confirm-body{color:var(--muted);margin-bottom:18px}@keyframes sheet-in{0%{opacity:0;transform:translateY(10px)}}@media (width<=640px){.sheet,.sheet-narrow{border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}}.toasts{z-index:50;pointer-events:none;gap:8px;width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=860px){.toasts{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 14px)}}.toast{background:var(--ink);color:var(--ground);border-radius:12px;padding:12px 16px;font-weight:500;animation:.18s ease-out sheet-in}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.check:disabled{opacity:.4;cursor:not-allowed}.app{grid-template-columns:var(--rail) minmax(0, 1fr);min-height:100dvh;display:grid}.rail{background:var(--stars) 0 0 / 220px 220px, linear-gradient(180deg, var(--night), color-mix(in srgb, var(--night) 70%, #2d2a78));--ink:#eef0ff;--muted:#a9aed8;--accent:#b3b6ff;--accent-tint:#ffffff1f;--line:#ffffff1a;height:100dvh;color:var(--ink);border-right:1px solid #ffffff0f;flex-direction:column;align-self:start;gap:28px;padding:24px 14px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.rail .mark{--accent:#eceeff}.rail-head{gap:6px;padding:0 10px;display:grid}.rail-family{color:var(--muted);padding-left:2px;font-size:14px}.rail-nav{gap:2px;display:grid}.nav-item{border-radius:var(--r-control);color:var(--muted);align-items:center;gap:11px;padding:9px 10px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.nav-item.active{background:var(--accent-tint);color:var(--ink);font-weight:600}.nav-item.active svg{color:var(--accent)}.badge{background:var(--marigold);color:#1b1f3a;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:12px;font-weight:700;display:grid}.rail-people{margin-top:auto;padding:0 10px}.rail-people-title{color:var(--muted);letter-spacing:0;font-variation-settings:"FLAR" 0;margin-bottom:10px;font-size:13px;font-weight:600}.rail-people ul{gap:8px;padding:0;list-style:none;display:grid}.rail-people li{align-items:center;gap:10px;display:flex}.main{width:100%;max-width:1080px;padding:40px 44px 96px}.tabbar{display:none}.wordmark{font-variation-settings:"FLAR" 70;letter-spacing:-.01em;font-size:22px;font-weight:700}.logo{align-items:center;gap:10px;display:inline-flex}@media (width<=860px){.app{display:block}.rail{display:none}.main{padding:22px 16px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 28px)}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--accent);font-weight:700}.tab-icon{place-items:center;display:grid;position:relative}.tab-icon .badge{margin:0;position:absolute;top:-6px;right:-12px}}.more-list{gap:4px;padding:0;list-style:none;display:grid}.more-item{border-radius:var(--r-control);color:var(--ink);align-items:center;gap:14px;padding:14px 8px;font-size:17px;font-weight:500;text-decoration:none;display:flex}.more-item:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.page-title{letter-spacing:-.016em;font-size:clamp(30px,5vw,44px);line-height:1.04}.page-sub{color:var(--muted);margin-top:8px;font-size:17px}.head-actions{flex-wrap:wrap;gap:10px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface)}.panel-section{padding:18px 20px}.panel-section+.panel-section{border-top:1px solid var(--line)}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.section-head h2{font-size:18px}.section-link{font-size:14px;font-weight:600;text-decoration:none}.section-link:hover{text-decoration:underline}.empty{color:var(--muted);justify-items:start;gap:12px;padding:14px 0;display:grid}.empty p{max-width:46ch}.loading{color:var(--muted);padding:24px 0}.splash{place-items:center;min-height:100dvh;display:grid}.row{align-items:center;gap:12px;min-height:44px;padding:6px 0;display:flex}.row+.row{border-top:1px solid var(--line)}.row-text{overflow-wrap:anywhere;flex:1;min-width:0}.row-meta{color:var(--muted);white-space:nowrap;font-size:14px}.row-meta.is-late{color:var(--danger);font-weight:600}.auth{grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100dvh;display:grid}.auth-aside{isolation:isolate;background:var(--stars) 0 0 / 260px 260px, radial-gradient(120% 90% at 100% 0%, #3a3a9e 0%, transparent 60%), var(--night);color:#fff;flex-direction:column;justify-content:space-between;gap:48px;padding:40px clamp(28px,5vw,72px) 56px;display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";z-index:-1;background:radial-gradient(circle at 30% 28%,#8f92f7 0%,#5558d8 45%,#2c2f8f 100%);border-radius:50%;width:440px;height:440px;position:absolute;top:-150px;right:-150px;box-shadow:0 0 80px #787aff59}.auth-aside:after{content:"";z-index:-1;background:#f2b134;border-radius:50%;width:22px;height:22px;position:absolute;top:250px;right:70px}.auth-aside .wordmark{color:#fff}.auth-aside .mark{--accent:#eceeff}.auth-statement h1{max-width:12ch;font-size:clamp(36px,4.8vw,64px);line-height:1.02}.auth-statement p{opacity:.85;max-width:34ch;margin-top:20px;font-size:18px}.auth-main{flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;padding:40px clamp(24px,6vw,96px);display:flex}.auth-card{gap:22px;width:min(420px,100%);display:grid}.auth-card h2{font-size:30px}.auth-alt{color:var(--muted)}.auth-alt .link-btn,.auth-alt a{margin-left:6px}.lang-switch{gap:16px;display:flex}.lang-switch button{color:var(--muted);background:0 0;border:0;padding:0;font-size:14px}.lang-switch button.is-on{color:var(--ink);font-weight:700}.kid-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.kid-pick{border:1px solid var(--line-strong);border-radius:var(--r-panel);background:var(--surface);justify-items:center;gap:10px;padding:18px 12px;font-weight:600;display:grid}.kid-pick:hover{border-color:var(--ink)}.pin-input{letter-spacing:.4em;text-align:center;font-size:28px}@media (width<=860px){.auth{grid-template-columns:1fr}.auth-aside{padding:18px 20px}.auth-statement{display:none}.auth-main{justify-content:flex-start;padding:28px 20px 40px}}.today-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1000px){.today-grid{grid-template-columns:1fr}}.today-filter{margin-bottom:22px}.upcoming{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.upcoming h3{margin-bottom:10px}.day-group+.day-group{margin-top:18px}.day-title{color:var(--muted);letter-spacing:0;font-variation-settings:"FLAR" 0;margin-bottom:2px;font-size:14px;font-weight:600}.setup{border-radius:var(--r-panel);background:var(--accent-tint);gap:12px;margin-bottom:24px;padding:20px;display:grid}.setup p{max-width:52ch}.dinner{gap:4px;display:grid}.dinner-title{font-size:17px;font-weight:600}.preview-msg{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:7px 0;display:grid}.preview-msg p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-msg b{font-weight:600}.quick-add{gap:8px;margin-top:10px;display:flex}.event{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:58px 4px minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:12px 0;display:grid}.event:last-child{border-bottom:0}button.event:hover .event-title{text-underline-offset:3px;text-decoration:underline}.event.is-past{opacity:.55}.event-time{font-variant-numeric:tabular-nums;font-weight:600;line-height:1.3}.event-time small{color:var(--muted);font-size:13px;font-weight:400;display:block}.event-time.is-allday{color:var(--muted);font-size:13px;font-weight:500}.event-bar{background:var(--bar,var(--line-strong));border-radius:2px;width:4px}.event-main{min-width:0}.event-title{overflow-wrap:anywhere;font-weight:600}.event-meta{color:var(--muted);flex-wrap:wrap;gap:2px 12px;font-size:14px;display:flex}.event-meta span{align-items:center;gap:4px;display:inline-flex}.event-people{align-self:center}.cal{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.cal.is-week{grid-template-columns:minmax(0,1fr)}@media (width<=1000px){.cal{grid-template-columns:minmax(0,1fr)}}.cal-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.cal-title{margin-right:auto;font-size:24px}.cal-filter{margin-bottom:16px}.month{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);overflow:hidden}.month-head,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-head span{border-bottom:1px solid var(--line);color:var(--muted);padding:10px 8px;font-size:13px;font-weight:600}.day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-height:108px;color:inherit;text-align:left;flex-direction:column;gap:3px;padding:6px;display:flex}.day:nth-child(7n){border-right:0}.day:nth-last-child(-n+7){border-bottom:0}.day:hover{background:color-mix(in srgb, var(--ink) 4%, var(--surface))}.day.is-outside{background:color-mix(in srgb, var(--ground) 55%, var(--surface));color:var(--muted)}.day.is-selected{outline:2px solid var(--ink);outline-offset:-2px}.day-num{border-radius:13px;align-self:flex-start;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:14px;font-weight:600;display:inline-grid}.day.is-today .day-num{background:var(--marigold);color:#1b1f3a}.pill{border-left:3px solid var(--p);background:color-mix(in srgb, var(--p) 15%, var(--surface));text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:12px;line-height:1.35;display:block;overflow:hidden}.pill-more{color:var(--muted);padding-left:6px;font-size:12px}.dots{display:none}.dot{background:var(--p);border-radius:50%;width:6px;height:6px}@media (width<=640px){.day{align-items:center;gap:4px;min-height:58px}.day-num{align-self:center}.pill,.pill-more{display:none}.dots{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}}.agenda{padding:18px 20px;position:sticky;top:24px}@media (width<=1000px){.agenda{position:static}}.agenda h2{margin-bottom:8px}.week-day{border-top:1px solid var(--line);padding:14px 0 6px}.week-day:first-child{border-top:0}.week-day-head{align-items:center;gap:10px;margin-bottom:2px;display:flex}.week-day-head b{font-size:17px}.week-day.is-today .week-day-head b{background:var(--marigold);color:#1b1f3a;border-radius:999px;padding:1px 10px}.repeat-note{color:var(--muted);font-size:13px}.detail-list{gap:10px;margin-bottom:18px;display:grid}.detail-list div{align-items:flex-start;gap:10px;display:flex}.detail-list svg{color:var(--muted);flex:none;margin-top:3px}.lists{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:32px;display:grid}.list-nav{gap:2px;display:grid}.list-tab{border-radius:var(--r-control);color:var(--muted);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.list-tab:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.list-tab.is-on{background:var(--accent-tint);color:var(--ink);font-weight:600}.list-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.list-new{margin-top:10px}@media (width<=860px){.lists{grid-template-columns:minmax(0,1fr);gap:18px}.list-nav{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.list-tab{border:1px solid var(--line-strong);border-radius:999px;flex:none}.list-tab.is-on{border-color:#0000}.list-new{flex:none;margin-top:0}}.list-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.list-head h2{font-size:26px}.item{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:48px;padding:6px 2px;display:flex}.item-text{overflow-wrap:anywhere;flex:1;min-width:0}.item.is-done .item-text{color:var(--muted);text-decoration:line-through}.item-qty{color:var(--muted);font-size:14px}.item .icon-btn{opacity:0}.item:hover .icon-btn,.item .icon-btn:focus-visible{opacity:1}@media (hover:none){.item .icon-btn{opacity:.7}}.items-done-head{color:var(--muted);justify-content:space-between;align-items:center;margin:22px 0 4px;font-size:14px;font-weight:600;display:flex}.chore-filter{margin-bottom:20px}.chore-section+.chore-section{margin-top:26px}.chore-section h2{margin-bottom:4px;font-size:18px}.chore-section.is-overdue h2{color:var(--danger)}.chore{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:52px;padding:6px 2px;display:flex}.chore-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:0}.chore-main .row-meta{white-space:normal;font-size:13px;display:block}button.chore-main:hover .chore-title{text-underline-offset:3px;text-decoration:underline}.chore.is-done .chore-title{color:var(--muted);text-decoration:line-through}.chore-who{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.meals-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.meals-title{margin-right:auto;font-size:22px}.meal-day{grid-template-columns:112px repeat(var(--cols), minmax(0, 1fr));border-bottom:1px solid var(--line);align-items:start;gap:12px;padding:14px 0;display:grid}.meal-day-label{line-height:1.25;display:grid}.meal-day-label b{font-size:17px}.meal-day-label span{color:var(--muted);font-size:14px}.meal-day.is-today .meal-day-label b{background:var(--marigold);color:#1b1f3a;border-radius:999px;justify-self:start;padding:0 10px}.slot{border:1px dashed var(--line-strong);min-height:66px;color:var(--muted);text-align:left;background:0 0;border-radius:12px;align-content:start;gap:2px;padding:10px 12px;display:grid}.slot-label{font-size:13px}.slot.is-filled{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.slot.is-filled .slot-label{color:var(--muted)}.slot-title{overflow-wrap:anywhere;font-weight:600}.slot-sub{color:var(--muted);font-size:13px}button.slot:hover{border-color:var(--ink)}.slot.is-readonly{cursor:default}@media (width<=760px){.meal-day{grid-template-columns:1fr;gap:8px}.meal-day-label{grid-auto-flow:column;justify-content:start;align-items:baseline;gap:10px}}.main-chat{flex-direction:column;height:100dvh;padding-bottom:0;display:flex}@media (width<=860px){.main-chat{height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom));padding-bottom:0}}.chat-head{margin-bottom:8px}.chat-scroll{flex-direction:column;flex:1;min-height:0;padding:4px 0 16px;display:flex;overflow-y:auto}.chat-scroll>:first-child{margin-top:auto}.day-sep{color:var(--muted);align-self:center;margin:18px 0 4px;font-size:13px;font-weight:600}.msg{gap:3px;max-width:min(560px,88%);margin-top:12px;display:grid}.msg.is-grouped{margin-top:3px}.msg.is-me{align-self:flex-end}.msg-meta{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.msg.is-me .msg-meta{justify-content:flex-end}.msg-meta b{color:var(--ink);font-weight:600}.msg-row{align-items:center;gap:4px;display:flex}.msg.is-me .msg-row{flex-direction:row-reverse}.msg-delete{width:32px;height:32px;color:var(--muted);opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.msg-delete:hover,.msg-delete:focus-visible{background:var(--danger-tint);color:var(--danger);opacity:1}.msg-bubble{border:1px solid var(--line);border-left:4px solid var(--who,var(--line));background:var(--surface);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:6px 16px 16px;padding:9px 14px}.msg.is-me .msg-bubble{background:var(--accent-tint);border-color:#0000;border-radius:16px 6px 16px 16px}.older{align-self:center}.composer{border-top:1px solid var(--line);align-items:flex-end;gap:10px;padding:12px 0 18px;display:flex}.composer textarea{resize:none;max-height:140px}@media (width<=860px){.composer{padding-bottom:10px}}.settings{gap:24px;max-width:720px;display:grid}.settings h2{margin-bottom:14px}.settings-section{padding:22px 24px}.settings-section p.hint{color:var(--muted);margin:-6px 0 14px}.code{border:1px dashed var(--line-strong);border-radius:var(--r-control);letter-spacing:.12em;font-variant-numeric:tabular-nums;padding:8px 14px;font-size:22px;font-weight:700;display:inline-block}.member{align-items:center;gap:12px;min-height:52px;display:flex}.member+.member{border-top:1px solid var(--line)}.member-main{flex:1;min-width:0}.member-main b{font-weight:600}.member-role{color:var(--muted);font-size:13px}.invite-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.invite-row span{flex:1;min-width:160px}.stack{gap:14px;display:grid}.invite-row span.feed-dot{border-radius:50%;flex:none;width:10px;min-width:0;height:10px;margin-inline-end:8px;display:inline-block}.feed-meta{margin-top:2px;display:block}.event.is-external{cursor:default}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.pickup{align-items:center;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.pickup-icon{background:var(--accent-tint);width:42px;height:42px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.pickup-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pickup-label{color:var(--muted);font-size:13px}.pickup-who{align-items:center;gap:8px;font-size:18px;display:flex}.pickup-day{border-top:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.pickup-day-name{text-transform:capitalize;font-weight:600}.pack-progress{background:var(--line);border-radius:13px;height:26px;margin:2px 0 14px;position:relative;overflow:hidden}.pack-progress>span{background:var(--accent);opacity:.35;transition:width .25s;position:absolute;inset:0 auto 0 0}.pack-progress>small{padding-inline:12px;font-weight:600;line-height:26px;display:block;position:relative}.item-note{color:var(--muted);font-weight:400;display:block}.where-people{flex-wrap:wrap;gap:8px 22px;margin:4px 0 2px;display:flex}.where-person{align-items:center;gap:8px;display:inline-flex}.where-name{font-size:17px;font-weight:600}.where-place{background:var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:14px;display:inline-flex}.where-person.is-home .where-place{background:var(--accent-tint);color:var(--accent);font-weight:600}.avatar.is-online{position:relative;overflow:visible}.avatar.is-online:after{content:"";width:max(9px, calc(var(--size) * .34));height:max(9px, calc(var(--size) * .34));border:2px solid var(--surface,#fff);background:#2fb36b;border-radius:50%;position:absolute;bottom:-2px;right:-2px}.presence{color:var(--muted);font-size:12.5px}.presence.is-online{color:#1f8f53;font-weight:600}.rail-person{flex-direction:column;min-width:0;line-height:1.25;display:flex}
