:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f2023;--surface:#2b2c30;--surface-2:#35363b;--surface-pill:#1c1d20;--text:#e8eaed;--text-muted:#9aa0a6;--divider:#3c4043;--accent:#8ab4f8;--accent-contrast:#0b1b3a;--chip-active:#174ea6;--chip-active-text:#e8f0fe;--fab-bg:#1a47a8;--fab-text:#fff;--danger:#f28b82;--success:#81c995;--warning:#fdd663;--overlay:#0000008c;--shadow:0 6px 24px #00000073}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--dur-fast:.15s;--dur-base:.26s;--dur-slow:.38s}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#f1f3f4;--surface-2:#e8eaed;--surface-pill:#fff;--text:#202124;--text-muted:#5f6368;--divider:#dadce0;--accent:#1a73e8;--accent-contrast:#fff;--chip-active:#d2e3fc;--chip-active-text:#174ea6;--fab-bg:#c2e7ff;--fab-text:#001d35;--danger:#d93025;--success:#188038;--warning:#b06000;--overlay:#20212473;--shadow:0 6px 24px #3c40434d}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);overscroll-behavior-x:none;overscroll-behavior-y:contain;max-width:100%;overflow-x:hidden}body{background:var(--bg);min-height:100dvh;color:var(--text);overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent;max-width:100vw;margin:0;font-family:Google Sans,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4;overflow-x:hidden}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[x-cloak],[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}[wire\:loading]{display:none}.shell{max-width:100vw;min-height:100dvh;display:flex;overflow-x:clip}.shell__main{flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex}.shell__content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.page{width:100%;max-width:880px;padding:16px 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.page__title{margin:8px 0 4px;font-size:24px;font-weight:500}.page__lead{color:var(--text-muted);margin:0 0 20px}.sidebar{z-index:40;width:min(86vw,280px);padding:calc(16px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));background:var(--surface);border-right:1px solid var(--divider);transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--shadow);transform:none}@media (width>=1024px){.sidebar{height:100dvh;box-shadow:none;background:var(--bg);flex-shrink:0;position:sticky;top:0;transform:none}}.sidebar__backdrop{z-index:39;background:var(--overlay);position:fixed;inset:0}@media (width>=1024px){.sidebar__backdrop{display:none}}.sidebar__brand{align-items:center;gap:10px;padding:4px 12px 16px;font-size:20px;font-weight:500;display:flex}.sidebar__section{border-top:1px solid var(--divider);margin-top:16px;padding-top:12px}.sidebar__heading{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 12px 8px;font-size:12px;font-weight:500}.nav-link{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:22px;align-items:center;gap:14px;padding:0 12px;font-size:15px;text-decoration:none;display:flex}.nav-link:hover{background:var(--surface-2)}.nav-link.is-active{background:var(--chip-active);color:var(--chip-active-text);font-weight:500}.sidebar .desktop-only{display:none}@media (width>=1024px){.sidebar .desktop-only{display:block}}.appbar{padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:var(--surface);z-index:20;align-items:center;gap:8px;display:flex;position:sticky;top:0}.appbar__title{flex:1;margin:0;font-size:20px;font-weight:500}@media (width>=1024px){.appbar .hamburger{display:none}}.icon-btn{width:44px;height:44px;color:var(--text);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2)}.btn{border:1px solid var(--divider);min-height:44px;color:var(--text);background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.btn--primary:hover{background:var(--accent);filter:brightness(1.08)}.btn--danger{border-color:var(--danger);color:var(--danger)}.btn--block{width:100%}.btn--small{text-align:center;min-height:36px;padding:0 14px;font-size:14px}.btn{text-align:center;max-width:100%}.fab{right:calc(16px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;background:var(--fab-bg);width:64px;height:64px;color:var(--fab-text);box-shadow:var(--shadow);border:0;border-radius:20px;justify-content:center;align-items:center;transition:transform .15s;display:flex;position:fixed}.fab:active{transform:scale(.94)}.field{flex-direction:column;gap:6px;min-width:0;margin-bottom:14px;display:flex}.field__label{color:var(--text-muted);font-size:13px;font-weight:500}.field__error{color:var(--danger);font-size:13px}.field__hint{color:var(--text-muted);font-size:13px}.input,.select,.textarea{border:1px solid var(--divider);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text);border-radius:10px;padding:10px 14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.textarea{resize:vertical;min-height:96px}.input--color{width:64px;padding:4px}input[type=date],input[type=time],input[type=datetime-local],select{appearance:none;text-align:left;display:block}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239aa0a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}input[type=date],input[type=time]{padding-inline:10px}.sheet__body>*,.form-section>div{min-width:0;max-width:100%}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.4em;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.4em;margin:0}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-row>*{min-width:0}.field-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-row .input,.inline-row .select{flex:90px;width:auto}.inline-row .btn{flex:none}.password-field{position:relative}.password-field .input{padding-right:52px}.password-field .icon-btn{position:absolute;top:0;right:0}.check{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.check input{border:2px solid var(--text-muted);appearance:none;width:24px;height:24px;transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);background:0 0;border-radius:7px;flex-shrink:0;margin:0;position:relative}.check input:after{content:"";border:solid var(--accent-contrast);width:6px;height:11px;transition:transform var(--dur-base) var(--ease-spring);border-width:0 2.5px 2.5px 0;position:absolute;top:2px;left:6px;transform:rotate(45deg)scale(0)}.check input:checked{border-color:var(--accent);background:var(--accent)}.check input:checked:after{transform:rotate(45deg)scale(1)}.check input:active{transform:scale(.88)}.choice-group{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1px solid var(--divider);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:40px;padding:0 14px;font-size:14px;display:inline-flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice.is-selected{background:var(--chip-active);color:var(--chip-active-text);border-color:#0000}.choice:has(input:checked){background:var(--chip-active);color:var(--chip-active-text);border-color:#0000}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.form-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.alert{background:var(--surface);border-left:4px solid var(--accent);border-radius:10px;margin-bottom:14px;padding:12px 16px}.alert--danger{border-left-color:var(--danger)}.alert--success{border-left-color:var(--success)}.alert--warning{border-left-color:var(--warning)}.sheet{z-index:60;justify-content:center;align-items:flex-end;min-width:0;display:flex;position:fixed;inset:0;overflow:hidden}@media (width>=768px){.sheet{align-items:center}}.sheet__backdrop{background:var(--overlay);position:absolute;inset:0}.sheet__panel{contain:inline-size;background:var(--bg);width:100%;min-width:0;max-width:100%;max-height:94dvh;box-shadow:var(--shadow);border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=768px){.sheet__panel{border-radius:16px;width:min(560px,100%);max-height:88dvh}}.sheet__header{border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.sheet__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:18px;font-weight:500;overflow:hidden}.sheet__body{padding:16px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;flex:1;min-width:0;overflow:hidden auto}.sheet__footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--divider);justify-content:flex-end;gap:10px;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}@media (width>=768px){@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:none}}}.detail-row{align-items:flex-start;gap:16px;padding:10px 0;display:flex}.detail-row svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.detail-title{overflow-wrap:anywhere;align-items:flex-start;gap:12px;margin:4px 0 12px;font-size:22px;font-weight:500;display:flex}.color-dot{border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:8px}.reminder-chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:4px;padding:4px 4px 4px 12px;font-size:14px;display:inline-flex}.reminder-chip button{background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.form-section{gap:14px;padding:6px 0 2px;display:flex}.form-section>svg{color:var(--text-muted);flex-shrink:0;margin-top:12px}.form-section>div{flex:1;min-width:0}.toasts{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:80;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);pointer-events:auto;border-radius:10px;padding:12px 16px;font-size:15px}.offline-banner{top:env(safe-area-inset-top);z-index:90;background:var(--warning);color:#202124;border-radius:0 0 12px 12px;align-items:center;gap:8px;max-width:92vw;padding:8px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;left:50%;transform:translate(-50%)}html[data-offline=true] .fab,html[data-offline=true] [data-requires-network]{opacity:.45;pointer-events:none}.avatar{border:2px solid var(--accent);background:var(--surface-2);width:40px;height:40px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.menu{position:relative}.menu__panel{z-index:50;border:1px solid var(--divider);background:var(--surface);min-width:220px;box-shadow:var(--shadow);border-radius:14px;padding:8px;position:absolute;top:calc(100% + 6px);right:0}.menu__who{color:var(--text-muted);overflow-wrap:anywhere;padding:8px 12px 10px;font-size:14px}.card{border:1px solid var(--divider);background:var(--surface);border-radius:14px;margin-bottom:16px;padding:16px}.card__title{margin:0 0 12px;font-size:17px;font-weight:500}.list-row{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:56px;padding:8px 0;display:flex}.list-row:last-child{border-bottom:0}.list-row__main{overflow-wrap:anywhere;flex:160px;min-width:0}.list-row__sub{color:var(--text-muted);font-size:14px}.badge{background:var(--surface-2);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.badge--ready{background:color-mix(in srgb, var(--success) 25%, transparent);color:var(--success)}.badge--duplicate{background:var(--surface-2);color:var(--text-muted)}.badge--invalid{background:color-mix(in srgb, var(--danger) 25%, transparent);color:var(--danger)}.badge--conflict{background:color-mix(in srgb, var(--warning) 25%, transparent);color:var(--warning)}.swatch{border-radius:6px;flex-shrink:0;width:20px;height:20px;display:inline-block}.spinner{border:2px solid var(--divider);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--text-muted)}.stack>*+*{margin-top:12px}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{border-bottom:1px solid var(--divider);text-align:left;white-space:nowrap;padding:8px 10px}.table th{color:var(--text-muted);font-weight:500}.t-pop-enter{transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-spring)}.t-pop-leave{transition:opacity var(--dur-fast) var(--ease-in), transform var(--dur-fast) var(--ease-in)}.t-pop-from{opacity:0;transform-origin:100% 0;transform:translateY(-10px)scale(.94)}.t-pop-to{opacity:1;transform-origin:100% 0;transform:none}.t-fade-enter{transition:opacity var(--dur-base) var(--ease-out)}.t-fade-leave{transition:opacity var(--dur-fast) var(--ease-in)}.t-fade-from{opacity:0}.t-fade-to{opacity:1}.t-rise-enter{transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-spring)}.t-rise-leave{transition:opacity var(--dur-base) var(--ease-in), transform var(--dur-base) var(--ease-in)}.t-rise-from{opacity:0;transform:translateY(16px)scale(.96)}.t-rise-to{opacity:1;transform:none}@keyframes reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes month-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{animation:reveal var(--dur-base) var(--ease-out) backwards}.mini-month__weeks{animation:month-in var(--dur-base) var(--ease-out) backwards}.month-full__grid,.timegrid__body{animation:fade-in var(--dur-base) var(--ease-out) backwards}.agenda-day{animation:rise-in var(--dur-base) var(--ease-out) backwards}.event-card,.chip,.timegrid__event{transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) ease}.event-card:hover,.chip:hover,.timegrid__event:hover{filter:brightness(1.06)}.event-card:active,.chip:active,.timegrid__event:active{transform:scale(.985)}.fab{animation:pop-in var(--dur-slow) var(--ease-spring) .15s backwards;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-base) ease}.fab:hover{transform:translateY(-2px)scale(1.04)}.btn,.icon-btn,.nav-link,.choice,.month-chip,.mini-day__number,.category-filter{transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease}.btn:active,.icon-btn:active,.choice:active,.month-chip:active{transform:scale(.95)}.mini-day:active .mini-day__number{transform:scale(.88)}.mini-day.is-selected .mini-day__number{animation:pop-in var(--dur-base) var(--ease-spring) backwards}.card{animation:rise-in var(--dur-base) var(--ease-out) backwards}.alert,.list-row,.reminder-chip{animation:reveal var(--dur-base) var(--ease-out) backwards}.cal-title svg,.chevron-rotate{transition:transform var(--dur-base) var(--ease-spring)}.is-flipped{transform:rotate(180deg)}.cal.is-loading .agenda,.cal.is-loading .month-full__grid{opacity:.75;transition:opacity var(--dur-fast) ease}.toast{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}details{interpolate-size:allow-keywords}details summary{cursor:pointer;align-items:center;min-height:44px;font-weight:500;display:flex}details::details-content{opacity:0;block-size:0;transition:block-size var(--dur-slow) var(--ease-out), opacity var(--dur-base) ease, content-visibility var(--dur-slow) allow-discrete;overflow:hidden}details[open]::details-content{opacity:1;block-size:auto}.sidebar{transition:transform var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) ease}.sidebar__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet__backdrop{animation:fade-in var(--dur-base) ease backwards;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet__panel{animation:sheet-in var(--dur-slow) var(--ease-spring) backwards}.menu__panel{transform-origin:100% 0}.mini-month__week{transition:grid-template-rows var(--dur-slow) var(--ease-out), opacity var(--dur-base) ease;grid-template-rows:1fr;display:grid}.mini-month__week-inner{grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid;overflow:hidden}.mini-month.is-collapsed .mini-month__week:not(.is-selected-week){opacity:0;pointer-events:none;grid-template-rows:0fr}@keyframes slide-in-right{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:none}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-44px)}to{opacity:1;transform:none}}[data-slide=next].mini-month__weeks,[data-slide=next].month-full__grid,[data-slide=next].timegrid__body,[data-slide=next].agenda-day{animation:slide-in-right var(--dur-slow) var(--ease-out) backwards}[data-slide=prev].mini-month__weeks,[data-slide=prev].month-full__grid,[data-slide=prev].timegrid__body,[data-slide=prev].agenda-day{animation:slide-in-left var(--dur-slow) var(--ease-out) backwards}.mini-month,.month-full,.timegrid__scroll{will-change:transform}.page>:first-child{animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:45ms}.page>:nth-child(2){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:90ms}.page>:nth-child(3){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.135s}.page>:nth-child(4){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.18s}.page>:nth-child(5){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.225s}.page>:nth-child(6){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.27s}.page>:nth-child(7){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.315s}.page>:nth-child(8){animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:.36s}@keyframes drawer-item{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}.sidebar.is-open .sidebar__brand,.sidebar.is-open .nav-link,.sidebar.is-open .category-filter,.sidebar.is-open .btn--block{animation:drawer-item var(--dur-slow) var(--ease-out) backwards}.sidebar.is-open .nav-link:first-child,.sidebar.is-open .category-filter:nth-child(2){animation-delay:35ms}.sidebar.is-open .nav-link:nth-child(2),.sidebar.is-open .category-filter:nth-child(3){animation-delay:70ms}.sidebar.is-open .nav-link:nth-child(3),.sidebar.is-open .category-filter:nth-child(4){animation-delay:.105s}.sidebar.is-open .nav-link:nth-child(4),.sidebar.is-open .category-filter:nth-child(5){animation-delay:.14s}.sidebar.is-open .nav-link:nth-child(5),.sidebar.is-open .category-filter:nth-child(6){animation-delay:.175s}.sidebar.is-open .nav-link:nth-child(6),.sidebar.is-open .category-filter:nth-child(7){animation-delay:.21s}.sidebar.is-open .nav-link:nth-child(7),.sidebar.is-open .category-filter:nth-child(8){animation-delay:.245s}.sidebar.is-open .nav-link:nth-child(8),.sidebar.is-open .category-filter:nth-child(9){animation-delay:.28s}.sidebar.is-open .nav-link:nth-child(9),.sidebar.is-open .category-filter:nth-child(10){animation-delay:.315s}.sidebar.is-open .nav-link:nth-child(10),.sidebar.is-open .category-filter:nth-child(11){animation-delay:.35s}.sidebar.is-open .nav-link:nth-child(11),.sidebar.is-open .category-filter:nth-child(12){animation-delay:.385s}.sidebar.is-open .nav-link:nth-child(12),.sidebar.is-open .category-filter:nth-child(13){animation-delay:.42s}.sheet__body .detail-row:nth-child(2){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:40ms}.sheet__body .detail-row:nth-child(3){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:80ms}.sheet__body .detail-row:nth-child(4){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.12s}.sheet__body .detail-row:nth-child(5){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.16s}.sheet__body .detail-row:nth-child(6){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.2s}.sheet__body .detail-row:nth-child(7){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.24s}.sheet__body .detail-row:nth-child(8){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.28s}.sheet__body .detail-row:nth-child(9){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.32s}.sheet__body .detail-title{animation:rise-in var(--dur-base) var(--ease-out) backwards}.table tbody tr:first-child{animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:30ms}.search-results .search-hit:first-child{animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:35ms}.table tbody tr:nth-child(2){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:60ms}.search-results .search-hit:nth-child(2){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:70ms}.table tbody tr:nth-child(3){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:90ms}.search-results .search-hit:nth-child(3){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.105s}.table tbody tr:nth-child(4){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.12s}.search-results .search-hit:nth-child(4){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.14s}.table tbody tr:nth-child(5){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.15s}.search-results .search-hit:nth-child(5){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.175s}.table tbody tr:nth-child(6){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.18s}.search-results .search-hit:nth-child(6){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.21s}.table tbody tr:nth-child(7){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.21s}.search-results .search-hit:nth-child(7){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.245s}.table tbody tr:nth-child(8){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.24s}.search-results .search-hit:nth-child(8){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.28s}.table tbody tr:nth-child(9){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.27s}.search-results .search-hit:nth-child(9){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.315s}.table tbody tr:nth-child(10){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.3s}.search-results .search-hit:nth-child(10){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.35s}.table tbody tr:nth-child(11){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.33s}.search-results .search-hit:nth-child(11){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.385s}.table tbody tr:nth-child(12){animation:reveal var(--dur-base) var(--ease-out) backwards;animation-delay:.36s}.search-results .search-hit:nth-child(12){animation:rise-in var(--dur-base) var(--ease-out) backwards;animation-delay:.42s}.summary-grid div:first-child{animation:pop-in var(--dur-slow) var(--ease-spring) backwards;animation-delay:60ms}.summary-grid div:nth-child(2){animation:pop-in var(--dur-slow) var(--ease-spring) backwards;animation-delay:.12s}.summary-grid div:nth-child(3){animation:pop-in var(--dur-slow) var(--ease-spring) backwards;animation-delay:.18s}.summary-grid div:nth-child(4){animation:pop-in var(--dur-slow) var(--ease-spring) backwards;animation-delay:.24s}.work-grid{animation:month-in var(--dur-base) var(--ease-out) backwards}.work-day,.month-cell,.badge,.swatch{transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) ease}.work-day:active,.month-cell__number:active{transform:scale(.92)}.today-icon:active{transform:scale(.88)rotate(-6deg)}.avatar{transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-base) ease}.avatar:active{transform:scale(.9)}.settings-tabs a,.view-switch button{transition:background-color var(--dur-base) var(--ease-out), color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-out)}.settings-tabs a:active,.view-switch button:active{transform:scale(.95)}.offline-banner{animation:reveal var(--dur-slow) var(--ease-spring) backwards}@view-transition{navigation:auto}::view-transition-old(root){animation:fade-in var(--dur-fast) reverse backwards}::view-transition-new(root){animation:rise-in var(--dur-base) var(--ease-out) backwards}html[data-swiping] .mini-month__weeks,html[data-swiping] .month-full__grid,html[data-swiping] .timegrid__body,html[data-swiping] .agenda-day,html[data-swiping] .agenda{animation:none!important}.cal{flex-direction:column;height:100%;min-height:0;display:flex}.cal__head{background:var(--surface);padding-top:env(safe-area-inset-top);flex-shrink:0}.cal-topbar{align-items:center;gap:8px;padding:10px 12px;display:flex}.pill{background:var(--surface-pill);border-radius:999px;align-items:center;height:52px;padding:0 4px;display:inline-flex}.pill--title{background:0 0;flex:1 1 0;gap:2px;min-width:0;padding-right:8px;overflow:hidden}.cal-title{white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:4px;min-width:0;max-width:100%;min-height:44px;padding:0 8px;font-size:22px;display:inline-flex;overflow:hidden}.cal-title__year{color:var(--text-muted);font-size:16px}.today-icon{background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:relative}.today-icon span{padding-top:4px;font-size:11px;font-weight:700;position:absolute}.search-panel{padding:0 12px 12px}.search-results{max-height:50dvh;padding:0 12px 12px;overflow-y:auto}.search-hit{border:0;border-bottom:1px solid var(--divider);text-align:left;background:0 0;align-items:stretch;gap:12px;width:100%;padding:10px 0;display:flex}.search-hit__bar{border-radius:3px;flex-shrink:0;width:6px}.search-hit__meta{color:var(--text-muted);font-size:13px}.view-switch{background:var(--surface-2);border-radius:999px;gap:4px;padding:6px;display:none}@media (width>=1024px){.view-switch{display:inline-flex}}.view-switch button{background:0 0;border:0;border-radius:999px;min-height:36px;padding:0 16px;font-size:14px}.view-switch button.is-active{background:var(--chip-active);color:var(--chip-active-text);font-weight:500}.cal-nav-desktop{align-items:center;gap:4px;display:none}@media (width>=1024px){.cal-nav-desktop{display:flex}}.category-filter{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 12px;display:flex}.category-filter:hover{background:var(--surface-2)}.category-filter__box{color:#fff;border:2px solid #0000;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.category-filter.is-off .category-filter__box{border-color:var(--text-muted);color:#0000;background:0 0!important}.mini-month{padding:0 8px}.mini-month__weekdays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mini-month__weekdays span{color:var(--text-muted);text-align:center;padding:8px 0;font-size:14px}.mini-day{background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;min-height:52px;padding:2px 0 4px;display:flex}.mini-day__number{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;display:inline-flex}.mini-day.is-today .mini-day__number{color:var(--accent);font-weight:700}.mini-day.is-selected .mini-day__number{background:var(--accent);color:var(--accent-contrast);font-weight:600}.mini-day.is-outside{visibility:hidden}.mini-day__dots{gap:3px;height:6px;display:flex}.mini-day__dot{border-radius:50%;width:6px;height:6px}.mini-month--sidebar .mini-day{min-height:38px}.mini-month--sidebar .mini-day__number{width:30px;height:30px;font-size:13px}.mini-month--sidebar .mini-day.is-outside{visibility:visible;opacity:.4}.mini-month--sidebar .mini-month__weekdays span{font-size:12px}.month-chips{scroll-snap-type:x proximity;scrollbar-width:none;align-items:center;gap:8px;padding:8px 12px 12px;display:flex;overflow-x:auto}.month-chips::-webkit-scrollbar{display:none}.month-chip{border:1px solid var(--divider);scroll-snap-align:start;background:0 0;border-radius:999px;flex-shrink:0;min-height:40px;padding:0 18px;font-size:16px}.month-chip.is-active{background:var(--chip-active);color:var(--chip-active-text);border-color:#0000}.month-chips__year{flex-shrink:0;padding:0 6px;font-size:16px;font-weight:500}.collapse-handle{width:100%;height:22px;color:var(--text-muted);background:0 0;border:0;justify-content:center;display:flex}.month-full{flex-direction:column;height:100%;min-height:0;display:flex}.month-full__weekdays{border-bottom:1px solid var(--divider);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-full__weekdays span{color:var(--text-muted);text-align:center;text-transform:uppercase;padding:8px;font-size:12px;font-weight:500}.month-full__grid{flex:1;grid-auto-rows:minmax(104px,1fr);min-height:0;display:grid;overflow-y:auto}.month-full__week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-cell{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);background:0 0;min-width:0;padding:4px}.month-cell.is-outside{background:color-mix(in srgb, var(--surface) 55%, transparent)}.month-cell.is-outside .month-cell__number{color:var(--text-muted)}.month-cell__number{background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex}.month-cell.is-today .month-cell__number{background:var(--accent);color:var(--accent-contrast);font-weight:700}.chip{text-align:left;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;width:100%;margin-top:2px;padding:1px 6px;font-size:12px;line-height:1.5;display:block;overflow:hidden}.chip--more{color:var(--text-muted);background:0 0}.chip--rest{border:1px dashed var(--divider);color:var(--text-muted);background:0 0}@media (width<=767px){.month-cell{padding:2px}.month-cell .chip{padding:0 3px;font-size:10px;line-height:1.45}.month-full__grid{grid-auto-rows:minmax(92px,1fr)}}.agenda{overscroll-behavior:contain;min-height:0;padding-bottom:calc(110px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}@media (width>=768px){.agenda{width:100%;max-width:760px;margin:0 auto}}.agenda__week{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding:22px 16px 6px 72px;font-size:13px;font-weight:500}.agenda-day{grid-template-columns:72px 1fr;padding:6px 12px 6px 0;scroll-margin-top:4px;display:grid}.agenda-day__label{color:var(--text-muted);text-transform:uppercase;flex-direction:column;align-self:start;align-items:center;gap:2px;padding-top:6px;font-size:12px;font-weight:500;display:flex;position:sticky;top:0}.agenda-day__number{width:44px;height:44px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:400;display:inline-flex}.agenda-day.is-today .agenda-day__number{background:var(--accent);color:var(--accent-contrast)}.agenda-day.is-selected:not(.is-today) .agenda-day__number{outline:2px solid var(--accent)}.agenda-day__items{min-width:0}.agenda-empty{width:100%;min-height:56px;color:var(--text-muted);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.agenda-empty:after{content:"";flex:1}.agenda-line{background:var(--text);height:2px;margin:4px 0 0;position:relative}.agenda-line:before{content:"";background:var(--text);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}.event-card{text-align:left;overflow-wrap:anywhere;border:0;border-radius:8px;width:100%;min-height:56px;margin-bottom:6px;padding:10px 16px;display:block}.event-card__title{font-size:16px;font-weight:500;display:block}.event-card__meta{opacity:.85;font-size:14px;display:block}.event-card--rest{border:1px dashed var(--divider);min-height:44px;color:var(--text-muted)!important;background:0 0!important}.agenda-more{text-align:center;color:var(--text-muted);padding:20px}.timegrid{flex-direction:column;height:100%;min-height:0;display:flex}.timegrid__head{grid-template-columns:40px repeat(var(--columns), minmax(0, 1fr));border-bottom:1px solid var(--divider);flex-shrink:0;padding-right:6px;display:grid}.timegrid__day-head{text-align:center;color:var(--text-muted);text-transform:uppercase;background:0 0;border:0;padding:8px 2px;font-size:12px}.timegrid__day-head strong{width:40px;height:40px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;margin-top:2px;font-size:20px;font-weight:400;display:inline-flex}.timegrid__day-head.is-today strong{background:var(--accent);color:var(--accent-contrast)}.timegrid__allday{grid-template-columns:40px repeat(var(--columns), minmax(0, 1fr));border-bottom:1px solid var(--divider);flex-shrink:0;padding-right:6px;display:grid}.timegrid__allday>div{min-width:0;padding:2px}.timegrid__scroll{min-height:0;padding-bottom:calc(100px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.timegrid__body{grid-template-columns:40px repeat(var(--columns), minmax(0, 1fr));height:1344px;display:grid;position:relative}.timegrid__hours{position:relative}.timegrid__hours span{color:var(--text-muted);font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.timegrid__col{border-left:1px solid var(--divider);background-image:linear-gradient(to bottom, var(--divider) 1px, transparent 1px);background-size:100% 56px;position:relative}.timegrid__col.is-today{background-color:color-mix(in srgb, var(--accent) 6%, transparent)}.timegrid__event{border:1px solid var(--bg);text-align:left;border-radius:6px;min-width:0;padding:2px 4px;font-size:12px;line-height:1.3;position:absolute;overflow:hidden}.timegrid__event strong{font-weight:500;display:block}.timegrid__now{z-index:2;background:var(--danger);pointer-events:none;height:2px;position:absolute;left:0;right:0}.timegrid__now:before{content:"";background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px}@media (width<=767px){.timegrid__event{border-radius:4px;font-size:10px}.timegrid__event strong{text-overflow:ellipsis;overflow:hidden}.timegrid__day-head strong{width:32px;height:32px;font-size:16px}.timegrid__hours span{font-size:10px;right:4px}}.auth{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth__card{border:1px solid var(--divider);background:var(--surface);border-radius:20px;width:100%;max-width:400px;padding:28px 24px}.auth__brand{align-items:center;gap:12px;margin-bottom:20px;font-size:26px;font-weight:500;display:flex}.auth__logo{border-radius:12px;width:44px;height:44px}.settings-tabs{scrollbar-width:none;gap:8px;padding:0 0 16px;display:flex;overflow-x:auto}.settings-tabs a{border:1px solid var(--divider);min-height:40px;color:var(--text);border-radius:999px;flex-shrink:0;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;display:inline-flex}.settings-tabs a.is-active{background:var(--chip-active);color:var(--chip-active-text);border-color:#0000;font-weight:500}.work-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.work-grid__head{color:var(--text-muted);text-align:center;padding:4px 0;font-size:12px}.work-day{background:var(--bg);border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-height:58px;padding:4px 2px;font-size:13px;display:flex}.work-day small{font-size:10px;line-height:1.1}.work-day.is-work{background:color-mix(in srgb, var(--accent) 22%, transparent)}.work-day.is-rest{color:var(--text-muted)}.work-day.is-override{border-color:var(--warning)}.work-day.is-outside{opacity:.4}.work-day.is-today{outline:2px solid var(--accent)}.work-day.is-picked{background:var(--accent);color:var(--accent-contrast)}.month-nav{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.month-nav strong{text-transform:capitalize;font-weight:500}.code-sample{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.prompt-box,.json-input{width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.steps{margin:0 0 12px;padding-left:22px;list-style:decimal}.steps li{margin-bottom:6px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=768px){.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.summary-grid div{background:var(--bg);text-align:center;border-radius:12px;padding:12px}.summary-grid strong{font-size:24px;display:block}.install-steps li{margin-bottom:8px}
