:root{--surface:#fff;--bg:#fcfaf8;--sidebar:#fafafa;--border:#ededed;--border-strong:#ddd;--text:#202020;--muted:#666;--faint:#8f8f8f;--accent:#dc4c3e;--accent-hover:#c53727;--accent-soft:#fdf0ee;--hover:#f5f5f5;--green:#058527;--event:#e44332;--shadow:0 8px 30px #14141414;--radius:10px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface:#1f1f1f;--bg:#181818;--sidebar:#1b1b1b;--border:#2e2e2e;--border-strong:#3a3a3a;--text:#eee;--muted:#a0a0a0;--faint:#7a7a7a;--accent:#e05b4d;--accent-hover:#ef6a5c;--accent-soft:#33201d;--hover:#2a2a2a;--green:#5fbf7f;--event:#e44332;--shadow:0 8px 30px #0006}}*{box-sizing:border-box}html,body{overscroll-behavior:none}html{-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:16px;line-height:1.2}button{cursor:pointer;background:0 0;border:0;padding:0}button,a,[role=button],.addchip,.bottom-nav__item{touch-action:manipulation;-webkit-user-select:none;user-select:none}.task__body,.task__title{-webkit-user-select:text;user-select:text}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p{margin:0}.splash{background:var(--bg);place-items:center;min-height:100dvh;display:grid}.splash__mark{background:var(--accent);border-radius:9px;width:34px;height:34px;animation:1.1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.35;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.login{background:var(--bg);grid-template-columns:minmax(360px,460px) 1fr;min-height:100dvh;display:grid}.login__panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:36px;padding:56px 48px;display:flex}.login__brand{align-items:center;gap:14px;display:flex}.login__mark{display:inline-flex}.login__brand h1{letter-spacing:-.02em;font-size:24px;font-weight:650}.login__brand p{color:var(--muted);margin-top:2px;font-size:13px}.login__form{flex-direction:column;gap:18px;max-width:340px;display:flex}.login__accounts{border:0;margin:0;padding:0}.login__accounts legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:12px}.account-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-chip{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;gap:9px;height:42px;padding:0 12px;font-weight:550;display:flex}@media (hover:hover) and (pointer:fine){.account-chip:hover{background:var(--hover)}}.account-chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.account-chip__initial{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:grid}.account-chip.is-selected .account-chip__initial{background:var(--accent)}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--muted);font-size:12px}.field input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;height:42px;padding:0 12px;font-size:16px}.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #dc4c3e24}.login__error{color:var(--accent-hover);background:var(--accent-soft);border-radius:8px;padding:9px 11px;font-size:13px}.login__submit{background:var(--accent);color:#fff;border-radius:8px;height:42px;font-weight:600}@media (hover:hover) and (pointer:fine){.login__submit:hover:not(:disabled){background:var(--accent-hover)}}.login__submit:disabled{opacity:.45;cursor:default}.login__note{color:var(--faint);font-size:12px}.login__aside{background:linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 100% 32px, var(--bg);background-blend-mode:multiply;align-items:flex-end;padding:56px;display:flex}.login__aside ul{max-width:360px;color:var(--muted);flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.login__aside li{padding-left:16px;position:relative}.login__aside li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:0}.app{background:var(--surface);grid-template-columns:266px minmax(0,1fr);height:100dvh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);z-index:20;flex-direction:column;gap:18px;padding:14px 10px 10px;display:flex;overflow-y:auto}.sidebar__brand{align-items:center;gap:9px;padding:0 8px;font-size:15px;font-weight:650;display:flex}.brand-mark{display:inline-flex}.sidebar__nav{flex-direction:column;gap:2px;display:flex}.nav-item,.project{width:100%;height:36px;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:0 9px;display:flex}@media (hover:hover) and (pointer:fine){.nav-item:hover,.project:hover{background:var(--hover)}}.nav-item.is-active,.project.is-active{background:var(--accent-soft);color:var(--accent-hover);font-weight:550}.nav-item svg,.project svg{color:var(--muted);flex:none}.nav-item.is-active svg,.project.is-active svg{color:currentColor}.count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.sidebar__section{flex-direction:column;gap:4px;display:flex}.sidebar__section-head{height:30px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 9px;font-size:12px;display:flex}.projects{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.project__dot{border-radius:3px;flex:none;width:9px;height:9px}.project__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-form{padding:2px 9px}.project-form input{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;width:100%;height:32px;padding:0 8px}.sidebar__foot{border-top:1px solid var(--border);align-items:center;gap:9px;margin-top:auto;padding:10px 8px 2px;display:flex}.avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:650;display:grid}.sidebar__user{flex-direction:column;font-size:13px;font-weight:550;line-height:1.3;display:flex}.sidebar__user span{color:var(--faint);font-size:11px;font-weight:400}.sidebar__foot .icon-button{margin-left:auto}.main{background:var(--surface);flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{height:60px;padding:0 24px;padding-top:env(safe-area-inset-top);flex:none;align-items:center;gap:10px;display:flex}.topbar .topbar__menu{display:none}.topbar__titles{align-items:baseline;gap:8px;display:flex}.sync-state{color:var(--faint);margin-left:0;font-size:12px}.topbar>div:first-child{flex:1;min-width:0}.topbar__help{margin-left:4px}.topbar h1{letter-spacing:-.01em;font-size:20px;font-weight:650}.content{width:100%;max-width:840px;padding:4px 24px calc(90px + env(safe-area-inset-bottom));margin:0 auto;overflow-y:auto}.quick-add{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);align-items:center;gap:9px;min-height:46px;padding:0 12px;display:flex;position:relative}.quick-add.is-focused{border-color:var(--accent);box-shadow:0 0 0 3px #dc4c3e1f}.quick-add__plus{color:var(--accent);font-size:21px;font-weight:400;line-height:1}.quick-add input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:44px}.quick-add input::placeholder{color:var(--faint)}.quick-add__preview{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:calc(100% + 4px);left:12px;right:12px}.chip{background:var(--hover);color:var(--muted);border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;display:inline-flex}.chip--project{background:var(--accent-soft);color:var(--accent-hover)}.chip--priority{color:var(--accent-hover)}.tasks{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 4px;display:flex}.task:focus-within .task__actions{opacity:1}@media (hover:hover) and (pointer:fine){.task:hover .task__actions{opacity:1}}.task__check{flex:none;place-items:center;width:40px;height:40px;margin:-9px 0 -9px -10px;display:grid}.task__circle{border:1.6px solid #b9b9b9;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}@media (hover:hover) and (pointer:fine){.task__check:hover .task__circle{border-color:var(--accent);background:var(--accent-soft)}}.task.is-done .task__circle{background:var(--muted);border-color:var(--muted)}.task.is-done .task__circle:after{content:"";border-bottom:1.6px solid #fff;border-left:1.6px solid #fff;width:8px;height:4px;transform:rotate(-45deg)translateY(-1px)}.task__body{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:block}.task__title{text-align:left;word-break:break-word;width:100%;line-height:1.45;display:block}.task.is-done .task__title{color:var(--faint);text-decoration:line-through}.task__edit{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:100%;padding:2px 6px}.task__meta{color:var(--faint);flex-wrap:wrap;gap:8px;margin-top:3px;font-size:12px;display:flex}.task__due.is-overdue{color:var(--accent-hover)}.task__priority{align-items:center;display:inline-flex}.task__project{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.task__project .dot{border-radius:2px;width:8px;height:8px}.task__label{color:var(--muted)}.task__actions{gap:2px;display:flex}.task__flag{opacity:1}.task__delete{opacity:0;transition:opacity .12s}.task:focus-within .task__delete{opacity:1}@media (hover:hover) and (pointer:fine){.task:hover .task__delete{opacity:1}}.icon-button{width:28px;height:28px;color:var(--faint);border-radius:6px;place-items:center;display:grid;position:relative}.topbar__help:after,.sheet__head .icon-button:after,.shortcuts__head .icon-button:after,.calendar__bar .icon-button:after{content:"";position:absolute;inset:-8px}.calendar__bar .icon-button:after{inset:-8px -5px}@media (hover:hover) and (pointer:fine){.icon-button:hover{background:var(--hover);color:var(--text)}}.empty{text-align:center;padding:56px 8px}.empty__title{font-size:14px;font-weight:550}.empty__hint{color:var(--muted);margin-top:4px;font-size:13px}.groups{flex-direction:column;gap:22px;margin-top:22px;display:flex}.group h2{color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:6px;font-size:13px;font-weight:600}.search-box{border:1px solid var(--border-strong);border-radius:var(--radius);height:44px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;outline:none;flex:1}.scrim{display:none}@media (width<=820px){.login{grid-template-columns:1fr}.login__panel{border-right:0;justify-content:center;min-height:100dvh;padding:56px 24px 40px}.login__aside{display:none}.app{grid-template-columns:1fr}.sidebar{width:280px;box-shadow:var(--shadow);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.is-open{transform:translate(0)}.scrim:not([hidden]){z-index:10;background:#00000059;display:block;position:fixed;inset:0}.topbar{padding-left:12px;padding-right:16px}.topbar .topbar__menu{display:grid}.content{padding-left:16px;padding-right:16px}.task__actions,.task__delete{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bottom-nav,.fab{display:none}.topbar p{color:var(--muted);margin-top:1px;font-size:12px}.nav-item__count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.nav-item--project .dot{border-radius:3px;flex:none;width:9px;height:9px}.nav-item--project span:not(.dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dot{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.group{margin-top:20px}.group__title{color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:6px;font-size:13px;font-weight:600}.group__head{border-bottom:1px solid var(--border);align-items:center;gap:6px;display:flex}.group__head .group__title{border-bottom:0;flex:1;padding-bottom:2px}.group__add{width:34px;height:34px;color:var(--faint);border-radius:8px;flex:none;place-items:center;margin-bottom:2px;display:grid}@media (hover:hover) and (pointer:fine){.group__add:hover{background:var(--hover);color:var(--accent)}}.group__title.is-overdue{color:var(--accent-hover)}.quick-add-wrap{padding-top:4px}.search-view{padding:0 24px calc(90px + env(safe-area-inset-bottom));overflow-y:auto}.calendar{min-height:0;padding:4px 24px calc(96px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.calendar__bar{align-items:center;gap:6px;padding:6px 0 10px;display:flex}.calendar__month{min-width:132px;margin:0 4px;font-size:16px;font-weight:600}.calendar__chevron--prev{transform:rotate(180deg)}.calendar__today,.calendar__refresh{border:1px solid var(--border-strong);background:var(--surface);height:30px;color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}@media (hover:hover) and (pointer:fine){.calendar__today:hover,.calendar__refresh:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}}.calendar__refresh{margin-left:auto}.calendar__refresh:disabled{opacity:.6}.calendar__weekdays{color:var(--faint);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));padding-bottom:4px;font-size:11px;display:grid}.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.calendar--month .calendar__day{height:auto;min-height:46px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:5px 2px 3px;font-size:13px;font-weight:400;transition:background-color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out,color .14s ease-out;display:flex}.calendar--month .calendar__day.is-outside{color:var(--faint)}.calendar--month .calendar__grid{gap:2px}.calendar--month .calendar__day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.calendar--month .calendar__day.is-today .calendar__daynum{color:var(--accent);font-weight:700}.calendar--month .calendar__day.is-selected{background:var(--accent);border-color:var(--accent);color:#fff}.calendar--month .calendar__day.is-selected .calendar__daynum{color:#fff}@media (hover:hover) and (pointer:fine){.calendar--month .calendar__day:hover:not(.is-selected){background:var(--hover)}}.calendar__dots{gap:2px;height:5px;display:flex}.calendar__dot{background:#8a8a8a;border-radius:50%;width:4px;height:4px}.calendar__dot--event{background:var(--event)}.calendar__day.is-selected .calendar__dot{box-shadow:0 0 0 1px #fff}.calendar__day.is-outside .calendar__dot{opacity:.35}.calendar__day-list{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.calendar__day-list h3{margin:0 0 8px;font-size:13px;font-weight:600}.calendar__hint{color:var(--faint);margin:0;font-size:13px}.calendar__events{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.calendar__task{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;display:flex}@media (hover:hover) and (pointer:fine){.calendar__task:hover{border-color:var(--border-strong)}}.calendar__task-dot,.calendar__event-dot{border-radius:50%;flex:none;align-self:flex-start;width:8px;height:8px;margin:5px 0 0 auto}.calendar__event-dot{background:var(--event)}.calendar__task-flag{flex:none;margin-left:auto;padding-top:1px;display:flex}.calendar__event{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.calendar__row-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 106px;align-items:center;gap:6px;font-size:12px;display:flex}.calendar__event-body{flex-direction:column;gap:1px;min-width:0;font-size:13px;display:flex}.calendar__event-body strong{overflow-wrap:anywhere;font-weight:500}.calendar__event-meta,.calendar__event-cal{color:var(--faint);font-size:11px}.calendar__event-open{color:var(--accent);white-space:nowrap;margin-left:auto;font-size:11px;text-decoration:none}.calendar__status{color:var(--faint);margin:12px 0 0;font-size:11px}.calendar__error{color:var(--accent);margin:6px 0 0;font-size:12px}@keyframes calendar-grid-in{0%{opacity:0}to{opacity:1}}.calendar__grid--enter{animation:.14s ease-out calendar-grid-in}@media (width>=821px){.calendar--month .calendar__bar,.calendar--month .calendar__weekdays,.calendar--month .calendar__grid,.calendar--month .calendar__day-list,.calendar--month .calendar__status{width:100%;max-width:660px;margin-left:auto;margin-right:auto}.calendar--month .calendar__day{gap:5px;min-height:72px;padding-top:8px}.calendar--month .calendar__daynum{font-size:16px}}@media (width<=520px){.calendar{padding:2px 12px calc(80px + env(safe-area-inset-bottom))}.calendar--month .calendar__day{min-height:42px}.calendar__row-time{flex-basis:88px}}.search-view__input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);outline:none;width:100%;height:46px;margin:6px 0 10px;padding:0 14px}.search-view__input:focus{border-color:var(--accent)}.search-view__input:focus-visible{outline:none}.toast{background:var(--accent-soft);color:var(--accent-hover);text-align:left;border-radius:8px;justify-content:space-between;gap:12px;margin:0 16px 8px;padding:10px 12px;font-size:13px;display:flex}.toast span{white-space:nowrap;font-weight:600}.browse{padding:0 24px calc(100px + env(safe-area-inset-bottom));width:100%;max-width:840px;margin:0 auto;overflow-y:auto}.browse__section{margin-top:18px}.browse__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.browse__head h2{color:var(--muted);font-size:13px;font-weight:600}.browse__list{margin:4px 0 0;padding:0;list-style:none}.browse__row{border-bottom:1px solid var(--border);text-align:left;align-items:center;gap:10px;width:100%;height:46px;padding:0 4px;font-size:14px;display:flex}@media (hover:hover) and (pointer:fine){.browse__row:hover{background:var(--hover)}}.browse__item{border-bottom:1px solid var(--border);align-items:center;display:flex}.browse__item .browse__row{border-bottom:0;min-width:0}.browse__more{flex:none;width:44px;height:44px}.browse__lock{color:var(--faint);display:inline-flex}.browse__archived{margin-top:8px}.browse__archived-toggle{border-bottom:1px solid var(--border);width:100%;min-height:44px;color:var(--muted);text-align:left;align-items:center;gap:8px;padding:0 4px;font-size:13px;font-weight:600;display:flex}.browse__archived-toggle .browse__count{margin-left:auto}.browse__archived-toggle svg:last-child{transition:transform .15s}.browse__archived-toggle[aria-expanded=true] svg:last-child{transform:rotate(90deg)}.browse__item .browse__restore{flex:none;height:44px;padding:0 10px}.project-menu{flex-direction:column;gap:4px;display:flex}.project-menu__item{text-align:left;border-radius:8px;align-items:flex-start;gap:12px;min-height:56px;padding:10px 8px;display:flex}@media (hover:hover) and (pointer:fine){.project-menu__item:hover{background:var(--hover)}}.project-menu__item>span{flex-direction:column;gap:2px;display:flex}.project-menu__item strong{font-size:14px;font-weight:600}.project-menu__item span span{color:var(--muted);font-size:12px}.project-menu__item.is-danger{color:var(--accent)}.project-popover{z-index:70;border:1px solid var(--border-strong);background:var(--surface);width:272px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);transform-origin:100% 0;border-radius:12px;padding:6px;animation:.15s ease-out project-popover-in;position:fixed}.project-popover .project-menu__item{min-height:48px;padding:8px}@keyframes project-popover-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.project-edit{flex-direction:column;gap:10px;padding:6px 0 10px;display:flex}.project-edit__label{color:var(--muted);font-size:12px;font-weight:600}.project-edit input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;height:44px;padding:0 12px;font-size:16px}.project-edit input:focus{border-color:var(--accent)}.project-edit .color-picker{gap:10px}.project-edit .color-picker__dot{width:36px;height:36px}.browse__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.browse__row svg{color:var(--faint)}.browse__tags{flex-wrap:wrap;gap:6px;padding-top:10px;display:flex}.browse__empty{color:var(--faint);font-size:13px}.browse__add{gap:8px;padding:8px 0;display:flex}.browse__add input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;flex:1;height:40px;padding:0 10px}.browse__section--account{margin-top:28px}.browse__account{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 0;display:flex}.browse__account div{flex-direction:column;flex:1;font-size:13px;display:flex}.browse__account span{color:var(--faint);font-size:12px}.sheet-layer{z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-layer.is-keyboard .sheet{max-height:100%}.sheet-backdrop{background:#00000057;border:0;position:absolute;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:relative;box-shadow:0 -8px 40px #0000002e}.sheet--add{max-height:72dvh}.sheet__head{align-items:center;gap:8px;padding:18px 12px 4px;display:flex;position:relative}.sheet__grip{background:var(--border-strong);border-radius:2px;width:36px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.sheet__head h2{flex:1;margin-left:4px;font-size:14px;font-weight:600}.sheet__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom));flex:auto;padding:6px 16px 16px;overflow-y:auto}.sheet.sheet--detail>.sheet__body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.sheet.sheet--add>.sheet__body{padding-bottom:4px}.sheet__title{background:0 0;border:0;outline:none;width:100%;padding:8px 0;font-size:20px;font-weight:600}.sheet__title:focus-visible{outline:none}.sheet__chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.sheet__chips .chip{border:1px solid var(--border-strong);height:32px;color:var(--muted);background:0 0;border-radius:16px;padding:0 12px;font-size:13px}@media (hover:hover) and (pointer:fine){.sheet__chips .chip:hover{border-color:var(--accent);color:var(--accent-hover)}}.sheet__foot{border-top:1px solid var(--border);flex:none;justify-content:flex-end;gap:8px;padding:12px 16px 16px;display:flex}.sheet__foot--split{justify-content:space-between}.button{border-radius:8px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.button--primary{background:var(--accent);color:#fff}@media (hover:hover) and (pointer:fine){.button--primary:hover:not(:disabled){background:var(--accent-hover)}}.button--primary:disabled{opacity:1;background:var(--hover);color:var(--muted)}.button--ghost{color:var(--muted)}@media (hover:hover) and (pointer:fine){.button--ghost:hover{background:var(--hover)}}.detail__row{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding-bottom:4px;display:flex}.detail__row .task__check{margin-left:-8px}.detail__title{background:0 0;border:0;outline:none;flex:1;padding:6px 0;font-size:19px;font-weight:600}.detail__field{min-width:0;color:var(--faint);flex-direction:column;gap:6px;margin-top:14px;font-size:12px;display:flex}.detail__field>span{flex:none;min-height:16px;line-height:16px;display:block}.detail__field input,.detail__field select,.detail__field textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:42px;color:var(--text);border-radius:8px;outline:none;flex:1 0 auto;padding:10px;font-family:inherit;font-size:16px;line-height:1.2}.detail__field textarea{resize:vertical;line-height:1.4}.detail__field input[type=date],.detail__field input[type=time],.sheet__field input[type=date],.sheet__field input[type=time]{min-width:0;max-width:100%;overflow:hidden}@supports (-webkit-touch-callout:none){.detail__field input[type=date],.detail__field input[type=time],.sheet__field input[type=date],.sheet__field input[type=time]{appearance:none;align-self:stretch;width:auto;min-width:0;max-width:100%;padding-right:30px;overflow:hidden}.detail__field input[type=date]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:1.2em;margin:0;line-height:1.2;display:block;overflow:hidden}.detail__field input[type=time]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:1.2em;margin:0;line-height:1.2;display:block;overflow:hidden}.sheet__field input[type=date]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:1.2em;margin:0;line-height:1.2;display:block;overflow:hidden}.sheet__field input[type=time]::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;min-height:1.2em;margin:0;line-height:1.2;display:block;overflow:hidden}.detail__field input[type=date]::-webkit-datetime-edit{padding:0}.detail__field input[type=time]::-webkit-datetime-edit{padding:0}.sheet__field input[type=date]::-webkit-datetime-edit{padding:0}.sheet__field input[type=time]::-webkit-datetime-edit{padding:0}}.sheet .comment-add textarea{font-size:16px;line-height:1.4}.detail__field input:focus,.detail__field select:focus,.detail__field textarea:focus{border-color:var(--accent)}.detail__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=820px){.sidebar{display:none}.main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.topbar{height:auto;min-height:54px;padding:calc(10px + env(safe-area-inset-top)) 16px 6px;align-items:center}.topbar h1{font-size:22px;font-weight:650}.topbar .topbar__menu,.sync-state{display:none}.content,.search-view,.browse{padding:0 16px calc(150px + env(safe-area-inset-bottom))}.quick-add-wrap{display:none}.task{gap:8px;padding:11px 0}.task__check{margin:-8px 0 -8px -8px}.task__delete{opacity:0}.fab{right:18px;bottom:calc(78px + env(safe-area-inset-bottom));background:var(--accent);color:#fff;z-index:40;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:fixed;box-shadow:0 6px 18px #dc4c3e59}.fab:active{transform:scale(.96)}.bottom-nav{z-index:35;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{height:60px;color:var(--faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.bottom-nav__item.is-active{color:var(--accent)}.sheet-layer{align-items:flex-end}.toast{margin:0 16px 8px}}@media (width>=821px){.sheet-layer{align-items:center}.sheet{border-radius:12px;max-height:82vh;margin-top:-4vh}.sheet__grip{display:none}}.sidebar__label{color:var(--muted);margin:0;padding:0 9px;font-size:12px;font-weight:500}.sidebar__empty{color:var(--faint);padding:2px 9px;font-size:12px}.offline-banner{left:50%;bottom:calc(74px + env(safe-area-inset-bottom));z-index:60;color:#fff;text-align:center;background:#3b3634;border-radius:999px;max-width:calc(100vw - 32px);padding:7px 12px;font-size:12px;line-height:1.35;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #1414142e}@media (width>=821px){.offline-banner{bottom:18px}}.topbar__help{flex:none}.sync-state.is-offline{color:var(--accent-hover)}.project-view{flex-direction:column;gap:18px;padding-bottom:12px;display:flex}.section-block{min-width:0}.section-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:34px;padding:0 0 2px;display:flex}.section-head__title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.section-head__count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.section-head__actions{opacity:.55;gap:1px;margin-left:auto;transition:opacity .12s;display:flex}.section-head:focus-within .section-head__actions{opacity:1}@media (hover:hover) and (pointer:fine){.section-head:hover .section-head__actions{opacity:1}}.section-add{padding:4px 2px 8px}.section-add__button{height:36px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:inline-flex}@media (hover:hover) and (pointer:fine){.section-add__button:hover{background:var(--hover);color:var(--text)}}.section-form{align-items:center;gap:8px;padding:4px 0;display:flex}.section-form input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;flex:1;min-width:0;height:38px;padding:0 10px}.section-form input:focus{border-color:var(--accent)}.section-form--inline{flex:1;min-width:0;padding:0}.section-form--inline input{height:30px;font-weight:600}.button--small{height:34px;padding:0 13px;font-size:13px}.drag-handle{width:26px;height:30px;color:var(--faint);opacity:.55;cursor:grab;touch-action:none;border-radius:6px;place-items:center;display:grid}.drag-handle:focus-visible{opacity:1;background:var(--hover);color:var(--muted)}@media (hover:hover) and (pointer:fine){.drag-handle:hover{opacity:1;background:var(--hover);color:var(--muted)}}body.is-reordering{cursor:grabbing;-webkit-user-select:none;user-select:none}body.is-reordering .drag-handle{cursor:grabbing}.task.is-dragging{opacity:.5;background:var(--accent-soft)}.tasks.is-dragging{touch-action:none}.task.is-selected{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent);border-bottom-color:#0000;border-radius:8px}.drop-line{background:var(--accent);border-radius:1px;height:2px;margin:1px 0;list-style:none}.browse__count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.label-row{border-bottom:1px solid var(--border);align-items:center;gap:2px;display:flex}.label-row__name{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;height:44px;padding:0 4px;display:flex}@media (hover:hover) and (pointer:fine){.label-row__name:hover{background:var(--hover)}}.label-row .icon-button{flex:none}.label-form{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.label-form input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;flex:1;min-width:120px;height:38px;padding:0 10px}.label-form input:focus{border-color:var(--accent)}.color-picker{flex-wrap:wrap;gap:6px;display:flex}.color-picker__dot{border:2px solid #0000;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 1px #00000014}.color-picker__dot.is-selected{border-color:var(--text)}.browse__note{color:var(--faint);margin-top:8px;font-size:12px}.browse__notice{color:var(--accent-hover);margin-top:8px;font-size:12px}.export-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.button--outline{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}@media (hover:hover) and (pointer:fine){.button--outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}}.button--outline:disabled{opacity:.55}.pref-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:11px 2px;display:flex}.pref-row span{flex-direction:column;gap:1px;display:flex}.pref-row strong{font-size:13px;font-weight:550}.pref-row small{color:var(--faint);font-size:12px}.pref-row input[type=checkbox]{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.pref-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.pref-row input[type=checkbox]:checked{background:var(--accent)}.pref-row input[type=checkbox]:checked:after{transform:translate(16px)}.sheet--add .sheet__title{padding:4px 0 8px;font-size:17px;font-weight:500}.addbar{flex:none;align-items:center;gap:2px;padding:4px 10px 10px;display:flex}.addbar__plus{width:34px;height:34px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.addbar__plus.is-open{background:var(--hover);color:var(--text)}@media (hover:hover) and (pointer:fine){.addbar__plus:hover{background:var(--hover);color:var(--text)}}.addbar__chips{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.addbar__chips::-webkit-scrollbar{display:none}.addchip{max-width:132px;height:32px;color:var(--muted);white-space:nowrap;border-radius:8px;flex:none;align-items:center;gap:5px;padding:0 7px;font-size:13px;display:inline-flex}.addchip>span{text-overflow:ellipsis;overflow:hidden}.addchip>svg{flex:none}@media (hover:hover) and (pointer:fine){.addchip:hover{background:var(--hover)}}.addchip--date{color:var(--green)}.addchip__sigil{color:var(--faint);flex:none}.addbar__send{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}@media (hover:hover) and (pointer:fine){.addbar__send:hover:not(:disabled){background:var(--accent-hover)}}.addbar__send:disabled{opacity:1;background:var(--hover);color:var(--muted)}.addpanel{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.addpanel__label{color:var(--faint);margin:8px 0 2px;padding:0 8px;font-size:12px;font-weight:600}.addpanel__hint{color:var(--faint);margin:8px 2px 2px;font-size:12px}.addpanel__chips{margin-top:8px}.addpanel__chips .chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.addpanel__textarea{min-height:96px;margin-top:8px}.addmenu{flex-direction:column;display:flex}.addmenu__row{width:100%;min-height:44px;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:12px;padding:0 8px;font-size:15px;display:flex}.addmenu__row>svg{color:var(--faint);flex:none}.addmenu__row.is-open{background:var(--hover)}@media (hover:hover) and (pointer:fine){.addmenu__row:hover{background:var(--hover)}}.addmenu__hint{color:var(--faint);margin-left:auto;font-size:13px}.addmenu__sigil{text-align:center;width:18px;color:var(--faint);flex:none;font-size:15px}.adddate{padding-top:4px}.adddate__head{align-items:center;gap:4px;margin-top:8px;display:flex}.adddate__title{text-align:center;flex:1;font-size:13px;font-weight:650}.adddate__arrow{width:34px;height:34px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.adddate__arrow:hover{background:var(--hover)}}.adddate__arrow--prev svg{transform:rotate(180deg)}.adddate__weekdays,.adddate__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.adddate__weekdays span{text-align:center;color:var(--faint);padding:2px 0;font-size:11px;font-weight:600}.adddate__day{font-variant-numeric:tabular-nums;height:34px;color:var(--text);border-radius:8px;place-items:center;font-size:13px;display:grid}@media (hover:hover) and (pointer:fine){.adddate__day:hover{background:var(--hover)}}.adddate__day.is-outside{color:var(--faint)}.adddate__day.is-today{color:var(--accent);font-weight:650}.adddate__day.is-selected{background:var(--accent);color:#fff;font-weight:650}@media (hover:hover) and (pointer:fine){.adddate__day.is-selected:hover{background:var(--accent);color:#fff;font-weight:650}}.detail__check{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;margin-left:-4px;display:grid}.detail__check.is-done .task__circle{background:var(--muted);border-color:var(--muted)}.priority-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:2px;display:grid}.priority-picker__item{border:1px solid var(--border-strong);height:36px;color:var(--muted);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.priority-picker__item.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.priority-picker__item .dot{width:8px;height:8px}.detail__labels{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.label-chip{border:1px solid var(--border-strong);height:32px;color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.label-chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.label-chip .dot{width:8px;height:8px}.detail__hint{color:var(--faint);margin-top:3px;font-size:12px}.shortcuts{background:var(--surface);width:100%;max-width:480px;max-height:88dvh;padding:16px 18px calc(22px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:relative;overflow-y:auto;box-shadow:0 -8px 40px #0000002e}.shortcuts__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.shortcuts__head h2{font-size:15px;font-weight:650}.shortcuts__group{margin-top:16px}.shortcuts__group h3{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:500}.shortcuts dl{margin:0}.shortcuts__row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.shortcuts__row dt{gap:4px;margin:0;display:flex}.shortcuts__row dd{color:var(--muted);text-align:right;margin:0;font-size:13px}kbd{border:1px solid var(--border-strong);background:var(--bg);min-width:24px;height:24px;color:var(--text);border-bottom-width:2px;border-radius:5px;place-items:center;padding:0 6px;font-family:inherit;font-size:12px;display:inline-grid}.shortcuts__note{color:var(--faint);margin-top:14px;font-size:12px}@media (width>=821px){.shortcuts{border-radius:12px;max-height:82vh}}@media (width<=820px){.topbar__help{display:grid}.task .drag-handle{opacity:.7}.section-head__actions{opacity:1}.shortcuts{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.sheet__suggestions{-webkit-overflow-scrolling:touch;border:1px solid var(--border-strong);background:var(--surface);max-height:min(42vh,320px);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:2px;margin:8px 0 0;padding:4px;list-style:none;display:flex;overflow-y:auto}.sheet__suggestions li{margin:0}.sheet__suggestion{width:100%;min-height:40px;color:var(--text);text-align:left;background:0 0;border-radius:7px;align-items:center;gap:8px;padding:0 10px;font-size:14px;display:flex}.sheet__suggestion.is-active{background:var(--hover)}@media (hover:hover) and (pointer:fine){.sheet__suggestion:hover{background:var(--hover)}}.sheet__suggestion-sigil{color:var(--faint)}.detail__meta{flex-direction:column;margin-top:4px;display:flex}.detail__meta-row{text-align:left;width:100%;min-height:44px;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:0 2px;font-size:15px;display:flex}@media (hover:hover) and (pointer:fine){.detail__meta-row:hover{background:var(--hover)}}.detail__meta-row>svg{color:var(--faint);flex:none}.detail__meta-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.detail__meta-sub{color:var(--faint)}.detail__meta-row.is-overdue .detail__meta-value{color:var(--accent)}.detail__meta-extra{color:var(--faint);font-variant-numeric:tabular-nums;flex:none;font-size:14px}.detail__title:focus-visible{outline:none}.detail__chips{flex-wrap:wrap;gap:4px 8px;margin-top:8px;display:flex}.detail__chip{max-width:100%;min-height:44px;color:var(--muted);align-items:center;padding:4px 0;display:inline-flex}.detail__chip-face{border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:0 12px;font-size:14px;display:inline-flex;overflow:hidden}@media (hover:hover) and (pointer:fine){.detail__chip:hover .detail__chip-face{border-color:var(--muted)}}.detail__chip.is-set{color:var(--text)}.detail__chip-icon{display:inline-flex}.detail__chip-mark{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.detail__chip-count{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent-hover);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:650;display:grid}.detail__chip-at{color:var(--faint);font-size:15px;font-weight:600}.sheet--field{max-height:88dvh}.field-sheet__textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:150px;color:var(--text);resize:vertical;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:16px;line-height:1.45}.field-sheet__textarea:focus{border-color:var(--accent)}.field-sheet__group+.field-sheet__group{margin-top:18px}.field-sheet__label{color:var(--faint);margin-bottom:6px;font-size:12px;display:block}.field-sheet__select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:46px;color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:16px;line-height:1.2}.field-sheet__select:disabled{opacity:.6}.field-sheet__hint{color:var(--faint);margin-top:10px;font-size:13px}.sheet--field .detail__section{border-top:0;margin-top:0;padding-top:0}.picker-list{flex-direction:column;display:flex}.picker-row{text-align:left;width:100%;min-height:48px;color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:0 8px;font-size:16px;display:flex}@media (hover:hover) and (pointer:fine){.picker-row:hover{background:var(--hover)}}.picker-row.is-selected{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.picker-row>svg{color:var(--accent);flex:none}.picker-row .dot{border-radius:50%;width:10px;height:10px}.picker-row__hint{color:var(--faint);margin-left:auto;font-size:13px;font-weight:400}.datesheet__options{flex-direction:column;gap:2px;display:flex}.datesheet__option .schedule__label{font-size:15px}.datesheet__divider{background:var(--border);height:1px;margin:12px 0 4px}.calendar__head{align-items:center;gap:4px;display:flex}.calendar__title{text-align:center;flex:1;font-size:14px;font-weight:650}.calendar__arrow{width:44px;height:44px;color:var(--muted);border-radius:8px;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.calendar__arrow:hover{background:var(--hover)}}.calendar__arrow--prev svg{transform:rotate(180deg)}.calendar__weekdays,.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar__weekday{text-align:center;color:var(--faint);padding:4px 0;font-size:11px;font-weight:600}.calendar__grid{gap:2px 0}.calendar__day{font-variant-numeric:tabular-nums;height:44px;color:var(--text);border-radius:10px;place-items:center;font-size:14px;display:grid}@media (hover:hover) and (pointer:fine){.calendar__day:hover{background:var(--hover)}}.calendar__day.is-outside{color:var(--faint)}.calendar__day.is-today{color:var(--accent);font-weight:650}.calendar__day.is-selected,.calendar__day.is-selected:hover{background:var(--accent);color:#fff;font-weight:650}.datesheet__rows{border-top:1px solid var(--border);margin-top:12px}.datesheet__row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:52px;font-size:15px;display:flex}.datesheet__row>svg{color:var(--faint);flex:none}.datesheet__row-hint{color:var(--faint);margin-left:auto;font-size:13px}.datesheet__time{border:1px solid var(--border-strong);background:var(--surface);width:118px;min-height:44px;color:var(--text);border-radius:8px;margin-left:auto;padding:6px 8px;font-size:16px;overflow:hidden}.datesheet__repeat{border:1px solid var(--border-strong);background:var(--surface);max-width:62%;min-height:44px;color:var(--text);border-radius:8px;margin-left:auto;padding:6px 8px;font-size:16px}@supports (-webkit-touch-callout:none){.datesheet__time{appearance:none;padding-right:12px}.datesheet__time::-webkit-date-and-time-value{text-align:left;width:100%;min-width:0;margin:0;display:block}}.sheet{transition:transform var(--sheet-enter,.32s) var(--ease-drawer);transform:translateY(0)}.sheet-layer[data-state=closed]{pointer-events:none}.sheet-layer[data-state=closed] .sheet{transition-duration:var(--sheet-exit,.22s);transform:translateY(100%)}.sheet-backdrop{opacity:1;transition:opacity var(--sheet-backdrop-exit,.16s) var(--ease-out)}.sheet-layer[data-state=closed] .sheet-backdrop{opacity:0;transition-duration:var(--sheet-backdrop-exit,.16s)}.sheet-layer[data-state=open] .sheet-backdrop{transition-duration:var(--sheet-backdrop-enter,.2s)}.task__check,.icon-button,.addchip,.addbar__plus,.addbar__send,.bottom-nav__item,.project-menu__item,.sheet__foot button,.primary,.button--primary{transition:transform .12s var(--ease-out)}.task__check:active,.icon-button:active,.addchip:active,.addbar__plus:active,.addbar__send:active,.bottom-nav__item:active,.project-menu__item:active,.sheet__foot button:active,.primary:active,.button--primary:active{transform:scale(.97)}.task__delete,.icon-button.task__schedule{transition:opacity .12s ease, transform .12s var(--ease-out)}.task{transition:transform .12s var(--ease-out)}.task:active:not(.is-swiping):not(.is-settling){transform:scale(.99)}.task.is-leaving{pointer-events:none;transition:max-height .18s var(--ease-out), opacity .18s var(--ease-out), border-bottom-color .18s var(--ease-out);overflow:hidden}.task.is-leaving.is-collapsing{opacity:0;border-bottom-color:#0000;max-height:0}.task__check--ghost{pointer-events:none}.task .task__swipe.is-settling{transition:transform .18s var(--ease-out)}.task__swipe-action svg{transform-origin:50%;transition:transform .18s var(--ease-out);transform:scale(1)}.task__swipe-action.is-armed svg{transform:scale(1.08)}.dot,.calendar__dot,.calendar__task-dot,.calendar__event-dot{transition:background .16s ease-out}@keyframes chip-label-swap{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}.addchip__label{animation:chip-label-swap .12s var(--ease-out)}@media (prefers-reduced-motion:reduce){.sheet,.sheet-layer[data-state=closed] .sheet{transition:none;transform:none}.sheet-layer[data-state=closed] .sheet{opacity:0}.task.is-leaving.is-collapsing{opacity:0;max-height:0}}.sheet--detail{max-height:92dvh}.sheet--detail .sheet__body{padding-bottom:20px}.detail__repeat-note{justify-content:flex-start}.detail__repeat-note .detail__hint{margin-top:8px;font-size:12px}.detail__section{border-top:1px solid var(--border);margin-top:22px;padding-top:14px}.detail__section-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.detail__section-head h3{color:var(--text);margin:0;font-size:13px;font-weight:650}.detail__section-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.detail__error{color:var(--accent-hover);margin-top:6px;font-size:12px}.subtasks{margin:0 0 6px;padding:0;list-style:none}.subtask{border-bottom:1px solid var(--border);align-items:center;gap:2px;min-height:40px;display:flex}.subtask__check{flex:none;place-items:center;width:40px;height:40px;margin-left:-6px;display:grid}.subtask__check .task__circle{width:16px;height:16px}.subtask__check:hover .task__circle{border-color:var(--accent);background:var(--accent-soft)}.subtask__check.is-done .task__circle{background:var(--muted);border-color:var(--muted)}.subtask__title{text-align:left;word-break:break-word;flex:1;min-width:0;min-height:40px;font-size:14px;line-height:1.4}.subtask__title.is-done{color:var(--faint);text-decoration:line-through}.subtask__open{min-height:40px;color:var(--faint);flex:none;padding:0 8px;font-size:12px}.subtask__open:hover{color:var(--accent-hover)}.subtask-add{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.subtask-add input{border:1px solid var(--border-strong);background:var(--surface);min-width:140px;height:40px;color:var(--text);border-radius:8px;outline:none;flex:1;padding:0 10px}.subtask-add input:focus{border-color:var(--accent)}.subtask-add__button{height:40px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;margin-left:-6px;padding:0 6px;font-size:13px;display:inline-flex}.subtask-add__button:hover{background:var(--hover);color:var(--text)}.comments{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.comment{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:10px 12px}.comment__head{align-items:center;gap:8px;display:flex}.comment__author{font-size:13px;font-weight:600}.comment__time{color:var(--faint);font-size:12px}.comment__delete{width:32px;height:32px;margin-left:auto}.comment__body{color:var(--text);white-space:pre-wrap;word-break:break-word;margin-top:3px;font-size:13px}.comment-add{align-items:flex-end;gap:8px;display:flex}.comment-add textarea{border:1px solid var(--border-strong);background:var(--surface);min-width:0;min-height:44px;color:var(--text);font:inherit;resize:vertical;border-radius:8px;outline:none;flex:1;padding:10px;font-size:13px}.comment-add textarea:focus{border-color:var(--accent)}.comment-add .button{flex:none}.reminders{margin:0 0 8px;padding:0;list-style:none}.reminder{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:40px;display:flex}.reminder__time{flex:1;font-size:13px}.reminder__sent{color:var(--faint);border:1px solid var(--border-strong);border-radius:999px;padding:1px 7px;font-size:11px}.reminder__delete{flex:none}.reminder-presets{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.reminder-presets .chip{border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--text);border-radius:999px;padding:0 14px;font-size:13px}.reminder-presets .chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.reminder-presets .chip:disabled{opacity:.55}.reminder-absolute{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:8px;display:grid}.task{border-bottom:1px solid var(--border);padding:0;display:block;position:relative;overflow:hidden}.task__swipe{z-index:1;background:var(--bg);touch-action:pan-y;align-items:flex-start;gap:10px;padding:10px 4px;display:flex;position:relative}.task__swipe.is-swiping{transition:none}.task__swipe.is-settling{transition:transform .2s cubic-bezier(.22,.7,.3,1)}.task__swipe-action{color:#fff;pointer-events:none;opacity:0;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:600;transition:opacity .1s;display:flex;position:absolute;top:0;bottom:0}.task.is-swiping .task__swipe-action,.task.is-settling .task__swipe-action{opacity:1}.task__swipe-action--complete{background:#2e9e5b;left:0}.task__swipe-action--schedule{background:#246fe0;right:0}.task__swipe-action.is-armed{box-shadow:inset 0 0 0 2px #ffffff8c}.task.is-selected{background:0 0}.task.is-selected .task__swipe{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.task.is-dragging{background:0 0}.task.is-dragging .task__swipe{background:var(--accent-soft)}.task__schedule{opacity:0;transition:opacity .12s}.task:hover .task__schedule,.task:focus-within .task__schedule{opacity:1}.task__repeat{color:var(--faint);align-items:center;display:inline-flex}.task__subtasks{color:var(--faint)}.sheet--actions{max-height:70dvh}.schedule__task{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 10px;font-size:13px;overflow:hidden}.schedule__options{flex-direction:column;gap:2px;display:flex}.schedule__option{text-align:left;min-height:48px;color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:0 8px;display:flex}.schedule__option:hover:not(:disabled),.schedule__option:focus-visible{background:var(--hover)}.schedule__option.is-selected{background:var(--accent-soft);color:var(--accent-hover)}.schedule__option:disabled{opacity:.5}.schedule__option svg{color:var(--faint);flex:none}.schedule__label{flex:1;font-size:14px;font-weight:500}.schedule__hint{color:var(--faint);font-size:12px}.schedule__option--clear{border-top:1px solid var(--border);border-radius:0;margin-top:4px}.notif-state{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.notif-state.is-on{background:#2e9e5b}.notif-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.notif-actions .button{height:40px}.notif-quiet{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.notif-quiet__head{flex-direction:column;gap:1px;display:flex}.notif-quiet__head strong{font-size:13px;font-weight:550}.notif-quiet__head small{color:var(--faint);font-size:12px}.notif-quiet .detail__grid{margin-top:8px}.notif-timezone{align-items:flex-end;gap:8px;min-width:0;margin-top:4px;display:flex}.notif-timezone .detail__field{flex:1;min-width:0;margin-top:10px}.notif-timezone .button{flex:none;margin-bottom:1px}.browse__hint{color:var(--faint);margin-top:10px;font-size:12px;line-height:1.45}.install-hint{left:50%;bottom:calc(70px + env(safe-area-inset-bottom));z-index:55;color:#fff;background:#3b3634;border-radius:12px;align-items:center;gap:10px;width:min(440px,100vw - 24px);padding:10px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 26px #14141438}.install-hint__text{flex:1;margin:0;font-size:12px;line-height:1.4}.install-hint__button{color:#fff;background:#ffffff24;border-radius:7px;flex:none;height:32px;padding:0 10px;font-size:12px;font-weight:600}.install-hint__button:hover{background:#ffffff38}.install-hint__close{color:#ffffffbf;border-radius:6px;flex:none;width:28px;height:28px;font-size:18px;line-height:1}.install-hint__close:hover{color:#fff;background:#ffffff1f}.update-prompt{left:50%;top:calc(12px + env(safe-area-inset-top));z-index:70;border:1px solid var(--border-strong);background:var(--surface);width:min(440px,100vw - 24px);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:fixed;transform:translate(-50%)}.update-prompt__text{flex:1;margin:0;font-size:12px}.update-prompt__button{background:var(--accent);color:#fff;border-radius:7px;flex:none;height:32px;padding:0 10px;font-size:12px;font-weight:600}.update-prompt__button--ghost{color:var(--muted);background:0 0}@media (width>=821px){.install-hint{bottom:18px}}@media (width<=820px){.task__swipe{padding:11px 0}.task__schedule{display:none}.reminder-absolute{grid-template-columns:1fr 1fr}.reminder-absolute .button{grid-column:1/-1;justify-self:start}.comment-add{flex-direction:column;align-items:stretch}.comment-add .button{align-self:flex-end}.notif-timezone{flex-wrap:wrap}.notif-timezone .detail__field{flex-basis:100%}.install-hint{bottom:calc(76px + env(safe-area-inset-bottom))}}
