@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/af0ae722d79471e5-s.0l4a4erwkg-j6.woff2)format("woff2");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:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5700db7364f2c755-s.0oxsisjwf5w8a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ef8193cdea9582ea-s.p.3ii__yurxaf4q.woff2)format("woff2");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}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/af0ae722d79471e5-s.0l4a4erwkg-j6.woff2)format("woff2");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:Familjen Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5700db7364f2c755-s.0oxsisjwf5w8a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ef8193cdea9582ea-s.p.3ii__yurxaf4q.woff2)format("woff2");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}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/af0ae722d79471e5-s.0l4a4erwkg-j6.woff2)format("woff2");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:Familjen Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5700db7364f2c755-s.0oxsisjwf5w8a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ef8193cdea9582ea-s.p.3ii__yurxaf4q.woff2)format("woff2");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}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/af0ae722d79471e5-s.0l4a4erwkg-j6.woff2)format("woff2");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:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5700db7364f2c755-s.0oxsisjwf5w8a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ef8193cdea9582ea-s.p.3ii__yurxaf4q.woff2)format("woff2");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}@font-face{font-family:Familjen Grotesk Fallback;src:local(Arial);ascent-override:108.37%;descent-override:23.79%;line-gap-override:0.0%;size-adjust:94.59%}.flCHSq_className{font-family:Familjen Grotesk,Familjen Grotesk Fallback;font-style:normal}.flCHSq_variable{--font-grotesk:"Familjen Grotesk", "Familjen Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/faab88e4be272d29-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a45aa1001bf9176f-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41ba59f553543ecf-s.3cb5lpr2l6xud.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/67bba87670b402d1-s.1u30mmyq6lnsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d6c1ff7e86974212-s.p.40sczeszzbjw1.woff2)format("woff2");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/49b1d53681a91a99-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/123d516c9baeb953-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a74d2542cc4c775f-s.29yke99gs9qpn.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7ac0b1cd3e695dd0-s.1i-sca43-qwng.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/916cd8a3bde3edf8-s.p.0oace-s_gkfks.woff2)format("woff2");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}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.zfTmVG_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.zfTmVG_variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#f4f5f1;--paper:#fff;--ink:#15201b;--muted:#4f5a55;--line:#e2e5df;--line-soft:#eceeea;--control:#d5d9d2;--field:#c9cec6;--accent:#d9531e;--accent-focus:#f07a45;--accent-soft:#fdebe1;--accent-ink:#8a3410;--accent-deep:#7a2e0c;--ok-bg:#e2f0e8;--ok-ink:#154b37;--done-bg:#f1f2ef;--done-bar:#a3aba6;--due-ink:#ffc2a6;--proposed-bg:#fff6f1;--today-col:#fbf6f2;--due-bg:#15201b;--done-tag:#e2e5df;--hour-quiet:#f2f3f0;--on-accent:#fff;--link:#2b4fc2;--link-hover:#1c3793;--scrim:#15201b59;--shadow-soft:#15201b0f;--shadow:#15201b2e;--lift:#15201b29;--focus:#1f6b4f;--focus-bg:#e2f0e8;--fixed:#2b4fc2;--fixed-bg:#e5ebfb;--routine:#9a6514;--routine-bg:#f6ecda;--personal:#7a3fa8;--personal-bg:#f0e7f8;--errand:#6b7570;--errand-bg:#eceeea;--interview:#b5441a;--interview-bg:#fdebe1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--gutter:clamp(24px, 4vw, 80px);--sans:var(--font-grotesk), "Familjen Grotesk", system-ui, sans-serif;--mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, monospace}:root[data-theme=dark]{--bg:#0f1411;--paper:#171e1a;--ink:#e7ece7;--muted:#9aa59f;--line:#29322d;--line-soft:#212925;--control:#38423c;--field:#3e4943;--accent:#e8693a;--accent-focus:#f08a5d;--accent-soft:#3a2419;--accent-ink:#ffb894;--accent-deep:#ffcdb3;--ok-bg:#16301f;--ok-ink:#9adbb4;--done-bg:#1c2420;--done-bar:#5c6760;--due-ink:#4a2412;--proposed-bg:#2a1e16;--today-col:#1e1c17;--due-bg:#f4d6c4;--done-tag:#2a332e;--hour-quiet:#1d2521;--on-accent:#1b0e07;--link:#8fa8ff;--link-hover:#b5c6ff;--scrim:#0009;--shadow-soft:#00000059;--shadow:#0000008c;--lift:#00000080;--focus:#6fd09f;--focus-bg:#15301f;--fixed:#8fa8ff;--fixed-bg:#1b2445;--routine:#e3b868;--routine-bg:#33280f;--personal:#cda4f2;--personal-bg:#2b1e3b;--errand:#a9b3ad;--errand-bg:#232b26;--interview:#ff9c70;--interview-bg:#3a2419;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1411;--paper:#171e1a;--ink:#e7ece7;--muted:#9aa59f;--line:#29322d;--line-soft:#212925;--control:#38423c;--field:#3e4943;--accent:#e8693a;--accent-focus:#f08a5d;--accent-soft:#3a2419;--accent-ink:#ffb894;--accent-deep:#ffcdb3;--ok-bg:#16301f;--ok-ink:#9adbb4;--done-bg:#1c2420;--done-bar:#5c6760;--due-ink:#4a2412;--proposed-bg:#2a1e16;--today-col:#1e1c17;--due-bg:#f4d6c4;--done-tag:#2a332e;--hour-quiet:#1d2521;--on-accent:#1b0e07;--link:#8fa8ff;--link-hover:#b5c6ff;--scrim:#0009;--shadow-soft:#00000059;--shadow:#0000008c;--lift:#00000080;--focus:#6fd09f;--focus-bg:#15301f;--fixed:#8fa8ff;--fixed-bg:#1b2445;--routine:#e3b868;--routine-bg:#33280f;--personal:#cda4f2;--personal-bg:#2b1e3b;--errand:#a9b3ad;--errand-bg:#232b26;--interview:#ff9c70;--interview-bg:#3a2419;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font-family:inherit}a{color:var(--link)}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}h1,h2{margin:0}.mono{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tomo{background:var(--bg);width:100%;min-height:100vh;color:var(--ink)}.topbar{padding:14px var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.brand{letter-spacing:-.01em;font-size:20px;font-weight:700}.nav-steps{align-items:center;gap:4px;margin-left:16px;display:flex}.btn{border:1px solid var(--control);background:var(--paper);height:40px;color:var(--ink);cursor:pointer;border-radius:10px;font-size:14px}.btn-square{width:40px;font-size:18px}.btn-today{background:var(--bg);padding:0 14px;font-weight:600}.tabs{background:var(--line-soft);border-radius:12px;padding:3px;display:flex}.tab{height:34px;color:var(--muted);border-radius:9px;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{background:var(--paper);color:var(--ink);font-weight:600}.spacer{flex:1}.status-line{font-family:var(--mono);color:var(--muted);font-size:13px}.avatar{border:1px solid var(--control);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;display:flex}.columns{padding:16px var(--gutter) 32px;flex-wrap:nowrap;align-items:flex-start;gap:24px;display:flex}.left{scrollbar-width:thin;flex-direction:column;flex:0 300px;gap:16px;min-width:240px;max-height:calc(100vh - 121px);display:flex;position:sticky;top:16px;overflow-y:auto}.center{flex-direction:column;flex:1 1 0;gap:12px;min-width:0;display:flex}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px}.panel{flex-direction:column;gap:12px;padding:16px;display:flex}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel-head h2,.schedule-head h2{font-size:16px;font-weight:700}.add{border:1px solid var(--control);background:var(--paper);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:8px;font-size:18px}.pills{flex-wrap:wrap;gap:4px;display:flex}.pill{border:1px solid var(--control);background:var(--paper);height:30px;color:var(--ink);cursor:pointer;border-radius:15px;padding:0 10px;font-size:12px;font-weight:600}.pill[aria-selected=true]{border-color:var(--ink);background:var(--ink);color:var(--bg)}.task-group{flex-direction:column;display:flex}.task-group+.task-group{margin-top:6px}.group-head{justify-content:space-between;align-items:baseline;padding:4px 0 8px;display:flex}.group-head h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:13px;font-weight:700}.group-head .count{color:var(--muted);font-size:12px}.task-item{border-top:1px solid var(--line-soft);align-items:flex-start;gap:10px;display:flex}.task-item .upcoming{border-top:0;flex:1;min-width:0;transition:opacity .3s}.task-item .check{border:1.5px solid var(--field);background:var(--paper);color:#0000;cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:18px;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:flex}.task-item .check:hover{border-color:var(--ok-ink)}.task-item .check:disabled{cursor:wait}.task-item.done .check{background:var(--ok-ink);border-color:var(--ok-ink);color:var(--paper)}.task-item.done .check svg{animation:.26s cubic-bezier(.2,.8,.2,1) both tick}.task-item.done .upcoming{opacity:.55}.strike{align-self:flex-start;max-width:100%;position:relative}.strike:after{content:"";transform-origin:0;background:currentColor;height:1.5px;transition:transform .32s cubic-bezier(.4,0,.2,1);position:absolute;top:54%;left:0;right:0;transform:scaleX(0)}.task-item.done .strike:after{transform:scaleX(1)}@keyframes tick{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.upcoming{border-top:1px solid var(--line-soft);text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:flex-start;gap:12px;padding:10px 0;display:flex}button.upcoming{cursor:pointer}.date-chip{border-radius:10px;flex-direction:column;flex:none;align-items:center;width:40px;padding:4px 0;display:flex}.date-chip .dow{font-family:var(--mono);font-size:10px;font-weight:500}.date-chip .num{font-size:18px;font-weight:700;line-height:1.1}.stack{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eyebrow{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.title-sm{font-size:14px;font-weight:600}.meta{color:var(--muted);font-size:12px}.note{background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;align-self:flex-start;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:600}.empty{color:var(--muted);padding:4px 0;font-size:13px;line-height:1.5}.goal{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.goal-row{justify-content:space-between;gap:8px;display:flex}.goal-pct{font-family:var(--mono);color:var(--muted);font-size:12px}.track{background:var(--line-soft);border-radius:3px;height:6px;overflow:hidden}.track>div{height:6px}.intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.kicker{font-family:var(--mono);color:var(--muted);text-transform:uppercase;font-size:12px}.headline{letter-spacing:-.015em;margin:2px 0 0;font-size:26px;font-weight:700;line-height:1.15}.summary{color:var(--muted);max-width:560px;margin:6px 0 0;font-size:15px;line-height:1.5}.stats{flex-wrap:wrap;gap:8px;display:flex}.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:5px 11px;display:flex}.stat span:first-child{color:var(--muted);font-size:12px}.stat span:last-child{font-size:15px;font-weight:700}.schedule{flex-direction:column;display:flex}.schedule-head{flex-wrap:wrap;align-items:center;gap:6px 16px;padding:0 8px 0 20px;display:flex}.schedule-head h2{margin-right:8px}.legend{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.grid{position:relative}.week .week-head{z-index:4;background:var(--paper);padding-top:6px;position:sticky;top:0}.hour{align-items:flex-start;display:flex;position:absolute;left:0;right:0}.hour span{text-align:right;font-family:var(--mono);color:var(--muted);flex:none;font-size:12px;transform:translateY(-8px)}.hour div{border-top:1px solid var(--line-soft);flex:1}.hour.quiet span{opacity:.45}.hour.quiet div{border-top-color:var(--hour-quiet)}.block{box-sizing:border-box;outline-offset:-2px;display:flex;position:absolute;overflow:hidden}.block .bar{border-radius:2px;flex:none;align-self:stretch;width:4px}.block .body{flex:1;min-width:0;display:flex}.block .name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.block .name.wrap{white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:none;display:-webkit-box}.day .block .name{line-height:1.3}.block .range{font-family:var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden}.tag{border-radius:10px;flex:none;padding:3px 9px;font-size:12px;font-weight:600}.now{pointer-events:none;align-items:center;display:flex;position:absolute}.now span{background:var(--accent);border-radius:50%}.now div{background:var(--accent);flex:1;height:2px}.day .schedule{gap:6px;padding:12px 8px 16px 0}.day .hour{gap:8px}.day .hour span{width:60px}.day .grid{--axis-x:76px}.day .block{left:calc(var(--axis-x) + var(--lane,0) * (100% - var(--axis-x) - 8px) / var(--lanes,1));width:calc((100% - var(--axis-x) - 8px) / var(--lanes,1) - 4px);border-radius:10px;align-items:flex-start;gap:10px}.day .block .name{font-size:16px}.day .block .range{font-size:13px}.day .now{left:68px;right:0}.day .now span{width:10px;height:10px}.day .block.tight{align-items:center}.day .block.tight .name{font-size:14px}.day .block.tight .range{font-size:12px}.day .block.tight .tag{padding:1px 7px;font-size:11px}.week .schedule{--axis:52px;--gap:4px;gap:6px;padding:12px 12px 16px 0}.week-cols{grid-template-columns:var(--axis) repeat(7, minmax(0, 1fr));column-gap:var(--gap);display:grid}.dayhead{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:2px 0 8px;display:flex}.dayhead .dow{color:var(--muted);font-size:14px;font-weight:600}.dayhead .pill-date{border-radius:16px;justify-content:center;align-items:center;width:32px;height:32px;font-size:17px;font-weight:700;display:flex}.due-label{font-family:var(--mono);color:var(--muted);text-align:right;padding:6px 8px 0 0;font-size:10px}.due-cell{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:0 0 6px;display:flex}.due-more{color:var(--muted);padding:1px 2px;font-size:11px;font-weight:600;transition:opacity .2s}.due-more.hidden{opacity:0;height:0;padding:0;overflow:hidden}.due-extra{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.8,.2,1);display:grid}.due-extra.open{grid-template-rows:1fr}.due-extra>div{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden}.due-extra:not(.open) .due{visibility:hidden;transition:visibility 0s .32s}.due-toggle{grid-column:1/-1;justify-content:center;margin-top:-1px;display:flex}.due-toggle button{border:1px solid var(--line);background:var(--paper);height:26px;color:var(--muted);cursor:pointer;border-top:0;border-radius:0 0 10px 10px;padding:0 12px;font-size:12px;font-weight:600}.due-toggle button:hover{color:var(--ink)}.due.all-day{background:var(--line-soft);color:var(--ink)}.day-due{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 8px 0 20px;display:flex}.day-due .due-label{padding:0 4px 0 0}.day-due .due{max-width:280px;display:inline-block}.due{background:var(--due-bg);color:var(--due-ink);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:4px 7px;font-size:12px;font-weight:600;display:block;overflow:hidden}.week .hour{gap:6px}.week .hour span{width:46px}.week-body{position:absolute;inset:0}.col{border-radius:8px;position:relative}.col:before,.col:last-child:after{content:"";background:var(--line-soft);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.col:before{left:calc(var(--gap) / -2 - .5px)}.col:last-child:after{right:calc(var(--gap) / -2 - .5px)}.day .grid:before{content:"";background:var(--line-soft);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:68px}.week-blocks{pointer-events:none;position:absolute;inset:0}.week .block{pointer-events:auto;border-radius:6px;flex-direction:column;gap:1px}.week .block .name{font-size:14px;line-height:1.25}.week .block .range{font-size:12px}.week .now{left:-4px;right:0}.week .now span{width:8px;height:8px}.week .block.tight .name{font-size:12px;line-height:1.15}.month .schedule{gap:12px;padding:14px 12px 16px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-dow{color:var(--muted);text-align:center;padding-bottom:4px;font-size:12px;font-weight:600}.month-cell{border:1px solid var(--line-soft);background:var(--paper);text-align:left;cursor:pointer;min-height:0;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:3px;min-width:0;padding:6px;display:flex;overflow:hidden}.month-cell.outside{background:var(--bg);color:var(--muted)}.month-cell.today{background:var(--today-col);border-color:var(--accent-soft)}.month-num{font-size:13px;font-weight:700}.month-cell.today .month-num{color:var(--accent)}.chip{white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:2px 6px;font-size:12px;font-weight:600;overflow:hidden}.more{color:var(--muted);font-size:11px}.grid.animating{transition:height .45s ease var(--shift-at,0s)}.grid.animating .hour{transition:top .45s ease var(--shift-at,0s)}.block.moving{z-index:2;animation:lift var(--move-ms) cubic-bezier(.65,0,.35,1) var(--move-at) both}@keyframes lift{0%,to{box-shadow:0 0 #0000}25%,75%{box-shadow:0 8px 22px var(--lift)}}.block.enter{animation:draw .38s cubic-bezier(.2,.8,.2,1) var(--at) both}.block.enter .bar{animation:bar-draw .24s ease-out var(--at) both;transform-origin:top}.block.enter .tag{animation:fade-in .22s ease var(--tag-at,0s) both}.block.exit{pointer-events:none;animation:.28s .32s both vanish}.block.exit .name,.block.exit .range{align-self:flex-start;max-width:100%;position:relative}.block.exit .name:after,.block.exit .range:after{content:"";transform-origin:0;background:currentColor;height:1.5px;animation:.32s cubic-bezier(.4,0,.2,1) both strike;position:absolute;top:54%;left:0;right:0}.typed{animation:1ms linear both type-in}.caret{vertical-align:-.12em;background:var(--accent);opacity:0;width:1.5px;height:1em;margin-left:1px;animation-name:caret;animation-timing-function:linear;animation-fill-mode:forwards;display:inline-block}@keyframes draw{0%{clip-path:inset(0 100% 0 0 round 8px)}to{clip-path:inset(0 round 8px)}}@keyframes bar-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes type-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes vanish{to{opacity:0;transform:scale(.96)}}@keyframes strike{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes caret{0%,24%{opacity:1}25%,49%{opacity:.25}50%,74%{opacity:1}75%,99%{opacity:.25}to{opacity:0}}.due.arrive{animation:.52s cubic-bezier(.2,.8,.2,1) both due-in}.day-due .due.arrive{animation-name:due-in-inline}.task-item.arrive{animation:.6s cubic-bezier(.2,.8,.2,1) both task-in;overflow:hidden}.task-item.arrive .upcoming{animation:1.6s .3s both task-glow}.arrive-fade,.day-due.arrive-row .due-label{animation:.4s both fade-in}@keyframes due-in{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(-4px)}45%{opacity:0;max-height:32px;padding-top:4px;padding-bottom:4px;transform:translateY(-4px)}to{opacity:1;max-height:32px;transform:none}}@keyframes due-in-inline{0%{opacity:0;max-width:0;padding-left:0;padding-right:0;transform:scale(.9)}45%{opacity:0;max-width:280px;padding-left:7px;padding-right:7px;transform:scale(.9)}to{opacity:1;max-width:280px;transform:none}}@keyframes task-in{0%{opacity:0;max-height:0}40%{opacity:0;max-height:160px;transform:translate(-10px)}to{opacity:1;max-height:160px;transform:none}}@keyframes task-glow{0%,30%{background-color:var(--accent-soft)}to{background-color:#0000}}@media (prefers-reduced-motion:reduce){.due.arrive,.task-item.arrive,.task-item.arrive .upcoming,.arrive-fade,.day-due.arrive-row .due-label{animation:none}}.block.exit .name.wrap:after{display:none}.block.exit .name.wrap .txt{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(currentColor,currentColor) 0 55%/0% 1.5px no-repeat;animation:.32s cubic-bezier(.4,0,.2,1) both strike-lines}@keyframes strike-lines{to{background-size:100% 1.5px}}@media (prefers-reduced-motion:reduce){.block.exit .name.wrap .txt,.block.enter,.block.enter .bar,.block.enter .tag,.block.moving,.typed,.dots i,.thinking-text{animation:none}.thinking-text{color:var(--muted)}.block.exit,.block.exit .name:after,.block.exit .range:after{animation:none;display:none}.grid.animating,.grid.animating .hour,.block{transition:none!important}}.assistant{background:var(--paper);border:1px solid var(--line);min-width:0;box-shadow:0 6px 20px var(--shadow-soft);border-radius:16px;flex-direction:column;flex:0 380px;min-width:300px;max-height:calc(100vh - 121px);transition:flex-basis .42s cubic-bezier(.2,.8,.2,1),min-width .42s cubic-bezier(.2,.8,.2,1);display:flex;position:sticky;top:16px;overflow:hidden}.assistant.closed{flex:0 0 60px;min-width:60px}.assistant-inner{opacity:1;flex-direction:column;min-height:0;transition:opacity .2s .22s;display:flex}.assistant.closed .assistant-inner{visibility:hidden;opacity:0;pointer-events:none;width:300px;transition-delay:0s;position:absolute;top:0;left:0}.assistant-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:16px;display:flex}.icon-btn{border:1px solid var(--control);background:var(--paper);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.thread{flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.thread>*{flex-shrink:0}.bubble{background:var(--bg);border-radius:4px 16px 16px;flex-direction:column;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.bubble.mine{background:var(--ink);max-width:85%;color:var(--bg);border-radius:16px 16px 4px;align-self:flex-end;padding:10px 14px;line-height:1.45}.bubble.error{background:var(--accent-soft);color:var(--accent-deep)}.bubble.thinking{color:var(--muted);flex-direction:row;align-items:center;gap:10px;overflow:hidden}.dots{flex:none;gap:4px;display:inline-flex}.dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite hop}.dots i:nth-child(2){background:var(--accent-focus);animation-delay:.15s}.dots i:nth-child(3){background:var(--routine);animation-delay:.3s}.thinking-text{background:linear-gradient(90deg, var(--muted) 0%, var(--muted) 35%, var(--ink) 50%, var(--muted) 65%, var(--muted) 100%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite shimmer,.36s cubic-bezier(.2,.8,.2,1) both swap-in}@keyframes hop{0%,60%,to{opacity:.55;transform:translateY(0)scale(1)}30%{opacity:1;transform:translateY(-6px)scale(1.15)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@keyframes swap-in{0%{opacity:0;filter:blur(2px);transform:translateY(8px)}to{opacity:1;filter:none;transform:none}}.ghost{border:1px solid var(--field);background:var(--paper);height:36px;color:var(--ink);cursor:pointer;border-radius:10px;align-self:flex-start;padding:0 12px;font-size:13px;font-weight:600}.proposal{border:1px solid var(--line);border-radius:4px 16px 16px;overflow:hidden}.proposal-head{background:var(--accent-soft);color:var(--accent-deep);padding:12px 14px}.proposal-head strong{font-size:15px;font-weight:700;display:block}.proposal-head span{font-size:13px}.change{border-top:1px solid var(--line-soft);gap:10px;padding:10px 14px;display:flex}.change .eyebrow{flex:none;width:70px;padding-top:2px}.proposal-foot{border-top:1px solid var(--line-soft);color:var(--ok-ink);background:var(--ok-bg);padding:10px 14px;font-size:12px}.actions{border-top:1px solid var(--line-soft);gap:8px;padding:12px 14px;display:flex}.secondary{border:1px solid var(--field);background:var(--paper);height:44px;color:var(--ink);cursor:pointer;border-radius:12px;flex:1;font-size:14px;font-weight:600}.primary{background:var(--accent);height:44px;color:var(--on-accent);cursor:pointer;border:0;border-radius:12px;flex:2;font-size:14px;font-weight:600}.primary:disabled,.secondary:disabled,.send:disabled{opacity:.55;cursor:wait}.composer{border-top:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.chips,.options{flex-wrap:wrap;gap:6px;display:flex}.option{border:1px solid var(--accent);background:var(--paper);min-height:32px;color:var(--accent-ink);text-align:left;cursor:pointer;border-radius:16px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.3;transition:background-color .15s}.option:hover{background:var(--accent-soft)}.option:disabled{opacity:.55;cursor:wait}.suggest{border:1px solid var(--control);background:var(--bg);height:32px;color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:16px;max-width:100%;padding:0 12px;font-size:13px;overflow:hidden}.suggest.tool{background:var(--paper);color:var(--muted);border-style:dashed}.suggest.tool.armed{border-style:solid;border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.compose-row{align-items:center;gap:8px;display:flex}.field{border:1px solid var(--field);background:var(--bg);min-width:0;height:46px;color:var(--ink);outline-color:var(--accent-focus);border-radius:12px;flex:1;padding:0 14px;font-size:15px}.send{background:var(--accent);width:46px;height:46px;color:var(--on-accent);cursor:pointer;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}kbd{font-family:var(--mono);border:1px solid var(--control);border-radius:4px;padding:1px 5px}.rail{background:var(--paper);width:58px;color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;border:0;flex-direction:column;align-items:center;gap:14px;margin:0;padding:14px 8px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0;right:0}.assistant.closed .rail{opacity:1;pointer-events:auto;width:58px;transition-delay:.22s;position:static}.rail-icon{background:var(--ink);width:40px;height:40px;color:var(--bg);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.rail-label{background:var(--bg);border-radius:10px;justify-content:center;align-items:center;width:100%;padding:14px 0;display:flex}.rail-label span{writing-mode:vertical-rl;letter-spacing:.06em;white-space:nowrap;font-size:18px;font-weight:700;transform:rotate(180deg)}.scrim{background:var(--scrim);z-index:50;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--paper);border:1px solid var(--line);width:min(460px,100%);max-height:calc(100vh - 32px);box-shadow:0 20px 50px var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.dialog h2{font-size:20px;font-weight:700}.dialog label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.dialog .row{gap:10px;display:flex}.dialog .row>*{flex:1;min-width:0}.dialog .field{height:42px;font-size:14px}.dialog .check{flex-direction:row;align-items:center;gap:8px;font-weight:500}.dialog .hint{color:var(--muted);font-size:12px;font-weight:400}.dialog .actions{border:0;padding:4px 0 0}.dialog.wide{width:min(600px,100%)}.dialog h3{margin:6px 0 0;font-size:16px;font-weight:700}.connections{border-top:1px solid var(--line-soft);flex-direction:column;gap:10px;padding-top:14px;display:flex}.connection{border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.connection .stack{gap:1px}.connection .ghost{align-self:center}.provider-badge{color:#fff;background:#5c6760;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:flex}.provider-badge.canvas,.provider-badge.demo{background:#e4492b}.provider-badge.google{background:#3b5fd4}.provider-badge.outlook{background:#0f6cbd}.provider-badge.apple{box-shadow:inset 0 0 0 1px var(--control);background:#1d1d1f}.sync-error{color:var(--accent-deep);font-size:12px}.sync-warning{margin:12px var(--gutter) 0;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-deep);border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.45}.link-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.connect{background:var(--bg);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.connect .actions{justify-content:flex-end}.connect .actions .primary{flex:none;padding:0 22px}.connect .actions .secondary{flex:none;padding:0 16px}.secondary.file-pick{flex:none;justify-content:center;align-self:flex-start;align-items:center;padding:0 18px;font-size:14px;display:inline-flex}.secondary.file-pick:focus-within{outline:2px solid var(--accent-focus);outline-offset:2px}.primary.download{flex:none;justify-content:center;align-items:center;padding:0 22px;text-decoration:none;display:inline-flex}.primary.download:hover{color:var(--on-accent)}.danger.small{height:36px;padding:0 12px;font-size:13px}.danger{border:1px solid var(--accent-soft);background:var(--paper);height:44px;color:var(--accent-ink);cursor:pointer;border-radius:12px;padding:0 14px;font-size:14px;font-weight:600}.task-line{border-top:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.task-line span:first-of-type{flex:1;min-width:0}.x{border:1px solid var(--control);background:var(--paper);cursor:pointer;width:30px;height:30px;color:var(--muted);border-radius:8px}.form-error{color:var(--accent-deep);background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:13px}@media (max-width:1100px){.columns{flex-direction:column;align-items:stretch;padding:16px}.left,.center,.assistant,.assistant.closed{flex:none;width:100%;min-width:0}.center{order:1}.assistant{order:2;max-height:none;position:static}.left{order:3;max-height:none;position:static;overflow:visible}.assistant.closed .assistant-inner{visibility:visible;opacity:1;pointer-events:auto;width:auto;position:static}.assistant .icon-btn,.rail{display:none}.topbar{gap:10px;padding:12px 16px}.nav-steps{margin-left:0}.status-line{display:none}}@media (max-width:640px){.headline{font-size:28px}.week .schedule{--axis:40px;--gap:2px}.week .hour span{width:34px;font-size:10px}.week .block .name{font-size:10px}.dayhead .pill-date{width:28px;height:28px;font-size:14px}.due{padding:2px 3px;font-size:9px}.day .grid{--axis-x:60px}.day .hour span{width:48px}.day .now,.day .grid:before{left:54px}.month-cell{padding:4px}.chip{padding:1px 3px;font-size:9px}}.theme-toggle{border:1px solid var(--control);background:var(--paper);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;display:flex}.theme-toggle svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover svg{transform:rotate(-20deg)}body,.card,.topbar,.block,.field,.stat,.bubble,.dialog{transition-property:background-color,border-color,color;transition-duration:.25s}
