:root{--space-0:.125rem;--space-1:.2rem;--space-2:.4rem;--space-3:.6rem;--space-4:.875rem;--space-5:1.25rem;--space-6:1.75rem;--panel-gap:var(--space-3);--fs-xs:.8rem;--fs-sm:.9rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.4rem;--fs-xl:1.7rem;--fs-2xl:2.25rem;--fs-3xl:2.75rem;--radius-1:.2rem;--radius-2:.35rem;--radius-3:.5rem;--radius-4:.75rem;--radius-pill:999px;--icon-xs:.75rem;--icon-sm:1rem;--icon-md:1.5rem;--icon-lg:2rem;--icon-xl:3.5rem;--w-input-sm:4rem;--w-input-md:6rem;--w-input-lg:10rem;--w-input-xl:12rem;--w-cell-day:3rem;--w-row-day-name:5rem;--w-container-xs:16rem;--w-container-sm:22rem;--w-container-md:24rem;--w-container-lg:26rem;--w-container-xl:36rem;--w-container-2xl:56rem;--w-textarea-sm:7rem;--w-textarea-md:5rem;--w-form-narrow:20rem;--on-accent:#0d1017;--bg:#0d1017;--bg-alt:#131721;--bg-ui:#1c2333;--bg-ui-hover:#252d3d;--border:#11151c;--fg:#fff;--fg-muted:#acb7c3;--accent:#e6b450;--accent-hover:#f0c050;--link:#39bae6;--tag:#39bae6;--keyword:#ff8f40;--string:#aad94c;--constant:#d2a6ff;--operator:#f29668;--error:#f07178;--success:#6abf69;--frosted-bg:rgba(13,16,23,.72);--frosted-bg-hover:rgba(13,16,23,.92);--frosted-border:rgba(255,255,255,.07);--frosted-overlay:rgba(255,255,255,.06);--frosted-overlay-strong:rgba(255,255,255,.08);--scrim:rgba(0,0,0,.45);--shadow-strong:rgba(0,0,0,.7);--shadow-modal:rgba(0,0,0,.4);--modal-overlay:rgba(0,0,0,.55);--w-partly-cloudy:#a0b8cc;--w-overcast:#7a8fa0;--w-fog:#89a;--w-drizzle:#6ab0d8;--w-ice:#8ac;--w-snow:#c8d8f0;--w-showers:#4aace0;--w-snow-showers:#b0c8e8;--w-storm:#e0a030;--w-storm-dark:#0a1828}@media (prefers-color-scheme:light){:root{--bg:#fafafa;--bg-alt:#f3f4f5;--bg-ui:#e7e8e9;--bg-ui-hover:#d9dadb;--border:#d4d4d4;--fg:#575f66;--fg-muted:#abb0b6;--accent:#f2ae49;--accent-hover:#e6a033;--link:#55b4d4;--tag:#55b4d4;--keyword:#fa8d3e;--string:#86b300;--constant:#a37acc;--operator:#ed9366;--error:#f07178;--success:#4a9e4a;--frosted-bg:rgba(250,250,250,.72);--frosted-bg-hover:rgba(250,250,250,.92);--frosted-border:rgba(0,0,0,.07);--frosted-overlay:rgba(0,0,0,.04);--frosted-overlay-strong:rgba(0,0,0,.06);--scrim:rgba(255,255,255,.35);--shadow-strong:rgba(0,0,0,.25);--shadow-modal:rgba(0,0,0,.15);--modal-overlay:rgba(0,0,0,.35);--w-partly-cloudy:#7899b0;--w-overcast:#5a7080;--w-fog:#6a7a88;--w-drizzle:#4090b8;--w-ice:#6080a0;--w-snow:#88a8cc;--w-showers:#2080c0;--w-snow-showers:#80a0c0;--w-storm:#c07800;--w-storm-dark:#c8d8e8}}*{box-sizing:border-box;min-width:0;margin:0;padding:0}html,body{max-width:100vw;height:100%;overflow-x:clip}body{background-color:var(--bg);color:var(--fg);overflow-wrap:anywhere;font-family:sans-serif}main{width:100%;max-width:100vw;height:100%}img,video,canvas,svg{max-width:100%;height:auto}pre,code{overflow-wrap:anywhere;max-width:100%}.home{grid-template-columns:var(--w-container-sm)1fr var(--w-container-sm);width:100%;max-width:100vw;height:100dvh;padding:0 var(--panel-gap);gap:var(--panel-gap);display:grid;position:relative;overflow:hidden}.home>aside,.home>section{gap:var(--panel-gap);padding:var(--panel-gap)0;scrollbar-width:none;z-index:2;flex-direction:column;min-width:0;display:flex;overflow:clip auto}.home>aside::-webkit-scrollbar{display:none}.home>section::-webkit-scrollbar{display:none}@media (width<=1024px){.home{grid-template-columns:var(--w-container-sm)1fr;grid-template-areas:"left center""left right"}.home>aside:first-of-type{grid-area:left}.home>section{grid-area:center}.home>aside:last-of-type{grid-area:right}}@media (width<=768px){.home{height:auto;min-height:100dvh;padding-top:var(--space-3);padding-bottom:var(--space-3);grid-template-columns:1fr;grid-template-areas:"left""center""right";overflow:auto}.home>aside,.home>section{padding:0;overflow-y:visible}.clock{display:none!important}.calendar,.weather{min-width:var(--w-container-xs)}}.backdrop-layer{z-index:0;opacity:0;transition:opacity 1.5s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.backdrop-layer.is-visible{opacity:1}.backdrop-layer:before{content:"";background-image:var(--bg);filter:blur(18px);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-5%}.backdrop-layer:after{content:"";background-image:var(--bg);filter:drop-shadow(0 6px 40px var(--shadow-strong));background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.backdrop-scrim{z-index:0;background:var(--scrim);position:fixed;inset:0}.images-only{width:100%;height:100dvh;position:relative;overflow:hidden}.images-only-back{top:var(--space-3);right:var(--space-3);z-index:5;background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg);padding:var(--space-1)var(--space-3);font-size:var(--fs-sm);opacity:.7;text-decoration:none;transition:opacity .2s,color .12s;position:fixed}.images-only-back:hover{opacity:1;color:var(--accent)}.btn-outline-sm,.cal-add-btn{border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg-muted);cursor:pointer;font-size:var(--fs-sm);padding:var(--space-1)var(--space-2);white-space:nowrap;background:0 0;font-weight:500;line-height:1;transition:color .15s,border-color .15s,opacity .15s}.btn-outline-sm:hover,.cal-add-btn:hover{color:var(--accent);border-color:var(--accent)}.btn-danger,.btn-secondary,.btn-primary{border-radius:var(--radius-2);cursor:pointer;font-size:var(--fs-base);padding:var(--space-2)var(--space-4);white-space:nowrap;font-weight:600;line-height:1.2;transition:background .15s,color .15s,border-color .15s,opacity .15s}.btn-danger:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid transparent}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border:1px solid var(--fg-muted);color:var(--fg-muted);background:0 0;text-decoration:none;display:inline-block}.btn-secondary:hover:not(:disabled){border-color:var(--fg);color:var(--fg)}.btn-danger{border:1px solid var(--error);color:var(--error);background:0 0}.btn-danger:hover:not(:disabled){background:var(--error);color:var(--on-accent)}select,textarea{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=text]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=email]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=password]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=number]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=date]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=datetime-local]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=time]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}input[type=search]{background:var(--bg);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-2);color:var(--fg);font-size:var(--fs-md);padding:var(--space-2)var(--space-3);width:100%;font-family:inherit}select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=email]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=password]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=number]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=date]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=datetime-local]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=time]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=search]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}select{appearance:none;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 fill='%235c6773' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3)center;padding-right:var(--space-6)}@media (prefers-color-scheme:light){select{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 fill='%23575f66' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")}}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{appearance:none}input[type=number]::-webkit-inner-spin-button{appearance:none}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label{color:var(--fg-muted);font-size:var(--fs-sm);text-transform:uppercase;font-weight:600}.checkbox-label{align-items:center;gap:var(--space-1);color:var(--fg);font-size:var(--fs-base);cursor:pointer;display:flex}.error-msg{color:var(--error);font-size:var(--fs-base);margin-top:var(--space-2)}.success-msg{color:var(--string);font-size:var(--fs-base)}.cal-modal-overlay{z-index:99999;background:var(--modal-overlay);-webkit-backdrop-filter:blur(2px);outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cal-modal{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-3);padding:var(--space-5);width:min(var(--w-container-lg),100vw - var(--space-6));max-height:calc(100dvh - var(--space-6));gap:var(--space-3);box-shadow:0 8px 32px var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.cal-modal--wide{width:min(var(--w-container-2xl),100vw - var(--space-6))}.cal-modal:has(.task-edit-table){width:min(var(--w-container-2xl),100vw - var(--space-6))}.cal-modal>header{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--fg);font-weight:600;display:flex}.cal-modal>header h1,.cal-modal>header h2,.cal-modal>header h3{font-size:var(--fs-md);color:var(--accent);margin:0;font-weight:600}.cal-modal>header>button{cursor:pointer;color:var(--fg-muted);font-size:var(--fs-lg);padding:0 var(--space-1);border-radius:var(--radius-1);background:0 0;border:none;line-height:1}.cal-modal>header>button:hover{color:var(--fg);background:var(--bg-ui-hover)}.cal-modal>nav{gap:var(--space-1);border-bottom:1px solid var(--border);margin:0 calc(var(--space-5)*-1);padding:0 var(--space-5);flex-wrap:wrap;display:flex}.cal-modal>nav a{color:var(--fg-muted);font-size:var(--fs-base);padding:var(--space-2)var(--space-3);border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;transition:color .12s,border-color .12s}.cal-modal>nav a:hover{color:var(--fg)}.cal-modal>nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.cal-modal>section{gap:var(--space-4);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.cal-modal>section>section{gap:var(--space-3);flex-direction:column;display:flex}.cal-modal>section>section>h3{color:var(--fg);font-size:var(--fs-md);margin:0;font-weight:600}.cal-modal .field{gap:var(--space-1);flex-direction:column;display:flex}.cal-modal .field label{font-size:var(--fs-sm);color:var(--fg-muted);font-weight:500}.cal-modal .field select{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field input[type=text]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field input[type=datetime-local]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field input[type=date]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field input[type=password]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field input[type=email]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.cal-modal .field select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .field input[type=text]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .field input[type=datetime-local]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .field input[type=date]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .field input[type=password]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .field input[type=email]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.cal-modal .error-msg{color:var(--error);font-size:var(--fs-sm)}.cal-modal .cal-modal-actions{margin-top:var(--space-1);justify-content:space-between;align-items:center;display:flex}.skeleton{background:linear-gradient(90deg,var(--bg-ui)0%,var(--bg-ui-hover)50%,var(--bg-ui)100%);border-radius:var(--radius-2);color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none;background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-line{width:100%;height:1em}.skeleton-block{height:var(--space-6);width:100%}.skeleton-stack{gap:var(--space-2);flex-direction:column;display:flex}.skeleton-w-25{width:25%}.skeleton-w-40{width:40%}.skeleton-w-60{width:60%}.skeleton-w-75{width:75%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{opacity:.6;animation:none}}.clock{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.clock:hover{background:var(--frosted-bg-hover)}.clock{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-3);display:flex}.clock .clock-body{align-items:center;gap:var(--space-0);flex-direction:column;flex:1;min-width:0;display:flex}.clock .clock-time{font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap;font-size:clamp(1.8rem,3.8vw,3rem);font-weight:300;line-height:1.1;display:block}.clock .clock-time--long{font-size:clamp(1.3rem,2.6vw,2.2rem)}.clock .clock-date{white-space:nowrap}.clock .colon{transition:opacity .1s}.clock .colon--hidden{opacity:0}.calendar{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.calendar:hover{background:var(--frosted-bg-hover)}.calendar{padding:var(--space-3)var(--space-4)}.calendar .calendar-header{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--fs-md);color:var(--accent);text-align:center;margin-bottom:var(--space-3);font-weight:600;display:flex;position:relative}.calendar .cal-nav-btn{color:var(--fg-muted);cursor:pointer;font-size:var(--fs-md);padding:var(--space-0)var(--space-1);border-radius:var(--radius-1);background:0 0;border:none;line-height:1;transition:color .15s}.calendar .cal-nav-btn:hover{color:var(--accent)}.calendar .calendar-header .cal-add-btn{opacity:0;position:absolute;right:0}.calendar:hover .calendar-header .cal-add-btn{opacity:1}.calendar .calendar-grid{gap:var(--space-1);text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar .calendar-grid span{padding:var(--space-1)var(--space-1);border-radius:var(--radius-1);font-size:var(--fs-base);cursor:pointer;align-items:center;gap:var(--space-0);flex-direction:column;line-height:1;display:flex}.calendar .calendar-grid span.day-name{color:var(--fg-muted);font-size:var(--fs-xs);text-transform:uppercase;padding-bottom:var(--space-2);cursor:default;font-weight:600}.calendar .calendar-grid span.empty{cursor:default}.calendar .calendar-grid span.other-month{opacity:.35}.calendar .calendar-grid span.today{background:var(--accent);color:var(--on-accent);font-weight:700}.calendar .calendar-grid span.has-events:not(.today){background:var(--bg-ui-hover);color:var(--accent);font-weight:600}.calendar .calendar-grid span:not(.day-name):not(.empty):hover{background:var(--bg-ui-hover)}.calendar .calendar-grid span:not(.day-name):not(.empty):hover.today{background:var(--accent-hover)}.calendar .cal-event-form{margin-top:var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-2);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.calendar .cal-event-form .cal-event-form-header{color:var(--fg);justify-content:space-between;align-items:center;font-weight:600;display:flex}.calendar .cal-event-form .cal-form-close{cursor:pointer;color:var(--fg-muted);font-size:var(--fs-md);padding:0 var(--space-1);background:0 0;border:none;line-height:1}.calendar .cal-event-form .cal-form-close:hover{color:var(--fg)}.calendar .cal-event-form .field{gap:var(--space-1);flex-direction:column;display:flex}.calendar .cal-event-form .field label{font-size:var(--fs-sm);color:var(--fg-muted);font-weight:500}.calendar .cal-event-form .field input[type=text]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.calendar .cal-event-form .field input[type=datetime-local]{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);width:100%}.calendar .cal-event-form .field input[type=text]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.calendar .cal-event-form .field input[type=datetime-local]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.calendar .cal-event-form .checkbox-label{align-items:center;gap:var(--space-2);font-size:var(--fs-base);color:var(--fg);cursor:pointer;display:flex}.calendar .cal-event-form .error-msg{color:var(--error);font-size:var(--fs-sm)}.calendar .cal-event-form .btn-primary{align-self:flex-end}.event-timeline{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.event-timeline-bar{height:var(--space-4);background:color-mix(in oklab,var(--accent)10%,var(--bg-ui));border:1px solid var(--border);border-radius:var(--radius-1);position:relative;overflow:hidden}.event-timeline-night{background:color-mix(in oklab,var(--bg)70%,#000 30%);pointer-events:none;position:absolute;top:0;bottom:0}.event-timeline-day-divider{background:var(--border);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.event-timeline-event{background:color-mix(in oklab,var(--error)70%,transparent);border-radius:2px;min-width:2px;position:absolute;top:15%;bottom:15%}.event-timeline-event.has-conflict{background:var(--error);box-shadow:0 0 0 1px var(--error)}.event-timeline-proposed{pointer-events:none;background:rgba(245,197,24,.75);background:lab(82.054% 7.62847 79.761/.75);border-left:2px solid #f5c518;border-right:2px solid #f5c518;min-width:3px;position:absolute;top:0;bottom:0}.event-timeline-labels{height:var(--fs-xs);position:relative}.event-timeline-label{padding-left:var(--space-1);font-size:var(--fs-xs);color:var(--fg-muted);white-space:nowrap;position:absolute}.event-timeline-label.is-event-day{color:var(--accent);font-weight:600}.event-timeline-legend{gap:var(--space-2);font-size:var(--fs-xs);color:var(--fg-muted);flex-wrap:wrap;display:flex}.event-timeline-legend>span{align-items:center;gap:var(--space-1);display:inline-flex}.event-timeline-legend .swatch{border:1px solid var(--border);border-radius:2px;width:.75em;height:.75em;display:inline-block}.event-timeline-legend .swatch-day{background:color-mix(in oklab,var(--accent)10%,var(--bg-ui))}.event-timeline-legend .swatch-night{background:color-mix(in oklab,var(--bg)70%,#000 30%)}.event-timeline-legend .swatch-event{background:color-mix(in oklab,var(--error)70%,transparent)}.event-timeline-legend .swatch-conflict{background:var(--error)}.event-timeline-legend .swatch-proposed{background:#f5c518}.event-context{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);gap:var(--space-2);flex-direction:column;display:flex}.event-context-heading{font-size:var(--fs-sm);color:var(--fg-muted);text-transform:uppercase;margin:0;font-weight:600}.event-context-empty{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;font-style:italic}.event-context-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.event-context-list li{gap:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-1);background:var(--bg-ui);font-size:var(--fs-sm);align-items:baseline;display:flex}.event-context-list li.has-conflict{background:color-mix(in oklab,var(--error)18%,var(--bg-ui));border-left:3px solid var(--error)}.event-context-when{color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.event-context-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.event-context-tag{color:var(--error);font-size:var(--fs-xs);text-transform:uppercase;font-weight:600}.cal-heading-text{gap:var(--space-1);display:flex}.cal-heading-btn{color:var(--accent);cursor:pointer;font-size:inherit;font-weight:inherit;padding:var(--space-0)var(--space-1);border-radius:var(--radius-1);background:0 0;border:none;transition:background .1s}.cal-heading-btn:hover{background:var(--frosted-overlay-strong)}.cal-picker{gap:var(--space-1);padding:var(--space-2)0 var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.cal-picker-btn{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);cursor:pointer;font-size:var(--fs-xs);padding:var(--space-1)var(--space-2);min-width:var(--w-cell-day);text-align:center;transition:background .12s,border-color .12s,color .12s}.cal-picker-btn:hover{background:var(--bg-ui-hover);border-color:var(--accent)}.cal-picker-btn--active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.weather{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.weather:hover{background:var(--frosted-bg-hover)}.weather{padding:var(--space-3)var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.weather--unavailable{color:var(--fg-muted);font-size:var(--fs-base);text-align:center}.weather-icon{color:var(--fg);flex-shrink:0;align-items:center;display:flex}.weather-icon svg{width:var(--icon-md);height:var(--icon-md)}.weather-icon--large{color:var(--accent)}.weather-icon--large svg{width:var(--icon-xl);height:var(--icon-xl)}.weather-current{align-items:center;gap:var(--space-3);display:flex}.weather-temp{font-size:clamp(var(--fs-2xl),8vw,var(--fs-3xl));font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:300}.weather-current-detail{gap:var(--space-0);flex-direction:column;display:flex}.weather-condition{font-size:var(--fs-md);color:var(--fg);font-weight:600}.weather-feels-like{font-size:var(--fs-sm)}.weather-today{align-items:baseline;gap:var(--space-1);font-size:var(--fs-base);font-variant-numeric:tabular-nums;display:flex}.weather-today-sep{color:var(--fg-muted)}.weather-high{font-weight:600}.weather-noteworthy{border-left:2px solid var(--accent);padding-left:var(--space-2);gap:var(--space-1);flex-direction:column;list-style:none;display:flex}.weather-noteworthy-item{font-size:var(--fs-sm);color:var(--fg)}.weather-precip{margin-left:var(--space-1);color:var(--link);font-variant-numeric:tabular-nums;font-weight:600}.weather-graph{margin:0 calc(var(--space-1)*-1)}.weather-graph svg{display:block;overflow:visible}.weather-graph:empty{display:none}.weather-weekly{gap:var(--space-1);flex-direction:column;display:flex}.weather-day-row{grid-template-columns:1fr var(--icon-md)3fr auto;align-items:center;gap:var(--space-2);font-size:var(--fs-base);cursor:pointer;border-radius:var(--radius-2);padding:var(--space-1)var(--space-1);margin:0 calc(var(--space-1)*-1);transition:background .12s;display:grid}.weather-day-row:hover{background:var(--bg-ui-hover)}.weather-day-row--selected{background:var(--bg-ui)}.weather-day-temps{align-items:center;gap:var(--space-0);justify-content:flex-end;display:flex}.weather-day-sep{color:var(--fg-muted)}.weather-day-name{color:var(--fg);font-weight:600}.weather-day-cond{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weather-day-high{font-variant-numeric:tabular-nums;color:var(--fg);text-align:right;font-weight:600}.weather-day-low{font-variant-numeric:tabular-nums;color:var(--fg-muted)}.hp-col{cursor:default;outline:none}.hp-col .hp-tip{opacity:0;pointer-events:none;transition:opacity .15s}.hp-col:hover .hp-tip,.hp-col:focus .hp-tip{opacity:1}.weather-updated{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--fs-xs);color:var(--fg-muted);display:flex}.weather-location{font-weight:600}.weather-updated-time{margin-left:auto}.task-panel{gap:var(--panel-gap);flex-direction:column;flex-shrink:0;display:flex}.task-panel-header{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.task-panel-header:hover{background:var(--frosted-bg-hover)}.task-panel-header{padding:var(--space-2)var(--space-4);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.task-panel-header h3{font-size:var(--fs-sm);text-transform:uppercase;color:var(--fg-muted);font-weight:600}.task-panel-header-btns{gap:var(--space-2);align-items:center;display:flex}.task-panel-body{gap:var(--panel-gap);flex-direction:column;display:flex}.task-view-toggle{padding:var(--space-1)var(--space-2);border-radius:var(--radius-2);font-size:var(--fs-sm);border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;background:0 0;font-weight:600;transition:background .15s,color .15s}.task-view-toggle.active,.task-view-toggle:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.task-section{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.task-section:hover{background:var(--frosted-bg-hover)}.task-section{padding:var(--space-2)var(--space-2)var(--space-2)}.task-done-section{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.task-done-section:hover{background:var(--frosted-bg-hover)}.task-done-section{padding:var(--space-1)var(--space-2)}.task-section-label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--fg-muted);padding:var(--space-1)var(--space-2);cursor:pointer;font-weight:600}.task-section-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.task-section-add{border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-md);padding:var(--space-0)var(--space-2);cursor:pointer;background:0 0;line-height:1;transition:background .15s,color .15s,border-color .15s}.task-section-add:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.task-section--current .task-section-label{color:var(--accent);font-weight:700}.task-routine-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-1)var(--space-1);display:flex}.task-routine-tabs{gap:var(--space-1);margin:0 calc(var(--space-1)*-1);display:flex}.task-routine-tab{align-items:center;gap:var(--space-0);padding:var(--space-1)var(--space-1);border-radius:var(--radius-2);cursor:pointer;opacity:.55;background:0 0;border:1px solid transparent;flex-direction:column;flex:1;transition:opacity .15s,background .15s,border-color .15s;display:flex}.task-routine-tab:hover{opacity:1}.task-routine-tab--now{opacity:.85}.task-routine-tab--active{opacity:1;background:var(--bg-ui-hover);border-color:var(--accent)}.task-routine-tab-label{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1;overflow:hidden}.task-routine-tab-count{font-size:var(--fs-xs);color:var(--fg-muted)}.task-routine-progress{margin:var(--space-1)calc(var(--space-1)*-1)var(--space-0);background:var(--bg-ui);border-radius:999px;height:3px;overflow:hidden}.task-routine-progress-bar{background:var(--accent);height:100%;transition:width .6s linear}.task-routine-completion{margin:var(--space-0)calc(var(--space-1)*-1)var(--space-2);background:var(--bg-ui);border-radius:999px;height:3px;overflow:hidden}.task-routine-completion-bar{background:var(--success,#6abf69);height:100%;transition:width .3s}.task-slim-item .task-edit-btn{color:var(--fg-muted);font-size:var(--fs-base);transition:color .15s}.task-slim-item .task-edit-btn:hover{color:var(--accent)}.task-section-now{font-weight:400;font-size:var(--fs-xs);opacity:.7}.task-done-details{padding:0 var(--space-2)}.task-done-details summary{list-style:none}.task-done-details summary::-webkit-details-marker{display:none}.task-item{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-2);transition:background .15s;display:flex}.task-item:hover{background:var(--bg-ui-hover)}.task-item:hover .task-delete-btn,.task-item:hover .task-assign-select{opacity:1}.task-item--done .task-title{color:var(--fg-muted);text-decoration:line-through}.task-checkbox-visual{width:var(--icon-md);height:var(--icon-md);border:1.5px solid var(--border);background:var(--bg);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.is-checked.task-checkbox-visual{background:var(--accent);border-color:var(--accent);color:var(--bg)}.task-checkbox-visual{border-radius:var(--radius-2)}.pill-indicator{width:var(--icon-md);height:var(--icon-md);flex-shrink:0;position:relative}.pill-indicator-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%;transition:opacity .12s;display:block}.pill-indicator-avatar--placeholder{background:var(--bg-ui-hover);color:var(--fg-muted);font-size:var(--fs-sm);text-transform:uppercase;justify-content:center;align-items:center;font-weight:600;display:flex}.pill-indicator-check{border:1.5px solid var(--border);border-radius:var(--radius-2);background:var(--bg);color:var(--accent);opacity:0;justify-content:center;align-items:center;transition:opacity .12s,background .15s,border-color .15s;display:flex;position:absolute;inset:0}.pill-indicator--approved{box-shadow:0 0 0 2px var(--success);border-radius:50%}.assignee-pill--mark-done:hover:not(:disabled) .pill-indicator-check,.pill-indicator--done .pill-indicator-check{opacity:1}.pill-indicator--done .pill-indicator-avatar{opacity:0}.pill-indicator--done .pill-indicator-check{background:var(--accent);border-color:var(--accent);color:var(--bg)}.task-checkbox-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.task-main{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.task-badges{align-items:center;gap:var(--space-1);scrollbar-width:none;flex:0 auto;min-width:0;max-width:100%;display:flex;overflow-x:auto}.task-badges::-webkit-scrollbar{display:none}.task-badges>*{flex-shrink:0}.task-top{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.task-title{min-width:0;font-size:var(--fs-base);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.task-assignees{align-items:center;gap:var(--space-1);flex-wrap:wrap;flex-shrink:0;display:flex}.assignee-pill{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-ui);font-size:var(--fs-sm);color:var(--fg);cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.assignee-pill:hover:not(:disabled){background:var(--bg-ui-hover);border-color:var(--accent)}.assignee-pill:disabled{cursor:not-allowed}.assignee-pill--awaiting{opacity:.55;color:var(--fg-muted)}.assignee-pill--approved .assignee-pill-name{color:var(--success)}.assignee-pill--done .assignee-pill-name{color:var(--fg-muted);text-decoration:line-through}.assignee-pill-name{white-space:nowrap;text-overflow:ellipsis;max-width:8em;overflow:hidden}.assignee-picker{gap:var(--space-1);flex-wrap:wrap;display:flex}.assignee-chip{background:var(--bg-ui);border:1px solid var(--border);color:var(--fg);cursor:pointer;font-size:var(--fs-sm);padding:var(--space-0)var(--space-2);border-radius:999px}.assignee-chip--active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.field-hint{color:var(--fg-muted);font-size:var(--fs-xs);margin:var(--space-1)0 0}.task-assign-select{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-xs);padding:var(--space-0)var(--space-1);max-width:var(--w-input-md);opacity:0;cursor:pointer;flex-shrink:0;transition:opacity .15s}.task-assign-select:focus{opacity:1;outline:1px solid var(--accent)}.task-edit-btn,.task-delete-btn{cursor:pointer;font-size:var(--fs-md);padding:var(--space-0)var(--space-1);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:0;transition:opacity .15s,color .15s;display:inline-flex}.task-edit-btn .icon-pencil,.task-delete-btn .icon-pencil{display:block}.task-edit-btn{color:var(--fg-muted)}.task-edit-btn:hover{color:var(--accent)}.task-delete-btn{color:var(--error);opacity:0}.task-picker{gap:var(--space-1);margin:0 calc(var(--space-1)*-1);flex-direction:column;display:flex}.task-picker-row{align-items:stretch;gap:var(--space-1);background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg);transition:border-color .15s;display:flex;overflow:hidden}.task-picker-row:hover{border-color:var(--accent)}.task-picker-row--done .task-picker-title{color:var(--fg-muted);text-decoration:line-through}.task-picker-reorder{border-right:1px solid var(--border);background:var(--bg-alt);flex-direction:column;display:flex}.task-picker-arrow{color:var(--fg-muted);cursor:pointer;padding:var(--space-0)var(--space-2);font-size:var(--fs-sm);background:0 0;border:none;flex:1;line-height:1;transition:background .12s,color .12s}.task-picker-arrow:hover:not(:disabled){background:var(--bg-ui-hover);color:var(--accent)}.task-picker-arrow:disabled{opacity:.3;cursor:default}.task-picker-pick{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;transition:background .15s;display:flex}.task-picker-pick:hover{background:var(--bg-ui-hover)}.task-picker-title{min-width:0;font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.task-picker-due{font-size:var(--fs-xs);color:var(--fg-muted);white-space:nowrap}.task-picker-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.task-empty{font-size:var(--fs-sm);color:var(--fg-muted);text-align:center;padding:var(--space-4)}.task-empty--small{font-size:var(--fs-sm);padding:var(--space-1)0}.task-tag{align-items:center;gap:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-1);font-size:var(--fs-xs);text-transform:uppercase;opacity:.85;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-weight:700;transition:opacity .12s;display:inline-flex;overflow:hidden}.task-tag:hover{opacity:1}.task-tag:hover:after{content:"×";font-size:var(--fs-sm);opacity:.8;font-weight:900}.tag-daily{background:var(--accent);color:var(--on-accent)}.tag-weekly{background:var(--link);color:var(--on-accent)}.tag-sunrise{color:#1a0a00;background:#e8a030}.tag-morning{color:#1a1200;background:#d4b840}.tag-afternoon{color:#001820;background:#40a8c0}.tag-evening{color:#fff;background:#8860d0}.tag-bedtime{color:#c0d0f0;background:#304870}.tag-other{background:var(--bg-ui);color:var(--fg-muted)}.tag-emoji-input{width:var(--w-input-sm);text-align:center}.tag-sort-input{width:var(--w-input-sm)}.tag-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag-chip{padding:var(--space-1)var(--space-2);border-radius:var(--radius-2);font-size:var(--fs-sm);border:1px solid var(--border);background:var(--bg-ui);color:var(--fg-muted);cursor:pointer;text-transform:capitalize;font-weight:600;transition:all .15s}.tag-chip--active{opacity:1;border-color:transparent}.tag-chip.tag-daily.tag-chip--active{background:var(--accent);color:var(--on-accent)}.tag-chip.tag-weekly.tag-chip--active{background:var(--link);color:var(--on-accent)}.tag-chip.tag-sunrise.tag-chip--active{color:#1a0a00;background:#e8a030}.tag-chip.tag-morning.tag-chip--active{color:#1a1200;background:#d4b840}.tag-chip.tag-afternoon.tag-chip--active{color:#001820;background:#40a8c0}.tag-chip.tag-evening.tag-chip--active{color:#fff;background:#8860d0}.tag-chip.tag-bedtime.tag-chip--active{color:#c0d0f0;background:#304870}.task-due{font-variant-numeric:tabular-nums;flex-shrink:0}.due-overdue,.due-today{color:var(--error);font-weight:700}.due-soon{color:var(--accent-hover)}.due-week{color:var(--accent)}.due-future{color:var(--fg-muted)}.due-date-row{gap:var(--space-2);align-items:center;display:flex}.due-date-row input[type=date]{flex:1}.motd{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.motd:hover{background:var(--frosted-bg-hover)}.motd{padding:var(--space-3)var(--space-4);font-size:var(--fs-base);color:var(--fg);line-height:1.6}.motd a{color:var(--link)}.motd strong,.motd b{font-weight:700}.motd em,.motd i{font-style:italic}.motd p+p{margin-top:var(--space-2)}.motd code{background:var(--frosted-overlay-strong);padding:var(--space-0)var(--space-1);border-radius:var(--radius-1);font-family:monospace}.motd--editable{cursor:pointer;transition:border-color .15s,background .15s}.motd--editable:hover{background:var(--frosted-bg);border-color:var(--accent)}.motd--editing{gap:var(--space-2);cursor:default;flex-direction:column;display:flex}.motd-inline-textarea{width:100%;min-height:var(--w-textarea-md);background:var(--frosted-overlay);border:1px solid var(--bg-ui-hover);border-radius:var(--radius-1);color:var(--fg);font-size:var(--fs-base);padding:var(--space-2)var(--space-2);resize:vertical;box-sizing:border-box}.motd-inline-textarea:focus{border-color:var(--accent);outline:none}.motd-inline-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.motd-notes-row{gap:var(--panel-gap);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.motd-notes-row{grid-template-columns:1fr}}.notes{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.notes:hover{background:var(--frosted-bg-hover)}.notes{padding:var(--space-3)var(--space-4);font-size:var(--fs-base);cursor:default;gap:var(--space-2);flex-direction:column;line-height:1.4;display:flex}.notes--editable:not(.notes--editing){cursor:pointer}.notes--empty:not(.notes--editing){color:var(--fg-muted);font-style:italic}.notes .notes-inline-textarea,.notes .notes-inline-actions,.notes:not(.notes--empty) .notes-empty-hint,.notes.notes--empty .notes-content,.notes.notes--editing .notes-content,.notes.notes--editing .notes-empty-hint{display:none}.notes.notes--editing .notes-inline-textarea,.notes.notes--editing .notes-inline-actions{display:flex}.notes-empty-hint{color:var(--fg-muted);font-size:var(--fs-sm)}.notes-inline-textarea{width:100%;min-height:var(--w-textarea-md);font-family:inherit;font-size:var(--fs-base);background:var(--bg-alt);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-2);padding:var(--space-2);resize:vertical}.notes-inline-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.itinerary{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.itinerary:hover{background:var(--frosted-bg-hover)}.itinerary{padding:var(--space-3)var(--space-4);gap:var(--space-0);flex-direction:column;display:flex}.itinerary-date{color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.itinerary-event{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-1);border-radius:var(--radius-2);cursor:pointer;transition:background .12s;display:flex}.itinerary-event:hover{background:var(--frosted-overlay)}.itinerary-time{font-variant-numeric:tabular-nums;color:var(--fg-muted);flex-shrink:0;font-weight:600}.itinerary-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.itinerary-rel-time{color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0}.itinerary-rel-now{color:var(--on-accent,#fff);background:var(--error);padding:var(--space-0)var(--space-1);border-radius:var(--radius-1);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase}.itinerary-show-distant{margin-top:var(--space-2);border:1px dashed var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-xs);padding:var(--space-1)var(--space-2);cursor:pointer;background:0 0;width:100%;transition:color .12s,border-color .12s}.itinerary-show-distant:hover{color:var(--accent);border-color:var(--accent)}.itinerary-distant{margin-top:var(--space-2);flex-direction:column;gap:.15rem;display:flex}.itinerary .hidden{display:none}.itinerary-show-more{margin-top:var(--space-2);border:1px dashed var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-xs);padding:var(--space-1)var(--space-2);cursor:pointer;background:0 0;width:100%;transition:color .12s,border-color .12s}.itinerary-show-more:hover{color:var(--accent);border-color:var(--accent)}.itinerary-more{flex-direction:column;gap:.15rem;display:flex}.itinerary-collapse{margin-top:var(--space-2);border:1px solid var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-xs);padding:var(--space-1)var(--space-2);cursor:pointer;background:0 0;width:100%;transition:color .12s,border-color .12s}.itinerary-collapse:hover{color:var(--accent);border-color:var(--accent)}.header-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.header-widget:hover{background:var(--frosted-bg-hover)}.header-widget{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);font-size:var(--fs-base);display:flex;position:relative}.header-widget>a{color:var(--accent);font-weight:700;font-size:var(--fs-lg);align-items:center;gap:var(--space-2);flex:1;min-width:0;line-height:1;text-decoration:none;display:inline-flex}.header-widget>a:hover{color:var(--accent-hover)}.header-widget .header-widget-logo{object-fit:contain;width:1.1em;height:1.1em;display:block}.header-widget-trigger{color:var(--fg-muted);cursor:pointer;font-size:var(--fs-md);padding:var(--space-1);border-radius:var(--radius-1);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:0;transition:color .12s,background .12s;display:inline-flex}.header-widget-trigger:hover{color:var(--accent);background:var(--bg-ui-hover)}.header-widget-user-trigger{border-radius:50%;padding:0}.header-widget-avatar{width:var(--icon-lg);height:var(--icon-lg);object-fit:cover;border:1.5px solid transparent;border-radius:50%;transition:border-color .12s;display:block}.header-widget-avatar--placeholder{background:var(--bg-ui-hover);color:var(--fg-muted);font-size:var(--fs-sm);text-transform:uppercase;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.header-widget-user-trigger:hover .header-widget-avatar{border-color:var(--accent)}.drawer-backdrop{z-index:1000;pointer-events:none;opacity:0;background:0 0;position:fixed;inset:0}.drawer-backdrop.is-open{pointer-events:auto;opacity:1}.drawer{z-index:1001;background:var(--bg-ui);border-right:1px solid var(--border);gap:var(--space-0);width:min(320px,85vw);padding:var(--space-4)var(--space-3);box-shadow:none;flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.drawer.is-open{box-shadow:4px 0 16px var(--shadow-strong);transform:translate(0)}.drawer>a,.drawer>button{color:var(--fg);text-align:left;font-size:var(--fs-base);padding:var(--space-3)var(--space-3);border-radius:var(--radius-2);cursor:pointer;background:0 0;border:none;text-decoration:none;transition:background .12s,color .12s}.drawer>a:hover,.drawer>button:hover{background:var(--bg-ui-hover);color:var(--accent)}.drawer>button[data-danger]:hover{color:var(--error)}.drawer>[data-admin-only]{display:none}.drawer>hr{border:none;border-top:1px solid var(--border);margin:var(--space-2)0}.drawer-layer.is-admin>.drawer>[data-admin-only]{display:block}.drawer-title{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2)var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);display:flex}.drawer-title h2{font-size:var(--fs-lg);color:var(--accent);margin:0;font-weight:700}.drawer-close{color:var(--fg-muted);font-size:var(--fs-2xl);padding:var(--space-0)var(--space-2);cursor:pointer;border-radius:var(--radius-1);background:0 0;border:none;line-height:1;transition:color .12s,background .12s}.drawer-close:hover{color:var(--fg);background:var(--bg-ui-hover)}.drawer-section-label{color:var(--fg-muted);font-size:var(--fs-xs);text-transform:uppercase;margin:var(--space-1)var(--space-3)var(--space-1)}.menu-account-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.menu-account-row:disabled{cursor:default;color:var(--fg)}.menu-account-row--active{background:var(--bg-ui-hover)}.menu-account-row .menu-account-tag{color:var(--fg-muted);font-size:var(--fs-xs);text-transform:uppercase}.menu-account-row--active .menu-account-tag{color:var(--accent)}.toast-stack{bottom:var(--space-5);z-index:60;gap:var(--space-2);pointer-events:none;perspective:600px;max-width:min(var(--w-container-xl),100vw - var(--space-5));flex-direction:column-reverse;width:max-content;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.toast:hover{background:var(--frosted-bg-hover)}.toast{pointer-events:auto;padding:var(--space-2)var(--space-4);font-size:var(--fs-base);color:var(--fg);box-shadow:0 8px 32px var(--shadow-modal);transform-origin:50% 100%;will-change:transform,opacity;border-left:3px solid var(--accent);animation:.3s cubic-bezier(.4,0,.2,1) forwards toast-enter}.toast--success{border-left-color:var(--string)}.toast--error{border-left-color:var(--error)}.toast--info{border-left-color:var(--accent)}.toast.is-leaving{animation:.6s cubic-bezier(.4,0,.2,1) forwards toast-exit}@keyframes toast-enter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0,0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateZ(-200px)scale(.9)}}.cameras-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.cameras-widget:hover{background:var(--frosted-bg-hover)}.cameras-widget{padding:var(--space-3)var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.cameras-toggle{border:1px dashed var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-xs);padding:var(--space-1)var(--space-2);cursor:pointer;background:0 0;width:100%;transition:color .12s,border-color .12s}.cameras-toggle:hover{color:var(--accent);border-color:var(--accent)}.cameras-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.camera-thumb{cursor:pointer;border-radius:var(--radius-2);background:#000;margin:0;position:relative;overflow:hidden}.camera-thumb img,.camera-thumb video{object-fit:contain;width:100%;height:auto;display:block}.camera-thumb:hover .camera-thumb-mute{opacity:1}.camera-thumb .camera-thumb-mute:focus-visible{opacity:1}.camera-thumb-mute{bottom:var(--space-2);right:var(--space-2);color:#fff;border-radius:var(--radius-2);padding:var(--space-0)var(--space-2);font-size:var(--fs-xs);cursor:pointer;opacity:0;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.4);transition:opacity .15s;position:absolute}.camera-thumb-mute:hover{background:rgba(0,0,0,.85);border-color:#fff}.cameras-admin{gap:var(--space-3);flex-direction:column;display:flex}.camera-card{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.camera-card:hover{background:var(--frosted-bg-hover)}.camera-card{padding:var(--space-3)var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.camera-card header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.camera-card header h4{font-size:var(--fs-lg);margin:0}.camera-card footer{align-items:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.camera-card footer .btn-danger{margin-left:auto}.camera-card-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.camera-card-narrow{max-width:8rem}.camera-card-status{font-size:var(--fs-sm);color:var(--fg-muted)}.camera-fullscreen{z-index:200;cursor:zoom-out;background:rgba(0,0,0,.92);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.camera-fullscreen img,.camera-fullscreen video{object-fit:contain;max-width:100vw;max-height:100vh}.camera-fullscreen-mute{top:var(--space-3);left:var(--space-3);color:#fff;border-radius:var(--radius-2);padding:var(--space-1)var(--space-3);font-size:var(--fs-sm);cursor:pointer;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.4);position:absolute}.camera-fullscreen-mute:hover{background:rgba(0,0,0,.85);border-color:#fff}.camera-fullscreen-close{top:var(--space-3);right:var(--space-3);color:#fff;width:2.5rem;height:2.5rem;font-size:var(--fs-xl);cursor:pointer;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.4);border-radius:999px;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.camera-fullscreen-close:hover{background:rgba(0,0,0,.85);border-color:#fff}.timers-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.timers-widget:hover{background:var(--frosted-bg-hover)}.timers-widget{padding:var(--space-3)var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.timers-widget-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.timers-widget-header h2{font-size:var(--fs-sm);color:var(--fg-muted);text-transform:uppercase;margin:0;font-weight:600}.timers-add{width:var(--icon-md);height:var(--icon-md);border-radius:var(--radius-pill);border:1px solid var(--frosted-border);color:var(--fg-muted);font-size:var(--fs-lg);justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.timers-add:hover{color:var(--accent);border-color:var(--accent);background:var(--frosted-overlay)}.timers-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.timers-list:empty{display:none}.timer-item{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-2);background:var(--frosted-overlay);grid-template-columns:auto 1fr auto auto;display:grid}.timer-item--paused{opacity:.65}.timer-item--fired{background:color-mix(in srgb,var(--accent)28%,var(--frosted-bg));animation:1s ease-in-out infinite timer-flash}@keyframes timer-flash{0%,to{background:color-mix(in srgb,var(--accent)28%,var(--frosted-bg))}50%{background:color-mix(in srgb,var(--accent)60%,var(--frosted-bg))}}@media (prefers-reduced-motion:reduce){.timer-item--fired{animation:none}}.timer-avatar{width:var(--icon-md);height:var(--icon-md);border-radius:var(--radius-pill);object-fit:cover;flex-shrink:0}.timer-avatar--placeholder{background:var(--bg-ui);color:var(--fg-muted);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.timer-main{flex-direction:column;min-width:0;display:flex}.timer-label{font-size:var(--fs-base);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timer-subtitle{font-size:var(--fs-xs);color:var(--fg-muted)}.timer-remaining{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--fg);white-space:nowrap}.timer-actions{align-items:center;gap:var(--space-1);display:flex}.timer-btn{width:var(--icon-md);height:var(--icon-md);border-radius:var(--radius-1);border:1px solid var(--frosted-border);color:var(--fg-muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;line-height:1;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.timer-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--frosted-overlay)}.timer-btn--dismiss:hover{color:var(--error);border-color:var(--error)}.timer-secondary-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.timer-start{width:100%;margin-top:var(--space-2)}.timer-presets{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.timer-preset{align-items:flex-start;gap:var(--space-0);padding:var(--space-2)var(--space-3);border-radius:var(--radius-2);border:1px solid var(--frosted-border);background:var(--frosted-overlay);color:var(--fg);cursor:pointer;flex-direction:column;transition:border-color .12s,background .12s;display:flex}.timer-preset:hover{border-color:var(--accent);background:var(--frosted-overlay-strong)}.timer-preset-label{font-size:var(--fs-base)}.timer-preset-detail{font-size:var(--fs-xs);color:var(--fg-muted)}.timer-mode-toggle{gap:var(--space-1);margin-bottom:var(--space-3);display:flex}.timer-seg{padding:var(--space-2);border:1px solid var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;flex:1}.timer-seg--active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.timer-chips{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.timer-chip{padding:var(--space-1)var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--frosted-border);background:var(--frosted-overlay);color:var(--fg);font-size:var(--fs-sm);cursor:pointer}.timer-chip:hover{border-color:var(--accent);color:var(--accent)}.timer-custom-row{align-items:center;gap:var(--space-2);display:flex}.timer-custom-row input{width:var(--w-input-sm)}.timer-custom-row span{color:var(--fg-muted);font-size:var(--fs-sm)}.timer-alerts,.timer-preset-add{border:1px solid var(--frosted-border);border-radius:var(--radius-2);padding:var(--space-3);margin:var(--space-3)0;gap:var(--space-2);flex-direction:column;display:flex}.timer-alerts legend,.timer-preset-add legend{color:var(--fg-muted);font-size:var(--fs-sm);padding:0 var(--space-1)}.timer-alerts label,.timer-preset-add label{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);display:flex}.timer-preset-manage{margin:0 0 var(--space-3)0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.timer-preset-manage li{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-2);background:var(--frosted-overlay);display:flex}.timer-preset-manage .timer-preset-detail{margin-left:auto}.timer-preset-edit{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.timer-preset-edit-alerts{gap:var(--space-3);flex-wrap:wrap;display:flex}.timer-preset-edit-alerts label{align-items:center;gap:var(--space-1);font-size:var(--fs-sm);display:flex}.timer-preset-edit-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.groceries-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.groceries-widget:hover{background:var(--frosted-bg-hover)}.groceries-widget{padding:var(--space-3)var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.groceries-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.groceries-header h2{font-size:var(--fs-sm);color:var(--fg-muted);text-transform:uppercase;margin:0;font-weight:600}.groceries-clear{border:1px solid var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);font-size:var(--fs-xs);padding:var(--space-0)var(--space-2);cursor:pointer;background:0 0}.groceries-clear:hover{color:var(--accent);border-color:var(--accent)}.groceries-add{gap:var(--space-2);display:flex}.groceries-add input{flex:1;min-width:0}.groceries-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.groceries-list:empty{display:none}.grocery-item{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-2);background:var(--frosted-overlay);display:flex}.grocery-item--checked .grocery-name{color:var(--fg-muted);text-decoration:line-through}.grocery-check{align-items:center;gap:var(--space-2);cursor:pointer;flex:1;min-width:0;display:flex}.grocery-name{font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grocery-qty{font-size:var(--fs-xs);color:var(--fg-muted);margin-left:auto}.meals-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.meals-widget:hover{background:var(--frosted-bg-hover)}.meals-widget{padding:var(--space-3)var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.meals-widget .meals-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.meals-widget .meals-header h2{font-size:var(--fs-sm);color:var(--fg-muted);text-transform:uppercase;margin:0;font-weight:600}.meals-widget .meals-recipes-link{font-size:var(--fs-sm);color:var(--fg-muted)}.meals-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meal-row{align-items:baseline;gap:var(--space-2);display:flex}.meal-day{font-size:var(--fs-sm);color:var(--fg-muted);flex:0 0 4.5rem}.meal-input{border:none;border-bottom:1px solid var(--frosted-border);min-width:0;color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)0;background:0 0;flex:auto}.meal-input:focus{border-bottom-color:var(--fg-muted);outline:none}.meal-input::placeholder{color:var(--fg-muted)}.meal-cooked{border:1px solid var(--frosted-border);border-radius:var(--radius-2);color:var(--fg-muted);cursor:pointer;padding:var(--space-1)var(--space-2);background:0 0;flex:none;line-height:1}.recipes-page{max-width:48rem;padding:var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.recipes-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.recipes-head h1{font-size:var(--fs-xl);margin:0}.recipe-form{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.recipe-form:hover{background:var(--frosted-bg-hover)}.recipe-form{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.recipe-form h2{font-size:var(--fs-md);margin:0}.recipe-field{gap:var(--space-1);flex-direction:column;display:flex}.recipe-field span{font-size:var(--fs-sm);color:var(--fg-muted)}.recipe-field input,.recipe-field textarea{background:var(--frosted-bg,transparent);border:1px solid var(--frosted-border);border-radius:var(--radius-2);width:100%;color:var(--fg);font-size:var(--fs-base);padding:var(--space-2)}.recipe-field input:focus,.recipe-field textarea:focus{border-color:var(--fg-muted);outline:none}.recipe-field textarea{resize:vertical;font-family:inherit}.recipe-form-actions{gap:var(--space-2);display:flex}.recipe-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recipe-item{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.recipe-item:hover{background:var(--frosted-bg-hover)}.recipe-item{padding:var(--space-3)var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.recipe-item-main{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.recipe-name{font-size:var(--fs-base);font-weight:600}.recipe-meta{font-size:var(--fs-sm);color:var(--fg-muted)}.recipe-item-actions{gap:var(--space-2);flex:none;display:flex}.pantry-widget{background:var(--frosted-bg);-webkit-backdrop-filter:blur(14px);border:1px solid var(--frosted-border);border-radius:var(--radius-4);transition:background .2s}.pantry-widget:hover{background:var(--frosted-bg-hover)}.pantry-widget{padding:var(--space-3)var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.pantry-widget header h2{font-size:var(--fs-sm);color:var(--fg-muted);text-transform:uppercase;margin:0;font-weight:600}.pantry-add{gap:var(--space-2);display:flex}.pantry-add input{border:1px solid var(--frosted-border);border-radius:var(--radius-2);min-width:0;color:var(--fg);font-size:var(--fs-base);padding:var(--space-1)var(--space-2);background:0 0;flex:auto}.pantry-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pantry-item{align-items:center;gap:var(--space-1);border:1px solid var(--frosted-border);border-radius:var(--radius-2);padding:var(--space-1)var(--space-2);font-size:var(--fs-sm);display:inline-flex}.pantry-qty{color:var(--fg-muted)}.pantry-remove{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;line-height:1}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;display:flex}.login-card{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-4);padding:2.5rem var(--space-6);width:min(var(--w-container-md),90vw);gap:var(--space-5);flex-direction:column;display:flex}.login-card form{gap:var(--space-5);flex-direction:column;display:flex}.login-title{color:var(--accent);font-size:var(--fs-xl);text-align:center;font-weight:300}.admin-section{gap:var(--space-3);flex-direction:column;display:flex}.admin-section h3{color:var(--fg);font-size:var(--fs-md);margin:0;font-weight:600}.admin-section textarea{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-1);color:var(--fg);font-family:inherit;font-size:var(--fs-base);padding:var(--space-2)var(--space-2);resize:vertical;width:100%}.admin-section textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.admin-hint{color:var(--fg-muted);font-size:var(--fs-sm);margin:0}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:var(--space-2)var(--space-3);text-align:left}.admin-table th{color:var(--fg-muted);font-size:var(--fs-sm);text-transform:uppercase;font-weight:600}.admin-table tr:last-child td{border-bottom:none}@media (width<=640px){.admin-table{display:block}.admin-table thead{display:none}.admin-table tbody,.admin-table tr{width:100%;display:block}.admin-table tr{border:1px solid var(--border);border-radius:var(--radius-2);padding:var(--space-2)var(--space-3);margin-bottom:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.admin-table tr:last-child{margin-bottom:0}.admin-table td{border-bottom:none;padding:0;display:block}.admin-table td[data-label]:before{content:attr(data-label);font-size:var(--fs-xs);color:var(--fg-muted);text-transform:uppercase;margin-bottom:var(--space-0);font-weight:600;display:block}}.avatar-thumb{height:var(--icon-lg);object-fit:cover;width:var(--icon-lg);border-radius:50%}.avatar-placeholder{background:var(--bg-ui-hover);height:var(--icon-lg);width:var(--icon-lg);border-radius:50%}.actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.reset-details summary{color:var(--link);cursor:pointer;font-size:var(--fs-base)}.reset-details form{gap:var(--space-2);margin-top:var(--space-2);display:flex}.reset-details form input{width:var(--w-input-lg)}.reset-details form button{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg);cursor:pointer;font-size:var(--fs-base);padding:var(--space-1)var(--space-3);white-space:nowrap}.avatar-form{align-items:center;gap:var(--space-2);font-size:var(--fs-base);display:flex}.avatar-form button{background:var(--bg-ui);border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg);cursor:pointer;font-size:var(--fs-base);padding:var(--space-1)var(--space-3);white-space:nowrap}.create-form{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.create-form input[type=text]{width:var(--w-input-xl)}.create-form input[type=email]{width:var(--w-input-xl)}.create-form input[type=password]{width:var(--w-input-xl)}.config-fields{gap:var(--space-5);flex-direction:column;display:flex}.config-field{gap:var(--space-1);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.config-field:last-child{border-bottom:none;padding-bottom:0}.config-field-header{align-items:center;gap:var(--space-2);display:flex}.config-field-label{font-weight:600;font-size:var(--fs-base);color:var(--fg)}.config-env-badge{font-size:var(--fs-xs);color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-1);padding:var(--space-0)var(--space-1);font-family:monospace}.editable-name{cursor:pointer;border-bottom:1px dashed var(--border)}.editable-name:hover{color:var(--accent);border-bottom-color:var(--accent)}.inline-edit-name{align-items:center;gap:var(--space-2);display:flex}.inline-edit-name input{width:var(--w-input-lg)}.config-field-row{gap:var(--space-2);align-items:center;display:flex}.config-field-row input{flex:1}.motd-editor{gap:var(--space-4);align-items:flex-start;display:flex}.motd-editor .field{flex:1;margin-bottom:0}.motd-textarea{font-family:monospace;font-size:var(--fs-base);resize:vertical;min-height:var(--w-textarea-sm)}.motd-preview{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-2);flex:1;overflow:hidden}.motd-preview-label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--fg-muted);padding:var(--space-1)var(--space-3);border-bottom:1px solid var(--border);font-weight:600}.motd-preview-body{padding:var(--space-3);font-size:var(--fs-base);color:var(--fg);line-height:1.5}.motd-preview-body a{color:var(--link)}.motd-preview-body strong,.motd-preview-body b{font-weight:700}.motd-preview-body em,.motd-preview-body i{font-style:italic}.motd-preview-body code{background:var(--bg-ui);padding:var(--space-0)var(--space-1);border-radius:var(--radius-1);font-family:monospace}.admin-sync-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-sync-item{align-items:center;gap:var(--space-3);display:flex}.csv-textarea{width:100%;min-height:50vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-2);color:var(--fg);padding:var(--space-3);white-space:pre;tab-size:2}.csv-actions{gap:var(--space-2);display:flex}.csv-errors{margin:var(--space-2)0;padding-left:var(--space-5);color:var(--error);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-xs)}.build-info{gap:var(--space-1)var(--space-3);font-size:var(--fs-sm);grid-template-columns:max-content 1fr;margin:0;display:grid}.build-info dt{color:var(--fg-muted);font-weight:600}.build-info dd{font-variant-numeric:tabular-nums;margin:0}.build-info code{background:var(--bg-alt);padding:var(--space-0)var(--space-1);border-radius:var(--radius-1)}.history-note{color:var(--fg-muted);font-size:var(--fs-sm);margin-bottom:var(--space-3)}.history-filters{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.history-filters label{gap:var(--space-1);font-size:var(--fs-sm);color:var(--fg-muted);flex-direction:column;display:flex}.history-filters input[type=date]{font-size:var(--fs-base);padding:var(--space-1)var(--space-2)}.history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.history-table th,.history-table td{padding:var(--space-2)var(--space-3);text-align:right;border-bottom:1px solid var(--border)}.history-table th[scope=row]{text-align:left;color:var(--fg);font-weight:600}.history-table thead th{font-size:var(--fs-sm);color:var(--fg-muted);border-bottom-width:2px;font-weight:500}.history-table tbody tr:hover{background:var(--bg-ui-hover)}