:root{--white:#fff;--black:#000;--gray-50:#fafafa;--gray-100:#ebebeb;--gray-200:#ccc;--gray-400:#999;--gray-500:#666;--gray-600:#383838;--gray-800:#1a1a1a;--gray-900:#151515;--gray-950:#0a0a0a;--teal-500:teal;--teal-600:#066;--teal-700:#004d4d;--gold-500:#d4a017;--gold-600:#b8860b;--red-500:#dc3545;--green-500:#28a745;--overlay-white-04:#ffffff0a;--overlay-white-05:#ffffff0d;--overlay-white-15:#ffffff26;--color-primary:var(--teal-500);--color-primary-hover:var(--teal-600);--color-primary-fg:var(--white);--color-secondary:var(--gold-500);--color-secondary-hover:var(--gold-600);--color-secondary-fg:var(--black);--color-success:var(--green-500);--color-error:var(--red-500);--color-bg:Canvas;--color-fg:CanvasText;--color-surface-alt:var(--gray-200);--color-fg-on-alt:var(--black);--color-surface-chrome:color-mix(in srgb,currentColor 6%,transparent);--color-surface-hover:color-mix(in srgb,currentColor 8%,transparent);--color-border-subtle:color-mix(in srgb,currentColor 25%,transparent);--color-border-strong:var(--gray-500);--color-link:blue;--nav-height:49px;--button-fg:var(--white);--button-border:var(--black);--button-edge:var(--black);--button-radius:10px;--button-padding:15px 40px}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;max-width:100vw;overflow-x:hidden}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}body{padding-top:var(--nav-height)}body .stack>*+*{margin-block-start:var(--stack-gap,20px)}body .card{--card-border:var(--color-border-subtle);--card-chrome-bg:var(--color-surface-chrome);--card-padding:15px 20px;--card-radius:10px;border:1px solid var(--card-border);border-radius:var(--card-radius);flex-direction:column;display:flex;overflow:hidden}body .card .card-header,body .card .card-footer{background-color:var(--card-chrome-bg);padding:var(--card-padding);font-weight:700}body .card .card-header{border-bottom:1px solid var(--card-border)}body .card .card-header.trim{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}body .card .card-footer{border-top:1px solid var(--card-border)}body .card .card-body{padding:var(--card-padding);flex-grow:1}body section{padding:20px}@media (min-width:780px){body section{padding:60px}}body section#hero{padding:0}body section#hero article{max-width:unset;margin:unset;width:100%}body section:nth-child(odd){background-color:var(--color-surface-alt);color:var(--color-fg-on-alt)}body section:nth-child(odd) a{color:var(--color-link)}body section:nth-child(odd) a.button{color:var(--button-fg)}body section article{max-width:1200px;margin:0 auto}body section article h1{margin-bottom:30px;font-size:40px}body section article p{margin-bottom:20px}body section.admin-section h1,body section.admin-section article h1{text-box-trim:cap;text-box-edge:cap alphabetic;margin-bottom:0}body section.admin-section .list-striped>*{padding:15px 20px}body section.admin-section .list-striped>:nth-child(odd){background-color:var(--color-bg);color:var(--color-fg)}body section.admin-section .list-striped>:nth-child(2n){background-color:var(--color-surface-alt);color:var(--color-fg-on-alt)}body section.admin-section button,body section.admin-section .button{padding:10px 40px}body button,body .button{cursor:pointer;text-align:center;padding:var(--button-padding);background:linear-gradient(45deg,var(--button-edge),var(--color-primary),var(--button-edge));border-radius:var(--button-radius);border:solid 1px var(--button-border);text-transform:uppercase;color:var(--button-fg);background-position:0;background-size:200% 200%;font-size:1em;font-weight:700;transition:background-position .3s}body button:hover,body .button:hover{background-position:100%}body button.full-width,body .button.full-width{width:100%;display:block}body button.button-secondary,body .button.button-secondary{background:linear-gradient(45deg,var(--button-edge),var(--color-secondary),var(--button-edge));color:var(--color-secondary-fg)}body button.button-danger,body .button.button-danger{background:linear-gradient(45deg,var(--button-edge),var(--color-error),var(--button-edge));color:var(--color-primary-fg)}body input[type=checkbox]{width:20px;height:20px;margin-right:10px}body label{cursor:pointer}body .admin-form input,body .admin-form textarea{border:solid 1px var(--gray-200);border-radius:10px;width:100%;margin-bottom:10px;padding:20px;font-size:16px}body select{border:solid 1px var(--gray-200);cursor:pointer;border-radius:10px;padding:10px}body .segmented-control{border:1px solid var(--color-border-strong);background-color:#0000;border-radius:999px;display:inline-flex;overflow:hidden}body .segmented-control .segment{color:inherit;text-transform:none;cursor:pointer;background:0 0;border:none;border-radius:0;padding:8px 20px;font-weight:400;transition:background-color .15s,color .15s}body .segmented-control .segment:not(:last-child){border-right:1px solid var(--color-border-strong)}body .segmented-control .segment:hover:not(.selected):not(:disabled){background-color:var(--color-surface-hover)}body .segmented-control .segment.selected{background-color:var(--color-primary);color:var(--color-primary-fg);font-weight:700}body .segmented-control .segment:disabled{opacity:.5;cursor:not-allowed}body .toggle{cursor:pointer;align-items:center;gap:12px;display:inline-flex}body .toggle input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}body .toggle .toggle-track{background-color:var(--color-border-strong);border-radius:999px;flex-shrink:0;width:44px;height:24px;transition:background-color .2s;display:inline-block;position:relative}body .toggle .toggle-thumb{background-color:var(--white);border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}body .toggle input[type=checkbox]:checked+.toggle-track{background-color:var(--color-primary)}body .toggle input[type=checkbox]:checked+.toggle-track .toggle-thumb{transform:translate(20px)}body .toggle input[type=checkbox]:disabled+.toggle-track{opacity:.5;cursor:not-allowed}body .toggle input[type=checkbox]:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}body .fc{color:inherit;--fc-border-color:var(--color-border-subtle);--fc-page-bg-color:transparent;--fc-neutral-bg-color:var(--color-surface-chrome);--fc-neutral-text-color:inherit;--fc-button-bg-color:var(--color-primary);--fc-button-border-color:var(--button-border);--fc-button-text-color:var(--button-fg);--fc-button-hover-bg-color:var(--color-primary-hover);--fc-button-hover-border-color:var(--button-border);--fc-button-active-bg-color:var(--color-primary-hover);--fc-button-active-border-color:var(--button-border);--fc-today-bg-color:var(--color-surface-hover)}body .fc .fc-toolbar.fc-header-toolbar{margin:1.5em 1em}body .fc .fc-button{text-transform:none;border-radius:6px;padding:6px 12px;font-weight:400}body .fc .fc-event-meal{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-fg);cursor:pointer}body .calendar-layout{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:1024px){body .calendar-layout{grid-template-columns:220px 1fr}}body .calendar-sidebar{border:1px solid var(--color-border-subtle);background-color:var(--color-surface-chrome);border-radius:10px;padding:15px}body .calendar-sidebar-title{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:12px;font-size:1em;font-weight:700}body .calendar-sidebar-empty{opacity:.7;font-size:.9em}body .calendar-sidebar-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}body .meal-draggable{background-color:var(--color-secondary);color:var(--color-secondary-fg);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;padding:8px 12px;font-weight:700;transition:transform .1s,box-shadow .1s}body .meal-draggable:hover{box-shadow:0 2px 6px var(--overlay-white-15);transform:translateY(-1px)}body .meal-draggable:active{cursor:grabbing}body .calendar-trash{border:2px dashed var(--color-border-subtle);text-align:center;color:inherit;opacity:.6;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:20px;transition:opacity .15s,border-color .15s;display:flex}body .calendar-trash .material-symbols-outlined{font-size:1.5em}body .calendar-trash:hover{opacity:1;border-color:var(--color-error)}body .list-items{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}body .list-item{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:15px;padding:15px 20px;transition:background-color .1s,opacity .15s;display:flex}body .list-item:hover{background-color:var(--color-surface-hover)}body .list-item.checked{opacity:.5}body .list-item.checked .list-item-name{text-decoration:line-through}body .list-item-check{border:2px solid var(--color-border-subtle);width:24px;height:24px;color:var(--color-primary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}body .list-item.checked .list-item-check{border-color:var(--color-primary)}body .list-item-name{flex-grow:1;font-size:1.1em}body .list-empty{text-align:center;opacity:.6;padding:30px 20px}body .matrix-table{border-collapse:collapse;width:100%}body .matrix-table th,body .matrix-table td{border-bottom:1px solid var(--color-border-subtle);text-align:center;padding:10px 12px}body .matrix-table th{background-color:var(--color-surface-chrome);font-weight:700;position:sticky;top:0}body .matrix-table .matrix-corner,body .matrix-table .matrix-task-cell{text-align:left;min-width:180px}body .matrix-table .matrix-task-cell{font-weight:700}body .matrix-table .matrix-task-meta{opacity:.6;margin-top:2px;font-size:.8em;font-weight:400}body .matrix-table .matrix-cell input[type=checkbox]{cursor:pointer;width:22px;height:22px;margin:0}body .matrix-table .matrix-all-col,body .matrix-table .matrix-all-cell{border-left:1px solid var(--color-border-subtle)}body .profile-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}body .insights-table{border-collapse:collapse;width:100%;font-size:.9em}body .insights-table th,body .insights-table td{border-bottom:1px solid var(--color-border-subtle);text-align:right;white-space:nowrap;padding:6px 10px}body .insights-table th:first-child,body .insights-table td:first-child{text-align:left}body .insights-table thead th{background-color:var(--color-surface-chrome);border-bottom:2px solid var(--color-border-subtle);font-weight:700}body .insights-table .group-24h,body .insights-table .group-7d{border-left:2px solid var(--color-border-subtle)}body .insights-table.insights-hourly tbody td:first-child{opacity:.7;font-family:monospace}body .devices-table{border-collapse:collapse;width:100%}body .devices-table th,body .devices-table td{border-bottom:1px solid var(--color-border-subtle);text-align:left;vertical-align:middle;padding:10px 12px}body .devices-table th{background-color:var(--color-surface-chrome);font-weight:700}body .devices-table .devices-table-meta{opacity:.55;word-break:break-all;margin-top:2px;font-family:monospace;font-size:.75em}body .devices-table select{min-width:160px}body .color-picker{flex-wrap:wrap;gap:10px;display:inline-flex}body .color-picker .color-swatch{color:inherit;text-transform:none;border:2px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:50%;width:32px;height:32px;padding:0;font-weight:400;transition:transform .12s,border-color .12s,box-shadow .12s}body .color-picker .color-swatch:hover:not(:disabled){transform:scale(1.1)}body .color-picker .color-swatch.selected{border-color:var(--white);box-shadow:0 0 0 2px #ffffff4d}body .color-picker .color-swatch:disabled{opacity:.5;cursor:not-allowed}body .days-of-week-picker{flex-wrap:wrap;gap:6px;display:inline-flex}body .days-of-week-picker .day-pill{color:inherit;text-transform:none;border:1px solid var(--color-border-strong);cursor:pointer;background:0 0;border-radius:999px;min-width:42px;padding:6px 12px;font-size:.9em;font-weight:400;transition:background-color .15s,color .15s,border-color .15s}body .days-of-week-picker .day-pill:hover:not(.selected):not(:disabled){background-color:var(--color-surface-hover)}body .days-of-week-picker .day-pill.selected{background-color:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary);font-weight:700}body .days-of-week-picker .day-pill:disabled{opacity:.5;cursor:not-allowed}
