:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI Variable Text", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:"New York", "Iowan Old Style", "Palatino Linotype", Georgia, ui-serif, serif;--radius-xs:8px;--radius-sm:12px;--radius:16px;--radius-lg:22px;--radius-xl:28px;--sidebar-width:17rem;--page-pad:clamp(1rem, 3.2vw, 2.5rem);--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f8f5;--wallpaper:radial-gradient(70rem 40rem at -10% -15%, #365f461a, transparent 60%), radial-gradient(60rem 40rem at 110% -5%, #dce8df6b, transparent 55%), radial-gradient(60rem 45rem at 50% 115%, #e5f0e585, transparent 60%);--surface:#ffffffe0;--surface-2:#f0f5ed;--surface-3:#dce8df94;--surface-hover:#e5f0e5b8;--material:#ffffffc2;--field:#e5f0e594;--text:#243329;--muted:#66756a;--tertiary:#829187;--separator:#365f4624;--border:#365f461f;--accent:#365f46;--accent-contrast:#fff;--accent-soft:#e5f0e5;--danger:#d70015;--danger-soft:#ff3b301f;--success:#248a3d;--success-soft:#34c75926;--warning:#b25000;--warning-soft:#ff950029;--segment-selected:#fff;--shadow:0 1px 2px #0000000a, 0 6px 20px #0000000d;--shadow-lg:0 24px 64px #0000002e;--blue:#007aff;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--purple:#af52de;--pink:#ff2d55;--teal:#30b0c7;--yellow:#fc0;--indigo:#5856d6;--mint:#00c7be;--cyan:#32ade6;--brown:#a2845e;--gray:#8e8e93}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--wallpaper:radial-gradient(70rem 40rem at -10% -15%, #365f4638, transparent 60%), radial-gradient(60rem 40rem at 110% -5%, #7d8fa71f, transparent 55%), radial-gradient(60rem 45rem at 50% 115%, #365f461a, transparent 60%);--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#7676803d;--surface-hover:#ffffff0f;--material:#1e1e20bd;--field:#7676803d;--text:#f5f5f7;--muted:#a1a1a6;--tertiary:#8e8e93;--separator:#54545899;--border:#ffffff12;--accent:#8eae94;--accent-contrast:#142219;--accent-soft:#8eae9433;--danger:#ff6961;--danger-soft:#ff453a33;--success:#30d158;--success-soft:#30d15833;--warning:#ffb340;--warning-soft:#ff9f0a33;--segment-selected:#636366;--shadow:0 1px 0 #ffffff08 inset, 0 8px 28px #00000059;--shadow-lg:0 28px 80px #000000a6;--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--purple:#bf5af2;--pink:#ff375f;--teal:#40c8e0;--yellow:#ffd60a;--indigo:#5e5ce6;--mint:#63e6e2;--cyan:#64d2ff;--brown:#ac8e68;--gray:#8e8e93}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--wallpaper:radial-gradient(70rem 40rem at -10% -15%, #365f4638, transparent 60%), radial-gradient(60rem 40rem at 110% -5%, #7d8fa71f, transparent 55%), radial-gradient(60rem 45rem at 50% 115%, #365f461a, transparent 60%);--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#7676803d;--surface-hover:#ffffff0f;--material:#1e1e20bd;--field:#7676803d;--text:#f5f5f7;--muted:#a1a1a6;--tertiary:#8e8e93;--separator:#54545899;--border:#ffffff12;--accent:#8eae94;--accent-contrast:#142219;--accent-soft:#8eae9433;--danger:#ff6961;--danger-soft:#ff453a33;--success:#30d158;--success-soft:#30d15833;--warning:#ffb340;--warning-soft:#ff9f0a33;--segment-selected:#636366;--shadow:0 1px 0 #ffffff08 inset, 0 8px 28px #00000059;--shadow-lg:0 28px 80px #000000a6;--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--purple:#bf5af2;--pink:#ff375f;--teal:#40c8e0;--yellow:#ffd60a;--indigo:#5e5ce6;--mint:#63e6e2;--cyan:#64d2ff;--brown:#ac8e68;--gray:#8e8e93}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}@media (width>=1800px) and (height>=900px){html:not([data-hub-display]),html[data-hub-display=auto]{font-size:18px}}html[data-hub-display=tv]{font-size:22px}body{min-height:100svh;font-family:var(--font);color:var(--text);background-color:var(--bg);background-image:var(--wallpaper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;line-height:1.45}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1{letter-spacing:-.022em;font-size:2.125rem;font-weight:700;line-height:1.12}h2{letter-spacing:-.012em;font-size:1.375rem;font-weight:700;line-height:1.25}h3{letter-spacing:-.005em;font-size:1.0625rem;font-weight:600;line-height:1.3}h4{font-size:1rem;font-weight:600;line-height:1.3}p{line-height:1.5}a{color:var(--accent);text-underline-offset:2px;text-decoration:none}a:hover{text-decoration:underline}strong{font-weight:600}ul,ol{padding-left:1.25rem}svg{flex-shrink:0}img{max-width:100%}hr{border:0;border-top:1px solid var(--separator);margin:1rem 0}.muted{color:var(--muted)}.small,small{font-size:.8125rem;line-height:1.45}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.3;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}[v-cloak]{display:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.42}:where(button:not([class])),.light-button,.primary,.primary-button,.danger-button,.text-button,.icon-button{border-radius:var(--radius-sm);text-align:center;min-height:2.75rem;transition:background-color .15s, color .15s, transform .12s var(--ease), box-shadow .15s, filter .15s;border:0;padding:.5rem 1rem;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none}.primary,.primary-button{background:var(--accent);color:var(--accent-contrast)}.primary:hover:not(:disabled),.primary-button:hover:not(:disabled){filter:brightness(1.08)}:where(button:not([class])),.light-button{background:var(--accent-soft);color:var(--accent)}:where(button:not([class])):hover:not(:disabled),.light-button:hover:not(:disabled){filter:brightness(.97)saturate(1.1)}.text-button{color:var(--accent);background:0 0;padding-inline:.5rem}.text-button:hover:not(:disabled){background:var(--accent-soft)}.icon-button{background:var(--surface-3);width:2.75rem;color:var(--text);border-radius:50%;padding:0}.icon-button:hover:not(:disabled){background:var(--surface-hover);box-shadow:inset 0 0 0 999px var(--surface-3)}.danger-button{background:var(--danger-soft);color:var(--danger)}button:active:not(:disabled){transform:scale(.97)}input,select,textarea{font:inherit;color:var(--text);background:var(--field);border-radius:var(--radius-sm);border:1px solid #0000;outline:none;width:100%;min-width:0;max-width:100%;min-height:2.75rem;padding:.625rem .875rem;font-size:1rem;transition:border-color .15s,box-shadow .15s,background-color .15s}input:focus-visible,select:focus-visible,textarea:focus-visible,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.55}input::placeholder,textarea::placeholder{color:var(--tertiary)}input[type=checkbox],input[type=radio]{width:1.375rem;height:1.375rem;min-height:0;accent-color:var(--accent);cursor:pointer;flex:none;margin:0;padding:0}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input[type=date],input[type=time],input[type=datetime-local]{font-variant-numeric:tabular-nums}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%238e8e93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;background-size:.75rem;padding-right:2.25rem}select option{color:initial;background:initial}textarea{resize:vertical;min-height:5.5rem;line-height:1.5}label{color:var(--text);flex-wrap:wrap;align-items:center;gap:.375rem .625rem;font-size:.875rem;font-weight:500;display:flex}label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{flex:100%}.field{gap:.375rem;font-size:.875rem;font-weight:500;display:grid}.field>span:first-child{color:var(--muted);font-size:.8125rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:end;gap:.875rem 1rem;display:grid}.checkbox-label{cursor:pointer;flex-wrap:nowrap;align-items:center;gap:.75rem;min-height:2.75rem;font-size:.9375rem;font-weight:500;display:flex}label:has(>input[type=checkbox]){cursor:pointer;flex-wrap:nowrap;align-items:center;gap:.75rem;min-height:2.75rem;font-size:.9375rem;font-weight:500;display:flex}label:has(>input[type=radio]){cursor:pointer;flex-wrap:nowrap;align-items:center;gap:.75rem;min-height:2.75rem;font-size:.9375rem;font-weight:500;display:flex}:is(label:has(>input[type=checkbox]):not(.checkbox-label),label:has(>input[type=radio]):not(.checkbox-label)){align-items:flex-start;padding:.5rem 0;line-height:1.4}form{gap:.875rem;display:grid}form>label+input,form>label+select,form>label+textarea,fieldset>label+input,fieldset>label+select,fieldset>label+textarea{margin-top:-.5rem}fieldset{border:0;gap:.875rem;min-width:0;margin:0;padding:0;display:grid}legend{color:var(--muted);margin-bottom:.5rem;padding:0;font-size:.8125rem;font-weight:600}fieldset:disabled{opacity:.7}.editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:.625rem;margin-top:.5rem;display:flex}.editor-actions .danger-button{margin-right:auto}.calendar-toggles,.chip-fieldset{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calendar-toggles>legend,.chip-fieldset>legend{float:left;width:100%}.calendar-toggles .checkbox-label,.chip-fieldset .checkbox-label{background:var(--surface-3);border-radius:999px;gap:.5rem;min-height:2.5rem;padding:.375rem .875rem .375rem .625rem;font-size:.875rem}.calendar-toggles .checkbox-label input,.chip-fieldset .checkbox-label input{width:1.125rem;height:1.125rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;padding:1.25rem}.card>*+*{margin-top:.75rem}.card>.section-title+*{margin-top:.875rem}.notice{background:var(--accent-soft);color:var(--text);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.notice>*+*{margin-top:.5rem}.notice.error,.error.notice{background:var(--danger-soft);color:var(--danger)}.error{color:var(--danger);font-size:.875rem;line-height:1.5}.empty-state{color:var(--muted);text-align:center;padding:1.75rem 1rem;font-size:.9375rem;line-height:1.6}.card.empty-state{padding:2rem 1.25rem}.chip,.category-filters button{background:var(--surface-3);min-height:2.5rem;color:var(--text);border:0;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .9rem;font-size:.875rem;font-weight:500;line-height:1.2;display:inline-flex}.chip.selected,.category-filters button.selected{background:var(--accent);color:var(--accent-contrast)}.badge{background:var(--surface-3);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.section-title>:first-child{min-width:0}.section-title h2,.section-title h3,.section-title h4{overflow-wrap:anywhere;align-items:center;gap:.5rem;display:flex}.filter-group,.admin-tabs{background:var(--surface-3);scrollbar-width:none;overscroll-behavior-x:contain;border-radius:11px;flex-wrap:nowrap;gap:2px;width:fit-content;max-width:100%;padding:2px;display:flex;overflow-x:auto}.filter-group::-webkit-scrollbar{display:none}.admin-tabs::-webkit-scrollbar{display:none}.filter-group button,.admin-tabs button{min-height:2.375rem;color:var(--text);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:auto;padding:.375rem .9rem;font-size:.875rem;font-weight:500}.filter-group button.selected,.admin-tabs button.active,.admin-tabs button[aria-pressed=true]{background:var(--segment-selected);font-weight:600;box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.admin-list,.grouped-list,.invitation-list{margin:0;padding:0;list-style:none}.admin-list>li,.grouped-list>li,.invitation-list>li{border-bottom:1px solid var(--separator);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;min-width:0;padding:.875rem 0;display:flex}.admin-list>li:last-child,.grouped-list>li:last-child,.invitation-list>li:last-child{border-bottom:0}.admin-list li>div:first-child{flex:14rem;gap:.2rem;min-width:0;display:grid}.admin-list li>div:first-child>span{color:var(--muted);font-size:.875rem}.grouped-list{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:0 1rem}details>summary{cursor:pointer;border-radius:var(--radius-xs);padding:.625rem 0;font-weight:600;line-height:1.4;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";border-right:2px solid var(--tertiary);border-bottom:2px solid var(--tertiary);vertical-align:.12em;width:.45rem;height:.45rem;transition:transform .2s var(--ease);margin:0 .7rem 0 .15rem;display:inline-block;transform:rotate(-45deg)}details[open]>summary:before{vertical-align:.25em;transform:rotate(45deg)}details>:not(summary)+:not(summary),details>summary+*{margin-top:.5rem}dialog{color:var(--text);background:var(--surface);border-radius:var(--radius-xl);overscroll-behavior:contain;width:min(34rem,100% - 2rem);max-height:min(90svh,60rem);box-shadow:var(--shadow-lg);border:0;padding:1.5rem;overflow-y:auto}dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#00000061}dialog>.section-title:first-child{z-index:2;background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--separator);margin:-1.5rem -1.5rem 1rem;padding:1rem 1.5rem;position:sticky;top:-1.5rem}dialog>*+*{margin-top:.75rem}dialog>.section-title:first-child+*{margin-top:0}.task-editor{width:min(34rem,100% - 2rem)}.household-editor{width:min(38rem,100% - 2rem)}.training-editor{width:min(48rem,100% - 2rem)}.calendar-import-dialog{width:min(64rem,100% - 2rem)}@media (prefers-reduced-motion:no-preference){dialog[open]{animation:sheet-in .28s var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(1.5rem)scale(.985)}to{opacity:1;transform:none}}}@media (width<=640px){dialog,.task-editor,.household-editor,.training-editor,.calendar-import-dialog,.app-drawer{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:94svh;padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));margin:auto 0 0}dialog>.section-title:first-child{margin:-1.25rem -1.25rem 1rem;padding:.875rem 1.25rem;top:-1.25rem}}.app-shell{grid-template-columns:minmax(0,1fr);min-height:100svh;display:grid}.sidebar{background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(30px);border-right:1px solid var(--separator);flex-direction:column;gap:.25rem;height:100svh;padding:1.25rem .75rem 1rem;display:none;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.625rem;font-size:1.25rem;font-weight:700;display:flex}.brand span{color:var(--accent);margin-left:-.5rem;margin-right:.5rem;font-weight:400}.brand-mark{background:#365f46;border-radius:10px;place-items:center;width:2.125rem;height:2.125rem;display:inline-grid;overflow:hidden;box-shadow:0 4px 12px #365f4647}.brand-mark img{width:100%;height:100%;display:block}.sidebar .brand{padding:.25rem .5rem 1rem}.sidebar-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;padding:.875rem .625rem .375rem;font-size:.75rem;font-weight:600}.sidebar nav{gap:2px;display:grid}.sidebar nav button{text-align:left;width:100%;min-height:2.75rem;color:var(--text);background:0 0;border:0;border-radius:11px;justify-content:flex-start;gap:.75rem;padding:.3rem .5rem;font-size:.9375rem;font-weight:500}.sidebar nav button:hover{background:var(--surface-hover)}.sidebar nav button.active{background:var(--accent);color:var(--accent-contrast)}.sidebar nav button.active .app-icon{box-shadow:0 0 0 1.5px #ffffff8c}.sidebar-bottom{border-top:1px solid var(--separator);gap:.25rem;margin-top:auto;padding:1rem .5rem 0;display:grid}.household-label{align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.presence-dot{background:var(--green);width:.5rem;height:.5rem;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%;flex-shrink:0;display:inline-block}.main-content{width:min(100%,112rem);min-width:0;max-width:none;padding:0 var(--page-pad) calc(7rem + env(safe-area-inset-bottom));margin:0 auto;overflow-x:clip}.topbar{z-index:20;min-height:3.75rem;margin:0 calc(-1 * var(--page-pad));padding:.5rem var(--page-pad);padding-top:calc(.5rem + env(safe-area-inset-top));background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(22px);border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex;position:sticky;top:0}.topbar-leading{align-items:center;gap:.5rem;min-width:0;display:flex}.topbar-brand{color:var(--text);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:.625rem;padding:.25rem 0;display:inline-flex}.topbar-brand .brand-name{letter-spacing:-.035em;font-size:1.2rem;font-weight:720}.topbar-brand .brand-name span{color:var(--accent);margin-left:.05rem;font-weight:520}.back-button{padding-left:.25rem;font-size:1rem;font-weight:500}.header-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.account-household-pill{border:1px solid var(--border);background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(18px);border-radius:999px;align-items:center;min-width:0;max-width:min(52vw,28rem);padding:.2rem;display:inline-flex;box-shadow:0 4px 18px #365f4614}.profile-pill-button{min-height:2.65rem;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .75rem .2rem .25rem;display:inline-flex}.profile-pill-button:hover,.household-pill-side:hover{background:var(--surface-hover)}.profile-pill-label{font-size:.875rem;font-weight:600}.pill-divider{background:var(--separator);flex:none;width:1px;height:1.75rem}.household-pill-side{border-radius:999px;align-items:center;min-width:0;padding:0 .5rem 0 .65rem;display:inline-flex;position:relative}.household-pill-side select{appearance:none;width:auto;max-width:min(22vw,13rem);min-height:2.5rem;color:var(--text);cursor:pointer;background:0 0;border:0;padding:.35rem 1.35rem .35rem .2rem;font-size:.9rem;font-weight:650}.household-chevron{pointer-events:none;color:var(--muted);font-size:1rem;position:absolute;right:.45rem}.household-controls{align-items:center;gap:.375rem;min-width:0;display:flex}.household-controls select{background-color:var(--surface-3);width:auto;max-width:13rem;min-height:2.5rem;font-size:.9375rem;font-weight:600}.avatar{color:#f5fff6;background:linear-gradient(145deg,#6f9878,#365f46 68%,#294b36);border-radius:50%;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;font-size:.9375rem;font-weight:750;display:inline-grid}button.avatar{cursor:pointer;border:0;padding:0;box-shadow:0 2px 8px #365f4633}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;padding:1.75rem 0 1.25rem;display:flex}.page-heading>div{gap:.375rem;min-width:0;display:grid}.page-heading p.muted{font-size:1rem}.app-window-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:1.5rem 0 1.25rem;display:flex}.app-window-bar h2{letter-spacing:-.022em;align-items:center;gap:.75rem;min-width:0;font-size:2rem;display:flex}.app-window-bar h2:focus{outline:none}.app-window-title{justify-items:start;gap:.25rem;min-width:0;display:grid}.back-button{gap:.125rem;margin-left:-.5rem;padding-left:.125rem;font-weight:500}.window-actions{flex-wrap:wrap;gap:.5rem;display:flex}.page-footer{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:.5rem;padding-top:2.5rem;font-size:.8125rem;display:flex}.app-icon{--tint:var(--accent);--icon-size:3.75rem;isolation:isolate;width:var(--icon-size);height:var(--icon-size);color:#fff;background:0 0;border-radius:23%;flex-shrink:0;place-items:center;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 2px 6px #2330421f,inset 0 0 0 .5px #ffffff38}.app-icon:before{content:"";z-index:0;border-radius:inherit;background:linear-gradient(155deg, color-mix(in srgb, var(--tint) 58%, #fff 42%) 0%, var(--tint) 62%, color-mix(in srgb, var(--tint) 78%, #365f46 22%) 100%);position:absolute;inset:0}.app-icon>*{z-index:1;position:relative}.app-icon svg{width:52%;height:52%}.app-icon.dark-glyph{color:#ffffffdb}.app-icon-sm{--icon-size:1.875rem;box-shadow:none;border-radius:8px}.app-icon-md{--icon-size:2.5rem;border-radius:11px}.dock{left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:30;background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(26px);border:1px solid var(--border);max-width:calc(100% - 1rem);box-shadow:var(--shadow-lg);touch-action:pan-x;scrollbar-width:none;border-radius:1.625rem;align-items:stretch;gap:.125rem;padding:.375rem;display:flex;position:fixed;overflow-x:auto;transform:translate(-50%)}.dock::-webkit-scrollbar{display:none}.dock button{min-width:3.5rem;min-height:3.25rem;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:1.125rem;flex-direction:column;gap:.2rem;padding:.25rem .45rem;font-size:.6875rem;font-weight:600}.dock button:hover{background:var(--surface-hover)}.dock button.active{color:var(--accent)}.dock-grabber{background:var(--tertiary);opacity:.5;border-radius:9px;width:2.25rem;height:.3rem;position:absolute;top:-.6rem;left:50%;transform:translate(-50%)}@media (width>=1100px){.app-shell[data-display=auto]{grid-template-columns:minmax(0,1fr)}.app-shell[data-display=auto] .sidebar{display:none}.app-shell[data-display=auto] .dock{display:flex}}.app-shell[data-display=laptop]{grid-template-columns:minmax(0,1fr)}.app-shell[data-display=laptop] .sidebar{display:none}.app-shell[data-display=laptop] .dock{display:flex}.app-shell[data-display=phone] .main-content{max-width:40rem}.app-shell[data-display=tablet] .main-content{max-width:76rem}.app-shell[data-display=tv] .main-content{max-width:none}.hub-launcher{margin-bottom:1.25rem;padding:.875rem 1rem .5rem}.hub-launcher>*+*{margin-top:.5rem}.launcher-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.launcher-head h2{margin-right:auto;font-size:1.0625rem}.app-search{flex:16rem;align-items:center;max-width:34rem;margin:0;display:flex;position:relative}.app-search>svg{color:var(--tertiary);pointer-events:none;position:absolute;left:.75rem}.app-search input{border-radius:11px;min-height:2.5rem;padding-left:2.5rem;padding-right:3rem}.app-search .mic-button{background:0 0;width:2.25rem;height:2.25rem;min-height:2.25rem;position:absolute;right:.25rem}.app-search .mic-button.listening{color:var(--red);background:var(--danger-soft)}.app-shortcuts{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:5.75rem;grid-auto-flow:column;gap:.5rem;padding:.5rem .125rem;display:grid;overflow-x:auto}.app-shortcuts::-webkit-scrollbar{display:none}@media (width<=640px),(pointer:coarse) and (width<=1100px){.launcher-head .scroll-arrow{display:none}.launcher-head .app-search{flex-basis:100%;order:3;max-width:none}}.app-shell[data-display=phone] .launcher-head .scroll-arrow{display:none}.app-shell[data-display=phone] .launcher-head .app-search{flex-basis:100%;order:3;max-width:none}.shortcut{border-radius:var(--radius);scroll-snap-align:start;text-align:center;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:.4rem;min-height:0;padding:.375rem .25rem;display:flex}.shortcut:hover:not(:disabled){background:var(--surface-hover)}.shortcut strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.8125rem;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.shortcut small{color:var(--muted);font-size:.6875rem}.shortcut:disabled{opacity:.5}.shortcut .running-dot{background:var(--text);opacity:.6;border-radius:50%;width:.3rem;height:.3rem}.running-apps{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.25rem;display:flex}.running-apps .eyebrow{margin-right:.25rem}.running-apps .chip{padding-right:.375rem}.running-apps .chip button{background:var(--surface-3);width:1.75rem;height:1.75rem;min-height:0;color:var(--muted);border:0;border-radius:50%;padding:0}.widget-grid{--cols:2;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-auto-flow:dense;align-items:stretch;gap:1rem;display:grid}@media (width>=760px){.widget-grid{--cols:4}}.app-shell[data-display=phone] .widget-grid{--cols:2}.app-shell[data-display=tablet] .widget-grid,.app-shell[data-display=tv] .widget-grid{--cols:4}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow);flex-direction:column;grid-column:span 2;gap:.75rem;padding:1.125rem 1.25rem 1.25rem;display:flex;overflow:hidden}.widget-small{grid-column:span 1}.widget-medium,.widget-large{grid-column:span 2}.widget-wide{grid-column:1/-1}.app-shell[data-display=phone] .widget-large,.app-shell[data-display=phone] .widget-medium{grid-column:span 2}.widget-header{align-items:center;gap:.625rem;min-width:0;display:flex}.widget-title{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9375rem;font-weight:600;overflow:hidden}.widget-icon{--tint:var(--accent);color:#fff;background:var(--tint);border-radius:8px;flex-shrink:0;place-items:center;width:1.75rem;height:1.75rem;display:inline-grid}.widget-icon svg{width:1.05rem;height:1.05rem}.widget-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.widget-hit{width:100%;min-height:0;color:inherit;text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.5rem;padding:0;display:flex}.widget-hit:active:not(:disabled){opacity:.85;transform:none}.widget-source{margin-top:auto}.widget-source a{color:inherit;text-underline-offset:2px;text-decoration:underline}button.widget{text-align:left;font:inherit;color:inherit;cursor:pointer;justify-content:flex-start;align-items:stretch}button.widget:hover{box-shadow:var(--shadow), inset 0 0 0 999px var(--surface-hover)}.stat-number{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;line-height:1}.stat-number span{letter-spacing:0;color:var(--muted);margin-left:.375rem;font-size:1rem;font-weight:500}.progress-track{background:var(--surface-3);border-radius:9px;height:.375rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.task-list{padding:1.25rem}.task-planning-fields{border:1px solid var(--separator);border-radius:var(--radius);background:var(--surface-2);gap:.75rem;margin:.5rem 0;padding:.875rem;display:grid}.task-planning-fields>legend{padding:0 .375rem;font-weight:600}.task-planning-fields .form-grid{margin:0}.task-planning-fields input:disabled{opacity:.55}.task-list>.section-title h2{font-size:1.25rem}.task-filters{border-bottom:1px solid var(--separator);gap:.75rem;padding:.75rem 0 1rem;display:grid}.category-filters{flex-wrap:wrap;gap:.5rem;display:flex}.visibility-filter{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.visibility-filter select{width:auto;min-width:14rem}.horizon-group{margin-top:1.25rem}.horizon-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;padding-bottom:.25rem;display:flex}.horizon-heading h3{font-size:1.0625rem}.horizon-heading small{color:var(--muted)}.task-row{border-bottom:1px solid var(--separator);align-items:center;gap:.375rem;min-height:3.5rem;padding:.25rem 0;display:flex}.task-row:last-of-type{border-bottom:0}.check-button{width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--tertiary);background:0 0;border:0;border-radius:50%;padding:0}.check-button:hover:not(:disabled),.check-button.checked{color:var(--accent)}.task-label{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:.125rem;min-width:0;min-height:2.75rem;padding:.25rem 0;display:flex}.task-label span{overflow-wrap:anywhere;font-size:1rem}.task-label small{color:var(--muted)}.task-label small.overdue{color:var(--danger);font-weight:500}.task-label.completed span{color:var(--muted);text-decoration:line-through}.add-task-inline{min-height:2.75rem;color:var(--accent);background:0 0;border:0;align-self:flex-start;padding:0 .25rem;font-weight:600}.app-drawer{width:min(64rem,100% - 2rem)}.app-drawer .app-search{max-width:none;margin-bottom:1rem}.drawer-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,7.25rem),1fr));gap:1rem .75rem;display:grid}.drawer-module{border-radius:var(--radius);text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:.4rem;min-height:0;padding:.625rem .375rem;display:flex}.drawer-module:hover:not(:disabled){background:var(--surface-hover)}.drawer-module strong{font-size:.875rem;font-weight:600;line-height:1.25}.drawer-module .small{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.35;display:-webkit-box;overflow:hidden}.drawer-module small{color:var(--muted);font-size:.6875rem}.drawer-module:disabled{opacity:.5}.quiet-screen{z-index:100;color:#f5f5f7;width:100%;height:100svh;font:inherit;text-align:center;background:#000;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:fixed;inset:0}.quiet-screen .eyebrow{color:#8e8e93}.quiet-clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(5rem,22vw,17rem);font-weight:200;line-height:1}.quiet-screen>span:nth-child(3){color:#d1d1d6;font-size:1.375rem}.quiet-summary{color:#a1a1a6;margin-top:1rem;font-size:1rem}.quiet-screen .small{color:#636366;margin-top:2rem}.login-screen{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100svh;display:grid}.login-story{color:#fff;background:var(--accent);background:radial-gradient(40rem 30rem at 20% 10%,#ffffff2e,#0000 60%),linear-gradient(150deg,#294b37 0%,#365f46 55%,#789b80 100%);flex-direction:column;justify-content:space-between;gap:3rem;padding:3rem clamp(2rem,7vw,6rem);display:flex}.login-story .brand span{color:#ffffffbf}.login-story .brand-mark{box-shadow:none}.login-story .eyebrow{color:#ffffffc7}.login-story h1{letter-spacing:-.03em;margin:1rem 0;font-size:clamp(2.25rem,4.4vw,3.75rem);line-height:1.08}.login-story p{color:#ffffffe0;max-width:26rem;font-size:1.0625rem;line-height:1.6}.login-footnote{color:#ffffffd9;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.login-panel{place-items:center;padding:2.5rem 1.25rem;display:grid}.login-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(100%,25rem);box-shadow:var(--shadow);padding:2rem}.login-form>*+*{margin-top:.5rem}.login-form h2{font-size:1.75rem}.login-form form{margin:1.5rem 0 1.25rem}.login-submit{width:100%;min-height:3.125rem;margin-top:.5rem;font-size:1.0625rem}@media (width<=820px){.login-screen{grid-template-columns:1fr}.login-story{gap:1.5rem;padding:2rem 1.5rem 2.25rem}.login-story h1{margin:.75rem 0;font-size:2.25rem}.login-footnote{display:none}.login-panel{padding:1.5rem 1rem 2.5rem}.login-form{padding:1.5rem}}.invitation-screen{place-items:center;min-height:100svh;padding:1.5rem;display:grid}.invitation-screen .card{width:min(100%,40rem)}.invitation-link{gap:.5rem;padding:.75rem 0;display:grid}.settings-section{border-top:1px solid var(--separator);gap:.625rem;padding:1.25rem 0;display:grid}.settings-section:first-of-type{border-top:0;padding-top:.25rem}.settings-section form .primary{justify-self:start}.calendar-module,.routine-module,.training-module,.cleaning-module,.music-module,.admin-module,.music-player,.screenshot-import{align-content:start;gap:1rem;min-width:0;display:grid}:is(.calendar-module,.routine-module,.training-module,.cleaning-module,.music-module,.admin-module)>:is(button,a,.filter-group,.admin-tabs){justify-self:start}:is(.calendar-module,.routine-module,.training-module,.cleaning-module,.music-module,.admin-module)>.section-title h2{font-size:1.25rem}.music-player>*+*,.admin-module .card>*+*{margin-top:0}.music-player{padding:1.25rem}.music-module>aside.notice,.calendar-module>p.small,.routine-module>p.small.muted,.cleaning-module>p.small{max-width:60rem}.music-actions,.calendar-buttons,.cleaning-buttons,.window-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}:is(.music-actions,.calendar-buttons,.cleaning-buttons)>label{flex:0 auto}:is(.music-actions,.calendar-buttons,.cleaning-buttons) input:not([type=checkbox]):not([type=radio]),:is(.music-actions,.calendar-buttons,.cleaning-buttons) select{flex:0 auto;width:auto}.music-actions input[type=number]{width:6.5rem}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.calendar-toolbar h2{margin-right:auto;font-size:1.25rem}.calendar-toggles>legend{margin-bottom:.25rem}.calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.calendar-single-day{grid-template-columns:minmax(0,1fr)}.calendar-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;min-height:15rem;padding:.75rem .625rem}.calendar-day h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.625rem;font-size:.8125rem;font-weight:600}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day.is-today h3{color:var(--accent)}.calendar-event{--event-tint:var(--blue);border:0;border-left:3px solid var(--event-tint);background:var(--surface-2);background:color-mix(in srgb, var(--event-tint) 15%, transparent);width:100%;min-height:0;color:var(--text);text-align:left;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.125rem;margin-bottom:.375rem;padding:.5rem .625rem;font-weight:400;display:flex}.calendar-event strong{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:.875rem;font-weight:600;line-height:1.3}.calendar-event small{color:var(--muted);font-size:.75rem}.calendar-event small:first-child{font-variant-numeric:tabular-nums;color:var(--event-tint);filter:saturate(1.1)brightness(.85);font-weight:600}:root[data-theme=dark] .calendar-event small:first-child{filter:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .calendar-event small:first-child{filter:none}}.calendar-dot{background:var(--event-tint);border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem}.routine-calendar-event{--event-tint:var(--purple)}.training-calendar-event{--event-tint:var(--indigo)}.cleaning-calendar-event{--event-tint:var(--mint)}.task-calendar-event{--event-tint:var(--blue)}.event-conflict{--event-tint:var(--orange)}.event-pending{opacity:.6;text-decoration:line-through}.routine-finished,.calendar-event.routine-finished{opacity:.6}.routine-calendar-toggle{color:inherit}.event-fields{gap:.875rem;display:grid}.calendar-sharing{border-bottom:1px solid var(--separator);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 0;display:flex}.calendar-sharing select{width:auto}.connection-status{border-bottom:1px solid var(--separator);gap:.5rem;padding:.875rem 0;display:grid}.calendar-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.875rem 1rem;display:grid}.screenshot-import h3{margin:0}.screenshot-preview{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);max-width:100%;max-height:22rem}.import-row{border-radius:var(--radius);background:var(--surface-2);gap:.75rem;padding:1rem;display:grid}@media (width<=1180px){.calendar-week:not(.calendar-single-day){scroll-snap-type:x proximity;grid-template-columns:repeat(7,minmax(9.5rem,1fr));padding-bottom:.25rem;overflow-x:auto}.calendar-week:not(.calendar-single-day) .calendar-day{scroll-snap-align:start}}@media (width<=640px){.calendar-week:not(.calendar-single-day){grid-template-columns:minmax(0,1fr);overflow-x:visible}.calendar-day{min-height:0}}.routine-now{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem 1.5rem;display:grid}.routine-now>*+*{margin-top:0}.routine-now>div{gap:.125rem;min-width:0;display:grid}.routine-now strong{overflow-wrap:anywhere;font-size:1.0625rem}.routine-progress strong{font-variant-numeric:tabular-nums}.routine-timeline{gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.routine-item{grid-template-columns:3.5rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.routine-time{font-variant-numeric:tabular-nums;justify-items:end;padding-top:1rem;line-height:1.25;display:grid}.routine-time strong{font-size:.9375rem}.routine-time span{color:var(--muted);font-size:.8125rem}.routine-block{overflow-wrap:anywhere;box-shadow:var(--shadow), inset 3px 0 0 var(--purple);padding:.5rem 1rem .5rem .375rem}.routine-block>*+*{margin-top:.25rem}.routine-block>:not(.routine-head){margin-left:2.875rem}.routine-head{align-items:center;gap:.125rem;min-width:0;display:flex}.routine-title{flex:1;gap:.125rem;min-width:0;padding:.25rem 0;display:grid}.routine-title .badge{margin-right:.25rem}.routine-actions{flex-wrap:wrap;gap:0 .25rem;display:flex;margin-left:2.375rem!important}.routine-actions .text-button{min-height:2.5rem;font-size:.875rem;font-weight:500}.routine-item.is-current .routine-block{box-shadow:var(--shadow), inset 3px 0 0 var(--purple), 0 0 0 2px var(--accent)}.routine-item.is-current .routine-time strong{color:var(--accent)}.routine-item.routine-finished .routine-title h3{color:var(--muted)}.routine-item.routine-finished{opacity:.78}.routine-block .check-button.checked{color:var(--green)}@media (width<=520px){.routine-item{grid-template-columns:minmax(0,1fr);gap:.25rem}.routine-time{justify-items:start;gap:.375rem;padding:0 0 0 .25rem;display:flex}.routine-time span:before{content:"– "}}.routine-summary{gap:.375rem;display:grid}.routine-summary p{margin:0}.routine-date label,.training-date{font-weight:600}.routine-block .checkbox-label{align-items:flex-start;min-height:2.5rem;padding:.375rem 0}.routine-block .checkbox-label input{margin-top:.05rem}.routine-training{margin:0}.training-session{overflow-wrap:anywhere}.training-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.training-title{flex:12rem;gap:.125rem;min-width:0;display:grid}.training-actions{padding-top:.25rem}.training-spacer{flex:1}.training-date{gap:.5rem}.training-date input{width:auto}.training-day-label{margin-left:.25rem;font-size:1.0625rem}.training-safety>summary,.training-module>details.card>summary{padding:0}.training-highlight{box-shadow:var(--shadow), 0 0 0 2px var(--indigo)}.training-exercise{border-bottom:1px solid var(--separator);padding:.125rem 0}.training-exercise>summary{font-weight:400}.training-exercise>summary strong{font-weight:600}.exercise-dose{color:var(--muted);font-size:.875rem}.exercise-dose:before{content:"· "}.training-exercise:last-of-type{border-bottom:0}.training-exercise p{white-space:pre-line;line-height:1.6}.training-exercise>p{padding-left:1.3rem}.training-editor fieldset{min-width:0}.training-edit-exercise{border-radius:var(--radius);background:var(--surface-2);padding:1rem}.training-edit-exercise>legend{float:left;width:100%;color:var(--text);font-size:.9375rem}.training-set{border-bottom:1px solid var(--separator);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.75rem 0;display:grid}.training-set>strong,.training-set>button,.training-set>.checkbox-label{grid-column:1/-1}.training-set>button{justify-self:start}.cleaning-card .section-title span{color:var(--muted);font-size:.875rem;font-weight:600}.music-module>.section-title h2 svg,.recipe-module>.section-title h2 svg{display:none}.music-controls{gap:.875rem;min-width:0;display:grid}.music-settings{border-block:1px solid var(--separator);padding:.5rem 0}.music-settings>:not(summary){margin-top:.75rem}.music-search{grid-template-columns:minmax(0,1fr) auto;align-items:end}.music-search label{grid-column:1/-1}.music-search input{margin-top:-.5rem}.music-results{margin:0;padding:0;list-style:none}.music-results li{border-top:1px solid var(--separator);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.music-results li>span{overflow-wrap:anywhere;gap:.125rem;min-width:0;display:grid}.shopping-connect form,.shopping-selection{gap:.75rem;display:grid}.shopping-list{border-top:1px solid var(--separator);margin-top:1.25rem;padding-top:1rem}.shopping-list>*+*{margin-top:.625rem}.shopping-add{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:2rem;display:flex}.shopping-add label{flex:12rem;min-width:0}.shopping-items{grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.shopping-items li{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb8;grid-template-columns:1fr auto;align-items:start;gap:.55rem;min-width:0;padding:.8rem;display:grid;position:relative;box-shadow:0 3px 12px #365f460b}.shopping-items li:last-child{border-bottom:1px solid var(--border)}.shopping-item-text{overflow-wrap:anywhere;grid-column:1/-1;min-width:0;display:grid}.shopping-item-text strong{font-size:.95rem}.shopping-items li>.shopping-food-symbol{border-radius:14px;flex-basis:10rem;grid-column:1/-1;width:10rem;height:10rem}.shopping-items li>.music-actions{flex-wrap:wrap;grid-column:1/-1;gap:.35rem;display:flex}.shopping-items li>.shopping-edit{grid-column:1/-1}.shopping-food-symbol{color:#fff;border-radius:10px;flex:0 0 9rem;place-items:center;width:9em;height:9rem;display:inline-grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29}.shopping-food-symbol img{object-fit:scale-down;width:100%;height:100%;display:block;position:absolute}.shopping-food-symbol--fruit,.shopping-food-symbol--bakery{background:#d75d63}.shopping-food-symbol--produce,.shopping-food-symbol--dairy,.shopping-food-symbol--fish{background:#36988f}.shopping-food-symbol--meat{background:#a96f58}.shopping-food-symbol--pantry{background:#8b805f}.shopping-food-symbol--drink{background:#6b899b}.shopping-food-symbol--other{background:#7d8583}.shopping-edit{flex-wrap:wrap;align-items:flex-end;gap:.5rem;width:100%;display:flex}.shopping-edit label{flex:12rem}.tado-home-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tado-home-heading>div{gap:.2rem;min-width:0;display:grid}.tado-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.tado-quick-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0;color:var(--text);text-align:left;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.tado-quick-action:disabled{opacity:.5;cursor:not-allowed}.tado-quick-action:not(:disabled){cursor:pointer}.tado-quick-action>svg{color:var(--accent);flex:none}.tado-quick-action>span{gap:.1rem;min-width:0;display:grid}.tado-quick-action small{color:var(--muted)}.tado-quick-primary{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 20%, var(--border))}.tado-presence-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tado-presence-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;display:inline-flex}.tado-presence-actions button.selected{background:var(--surface-2);border-color:var(--accent);color:var(--accent)}.tado-room-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.75rem;display:grid}.tado-room-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0;color:var(--text);text-align:left;cursor:pointer;gap:.65rem;padding:1rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.tado-room-tile:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.tado-room-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tado-room-tile.offline{opacity:.72}.tado-room-tile.heating-off{background:var(--surface-3)}.tado-room-tile-heading,.tado-room-meta,.tado-room-tile-footer{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.tado-room-tile-heading>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tado-room-state{background:var(--surface-3);color:var(--muted);border-radius:999px;flex:none;padding:.15rem .45rem;font-size:.72rem}.tado-room-current{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:650;line-height:1;display:block}.tado-room-current small{letter-spacing:0;color:var(--muted);margin-left:.1rem;font-size:1.15rem;font-weight:500}.tado-room-meta{color:var(--muted);font-size:.82rem}.tado-humidity{align-items:center;gap:.25rem;display:inline-flex}.tado-humidity svg{color:var(--accent)}.tado-room-tile-footer{border-top:1px solid var(--separator);color:var(--muted);padding-top:.55rem;font-size:.76rem}.tado-home-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;font-size:.76rem;display:flex}.tado-room-dialog{width:min(100% - 2rem,36rem)}.tado-room-detail{gap:1rem;display:grid}.tado-room-detail-readings{border-radius:var(--radius);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:1rem;display:grid}.tado-room-detail-readings>div{gap:.25rem;min-width:0;display:grid}.tado-room-detail-readings span{color:var(--muted);font-size:.75rem}.tado-room-detail-readings strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.tado-room-detail-readings small{color:var(--muted);margin-left:.1rem;font-size:.85rem;font-weight:500}.tado-room-command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.tado-room-command-grid button{justify-content:center;align-items:center;gap:.4rem;display:flex}.daily-panel{overflow-wrap:anywhere;align-content:start;gap:.875rem;display:grid}.daily-panel>*+*{margin-top:0}.daily-panel h2{font-size:1.25rem}.weather-reading{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.weather-reading strong{letter-spacing:-.04em;font-size:clamp(2.75rem,5vw,4rem);font-weight:300;line-height:1}.weather-reading span{font-size:1.125rem;font-weight:600}.weather-days{grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));gap:.75rem;display:grid}.weather-days article{border-radius:var(--radius);background:var(--surface-2);gap:.25rem;padding:.875rem 1rem;display:grid}.daily-verse{border-top:1px solid var(--separator);gap:.5rem;padding:1rem 0;display:grid}.daily-verse:first-of-type{border-top:0;padding-top:0}.verse-text{white-space:pre-line;font-family:var(--font-serif);font-size:1.1875rem;line-height:1.6}.daily-links{flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;display:flex}.daily-links a{align-items:center;min-height:2.75rem;font-weight:500;display:inline-flex}.bible-attribution{white-space:pre-line;color:var(--muted)}.weather-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem 1.25rem;padding:.5rem 0 .25rem;display:grid}.weather-hero-icon{color:var(--orange);grid-row:span 2}.weather-hero .weather-reading{grid-column:2}.weather-hero p{flex-wrap:wrap;grid-column:2;align-items:center;gap:.25rem;display:flex}.weather-forecast{background:var(--surface-2);border:0}.weather-forecast li{flex-wrap:nowrap;grid-template-columns:minmax(6rem,1.2fr) 2rem auto minmax(8rem,2fr);align-items:center;gap:.75rem;padding:.75rem 0;display:grid}.forecast-icon{color:var(--muted);place-items:center;display:inline-grid}.forecast-range{font-variant-numeric:tabular-nums;text-align:right;grid-template-columns:2.25rem minmax(2.5rem,1fr) 2.25rem;align-items:center;gap:.5rem;display:grid}.forecast-range>span:first-child{text-align:right}.forecast-bar{background:var(--surface-3);border-radius:9px;height:.3rem;position:relative}.forecast-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), var(--yellow), var(--orange));position:absolute;top:0;bottom:0}@media (width<=520px){.weather-forecast li{grid-template-columns:minmax(0,1fr) 1.75rem minmax(7rem,1.4fr)}.weather-forecast li .badge{display:none}}blockquote.verse-text{margin:0}.weather-widget{color:var(--text);background:linear-gradient(145deg,#fffffff0,#e5f0e5e0);border:1px solid #365f4621}.weather-widget.is-night{background:linear-gradient(145deg,#f0f5edf5,#dce8dfeb)}.weather-widget .small,.weather-widget small{color:var(--muted)}.weather-widget .weather-big{letter-spacing:-.04em;font-size:3rem;font-weight:300;line-height:1}.weather-widget .widget-icon{color:#365f46;background:#ffffffc7}.weather-widget .error{color:var(--danger)}.bible-widget .verse-text{-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:1.0625rem;display:-webkit-box;overflow:hidden}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.admin-module .card{align-content:start;gap:.75rem;display:grid}.admin-module h3{margin:0}.admin-module p{overflow-wrap:anywhere}.admin-form{width:100%;max-width:36rem}.admin-form .primary{justify-self:start}.display-picker{margin:0}.app-shell[data-display=tv] .dock button{min-width:4.5rem}html[data-hub-display=tv] :is(button,a,summary,.widget,input,select):focus-visible{outline:4px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion:no-preference){html[data-hub-display=tv] :is(.shortcut,.drawer-module,button.widget,.dock button):focus-visible{transform:scale(1.06)}.shortcut,.drawer-module,.dock button{transition:transform .18s var(--ease), background-color .15s}}@media (width<=640px){:root{--page-pad:1rem}h1{font-size:1.875rem}.app-window-bar h2{font-size:1.625rem}.card,.task-list{padding:1rem}.widget{border-radius:var(--radius-lg);padding:1rem}.widget-grid{gap:.75rem}.household-controls select{max-width:9.5rem}.training-set,.music-search{grid-template-columns:minmax(0,1fr)}.visibility-filter select{width:100%;min-width:0}.page-heading .primary{padding-inline:.875rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.spotify-now-playing{grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);align-items:center;gap:1rem;display:grid}.spotify-cover{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);background:var(--surface-2);width:100%;display:block}.spotify-cover-empty,.spotify-mini-cover,.music-result-cover{color:var(--muted);background:var(--surface-2);place-items:center;display:grid}.spotify-track-info{overflow-wrap:anywhere;gap:.35rem;min-width:0;display:grid}.spotify-track-info>strong{font-size:1.25rem;line-height:1.25}.spotify-track-info>a{font-size:.875rem}.spotify-progress{gap:.25rem;display:grid}.spotify-progress progress{width:100%;height:.35rem;accent-color:var(--accent)}.spotify-progress>div{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.spotify-transport{align-items:center}.music-search-dialog{width:min(58rem,100% - 2rem)}.music-search-dialog .music-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.music-search-dialog .music-search label{grid-column:1/-1}.music-search-dialog .music-search input{min-width:0}.music-search-results{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.65rem;max-height:55vh;padding:.125rem;display:grid;overflow:auto}.music-search-result{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;padding:.6rem;display:grid}.music-search-result>img,.music-result-cover{object-fit:cover;border-radius:7px;width:3.5rem;height:3.5rem}.music-result-copy{overflow-wrap:anywhere;gap:.2rem;min-width:0;display:grid}.music-result-copy strong{line-height:1.25}.music-result-copy small{color:var(--muted)}.music-result-action{color:var(--accent);grid-column:2;font-size:.8rem;font-weight:650}.music-search-result:disabled{opacity:.5;cursor:not-allowed}.spotify-widget{min-width:0}.spotify-mini-track{grid-template-columns:4.25rem minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;display:grid}.spotify-mini-track>img,.spotify-mini-cover{object-fit:cover;border-radius:8px;width:4.25rem;height:4.25rem}.spotify-mini-track>div{overflow-wrap:anywhere;gap:.2rem;min-width:0;display:grid}.spotify-mini-track strong{line-height:1.25}.spotify-playing-label{color:var(--green,var(--accent));font-size:.75rem;font-weight:650}.spotify-mini-device{gap:.25rem;display:grid}.spotify-mini-device select{width:100%;min-width:0}.spotify-mini-controls{align-items:center;gap:.4rem;display:flex}.spotify-mini-controls .text-button{margin-left:auto}@media (width<=640px){.spotify-now-playing{grid-template-columns:6.5rem minmax(0,1fr)}.music-search-dialog .music-search{grid-template-columns:minmax(0,1fr)}.music-search-dialog .music-search label{grid-column:auto}}.deep-clean-workspace{gap:1rem;min-width:0;display:grid}.deep-clean-toolbar,.deep-plan-heading,.deep-room-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.deep-clean-toolbar h3,.deep-plan-heading h3,.deep-room-heading h4{margin:0}.deep-clean-layout{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.deep-plan-list{gap:.5rem;display:grid}.deep-plan-choice{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:.3rem;padding:.9rem;display:grid}.deep-plan-choice.selected{border-color:var(--accent);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--accent)}.deep-plan-choice strong{line-height:1.3}.deep-plan-detail{gap:1rem;min-width:0;display:grid}.deep-plan-date{grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr);align-items:end;gap:1rem;display:grid}.deep-progress{grid-template-columns:auto 1fr;align-items:center;gap:.25rem .75rem;display:grid}.deep-progress strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.deep-progress>span{color:var(--muted);font-size:.8rem}.deep-progress .progress-track{grid-column:1/-1}.deep-room-group{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:1rem}.deep-room-heading{border-bottom:1px solid var(--separator);padding-bottom:.6rem}.deep-checklist,.deep-supply-list{margin:.25rem 0 0;padding:0;list-style:none;display:grid}.deep-checklist li,.deep-supply-list li{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.6rem 0;display:flex}.deep-checklist li:last-child,.deep-supply-list li:last-child{border-bottom:0}.deep-checklist label,.deep-supply-list label{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.deep-checklist label input,.deep-supply-list label input{flex:none;margin-top:.2rem}.deep-checklist li.completed label span{color:var(--muted);text-decoration:line-through}.deep-checklist li.skipped label span{color:var(--muted)}.deep-skip{flex:none;padding:.2rem .35rem;font-size:.78rem}.deep-supplies{gap:.7rem;display:grid}.deep-supplies .primary{justify-self:start}.shopping-connection-card{gap:.75rem;display:grid}.shopping-connection-card>.section-title{margin-bottom:0}.tado-home-card{gap:.85rem;display:grid}.tado-home-card>.section-title{align-items:flex-start}.tado-home-card>.section-title h3{margin:0}@media (width<=760px){.deep-clean-layout{grid-template-columns:minmax(0,1fr)}.deep-plan-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr))}.deep-plan-date{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.tado-quick-actions,.tado-room-command-grid{grid-template-columns:minmax(0,1fr)}.tado-room-detail-readings{grid-template-columns:repeat(3,minmax(0,1fr))}.tado-home-heading,.deep-clean-toolbar,.deep-plan-heading{align-items:flex-start}.deep-clean-toolbar{flex-direction:column}.deep-clean-toolbar .primary{width:100%}.deep-checklist li,.deep-supply-list li{gap:.4rem}}.card,.widget,.hub-launcher,.app-drawer,.app-window-bar{border-color:#365f461f}.card,.widget{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(145%)blur(16px)}.topbar,.dock{background:#ffffffb8;border-color:#365f4624}.app-window-bar{border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(22px)saturate(150%);background:#ffffffad;margin:.75rem 0 1rem;padding:.8rem 1rem}.home-heating-widget{-webkit-backdrop-filter:blur(18px)saturate(1.15);background:linear-gradient(135deg,#ffffffe0,#e8f3e9b8);border:1px solid #365f4626;position:relative;overflow:hidden;box-shadow:0 10px 28px #365f4612,inset 0 1px #fffc}.home-heating-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.home-heating-reading{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin:.2rem 0 .65rem;display:flex}.home-heating-reading strong{color:var(--accent);letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.25rem);font-weight:650}.home-heating-reading span{color:var(--muted);font-size:.82rem}.home-heating-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.home-heating-actions button{min-height:3.1rem;color:var(--accent);font:inherit;transition:transform .16s var(--ease), background .16s var(--ease);background:#ffffffd1;border:1px solid #365f461f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.82rem;font-weight:600;display:flex}.home-heating-actions button:hover:not(:disabled){background:#fff;transform:translateY(-1px)}.home-heating-actions button.max{color:#fff;background:#456b50;border-color:#456b50}.home-heating-actions button:disabled{opacity:.48;cursor:not-allowed}.home-heating-footnote{margin:.55rem 0 0}.home-heating-updated{margin:.4rem 0 0}@media (prefers-reduced-motion:no-preference){.app-window-bar{animation:app-window-enter .22s var(--ease) both}@keyframes app-window-enter{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (width<=520px){.home-heating-actions{gap:.35rem}.home-heating-actions button{min-height:2.8rem}}@media (prefers-reduced-motion:no-preference){.main-content>section[aria-label$=\ App]{animation:app-content-enter .24s var(--ease) both}@keyframes app-content-enter{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (width>=1100px){.main-content{padding-left:clamp(2rem,4vw,4.5rem);padding-right:clamp(2rem,4vw,4.5rem)}.widget-grid,.widget-grid>*,.hub-launcher,.page-heading,.app-window-bar{min-width:0}}@media (width<=720px){.topbar{gap:.35rem}.topbar-brand .brand-name{font-size:1.05rem}.profile-pill-label{display:none}.account-household-pill{max-width:62vw}.household-pill-side select{max-width:36vw;font-size:.82rem}}@media (width<=420px){.topbar-brand .brand-mark{width:1.9rem;height:1.9rem}.header-actions{gap:.25rem}.account-household-pill{max-width:58vw}.household-pill-side{padding-inline:.35rem}.household-pill-side select{max-width:31vw}}
