:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#f4f4f5;--surface2:#eaeaec;--separator:#e4e4e7;--ink:#1d1d1f;--ink-muted:#6e6e73;--ink-faint:#a1a1a6;--accent:#3d5a80;--accent-tint:#e6ecf4;--on-accent:#fff;--error:#c8453b;--warning:#b7791f;--now:#c8453b;--tag-lavender:#9aa3d1;--tag-sage:#8fb8a0;--tag-grape:#a58bbf;--tag-flamingo:#d89a93;--tag-banana:#d8c27a;--tag-tangerine:#d9a06e;--tag-peacock:#6fa8c0;--tag-graphite:#9a9a9e;--tag-blueberry:#6f82b8;--tag-basil:#6f9a7e;--tag-tomato:#c97b72;--cal-main:#6f82b8;--cal-planner:#6f9a7e;--cal-lectures:#a58bbf;--cal-holidays:#9a9a9e;--space-screen:20px;--space-card-gap:8px;--space-card-pad:16px;--space-chip-gap:8px;--space-title-to-content:24px;--space-section:28px;--space-subtask-indent:28px;--radius-card-large:28px;--radius-card:20px;--radius-pill:999px;--size-icon-button:44px;--size-icon:22px;--size-icon-small:16px;--size-check-circle:22px;--size-tag-dot:8px;--motion:.24s cubic-bezier(.2, .8, .2, 1);--float-shadow:0 6px 24px #00000014;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-display:600 28px/1.2 var(--font);--text-h1:600 22px/1.25 var(--font);--text-h2:600 18px/1.3 var(--font);--text-h3:500 15px/1.35 var(--font);--text-body:400 15px/1.4 var(--font);--text-body-medium:500 15px/1.4 var(--font);--text-small:400 12px/1.35 var(--font);--text-label:500 13px/1.3 var(--font);--text-button:600 13px/1.3 var(--font);--text-time:400 12px/1.35 var(--font)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:var(--text-body);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.time{font:var(--text-time);font-variant-numeric:tabular-nums}.label{font:var(--text-label)}.small{font:var(--text-small)}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.error-text{color:var(--error)}.main{grid-template-columns:240px minmax(360px,480px) minmax(380px,1fr);height:100%;display:grid}@media (width<=1000px){.main{grid-template-columns:200px minmax(320px,1fr) minmax(340px,1fr)}}.sidebar{background:var(--surface);border-right:1px solid var(--separator);flex-direction:column;padding:16px 10px 8px;display:flex;overflow-y:auto}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar-title{font:var(--text-h2);padding:4px 10px 16px}.sidebar-section{padding:16px 10px 6px}.sidebar-row{text-align:left;width:100%;font:var(--text-label);color:var(--ink);transition:background var(--motion);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.sidebar-row:hover{background:var(--surface2)}.sidebar-row.selected{background:var(--accent-tint);color:var(--accent)}.sidebar-row.nested{padding-left:26px;font-weight:400}.sidebar-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-footer{flex-direction:column;align-items:flex-start;margin-top:auto;padding:16px 10px 0;display:flex}.checkbox{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox input{accent-color:var(--accent);margin:0}.list-column,.detail-column{flex-direction:column;min-width:0;min-height:0;display:flex}.list-column{border-right:1px solid var(--separator)}.list-toolbar,.detail-toolbar{padding:10px var(--space-screen) 0;justify-content:flex-end;align-items:center;gap:8px;min-height:54px;display:flex}.detail-toolbar{justify-content:space-between}.list-scroll,.detail-scroll{padding:0 var(--space-screen) 48px;flex:1;overflow-y:auto}.detail-column .empty-state{margin:auto}.screen-title{padding:0 0 calc(var(--space-title-to-content) - 8px)}.screen-title h1{font:var(--text-display);margin:0 0 4px}.screen-title p{font:var(--text-body-medium);margin:0}.group{gap:var(--space-card-gap);flex-direction:column;margin-bottom:4px;display:flex}.group-header{background:var(--bg);text-align:left;width:100%;color:var(--ink-muted);font:var(--text-label);border:0;flex-direction:column;gap:4px;padding:0 4px 4px;display:flex}.group-header.prominent{z-index:1;color:var(--ink);font:var(--text-body-medium);padding-top:12px;position:sticky;top:0}.group-header:not(.prominent){padding-top:10px;padding-left:8px}.group-header-line{align-items:center;gap:8px;display:flex}.group-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.summary-text{padding-left:20px}.chevron{color:var(--ink-faint);transition:transform var(--motion);display:inline-flex}.chevron.open{transform:rotate(90deg)}.done-header{justify-content:space-between;padding:12px 4px 0;display:flex}.todo-row{padding:12px var(--space-card-pad) 12px 10px;background:var(--surface);border-radius:var(--radius-card);transition:background var(--motion);align-items:center;gap:12px;display:flex}.todo-row.nested{margin-left:var(--space-subtask-indent);padding-top:8px;padding-bottom:8px}.todo-row.selected{background:var(--accent-tint)}.check{background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.todo-row-content,.subtask-content{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:4px;min-width:0;padding:0;display:flex}.todo-title{font:var(--text-h3);overflow-wrap:anywhere}.todo-row.nested .todo-title,.subtask-row .todo-title{font:var(--text-body)}.done .todo-title{color:var(--ink-faint);text-decoration:line-through}.todo-meta{align-items:center;gap:6px;min-width:0;display:flex}.todo-meta-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.warning-glyph{color:var(--warning);display:inline-flex}.row-delete{color:var(--ink-faint);opacity:0;transition:opacity var(--motion), color var(--motion);background:0 0;border:0;border-radius:8px;padding:4px;display:inline-flex}.todo-row:hover .row-delete,.row-delete:focus-visible{opacity:1}.row-delete:hover{color:var(--error)}.progress{border-radius:var(--radius-pill);background:var(--surface2);color:var(--ink-muted);border:0;align-items:center;gap:4px;padding:6px 10px;display:inline-flex}.progress .chevron{color:inherit}.detail{flex-direction:column;height:100%;min-height:0;display:flex}.detail-content{gap:var(--space-section);flex-direction:column;max-width:640px;margin:0 auto;padding-top:8px;display:flex}.detail-footer,.sheet-footer{padding:12px var(--space-screen) 16px;background:var(--bg)}.detail-footer .primary-button{max-width:640px;margin:0 auto}.parent-link{background:var(--surface);border-radius:var(--radius-pill);padding:10px var(--space-card-pad);text-align:left;border:0;align-items:center;gap:8px;min-width:0;display:flex}.ink{color:var(--ink)}.spacer{flex:1}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stack{gap:var(--space-card-gap);flex-direction:column;display:flex}.subtask-row{padding:8px var(--space-card-pad) 8px 10px;background:var(--surface);border-radius:var(--radius-card);align-items:center;gap:12px;display:flex}.subtask-row.add{padding-top:10px;padding-bottom:10px}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-card-pad)}.sync-status{align-items:center;gap:10px;padding-top:6px;padding-bottom:6px;display:flex}.sync-text{flex-direction:column;flex:1;gap:2px;display:flex}.todo-form{gap:var(--space-section);flex-direction:column;display:flex}.form-section{flex-direction:column;gap:10px;display:flex}.flow{align-items:center;gap:var(--space-chip-gap);flex-wrap:wrap;display:flex}.title-field{font:var(--text-h2);background:0 0;border:0;outline:0;width:100%;padding:0}.title-field::placeholder,.field::placeholder,.plain-field::placeholder,.chip-field::placeholder{color:var(--ink-faint)}.field{border-radius:var(--radius-card);background:var(--surface);resize:vertical;width:100%;font:var(--text-body);border:0;padding:14px 16px}.field:focus{outline:2px solid var(--accent-tint)}.plain-field{font:var(--text-body);background:0 0;border:0;outline:0;flex:1;padding:4px 0}.when-card{padding:var(--space-card-pad);background:var(--surface);border-radius:var(--radius-card);flex-direction:column;gap:12px;display:flex}.when-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.when-card input[type=date],.when-card input[type=time]{background:var(--surface2);font:var(--text-body);font-variant-numeric:tabular-nums;border:0;border-radius:10px;padding:6px 10px}.switch{cursor:pointer;align-items:center;gap:10px;display:flex}.switch input{appearance:none;border-radius:var(--radius-pill);background:var(--surface2);cursor:pointer;width:38px;height:22px;transition:background var(--motion);margin:0;position:relative}.switch input:after{content:"";background:var(--bg);width:18px;height:18px;transition:transform var(--motion);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(16px)}.pressable{transition:transform var(--motion)}.pressable:active:not(:disabled){transform:scale(.97)}.tag-dot{width:var(--size-tag-dot);height:var(--size-tag-dot);border-radius:50%;flex:none;display:inline-block}.primary-button,.secondary-button,.apple-button{border-radius:var(--radius-pill);width:100%;min-height:50px;font:var(--text-button);justify-content:center;align-items:center;gap:8px;padding:0 24px;display:inline-flex}.primary-button{background:var(--accent);color:var(--on-accent);border:0}.primary-button:disabled{background:var(--surface2);color:var(--ink-faint);cursor:default}.secondary-button{border:1.5px solid color-mix(in srgb, var(--ink) 60%, transparent);color:var(--ink);background:0 0}.secondary-button.destructive{border-color:color-mix(in srgb, var(--error) 60%, transparent);color:var(--error)}.icon-button{width:var(--size-icon-button);height:var(--size-icon-button);background:var(--surface);color:var(--ink);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button.small{width:34px;height:34px}.text-button{font:var(--text-button);color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:10px 4px;display:inline-flex}.text-button:disabled{opacity:.5;cursor:default}.chip{border-radius:var(--radius-pill);background:var(--surface2);color:var(--ink);font:var(--text-label);white-space:nowrap;border:0;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.chip.active{background:var(--accent-tint);color:var(--accent)}.chip:disabled{cursor:default}.chip-field{border:1.5px solid var(--accent);border-radius:var(--radius-pill);background:var(--surface);outline:0;width:140px;padding:6.5px 14px}.empty-state{text-align:center;padding:60px calc(var(--space-screen) * 2);flex-direction:column;align-items:center;gap:12px;display:flex}.empty-state h2{font:var(--text-h1);margin:8px 0 0}.empty-state p{max-width:360px;margin:0}.sheet{border-radius:var(--radius-card-large);background:var(--bg);width:min(520px,100vw - 32px);max-height:min(720px,100vh - 64px);color:var(--ink);box-shadow:var(--float-shadow);border:0;flex-direction:column;padding:0}.sheet[open]{display:flex}.sheet::backdrop{background:#0000002e}.sheet-header{padding:16px var(--space-screen) 8px;justify-content:space-between;align-items:center;display:flex}.sheet-body{padding:8px var(--space-screen) var(--space-screen);flex:1;overflow-y:auto}.toast{border-radius:var(--radius-pill);background:var(--ink);color:var(--bg);font:var(--text-label);box-shadow:var(--float-shadow);align-items:center;gap:12px;padding:6px 8px 6px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .text-button{color:var(--bg)}.sign-in{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;max-width:340px;min-height:100%;margin:0 auto;padding:24px 16px;display:flex}.sign-in h1{font:var(--text-display);margin:4px 0 0}.sign-in p{margin:0 0 12px}.apple-button{color:#fff;background:#000;border:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.calendar-pane{grid-column:2/4;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.calendar-pane.with-inspector{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.calendar-main{flex-direction:column;min-width:0;min-height:0;display:flex}.calendar-inspector{border-left:1px solid var(--separator);min-width:0;min-height:0}.calendar-toolbar{padding:10px var(--space-screen) 6px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;display:flex}.calendar-toolbar h1{font:var(--text-h1);white-space:nowrap;margin:0}.calendar-controls{align-items:center;gap:6px;display:flex}.day-count{border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;border:0;padding:8px 12px}.calendar{flex-direction:column;flex:1;min-height:0;display:flex}.cal-row{display:grid}.cal-header,.cal-all-day{scrollbar-gutter:stable;overflow-y:hidden}.cal-header{padding:8px 0}.cal-day-label{color:var(--ink-muted);justify-content:center;align-items:center;gap:6px;display:flex}.cal-day-number{min-width:24px;height:24px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.cal-day-label.today{color:var(--accent)}.cal-day-label.today .cal-day-number{background:var(--accent);color:var(--on-accent)}.cal-all-day{border-bottom:1px solid var(--separator);padding:6px 0}.cal-gutter-label{font:var(--text-small);color:var(--ink-faint);text-align:right;padding:4px 6px 0 0;font-size:10px}.cal-all-day-day{flex-direction:column;gap:3px;min-width:0;padding:0 2px;display:flex}.cal-chip{text-align:left;font:500 12px/1.3 var(--font);color:var(--ink);border:0;align-items:center;gap:5px;min-width:0;padding:3px 6px 3px 9px;display:flex}.cal-more{text-align:left;font:500 11px/1.4 var(--font);color:var(--ink-muted);background:0 0;border:0;padding:0 6px}.cal-header+.cal-scroll{border-top:1px solid var(--separator)}.cal-scroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.cal-grid{box-sizing:content-box;padding-bottom:8px}.cal-hours{position:relative}.cal-hours span{color:var(--ink-faint);font-size:10px;position:absolute;right:8px}.cal-days{background-image:repeating-linear-gradient(to bottom, var(--separator) 0 1px, transparent 1px 48px);display:grid;position:relative}.cal-day{min-width:0;position:relative}.cal-day+.cal-day{border-left:1px solid var(--separator)}.cal-block,.cal-chip{background:linear-gradient(to right, var(--bar) 0 3px, var(--fill) 3px);cursor:pointer;border-radius:8px;box-shadow:0 0 0 1.5px #0000}.cal-block{-webkit-user-select:none;user-select:none;touch-action:none;align-items:flex-start;gap:4px;padding:3px 6px 3px 9px;display:flex;position:absolute;overflow:hidden}.cal-block.movable{cursor:grab}.cal-block.dragging{cursor:grabbing;z-index:2;box-shadow:0 0 0 1.5px var(--accent), var(--float-shadow)}.cal-block.selected,.cal-chip.selected{box-shadow:0 0 0 1.5px var(--accent) inset}.cal-block:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-block-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cal-block-title{font:500 12px/1.3 var(--font);color:var(--ink);-webkit-line-clamp:1;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cal-chip .cal-block-title{white-space:nowrap;text-overflow:ellipsis;display:block}.cal-block-time{font:400 11px/1.3 var(--font);font-variant-numeric:tabular-nums;color:var(--ink-muted);white-space:nowrap}.cal-block-time.preview{color:var(--accent)}.done .cal-block-title{color:var(--ink-faint);text-decoration:line-through}.cal-check{cursor:pointer;background:0 0;border:0;flex:none;padding:1px 0 0;display:inline-flex}.cal-resize{cursor:ns-resize;height:8px;position:absolute;bottom:0;left:0;right:0}.cal-now{background:var(--now);pointer-events:none;z-index:3;height:1px;position:absolute;left:0;right:0}.cal-now:before{content:"";background:var(--now);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3.5px}.event-details{flex-direction:column;gap:12px;display:flex}.event-line{align-items:flex-start;gap:10px;display:flex}.event-details a{align-self:flex-start;text-decoration:none}.when-card{border:0;min-width:0;margin:0}.when-card:disabled{opacity:.75}.when-card input[type=datetime-local]{background:var(--surface2);font:var(--text-body);font-variant-numeric:tabular-nums;border:0;border-radius:10px;padding:6px 10px}.segmented{border-radius:var(--radius-pill);background:var(--surface2);gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);font:var(--text-label);color:var(--ink-muted);background:0 0;border:0;padding:6px 14px}.segmented button.active{background:var(--bg);color:var(--ink);box-shadow:0 1px 3px #00000014}.settings-pane{grid-column:2/4;grid-template-columns:minmax(360px,480px) minmax(380px,1fr);min-width:0;min-height:0;display:grid}.settings-main{border-right:1px solid var(--separator);flex-direction:column;min-height:0;display:flex}.settings-scroll{padding:64px var(--space-screen) 48px;gap:var(--space-section);flex-direction:column;flex:1;display:flex;overflow-y:auto}.settings-scroll .screen-title{padding:0}.settings-detail{flex-direction:column;min-width:0;min-height:0;display:flex}.settings-detail>.empty-state{margin:auto}.settings-card{align-items:center;gap:12px;padding-top:8px;padding-bottom:8px;display:flex}.settings-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tag-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tag-list.nested{margin:4px 0 4px var(--space-subtask-indent)}.tag-list li.dragging{opacity:.4}.tag-list li.drop-target>.tag-row{box-shadow:0 -2px 0 var(--accent)}.tag-row{background:var(--surface);text-align:left;width:100%;font:var(--text-body);transition:background var(--motion);border:0;border-radius:14px;align-items:center;gap:10px;padding:10px 14px 10px 8px;display:flex}.tag-row:hover{background:var(--surface2)}.tag-row.selected{background:var(--accent-tint)}.tag-row.archived{color:var(--ink-muted)}.tag-row-text{flex-direction:column;gap:1px;min-width:0;display:flex}.drag-handle{letter-spacing:-2px;cursor:grab;padding:0 2px;font-size:11px}select.field{appearance:auto;cursor:pointer}.color-row{gap:10px}.swatch{outline-offset:3px;border:0;border-radius:50%;outline:2px solid #0000;width:28px;height:28px;padding:0}.swatch.none{opacity:.4;background-image:linear-gradient(135deg, transparent 46%, var(--ink-muted) 46% 54%, transparent 54%)!important}.swatch.selected{outline-color:var(--ink)}.button-row{gap:var(--space-card-gap);display:flex}.tag-sub{text-align:left;border:0;width:100%}
