:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f2f7;--surface:#fff;--surface-raised:#fff;--surface-soft:#f2f2f7;--ink:#000;--muted:#55555a;--tertiary:#3c3c434d;--line:#3c3c432e;--control-edge:#787880;--accent:#0053b8;--accent-fill:#0062d6;--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--surface));--button-ink:#fff;--success:#1b732f;--success-fill:#34c759;--success-soft:color-mix(in srgb, var(--success) 8%, var(--surface));--warning:#c90014;--warning-soft:color-mix(in srgb, var(--warning) 6%, var(--surface));--glass:color-mix(in srgb, var(--surface) 72%, transparent);--highlight:#fff9;--overlay:#00000080;--shadow:0 1px 3px #0000000f, 0 8px 24px #0000000f;--card-shadow:var(--shadow);--root-font-fallback:17px;--type-large-title:2rem;--type-title:1.29412rem;--type-headline:1rem;--type-body:1rem;--type-subheadline:.882353rem;--type-footnote:.764706rem;--type-caption:.705883rem;--space-1:.235294rem;--space-2:.470588rem;--space-3:.705883rem;--space-4:.941176rem;--space-6:1.41177rem;--row-min:max(52px, 3.05882rem);--target-min:max(44px, 2.58824rem);--radius-card:1.17647rem;--radius-control:.82353rem;--radius-pill:999rem;--hairline:1px;--glass-filter:blur(24px) saturate(180%);--glass-shadow:var(--shadow), inset 0 var(--hairline) 0 var(--highlight);--motion-normal:.3s;--motion-theme:.25s;--motion-check:.18s;--motion-count:.6s;--motion-reduce:.01ms;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root[data-theme=auto],:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--surface-soft:#2c2c2e;--ink:#fff;--muted:#ebebf599;--tertiary:#ebebf54d;--line:#545458a6;--control-edge:#8e8e93;--accent:#409cff;--accent-fill:#0a84ff;--button-ink:#000;--success:#30d158;--success-fill:#30d158;--warning:#ff6259;--highlight:#ffffff24;--shadow:0 1px 3px #0000002e, 0 8px 24px #0000002e;--card-shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--surface-raised:#2c2c2e;--surface-soft:#2c2c2e;--ink:#fff;--muted:#ebebf599;--tertiary:#ebebf54d;--line:#545458a6;--control-edge:#8e8e93;--accent:#409cff;--accent-fill:#0a84ff;--button-ink:#000;--success:#30d158;--success-fill:#30d158;--warning:#ff6259;--highlight:#ffffff24;--shadow:0 1px 3px #0000002e, 0 8px 24px #0000002e;--card-shadow:none}:root{--nav-h:2.75rem;--tile-radius:22.37%;--list-radius:.82353rem;--tile-blue-a:#5ab0ff;--tile-blue-b:#0a6cff;--tile-green-a:#5edb7e;--tile-green-b:#1fa64a;--tile-orange-a:#ffb04d;--tile-orange-b:#f57a00;--tile-red-a:#ff7a70;--tile-red-b:#e02b20;--tile-purple-a:#c58bff;--tile-purple-b:#8a3fe0;--tile-teal-a:#5cd8d8;--tile-teal-b:#0e9aa7;--tile-pink-a:#ff8ab3;--tile-pink-b:#e0306f;--tile-indigo-a:#8e94ff;--tile-indigo-b:#4b4fd8;--tile-yellow-a:#ffd95a;--tile-yellow-b:#e0a800;--tile-gray-a:#a5a5ad;--tile-gray-b:#6b6b73}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-size:var(--root-font-fallback);font:-apple-system-body;-webkit-text-size-adjust:100%;font-family:-apple-system,system-ui,sans-serif}body{min-height:100dvh;font-size:var(--type-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.4}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.small{font-size:var(--type-subheadline)}.footnote{font-size:var(--type-footnote);color:var(--muted)}.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}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input[type=text],input[type=search],input[type=email],select,textarea{font:inherit;color:var(--ink);outline-offset:2px;min-height:var(--target-min);appearance:none;background:0 0;border:0;width:100%;padding:0;font-size:max(1rem,16px)}input::placeholder{color:var(--tertiary)}.list :is(a,button,input,select,textarea,[tabindex],[role=radio],[role=switch]):focus-visible{outline-offset:-3px}.button{font:inherit;cursor:pointer;text-align:center;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-control);border:var(--hairline) solid transparent;background:var(--accent-fill);color:var(--button-ink);transition:transform var(--motion-check) var(--ease), opacity var(--motion-check) var(--ease);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button[disabled]{opacity:.5;cursor:default}.button.secondary{background:var(--surface-soft);color:var(--accent);border-color:var(--line)}.button.quiet{color:var(--accent);background:0 0}.button.block{width:100%;display:flex}.button.danger{background:var(--warning-soft);color:var(--warning);border-color:var(--line)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--accent-soft)}.notice.error{background:var(--warning-soft);color:var(--warning)}.notice.ok{background:var(--success-soft);color:var(--success)}.navbar{z-index:5;align-items:center;gap:var(--space-2);--bar-top:max(env(safe-area-inset-top), var(--space-2));min-height:calc(var(--nav-h) + var(--bar-top));padding:var(--bar-top) var(--space-2) 0;box-shadow:none;transition:background var(--motion-theme) var(--ease), box-shadow var(--motion-theme) var(--ease);background:0 0;grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.navbar[data-collapsed=true],.navbar.solid{background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow)}.navbar-lead{justify-self:start;align-items:center;min-width:0;display:flex}.navbar-trail{justify-self:end;align-items:center;gap:var(--space-1);display:flex}.navbar-title{font-weight:600;font-size:var(--type-headline);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;opacity:0;visibility:hidden;max-width:60vw;transition:opacity var(--motion-theme) var(--ease), visibility 0s linear var(--motion-theme);overflow:hidden}.navbar[data-collapsed=true] .navbar-title,.navbar.solid .navbar-title{opacity:1;visibility:visible;transition-delay:0s}.navbar-back{font:inherit;color:var(--accent);cursor:pointer;min-height:var(--target-min);min-width:var(--target-min);padding:0 var(--space-2);border-radius:var(--radius-control);background:0 0;border:0;align-items:center;gap:2px;display:inline-flex}.navbar-back svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.icon-button{font:inherit;color:var(--accent);cursor:pointer;width:var(--target-min);height:var(--target-min);border-radius:var(--radius-pill);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem;height:1.5rem}.screen{flex-direction:column;flex:1;width:100%;max-width:32rem;margin:0 auto;display:flex}.screen-body{padding:0 var(--space-4) max(env(safe-area-inset-bottom), var(--space-6));gap:var(--space-6);flex-direction:column;flex:1;display:flex}.large-title{padding:var(--space-1) var(--space-4) var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.large-title .eyebrow{font-size:var(--type-subheadline);color:var(--muted);text-transform:none}.large-title h1{font-size:var(--type-large-title);letter-spacing:-.01em;font-weight:700;line-height:1.15}.group{gap:var(--space-2);flex-direction:column;display:flex}.group-header{font-size:var(--type-footnote);color:var(--muted);text-transform:uppercase;letter-spacing:.02em;padding:0 var(--space-4)}.group-footer{font-size:var(--type-footnote);color:var(--muted);padding:0 var(--space-4)}.list{background:var(--surface);border-radius:var(--list-radius);box-shadow:var(--card-shadow);margin:0;padding:0;list-style:none;overflow:hidden}.list>li{position:relative}.list>li+li:before{content:"";top:0;left:var(--space-4);border-top:var(--hairline) solid var(--line);position:absolute;right:0}.list>li.with-leading+li.with-leading:before{left:calc(var(--space-4) + 2.5rem + var(--space-3))}.row{width:100%;min-height:var(--row-min);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font:inherit;color:inherit;text-align:left;cursor:default;background:0 0;border:0;text-decoration:none;display:flex}button.row,a.row{cursor:pointer}button.row:active,a.row:active{background:var(--surface-soft)}.row-leading{flex:none;align-items:center;display:flex}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{font-size:var(--type-body);overflow-wrap:anywhere}.row-detail{font-size:var(--type-subheadline);color:var(--muted);overflow-wrap:anywhere}.row-trailing{align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--type-body);flex:none;display:flex}.row .chev{fill:none;width:.7rem;height:1.1rem;stroke:var(--tertiary);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.row.center{text-align:center;justify-content:center}.row.center .row-text{flex:none;align-items:center}.row.accent .row-title{color:var(--accent)}.row.destructive .row-title{color:var(--warning)}.row-field{align-items:center;gap:var(--space-3);min-height:var(--row-min);padding:0 var(--space-4);display:flex}.row-field label{min-width:5.5rem;color:var(--ink);font-size:var(--type-body);flex:none}.row-field input{text-align:right;flex:1;min-width:0}.row-field input:focus-visible{outline-offset:-2px;border-radius:.5rem}.row-field .suffix{color:var(--muted);flex:none}.chip{font-size:var(--type-caption);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);white-space:nowrap;font-weight:600;display:inline-block}.chip.neutral{background:var(--surface-soft);color:var(--muted)}.switch{width:3.25rem;min-height:var(--target-min);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.switch:before{content:"";border-radius:var(--radius-pill);background:var(--control-edge);opacity:.45;width:3rem;height:1.82rem;transition:background var(--motion-check) var(--ease), opacity var(--motion-check) var(--ease)}.switch:after{content:"";border-radius:var(--radius-pill);width:1.58rem;height:1.58rem;transition:transform var(--motion-check) var(--ease);background:#fff;position:absolute;top:50%;left:calc(50% - 1.38rem);transform:translateY(-50%);box-shadow:0 2px 4px #0000004d}.switch[aria-checked=true]:before{background:var(--success-fill);opacity:1}.switch[aria-checked=true]:after{transform:translate(1.18rem,-50%)}.switch[disabled]{opacity:.5;cursor:default}.segmented{background:var(--surface-soft);border-radius:var(--radius-control);gap:3px;padding:3px;display:flex}.segmented button{min-height:var(--target-min);color:var(--muted);font:inherit;cursor:pointer;border-radius:calc(var(--radius-control) - 3px);background:0 0;border:0;flex:1}.segmented button.on{background:var(--surface-raised);color:var(--ink);box-shadow:var(--card-shadow);outline:1px solid var(--line);font-weight:600}.segmented button:focus-visible,.segmented button.on:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.avatar{--size:2.75rem;width:var(--size);height:var(--size);border-radius:var(--radius-pill);font:inherit;font-weight:700;font-size:calc(var(--size) * .4);color:var(--avatar-ink,#fff);background:linear-gradient(160deg, var(--avatar-a,var(--tile-a)), var(--avatar-b,var(--tile-b)));border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.avatar{cursor:pointer}.avatar-emoji{font-size:calc(var(--size) * .6);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-weight:400;line-height:1}.avatar.sm{--size:2rem}.avatar.lg{--size:3.4rem}.avatar.xl{--size:5.5rem}.avatars{gap:var(--space-3);padding:var(--space-1) 0;scrollbar-width:none;display:flex;overflow-x:auto}.avatars::-webkit-scrollbar{display:none}.avatar-item{align-items:center;gap:var(--space-1);min-width:3.6rem;font-size:var(--type-caption);color:var(--muted);flex-direction:column;display:flex}.tile{--size:3.75rem;width:var(--size);height:var(--size);border-radius:var(--tile-radius);color:#fff;background:linear-gradient(160deg, var(--tile-a), var(--tile-b));flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff2e,0 1px 3px #0000002e}.tile.sm{--size:2.5rem}.tile svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:56%;height:56%}.tile-grid{gap:var(--space-4) var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.tile-item{align-items:center;gap:var(--space-1);color:var(--ink);min-width:0;padding:var(--space-1) 0;border-radius:var(--radius-control);flex-direction:column;text-decoration:none;display:flex}.tile-item span{font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;overflow:hidden}.tile-item .tile{--size:min(3.75rem, 100%);width:var(--size);aspect-ratio:1;height:auto}.tile-item:active .tile{transform:scale(.94)}.color-grid{gap:var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:repeat(5,1fr);display:grid}.pick{min-height:var(--target-min);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:2px solid #0000;justify-content:center;align-items:center;padding:0;display:flex}.pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.pick .swatch{border-radius:var(--radius-pill);background:linear-gradient(160deg, var(--tile-a), var(--tile-b));width:1.9rem;height:1.9rem}.pick .tile{--size:2.2rem}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--card-shadow);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}dialog.sheet{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:32rem;max-height:94dvh;color:var(--ink);background:var(--bg);box-shadow:var(--glass-shadow);animation:sheet-up var(--motion-normal) var(--ease);border:0;flex-direction:column;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}dialog.sheet[open]{display:flex}dialog.sheet::backdrop{background:var(--overlay)}.sheet-bar{background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:var(--hairline) solid var(--line);min-height:var(--nav-h);grid-template-columns:1fr auto 1fr;display:grid}.sheet-bar .button.quiet{white-space:nowrap;min-width:4rem}.sheet-bar .lead{justify-self:start}.sheet-bar .trail{justify-self:end;font-weight:700}.sheet-bar .sheet-back{padding-left:var(--space-2);gap:2px}.sheet-bar .sheet-back svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.sheet-bar strong{font-size:var(--type-headline)}.sheet-body{padding:var(--space-4) var(--space-4) max(env(safe-area-inset-bottom), var(--space-6));gap:var(--space-6);flex-direction:column;display:flex;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}dialog.action-sheet{width:100%;max-width:32rem;padding:var(--space-3) var(--space-3) max(env(safe-area-inset-bottom), var(--space-3));color:var(--ink);gap:var(--space-2);animation:sheet-up var(--motion-normal) var(--ease);background:0 0;border:0;flex-direction:column;margin:0 auto;position:fixed;inset:auto 0 0}dialog.action-sheet[open]{display:flex}dialog.action-sheet::backdrop{background:var(--overlay)}.action-card{background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);overflow:hidden}.action-card .message{padding:var(--space-3) var(--space-4);text-align:center;color:var(--muted);font-size:var(--type-subheadline)}.action-card .row{font-size:var(--type-headline);justify-content:center}.toast-region{inset:auto 0 max(env(safe-area-inset-bottom), var(--space-4)) 0;pointer-events:none;z-index:20;padding:0 var(--space-4);justify-content:center;display:flex;position:fixed}.toast{pointer-events:auto;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-radius:var(--radius-pill);color:var(--ink);background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);animation:toast-in var(--motion-normal) var(--ease);min-height:var(--target-min);display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.row.dragging{background:var(--surface-soft);box-shadow:var(--shadow)}.handle{width:var(--target-min);height:var(--target-min);color:var(--tertiary);touch-action:none;cursor:grab;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.handle svg{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;fill:none;width:1.2rem;height:1.2rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:var(--motion-reduce)!important;animation-duration:var(--motion-reduce)!important;scroll-behavior:auto!important}}.staging-banner{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;font-size:var(--type-footnote);padding:max(env(safe-area-inset-top), var(--space-1)) var(--space-3) var(--space-1);color:#3d2e00;background:#ffe58f;flex-wrap:wrap;font-weight:600;display:flex}.staging-banner a{color:#3d2e00;min-height:var(--target-min);align-items:center;text-decoration:underline;display:inline-flex}.staging-banner~* .navbar{--bar-top:var(--space-2)}.titlebar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:calc(var(--nav-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(var(--space-4), calc((100% - 32rem) / 2 + var(--space-4))) 0;background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);display:flex;position:sticky;top:0}.titlebar strong{font-size:var(--type-headline)}.page{width:100%;max-width:32rem;padding:var(--space-6) var(--space-4) max(env(safe-area-inset-bottom), var(--space-6));flex-direction:column;flex:1;gap:1.25rem;margin:0 auto;display:flex}h1{font-size:var(--type-large-title);letter-spacing:-.015em;font-weight:760;line-height:1.12}h2{font-size:var(--type-title)}.screen-body h1{font-size:var(--type-large-title)}.screen-body{padding-bottom:calc(max(env(safe-area-inset-bottom), var(--space-6)) + 5rem)}.screen-body.plain{padding-bottom:max(env(safe-area-inset-bottom), var(--space-6));gap:var(--space-4)}h1,h2,h3,p,strong,label,legend,.row-main,.row-main>span,.dots-title>span,.week-col h3 span,.slot-title,.status,.readout,.sheet-bar strong{overflow-wrap:anywhere}.sheet-bar strong{text-align:center}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}label{gap:var(--space-2);font-size:var(--type-subheadline);color:var(--muted);flex-direction:column;display:flex}input[type=text]{font:inherit;color:var(--ink);background:var(--surface-soft);border:var(--hairline) solid var(--control-edge);border-radius:var(--radius-control);min-height:var(--target-min);padding:0 var(--space-3);width:100%;font-size:max(1rem,16px)}.linkbox{font-size:var(--type-subheadline);word-break:break-all;background:var(--surface-soft);border-radius:var(--radius-control);padding:var(--space-3);-webkit-user-select:all;user-select:all}.stack{gap:var(--space-4);flex-direction:column;display:flex}.actions{gap:var(--space-3);display:flex}.actions .button{flex:1}.block{display:block}.section-title{margin:0 0 var(--space-2);color:var(--ink);letter-spacing:-.01em;font-size:1.19rem;font-weight:700}.field,fieldset.field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field-label,legend{font-size:var(--type-subheadline);color:var(--muted);padding:0}select,input[type=time]{font:inherit;color:var(--ink);background:var(--surface-soft);border:var(--hairline) solid var(--control-edge);border-radius:var(--radius-control);min-height:var(--target-min);padding:0 var(--space-3);width:100%;font-size:max(1rem,16px)}input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--accent-fill);flex:none}.check-row{align-items:center;gap:var(--space-3);color:var(--ink);font-size:var(--type-body);min-height:var(--target-min);flex-direction:row}.card.list{gap:0;padding-top:0;padding-bottom:0}.card.list>h2{padding:var(--space-3) 0 0}.row{padding-block:var(--space-2);min-height:3.4rem}.row-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.glyph{width:2rem;height:2rem;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.goal-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.4rem;height:1.4rem}.nav-row{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0}.ring-avatar{flex:none;width:2.75rem;height:2.75rem;position:relative}.ring-avatar svg{width:100%;height:100%}.ring-track{fill:none;stroke:var(--line);stroke-width:3.5px}.ring-fill{fill:none;stroke:var(--success);stroke-width:3.5px;stroke-linecap:round;transition:stroke-dashoffset var(--motion-count) var(--ease)}.ring-face{display:flex;position:absolute;inset:.4rem}.ring-face .avatar{--size:100%;width:100%;height:100%;font-size:var(--type-subheadline)}.ring-face .avatar-emoji{font-size:1.15rem}.rings{gap:var(--space-1);flex:none;display:flex}.week-card{gap:var(--space-3)}.week-head{align-items:baseline;gap:var(--space-3);display:flex}.week-head h2{font-size:var(--type-subheadline);font-weight:650}.week-percent{font-size:var(--type-subheadline);color:var(--success);font-weight:650}.week-cols{gap:var(--space-4);grid-template-columns:1fr;display:grid}.week-cols.two{grid-template-columns:1fr 1fr;gap:0}.week-cols.two .week-col+.week-col{border-left:var(--hairline) solid var(--line);padding-left:var(--space-4)}.week-col{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.week-col h3{align-items:center;gap:var(--space-2);font-size:var(--type-subheadline);font-weight:650;display:flex}.mini-avatar{flex:none;display:inline-flex}.mini-avatar .avatar{--size:1.55rem;font-size:var(--type-footnote)}.mini-avatar .avatar-emoji{font-size:.95rem}.activity-who{align-items:flex-start;gap:var(--space-3);display:flex}.activity-who>.avatar{margin-top:.1rem}.activity-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.partner-head{align-items:center;gap:var(--space-3);display:flex}.partner-head h2{margin:0}.week-line{font-size:var(--type-body);font-weight:650;line-height:1.2}.check{width:var(--target-min);height:var(--target-min);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.check:before{content:"";border-radius:var(--radius-pill);box-sizing:border-box;border:2px solid var(--control-edge);width:1.7rem;height:1.7rem;transition:background var(--motion-check) var(--ease), border-color var(--motion-check) var(--ease), transform var(--motion-check) var(--ease)}.check svg{fill:none;width:1rem;height:1rem;stroke:var(--button-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity var(--motion-check) var(--ease);position:absolute}.check.on:before{background:var(--success);border-color:var(--success)}.check.on svg{opacity:1}.check:active:before{transform:scale(.92)}.choice-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice-chip{font:inherit;color:var(--ink);background:var(--surface);cursor:pointer;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:var(--hairline) solid var(--control-edge)}.choice-chip.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);font-weight:600}.choice-chip:disabled{opacity:.45;cursor:default}.tray{gap:var(--space-2);top:calc(var(--nav-h) + env(safe-area-inset-top) + var(--space-1));z-index:2;background:var(--bg);padding:var(--space-2) 0;margin:calc(-1 * var(--space-2)) 0 0;grid-template-columns:repeat(3,1fr);display:grid;position:sticky}.slot{border-radius:var(--radius-control);min-height:5.2rem;padding:var(--space-2);justify-content:center;align-items:center;gap:var(--space-1);text-align:center;font:inherit;color:var(--ink);flex-direction:column;display:flex}.slot.filled{background:var(--surface);border:2px solid var(--accent);cursor:pointer;box-shadow:var(--card-shadow)}.slot.empty{border:2px dashed var(--control-edge);background:var(--surface-soft)}.slot-title{font-size:var(--type-footnote);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.icon-grid{grid-template-columns:repeat(auto-fill, minmax(var(--target-min), 1fr));gap:var(--space-2);display:grid}.icon-choice{min-height:var(--target-min);border-radius:var(--radius-control);border:var(--hairline) solid var(--line);background:var(--surface-soft);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.tabbar{z-index:10;gap:var(--space-1);width:min(calc(100% - 2 * var(--space-4)), 30rem);left:50%;bottom:max(env(safe-area-inset-bottom), var(--space-3));border:var(--hairline) solid var(--line);background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-shadow);border-radius:1.75rem;padding:5px;display:flex;position:fixed;transform:translate(-50%)}.tab{cursor:pointer;min-height:3.1rem;font:inherit;font-size:var(--type-caption);color:var(--muted);background:0 0;border:0;border-radius:1.4rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-weight:500;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:1.45rem;height:1.45rem}.tab.on{color:var(--accent);background:var(--accent-soft);font-weight:650}.page{padding-bottom:calc(max(env(safe-area-inset-bottom), var(--space-6)) + 5rem)}.toast-region{inset:auto 0 calc(max(env(safe-area-inset-bottom), var(--space-3)) + 4.6rem) 0}.hero{gap:var(--space-1)}.hero-number{letter-spacing:-.02em;font-size:3.2rem;font-weight:700;line-height:1.05}.streak{color:var(--success);margin-top:var(--space-2);font-weight:600}.dots-head,.dots{grid-template-columns:repeat(7,1fr);display:grid}.dots-head{text-align:center;font-size:var(--type-caption);color:var(--muted)}.today-mark{color:var(--ink);font-weight:700}.dots-row{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;display:flex}.dots-row+.dots-row{border-top:var(--hairline) solid var(--line)}.dots-title{align-items:center;gap:var(--space-3);display:flex}.dots{justify-items:center;margin:0;padding:0;list-style:none}.dot{border-radius:var(--radius-pill);box-sizing:border-box;width:1.05rem;height:1.05rem}.dot.done{background:var(--success)}.dot.open{border:2px solid var(--control-edge)}.dot.future{border:2px solid var(--line)}.dot.none{background:0 0}.chart-scroll{overscroll-behavior-x:contain;scroll-snap-type:x proximity;overflow-x:auto}.chart{--chart-h:11.5rem;--col-w:max(44px, 3rem);width:100%;min-width:calc(8 * var(--col-w));height:var(--chart-h);grid-template-columns:repeat(8,1fr);padding-top:1.3rem;display:grid;position:relative}.chart-line{border-top:var(--hairline) solid var(--tertiary);z-index:0;height:0;left:0;right:0;bottom:calc(1.4rem + (var(--chart-h) - 2.7rem) * var(--pct));pointer-events:none;position:absolute}.chart-line span{font-size:var(--type-caption);color:var(--muted);position:absolute;top:-1.1rem;right:0}.col{scroll-snap-align:end;z-index:1;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}.col-plot{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;position:relative}.bar-wrap{width:1.3rem;max-width:24px;transition:height var(--motion-count) var(--ease);display:block;position:relative}.bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;height:100%;display:block}.bar.good{background:var(--success)}.col.picked .bar{outline:2px solid var(--ink);outline-offset:1px}.col-value{white-space:nowrap;font-size:var(--type-caption);margin-bottom:2px;font-weight:600;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.col-label{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;height:1.4rem;line-height:1.4rem}.col:focus-visible{outline:3px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-control)}.readout{min-height:1.5em;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:var(--type-subheadline)}.data-table th,.data-table td{text-align:left;padding:var(--space-2) var(--space-1);border-bottom:var(--hairline) solid var(--line);font-weight:400}.data-table thead th{color:var(--muted);font-size:var(--type-footnote)}.chev{color:var(--muted);font-size:1.4rem}.today-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.today-head .small{font-weight:600}.head-actions{align-items:center;gap:var(--space-1);display:flex}.bell{font:inherit;width:var(--target-min);height:var(--target-min);border-radius:var(--radius-pill);cursor:pointer;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.bell svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.bell-badge{border-radius:var(--radius-pill);background:var(--accent-fill);min-width:1.3rem;height:1.3rem;color:var(--button-ink);font-size:var(--type-caption);justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.shared-checks{align-items:center;gap:var(--space-2);flex:none;display:flex}.partner-dot{border-radius:var(--radius-pill);border:2px solid var(--control-edge);width:2rem;height:2rem;color:var(--muted);font-size:var(--type-footnote);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.partner-dot.on{background:var(--success);border-color:var(--success);color:var(--button-ink)}.partner-goals{margin:0;padding:0;list-style:none}.partner-goals .row{padding-inline:0}.status{font-size:var(--type-footnote);color:var(--muted);text-align:right;flex:none}.status.on{color:var(--success);font-weight:600}.proposal .row-main{margin:0}.tray.two{grid-template-columns:repeat(2,1fr)}.cheer-grid{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.cheer-choice{border-radius:var(--radius-control);border:var(--hairline) solid var(--line);background:var(--surface);cursor:pointer;min-height:4rem;padding:0;font-size:2rem}.cheer-choice:active{transform:scale(.95)}.cheer-choice:disabled{opacity:.5;cursor:default}.activity{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity-item{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.role-choices{gap:var(--space-2);flex-direction:column;display:flex}.role-choice{text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:var(--hairline) solid var(--control-edge);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-1);cursor:pointer;min-height:var(--target-min);flex-direction:column;display:flex}.role-choice.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.role-choice span{color:var(--muted)}a.row.nav-row{text-decoration:none}button.row.nav-row[aria-pressed=true]{background:var(--accent-soft)}.role-choice.on span{color:var(--ink)}.tabbar{background:color-mix(in srgb, var(--surface) 93%, transparent)}.actions.wrap{flex-wrap:wrap}.actions.wrap .button{flex:8rem}.install-guide{gap:var(--space-4);flex-direction:column;display:flex}.guide-steps{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.guide-steps li{gap:var(--space-4);align-items:center;display:flex}.guide-art{flex:none;width:5rem;height:auto}.art-body{fill:var(--surface-soft);stroke:var(--control-edge);stroke-width:3px}.art-screen{fill:var(--surface)}.art-bar,.art-line{fill:var(--line)}.art-hot{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.art-hot-fill{fill:var(--accent)}.art-plus{stroke:var(--button-ink);stroke-width:3px;stroke-linecap:round;fill:none}.switch-row{cursor:pointer}.row.switch-row{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--ink);font-size:var(--type-body);flex-direction:row}.row.switch-row>span{text-align:left}.meter{border-radius:var(--radius-pill);background:var(--line);height:.7rem;overflow:hidden}.meter span{background:var(--success);border-radius:var(--radius-pill);height:100%;transition:width var(--motion-count) var(--ease);display:block}.earned{font-size:var(--type-title)}
