@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--desk:#eceff3;--toast-bg:var(--text);--toast-fg:var(--canvas);--toast-action:var(--accent-soft);--canvas:#f8f9fb;--surface:#fff;--raised:#fff;--sunken:#f1f3f6;--hover:#e7eaef;--weekend:#f3f5f8;--text:#13161c;--text-2:#4a505c;--text-3:#5d6370;--line:#e0e3e9;--offhours:#3c40500d;--free:#1e8e3e;--free-soft:#e6f4ea;--free-text:#0d652d;--busy:#d93025;--busy-stripe:#b3261e;--busy-soft:#fce8e6;--busy-text:#a50e0e;--some:#f9ab00;--some-soft:#fef7e0;--some-text:#7a4f01;--line-strong:#cbd0d8;--accent:#2f5be0;--accent-hover:#244bc2;--accent-text:#fff;--accent-soft:#e2e9fc;--accent-ink:#2446b0;--danger:#c3352c;--danger-soft:#fbe5e3;--now:#e0453f;--overlay:#13161c59;--shadow-pop:0 1px 2px #13161c0f, 0 12px 32px -8px #13161c38;--tint:14%;--tint-hover:22%;--font-ui:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-ui);--r-sm:6px;--r-md:10px;--r-lg:14px;--topbar-h:64px;--sidebar-w:264px;--tasks-w:320px;--gutter-w:60px;--hour:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--desk:#0b0d11;--toast-bg:#2c323d;--toast-fg:var(--text);--toast-action:var(--accent-ink);--canvas:#101318;--surface:#161a20;--raised:#1c2028;--sunken:#0e1015;--hover:#232833;--weekend:#13161c;--text:#e7e9ee;--text-2:#a8aebb;--text-3:#8d94a1;--line:#242933;--offhours:#0000004d;--free:#2e9e50;--free-soft:#12301c;--free-text:#81c995;--busy:#e0473c;--busy-stripe:#b3261e;--busy-soft:#3a1614;--busy-text:#f28b82;--some:#fbbc04;--some-soft:#3a2c05;--some-text:#fdd663;--line-strong:#323945;--accent:#7d9dff;--accent-hover:#98b1ff;--accent-text:#0a1433;--accent-soft:#1b2544;--accent-ink:#a8bcff;--danger:#f28b82;--danger-soft:#3a2224;--now:#ff6b66;--overlay:#0000008c;--shadow-pop:0 1px 2px #0006, 0 16px 40px -8px #0009;--tint:22%;--tint-hover:30%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--desk:#0b0d11;--toast-bg:#2c323d;--toast-fg:var(--text);--toast-action:var(--accent-ink);--canvas:#101318;--surface:#161a20;--raised:#1c2028;--sunken:#0e1015;--hover:#232833;--weekend:#13161c;--text:#e7e9ee;--text-2:#a8aebb;--text-3:#8d94a1;--line:#242933;--offhours:#0000004d;--free:#2e9e50;--free-soft:#12301c;--free-text:#81c995;--busy:#e0473c;--busy-stripe:#b3261e;--busy-soft:#3a1614;--busy-text:#f28b82;--some:#fbbc04;--some-soft:#3a2c05;--some-text:#fdd663;--line-strong:#323945;--accent:#7d9dff;--accent-hover:#98b1ff;--accent-text:#0a1433;--accent-soft:#1b2544;--accent-ink:#a8bcff;--danger:#f28b82;--danger-soft:#3a2224;--now:#ff6b66;--overlay:#0000008c;--shadow-pop:0 1px 2px #0006, 0 16px 40px -8px #0009;--tint:22%;--tint-hover:30%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--desk);color:var(--text);font:14px/1.45 var(--font-ui);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{flex:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spacer{flex:1}.stack{border:0;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.muted{color:var(--text-2)}kbd{font:500 11px/1 var(--font-ui);color:var(--text-3);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:2px 5px}.button{border-radius:var(--r-sm);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-weight:500;display:inline-flex}.button--primary{background:var(--accent);color:var(--accent-text)}.button--primary:hover{background:var(--accent-hover)}.button--primary:disabled{opacity:.55;cursor:default}.button--ghost{color:var(--text-2)}.button--ghost:hover{background:var(--hover);color:var(--text)}.button--outline{border-color:var(--line-strong);background:var(--surface)}.button--outline:hover{background:var(--hover)}.button--danger{color:var(--danger)}.button--danger:hover{background:var(--danger-soft)}.icon-button{border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-2);background:0 0;border:0;flex:none;place-items:center;line-height:1;display:inline-grid}.icon-button:hover{background:var(--hover);color:var(--text)}.icon-button--sm{width:28px;height:28px}input:not([type=checkbox],[type=radio],[type=color]),select,textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);min-width:0;height:36px;padding:0 10px}textarea{resize:vertical;height:auto;padding:8px 10px}input:not([type=checkbox],[type=radio],[type=color]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[aria-invalid=true]{border-color:var(--danger)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0}.field{flex-direction:column;gap:6px;display:flex}.field>span:first-child,.field>label:first-child{color:var(--text-2);font-size:12px;font-weight:600}.field--inline{flex-direction:row;align-items:center;gap:10px}.checkbox,.radio{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.form-error{color:var(--danger);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.hint{color:var(--text-3);font-size:12px}.segmented{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-md);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid;position:relative}.segmented:before{content:"";width:calc((100% - 6px) / var(--n));transform:translateX(calc(100% * var(--i)));background:var(--surface);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line);border-radius:7px;transition:transform .18s cubic-bezier(.3,.7,.4,1);position:absolute;top:3px;bottom:3px;left:3px}.segmented button{color:var(--text-2);background:0 0;border:0;border-radius:7px;padding:5px 14px;font-weight:500;position:relative}.segmented button:hover,.segmented button[aria-pressed=true]{color:var(--text)}@media (prefers-reduced-motion:reduce){.segmented:before{transition:none}}.view-select,.today-button__icon{display:none}.color-picker{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:0;border-radius:50%;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #00000014}.swatch[aria-checked=true],.swatch--custom.is-set{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.swatch--default{position:relative}.swatch--default:after{content:"";border:1.5px dashed #ffffffe6;border-radius:50%;position:absolute;inset:4px}.swatch--custom{cursor:pointer;color:#fff;background:conic-gradient(#c2410c,#ca8a04,#15803d,#0369a1,#7e22ce,#c2410c);place-items:center;display:inline-grid;position:relative}.swatch--custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.swatch--custom:focus-within{outline:2px solid var(--accent);outline-offset:2px}.calendar-select{min-width:0;display:inline-block;position:relative}.calendar-select__button{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);text-align:left;align-items:center;gap:8px;max-width:100%;height:36px;padding:0 10px;display:inline-flex}.calendar-select__button:hover{background:var(--hover)}.calendar-select__dot{border-radius:3px;flex:none;width:10px;height:10px}.calendar-select__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-select__caret{color:var(--text-3);margin-left:2px}.calendar-select__list{z-index:80;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-pop);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.calendar-select__list li{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:7px 10px;display:flex}.calendar-select__list li.is-active{background:var(--hover)}.calendar-select__check{color:var(--accent);margin-left:auto;padding-left:12px}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:var(--topbar-h) minmax(0, 1fr);grid-template-areas:"top top""side main";height:100%;display:grid}.app--collapsed{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""main"}.app--tasks{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--tasks-w);grid-template-areas:"top top top""side main tasks"}.app--tasks.app--collapsed{grid-template-columns:minmax(0, 1fr) var(--tasks-w);grid-template-areas:"top top""main tasks"}.topbar{grid-area:top;align-items:center;gap:10px;padding:0 16px 0 12px;display:flex}.brand{width:calc(var(--sidebar-w) - 64px);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.app--collapsed .brand{width:auto;margin-right:12px}.brand__mark{background:var(--surface);width:28px;height:30px;box-shadow:0 0 0 1px var(--line-strong);text-align:center;border-radius:7px;grid-template-rows:7px 1fr;display:grid;overflow:hidden}.brand__mark:before{content:"";background:var(--accent)}.brand__mark span{font:400 17px/21px var(--font-display)}.nav{align-items:center;gap:2px;display:inline-flex}.range-label{font:600 26px/1 var(--font-display);letter-spacing:-.02em;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;margin-left:8px;display:flex;overflow:hidden}.range-label em{color:var(--text-3);font-style:normal}.search-button{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);min-width:200px;height:36px;color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:inline-flex}.search-button:hover{border-color:var(--line-strong)}.search-button kbd{margin-left:auto}.sidebar{flex-direction:column;grid-area:side;min-height:0;display:flex;overflow:hidden}.sidebar__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:20px;min-height:0;padding:4px 16px 20px 12px;display:flex;overflow-y:auto}.sidebar__bottom{padding:8px 12px calc(10px + env(safe-area-inset-bottom)) 12px;border-top:1px solid var(--line);flex-direction:column;flex:none;gap:2px;display:flex}.sidebar__actions{gap:8px;display:grid}.new-event{border-radius:var(--r-md);background:var(--accent);height:44px;color:var(--accent-text);border:0;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.new-event:hover{background:var(--accent-hover)}.new-event kbd{color:inherit;border-color:color-mix(in srgb, currentColor 40%, transparent);opacity:.8;margin-left:auto}.ai-button{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:0 0;align-items:center;gap:10px;height:40px;padding:0 14px;font-weight:500;display:flex}.ai-button svg{color:var(--accent)}.ai-button__badge{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:600}.ai-button__badge.is-empty{background:var(--danger-soft);color:var(--text)}.ai-button:hover{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.main{background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;grid-area:main;min-height:0;margin:0 12px 12px 0;display:flex;overflow:hidden}.app--collapsed .main{margin-left:12px}.mini__head{align-items:center;padding:0 0 6px 6px;display:flex}.mini__label{flex:1;font-weight:600}.mini__grid{text-align:center;grid-template-columns:repeat(7,1fr);row-gap:2px;font-size:12px;display:grid}.mini__grid--weeks{grid-template-columns:22px repeat(7,1fr)}.mini__week{color:var(--text-3);align-self:center;font-size:10px}.timegrid__offhours{background:var(--offhours);pointer-events:none;position:absolute;left:0;right:0}.timegrid__week-number{color:var(--text-3);justify-content:center;align-items:flex-end;padding-bottom:8px;font-size:11px;font-weight:600;display:flex}.mini__weekday{color:var(--text-3);padding:2px 0 4px;font-size:11px;font-weight:500}.mini__day{border-radius:var(--r-sm);background:0 0;border:0;height:30px}.mini__day:hover{background:var(--hover)}.mini__day.is-outside{color:var(--text-3)}.mini__day.is-in-range{background:var(--accent-soft);border-radius:0}.mini__day.is-in-range.is-range-start{border-radius:var(--r-sm) 0 0 var(--r-sm)}.mini__day.is-in-range.is-range-end{border-radius:0 var(--r-sm) var(--r-sm) 0}.mini__day.is-focus:not(.is-in-range){box-shadow:inset 0 0 0 1px var(--line-strong)}.mini__day.is-today{background:var(--accent);color:var(--accent-text);border-radius:var(--r-sm);font-weight:600}.calendars__head{justify-content:space-between;align-items:center;margin-bottom:4px;padding-left:6px;display:flex}.calendars__head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.calendars ul{margin:0;padding:0;list-style:none}.calendars__item{border-radius:var(--r-sm);align-items:center;display:flex}.calendars__item:hover{background:var(--hover)}.calendars__toggle{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;padding:6px;display:flex}.calendars__toggle input{appearance:none;border:2px solid var(--calendar-color);cursor:pointer;background:0 0;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.calendars__toggle input:checked{background:var(--calendar-color)}.calendars__toggle input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;margin-top:-2px;transform:rotate(45deg)}.calendars__toggle input:not(:checked)+.calendars__name{color:var(--text-3)}.calendars__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendars__menu{position:relative}.calendars__menu .icon-button{opacity:0}.calendars__item:hover .icon-button,.calendars__item:focus-within .icon-button,.calendars__menu .icon-button[aria-expanded=true]{opacity:1}.menu{z-index:20;background:var(--raised);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:var(--r-md);flex-direction:column;min-width:150px;padding:4px;display:flex;position:absolute;top:100%;right:0}.menu button{text-align:left;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;display:flex}.menu button:hover{background:var(--hover)}.menu button.is-danger{color:var(--danger)}.chip{text-align:left;white-space:nowrap;z-index:1;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;min-width:0;height:20px;margin:0 4px 2px;padding:0 6px;font-size:12px;display:flex;overflow:hidden}.chip--bar{background:color-mix(in srgb, var(--event-color) var(--tint), var(--canvas));box-shadow:inset 3px 0 0 var(--event-color);padding-left:9px;font-weight:500}.chip--bar:hover{background:color-mix(in srgb, var(--event-color) var(--tint-hover), var(--canvas))}.chip--dot:hover{background:var(--hover)}.chip.continues-before{box-shadow:none;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-left:6px}.chip.continues-after{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.chip__dot{background:var(--event-color);border-radius:2px;flex:none;width:7px;height:7px}.chip__time{color:var(--text-2);flex:none}.chip__title{text-overflow:ellipsis;overflow:hidden}.month{flex-direction:column;height:100%;display:flex}.month__weekdays{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month__weekdays div{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 8px;font-size:11px;font-weight:600}.month__grid{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));min-height:0;display:grid}.month__week-events{display:contents}.month__week-events>*{align-self:center}.month__week{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;display:grid;overflow:hidden}.month__week:last-child{border-bottom:0}.month__day{border-left:1px solid var(--line);cursor:pointer;grid-row:1/-1;align-items:flex-start;padding:2px 6px 0;display:flex}.month__day:first-child{border-left:0}.month__day.is-weekend{background:var(--weekend)}.month__day.is-outside .month__date{color:var(--text-3)}.month__date{border-radius:var(--r-sm);background:0 0;border:0;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:600}.month__date:hover{background:var(--hover)}.month__date.is-today{background:var(--accent);color:var(--accent-text)}.month__more{text-align:left;color:var(--text-2);z-index:1;white-space:nowrap;background:0 0;border:0;border-radius:4px;margin:0 4px;padding:0 6px;font-size:12px;font-weight:600}.month__more:hover{background:var(--hover);color:var(--text)}.day-list{width:260px}.day-list__date{font:600 22px/1.1 var(--font-display);letter-spacing:-.02em;margin-bottom:10px}.day-list__items{margin:0;padding:0;list-style:none}.day-list__items .chip{width:100%;height:26px;margin:0 0 3px}.timegrid{flex-direction:column;height:100%;display:flex}.timegrid__head,.timegrid__allday{scrollbar-gutter:stable;flex:none;display:flex;overflow-y:hidden}.timegrid__allday{border-bottom:1px solid var(--line);max-height:40vh}.timegrid__gutter{width:var(--gutter-w);flex:none}.timegrid__heads,.timegrid__allday-row,.timegrid__columns{flex:1;min-width:0;display:grid}.timegrid__dayhead{text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;padding:12px 10px 8px;display:flex}.timegrid--day .timegrid__dayhead{padding-left:12px}.timegrid__weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.timegrid__date{border-radius:var(--r-md);min-width:36px;height:36px;font:600 26px/1 var(--font-display);letter-spacing:-.02em;place-items:center;padding:0 4px;display:inline-grid}.timegrid__dayhead:hover .timegrid__date{background:var(--hover)}.timegrid__dayhead.is-today .timegrid__weekday{color:var(--accent-ink)}.timegrid__dayhead.is-today .timegrid__date{background:var(--accent);color:var(--accent-text)}.timegrid__allday-row{padding:2px 0 4px}.timegrid__allday-cell{border-left:1px solid var(--line);cursor:pointer;grid-row:1/-1}.timegrid__allday .timegrid__gutter{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;justify-content:flex-start;align-items:flex-end;padding:4px 8px 0 0;font-size:10px;font-weight:600;display:flex}.timegrid__more{text-align:left;color:var(--text-2);z-index:1;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:600}.timegrid__scroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.timegrid__body{display:flex;position:relative}.timegrid__hours{position:relative}.timegrid__hours span{color:var(--text-3);white-space:nowrap;font-size:11px;position:absolute;right:10px;transform:translateY(-50%)}.now-badge{z-index:4;background:var(--now);color:#fff;white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:600;position:absolute;right:4px;transform:translateY(-50%)}.timegrid__columns{background-image:repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px var(--hour)), repeating-linear-gradient(to bottom, transparent 0 calc(var(--hour) / 2), color-mix(in srgb, var(--line) 60%, transparent) calc(var(--hour) / 2) calc(var(--hour) / 2 + 1px), transparent calc(var(--hour) / 2 + 1px) var(--hour));position:relative}.timegrid__column{border-left:1px solid var(--line);cursor:pointer;position:relative}.timegrid__column.is-weekend{background:color-mix(in srgb, var(--weekend) 70%, transparent)}.event-block{border-radius:var(--r-sm);background:color-mix(in srgb, var(--event-color) var(--tint), var(--canvas));box-shadow:inset 3px 0 0 var(--event-color), 0 0 0 1px var(--canvas);color:var(--text);text-align:left;z-index:1;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 6px 3px 9px;font-size:12px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.event-block:hover{background:color-mix(in srgb, var(--event-color) var(--tint-hover), var(--canvas));z-index:2}.event-block.is-past{opacity:.6}.event-block.is-dragging,.chip.is-dragging{opacity:.35}.event-block__resize{cursor:ns-resize;height:7px;position:absolute;bottom:0;left:0;right:0}.event-block:hover .event-block__resize:after{content:"";background:color-mix(in srgb, var(--event-color) 70%, var(--text));border-radius:2px;width:18px;height:3px;margin-left:-9px;position:absolute;bottom:2px;left:50%}.event-ghost{z-index:4;border-radius:var(--r-sm);border:1.5px dashed var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-ink);pointer-events:none;white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;left:2px;right:6px;overflow:hidden}.month__day.is-drop-target,.timegrid__allday-cell.is-drop-target{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.timegrid__column,.month__day{-webkit-user-select:none;user-select:none}.event-block--compact{white-space:nowrap;text-overflow:ellipsis;padding-top:0;padding-bottom:0;display:block}.event-block__title{text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.event-block--compact .event-block__title{overflow:visible}.event-block__time{color:var(--text-2);white-space:nowrap}.event-block__meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.now-line{background:var(--now);z-index:3;pointer-events:none;height:2px;position:absolute;left:-1px;right:0}.now-line:before{content:"";background:var(--now);border-radius:2px;width:8px;height:8px;position:absolute;top:-3px;left:-4px;transform:rotate(45deg)}.now-trace{border-top:1px dashed color-mix(in srgb, var(--now) 45%, transparent);z-index:2;pointer-events:none;height:0;position:absolute;left:0;right:0}.schedule{height:100%;padding:8px 20px 32px;overflow-y:auto}.schedule__empty{color:var(--text-2);text-align:center;justify-items:center;gap:8px;padding:64px 16px;display:grid}.schedule__empty h2{font:600 28px/1.1 var(--font-display);letter-spacing:-.02em;color:var(--text)}.schedule__days{margin:0;padding:0;list-style:none}.schedule__day{border-bottom:1px solid var(--line);gap:20px;padding:10px 0;display:flex}.schedule__day:last-child{border-bottom:0}.schedule__date{flex:none;align-self:flex-start;align-items:baseline;gap:8px;width:120px;padding-top:6px;display:flex}.schedule__num{font:600 30px/1 var(--font-display);letter-spacing:-.02em;min-width:34px}.schedule__day.is-today .schedule__num{color:var(--accent-ink)}.schedule__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.schedule__day.is-today .schedule__meta:after{content:" · Today";color:var(--accent-ink)}.schedule__items{flex:1;min-width:0;margin:0;padding:0;list-style:none}.schedule__item{text-align:left;border-radius:var(--r-sm);background:0 0;border:0;grid-template-columns:4px 150px minmax(0,1fr);align-items:center;gap:14px;width:100%;padding:8px 10px;display:grid}.schedule__item:hover{background:var(--hover)}.schedule__bar{background:var(--event-color);border-radius:2px;align-self:stretch}.schedule__time{color:var(--text-2)}.schedule__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.schedule__title small{color:var(--text-3);margin-left:8px;font-weight:400}.schedule__more{margin:16px auto 0;display:flex}.popover{z-index:50;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg);width:min(380px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-pop);padding:14px 16px 16px;animation:.12s ease-out pop-in;position:fixed;overflow-y:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}@media (prefers-reduced-motion:reduce){.popover,.modal{animation:none}}.details{padding-top:0;overflow:hidden}.details__band{background:var(--event-color);height:6px;margin:0 -16px 8px}.details__actions{justify-content:flex-end;gap:2px;margin:0 -8px 2px 0;display:flex}.details__title{font:600 26px/1.15 var(--font-display);letter-spacing:-.02em;word-break:break-word}.details__when{color:var(--text-2);margin-top:4px}.details__list{border-top:1px solid var(--line);gap:8px;margin:14px 0 0;padding:12px 0 0;list-style:none;display:grid}.details__list li{color:var(--text-2);align-items:flex-start;gap:10px;display:flex}.details__list li svg{color:var(--text-3);margin-top:2px}.details__description{white-space:pre-wrap;color:var(--text)}.badge{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.quick form{flex-direction:column;gap:12px;display:flex}.quick__title,.editor__title{border:0!important;border-bottom:1px solid var(--line-strong)!important;height:auto!important;box-shadow:none!important;font:600 26px/1.2 var(--font-display)!important;letter-spacing:-.02em!important;background:0 0!important;border-radius:0!important;padding:4px 0 8px!important}.quick__title:focus,.editor__title:focus{border-bottom-color:var(--accent)!important}.quick__head{align-items:flex-start;gap:8px;display:flex}.quick__head .quick__title{flex:1;min-width:0}.quick__when{color:var(--text-2);align-items:center;gap:8px;display:flex}.quick__footer{justify-content:flex-end;gap:8px;display:flex}.modal-backdrop{z-index:60;background:var(--overlay);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg);width:min(460px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-pop);flex-direction:column;animation:.14s ease-out pop-in;display:flex}.modal--wide{width:min(660px,100%)}.modal--xl{width:min(980px,100%)}.modal__header{justify-content:space-between;align-items:center;gap:12px;padding:16px 14px 6px 24px;display:flex}.modal__header h2{font:600 26px/1.1 var(--font-display);letter-spacing:-.02em}.modal__body{flex-direction:column;gap:14px;padding:8px 24px 18px;display:flex;overflow-y:auto}.modal__footer{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 24px 16px;display:flex}.editor{flex-direction:column;gap:16px;display:flex}.editor__section{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;display:grid}.editor__section>svg{color:var(--text-3);margin-top:9px}.editor__when{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;display:flex}.editor__row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.editor__note{background:var(--sunken);border-radius:var(--r-sm);color:var(--text-2);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.editor__reminders{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.editor__reminders li{background:var(--sunken);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.editor__reminders .icon-button{width:22px;height:22px}.editor select[aria-label=Add\ reminder]{align-self:flex-start}.repeat{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.repeat__custom{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.repeat__every{align-items:center;gap:8px;display:inline-flex}.repeat__every input{width:64px}.weekday-toggles{gap:4px;display:inline-flex}.weekday-toggles button{border:1px solid var(--line-strong);background:var(--surface);width:30px;height:30px;color:var(--text-2);border-radius:50%;font-size:12px;font-weight:600}.weekday-toggles button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.repeat__ends{border:0;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;padding:0;display:flex}.repeat__ends legend{float:left;color:var(--text-2);margin-right:4px;font-size:12px;font-weight:600}.repeat__ends input[type=date]{width:150px}.repeat__ends input[type=number]{width:70px}.scope-options .radio{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}.scope-options .radio:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.sidebar__footer{align-items:center;gap:0;display:flex}.sidebar__footer .button{padding:0 8px}.sidebar__footer .button+.icon-button,.sidebar__footer .icon-button{margin-left:auto}.file-pick{border:1.5px dashed var(--line-strong);border-radius:var(--r-md);background:var(--sunken);cursor:pointer;align-items:center;gap:10px;padding:14px 16px;display:flex}.file-pick svg{color:var(--accent)}.file-pick:hover,.file-pick:focus-within{border-color:var(--accent)}.file-pick.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.page-drop{z-index:60;background:color-mix(in srgb, var(--accent-soft) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.page-drop__card{border:2px dashed var(--accent);border-radius:var(--r-lg);background:var(--surface);max-width:420px;box-shadow:var(--shadow-pop);text-align:center;color:var(--text-2);justify-items:center;gap:6px;padding:28px 32px;display:grid}.page-drop__card svg{color:var(--accent)}.page-drop__card strong{font:600 20px/1.2 var(--font-display);letter-spacing:-.02em;color:var(--text)}.settings{flex-direction:column;gap:20px;display:flex}.settings section{flex-direction:column;gap:10px;display:flex}.settings h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.settings__row{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings__row select,.settings__row .settings__name{max-width:60%}.settings__hours-pick{align-items:center;gap:6px;display:flex}.settings__row .settings__hours-pick select{max-width:none}.settings__row input[type=checkbox]{width:18px;height:18px}.settings__actions{flex-wrap:wrap;gap:8px;display:flex}.search{flex-direction:column;gap:10px;display:flex}.search__field{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:8px;padding:0 12px;display:flex}.search__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search__field svg{color:var(--text-3)}.search__field input{flex:1;font-size:15px;box-shadow:none!important;background:0 0!important;border:0!important;height:42px!important;padding:0!important}.search__empty{color:var(--text-2);padding:12px 4px}.search__results{max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.search__hit{border-radius:var(--r-sm);cursor:pointer;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.search__hit.is-active{background:var(--hover)}.search__hit.is-past{opacity:.65}.search__main{flex-direction:column;min-width:0;display:flex}.search__title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex;overflow:hidden}.search__title svg{color:var(--text-3)}.shortcuts{gap:2px;margin:0;display:grid}.shortcuts__row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:7px 0;display:flex}.shortcuts__row:last-child{border-bottom:0}.shortcuts dt{color:var(--text-2)}.shortcuts dd{margin:0}.offline-notice{top:calc(var(--topbar-h) + 8px);z-index:60;background:var(--text);max-width:calc(100vw - 32px);color:var(--canvas);text-align:center;box-shadow:var(--shadow-pop);pointer-events:none;border-radius:999px;margin:0;padding:6px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.toast-region{z-index:70;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);min-width:300px;max-width:calc(100vw - 32px);color:var(--toast-fg);border-radius:var(--r-md);box-shadow:var(--shadow-pop);align-items:center;gap:8px;padding:6px 6px 6px 16px;animation:.14s ease-out pop-in;display:flex}.toast span{flex:1}.toast__action{color:var(--toast-action);border-radius:var(--r-sm);background:0 0;border:0;padding:6px 10px;font-weight:600}.toast__action:hover{background:color-mix(in srgb, var(--toast-fg) 15%, transparent)}.toast .icon-button{color:inherit;opacity:.7;width:28px;height:28px}.toast .icon-button:hover{background:color-mix(in srgb, var(--toast-fg) 15%, transparent);opacity:1}.storage-error{background:var(--canvas);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:12px;max-width:560px;margin:64px auto;padding:24px;display:flex}.storage-error h1{font:600 30px/1.1 var(--font-display);letter-spacing:-.02em}@media (width>=761px) and (width<=1360px){.search-button{min-width:0}.search-button span,.search-button kbd{display:none}}@media (width<=760px){:root{--gutter-w:52px}.timegrid__hours span{right:8px}.now-badge{max-width:calc(var(--gutter-w) - 6px);padding:2px 3px;font-size:9px;right:3px}.timegrid__allday .timegrid__gutter{padding-left:6px}.sidebar-scrim{inset:var(--topbar-h) 0 0 0;z-index:39;touch-action:none;background:#00000073;position:fixed}.app--menu-open .main,.app--menu-open .timegrid__scroll,.app--menu-open .month,.app--menu-open .schedule{touch-action:none;overflow:hidden}.app,.app--tasks,.app--tasks.app--collapsed{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""main"}.main,.app--collapsed .main{border-width:1px 0 0;border-radius:0;margin:0}.sidebar{top:var(--topbar-h);z-index:40;background:var(--desk);border-right:1px solid var(--line);width:min(300px,85vw);position:fixed;bottom:0;left:0}.sidebar__scroll{padding-top:12px}.topbar{gap:4px;padding:0 8px}.brand,.segmented,.search-button span,.search-button kbd{display:none}.search-button{background:0 0;border:0;justify-content:center;width:34px;min-width:0;padding:0}.view-select{flex:none;width:auto;padding:0 4px;font-size:13px;display:block}.topbar .spacer{display:none}.range-label{flex:1;min-width:0}.range-label em{display:none}.topbar .button--outline{padding:0 10px}.nav .icon-button{width:30px}.range-label{margin-left:2px;font-size:17px}.topbar .button--outline{height:32px}.today-button{width:34px;padding:0!important}.today-button__icon{display:block}.today-button__text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.view-select{max-width:76px}.timegrid__dayhead{flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px}.timegrid--day .timegrid__dayhead{margin-left:calc(-1 * var(--gutter-w));padding-left:0}.timegrid__date{min-width:30px;height:30px;font-size:20px}.month__weekdays div{text-align:center;padding:8px 4px}.month__day{justify-content:center;padding:2px 0 0}.schedule{padding:4px 12px 24px}.schedule__item{grid-template-columns:4px 84px minmax(0,1fr);gap:10px}.schedule__date{flex-direction:column;gap:0;width:52px}.toast{width:calc(100vw - 32px);min-width:0}}.sidebar__legal{color:var(--text-3);gap:6px;padding:8px 4px 0;font-size:12px;display:flex}.sidebar__legal a{color:var(--text-3);text-decoration:none}.sidebar__legal a:hover,.sidebar__legal a:focus-visible{color:var(--text);text-decoration:underline}.not-found{text-align:center;background:var(--surface);min-height:100vh;color:var(--text);align-content:center;justify-items:center;gap:12px;padding:24px 16px;display:grid}.not-found h1{font:600 28px/1.2 var(--font-display);margin:8px 0 0}.not-found a{text-decoration:none}.not-found p{max-width:36ch;color:var(--text-2);margin:0 0 8px}.legal{background:var(--surface);min-height:100vh;color:var(--text)}.legal__top{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.legal__top .button{text-decoration:none}.legal__nav{gap:4px;display:flex}.legal__nav a{color:var(--text-2);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none}.legal__nav a:hover{background:var(--sunken)}.legal__nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}@media (width<=480px){.legal__top{gap:4px;padding:10px 8px}.legal__back-more{display:none}.legal__nav{gap:0}.legal__nav a{padding:6px 9px}}.legal__main{max-width:720px;margin:0 auto;padding:32px 16px 64px;font-size:15px;line-height:1.65}.legal__main h1{font:600 32px/1.15 var(--font-display);letter-spacing:-.02em}.legal__main h2{letter-spacing:-.01em;margin-top:32px;font-size:18px;font-weight:600}.legal__main p,.legal__main ul{margin-top:10px}.legal__main ul{padding-left:22px}.legal__main li+li{margin-top:4px}.legal__main a{color:var(--accent-ink);text-underline-offset:2px;text-decoration:underline}.legal__main code{font-size:.92em}.legal__updated{color:var(--text-3);font-size:14px}.legal__draft{margin-top:16px}.legal__callout{border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);padding:12px 14px}.legal__placeholder{background:color-mix(in srgb, #f59e0b 22%, var(--surface));color:var(--text);border-radius:4px;padding:0 4px;font-weight:600}.sign-in-button{flex:none}.account{flex:none;position:relative}.account__avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-text);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:15px;font-weight:600;display:grid}.account__avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account__menu{min-width:240px;top:calc(100% + 6px);left:auto;right:0}.account__email{border-bottom:1px solid var(--line);color:var(--text-2);overflow-wrap:anywhere;margin:0;padding:8px 12px 10px;font-size:13px}.account__quota{color:var(--text-3);margin-top:4px;display:block}.sidebar__local-note{color:var(--text-3);margin:12px 4px 0;font-size:12px;line-height:1.45}.sign-in,.move-local{flex-direction:column;gap:14px;line-height:1.5;display:flex}.sign-in p,.move-local p{margin:0}.sign-in__google{justify-content:center;gap:10px;height:42px}.sign-in__or{color:var(--text-3);align-items:center;gap:12px;font-size:13px;display:flex}.sign-in__or:before,.sign-in__or:after{content:"";border-top:1px solid var(--line);flex:1}.sign-in__email{flex-direction:column;gap:10px;display:flex}.sign-in__email .button{justify-content:center}.sign-in__code{letter-spacing:.3em;font-variant-numeric:tabular-nums;font-size:22px}.sign-in a,.move-local a{color:var(--accent-ink)}.link-button{color:var(--accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=1180px){.sign-in-button__text{display:none}.sign-in-button{justify-content:center;width:36px;padding:0}}.range-label__full{display:contents}.range-label__short,.view-picker{display:none}@media (width<=760px){.topbar{gap:2px;padding:0 6px}.topbar>*{flex:none}.topbar .range-label{flex:auto;min-width:0;margin-left:4px;font-size:18px}.range-label__full{display:none}.range-label__short{text-overflow:ellipsis;display:block;overflow:hidden}.topbar .icon-button,.topbar .search-button,.topbar .today-button,.topbar .sign-in-button{width:40px;height:40px}.nav .icon-button{width:36px}.topbar .today-button{background:0 0;border-color:#0000;order:2}.topbar .search-button{order:1;min-width:0}.topbar .account,.topbar .sign-in-button{order:3}.topbar .account__avatar{width:36px;height:36px}.view-picker{grid-template-columns:1fr 1fr;gap:6px;margin:0 0 16px;display:grid}.view-picker button{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);height:44px;color:var(--text);font:inherit;align-items:center;gap:8px;padding:0 12px;font-weight:500;display:flex}.view-picker button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.month .chip__time{display:none}}@media (width<=760px),(pointer:coarse){.mini__day{height:36px}.icon-button--sm{width:36px;height:36px}.swatch{width:32px;height:32px}.month__date{min-width:32px;min-height:28px}}@media (width<=760px){.modal-backdrop{padding:8px}.modal,.modal *{min-width:0}.modal{width:100%;max-height:calc(100dvh - 16px)}.modal-backdrop:has(.modal--wide,.modal--xl){padding:0}.modal--wide,.modal--xl{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.modal__body{overflow:hidden auto}}@media (width<=350px){.topbar{gap:0;padding:0 2px}.topbar .icon-button,.topbar .search-button,.topbar .today-button,.topbar .sign-in-button{width:36px}.nav .icon-button{width:32px}.topbar .range-label{font-size:16px}}@media (width<=760px),(pointer:coarse){.ai-mode button{height:38px}.example{min-height:36px}}@media (width<=760px){.month .chip:not(.chip--bar){background:color-mix(in srgb, var(--event-color) var(--tint), var(--canvas));box-shadow:inset 2px 0 0 var(--event-color);margin:0 1px 2px;padding:0 3px;font-size:11px}.month .chip:not(.chip--bar) .chip__dot{display:none}.modal--wide .modal__body,.modal--xl .modal__body{flex:1}}.share{flex-direction:column;gap:12px;line-height:1.5;display:flex}.share p{margin:0}.share__new{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.share__new .field{flex:240px}.share__single{align-items:center;gap:8px;min-height:40px;display:flex}.share__heading{margin:8px 0 0;font-size:14px;font-weight:600}.share__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.share__invite{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.share__url{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.share__actions{flex-wrap:wrap;gap:6px;display:flex}.share__person{align-items:center;gap:8px;display:flex}.share__who{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.share__person select{width:auto}.share__status{color:var(--accent-ink)}.join{flex-direction:column;align-items:flex-start;gap:14px;max-width:520px;margin:0 auto;padding:48px 16px;line-height:1.55;display:flex}.join h1{font:600 26px/1.2 var(--font-display);letter-spacing:-.01em;margin:0}.join p{margin:0}.join__icon{color:var(--accent)}.menu__note{border-bottom:1px solid var(--line);color:var(--text-3);margin:0;padding:6px 10px 8px;font-size:12px}.details__shared{color:var(--text-3)}.reminders__label{margin-top:10px;font-size:13px;font-weight:600;display:block}.settings__row .reminders__label{margin-top:0}.settings__row>span>.hint{display:block}.settings__switch{cursor:pointer}.settings__switch input{flex:none;width:20px;height:20px}.reminders__ios{margin-top:6px}.reminders__ios p,.reminders__ios ol{margin:0 0 6px}.reminders__ios ol{padding-left:20px}@media (width>=761px) and (width<=1180px){.brand{width:auto}.brand__name,.range-label__full{display:none}.range-label__short{text-overflow:ellipsis;display:block;overflow:hidden}.range-label{margin-left:0;font-size:21px}.topbar{gap:6px}}@media (width>=761px) and (width<=900px){.segmented button{padding:5px 8px;font-size:13px}}@media (width>=761px) and (width<=820px){.today-button{justify-content:center;width:36px;padding:0!important}.today-button__icon{display:block}.today-button__text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}}.quick-add-fab{display:none}@media (width<=820px){.topbar .quick-add-button{display:none}.quick-add-fab{right:16px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;background:var(--accent);width:56px;height:56px;color:var(--accent-text,#fff);box-shadow:var(--shadow-pop);border:0;border-radius:18px;place-items:center;display:grid;position:fixed}.toast-region{bottom:calc(88px + env(safe-area-inset-bottom))}}.busy{align-items:stretch;padding-top:32px}.busy__nav{align-items:center;gap:8px;font-weight:600;display:flex}.busy__days{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.busy__day{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:12px 14px}.busy__day h2{margin:0 0 8px;font-size:15px;font-weight:600}.busy__day-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.busy__day-head h2{margin:0}.busy__count{font-size:13px;font-weight:600}.busy__count.is-busy{color:var(--busy-text)}.busy__count.is-free{color:var(--free-text)}.busy__bar{border-radius:6px;height:18px;position:relative;overflow:hidden}.busy__bar span{position:absolute;top:0;bottom:0}.busy__bar .is-free{background:var(--free)}.busy__bar .is-busy{background:repeating-linear-gradient(135deg, var(--busy) 0 6px, var(--busy-stripe) 6px 9px)}.busy__hours{height:18px;color:var(--text-3);margin:2px 0 8px;font-size:11px;position:relative}.busy__hours span{white-space:nowrap;position:absolute;top:0}.busy__hours span:not(:first-child){transform:translate(-50%)}.busy__times{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.busy__times li{border-radius:var(--r-sm);font-variant-numeric:tabular-nums;align-items:center;gap:8px;padding:5px 8px;display:flex}.busy__times li.is-busy{background:var(--busy-soft);color:var(--busy-text);font-weight:600}.busy__times li.is-free{background:var(--free-soft);color:var(--free-text)}.busy__tag{text-align:center;color:#fff;border-radius:999px;min-width:42px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.is-busy>.busy__tag{background:var(--busy)}.is-free>.busy__tag{background:var(--free)}.busy__legend{gap:14px;margin:0;font-size:13px;display:flex}.busy__legend span:before{content:"";vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.busy__legend .is-free:before{background:var(--free)}.busy__legend .is-busy:before{background:repeating-linear-gradient(135deg, var(--busy) 0 4px, var(--busy-stripe) 4px 6px)}.links{flex-direction:column;gap:10px;display:flex}.hours{flex-direction:column;gap:14px;line-height:1.5;display:flex}.hours h2{margin:0;font-size:17px;font-weight:600}.hours p{margin:0}.hours__nav{align-items:center;gap:8px;display:flex}.hours__totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.hours__totals div{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:12px 14px}.hours__totals dt{color:var(--text-3);font-size:12px}.hours__totals dd{font:600 22px/1.2 var(--font-display);overflow-wrap:anywhere;margin:2px 0 0}.hours__table{border-collapse:collapse;width:100%;font-size:14px}.hours__table th,.hours__table td{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px}.hours__table th:last-child,.hours__table td:last-child{text-align:right}.hours__form{flex-direction:column;gap:12px;display:flex}.hours__actions{flex-wrap:wrap;gap:8px;display:flex}.sidebar__hours{text-align:left;justify-content:flex-start;align-self:stretch;align-items:center;gap:6px;width:100%;min-height:40px;display:flex}@media (width<=520px){.hours__totals dd{font-size:18px}.hours__table th:nth-child(3),.hours__table td:nth-child(3){display:none}}.dropzone__paste{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 12px 12px;display:flex}.shared-landing{text-align:center;padding:48px 16px}.hours__rate{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:grid}@media (width<=420px){.hours__rate{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.timegrid--week .timegrid__weekday{letter-spacing:0;font-size:10px}.timegrid--week .timegrid__date{min-width:28px;height:28px;font-size:17px}.timegrid--week .event-block{box-shadow:inset 2px 0 0 var(--event-color), 0 0 0 1px var(--canvas);padding:2px 2px 2px 5px;font-size:10.5px;line-height:1.2}.timegrid--week .event-block--compact{white-space:normal}.timegrid--week .event-block__title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;text-overflow:clip;font-weight:600}.timegrid--week .event-block__time,.timegrid--week .event-block__meta{display:none}.timegrid--week .chip__title{font-size:10.5px}}.hours__payday{color:var(--text-2);margin:-6px 0 0;font-size:14px}.hours__example{display:block}.sidebar__tools{flex-direction:column;align-items:flex-start;margin-top:auto;display:flex}.busy__bar .is-all-free{background:var(--free)}.busy__bar .is-some-busy{background:var(--some)}.busy__bar .is-none-free{background:repeating-linear-gradient(135deg, var(--busy) 0 6px, var(--busy-stripe) 6px 9px)}.group__times li{flex-wrap:wrap}.group__times li.is-all-free{background:var(--free-soft);color:var(--free-text);font-weight:600}.group__times li.is-some-busy{background:var(--some-soft);color:var(--some-text)}.group__times li.is-none-free{background:var(--busy-soft);color:var(--busy-text)}.is-all-free>.busy__tag{background:var(--free)}.is-some-busy>.busy__tag{background:var(--some);color:#1f1300}.is-none-free>.busy__tag{background:var(--busy)}.group__times .busy__tag{min-width:0}.group__who{flex-basis:100%;padding-left:2px;font-size:13px}.busy__legend .is-some:before{background:var(--some)}.group__controls{gap:10px;display:flex}.group__controls .field{flex:1}.group__best{border:1.5px solid var(--free);border-radius:var(--r-md);background:var(--free-soft);padding:12px 14px}.group__best h2{color:var(--free-text);margin:0 0 6px;font-size:15px}.group__best ul{margin:0;padding-left:18px}.group__settings{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.group__settings h2{margin:8px 0 0;font-size:15px}.groups__open{justify-content:flex-start;width:100%}.plan__limits{color:var(--text-2);margin:6px 0 0;padding-left:18px}.account__plan{color:var(--text-3);font-size:12px;display:block}.turnstile{min-height:0;margin-top:4px}.feedback{flex-direction:column;gap:14px;display:flex}.feedback textarea{resize:vertical;min-height:120px}.feedback__actions{justify-content:flex-end;gap:8px;display:flex}.feedback__sent{color:var(--text-2);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.feedback__sent svg{color:var(--free)}.legal__main .feedback{margin-top:12px}.birthdays,.birthdays__form{flex-direction:column;gap:14px;display:flex}.birthdays__add{align-self:flex-start}.birthdays__empty{color:var(--text-2);align-items:flex-start;gap:10px;display:flex}.birthdays__empty svg{color:var(--text-3);flex:none}.birthdays__list{flex-direction:column;max-height:min(55vh,460px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.birthdays__item{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:8px 4px;display:flex}.birthdays__item:last-child{border-bottom:none}.birthdays__who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.birthdays__who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.birthdays__who span{color:var(--text-2);font-size:13px}.birthdays__item.is-today .birthdays__who span{color:var(--accent-ink);font-weight:600}.birthdays__date{grid-template-columns:1.4fr .8fr 1fr;gap:10px;display:grid}.birthdays__actions{justify-content:flex-end;gap:8px;display:flex}.tasks-button.is-on{background:var(--accent-soft);color:var(--accent-ink)}.tasks{flex-direction:column;grid-area:tasks;gap:10px;min-height:0;padding:0 12px 12px 0;display:flex}.tasks__head{justify-content:space-between;align-items:center;display:flex}.tasks__head h2{margin:0;font-size:18px}.tasks__lists{align-items:center;gap:6px;display:flex}.tasks__lists select{flex:1;min-width:0}.tasks__menu{position:relative}.tasks__menu .menu{z-index:20;min-width:170px;position:absolute;top:calc(100% + 4px);right:0}.tasks__add{border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas);color:var(--text-3);align-items:center;gap:8px;padding:0 12px;display:flex}.tasks__add:focus-within{border-color:var(--accent)}.tasks__add input{min-width:0;box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:10px 0}.tasks__body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.tasks__empty{color:var(--text-2);padding:8px 4px;font-size:14px}.tasks__list{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--line)}.task__row{align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.task__row input[type=checkbox]{flex:none;margin-top:2px}.task__main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.task__title{overflow-wrap:anywhere}.task.is-done .task__title{color:var(--text-3);text-decoration:line-through}.task__meta{color:var(--text-2);flex-wrap:wrap;gap:2px 8px;font-size:13px;display:flex}.task__notes{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.task.is-late .task__due{color:var(--danger);font-weight:600}.task__editor,.tasks__list-form{flex-direction:column;gap:10px;padding:4px 4px 12px 30px;display:flex}.tasks__list-form{padding:0}.task__when{grid-template-columns:1fr 1fr;gap:8px;display:grid}.task__actions{align-items:center;gap:8px;display:flex}.task__actions .is-danger{color:var(--danger)}.tasks__done-toggle{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-top:10px;padding:6px 4px;font-weight:600;display:flex}@media (width>=761px) and (width<=1500px){.app--tasks .range-label em{display:none}}@media (width<=760px){.tasks{inset:var(--topbar-h) 0 0 0;z-index:45;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--desk);position:fixed}.topbar{gap:2px}.topbar .tasks-button,.topbar .search-button,.topbar .today-button{width:30px}}.chip--task{border-radius:var(--r-sm);background:color-mix(in srgb, var(--event-color) 12%, transparent);border:1px dashed color-mix(in srgb, var(--event-color) 55%, transparent);align-items:center;gap:5px;min-width:0;padding:0 6px 0 4px;font-size:12px;line-height:20px;display:flex}.chip--task input[type=checkbox]{appearance:none;cursor:pointer;background:0 0;border:0;flex:none;place-content:center;width:24px;height:24px;margin:-2px -4px -2px -6px;display:grid}.chip--task input[type=checkbox]:before{content:"";box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--event-color) 70%, var(--text));background:var(--surface);border-radius:3px;width:13px;height:13px}.chip--task input[type=checkbox]:checked:before{border-color:var(--event-color);background:var(--event-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat}.chip--task input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:6px}.chip__task-open{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:baseline;gap:4px;padding:0;display:flex}.chip__task-open .chip__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip--task.is-done .chip__title{color:var(--text-3);text-decoration:line-through}.chip__late{color:var(--danger);font-weight:600}.chip--task.is-late{border-color:color-mix(in srgb, var(--danger) 60%, transparent)}.schedule__task{min-height:40px;padding:6px 10px;font-size:14px}.schedule__task input[type=checkbox]:before{width:16px;height:16px}.search__task-icon{color:var(--text-3);flex:none}.tasks-button{flex:none;align-items:center;gap:6px;display:inline-flex}@media (width<=760px){.topbar .tasks-button{background:0 0;border-color:#0000;justify-content:center;width:30px;padding:0}.topbar .tasks-button.is-on{background:var(--accent-soft)}.tasks-button__text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=761px) and (width<=1600px){.search-button{min-width:0}.search-button span,.search-button kbd{display:none}}@media (width>=761px) and (width<=1400px){.brand{width:auto;margin-right:8px}.brand__name{display:none}}.birthdays__custom{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.choice button{border-radius:var(--r-sm);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:14px;font-weight:600}.choice button[aria-pressed=true]{background:var(--raised);color:var(--text);box-shadow:0 1px 2px #0000002e}.calendars__from-link{color:var(--text-3);flex:none;margin-left:4px}.subscription{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);flex-direction:column;gap:8px;padding:12px;font-size:14px;display:flex}.subscription p{margin:0}.subscription__link{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.subscription__actions{align-items:center;gap:10px;display:flex}.details__note{margin:-4px 0 8px}.task__repeat{align-items:center;gap:3px;display:inline-flex}.chip__repeat{color:var(--text-3)}@media print{@page{size:landscape;margin:10mm}:root:root:root{--desk:#eceff3;--canvas:#f8f9fb;--surface:#fff;--raised:#fff;--sunken:#f1f3f6;--hover:#e7eaef;--weekend:#f3f5f8;--text:#13161c;--text-2:#4a505c;--text-3:#5d6370;--line:#e0e3e9;--offhours:#3c40500d;--free:#1e8e3e;--free-soft:#e6f4ea;--free-text:#0d652d;--busy:#d93025;--busy-stripe:#b3261e;--busy-soft:#fce8e6;--busy-text:#a50e0e;--some:#f9ab00;--some-soft:#fef7e0;--some-text:#7a4f01;--line-strong:#cbd0d8;--accent:#2f5be0;--accent-hover:#244bc2;--accent-text:#fff;--accent-soft:#e2e9fc;--accent-ink:#2446b0;--danger:#c3352c;--danger-soft:#fbe5e3;--now:#e0453f;--overlay:#13161c59;--shadow-pop:0 1px 2px #13161c0f, 0 12px 32px -8px #13161c38;--tint:14%;--tint-hover:22%;--font-ui:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-ui);--r-sm:6px;--r-md:10px;--r-lg:14px;--topbar-h:64px;--sidebar-w:264px;--tasks-w:320px;--gutter-w:60px;--hour:48px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body,#root{background:#fff;height:auto;overflow:visible}.app{height:auto;display:block}.sidebar,.sidebar-scrim,.quick-add-fab,.tasks,.toast,.toasts,.popover,.modal,.modal-backdrop,[role=dialog],.timegrid__allday .icon-button,.timegrid__now,.schedule__more{display:none!important}.topbar{background:0 0;border:0;height:auto;padding:0 0 6px}.topbar>:not(.range-label),.range-label__short{display:none!important}.range-label__full{display:inline!important}.main,.app--collapsed .main{border:1px solid var(--line);border-radius:0;height:auto;margin:0;overflow:visible}.timegrid{zoom:min(1, calc(12 / var(--print-hours)));height:auto}.timegrid__scroll{height:calc(var(--print-hours) * 48px + 20px);scrollbar-gutter:auto;flex:none;overflow:hidden!important}.timegrid__body{margin-top:calc(var(--print-from) * -48px + 10px)}.month{height:auto}.month__grid{grid-template-rows:repeat(6,96px)}.schedule{height:auto;overflow:visible}.schedule__day{break-inside:avoid}}.main[data-slide=next]>*{animation:.18s ease-out slide-from-right}.main[data-slide=previous]>*{animation:.18s ease-out slide-from-left}@keyframes slide-from-right{0%{opacity:.4;transform:translate(24px)}}@keyframes slide-from-left{0%{opacity:.4;transform:translate(-24px)}}@media (prefers-reduced-motion:reduce){.main[data-slide]>*{animation:none}}.onboarding{flex-direction:column;gap:16px;display:flex}.onboarding p{margin:0}.onboarding fieldset{border:0;min-width:0;margin:0;padding:0}.onboarding legend{color:var(--text-2);padding:0;font-size:12px;font-weight:600}.onboarding__progress{gap:6px;margin:0;padding:0;list-style:none;display:flex}.onboarding__progress li{background:var(--line);border-radius:2px;flex:1;height:4px;transition:background-color .16s ease-out}.onboarding__progress li.is-done{background:var(--accent)}.onboarding__uses{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.onboarding__use{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.onboarding__use:hover{border-color:var(--text-3)}.onboarding__use[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--raised))}.onboarding__use svg{color:var(--text-2);flex:none}.onboarding__use[aria-pressed=true] svg{color:var(--accent)}.onboarding__install{align-self:flex-start}.onboarding__install-steps{flex-direction:column;gap:8px;margin:0;padding-left:22px;display:flex}.onboarding__install-steps svg{vertical-align:-2px}.onboarding__done{color:var(--success,var(--accent));align-items:center;gap:8px;font-weight:600;display:flex}.onboarding__tips{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.onboarding__tips li{align-items:flex-start;gap:12px;display:flex}.onboarding__tips svg{color:var(--accent);flex:none;margin-top:2px}.onboarding__tips p{color:var(--text-2);margin-top:2px;font-size:14px}@media (width<=400px){.onboarding__uses{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.onboarding__progress li{transition:none}}.clash-warning{color:color-mix(in srgb, #d97706 75%, var(--text));align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.clash-warning svg{flex:none}.backup,.bin{flex-direction:column;gap:18px;display:flex}.backup section{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.backup h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0;font-size:11px;font-weight:600}.backup p,.bin p{margin:0}.backup__file{cursor:pointer}.backup section:has(input[type=file]:focus-visible) .backup__file{outline:2px solid var(--accent);outline-offset:2px}.backup__plan{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:12px;display:flex}.bin__empty{color:var(--text-2);align-items:center;gap:10px;padding:24px 0;display:flex}.bin__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bin__item{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.bin__item:first-child{border-top:0}.bin__icon{color:var(--text-3);flex:none}.bin__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bin__text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bin__item .button{flex:none}@media (width<=520px){.bin__item{flex-wrap:wrap;align-items:flex-start}.bin__text{flex-basis:calc(100% - 30px)}.bin__text strong{white-space:normal}.bin__item .button{margin-left:30px}}.landing{background:var(--surface);min-height:100vh;color:var(--text)}.landing a:not(.button){color:var(--accent-ink)}.landing__top{z-index:2;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px max(16px,50% - 560px);display:flex;position:sticky;top:0}.landing__top .button,.landing .landing__open{text-decoration:none}.landing__brand{align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.landing__brand img{border-radius:8px}.landing main{max-width:1120px;margin:0 auto;padding:0 16px}.landing__hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px;padding:64px 0 48px;display:grid}.landing h1{letter-spacing:-.02em;margin:0;font-size:clamp(32px,5vw,52px);line-height:1.08}.landing__lead{color:var(--text-2);margin:20px 0 0;font-size:18px;line-height:1.55}.landing__cta{flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;display:flex}.landing__open{gap:8px;min-height:48px;padding:0 22px;font-size:16px}.landing__shots{padding-bottom:40px;position:relative}.landing__shot{border:1px solid var(--line);height:auto;box-shadow:var(--shadow-pop);display:block}.landing__shot--desktop{border-radius:var(--r-lg);width:100%}.landing__shot--phone{border-width:4px;border-color:var(--text);border-radius:22px;width:28%;position:absolute;bottom:0;right:-12px}.landing__features{padding:48px 0}.landing h2{letter-spacing:-.01em;margin:0;font-size:26px}.landing__features ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 0;padding:0;list-style:none;display:grid}.landing__features li,.landing__more>div{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--sunken);padding:20px}.landing__features svg,.landing__more svg{color:var(--accent)}.landing h3{margin:12px 0 6px;font-size:17px}.landing__features p,.landing__more p{color:var(--text-2);margin:0;line-height:1.55}.landing__more{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0 48px;display:grid}.landing__more h2{margin:12px 0 6px;font-size:20px}.landing__end{text-align:center;flex-direction:column;align-items:center;gap:18px;padding:40px 0 72px;display:flex}.landing__footer{border-top:1px solid var(--line);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px max(16px,50% - 560px);font-size:14px;display:flex}.landing__footer nav{gap:16px;display:flex}@media (width<=900px){.landing__hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:40px}.landing__features ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.landing__features ul,.landing__more{grid-template-columns:minmax(0,1fr)}.landing__shots{padding-bottom:0}.landing__shot--desktop{display:none}.landing__shot--phone{width:min(260px,70%);margin:0 auto;position:static}.landing__lead{font-size:17px}}.terms-prompt{flex-direction:column;gap:12px;display:flex}.terms-prompt p,.onboarding__terms{margin:0}.share__email .field:not(.share__email-field){flex:0 140px}.share__invite--email{flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.skip-link{z-index:100;border-radius:var(--r-md);background:var(--accent);color:var(--accent-text);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;top:12px}.main:focus-visible,.timegrid__scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.main:focus:not(:focus-visible){outline:none}.notice{border-radius:var(--r-md);background:var(--sunken);border:1px solid var(--line);color:var(--text-2);align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.notice>svg{margin-top:1px}.notice--accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.notice--warning{background:color-mix(in srgb, #f59e0b 12%, var(--surface));color:var(--text);border-color:#f59e0b59}.notice--error{background:var(--danger-soft);color:var(--text);border-color:#0000}.notice--error>svg{color:var(--danger)}.ai-setup{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.ai-setup__form{flex-direction:column;gap:14px;display:flex}.field__counter{align-self:flex-end;margin-top:-4px}.field--narrow input{max-width:200px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--sunken);flex-direction:column;min-height:360px;display:flex;position:relative;overflow:hidden}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.has-file{border-style:solid;border-color:var(--line)}.dropzone__empty{text-align:center;color:var(--text-2);background:0 0;border:0;flex:1;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.dropzone__empty strong{font:600 22px/1.2 var(--font-display);letter-spacing:-.02em;color:var(--text)}.dropzone__empty svg{color:var(--accent);margin-bottom:4px}.dropzone__empty span{max-width:280px;font-size:13px}.dropzone__preview{object-fit:contain;background:var(--surface);flex:1;width:100%;min-height:0;max-height:460px}object.dropzone__preview{border:0;min-height:320px}.dropzone__file{color:var(--text-2);background:var(--surface);flex:1;place-content:center;justify-items:center;gap:8px;padding:24px;font-size:13px;display:grid}.dropzone__file svg{color:var(--accent)}.dropzone__bar{border-top:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;padding:8px 10px;display:flex}.dropzone__name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);flex:1;font-size:13px;overflow:hidden}.examples,.subject-chips{flex-wrap:wrap;gap:6px;margin-top:-6px;display:flex}.example,.subject-chip{border:1px solid var(--line);background:var(--surface);color:var(--text-2);text-align:left;border-radius:999px;padding:4px 10px;font-size:12px}.example:hover,.subject-chip:hover{border-color:var(--accent);color:var(--text)}.subject-chips{margin-top:6px}.subject-chip{color:var(--text);font-weight:500}.reading{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-top:16px;padding:14px 16px}.reading__steps{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reading__step{color:var(--text-3);align-items:center;gap:10px;display:flex}.reading__step.is-active{color:var(--text);font-weight:500}.reading__step.is-done{color:var(--text-2)}.reading__icon{border:1.5px solid var(--line-strong);border-radius:50%;place-items:center;width:20px;height:20px;display:inline-grid}.reading__step.is-done .reading__icon{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.reading__step.is-active .reading__icon{color:var(--accent);border-color:#0000}.reading__detail{color:var(--text-2);font-weight:400}.reading__foot{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}}.ai-review{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:24px;display:grid}.ai-review__main{flex-direction:column;gap:12px;min-width:0;display:flex}.ai-review__summary h3{font:600 24px/1.2 var(--font-display);letter-spacing:-.02em}.ai-review__side{border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);padding:14px;position:sticky;top:0}.bulk{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.bulk__label{color:var(--text-2);font-weight:600}.review-table-wrap{border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}.review-table{border-collapse:collapse;width:100%;font-size:13px}.review-table th{background:var(--sunken);text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 6px;font-size:11px;font-weight:600}.review-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:4px}.review-table tr:last-child td{border-bottom:0}.review-table input:not([type=checkbox]),.review-table select{width:100%;height:32px;padding:0 6px;font-size:13px}.review-table input[type=date]{min-width:130px}.review-table input[type=time]{min-width:96px}.review-table td:nth-child(5) input{min-width:150px}.review-table .col-check{text-align:center;width:36px}.review-table .col-flags{white-space:nowrap}.review-table .col-remove{width:36px}.review-table tr.is-excluded td:not(.col-check){opacity:.45}.review-table tr.is-unsure{background:#f59e0b14}.review-table tr.is-error{background:var(--danger-soft)}.review-table__allday{color:var(--text-3);padding:0 6px;font-size:12px;display:inline-block}.review-table__add{margin:4px}.flag{cursor:help;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.flag--low,.flag--medium{color:#b45309}.flag--duplicate{background:var(--sunken);color:var(--text-2);border:1px solid var(--line)}.repeat-end{align-items:center;gap:4px;display:flex}.review-table .repeat-end select{width:auto}.repeat-end__count{white-space:nowrap;color:var(--text-2);align-items:center;gap:4px;display:flex}.review-table .repeat-end__count input{width:64px}.import-options{flex-direction:column;gap:14px;display:flex}.import-options select,.import-options input{width:100%}.import-options__calendar{gap:4px;display:flex}.import-options__calendar .calendar-select{flex:1;min-width:0}.import-options__calendar .calendar-select__button{width:100%}.import-options__skip-add{gap:6px;display:flex}.import-options code{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:0 3px;font-size:11px}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-tag{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:12px;display:inline-flex}.chip-tag button{width:18px;height:18px;color:var(--text-3);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.chip-tag button:hover{background:var(--hover);color:var(--text)}@media (width<=900px){.ai-setup,.ai-review{grid-template-columns:minmax(0,1fr)}.dropzone{min-height:200px}.ai-review__side{position:static}}.ai-consent{flex-direction:column;gap:12px;max-width:640px;margin:0 auto;font-size:14px;line-height:1.55;display:flex}.ai-consent__head{color:var(--accent-ink);align-items:center;gap:10px;display:flex}.ai-consent__head h3{color:var(--text);margin:0;font-size:18px}.ai-consent ul{margin:0;padding-left:22px}.ai-consent a,.ai-privacy a{color:var(--accent-ink)}.ai-consent__check{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--sunken);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.ai-consent__check input{flex:none;margin-top:3px}.cropper{flex-direction:column;gap:10px;display:flex}.cropper__stage{border-radius:var(--r-md);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;align-self:center;max-width:100%;position:relative;overflow:hidden}.cropper__stage:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cropper__stage img{max-width:100%;max-height:60vh;display:block}.cropper__selection{pointer-events:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 1px #0009,0 0 0 9999px #0000008c}.cropper__actions{justify-content:flex-end;gap:8px;display:flex}.ai-quota{color:var(--text-2);margin:0 0 12px;font-size:13px;font-weight:500}.ai-quota.is-empty{color:var(--danger)}.ai-gate{flex-direction:column;gap:10px;max-width:560px;margin:8px auto;line-height:1.55;display:flex}.ai-gate h3{margin:0;font-size:18px}.ai-gate p{margin:0}.ai-mode{border:1px solid var(--line);background:var(--sunken);border-radius:999px;gap:4px;margin-bottom:14px;padding:3px;display:inline-flex}.ai-mode button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.ai-mode button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}.ai-type{flex-direction:column;gap:14px;max-width:680px;display:flex}.ai-type textarea{font-size:16px;line-height:1.5}.schedule-update{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);flex-direction:column;gap:10px;padding:12px 14px;font-size:14px;display:flex}.schedule-update h4{color:var(--accent-ink);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.schedule-update p{margin:0}.schedule-update__changes{flex-direction:column;gap:6px;max-height:200px;margin:0;padding:0;font-size:13px;list-style:none;display:flex;overflow-y:auto}.schedule-update__changes li{align-items:baseline;gap:8px;display:flex}.schedule-update__changes s{color:var(--text-3)}.schedule-update__tag{background:var(--raised);text-align:center;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;min-width:64px;padding:1px 6px;font-size:11px;font-weight:700}.is-moved .schedule-update__tag{color:var(--accent-ink)}.is-removed .schedule-update__tag{color:var(--danger)}.is-added .schedule-update__tag{color:color-mix(in srgb, #16a34a 80%, var(--text))}.schedule-update__choice{flex-direction:column;gap:6px;display:flex}
