.setup-screen{background:var(--bg);justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex;overflow-y:auto}.setup-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:calc(100dvh - 40px);padding:32px 28px;overflow-y:auto}.setup-step h1{margin:0 0 8px;font-size:1.5rem}.setup-sub{color:var(--text-dim);margin:0 0 18px;font-size:.90625rem;font-weight:600;line-height:1.4}.setup-error{color:var(--danger);margin:10px 0 0;font-size:.875rem;font-weight:700}.setup-success{color:var(--text);margin:10px 0 0;font-size:.875rem;font-weight:700}.setup-note{color:var(--text-dim);background:var(--bg-alt);border-radius:var(--radius-sm);margin-top:10px;padding:14px;font-size:.84375rem;font-weight:600;line-height:1.5}.setup-note code{background:var(--border);border-radius:4px;padding:1px 5px}.setup-progress{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.setup-dot{background:var(--border);border-radius:999px;width:10px;height:10px}.setup-dot.active{background:var(--accent-strong);border-radius:999px;width:26px}.setup-dot.done{background:var(--accent)}.setup-nav{justify-content:space-between;align-items:center;gap:10px;margin-top:24px;display:flex}.setup-nav-right{align-items:center;gap:14px;margin-left:auto;display:flex}.setup-btn{min-height:56px;padding-left:26px;padding-right:26px;font-size:1rem}.setup-code-input{letter-spacing:.3em;text-align:center;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);width:100%;color:var(--text);margin-bottom:8px;padding:18px 10px;font-size:2.125rem;font-weight:800;display:block}.setup-key-input{text-align:center;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);width:100%;color:var(--text);margin-bottom:8px;padding:18px 14px;font-size:max(1.125rem,16px);display:block}.setup-hint-toggle{margin:4px auto 0;display:block}.setup-hint-box{background:var(--bg-alt);border-radius:var(--radius-sm);text-align:left;color:var(--text-dim);margin-top:14px;padding:14px 16px;font-size:.84375rem;font-weight:600}.setup-hint-box p{margin:4px 0}.setup-hint-box code{background:var(--border);border-radius:4px;padding:1px 5px}.setup-role-cards{flex-direction:column;gap:14px;margin:10px 0;display:flex}.setup-role-card{border-radius:var(--radius);border:2px solid var(--border);background:var(--bg-alt);text-align:center;flex-direction:column;align-items:center;gap:6px;min-height:130px;padding:26px 16px;display:flex}.setup-role-card:active{transform:scale(.98)}.setup-role-emoji{font-size:2.25rem}.setup-role-title{color:var(--text);font-size:1.0625rem;font-weight:800}.setup-role-sub{color:var(--text-dim);font-size:.8125rem;font-weight:600}.setup-select{width:100%;min-height:52px}.setup-choice-row{gap:10px;display:flex}.setup-choice{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);min-height:56px;color:var(--text);flex:1;font-size:.9375rem;font-weight:800}.setup-choice.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 22%, var(--bg-alt))}.setup-add-btn{justify-content:center;width:100%;margin-top:4px}.setup-member-list{margin-top:18px}.setup-admin-unlock{background:var(--bg-alt);border-radius:var(--radius-sm);margin:10px 0;padding:16px}.setup-admin-unlock p{color:var(--text-dim);margin:0 0 10px;font-size:.875rem;font-weight:600}.setup-admin-unlock-row{gap:8px;display:flex}.setup-admin-unlock-row input{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--card);min-height:52px;color:var(--text);flex:1;padding:0 14px;font-size:max(1rem,16px)}.setup-provider-grid{grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 4px;display:grid}.setup-provider-card{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);min-height:64px;color:var(--text);text-align:center;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:.90625rem;font-weight:800;display:flex}.setup-provider-form{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.setup-admin-reveal{background:var(--bg-alt);border-radius:var(--radius-sm);margin-bottom:6px;padding:18px}.setup-warning{color:var(--danger);margin:0 0 14px;font-size:.875rem;font-weight:700;line-height:1.4}.setup-key-row{align-items:center;gap:14px;margin-bottom:14px;display:flex}.setup-key-value{word-break:break-all;color:var(--text);flex:1;font-family:ui-monospace,monospace;font-size:.8125rem;font-weight:700}.setup-chore-grid{flex-direction:column;gap:10px;display:flex}.setup-chore-card{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-alt);padding:4px}.setup-chore-card.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 14%, var(--bg-alt))}.setup-chore-tap{width:100%;min-height:56px;color:var(--text);align-items:center;gap:12px;padding:10px 12px;font-size:.96875rem;font-weight:800;display:flex}.setup-chore-emoji{font-size:1.375rem}.setup-chore-assign{padding:0 12px 12px}.setup-steps-list{text-align:left;color:var(--text-dim);padding-left:20px;font-size:.90625rem;font-weight:600;line-height:1.9}@media (width<=420px){.setup-card{padding:24px 18px}.setup-provider-grid{grid-template-columns:1fr}}@media (display-mode:standalone){.setup-screen{height:100lvh}}.setup-input-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:.8125rem;font-weight:800;display:block}.setup-step h1:focus{outline:none}:root{--bg:#fffbf5;--bg-alt:#fff4e8;--card:#fff;--card-soft:#fff8f0;--text:#3a2e27;--text-dim:#7a6b60;--border:#f1e4d6;--accent:#ff9e7a;--accent-ink:#fff;--accent-strong:color-mix(in srgb, var(--accent) 78%, black);--accent-soft:color-mix(in srgb, var(--accent) 30%, var(--bg));--accent-tint:color-mix(in srgb, var(--accent) 14%, var(--bg));--accent-text:var(--accent-strong);--danger:#b83232;--danger-fill:#b83232;--success:#2b8a4e;--prio-high:#c8610f;--prio-low:#6a9a7b;--chip-ink:#241a10;--shadow:0 6px 20px #785a3c1a, 0 1px 3px #785a3c14;--shadow-lg:0 16px 40px #785a3c29, 0 2px 8px #785a3c14;--radius:20px;--radius-sm:14px;--tab-h:64px;--header-h:96px;--text-scale:1;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--pad:20px;--gap:12px;--ctl-h:56px;--hour-h:60px;--avatar:56px;--header-clock:40px;--rail-w:88px;--font:"Nunito"}html{font-size:calc(16px * var(--text-scale))}:root[data-density=compact]{--pad:12px;--gap:8px;--ctl-h:44px;--hour-h:40px;--avatar:40px;--header-clock:28px;--header-h:64px;--tab-h:52px;--rail-w:64px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c1712;--bg-alt:#241d17;--card:#2a221b;--card-soft:#302720;--text:#f3eae0;--text-dim:#b3a395;--border:#3a3028;--danger:#ff8a8a;--prio-high:#f2a35e;--prio-low:#86b596;--accent-text:var(--accent);--shadow:0 6px 20px #00000059, 0 1px 3px #0000004d;--shadow-lg:0 16px 40px #00000073, 0 2px 8px #0000004d}:root[data-bg=warm]{--bg:#fffbf5;--bg-alt:#fff4e8;--card:#fff;--card-soft:#fff8f0;--border:#f1e4d6;--text:#3a2e27;--text-dim:#7a6b60}:root[data-bg=white]{--bg:#fff;--bg-alt:#f5f5f5;--card:#fff;--card-soft:#f7f7f7;--border:#e5e5e5;--text:#232323;--text-dim:#6e6e6e}:root[data-bg=gray]{--bg:#f1f2f4;--bg-alt:#e7e9ec;--card:#fff;--card-soft:#f7f8f9;--border:#dadde2;--text:#25282c;--text-dim:#5f6570}:root[data-bg=sage]{--bg:#f3f6f1;--bg-alt:#e9efe6;--card:#fff;--card-soft:#f6f9f4;--border:#dce6d6;--text:#263024;--text-dim:#62705c}:root[data-bg=cocoa]{--bg:#1c1712;--bg-alt:#241d17;--card:#2a221b;--card-soft:#302720;--border:#3a3028;--text:#f3eae0;--text-dim:#b3a395}:root[data-bg=charcoal]{--bg:#191a1c;--bg-alt:#212327;--card:#25272b;--card-soft:#2b2e33;--border:#35383d;--text:#edeef0;--text-dim:#a2a6ac}:root[data-bg=midnight]{--bg:#0f1420;--bg-alt:#161d2c;--card:#1b2333;--card-soft:#212a3c;--border:#2c3750;--text:#e7ecf7;--text-dim:#9aa6bf}:where(input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file],[type=hidden]),select,textarea){border-radius:var(--radius-sm);border:2px solid var(--border);background-color:var(--bg-alt);color:var(--text);font:inherit;max-width:100%;min-height:44px;padding:10px 14px;font-size:max(1rem,16px);font-weight:700}:where(input,select,textarea)::placeholder{color:var(--text-dim);opacity:1;font-weight:600}:where(input,select,textarea):focus-visible{border-color:var(--accent-text);outline:none}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font), system-ui, -apple-system, BlinkMacSystemFont, sans-serif;-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}input,textarea{-webkit-user-select:text;user-select:text}button{color:inherit;appearance:none;touch-action:manipulation;background-color:#0000;font-family:inherit}.app-shell{height:100dvh;padding-left:var(--safe-l);padding-right:var(--safe-r);flex-direction:column;display:flex;overflow:hidden}.header{min-height:var(--header-h);padding-top:calc(var(--safe-t) + var(--gap));padding-bottom:var(--gap);justify-content:space-between;align-items:center;gap:var(--gap);padding-left:var(--pad);padding-right:var(--pad);flex-shrink:0;display:flex}.header-left{flex-direction:column;gap:2px;min-width:0;display:flex}.family-name{font-size:calc(.45 * var(--header-clock) * var(--text-scale));color:var(--text-dim);letter-spacing:.02em;text-transform:uppercase;font-weight:800}.clock-row{align-items:baseline;gap:12px;display:flex}.clock{font-size:calc(var(--header-clock) * var(--text-scale));font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.date-text{font-size:calc(.4 * var(--header-clock) * var(--text-scale));color:var(--text-dim);font-weight:700}.member-filter-row{flex-shrink:0;gap:10px;padding:4px;display:flex;overflow-x:auto}.member-avatar{width:var(--avatar);height:var(--avatar);font-size:calc(.46 * var(--avatar));box-shadow:var(--shadow);cursor:pointer;border:3px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,opacity .15s;display:flex}.member-avatar:active{transform:scale(.92)}.member-avatar.dim{opacity:.5}.member-avatar.selected{border-color:var(--text)}.member-avatar-sm{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9375rem;display:flex}.tab-bar{min-height:calc(var(--tab-h) + var(--safe-b));padding:4px 0 calc(var(--safe-b) + 4px);border-top:1px solid var(--border);background:var(--card);flex-shrink:0;display:flex}.tab-btn{color:var(--text-dim);min-height:var(--ctl-h);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.8125rem;font-weight:700;text-decoration:none;display:flex}.tab-btn.active{color:var(--accent-text);box-shadow:inset 0 3px 0 var(--accent-text)}.app-shell-rail{flex-direction:row}.main-col{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-shell-rail .content{padding-bottom:10px}.app-shell-rail .fab{bottom:10px;right:14px}.app-shell-rail .toast{bottom:calc(var(--safe-b) + 16px)}.demo-bar{z-index:200;height:calc(env(safe-area-inset-top,0px) + 28px);padding-top:env(safe-area-inset-top,0px);background:var(--accent-strong);color:#fff;letter-spacing:.01em;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex;position:fixed;top:0;left:0;right:0}.toast.update-banner{top:calc(var(--safe-t) + 12px);cursor:pointer;border:none;font-family:inherit;bottom:auto}.nav-rail{width:var(--rail-w);padding:calc(var(--safe-t) + 12px) 6px 10px;background:var(--card);flex-direction:column;flex-shrink:0;gap:4px;display:flex;overflow-y:auto}.nav-rail-left{border-right:1px solid var(--border)}.nav-rail-right{border-left:1px solid var(--border)}.nav-rail-btn{border-radius:var(--radius-sm);color:var(--text-dim);min-height:var(--ctl-h);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 4px;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.nav-rail-btn.active{color:var(--accent-text);background:var(--card-soft)}.nav-rail-btn:last-child{margin-top:auto}.content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.scroll-y{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overflow-y:auto}.segmented{background:var(--card-soft);border-radius:999px;gap:2px;width:fit-content;padding:4px;display:flex}.segmented button{padding:calc(var(--gap) * .6) calc(var(--pad) * .7);color:var(--text-dim);min-height:var(--ctl-h);background:0 0;border:none;border-radius:999px;font-size:.875rem;font-weight:700}.segmented button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.calendar-toolbar{padding:calc(var(--gap) * .8) var(--pad);justify-content:space-between;align-items:center;gap:var(--gap);flex-wrap:wrap;flex-shrink:0;display:flex}.toolbar-nav{align-items:center;gap:8px;display:flex}.icon-btn{width:var(--ctl-h);height:var(--ctl-h);background:var(--card);box-shadow:var(--shadow);color:var(--text);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn:active{transform:scale(.94)}.today-btn{background:var(--card);box-shadow:var(--shadow);padding:calc(var(--gap) * .6) calc(var(--pad) * .7);color:var(--text);min-height:var(--ctl-h);border:none;border-radius:999px;font-size:.875rem;font-weight:700}.period-label{font-size:1.0625rem;font-weight:800}.fab{background:var(--accent-strong);width:60px;height:60px;color:var(--accent-ink);box-shadow:var(--shadow-lg);z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:22px;right:22px}.fab:active{transform:scale(.93)}.swipe-area{flex:1;min-height:0;position:relative;overflow:hidden}.grid-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;height:100%;overflow-y:auto}.grid-head{background:var(--bg);z-index:4;position:sticky;top:0}.week-header{border-bottom:1px solid var(--border);display:grid}.week-header-cell{padding:calc(var(--gap) * .65) 4px calc(var(--gap) * .8);text-align:center}.week-header-cell .wd{color:var(--text-dim);text-transform:uppercase;font-size:.75rem;font-weight:700}.week-header-cell .dn{margin-top:2px;font-size:1.25rem;font-weight:800}.week-header-cell.today .dn{background:var(--accent-strong);color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:2px auto 0;display:flex}.allday-row{border-bottom:1px solid var(--border);min-height:30px;display:grid}.allday-cell{border-left:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;padding:3px;display:flex}.allday-cell:first-child{border-left:none}.timegrid{display:grid;position:relative}.time-gutter{border-right:1px solid var(--border)}.time-label{height:var(--hour-h);color:var(--text-dim);text-align:right;padding-right:6px;font-size:.6875rem;transform:translateY(-7px)}.day-col{border-left:1px solid var(--border);position:relative}.hour-line{height:var(--hour-h);border-bottom:1px solid var(--border)}.day-col.today{background:color-mix(in srgb, var(--accent) 6%, transparent)}.now-line{background:var(--accent-strong);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.now-dot{background:var(--accent-strong);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.event-chip{color:var(--chip-ink);border-radius:10px;align-items:baseline;gap:4px;padding:4px 7px;font-size:.75rem;font-weight:700;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000026}.event-chip .t{opacity:.85;font-size:.6875rem;font-weight:600}.allday-chip{color:var(--chip-ink);border-radius:8px;align-items:baseline;gap:3px;padding:3px 8px;font-size:.6875rem;font-weight:700;display:flex;overflow:hidden}.timed-event{color:var(--chip-ink);border-radius:10px;padding:3px 6px;font-size:.71875rem;font-weight:700;line-height:1.25;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0003}.event-title-row{align-items:baseline;gap:4px;min-width:0;display:flex}.event-title-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:min(100%,3.5em);overflow:hidden}.event-title-pill{color:#241a10;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#fff9;border-radius:5px;padding:0 4px}:root[data-theme=dark] .event-title-pill{color:#fff;background:#0006}.event-avatars{white-space:nowrap;letter-spacing:1px;flex:0 auto;min-width:0;font-size:.8125rem;line-height:1;overflow:hidden}.schedule-avatars{margin-left:6px;font-size:.875rem}.month-grid{flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid}.month-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:calc(var(--gap) * .5);flex-direction:column;gap:3px;min-height:0;display:flex;overflow:hidden}.month-cell.dim .month-daynum{color:var(--text-dim);font-weight:600}.month-daynum{border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8125rem;font-weight:800;display:flex}.month-daynum.today{background:var(--accent-strong);color:var(--accent-ink)}.month-chip{color:var(--chip-ink);border-radius:6px;align-items:baseline;gap:3px;padding:2px 5px;font-size:.65625rem;font-weight:700;display:flex;overflow:hidden}.month-chip .event-avatars{font-size:.625rem}.month-more{color:var(--text-dim);cursor:pointer;font-size:.625rem;font-weight:700}.schedule-list{height:100%;padding:8px var(--pad) 100px;gap:var(--gap);flex-direction:column;display:flex}.schedule-day-label{color:var(--text-dim);text-transform:uppercase;padding-top:6px;font-size:.875rem;font-weight:800}.schedule-item{align-items:center;gap:var(--gap);background:var(--card);border-radius:var(--radius-sm);padding:calc(var(--gap) * 1.15) calc(var(--gap) * 1.3);box-shadow:var(--shadow);display:flex}.schedule-color-bar{border-radius:4px;flex-shrink:0;align-self:stretch;width:6px}.detail-color-bar{border-radius:4px;height:8px}.schedule-time{color:var(--text-dim);flex-shrink:0;width:68px;font-size:.8125rem;font-weight:800}.schedule-title{font-size:.9375rem;font-weight:800}.schedule-loc{color:var(--text-dim);font-size:.78125rem}.empty-card,.state-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;color:var(--text-dim);margin:24px 20px;padding:34px 20px;font-weight:700}.empty-card .emoji{margin-bottom:10px;font-size:2.5rem;display:block}.toast{left:50%;bottom:calc(var(--tab-h) + var(--safe-b) + 16px);background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);z-index:100;text-align:center;border-radius:999px;max-width:88vw;padding:12px 22px;font-size:.875rem;font-weight:700;position:fixed;transform:translate(-50%)}.sheet-backdrop{z-index:50;background:#1e140a59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:560px;max-height:86%;box-shadow:var(--shadow-lg);padding-bottom:calc(var(--safe-b) + 10px);border-radius:26px 26px 0 0;flex-direction:column;display:flex;overflow:hidden}.sheet:focus{outline:none}.sheet-drag{touch-action:none;cursor:grab;flex-shrink:0}.sheet-drag.no-drag{cursor:default}.sheet-drag.no-drag .sheet-grabber{visibility:hidden}.sheet.sheet-nudge{animation:.3s kw-nudge}@keyframes kw-nudge{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.sheet-grabber{background:var(--border);border-radius:3px;flex-shrink:0;width:42px;height:5px;margin:10px auto 4px}.sheet-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 20px 10px;display:flex}.sheet-title{font-size:1.1875rem;font-weight:800}.sheet-body{-webkit-overflow-scrolling:touch;padding:4px 20px 20px;overflow-y:auto}.sheet-actions{flex-shrink:0;gap:10px;padding:10px 20px 4px;display:flex}.field{margin-bottom:16px}.field-hint{color:var(--text-dim);margin:6px 0 0;font-size:.8125rem}.segmented.chore-repeat button{min-height:max(44px, var(--ctl-h));min-width:64px}.day-toggles{gap:4px;max-width:420px;display:flex}.day-toggles button{background:var(--bg-alt);border:2px solid var(--border);min-width:0;min-height:44px;color:var(--text-dim);border-radius:12px;flex:1 1 0;font-weight:800}.day-toggles button.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 22%, var(--bg-alt));color:var(--text)}.field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:.8125rem;font-weight:800;display:block}.field input[type=text],.field input[type=date],.field input[type=time],.field input[type=url],.field input[type=password],.field select,.field textarea{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);width:100%;color:var(--text);min-height:52px;padding:13px 14px;font-family:inherit;font-size:max(1rem,16px);font-weight:700}.field textarea{resize:none;min-height:70px;font-weight:600}.row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.row-datetime{grid-template-columns:minmax(0,3fr) minmax(0,2fr);column-gap:12px;display:grid}.field input[type=date],.field input[type=time]{appearance:none;min-width:0;display:block}.field input::-webkit-date-and-time-value{text-align:left}.field-error{color:var(--danger);margin:-6px 0 14px;font-size:.875rem;font-weight:700}.field select,.settings-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a7068' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:14px;padding-right:44px}:root[data-theme=dark] .field select,:root[data-theme=dark] .settings-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b0a79c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.field input[type=date],.field input[type=time]{padding-right:14px}.field input::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer;margin:0 2px 0 8px}.toggle-row{justify-content:space-between;align-items:center;padding:10px 2px;display:flex}.toggle-row label{color:var(--text);text-transform:none;margin:0;font-size:.9375rem;font-weight:800}.switch{background:var(--text-dim);border:none;border-radius:999px;flex-shrink:0;width:52px;height:32px;position:relative}.switch:after{content:"";position:absolute;inset:-6px -2px}.switch.on{background:var(--accent-strong)}.switch .knob{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on .knob{transform:translate(20px)}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--border);background:var(--bg-alt);color:var(--text);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-size:.875rem;font-weight:800;display:flex}.chip.active{border-color:var(--chip-color,var(--accent));background:color-mix(in srgb, var(--chip-color,var(--accent)) 22%, var(--bg-alt))}.btn{border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:14px 20px;font-size:.9375rem;font-weight:800;display:flex}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.6)}.btn-primary{background:var(--accent-strong);color:var(--accent-ink)}.btn-secondary{background:var(--bg-alt);color:var(--text);border:2px solid var(--border)}.btn-danger{background:var(--danger-fill);color:#fff}.btn:active{transform:scale(.97)}.btn-block{width:100%}.color-swatch-row{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{background-clip:content-box;border:3px solid #0000;border-radius:50%;width:44px;height:44px;padding:2px}.color-swatch.active{border-color:var(--text)}.color-swatch-custom{color:#fff;cursor:pointer;background:conic-gradient(#ff6b6b,#ffd166,#6fcf97,#4da3ff,#b39dff,#ff8fa3,#ff6b6b);place-items:center;display:grid;position:relative}.color-swatch-custom svg{filter:drop-shadow(0 1px 2px #00000073);pointer-events:none}.color-swatch-custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.emoji-swatch-row{flex-wrap:wrap;gap:8px;display:flex}.emoji-swatch{background:var(--bg-alt);border:2px solid var(--border);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.375rem;display:flex}.emoji-swatch.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 22%, var(--bg-alt))}.chores-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px 6px;display:flex}.date-strip{flex-shrink:0;gap:8px;padding:6px 20px 10px;display:flex;overflow-x:auto}.date-chip{background:var(--card);min-width:56px;box-shadow:var(--shadow);text-align:center;border:2px solid #0000;border-radius:14px;flex-shrink:0;padding:8px 4px}.date-chip.active{border-color:var(--accent-strong)}.date-chip .wd{color:var(--text-dim);text-transform:uppercase;font-size:.625rem;font-weight:800}.date-chip .dn{font-size:1.0625rem;font-weight:800}.chore-columns{gap:var(--gap);padding:6px var(--pad) 100px;scroll-snap-type:x proximity;flex:1;align-items:start;display:grid;overflow-x:auto}.chore-column{background:var(--card-soft);border-radius:var(--radius);padding:calc(var(--gap) * 1.3) var(--gap);gap:var(--gap);scroll-snap-align:start;flex-direction:column;min-width:0;display:flex;container:chore-col/inline-size}.chore-col-head{flex-direction:column;align-items:center;gap:8px;display:flex}.progress-ring-wrap{justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative}.progress-ring-wrap .avatar{font-size:1.625rem}.chore-col-name{font-size:.875rem;font-weight:800}.chore-col-pts{color:var(--text-dim);font-size:.75rem;font-weight:700}.chore-card{background:var(--card);border-radius:var(--radius-sm);padding:calc(var(--gap) * 1.15);box-shadow:var(--shadow);align-items:center;gap:var(--gap);transition:transform .12s,opacity .2s;display:flex;position:relative;overflow:hidden}.chore-card:active{transform:scale(.97)}.chore-card.done{background:var(--card-soft)}.chore-card.done .chore-emoji{opacity:.5}.chore-card.done .chore-title{color:var(--text-dim)}.chore-emoji{flex-shrink:0;font-size:1.625rem}.chore-info{flex:1;min-width:0}.chore-title{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.90625rem;font-weight:800;display:-webkit-box;overflow:hidden}.chore-title.done{text-decoration:line-through}.chore-pts{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;overflow:hidden}.chore-check{border:2.5px solid var(--border);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.chore-check.done{background:var(--success);border-color:var(--success)}.chore-check.done svg{animation:.35s pop}@keyframes pop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}@container chore-col (width<=170px){.chore-card{flex-wrap:wrap;gap:6px 8px;padding:10px}.chore-emoji{font-size:1.25rem}.chore-info{flex-basis:100%;order:1}.chore-check{margin-left:auto}}.confetti-piece{pointer-events:none;border-radius:2px;width:7px;height:7px;animation:.7s ease-out forwards confetti;position:absolute;top:40%;left:50%}@keyframes confetti{to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot));opacity:0}}.leaderboard-strip{padding:4px var(--pad) 2px;gap:calc(var(--gap) * .8);flex-direction:column;flex-shrink:0;display:flex}.leaderboard-segmented{align-self:flex-start}.leaderboard-pills{gap:var(--gap);scroll-snap-type:x proximity;padding-bottom:4px;display:flex;overflow-x:auto}.leaderboard-pill{align-items:center;gap:calc(var(--gap) * .8);background:var(--card);box-shadow:var(--shadow);padding:calc(var(--gap) * .65) var(--gap) calc(var(--gap) * .65) calc(var(--gap) * .65);scroll-snap-align:start;border-radius:999px;flex-shrink:0;min-width:190px;display:flex}.lb-rank{color:var(--text-dim);text-align:center;flex-shrink:0;width:18px;font-size:.75rem;font-weight:800}.lb-avatar{width:38px;height:38px;box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--lb-color,var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1875rem;display:flex}.lb-info{flex:1;min-width:0}.lb-name-row{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:.8125rem;font-weight:800;display:flex;overflow:hidden}.lb-name{text-overflow:ellipsis;overflow:hidden}.lb-crown{flex-shrink:0;font-size:.8125rem}.lb-streak{flex-shrink:0;font-size:.75rem}.lb-bar-track{background:var(--border);border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.lb-bar-fill{border-radius:3px;height:100%;transition:width .4s}.lb-points{flex-shrink:0;font-size:.9375rem;font-weight:800}.lb-spend{color:var(--text-dim);white-space:nowrap;margin-top:3px;font-size:.6875rem;font-weight:700}@media (prefers-reduced-motion:no-preference){.lb-avatar.crown-bounce{animation:.6s crown-bounce}}@keyframes crown-bounce{0%,to{transform:scale(1)rotate(0)}30%{transform:scale(1.18)rotate(-6deg)}55%{transform:scale(1.05)rotate(4deg)}}@media (width<=600px){.leaderboard-strip{padding:4px 14px 2px}.leaderboard-pill{min-width:160px;padding:6px 12px 6px 6px}.lb-avatar{width:32px;height:32px;font-size:1rem}}.settings-scroll{padding:16px var(--pad) 100px;gap:var(--gap);flex-direction:column;width:100%;max-width:720px;margin:0 auto;display:flex}.settings-tabs{z-index:3;background:var(--bg);margin:-16px calc(var(--pad) * -1) 0;padding:16px var(--pad) 4px;position:sticky;top:0}.settings-section{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:calc(var(--gap) * 1.5) calc(var(--gap) * 1.5) calc(var(--gap) * .65)}.settings-section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:12px;font-size:.8125rem;font-weight:800;display:flex}.settings-section-title+*{border-top:none!important}.settings-section-title+:is(.field,p){margin-top:14px}.settings-section-title+.member-row-list{margin-top:6px}.settings-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;display:flex}.settings-row:first-of-type{border-top:none}.settings-row-label{font-size:.9375rem;font-weight:800}.settings-row-sub{color:var(--text-dim);margin-top:2px;font-size:.78125rem;font-weight:600}.settings-select{border:2px solid var(--border);background-color:var(--bg-alt);color:var(--text);border-radius:10px;max-width:100%;min-height:44px;padding:10px 44px 10px 12px;font-size:.875rem;font-weight:700}.family-name-input{text-align:right;border-radius:10px;min-width:140px;padding:10px 12px}.theme-toggle{background:var(--bg-alt);border-radius:999px;padding:3px;display:flex}.theme-toggle button{color:var(--text-dim);background:0 0;border:none;border-radius:999px;align-items:center;min-height:40px;padding:8px 14px;display:flex}.theme-toggle button.active{background:var(--card);box-shadow:var(--shadow);color:var(--text)}.member-row-list{flex-direction:column;gap:10px;display:flex}.member-list-item{align-items:center;gap:12px;padding:10px 4px;display:flex}.member-list-item .name{flex:1;font-weight:800}.add-row-btn{color:var(--accent-text);background:0 0;border:none;align-items:center;gap:8px;min-height:48px;padding:14px 4px;font-size:.9375rem;font-weight:800;display:flex}.cal-list-item{border-top:1px solid var(--border);padding:12px 4px}.cal-list-item:first-of-type{border-top:none}.cal-list-top{align-items:center;gap:10px;display:flex}.cal-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.cal-name{flex:1;font-weight:800}.cal-check-row{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.cal-check-row input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:0}.cal-check-row .cal-name{flex:1;min-width:0}.cal-check-row.disabled{cursor:default;opacity:.7}.cal-kind-badge{color:var(--text-dim);background:var(--bg-alt);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.6875rem;font-weight:800}.cal-sub{color:var(--text-dim);margin-top:4px;padding-left:22px;font-size:.78125rem}.cal-sub.error{color:var(--danger)}.cal-actions{gap:16px;margin-top:4px;padding-left:22px;display:flex}.form-actions{align-items:center;gap:16px;margin:4px 0 18px;display:flex}.text-link{color:var(--accent-text);font-weight:800;text-decoration:none}.link-btn{color:var(--accent-text);background:0 0;border:none;min-height:44px;padding:6px 2px;font-size:.8125rem;font-weight:800}.connect-buttons{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.connect-btn{background:var(--bg-alt);border:2px solid var(--border);border-radius:var(--radius-sm);min-width:140px;color:var(--text);flex:30%;min-height:52px;padding:14px;font-weight:800}.connect-btn:disabled{opacity:.5}.provider-card{border-top:1px solid var(--border);padding:14px 4px}.provider-card:first-of-type{border-top:none}.provider-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.provider-chip{text-transform:uppercase;color:var(--text-dim);background:var(--bg-alt);border-radius:999px;padding:3px 8px;font-size:.6875rem;font-weight:800}.provider-chip.env,.provider-chip.ui{color:var(--text);background:color-mix(in srgb, var(--accent) 18%, var(--bg-alt))}.provider-redirect{align-items:center;gap:8px;display:flex}.provider-redirect code{text-overflow:ellipsis;white-space:nowrap;background:var(--bg-alt);border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:.75rem;overflow:hidden}.provider-guide{color:var(--text-dim);flex-direction:column;gap:4px;margin:8px 0 12px;padding-left:20px;font-size:.8125rem;display:flex}.key-item,.webhook-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 4px;display:flex}.key-item:first-of-type,.webhook-item:first-of-type{border-top:none}.new-key-banner{background:var(--bg-alt);border:2px dashed var(--accent-strong);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-bottom:12px;padding:14px;display:flex}.new-key-value{word-break:break-all;background:var(--card);border-radius:10px;padding:10px;font-family:ui-monospace,monospace;font-size:.875rem;font-weight:700}.recovery-grid{text-align:center;grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;font-family:ui-monospace,monospace;font-size:.9375rem;font-weight:700;list-style:none;display:grid}.recovery-grid li{background:var(--card);border-radius:10px;padding:8px}.lists-content{flex-direction:column;padding:0;display:flex;overflow:hidden}.lists-shell{gap:var(--gap);padding:var(--gap) var(--pad) calc(60px + 22px + var(--safe-b) + 16px);flex:1;min-height:0;display:flex}.lists-shell-phone{flex-direction:column;overflow-y:auto}.lists-col{flex-direction:column;flex-shrink:0;gap:10px;width:min(320px,40%);display:flex;overflow-y:auto}.lists-shell-phone .lists-col{width:100%}.list-card{background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:calc(var(--gap) * 1.1) calc(var(--gap) * 1.1) calc(var(--gap) * 1.1) calc(var(--gap) * 1.4);border:2px solid #0000;align-items:center;gap:12px;min-height:64px;display:flex;position:relative;overflow:hidden}.list-card.active{border-color:var(--list-color,var(--accent))}.list-card:active{transform:scale(.98)}.list-card-accent{background:var(--list-color,var(--accent));width:6px;position:absolute;top:0;bottom:0;left:0}.list-card-emoji{flex-shrink:0;font-size:1.625rem}.list-card-body{flex:1;min-width:0}.list-card-name{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:800;overflow:hidden}.list-card-sub{color:var(--text-dim);margin-top:2px;font-size:.78125rem;font-weight:700}.list-card-owners{flex-shrink:0;gap:-6px;display:flex}.list-card-owners .member-avatar-sm:not(:first-child){box-shadow:0 0 0 2px var(--card);margin-left:-10px}.list-new-btn{flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.lists-archived{flex:none}.lists-archived summary{box-sizing:border-box;min-height:44px;color:var(--text-dim);cursor:pointer;padding:12px 4px;font-size:.875rem;font-weight:800}.lists-archived-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:6px 4px;display:flex}.lists-archived-row .list-card-name{flex:1;min-width:0}.list-detail{background:var(--card);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);padding:calc(var(--gap) * 1.2);flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.lists-shell-phone .list-detail{box-shadow:none;padding:0 var(--pad) calc(60px + var(--safe-b) + 16px);background:0 0;border-radius:0}.list-detail-empty{justify-content:center;align-items:center}.list-detail-header{flex-shrink:0;align-items:center;gap:10px;display:flex}.checklist-hint{margin:0 0 10px}.checklist-rows{flex-direction:column;display:flex}.checklist-edit{text-align:center;margin-top:12px;display:block}.list-detail-header .btn{flex:none;padding-inline:22px}.list-detail-emoji{flex-shrink:0;font-size:1.75rem}.list-detail-title{flex:1;min-width:0}.list-detail-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.0625rem;font-weight:800;overflow:hidden}.list-detail-sub{color:var(--text-dim);font-size:.78125rem;font-weight:700}.list-add-bar{z-index:2;background:var(--card);flex-shrink:0;gap:8px;padding:2px 0 4px;display:flex;position:sticky;top:0}.list-add-bar input{min-width:0;min-height:var(--ctl-h);border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);color:var(--text);flex:1;padding:0 14px;font-size:.9375rem;font-weight:700}.list-add-bar .icon-btn{width:var(--ctl-h);height:var(--ctl-h);background:var(--accent-strong);color:var(--accent-ink);flex-shrink:0}.list-groupby{flex-shrink:0;align-self:flex-start}.list-store-chips{flex-shrink:0}.list-items{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.list-group{margin-top:6px}.list-group-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;padding:8px 4px 4px;font-size:.75rem;font-weight:800}.list-item-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 4px;display:flex}.list-item-row:first-child,.list-group .list-item-row:first-child{border-top:none}.list-item-row.done .list-item-title{color:var(--text-dim);text-decoration:line-through}.list-item-check{border:2.5px solid var(--border);color:#fff;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.list-item-check.done{background:var(--success);border-color:var(--success)}.list-item-body{cursor:pointer;flex:1;min-width:0}.list-item-title{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:700;display:-webkit-box;overflow:hidden}.list-item-title-row{align-items:flex-start;gap:4px;min-width:0;display:flex}.list-item-title-row .list-item-title{min-width:0}.prio-dot{background:var(--prio-low);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin:6px 4px 0 0}.prio-dot.prio-high{background:var(--prio-high)}.prio-dot.prio-urgent{background:var(--danger)}.list-item-row.urgent{box-shadow:inset 3px 0 0 var(--danger)}.list-item-row.done .prio-dot{opacity:.5}.segmented.priority-seg{width:100%}.segmented.priority-seg button{flex:1;justify-content:center;align-items:center;min-height:44px;padding-inline:6px;display:inline-flex}.segmented.priority-seg .prio-dot{margin:0 6px 0 0}.segmented.sort-options{border-radius:var(--radius-sm);flex-direction:column;width:100%}.segmented.sort-options button{text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;min-height:44px;padding:8px 14px;display:flex}.sort-option-name{color:var(--text)}.sort-options button.active .sort-option-name:after{content:"  ✓" / "";font-weight:900}.sort-option-hint{color:var(--text-dim);font-size:.75rem;font-weight:600}.list-sort-chip{margin-left:auto}.due-field{align-items:center;gap:8px;display:flex}.due-field input{flex:1;min-width:0}.due-field .btn{flex:none;width:auto;min-height:44px}.list-item-note{color:var(--text-dim);flex-shrink:0;margin-top:3px}.list-item-steps{color:var(--text-dim);align-items:center;gap:8px;margin-top:3px;font-size:.75rem;font-weight:700;display:flex}.list-item-progress{background:var(--bg-alt);border-radius:2px;flex:1;max-width:120px;height:4px;overflow:hidden}.list-item-progress>div{background:var(--success);border-radius:2px;height:100%}.field textarea.item-title-input{min-height:0}.steps-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.steps-head label{margin:0}.steps-mode{color:var(--text-dim);align-items:center;gap:8px;min-height:44px;font-size:.8125rem;font-weight:700;display:flex}.step-row{gap:8px;padding:4px 0}.step-body{cursor:default}.step-add{margin-top:4px}.step-focus{text-align:center;border-radius:var(--radius-sm);background:var(--bg-alt);flex-direction:column;align-items:center;gap:12px;padding:20px 12px;display:flex}.step-focus-count{color:var(--text-dim);font-size:.8125rem;font-weight:800}.step-focus-title{overflow-wrap:anywhere;font-size:1.5rem;font-weight:800}.step-focus-btn{min-width:200px;min-height:56px;font-size:1.125rem}.list-item-meta{color:var(--text-dim);margin-top:1px;font-size:.75rem;font-weight:600}.list-item-chip{color:var(--text-dim);background:var(--bg-alt);border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:.75rem;font-weight:800}.list-item-due{color:var(--accent-text)}.list-item-due.overdue{color:var(--danger);font-weight:800}.list-done-section{border-top:1px solid var(--border);margin-top:10px;padding-top:4px}.list-done-toggle{color:var(--text-dim);background:0 0;border:none;min-height:36px;padding:8px 4px;font-size:.8125rem;font-weight:800}.list-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.list-done-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.gate-screen{justify-content:center;align-items:center;height:100dvh;padding:24px;display:flex}.gate-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:420px;padding:34px 28px}.gate-card h1{margin:0 0 6px;font-size:1.375rem}.gate-card p{color:var(--text-dim);margin:0 0 20px;font-size:.875rem;font-weight:600}.pairing-card{max-width:460px}.pairing-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin:4px 0 18px;display:flex}.pairing-code{letter-spacing:.08em;font-variant-numeric:tabular-nums;background:var(--bg-alt);border-radius:var(--radius-sm);padding:18px 10px;font-size:3.5rem;font-weight:800}::-webkit-scrollbar{width:0;height:0}.bg-preview-dot{border:1px solid var(--border);vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}@media (width<=600px){.header-phone{min-height:0;padding:calc(var(--safe-t) + 16px) 14px 6px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px}.header-phone-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.header-phone-left{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.family-name-sm{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.75rem;font-weight:800;overflow:hidden}.clock-sm{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:1.25rem;font-weight:800}.date-text-sm{color:var(--text-dim);padding-left:1px;font-size:.71875rem;font-weight:700}.header-phone .member-filter-row{flex-shrink:0;gap:6px;max-width:45vw;padding:0}.header-phone .member-avatar{width:36px;height:36px;box-shadow:none;border-width:2px;font-size:.9375rem}.calendar-toolbar{gap:8px;padding:10px 14px}.segmented{gap:1px;padding:3px}.segmented button{min-height:34px;padding:7px 10px;font-size:.78125rem}.toolbar-nav{flex-wrap:nowrap;gap:4px;min-width:0;max-width:100%}.icon-btn{width:44px;height:44px}.today-btn{min-height:36px;padding:7px 10px;font-size:.8125rem}.period-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.875rem;overflow:hidden}.schedule-list,.chore-columns,.settings-scroll{padding-bottom:calc(60px + 22px + var(--safe-b) + 16px)}.chore-columns{flex-direction:column;display:flex;overflow-x:hidden}.chore-column{width:100%}.chore-col-head{flex-direction:row;justify-content:flex-start}.chore-check{width:48px;height:48px}.date-strip{gap:6px;padding:6px 14px 10px}.date-chip{min-width:40px;padding:6px 2px}.settings-scroll{padding-left:14px;padding-right:14px}.settings-row{flex-direction:column;align-items:stretch;gap:6px}.settings-row .settings-select,.settings-row select,.settings-row .theme-toggle,.settings-select{width:100%}.family-name-input{text-align:left;width:100%;min-width:0}.settings-tabs .segmented{width:100%}.settings-tabs .segmented button{flex:1;padding-inline:4px}.connect-btn{min-width:0}}@media (display-mode:standalone){.app-shell,.gate-screen{height:100lvh}}.any-emoji{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.any-emoji-current{flex-shrink:0;width:56px;height:56px;font-size:1.75rem}.any-emoji-field{flex-direction:column;flex:1;gap:4px;min-width:180px;display:flex}.any-emoji-field span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.any-emoji-error{color:var(--danger);flex-basis:100%}.settings-version{text-align:center;color:var(--text-dim);padding:4px 0 12px;font-size:.8125rem}.save-indicator{top:calc(var(--safe-t) + 10px);z-index:60;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);pointer-events:none;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.875rem;font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%)}.save-indicator.saved{color:var(--accent-text)}.spinner{border:2px solid var(--border);border-top-color:var(--accent-strong);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}:root[data-saving] .btn-primary,:root[data-saving] .btn-danger{pointer-events:none;opacity:.7}.chores-hint{text-align:center;color:var(--text-dim);padding:4px var(--pad) 8px;margin:0;font-size:.8125rem;font-weight:600}.gate-links{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.filter-btn{flex-shrink:0;margin-left:auto;position:relative}.filter-btn.active{background:var(--accent-strong);color:var(--accent-ink)}.filter-badge{background:var(--text);min-width:18px;height:18px;color:var(--bg);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:.6875rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.location-link{color:var(--accent-text);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.view-anim{height:100%}.btn,.chip,.icon-btn,.today-btn,.connect-btn,.emoji-swatch,.color-swatch{transition:transform .12s,background-color .2s,border-color .2s,color .2s,box-shadow .2s}.segmented button,.tab-btn,.nav-rail-btn,.theme-toggle button{transition:background-color .2s,color .2s,box-shadow .2s}.list-item-check{transition:background-color .2s,border-color .2s}@media (prefers-reduced-motion:no-preference){.sheet-backdrop{animation:.2s kw-fade}.sheet{animation:.32s cubic-bezier(.2,.9,.25,1) kw-sheet-up}.content{animation:.2s kw-fade}.settings-section{animation:.22s both kw-page-in}.view-anim{animation:.2s kw-fade}.view-anim.from-right{animation:.26s cubic-bezier(.2,.9,.25,1) kw-from-right}.view-anim.from-left{animation:.26s cubic-bezier(.2,.9,.25,1) kw-from-left}.toast{animation:.25s cubic-bezier(.2,.9,.25,1) kw-toast-in}.list-item-check.done{animation:.3s kw-pop}.list-item-row,.schedule-item,.chore-card{animation:.2s kw-fade}}@keyframes kw-fade{0%{opacity:0}to{opacity:1}}@keyframes kw-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes kw-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes kw-from-right{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes kw-from-left{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}@keyframes kw-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes kw-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.authorize-card{text-align:left}.authorize-card h1,.authorize-card>p:first-of-type{text-align:center}.authorize-scopes{flex-direction:column;gap:10px;margin:4px 0 18px;display:flex}.authorize-scope{text-align:left;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);color:var(--text);font:inherit;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.authorize-scope span{color:var(--text-dim);font-size:.8125rem;font-weight:600}.authorize-scope.active{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 16%, var(--bg-alt))}.authorize-card .link-btn{margin-left:auto;margin-right:auto;display:block}.inline-form{align-items:stretch;gap:10px;margin-top:10px;display:flex}.inline-form input{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-alt);min-width:0;color:var(--text);font:inherit;flex:1;min-height:48px;padding:10px 14px;font-size:max(1rem,16px);font-weight:700}.inline-form .btn{flex:none;min-height:48px;padding-block:0;padding-inline:22px}.key-item .inline-form{margin-top:0}.list-item-grip{width:44px;height:44px;color:var(--text-dim);cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:-8px;display:flex}.list-item-grip:active{cursor:grabbing}.list-item-grip.locked{opacity:.35;cursor:not-allowed}.drag-row{position:relative}.drag-row.dragging{z-index:5;background:var(--card);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);opacity:.95;pointer-events:none}.drag-row.dragging .list-item-grip{pointer-events:auto}.drag-row.drop-before:before,.drag-row.drop-after:after{content:"";background:var(--accent-strong);z-index:4;border-radius:2px;height:3px;position:absolute;left:0;right:0}.drag-row.drop-before:before{top:-2px}.drag-row.drop-after:after{bottom:-2px}.drag-row+.drag-row .list-item-row{border-top:1px solid var(--border)}.inline-form .link-btn{flex:none;align-self:center}.device-pref-row{grid-template-columns:5.5em minmax(0,1fr);align-items:center;gap:12px;display:grid}.device-pref-row>span{white-space:nowrap;font-size:.9375rem;font-weight:700}.device-pref-row.tall{align-items:start}.device-pref-row.tall>span{padding-top:10px}@media (width<=600px){.device-pref-row.tall{grid-template-columns:1fr;gap:6px}.device-pref-row.tall>span{padding-top:0}}.device-pref-row .settings-select{text-overflow:ellipsis;width:100%;min-width:0}.quiet-overlay{z-index:1000;cursor:pointer;background:#050403;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.quiet-clock{text-align:center;color:#8a7f74;opacity:.55;transition:transform 2s}.quiet-time{font-variant-numeric:tabular-nums;font-size:clamp(4rem,16vw,12rem);font-weight:800;line-height:1}.quiet-date{margin-top:12px;font-size:clamp(1.1rem,3vw,2rem);font-weight:700}.saver-stage{transition:transform 2s;position:absolute;inset:0}.saver-img{object-fit:contain;background:#050403;width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.saver-img{animation:2.5s kw-fade}}@media (prefers-reduced-motion:reduce){.saver-stage{transition:none}}.saver-corner{color:#8a7f74;opacity:.7;text-shadow:0 1px 3px #000;max-width:min(60vw,520px);position:absolute}.saver-corner-0{bottom:24px;left:24px}.saver-corner-1{text-align:right;bottom:24px;right:24px}.saver-corner-2{text-align:right;top:24px;right:24px}.saver-corner-3{top:24px;left:24px}.saver-time{font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;line-height:1}.saver-date{margin-top:4px;font-size:clamp(.85rem,1.6vw,1.05rem);font-weight:700}.saver-caption{margin-top:6px;font-size:.85rem;font-weight:600}.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}.skip-link,.focus-reveal{position:absolute;left:-9999px}.skip-link:focus,.focus-reveal:focus{left:auto}.skip-link:focus{top:calc(var(--safe-t) + 8px);z-index:300;position:fixed;left:8px}.skip-link{background:var(--card);color:var(--text);border:2px solid var(--accent-text);border-radius:999px;min-height:44px;padding:10px 18px;font-weight:800}.focus-reveal:focus{position:static}main:focus{outline:none}h2.settings-section-title,h2.sheet-title,h2.period-label,h2.list-detail-name{margin:0}h2.settings-section-title:focus{outline:none}.settings-panel{gap:var(--gap);flex-direction:column;display:flex}button.week-header-cell,button.month-daynum,.plain-btn{color:inherit;cursor:pointer;border:none;padding:0;font-family:inherit}button.week-header-cell,.plain-btn{background:0 0;width:100%}button.week-header-cell{padding:calc(var(--gap) * .65) 4px calc(var(--gap) * .8)}button.week-header-cell:focus-visible{outline-offset:-3px;border-radius:10px}h2.period-label:focus{outline:none}button.month-daynum:not(.today){background:0 0}.plain-btn{text-align:left;display:block}:where(.plain-btn){font-size:inherit;font-weight:inherit}.schedule-item,.timed-event,.event-chip,.allday-chip,.month-chip,.member-list-item,.cal-list-item{cursor:pointer}.chip.active:before{content:"✓" / "";font-weight:900}.emoji-swatch.active,.day-toggles button.active,.setup-choice.active,.authorize-scope.active{box-shadow:0 0 0 2px var(--accent-text)}.week-header-cell.today .wd,.month-daynum.today{font-weight:900}.timed-event{min-height:24px}@media (width<=600px){.segmented button,.today-btn,.list-done-toggle{min-height:44px}.header-phone .member-avatar{position:relative}.header-phone .member-avatar:after{content:"";position:absolute;inset:-6px -3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.confetti-piece{display:none}.chore-check.done svg{animation:none}}@media (prefers-contrast:more){:root,:root[data-bg][data-theme]{--text-dim:var(--text);--border:color-mix(in srgb, var(--text) 60%, var(--bg))}.link-btn,.text-link,.add-row-btn{text-underline-offset:3px;text-decoration:underline}.btn-secondary,.chip,.connect-btn,.emoji-swatch,.date-chip,.setup-choice,.authorize-scope,.list-item-check,.chore-check{border-color:var(--text)}.icon-btn,.today-btn,.segmented button.active{border:2px solid var(--text)}.segmented{border:2px solid var(--border)}.event-title-pill{background:#ffffffd9}:root[data-theme=dark] .event-title-pill{background:#000000b3}.member-avatar.dim{opacity:.7}:focus-visible{outline-width:3px}}.dialog-body{color:var(--text-dim);margin:0 0 12px;font-weight:600;line-height:1.45}.sheet-dialog .sheet-actions .btn{min-height:44px}@media (width>=601px){.sheet-backdrop-dialog{align-items:center;padding:24px}.sheet-dialog{border-radius:var(--radius);max-width:420px;padding-bottom:16px}.sheet-dialog .sheet-grabber{visibility:hidden;height:0;margin:6px auto 0}}@media (width>=601px) and (prefers-reduced-motion:no-preference){.sheet-dialog{animation:.18s kw-dialog-in}}@keyframes kw-dialog-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}button.toast{cursor:pointer;border:none;font-family:inherit}.now-next{margin:0 var(--pad) calc(var(--gap) * .5);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow);flex-direction:column;flex-shrink:0;gap:4px;padding:10px 14px;display:flex}.now-next-row{flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:.9375rem;line-height:1.3;display:flex}.now-next-tag{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-strong);color:var(--accent-ink);border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:900}.now-next-tag.next{background:var(--bg-alt);color:var(--text);border:1px solid var(--border)}.now-next-title{font-weight:800}.now-next-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:700}@media (width<=600px){.now-next{margin:0 12px 6px;padding:8px 12px}.now-next-row{font-size:.875rem}}.leave-by{color:var(--text-dim);font-size:.8125rem;font-weight:700}.leave-marker{z-index:2;pointer-events:none;border-top:2px dashed;height:0;position:absolute}.leave-marker span{background:var(--bg);border-radius:4px;font-size:.6875rem;line-height:1;position:absolute;top:-9px;left:2px}.transition-banner{z-index:90;left:50%;top:calc(var(--safe-t) + 18vh);border-radius:var(--radius);background:var(--card);width:min(720px,100vw - 32px);color:var(--text);border:3px solid var(--accent-strong);box-shadow:var(--shadow-lg);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 24px;font-family:inherit;display:flex;position:fixed;transform:translate(-50%)}.transition-banner-msg{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;line-height:1.2}.transition-banner-hint{color:var(--text-dim);font-size:.875rem;font-weight:700}@media (prefers-reduced-motion:no-preference){.transition-banner{animation:.6s kw-fade}}:root[data-lowstim]{--shadow:none;--shadow-lg:0 0 0 1px var(--border);--card-soft:var(--card);--gap:16px;--pad:24px}:root[data-lowstim] *,:root[data-lowstim] :before,:root[data-lowstim] :after{transition:none!important;animation:none!important}:root[data-lowstim] .timed-event,:root[data-lowstim] .event-chip,:root[data-lowstim] .allday-chip,:root[data-lowstim] .month-chip{box-shadow:inset 0 0 0 1px var(--border);padding-left:10px;background:linear-gradient(to right, transparent 5px, var(--card) 5px), var(--ev-bg)!important;color:var(--text)!important}:root[data-lowstim] .event-title-pill{color:inherit;background:0 0;padding:0}:root[data-lowstim] .day-col.today{background:0 0}:root[data-lowstim] .chore-card,:root[data-lowstim] .list-card,:root[data-lowstim] .leaderboard-pill,:root[data-lowstim] .date-chip:not(.active),:root[data-lowstim] .now-next,:root[data-lowstim] .chore-column{border:1px solid var(--border)}:root[data-lowstim] .confetti-piece,:root[data-lowstim] .lb-crown{display:none}:root[data-lowstim] .lb-avatar{box-shadow:none}:root[data-lowstim] .color-swatch-custom{background:var(--bg-alt);color:var(--text)}@media (width<=600px){:root[data-lowstim]{--pad:16px}}:root[data-density=icons] .event-emoji{vertical-align:middle;margin-right:.15em;font-size:1.5em;line-height:1}:root[data-density=icons] .event-avatars{font-size:1.125rem}:root[data-density=icons] .month-chip .event-avatars{font-size:.875rem}:root[data-density=icons] .timed-event,:root[data-density=icons] .event-chip,:root[data-density=icons] .allday-chip{font-weight:600}:root[data-density=icons] .event-title-row{flex-direction:row-reverse;justify-content:flex-end;align-items:center}:root[data-density=icons] .schedule-avatars{font-size:1.375rem}:root[data-density=icons] .chore-emoji{font-size:2.5rem}:root[data-density=icons] .chore-title{font-size:.8125rem;font-weight:700}:root[data-density=icons] .list-card-emoji{font-size:2.25rem}:root[data-density=icons] .list-card-name{font-size:.875rem;font-weight:700}:root[data-density=icons] .list-item-row .member-avatar-sm{width:40px;height:40px;font-size:1.375rem}:root[data-density=icons] .list-item-title{-webkit-line-clamp:3;line-clamp:3;font-weight:600}.activities{padding:var(--pad);flex:1}.activity-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.activity-card{box-sizing:border-box;background:var(--card);border-radius:var(--radius);height:100%;box-shadow:var(--shadow);padding:calc(var(--pad) * 1.1);color:var(--text);border:3px solid #0000;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;display:flex}a.activity-card:active{transform:scale(.98)}.activity-card-icon{background:color-mix(in srgb, var(--activity-color) 35%, var(--card));width:72px;height:72px;color:var(--text);border-radius:22px;place-items:center;margin-bottom:6px;display:grid}.activity-card-title{font-size:1.25rem;font-weight:800}.activity-card-sub{color:var(--text-dim);font-size:.875rem;font-weight:600}.activity-card-soon{min-height:140px;box-shadow:none;border:3px dashed var(--border);color:var(--text-dim);background:0 0;justify-content:center;align-items:center;font-weight:700}.paint{flex-direction:column;flex:1;min-height:0;display:flex}.paint-toolbar{padding:6px var(--pad) 8px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 14px;display:flex}.paint-group{flex-shrink:0;align-items:center;gap:4px;display:flex}.paint-colors{flex-wrap:nowrap;flex-basis:100%;gap:2px;padding:2px 0;overflow-x:auto}.paint-btn{background:var(--card);width:48px;height:48px;color:var(--text);box-shadow:var(--shadow);border:3px solid #0000;border-radius:14px;flex-shrink:0;place-items:center;font-size:1.375rem;text-decoration:none;display:grid}.paint-btn.active{border-color:var(--text);background:var(--accent-tint)}.paint-btn:disabled{opacity:.35}.paint-btn:active:not(:disabled){transform:scale(.94)}.paint-size-dot{min-width:3px;min-height:3px;box-shadow:0 0 0 1px var(--border);border-radius:50%;display:block}.paint-rainbow-dot{background:conic-gradient(#ff6b6b,#ffd166,#6fcf97,#4da3ff,#b39dff,#ff8fa3,#ff6b6b);border-radius:50%;width:28px;height:28px}.paint-who{border-radius:50%}.paint-name{max-width:220px;min-height:48px;color:var(--text);background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-size:.9375rem;font-weight:800;display:flex}.paint-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paint-canvas-wrap{border-top:1px solid var(--border);background:#fff;flex:1;min-height:0;position:relative}.paint-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.paint-tool-fill{cursor:cell}.paint-gallery-note{color:var(--text-dim);margin:0 0 12px;font-size:.875rem;font-weight:600}.paint-gallery{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:14px 0 0;padding:0;list-style:none;display:grid}.paint-gallery-item{background:var(--bg-alt);border-radius:var(--radius-sm);border:3px solid #0000;flex-direction:column;gap:6px;padding:8px;display:flex}.paint-gallery-item.current{border-color:var(--accent-strong)}.paint-gallery-open{color:var(--text);text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;padding:0;display:flex}.paint-gallery-open img{aspect-ratio:4/3;object-fit:contain;background:#fff;border-radius:10px;width:100%;margin-bottom:4px}.paint-gallery-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:800;overflow:hidden}.paint-gallery-sub{color:var(--text-dim);font-size:.75rem;font-weight:600}.paint-gallery-actions{align-items:center;gap:6px;display:flex}.paint-gallery-actions .btn{min-height:44px;padding:0 12px}.paint-gallery-actions .icon-btn{flex-shrink:0;width:44px;height:44px}@media (width<=600px){.paint-toolbar{flex-wrap:nowrap;padding:6px 12px;overflow-x:auto}.paint-colors{flex-basis:auto;overflow:visible}.paint-toolbar>.paint-group{order:2}.paint-toolbar>.paint-group:first-child{order:0}.paint-toolbar>.paint-colors{order:1}}@media (prefers-contrast:more){.paint-btn{border-color:var(--border)}.paint-btn.active{border-color:var(--text)}}.paint-print{display:none}@media print{@page{margin:12mm}body:has(.paint-print)>:not(.paint-print){display:none!important}body:has(.paint-print){background:#fff!important}.paint-print{flex-direction:column;justify-content:center;align-items:center;gap:6mm;height:100vh;display:flex!important}.paint-print img{object-fit:contain;max-width:100%;max-height:calc(100vh - 14mm)}.paint-print p{color:#555;margin:0;font:600 9pt system-ui,sans-serif}}.task-add{flex-direction:column;gap:8px;display:flex}.task-add-field{position:relative}.task-add-field input{width:100%;min-height:44px;padding-right:52px}.task-add-go{background:var(--accent-strong);width:36px;height:36px;color:var(--accent-ink);border:none;border-radius:9px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.task-add-go:disabled{opacity:.4;cursor:not-allowed}.task-add-lists{gap:6px}.task-add-lists .chip{min-height:36px;padding:0 12px;font-size:.8125rem}@media (pointer:coarse){input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file],[type=hidden]),select,textarea{font-size:max(1rem,16px)!important}}.header-right{align-items:center;gap:var(--gap);min-width:0;display:flex}.header-bell{flex-shrink:0;position:relative}.bell-badge{background:var(--danger);color:#fff;text-align:center;min-width:22px;height:22px;box-shadow:0 0 0 2px var(--card);border-radius:999px;padding:0 6px;font-size:.75rem;font-weight:800;line-height:22px;position:absolute;top:-2px;right:-4px}.notif-toolbar{justify-content:flex-end;gap:8px;margin-bottom:4px;display:flex}.notif-row{align-items:flex-start;gap:4px;display:flex}.notif-row .notif-item{flex:1;min-width:0}.notif-remove{min-width:44px;min-height:44px;color:var(--text-dim);flex:none;font-size:1.25rem}.notif-toolbar .btn,.notif-compose .btn{flex:none;min-height:44px;padding:8px 16px}.notif-compose{justify-content:center;margin-top:16px;display:flex}.notif-empty{color:var(--text-dim);text-align:center;padding:24px 8px;font-weight:600}.notif-day{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;margin:14px 4px 6px;font-size:.8125rem;font-weight:800}.notif-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.notif-item{text-align:left;background:var(--bg-alt);width:100%;min-height:44px;color:var(--text);font:inherit;border:none;border-radius:14px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}button.notif-item{cursor:pointer}button.notif-item:active{transform:scale(.99)}.notif-item.unread{background:color-mix(in srgb, var(--accent) 16%, var(--bg-alt))}.notif-icon{flex-shrink:0;font-size:1.375rem;line-height:1.2}.notif-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title{align-items:center;gap:6px;font-weight:800;display:flex}.notif-dot{background:var(--accent-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.notif-body{color:var(--text-dim);white-space:pre-line;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;font-weight:600;display:-webkit-box;overflow:hidden}.notif-meta{color:var(--text-dim);align-items:center;gap:8px;margin-top:2px;font-size:.75rem;font-weight:700;display:flex}.notif-who{display:flex}.notif-avatar{width:22px;height:22px;font-size:.75rem}.notif-avatar:not(:first-child){box-shadow:0 0 0 2px var(--bg-alt);margin-left:-6px}@media (width<=600px){.header-phone .header-right{flex-shrink:0;gap:6px}.header-phone .header-bell{width:44px;height:44px;box-shadow:none;background:0 0}.bell-badge{top:0;right:-2px}}.notes-thread{flex-direction:column;gap:6px;display:flex}.notes-title{color:var(--text-dim);margin:0;font-size:.8125rem;font-weight:800}.notes-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.note{border-left:4px solid var(--note-color);background:var(--card-soft,var(--bg-alt));cursor:pointer;border-radius:4px 12px 12px 4px;padding:6px 12px 10px}.note-head{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;display:flex}.note-avatar{background:var(--bg-alt);width:28px;height:28px;color:var(--text-dim);border-radius:50%;flex-shrink:0;place-items:center;font-size:.875rem;font-weight:800;display:grid}.note-name{font-size:.875rem;font-weight:800}.note-time{color:var(--text-dim);font-size:.75rem;font-weight:700}.note-edit{margin-left:auto}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600}.note-body a{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.note-form{flex-direction:column;gap:8px;display:flex}.note-form textarea{resize:vertical;width:100%;min-height:88px}.note-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note-actions .btn{min-height:44px}.note-post-as{align-items:center;gap:6px}.note-post-as .chip{min-height:44px;padding:0 12px;font-size:.8125rem}.note-post-as-label{color:var(--text-dim);font-size:.8125rem;font-weight:800}.schedule-notes{color:var(--text-dim);white-space:nowrap;margin-left:6px;font-size:.75rem;font-weight:800}.stickers{flex-direction:column;flex:1;min-height:0;display:flex}.stickers-empty{padding:var(--pad);color:var(--text-dim);font-weight:700}.stickers-head{padding:6px var(--pad) 8px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 14px;display:flex}.stickers-members{flex-wrap:nowrap;flex:1 1 0;min-width:0;padding:2px;overflow-x:auto}.stickers-members .chip{flex-shrink:0;padding:4px 14px 4px 4px}.stickers-avatar{border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.125rem;display:grid}.stickers-book{flex-direction:column;flex:1;min-height:0;display:flex}.sticker-stage{flex:1;min-height:0;position:relative}.sticker-page{isolation:isolate;background:radial-gradient(circle, color-mix(in srgb, var(--text) 16%, transparent) 1.2px, transparent 1.8px) 0 0 / 22px 22px, var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0;overflow:hidden;container-type:size}.sticker{color:inherit;transform:var(--sticker-t);cursor:grab;touch-action:none;filter:drop-shadow(0 2px 2px #00000040);background:0 0;border:3px solid #0000;border-radius:16px;padding:.08em;font-size:clamp(36px,11cqmin,110px);line-height:1;position:absolute}.sticker:active{cursor:grabbing}.sticker.selected{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, transparent);border-style:dashed}.sticker-page-hint{padding:var(--pad);text-align:center;color:var(--text-dim);pointer-events:none;place-items:center;margin:0;font-weight:700;display:grid;position:absolute;inset:0}.sticker-toolbar{z-index:1;background:var(--card);max-width:calc(100% - 20px);box-shadow:var(--shadow-lg);border-radius:999px;gap:6px;padding:6px;display:flex;position:absolute;top:10px;left:50%;overflow-x:auto;transform:translate(-50%)}.sticker-toolbar .btn{flex:none;min-height:44px;padding:0 14px;font-size:.8125rem}.sticker-tray{padding:8px var(--pad) 10px;background:var(--bg-alt);flex-shrink:0;align-items:flex-end;gap:18px;display:flex;overflow-x:auto}.sticker-tray-pack{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.sticker-tray-label{color:var(--text-dim);white-space:nowrap;font-size:.75rem;font-weight:800}.sticker-tray-row{gap:2px;display:flex}.sticker-tray-btn{background:var(--card);border:none;border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:1.75rem;line-height:1;display:grid}.sticker-tray-btn:active{transform:scale(.9)}.sticker-tray-more{border:3px dashed var(--border);min-height:52px;color:var(--text);background:0 0;border-radius:14px;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;font-weight:800;display:flex}.stickers-shop{min-height:0;padding:4px var(--pad) var(--pad);flex:1}.stickers-balance{margin:4px 0 14px;font-size:1.125rem;font-weight:600}.sticker-packs{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:0;padding:0;list-style:none;display:grid}.sticker-pack{text-align:center;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:6px;padding:16px 12px 12px;display:flex}.sticker-pack-cover{font-size:3.25rem;line-height:1.1}.sticker-pack-name{font-size:1.0625rem;font-weight:800}.sticker-pack-peek{letter-spacing:2px;font-size:1.25rem}.sticker-pack .btn{flex:none;width:100%;min-height:48px;margin-top:auto}.sticker-pack-owned{min-height:48px;color:var(--success);place-items:center;margin-top:auto;font-weight:800;display:grid}.sticker-unlocked{border-radius:var(--radius);background:var(--accent-tint);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;display:flex}.sticker-unlocked-cover{font-size:2.75rem;line-height:1}.sticker-unlocked-text{flex:1;font-size:1.125rem}.sticker-unlocked .btn{flex:none}@media (prefers-reduced-motion:no-preference){.sticker-unlocked-cover{animation:.7s sticker-pop}}@keyframes sticker-pop{0%{transform:scale(0)rotate(-30deg)}55%{transform:scale(1.4)rotate(12deg)}to{transform:scale(1)rotate(0)}}@media (width<=600px){.stickers-head{padding:6px 12px}.stickers-head [role=tablist]{flex-basis:100%}.sticker-tray{padding:8px 12px 10px}.stickers-shop{padding:4px 12px 16px}.sticker-packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.snap-hero{align-items:center;gap:14px;margin-bottom:12px;display:flex}.snap-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.75rem;display:flex}.snap-greeting{margin:0;font-size:1.5rem;font-weight:800;line-height:1.2}.snap-sub{color:var(--text-dim);margin:2px 0 0;font-weight:700}.snap-range{margin-bottom:12px}.snap-range button{min-height:44px}.snap-weather{background:var(--bg-alt);border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:4px;padding:10px 14px;font-weight:700;display:flex}.snap-weather-now strong{font-size:1.25rem}.snap-weather-where{margin-left:auto;font-size:.8125rem}.snap-emoji{font-size:1.25rem;line-height:1}.snap-dim{color:var(--text-dim);font-weight:600}.snap-section{margin-top:14px}.snap-heading{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;margin:0 4px 6px;font-size:.8125rem;font-weight:800}.snap-day-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.snap-day-weather{text-transform:none;letter-spacing:0;color:var(--text);white-space:nowrap;font-size:.875rem}.snap-list,.snap-glance{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.snap-row{text-align:left;background:var(--bg-alt);width:100%;min-height:44px;color:var(--text);font:inherit;border:none;border-radius:14px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}button.snap-row{cursor:pointer}button.snap-row:active{transform:scale(.99)}.snap-row.done .snap-title{color:var(--text-dim);text-decoration:line-through}.snap-time{font-variant-numeric:tabular-nums;flex:0 0 4.5rem;font-weight:800}.snap-time.snap-emoji{text-align:center;flex-basis:2rem}.snap-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.snap-title{overflow-wrap:anywhere;align-items:flex-start;gap:6px;font-weight:800;display:flex}.snap-title .prio-dot{margin:6px 0 0}.snap-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;margin-top:6px}.snap-meta{color:var(--text-dim);font-size:.8125rem;font-weight:700}.snap-overdue{color:var(--danger)}.snap-empty{color:var(--text-dim);margin:0;padding:8px 4px;font-weight:600}.snap-empty-sm{padding:2px 4px;font-size:.875rem}.snap-glance li{background:var(--bg-alt);border-radius:12px;padding:8px 12px;font-weight:700}.snap-chores-line{min-height:44px;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;width:100%;margin-top:6px;padding:8px 12px;font-weight:700;display:block}.snap-filter{border-top:1px solid var(--border);margin-top:18px;padding-top:12px}:root[data-density=icons] .snap-emoji,:root[data-density=icons] .snap-time.snap-emoji{font-size:1.75rem}:root[data-density=icons] .snap-avatar{width:72px;height:72px;font-size:2.25rem}@media (width>=900px){.snap-greeting{font-size:1.875rem}}@media (width<=600px){.header-phone .member-filter-row.many .member-avatar{width:32px;height:32px;font-size:.875rem}.header-phone-left{container-type:inline-size}}@container (width<=150px){.family-name-sm{display:none}}.settings-inline-btns{flex-shrink:0;gap:8px;display:flex}.settings-inline-btns .btn{flex:none;min-height:44px;padding:8px 14px}.weather-search{flex-direction:column;gap:8px;padding:0 2px 12px;display:flex}.weather-search-row{gap:8px;display:flex}.weather-search-row input{flex:1;min-width:0;min-height:44px}.weather-search-row .btn{flex:none;min-height:44px}.weather-results{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.weather-results .btn{text-align:left;justify-content:flex-start;min-height:44px}
