.app-shell{flex-direction:column;height:100%;display:flex}.app-shell>.app-layout{flex:1;min-height:0}.app-layout{box-sizing:border-box;text-align:left;gap:16px;height:100%;padding:16px;display:flex}.app-calendar{flex:1;min-width:0;position:relative}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}@media (width<=700px){.app-shell>.app-layout{flex-direction:column;gap:0;min-width:0;height:auto;padding:0}.phone-tabs{z-index:5;flex-shrink:0;position:relative}.app-layout>.todo-inbox{border:none;border-radius:0;flex:1;width:auto;max-width:none;min-height:0}.app-layout>.phone-settings{flex:1;min-height:0}.app-calendar{flex:1;min-width:0;min-height:0;overflow:hidden}.app-layout .todo-inbox__collapse,.app-layout .todo-inbox--collapsed{display:none}.item-modal-backdrop{justify-content:stretch;align-items:stretch}.item-modal-backdrop .item-modal,.item-modal-backdrop .hours-editor,.item-modal-backdrop .help-panel{width:100%;max-width:none;height:100%;max-height:none;padding:14px 16px 0;padding-top:calc(14px + env(safe-area-inset-top,0px));border-radius:0}.item-modal-backdrop .item-modal__actions{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);margin:0 -16px;position:sticky;bottom:0}.item-modal-backdrop .item-modal__tabs{z-index:1;background:var(--surface);position:sticky;top:0}.item-modal-backdrop .item-modal__btn{min-height:44px;padding:8px 16px}.week-view__popover-backdrop .week-view__popover{box-sizing:border-box;width:100%;max-width:calc(100vw - 24px)}}.week-view-container{flex-direction:column;height:100%;display:flex;position:relative}.week-view__toolbar-group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.week-view__toolbar-divider{background:#e2e8f0;width:1px;height:20px;margin:0 2px}.week-view__toolbar-group .week-view__toolbar-btn{background:0 0;border-color:#0000}.week-view__toolbar-group .week-view__toolbar-btn:hover:not(:disabled){background:#fff}.week-view__toolbar-group--nav .week-view__toolbar-btn--today{background:#fff;box-shadow:0 1px 2px #0f172a1a}.week-view__nav-btn{font-size:var(--text-primary);color:#64748b;padding:6px 9px;line-height:1}.week-view__toolbar-btn:hover{background:#f5f5f5}.week-view__toolbar-btn:active{background:#ececec}.week-view__toolbar-btn--today{color:#2563eb;border-color:#2563eb}.week-view__toolbar-btn--danger{color:#dc2626;border-color:#dc2626;margin-right:auto}.week-view__toolbar-btn--danger:hover{background:#fef2f2}.week-view{--draw-gutter:16px;border:1px solid #e2e2e2;border-radius:8px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.week-view__header{z-index:2;box-sizing:border-box;background:#fff;border-bottom:1px solid #e2e2e2;flex-shrink:0;display:flex}.week-view__day-label{text-align:center;border-left:1px solid #eee;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:.85rem;font-weight:400;display:flex}.week-view__weekday{font-size:var(--text-tertiary);color:#888;font-weight:400}.week-view__date-num{font-size:var(--text-primary);font-weight:500}.week-view__day-label--today .week-view__date-num{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.week-view__month-label{font-size:var(--text-tertiary);color:#444;justify-content:center;align-items:center;font-weight:400;display:flex}.week-view__all-day-row{box-sizing:border-box;background:#fafafa;border-bottom:1px solid #e2e2e2;flex-shrink:0;padding-top:4px;display:flex}.week-view__all-day-label{font-size:var(--text-tertiary);color:#94a3b8;justify-content:flex-end;align-items:flex-start;padding-right:6px;font-weight:400;display:flex}.week-view__all-day-grid{flex:1;position:relative}.week-view__all-day-event{--block-tint:#fffbeb;--block-accent:#f59e0b;--block-border:#fde68a;--block-text:#92400e;box-sizing:border-box;height:20px;font-size:var(--text-secondary);color:var(--block-text);background:var(--block-tint);border:1px solid var(--block-border);border-left:3px solid var(--block-accent);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;padding:0 8px 0 7px;font-weight:500;line-height:1.3;transition:box-shadow .12s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0f172a12}.week-view__all-day-event:hover{box-shadow:0 4px 12px #0f172a29}.week-view__all-day-event--free{border-color:var(--block-accent);box-shadow:none;background:#fff}.week-view__body{flex:1;display:flex;overflow:hidden auto}.week-view__gutter{z-index:1;background:#fff;flex-shrink:0;width:56px;position:sticky;left:0}.week-view__hour-label{font-size:var(--text-tertiary);color:#888;text-align:right;box-sizing:border-box;padding-right:6px;transform:translateY(-.5em)}.week-view__grid{grid-template-columns:repeat(var(--day-count,7), 1fr);flex:1;display:grid}.week-view__column{border-left:1px solid #eee;position:relative}.week-view__hour-cell{box-sizing:border-box;z-index:1;background:0 0;border-bottom:1px solid #f2f2f2;position:relative}.week-view__band-layer{pointer-events:none;z-index:0;position:absolute;inset:0}.week-view__band{opacity:.55;position:absolute;left:0;right:0}.week-view__column-content{inset:0 var(--draw-gutter) 0 2px;position:absolute}.week-view__draw-strip{width:var(--draw-gutter);z-index:2;position:absolute;top:0;bottom:0;right:0}.week-view__draw-strip:hover{background:#0f172a0b}.week-view__event,.week-view__task-block{box-sizing:border-box;font-size:var(--text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;color:var(--block-text);background:var(--block-tint);border:1px solid var(--block-border,transparent);border-left:3px solid var(--block-accent);border-radius:8px;padding:3px 8px 3px 7px;line-height:1.35;transition:box-shadow .12s,transform .12s;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0f172a12}.week-view__event:hover,.week-view__task-block:hover{box-shadow:0 4px 12px #0f172a29}.week-view__event{--block-tint:var(--event-tint);--block-accent:var(--event-accent);--block-border:var(--event-border);--block-text:var(--event-text)}.week-view__event-label{overflow-wrap:break-word;font-weight:500;display:block;overflow:hidden}.week-view__event--detailed .week-view__event-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.week-view__event-meta{font-size:var(--text-tertiary);opacity:.72;overflow-wrap:anywhere;margin-top:1px;font-weight:400;line-height:1.3;display:block}.week-view__event--imported{cursor:default;border-left-style:dashed}.week-view__column{cursor:crosshair}.week-view__task-block{--block-tint:var(--task-tint);--block-accent:var(--task-accent);--block-border:var(--task-border);--block-text:var(--task-text);align-items:flex-start;gap:6px;display:flex;left:0;right:0}.week-view__task-block-body{flex:1;min-width:0;overflow:hidden}.week-view__task-block--goal{--block-tint:var(--goal-tint);--block-accent:var(--goal-accent);--block-border:var(--goal-border);--block-text:var(--goal-text)}.week-view__task-block-check{cursor:pointer;z-index:3;appearance:none;border:1.5px solid var(--block-accent);background:#fff;border-radius:4px;flex-shrink:0;width:14px;height:14px;margin:1px 0 0;transition:background .12s,border-color .12s;position:relative}.week-view__task-block-check:hover{background:var(--block-border)}.week-view__task-block-check:checked{background:var(--block-accent);border-color:var(--block-accent)}.week-view__task-block-check:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.week-view__task-block-check:focus-visible{outline:2px solid var(--block-accent);outline-offset:1px}.week-view__task-block-label{overflow-wrap:break-word;font-weight:500;display:block}.week-view__task-block--detailed .week-view__task-block-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.week-view__task-block-meta{font-size:var(--text-tertiary);opacity:.72;overflow-wrap:anywhere;margin-top:1px;font-weight:400;line-height:1.3;display:block}.week-view__task-block--pinned{outline:2px solid var(--block-accent);outline-offset:-2px}.week-view__task-block--overdue{outline-offset:-2px;outline:2px solid #f59e0b;box-shadow:0 0 0 2px #f59e0b40}.week-view__task-block--missed{--block-tint:#fef2f2;--block-accent:#ef4444;--block-border:#fecaca;--block-text:#991b1b;outline-offset:-2px;outline:2px solid #f87171}.week-view__task-block--done{--block-tint:#f8fafc;--block-border:#e2e8f0;--block-text:#94a3b8;box-shadow:none;opacity:.85}.week-view__task-block--done .week-view__task-block-label{font-weight:400;text-decoration:line-through;text-decoration-thickness:1.5px}.week-view__task-block--done .week-view__task-block-check:checked{background:var(--block-accent);border-color:var(--block-accent)}.week-view__block-handle{cursor:ns-resize;z-index:2;height:6px;position:absolute;left:0;right:0}.week-view__block-handle--top{top:0}.week-view__block-handle--bottom{bottom:0}@keyframes week-view-settle{0%{opacity:0;transform:translateY(7px)scale(.985)}to{opacity:1;transform:none}}.week-view__task-block--settling{animation:.3s cubic-bezier(.2,.7,.3,1) both week-view-settle}.week-view__task-block--settling.week-view__block--dragging{animation:none}@media (prefers-reduced-motion:reduce){.week-view__task-block--settling{animation:none}}.week-view__block--dragging{opacity:.55;cursor:grabbing;box-shadow:0 6px 16px #0f172a4d}@media (width<=700px){.week-view--single-day .week-view__block--dragging{opacity:.9;transform:scale(1.03);box-shadow:0 10px 24px #0f172a59}}.week-view__block-preview{pointer-events:none;z-index:40;background:#2563eb24;border:2px dashed #1d4ed8;border-radius:7px;position:absolute;left:0;right:0}.week-view__now-line{pointer-events:none;z-index:6;border-top:2px solid #ef4444;height:0;position:absolute;left:0;right:0}.week-view__now-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-1px;box-shadow:0 0 0 2px #ef444440}.week-view__event--preview{box-shadow:none;pointer-events:none;background:#2563eb33;border:1px dashed #2563eb;left:0;right:0}.week-view__popover-backdrop{z-index:10;visibility:visible;pointer-events:auto;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.week-view__popover{background:#fff;border-radius:10px;flex-direction:column;gap:14px;width:280px;padding:20px;display:flex;box-shadow:0 10px 30px #0003}.week-view__popover-title{font-size:var(--text-primary);color:#222;margin:0;font-weight:500}.week-view__join{border:1px solid var(--event-border);background:var(--event-tint);color:var(--event-text);font-size:var(--text-secondary);text-align:center;border-radius:6px;padding:8px 10px;font-weight:500;text-decoration:none;display:block}.week-view__join:hover{border-color:var(--event-accent)}.week-view__join:focus-visible{outline:2px solid var(--event-accent);outline-offset:2px}.week-view__popover-note{font-size:var(--text-tertiary);color:#6b7280;margin:0}.week-view__event-video{opacity:.75;vertical-align:baseline;margin-right:4px;font-size:.75em}.week-view__meeting-keys{font-size:var(--text-tertiary);grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.week-view__meeting-keys dt{color:#6b7280}.week-view__meeting-keys dd{color:#222;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;margin:0}.week-view__popover-field{font-size:var(--text-secondary);color:#666;flex-direction:column;gap:4px;font-weight:500;display:flex}.week-view__popover-checkbox{font-size:var(--text-secondary);color:#444;cursor:pointer;align-items:center;gap:6px;font-weight:400;display:flex}.week-view__popover-field input,.week-view__popover-field select,.week-view__popover-field textarea{font:inherit;font-size:var(--text-primary);color:#222;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;padding:6px 8px}.week-view__popover-field textarea{resize:vertical;min-height:44px}.week-view__popover-times{gap:12px;display:flex}.week-view__popover-times .week-view__popover-field{flex:1}.week-view__popover-actions{justify-content:flex-end;gap:8px;display:flex}.week-view__task-block-check:disabled{opacity:.45;cursor:default}.week-view__task-block-check:disabled:hover{border-color:inherit;background:inherit;transform:none}@media (width<=700px){.week-view--single-day .week-view__block-handle{height:16px}.week-view--single-day{border:none;border-radius:0}.week-view--single-day .week-view__header{display:none}.week-view--single-day .week-view__gutter{width:46px}.week-view--single-day .week-view__grid{animation:.2s ease-out week-view-day-in}.week-view--single-day .week-view__grid[data-direction="-1"]{animation-name:week-view-day-in-back}}@keyframes week-view-day-in{0%{opacity:.4;transform:translate(9%)}}@keyframes week-view-day-in-back{0%{opacity:.4;transform:translate(-9%)}}@media (prefers-reduced-motion:reduce){.week-view--single-day .week-view__grid,.week-view--single-day .week-view__grid[data-direction="-1"]{animation:none}}.week-view__replan{z-index:6;border:1px solid var(--task-accent);background:var(--task-accent);color:#fff;font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;border-radius:999px;padding:9px 16px;position:absolute;bottom:10px;right:10px;box-shadow:0 3px 12px #0f172a38}.week-view__replan:active{background:#0f766e}.week-view__task-block[data-flat]{border-left-width:1px;border-left-color:var(--block-border,transparent)}.week-view__event[data-selected],.week-view__task-block[data-selected]{outline:2px solid var(--action,#2563eb);outline-offset:1px;z-index:40}.phone-header{padding-top:env(safe-area-inset-top,0);background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex}.phone-header__row{grid-template-columns:44px 1fr 44px;align-items:center;min-height:48px;padding:0 4px;display:grid}.phone-header__corner{width:44px;height:44px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.phone-header__corner:active{background:var(--surface-raised)}.phone-header__corner--add{color:var(--ink-strong);font-size:26px;line-height:1}.phone-header__centre{justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.phone-header__step{width:34px;height:40px;color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:22px;line-height:1}.phone-header__step:active{color:var(--ink-strong)}.phone-header__title{min-width:0;font:inherit;color:var(--ink-strong);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;margin:0;padding:2px 0;display:flex}h1.phone-header__title{cursor:default}.phone-header__title-text{font-size:15px;font-weight:var(--weight-name);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.sync-status{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.sync-status--button{cursor:pointer}.sync-status--button:hover{border-color:var(--line);background:var(--surface-raised,#f8fafc);color:var(--ink)}.sync-status__dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.sync-status--attention{color:#b45309;background:#fef3c7}.sync-status--attention .sync-status__dot{opacity:1}.sync-status--attention.sync-status--button:hover{color:#b45309;background:#fde68a;border-color:#b45309}@media (width<=900px){.sync-status__label{display:none}}.import-summary__text{color:#333;margin:0;font-size:.85rem;line-height:1.5}.import-summary__loading .import-summary__text{text-align:center;animation:1.4s ease-in-out infinite import-summary-pulse}@keyframes import-summary-pulse{0%,to{opacity:.5}50%{opacity:1}}.view-controls__group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.view-controls__icon-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:30px;height:28px;padding:0;display:inline-flex}.view-controls__icon-btn:hover:not(:disabled){color:#0f172a;background:#fff}.view-controls__icon-btn:disabled{opacity:.4;cursor:not-allowed}.view-controls__icon-btn--on{color:#2563eb;background:#fff;box-shadow:0 1px 2px #0f172a1a}.view-controls__icon-btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.view-controls__zoom-level{text-align:center;min-width:42px;font-size:var(--text-tertiary);color:#6b7280;font-variant-numeric:tabular-nums;font-weight:400}.view-controls__menu-anchor{display:flex;position:relative}.view-controls__menu-backdrop{z-index:5;position:fixed;inset:0}.view-controls__menu{z-index:6;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:2px;min-width:178px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0f172a29}.view-controls__menu--hidden{visibility:hidden;pointer-events:none}.view-controls__menu-item{width:100%;font:inherit;font-size:var(--text-secondary);color:#334155;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-weight:400;display:block}.view-controls__menu-item:hover{color:#0f172a;background:#f1f5f9}.date-strip{background:var(--surface);grid-template-columns:repeat(5,1fr);align-items:start;padding:2px 4px 6px;display:grid}.date-strip__day{font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-height:44px;padding:2px 0;display:flex}.date-strip__weekday{font-size:var(--text-tertiary);color:var(--ink-faint)}.date-strip__num{width:28px;height:28px;font-size:var(--text-primary);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.date-strip__num--on{background:var(--ink-strong);color:var(--surface);font-weight:var(--weight-name)}.date-strip__num--today{color:var(--accent);font-weight:var(--weight-name)}.today-button{z-index:6;border:1px solid var(--line);background:var(--surface);color:var(--ink-strong);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;border-radius:999px;padding:9px 16px;position:absolute;bottom:10px;left:10px;box-shadow:0 3px 12px #0f172a2e}.today-button:active{background:var(--surface-raised)}.todo-inbox{background:#fff;border:1px solid #e2e2e2;border-radius:8px;flex-direction:column;flex-shrink:0;width:320px;transition:width .15s;display:flex;overflow:hidden}.todo-inbox--page{border:none;border-radius:0;flex:1;width:auto;min-width:0;transition:none;overflow:visible}.todo-inbox--page .todo-inbox__sections{flex:none;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 320px;align-content:start;width:100%;max-width:1180px;min-height:auto;margin:0 auto;display:grid;overflow:visible}.todo-inbox--page [data-section=tasks]{grid-area:1/1;min-width:0}.todo-inbox--page [data-section=goals]{grid-area:1/2}.todo-inbox--page [data-section=progress]{border-top:1px solid var(--hairline);grid-area:2/1/auto/-1;margin-top:20px;padding-top:20px}.todo-inbox--page [data-section=tasks]{border-right:1px solid var(--hairline);padding-right:28px}.todo-inbox--page [data-section=goals]{padding-left:28px}.todo-inbox--page .todo-inbox__section{border-bottom:none}@media (width<=1100px){.todo-inbox--page .todo-inbox__sections{flex-direction:column;max-width:860px;display:flex}.todo-inbox--page [data-section=tasks]{border-right:none;padding-right:0}.todo-inbox--page [data-section=goals]{padding-left:0}.todo-inbox--page [data-section=progress]{margin-top:0}}.todo-inbox--page .todo-inbox__header{display:none}.todo-inbox--page .todo-inbox__at-risk-banner{box-sizing:border-box;width:100%;max-width:1180px;margin:12px auto 0}.todo-inbox--page .todo-inbox__section--grow{flex:none}.todo-inbox--page .todo-inbox__section-body--scroll{flex:none;overflow-y:visible}.todo-inbox--page .todo-inbox__sections{padding-bottom:24px}.todo-inbox__group+.todo-inbox__group{margin-top:18px}.todo-inbox__group-title{padding:0 var(--row-pad-x);font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink-muted);align-items:baseline;gap:8px;margin:0 0 2px;display:flex}.todo-inbox__group-count{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:400}.todo-inbox--collapsed{width:40px}.todo-inbox__expand{cursor:pointer;color:#374151;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:10px;padding:14px 0;display:flex}.todo-inbox__expand:hover{background:#f8fafc}.todo-inbox__list-icon{flex-direction:column;gap:3px;width:18px;display:flex}.todo-inbox__list-icon i{background:#64748b;border-radius:2px;height:2.5px}.todo-inbox__list-icon i:first-child{width:100%}.todo-inbox__list-icon i:nth-child(2){width:72%}.todo-inbox__list-icon i:nth-child(3){width:86%}.todo-inbox__count-badge{box-sizing:border-box;color:#fff;background:#2563eb;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:700;display:flex}.todo-inbox__header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.todo-inbox__search{padding:10px var(--row-pad-x);border-bottom:1px solid var(--hairline);flex-shrink:0;align-items:center;display:flex;position:relative}.todo-inbox--page .todo-inbox__search{box-sizing:border-box;border-bottom:none;width:100%;max-width:1180px;margin:0 auto;padding-bottom:0}.todo-inbox__search-input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:100%;font:inherit;font-size:var(--text-secondary);color:var(--ink);appearance:none;padding:7px 30px;line-height:1}.todo-inbox__search-input::-webkit-search-cancel-button{appearance:none}.todo-inbox__search-input::placeholder{color:var(--ink-faint)}.todo-inbox__search-input:focus-visible{outline:2px solid var(--action);outline-offset:1px;border-color:#0000}.todo-inbox__search-icon,.todo-inbox__search-clear{color:var(--ink-faint);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.todo-inbox__search-icon{left:calc(var(--row-pad-x) + 9px)}.todo-inbox__search-clear{right:calc(var(--row-pad-x) + 5px);border-radius:var(--radius-control);cursor:pointer;pointer-events:auto;background:0 0;border:none;width:20px;height:20px;padding:0;font-size:15px;line-height:1}.todo-inbox__search-clear:hover{color:var(--ink-strong);background:var(--surface-raised)}.todo-inbox__search-clear:focus-visible{outline:2px solid var(--action);outline-offset:1px}.todo-inbox__header-left{align-items:center;gap:var(--space-1);display:flex}.todo-inbox__collapse{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e2e2e2;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:1rem;line-height:1;display:flex}.todo-inbox__collapse:hover{background:#f5f5f5}.todo-inbox__title{color:#222;margin:0;font-size:1rem;font-weight:700}.todo-inbox__btn{color:#333;cursor:pointer;background:#fff;border:1px solid #e2e2e2;border-radius:6px;padding:5px 10px;font-size:.8rem;font-weight:600;line-height:1}.todo-inbox__btn:hover{background:#f5f5f5}.todo-inbox__btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.todo-inbox__btn--primary:hover{background:#1d4ed8}.todo-inbox__btn--danger{color:#dc2626;border-color:#dc2626;margin-right:auto}.todo-inbox__btn:disabled{opacity:.5;cursor:not-allowed}.todo-inbox__at-risk-banner{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;margin:10px 14px 0;padding:8px 10px;font-size:.78rem}.todo-inbox__sections{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.todo-inbox__section{border-bottom:1px solid #f1f5f9;flex-direction:column;flex:none;min-height:0;display:flex}.todo-inbox__section:last-child{border-bottom:none}.todo-inbox__section--grow{flex:1 1 0}.todo-inbox__section-head{width:100%;padding:14px var(--row-pad-x) 8px;font:inherit;font-size:var(--text-primary);color:#475569;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:6px;font-weight:500;display:flex}.todo-inbox__section-head:hover{color:#0f172a;background:#f8fafc}.todo-inbox__caret{color:#94a3b8;font-size:.65rem;transition:transform .14s;display:inline-block}.todo-inbox__caret--open{transform:rotate(90deg)}.todo-inbox__section-title{text-align:left;flex:1}.todo-inbox__section-count{font-size:var(--text-secondary);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:400}.todo-inbox__section-body{flex-direction:column;min-height:0;display:flex}.todo-inbox__section-body--scroll{flex:auto;overflow-y:auto}.todo-inbox__tabs{border-bottom:1px solid var(--hairline);flex-shrink:0;display:flex}.todo-inbox__tab{min-height:44px;font:inherit;font-size:var(--text-secondary);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 4px;display:flex}.todo-inbox__tab--on{color:var(--ink);font-weight:var(--weight-name);border-bottom-color:var(--ink)}.todo-inbox__tab-count{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums}.todo-inbox__tab--on .todo-inbox__tab-count{color:var(--ink-muted)}.todo-inbox__sections--tabbed{flex:auto;min-height:0;padding-top:8px;padding-bottom:16px;overflow-y:auto}.todo-inbox__sections--tabbed .progress-analytics{padding:0 var(--row-pad-x)}.todo-inbox__list{margin:0;padding:0;list-style:none}.todo-inbox__empty{padding:18px var(--row-pad-x);text-align:center;color:var(--ink-faint);font-size:var(--text-secondary)}.todo-inbox__item{padding:var(--row-pad-y) var(--row-pad-x);border-top:1px solid var(--hairline);border-radius:0;align-items:center;gap:8px;display:flex;position:relative}.todo-inbox__list>.todo-inbox__item:first-child{border-top:none}.todo-inbox__item:hover{background:#f8fafc}.todo-inbox__item-main{cursor:pointer;flex:1;min-width:0}.todo-inbox__item-title-row{flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;display:flex}.todo-inbox__item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-secondary);color:var(--ink);cursor:pointer;flex:1;font-weight:500;overflow:hidden}.todo-inbox__trailing-note{font-size:var(--text-tertiary);color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-weight:400}.todo-inbox__flag{font-size:var(--text-tertiary);color:#e11d48;white-space:nowrap;background:#fff1f2;border-radius:4px;flex-shrink:0;padding:1px 6px;font-weight:400}.todo-inbox__goal{cursor:pointer;flex-direction:column;align-items:stretch;gap:0;display:flex}.todo-inbox__goal--paused{opacity:.55}.todo-inbox__item-meta{align-items:center;gap:var(--space-1);margin-top:var(--meta-gap);font-size:var(--text-tertiary);color:var(--ink-muted);white-space:nowrap;flex-wrap:nowrap;font-weight:400;display:flex;overflow:hidden}.todo-inbox__item-meta>span{flex-shrink:0}.todo-inbox__item-meta>span:not(:last-child):after{content:"·";color:#cbd5e1;margin-left:5px}.todo-inbox__meta--overdue{color:#dc2626}.todo-inbox__meta--met{color:#0f766e}.todo-inbox__progress{background:#eef2f6;border-radius:999px;height:4px;margin-top:6px;overflow:hidden}.todo-inbox__progress-fill{border-radius:var(--radius-pill);background:var(--progress-task);height:100%}.todo-inbox__progress-fill--goal{background:var(--progress-goal)}.todo-inbox__complete-btn{width:24px;height:24px;color:var(--ink-faint);font-size:var(--text-primary);cursor:pointer;opacity:0;background:#fff;border:1px solid #e2e8f0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:400;line-height:1;transition:opacity .12s,color .12s,border-color .12s;display:flex}.todo-inbox__item:hover .todo-inbox__complete-btn,.todo-inbox__complete-btn:focus-visible{opacity:1}.todo-inbox__complete-btn:hover{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.todo-inbox__item--done .todo-inbox__item-title{color:#9ca3af;text-decoration:line-through}.todo-inbox__done{padding:4px var(--row-pad-x) 10px;border-top:1px solid var(--hairline)}.todo-inbox__done summary{font-size:var(--text-secondary);color:var(--ink-muted);cursor:pointer;padding:6px 0;font-weight:400}.todo-inbox__done summary:hover{color:var(--ink)}.todo-inbox__done .todo-inbox__list{padding:2px 0 0}.todo-inbox__done .todo-inbox__item{border-top:none;align-items:center;gap:8px;padding:6px 0}.todo-inbox__done .todo-inbox__item:hover{background:0 0}.todo-inbox__done-tick{color:#059669;background:#d1fae5;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.68rem;font-weight:800;display:flex}.todo-inbox__item--archived{opacity:.6}.todo-inbox__item--archived .todo-inbox__item-title{color:var(--ink-muted);font-weight:400}.todo-inbox__item--archived:hover{opacity:.85}.todo-inbox__restore-btn:hover{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.todo-inbox__progress-summary{flex-direction:column;gap:10px;padding:2px 14px 14px;display:flex}.todo-inbox__stat-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.todo-inbox__stat{background:#f8fafc;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;display:flex}.todo-inbox__stat-value{font-size:var(--text-primary);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.todo-inbox__stat-label{font-size:var(--text-tertiary);color:var(--ink-muted);font-weight:400}.todo-inbox__review-btn{text-align:center;align-self:stretch}.todo-inbox__modal-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.todo-inbox__modal{box-sizing:border-box;background:#fff;border-radius:10px;flex-direction:column;gap:10px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 10px 30px #0003}.todo-inbox__modal-title{color:#222;margin:0;font-size:.95rem;font-weight:700}.todo-inbox__field{color:#666;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.todo-inbox__field input,.todo-inbox__field select,.todo-inbox__field textarea{font:inherit;color:#222;box-sizing:border-box;resize:vertical;border:1px solid #ddd;border-radius:6px;padding:6px 8px;font-size:.9rem}.todo-inbox__field-row{gap:12px;display:flex}.todo-inbox__field-row .todo-inbox__field{flex:1}.todo-inbox__checkbox-field{color:#374151;align-items:center;gap:8px;font-size:.8rem;display:flex}.todo-inbox__advanced-toggle{color:#2563eb;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.todo-inbox__advanced{border:1px dashed #e5e7eb;border-radius:6px;flex-direction:column;gap:12px;padding:10px;display:flex}.todo-inbox__hint{color:#b45309;margin:0;font-size:.72rem}.todo-inbox__modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.todo-inbox__goal-row{align-items:center;gap:6px;display:flex}.todo-inbox__log-btn,.todo-inbox__session-btn{color:#7c3aed}.todo-inbox__log-btn:hover,.todo-inbox__session-btn:hover{color:#6d28d9;background:#ede9fe;border-color:#ddd6fe}.todo-inbox__log-btn:focus-visible,.todo-inbox__session-btn:focus-visible{outline-offset:1px;opacity:1;outline:2px solid #6d28d9}.log-time{margin-top:var(--row-pad-y);padding-top:var(--row-pad-y);border-top:1px solid var(--hairline);cursor:default;flex-direction:column;gap:8px;display:flex}.log-time__label{font-size:var(--text-secondary);color:var(--goal-text);font-weight:500}.log-time__presets{gap:6px;display:flex}.log-time__preset{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);color:var(--ink);cursor:pointer;flex:1;padding:7px 0;font-weight:500}.log-time__preset:hover{border-color:var(--goal-border);background:var(--goal-tint);color:var(--goal-text)}.log-time__custom{gap:6px;display:flex}.log-time__custom input{border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;font:inherit;font-size:var(--text-secondary);color:var(--ink);background:var(--surface);flex:1;padding:7px 9px}.log-time__custom input:focus{border-color:var(--goal-accent);outline:none;box-shadow:0 0 0 3px #8b5cf626}.log-time__go,.log-time__cancel{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);cursor:pointer;border:1px solid #0000;padding:7px 12px;font-weight:500}.log-time__go{background:var(--progress-goal);color:var(--surface)}.log-time__go:disabled{background:var(--goal-border);color:var(--goal-tint);cursor:not-allowed}.log-time__cancel{color:var(--ink-muted);background:0 0}.log-time__cancel:hover{background:var(--surface-raised);color:var(--ink)}.log-time__hint{font-size:var(--text-tertiary);color:var(--ink-faint);margin:0}.todo-inbox__item:hover .todo-inbox__complete-btn:disabled,.todo-inbox__complete-btn:disabled:focus-visible{opacity:.4}.todo-inbox__complete-btn:disabled{cursor:default}.todo-inbox__complete-btn:disabled:hover{color:var(--ink-faint);border-color:#e2e8f0}@media (hover:none){.todo-inbox__complete-btn{opacity:1}}@media (width<=700px){.todo-inbox__complete-btn{border-radius:10px;width:40px;height:40px;font-size:18px}.todo-inbox__goal-row,.todo-inbox__item{gap:8px}}.todo-inbox__session-btn{background:var(--goal-tint);border-color:var(--goal-border);font-weight:var(--weight-name)}@media (width<=700px){.todo-inbox__section-body--scroll{flex:none;overflow-y:visible}.todo-inbox__section--grow{flex:none}.todo-inbox__sections{padding-bottom:16px;overflow-y:auto}}.todo-inbox__item--banded{background:var(--row-project)}.todo-inbox__done .todo-inbox__item--banded{margin:0 calc(-1 * var(--row-pad-x));padding-left:var(--row-pad-x);padding-right:var(--row-pad-x)}.todo-inbox__backlog-note{padding:0 var(--row-pad-x) 6px;font-size:var(--text-tertiary);color:var(--ink-faint);margin:0}.todo-inbox__select-toggle[aria-pressed=true]{border-color:var(--action);color:var(--action)}.todo-inbox__select{flex-shrink:0;width:20px;height:20px;margin:0}.review{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;gap:16px;width:840px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.review__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.review__nav{align-items:center;gap:4px;display:flex}.review__nav-btn{font-size:var(--text-primary);padding:4px 10px;line-height:1}.review__range{text-align:center;min-width:104px;font-size:var(--text-primary);color:#475569;font-weight:500}.review__stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.review__stat{text-align:center;background:#f8fafc;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.review__stat-value{font-size:var(--text-display);color:#0f172a;font-variant-numeric:tabular-nums;font-weight:500}.review__stat-label{font-size:var(--text-tertiary);color:#64748b;font-weight:400;line-height:1.25}.review__empty{font-size:var(--text-secondary);color:#64748b;text-align:center;background:#f8fafc;border-radius:10px;margin:0;padding:14px}.progress-analytics{flex-direction:column;gap:16px;display:flex}.review__section{flex-direction:column;gap:8px;display:flex}.review__section-title{font-size:var(--text-primary);color:#6b7280;margin:0;font-weight:500}.review__goals,.review__done-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.review__goals--archived{border-top:1px dashed #e2e8f0;margin-top:10px;padding-top:10px}.review__goal--archived{opacity:.55}.review__goal--archived .review__goal-title{color:#64748b;font-weight:500}.review__archived-tag{font-size:var(--text-tertiary);color:#64748b;background:#f1f5f9;border-radius:4px;padding:2px 5px;font-weight:400}.review__done{font-size:var(--text-secondary);align-items:center;gap:8px;display:flex}.review__tick{color:#059669;width:17px;height:17px;font-size:var(--text-tertiary);background:#d1fae5;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-weight:400;display:flex}.review__done-title{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;text-decoration:line-through;overflow:hidden}@media (width<=520px){.review__stats{grid-template-columns:repeat(2,1fr)}}.review,.progress-analytics{--series-task:#0d9488;--series-goal:#5b21b6;--series-event:#3b82f6;--gridline:#eef2f7}.review__section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.review__section-aside{align-items:baseline;gap:10px;display:flex}.review__section-note{font-size:var(--text-tertiary);color:var(--ink-muted)}.review__table-toggle{font:inherit;font-size:var(--text-secondary);color:#4f46e5;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:400;text-decoration:underline}.review__pager{justify-content:center;align-items:center;gap:8px;display:flex}.review__pager-tabs{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.review__pager-tab{border-radius:var(--radius-pill);font:inherit;font-size:var(--text-secondary);color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:5px 12px;font-weight:400}.review__pager-tab:hover{background:var(--surface-raised);color:var(--ink)}.review__pager-tab--active{background:var(--goal-tint);border-color:var(--goal-border);color:var(--goal-text);font-weight:500}.heatmap{flex-direction:column;gap:8px;display:flex}.heatmap__scroll{padding-bottom:2px;overflow-x:auto}.heatmap__grid{grid-template-rows:auto auto;grid-template-columns:28px 1fr;gap:3px 4px;min-width:min-content;display:grid}.heatmap__months{grid-area:1/2;grid-template-columns:repeat(var(--cols), 14px);font-size:var(--text-tertiary);color:var(--ink-muted);display:grid}.heatmap__month{white-space:nowrap;grid-row:1}.heatmap__days{font-size:var(--text-tertiary);color:var(--ink-muted);text-align:right;grid-area:2/1;grid-template-rows:repeat(7,14px);padding-right:2px;display:grid}.heatmap__day-label{line-height:14px}.heatmap__cells{grid-area:2/2;gap:3px;display:flex}.heatmap__week{grid-template-rows:repeat(7,11px);gap:3px;display:grid}.heatmap__cell{border-radius:2px;width:11px;height:11px;position:relative}.heatmap__cell--empty{background:0 0}.heatmap__cell--l0{background:#eef1f4}.heatmap__cell--l1{background:#45cabe}.heatmap__cell--l2{background:#14b8a6}.heatmap__cell--l3{background:#0f766e}.heatmap__cell--l4{background:#134e4a}.heatmap__cell[tabindex]{cursor:pointer}.heatmap__cell[tabindex]:hover,.heatmap__cell[tabindex]:focus-visible{outline-offset:1px;z-index:4;outline:2px solid #0f172a}.heatmap__scale{font-size:var(--text-tertiary);color:var(--ink-muted);align-items:center;gap:3px;display:flex}.heatmap__scale span:first-child{margin-right:2px}.heatmap__scale span:last-child{margin-left:2px}.review__streaks{font-size:var(--text-secondary);color:#374151;align-items:baseline;gap:10px;display:flex}.review__streaks strong{font-size:var(--text-primary);color:#0f172a;font-weight:500}.review__streaks-best{color:var(--ink-muted)}.chart{flex-direction:column;gap:8px;display:flex}.chart__plot{gap:6px;height:150px;margin-bottom:20px;display:flex}.chart__axis{font-size:var(--text-tertiary);color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:space-between;min-width:22px;display:flex}.chart__bars{flex:1;align-items:flex-end;gap:6px;display:flex;position:relative}.chart__gridline{background:var(--gridline);height:1px;position:absolute;left:0;right:0}.chart__slot{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.chart__column{cursor:pointer;border-radius:4px 4px 0 0;flex-direction:column-reverse;gap:2px;width:100%;max-width:24px;min-height:2px;display:flex;position:relative}.chart__column:focus-visible{outline-offset:2px;outline:2px solid #0f172a}.chart__seg{min-height:2px}.chart__seg:first-child{border-radius:0 0 2px 2px}.chart__seg:last-child{border-radius:4px 4px 0 0}.chart__seg--task{background:var(--series-task)}.chart__seg--goal{background:var(--series-goal)}.chart__seg--event{background:var(--series-event)}.chart__cap{font-size:var(--text-tertiary);color:#0f172a;white-space:nowrap;font-weight:500;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.chart__x{font-size:var(--text-tertiary);color:var(--ink-muted);white-space:nowrap;position:absolute;bottom:0;transform:translateY(100%)}.chart--alternate-labels .chart__slot:nth-child(2n) .chart__x{visibility:hidden}.chart__legend,.heatmap__legend{font-size:var(--text-tertiary);color:#374151;flex-wrap:wrap;gap:12px;display:flex}.chart__legend-item{align-items:center;gap:5px;display:inline-flex}.chart__swatch{border-radius:2px;width:10px;height:10px}.chart__swatch--task,.chart__key--task{background:var(--series-task)}.chart__swatch--goal,.chart__key--goal{background:var(--series-goal)}.chart__swatch--event,.chart__key--event{background:var(--series-event)}.chart__tip,.track__tip{color:#f8fafc;font-size:var(--text-tertiary);white-space:nowrap;pointer-events:none;z-index:6;background:#0f172a;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0f172a4d}.chart__tip strong,.heatmap__tip strong,.track__tip strong{font-size:var(--text-secondary)}.heatmap__tip{color:#f8fafc;font-size:var(--text-tertiary);white-space:nowrap;pointer-events:none;z-index:60;background:#0f172a;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;line-height:1.35;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 6px));box-shadow:0 4px 14px #0f172a4d}.chart__tip-caption,.track__tip-state{color:#cbd5e1}.chart__tip-row{align-items:center;gap:5px;display:flex}.chart__tip-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:10px}.chart__key{border-radius:1px;width:8px;height:2px}.chart__column:hover .chart__tip,.chart__column:focus-visible .chart__tip,.track__bar:hover .track__tip,.track__bar:focus-visible .track__tip{display:flex}.track{border:1px solid #eef2f7;border-radius:10px;flex-direction:column;gap:5px;padding:12px;display:flex}.track__head{align-items:center;gap:6px;display:flex}.track__title{font-size:var(--text-primary);color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.track__streak{font-size:var(--text-tertiary);color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-weight:400}.track__met{font-size:var(--text-tertiary);color:var(--success);white-space:nowrap;flex-shrink:0;font-weight:400}.track__meter{background:var(--progress-track);border-radius:4px;height:8px;overflow:hidden}.track__meter-fill{background:var(--progress-goal);border-radius:4px;height:100%;transition:width .25s}.track__meta{font-size:var(--text-secondary);color:var(--ink-muted);justify-content:space-between;gap:10px;display:flex}.track__meta strong{color:#1f2937}.track__record{white-space:nowrap}.track__strip{align-items:flex-end;gap:3px;height:44px;margin-top:14px;display:flex;position:relative}.track__target{z-index:1;background:#94a3b8;height:1px;position:absolute;left:0;right:0}.track__target-key{align-items:center;gap:5px;display:inline-flex}.track__target-key i{background:#94a3b8;width:14px;height:1px}.track__period{flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.track__bar{background:var(--goal-border);cursor:pointer;border-radius:3px 3px 0 0;width:100%;min-height:2px;position:relative}.track__bar--met{background:var(--progress-goal)}.track__bar:focus-visible{outline-offset:2px;outline:2px solid #0f172a}@media (width<=820px){.review{width:calc(100vw - 32px)}}.review__tabs{background:#f1f5f9;border-radius:10px;gap:2px;padding:3px;display:flex}.review__tab{font:inherit;font-size:var(--text-primary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:7px 12px;font-weight:500;transition:background .12s,color .12s}.review__tab:hover{color:#334155}.review__tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1f}.review__tab:focus-visible{outline-offset:1px;outline:2px solid #4f46e5}.review__weeknav{justify-content:center;align-items:center;gap:6px;display:flex}.review__section-lede{font-size:var(--text-secondary);color:#6b7280;margin:-2px 0 2px}.review__goals{gap:16px}.track{background:#fbfaff;border:1px solid #e2e8f0;border-radius:12px;gap:7px;padding:16px}.track__title{font-size:var(--text-primary);color:#0f172a;font-weight:500}.track__strip{margin-top:6px}.track__strip-head{font-size:var(--text-tertiary);color:#94a3b8;border-top:1px solid #e9e5f8;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;display:flex}.review__goals--archived{gap:6px}.review__goal--archived{font-size:var(--text-secondary);color:#64748b;align-items:center;gap:8px;display:flex}.review__goal--archived .review__goal-title{font-weight:600}.review__goal--archived .review__goal-meta{margin-left:auto}.project-bars{flex-direction:column;gap:6px;margin-top:10px;display:flex}.project-bars__row{grid-template-columns:minmax(0,8em) 1fr auto;align-items:center;gap:8px;display:grid}.project-bars__name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-secondary);color:var(--ink-muted);overflow:hidden}.project-bars__track{background:#eef2f6;border-radius:4px;height:8px}.project-bars__fill{border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.project-bars__value{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.review__filter{border-bottom:1px solid var(--hairline);justify-content:flex-end;align-items:center;gap:8px;margin-bottom:4px;padding:8px 0;display:flex}.review__filter-label{font-size:var(--text-tertiary);color:var(--ink-muted);flex-shrink:0}.review__filter-select{min-width:0}@media (width<=700px){.review__filter{justify-content:space-between}.review__filter-select{flex:1;max-width:60%}}.project-color{flex-direction:column;gap:8px;display:flex}.project-color__swatches{flex-wrap:wrap;gap:6px;display:flex}.project-color__swatch{border-radius:var(--radius-pill);cursor:pointer;width:24px;height:24px;box-shadow:none;border:1px solid #0000001f;padding:0;transition:box-shadow .12s}.project-color__swatch:hover{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--border)}.project-color__swatch--on,.project-color__swatch--on:hover{box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ink)}.project-color__swatch:focus-visible{outline:2px solid var(--action,#2563eb);outline-offset:2px}.project-color__swatch--none{background:linear-gradient(to bottom right, transparent calc(50% - 1px), var(--ink-faint) calc(50% - 1px), var(--ink-faint) calc(50% + 1px), transparent calc(50% + 1px)), var(--surface-raised)}.project-color__custom{align-items:center;gap:8px;display:flex}.project-color__custom-label{font-size:var(--text-tertiary);color:var(--ink-muted)}.project-color__input{border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;background:0 0;width:32px;height:24px;padding:0}.project-color__input::-webkit-color-swatch-wrapper{padding:2px}.project-color__input::-webkit-color-swatch{border:none;border-radius:3px}.project-color__input::-moz-color-swatch{border:none;border-radius:3px}.project-color__hex{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums}.dtp{position:relative}.dtp__trigger{width:100%;font:inherit;font-size:var(--text-primary);color:#94a3b8;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:400;display:flex}.dtp__trigger--set{color:#0f172a}.dtp__trigger:hover{border-color:#cbd5e1}.dtp__trigger:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.dtp__clear{color:#64748b;width:18px;height:18px;font-size:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.dtp__clear:hover{color:#0f172a;background:#f1f5f9}.dtp__popover{z-index:40;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:10px;width:260px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #0f172a2e}.dtp__cal-head{justify-content:space-between;align-items:center;display:flex}.dtp__month{font-size:var(--text-primary);color:#0f172a;font-weight:500}.dtp__nav{color:#475569;font-size:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;width:28px;height:28px;line-height:1}.dtp__nav:hover{color:#0f172a;background:#f1f5f9}.dtp__weekdays,.dtp__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dtp__weekday{text-align:center;font-size:var(--text-tertiary);color:#94a3b8;padding-bottom:2px;font-weight:400}.dtp__day{aspect-ratio:1;font:inherit;font-size:var(--text-secondary);color:#334155;cursor:pointer;background:0 0;border:none;border-radius:7px;font-weight:400}.dtp__day:hover{background:#eff6ff}.dtp__day--outside{color:#cbd5e1}.dtp__day--today{color:#2563eb;font-weight:500;box-shadow:inset 0 0 0 1px #93c5fd}.dtp__day--selected{color:#fff;background:#2563eb;font-weight:500}.dtp__day--selected:hover{background:#1d4ed8}.dtp__time-row{border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding-top:10px;display:flex}.dtp__time-label{font-size:var(--text-secondary);color:#475569;font-weight:500}.dtp__time-input{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:7px;flex:1;padding:6px 8px;font-weight:400}.dtp__time-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.dtp__presets{flex-wrap:wrap;gap:5px;display:flex}.dtp__preset{color:#475569;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;font-weight:500}.dtp__preset:hover{background:#f8fafc;border-color:#cbd5e1}.dtp__preset--active{color:#2563eb;background:#eff6ff;border-color:#2563eb}.dtp__footer{border-top:1px solid #f1f5f9;justify-content:space-between;gap:8px;padding-top:10px;display:flex}.dtp__footer-btn{color:#334155;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:6px 14px;font-weight:500}.dtp__footer-btn:hover{background:#f8fafc}.dtp__footer-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.dtp__footer-btn--primary:hover{background:#1d4ed8}.month-view{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.month-view__toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.month-view__toolbar-left,.month-view__toolbar-right{align-items:center;gap:8px;display:flex}.month-view__toolbar-group{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.month-view__nav-btn,.month-view__today-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;line-height:1}.month-view__nav-btn{font-size:var(--text-primary);color:#64748b;padding:6px 9px}.month-view__today-btn{font-size:var(--text-secondary);font-weight:var(--weight-name);color:#333;background:#fff;padding:6px 12px;box-shadow:0 1px 2px #0f172a1a}.month-view__nav-btn:hover{color:var(--ink-strong);background:#fff}.month-view__title{font-size:var(--text-display);font-weight:var(--weight-name);color:var(--ink-strong);white-space:nowrap;margin:0}.month-view__toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 2px}.month-view__add-btn{border:1px solid var(--action);border-radius:var(--radius-control);background:var(--action);color:#fff;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;align-items:center;gap:5px;padding:7px 14px;line-height:1;display:inline-flex;box-shadow:0 1px 3px #2563eb59}.month-view__add-btn:hover{background:var(--action-hover);border-color:var(--action-hover)}.month-view__add-plus{font-size:1.05rem;font-weight:500;line-height:1}.month-view__weekdays{background:var(--surface);border-bottom:1px solid #e2e2e2;flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.month-view__weekday{font-size:var(--text-tertiary);color:#888;text-align:left;padding:6px 8px;font-weight:400}.month-view__grid{border-left:1px solid var(--hairline);flex-direction:column;flex:1;min-height:0;display:flex}.month-view__weeks{flex-direction:column;height:100%;min-height:0;animation:.16s cubic-bezier(.2,.7,.3,1) both month-arrive;display:flex}.month-view__weeks[data-direction="-1"]{animation-name:month-arrive-back}@keyframes month-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes month-arrive-back{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.month-view__weeks{animation:none}}.month-view__row{border-bottom:1px solid var(--hairline);flex:1;grid-template-columns:repeat(7,1fr);min-height:0;display:grid;position:relative}.month-view__row:last-child{border-bottom:none}.month-view__day{border-right:1px solid var(--hairline);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;min-width:0;padding:3px 4px;display:flex;position:relative}.month-view__day:last-child{border-right:none}.month-view__day--outside{background:var(--surface-raised)}.month-view__day--outside .month-view__date{color:var(--ink-faint)}.month-view__day--selected,.month-view__day--outside.month-view__day--selected{background:#2563eb1a;box-shadow:inset 0 0 0 1px #2563eb59}.month-view__date{min-width:18px;height:18px;font-size:var(--text-secondary);font-weight:var(--weight-name);font-variant-numeric:tabular-nums;color:var(--ink);flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;display:inline-flex}.month-view__day--today .month-view__date{color:#fff;background:var(--action);border-radius:50%}.month-view__more{font-size:var(--text-tertiary);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:auto;padding:0 3px;font-weight:400}.month-view__more:hover{color:var(--ink-strong);text-decoration:underline}.month-view__lanes{pointer-events:none;grid-template-columns:repeat(7,1fr);grid-auto-rows:21px;align-items:start;display:grid;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.month-view__chip{pointer-events:auto;min-width:0;height:19px;font-size:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;margin:0 3px;padding:0 5px;line-height:1;display:flex}.month-view__chip--bar{background:var(--block-tint,var(--event-tint));border-left:3px solid var(--block-accent,var(--event-accent));color:var(--block-text,var(--event-text))}.month-view__chip--bar:hover{background:var(--block-border,#e0ecfe)}.month-view__chip--bar.month-view__chip--free{box-sizing:border-box;border:1px solid var(--block-accent,var(--event-accent));border-left:3px solid var(--block-accent,var(--event-accent));background:0 0}.month-view__chip--bar.month-view__chip--free:hover{background:var(--surface-raised)}.month-view__chip--from-before{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.month-view__chip--runs-on{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.month-view__chip--timed{color:var(--ink)}.month-view__chip--timed:hover{background:var(--surface-raised)}.month-view__chip-dot{background:var(--block-accent,var(--event-accent));border-radius:50%;flex-shrink:0;width:6px;height:6px}.month-view__chip-time{font-size:var(--text-tertiary);color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.month-view__chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:var(--weight-name);overflow:hidden}.month-view__chip:focus-visible,.month-view__more:focus-visible{outline:2px solid var(--action);outline-offset:1px}.bulk-bar{z-index:60;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-panel,8px);background:var(--surface);max-width:calc(100% - 24px);padding:8px 12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0f172a24}.bulk-bar__count{font-size:var(--text-secondary);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.bulk-bar__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bulk-bar__btn{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-secondary);color:var(--ink);cursor:pointer;white-space:nowrap;padding:5px 10px}.bulk-bar__btn:hover{background:var(--surface-raised)}.bulk-bar__clear{font-size:var(--text-tertiary);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:5px 6px}.bulk-bar__clear:hover{color:var(--ink)}.bulk-bar__filing{position:relative}.bulk-bar__menu{z-index:1;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-width:180px;max-height:260px;padding:4px;position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 6px 20px #0f172a24}.bulk-bar__menu-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;font-size:var(--text-secondary);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;display:flex}.bulk-bar__menu-item:hover{background:var(--surface-raised)}.bulk-bar__menu-item--none{border-top:1px solid var(--hairline);color:var(--ink-muted);border-radius:0 0 4px 4px;margin-top:4px}.bulk-bar__swatch{border-radius:var(--radius-pill);border:1px solid #0000001f;flex-shrink:0;width:10px;height:10px}@media (width<=700px){.bulk-bar{flex-wrap:wrap;max-width:none;bottom:8px;left:8px;right:8px;transform:none}}.projects-view{flex-direction:column;height:100%;min-height:0;display:flex;overflow-y:auto}.projects-view__open{align-items:center;gap:var(--space-2);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:0;display:flex}.projects-view__swatch{border-radius:var(--radius-pill);border:1px solid #0000001f;flex-shrink:0;width:12px;height:12px}.projects-view__chevron{width:16px;height:16px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:flex}.projects-view__chevron:hover{color:var(--ink)}.projects-view__item--parked .surface-row__name{color:var(--ink-muted)}.projects-view__item--parked .projects-view__swatch{opacity:.4}.projects-view__create{gap:var(--space-2);padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--hairline);display:flex}.projects-view__create input{border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;font:inherit;font-size:var(--text-secondary);color:var(--ink);background:var(--surface);flex:1;padding:7px 9px}.projects-view__create button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;padding:7px 12px;line-height:1}.projects-view__create button:hover{background:var(--surface-raised)}.projects-view__settings{color:var(--ink-muted)}.projects-view__empty{max-width:34ch;padding:40px var(--row-pad-x);text-align:center;font-size:var(--text-secondary);color:var(--ink-faint);margin:0 auto;line-height:1.5}.projects-view__item--dragging{opacity:.55;cursor:grabbing;box-shadow:0 6px 16px #0f172a4d}.projects-view__item--drop-target{outline-offset:-2px;background:#2563eb24;outline:2px dashed #1d4ed8}.projects-view__list--dragging{-webkit-user-select:none;user-select:none}.projects-view__drop-root{padding:var(--row-pad-y) var(--row-pad-x);border:2px dashed var(--line);border-radius:var(--radius-control);margin:6px var(--row-pad-x);font-size:var(--text-tertiary);color:var(--ink-muted);text-align:center}.projects-view__drop-root--active{color:var(--ink);background:#2563eb24;border-color:#1d4ed8}.project-workspace{background:var(--surface);flex-direction:column;height:100%;display:flex;overflow-y:auto}.project-workspace__head{gap:var(--space-2);border-bottom:1px solid var(--hairline);flex-direction:column;padding:14px;display:flex}.project-workspace__back{font-size:var(--text-secondary);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.project-workspace__back:hover{color:var(--ink)}.project-workspace__title-row{align-items:center;gap:var(--space-2);display:flex}.project-workspace__breadcrumb{font-size:var(--text-tertiary);color:var(--ink-muted)}.project-workspace__breadcrumb-item{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.project-workspace__breadcrumb-item:hover{color:var(--ink);text-decoration:underline}.project-workspace__head-actions{gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.project-workspace__swatch{border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000001f;flex-shrink:0;width:24px;height:24px;padding:0}.project-workspace__swatch:disabled{cursor:default}.project-workspace__title{align-items:baseline;gap:var(--space-2);font-size:var(--text-display);color:var(--ink-strong);margin:0;font-weight:500;display:flex}.project-workspace__rename-btn{font-size:var(--text-tertiary);color:var(--ink-faint);cursor:pointer;opacity:0;background:0 0;border:none;padding:0;transition:opacity .12s}.project-workspace__title:hover .project-workspace__rename-btn,.project-workspace__rename-btn:focus-visible{opacity:1}.project-workspace__rename{border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;font-size:var(--text-display);color:var(--ink-strong);flex:1;padding:2px 6px;font-weight:500}.project-workspace__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-workspace__menu-anchor{position:relative}.project-workspace__menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-width:170px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #0f172a24}.project-workspace__menu-item{text-align:left;width:100%;font:inherit;font-size:var(--text-secondary);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:7px 8px;display:block}.project-workspace__menu-item:hover{background:var(--surface-raised)}.project-workspace__action--primary{border-color:var(--action);background:var(--action);color:var(--surface)}.project-workspace__action--primary:hover{background:var(--action-hover)}.project-workspace__action--danger{border-color:var(--danger);background:var(--surface);color:var(--danger)}.project-workspace__action--danger:hover{background:var(--risk-bg)}.project-workspace__journal{flex:1}.project-workspace__day{border-top:1px solid var(--hairline);padding:12px 14px}.project-workspace__day:first-child{border-top:none}.project-workspace__day-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.project-workspace__day-title{font-size:var(--text-primary);color:var(--ink);margin:0;font-weight:500}.project-workspace__day-total{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums}.project-workspace__done{margin:8px 0 0;padding:0;list-style:none}.project-workspace__done-item{align-items:center;gap:var(--space-2);font-size:var(--text-secondary);color:var(--ink-muted);padding:3px 0;display:flex}.project-workspace__tick{color:var(--success)}.project-workspace__done-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-workspace__done-mins{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-shrink:0}.project-workspace__note{width:100%;font:inherit;font-size:var(--text-secondary);color:var(--ink);resize:none;background:0 0;border:none;margin-top:6px;padding:4px 0}.project-workspace__note::placeholder{color:var(--ink-faint)}.project-workspace__note:focus{outline:none}.project-workspace__foot{border-top:1px solid var(--hairline);padding:14px}.project-workspace__delete{font-size:var(--text-secondary);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0}.project-workspace__delete:hover{color:var(--danger)}.project-workspace__confirm{gap:var(--space-2);flex-direction:column;display:flex}.project-workspace__confirm-q{font-size:var(--text-secondary);color:var(--ink);margin:0}.project-workspace__confirm-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-workspace__pick-day{padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--hairline);align-items:center;display:flex}.project-workspace__section{border-bottom:1px solid var(--hairline)}.project-work__item{padding-right:var(--row-pad-x);flex-wrap:wrap}.project-work__main{gap:var(--meta-gap);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;min-width:0;padding:0;display:flex}.project-work__item--parked .surface-row__name{color:var(--ink-muted)}.project-work__item .log-time{max-width:320px;margin-left:var(--row-pad-x);flex-basis:100%}.project-work__empty{padding:0 var(--row-pad-x) var(--row-pad-y);font-size:var(--text-secondary);color:var(--ink-faint);margin:0}.add-work{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-panel,8px);background:var(--surface-raised);flex-direction:column;padding:10px;display:flex}.add-work__search{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;font-size:var(--text-secondary);padding:5px 8px}.add-work__list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);max-height:220px;overflow-y:auto}.add-work__item{align-items:center;gap:var(--space-2);border-top:1px solid var(--hairline);cursor:pointer;padding:7px 10px;display:flex}.add-work__item:first-child{border-top:none}.add-work__item:hover{background:var(--surface-raised)}.add-work__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-secondary);color:var(--ink);flex:1;overflow:hidden}.add-work__meta{font-size:var(--text-tertiary);color:var(--ink-faint);flex-shrink:0}.add-work__empty{text-align:center;font-size:var(--text-secondary);color:var(--ink-faint);margin:0;padding:14px 10px}.add-work__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.add-work__btn{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-secondary);cursor:pointer;padding:5px 10px}.add-work__btn--primary{border-color:var(--action);background:var(--action);color:var(--surface)}.add-work__btn--primary:disabled{border-color:var(--border);background:var(--surface-raised);color:var(--ink-faint);cursor:default}.project-workspace__hours-count{font-size:var(--text-tertiary);color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:6px}.project-hours{flex-direction:column;gap:8px;display:flex}.project-hours__list{border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;display:flex}.project-hours__option{font-size:var(--text-secondary);color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;display:flex}.project-hours__option:not(:last-child){border-bottom:1px solid var(--border)}.project-hours__option:hover{background:var(--surface-raised)}.project-hours__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-hours__swatch{border:1px solid #0000001f;border-radius:4px;flex-shrink:0;width:12px;height:12px}.project-hours__swatch--none{background-image:linear-gradient(to top right, transparent calc(50% - 1px), var(--ink-faint) calc(50% - 1px), var(--ink-faint) calc(50% + 1px), transparent calc(50% + 1px))}.project-hours__hint{font-size:var(--text-tertiary);color:var(--ink-muted);margin:0}.project-urgency{flex-direction:column;gap:8px;display:flex}.project-urgency__select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;align-self:flex-start;padding:6px 10px}.project-urgency__hint{font-size:var(--text-tertiary);color:var(--ink-muted);margin:0}.completion-prompt-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.completion-prompt{box-sizing:border-box;background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 10px 30px #0003}.completion-prompt__title{color:#222;margin:0;font-size:.95rem;font-weight:700}.completion-prompt__body{font-size:var(--text-secondary);color:#374151;margin:0;line-height:1.45}.completion-prompt__extend{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;margin-top:2px;padding-top:12px;display:flex}.completion-prompt__label{font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--task-text)}.completion-prompt__presets{gap:6px;display:flex}.completion-prompt__preset{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink);cursor:pointer;flex:1;padding:7px 0}.completion-prompt__preset:hover{border-color:var(--task-border);background:var(--task-tint);color:var(--task-text)}.completion-prompt__custom{gap:6px;display:flex}.completion-prompt__custom input{border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;font:inherit;font-size:var(--text-secondary);color:var(--ink);background:var(--surface);flex:1;padding:7px 9px}.completion-prompt__custom input:focus{border-color:var(--task-accent);outline:none;box-shadow:0 0 0 3px #14b8a626}.completion-prompt__add{border:1px solid var(--task-border);border-radius:var(--radius-control);background:var(--task-tint);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--task-text);cursor:pointer;padding:7px 12px}.completion-prompt__add:hover:not(:disabled){border-color:var(--task-accent)}.completion-prompt__add:disabled{opacity:.5;cursor:not-allowed}.completion-prompt__hint{font-size:var(--text-tertiary);color:var(--ink-muted);margin:0}.completion-prompt__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.completion-prompt__cancel,.completion-prompt__complete{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;border:1px solid #0000;padding:7px 12px}.completion-prompt__cancel{color:var(--ink-muted);background:0 0}.completion-prompt__cancel:hover{color:var(--ink-strong)}.completion-prompt__complete{background:var(--action);border-color:var(--action);color:#fff}.completion-prompt__complete:hover{background:var(--action-hover);border-color:var(--action-hover)}.completion-prompt__preset:focus-visible,.completion-prompt__add:focus-visible,.completion-prompt__cancel:focus-visible,.completion-prompt__complete:focus-visible{outline:2px solid var(--action);outline-offset:1px}.inbox-view{flex-direction:column;height:100%;min-height:0;display:flex}.inbox-view__organise{border-bottom:1px solid var(--hairline);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:4px 0 18px;display:flex}.inbox-view__group-label{font-size:var(--text-tertiary);color:var(--ink-muted)}.inbox-view__group-by{background:#f1f5f9;border-radius:11px;align-items:center;gap:3px;padding:3px;display:flex}.inbox-view__group-btn{font-size:var(--text-primary);font-weight:var(--weight-name);color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 18px;line-height:1}.inbox-view__group-btn:hover:not(.inbox-view__group-btn--on){color:var(--ink-strong);background:#fff}.inbox-view__group-btn--on{color:var(--action);background:#fff;box-shadow:0 1px 2px #0f172a1a}.inbox-view__group-btn:focus-visible,.inbox-view__add-btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.inbox-view__body{flex:1;min-height:0;display:flex}@media (width<=900px){.inbox-view__organise{align-items:flex-start;padding-bottom:14px}.inbox-view__group-by{flex-wrap:wrap}.inbox-view__group-btn{font-size:var(--text-secondary);padding:8px 14px}}.hours-editor{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.hours-editor__intro{color:#64748b;margin:0;font-size:.78rem;line-height:1.45}.hours-editor__list{flex-direction:column;gap:12px;display:flex}.hours-editor__band{border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.hours-editor__band-head{align-items:center;gap:8px;display:flex}.hours-editor__swatch-preview{border:1px solid #0f172a1f;border-radius:5px;flex-shrink:0;width:16px;height:16px}.hours-editor__name{font:inherit;color:#0f172a;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:6px 8px;font-size:.9rem;font-weight:600}.hours-editor__name:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.hours-editor__remove{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;width:24px;height:24px;font-size:1.1rem;line-height:1}.hours-editor__remove:hover{color:#dc2626;background:#fef2f2}.hours-editor__swatches{flex-wrap:wrap;gap:5px;display:flex}.hours-editor__swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:22px;height:22px;padding:0;box-shadow:inset 0 0 0 1px #0f172a1a}.hours-editor__swatch--active{border-color:#0f172a}.hours-editor__swatch--none{background:#fff linear-gradient(to top right,#0000 calc(50% - 1px),#cbd5e1 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px))}.hours-editor__segment{background:#f8fafc;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.hours-editor__days{gap:4px;display:flex}.hours-editor__day{color:#64748b;width:26px;height:26px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;padding:0;font-size:.72rem;font-weight:700}.hours-editor__day:hover{border-color:#cbd5e1}.hours-editor__day--on{color:#fff;background:#2563eb;border-color:#2563eb}.hours-editor__times{align-items:center;gap:6px;display:flex}.hours-editor__times input{font:inherit;color:#0f172a;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:7px;padding:5px 7px;font-size:.85rem}.hours-editor__times input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.hours-editor__dash{color:#94a3b8;font-size:.85rem}.hours-editor__add-band{color:#2563eb;font:inherit;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:8px;align-self:flex-start;padding:7px 12px;font-size:.82rem;font-weight:600}.hours-editor__add-band:hover{background:#f8fafc;border-color:#94a3b8}.print-portal{z-index:60;background:#0f172a73;display:flex;position:fixed;inset:0}.print-dialog{background:var(--surface-raised);flex:1;min-width:0;display:flex}.print-dialog__options{gap:var(--space-4);box-sizing:border-box;padding:var(--space-4);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:0 0 300px;display:flex;overflow-y:auto}.print-dialog__bulk{gap:var(--space-3);display:flex}.print-dialog__projects{gap:var(--space-2);flex-direction:column;max-height:180px;display:flex;overflow-y:auto}.print-dialog .item-modal__actions{margin-top:auto}@media screen{.print-dialog .print-preview{padding:var(--space-4);flex:1}}@media print{.print-portal,.print-dialog{background:0 0;display:block;position:static}.print-dialog__options{display:none}}.account-backdrop{z-index:30;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.account{box-sizing:border-box;background:var(--surface);border-radius:10px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 10px 30px #0003}.account__head{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.account__title{color:#222;margin:0;font-size:.95rem;font-weight:700}.account__close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.3rem;line-height:1}.account__close:hover{color:var(--ink)}.account__body{flex-direction:column;gap:14px;padding:12px 20px 20px;display:flex}.account__lead{font-size:var(--text-secondary);color:#374151;margin:0;line-height:1.45}.account__note{font-size:var(--text-secondary);color:var(--muted);margin:0;line-height:1.4}.account__note--foot{border-top:1px solid var(--hairline);padding-top:10px}.account__status{border-radius:var(--radius-control);font-size:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding:10px 12px;line-height:1.45;display:flex}.account__status--ok{color:#0f766e;background:#d1fae5}.account__status--warn{color:#b45309;background:#fef3c7}.account__section{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;padding-top:12px;display:flex}.account__section-title{font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink);margin:0}.account__devices{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.account__device{font-size:var(--text-secondary);color:var(--ink);border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.account__device:first-child{border-top:none}.account__form{flex-direction:column;gap:6px;display:flex}.account__label{font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink)}.account__row{gap:6px;display:flex}.account__input{border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;font:inherit;font-size:var(--text-secondary);color:var(--ink);background:var(--surface);flex:1;padding:7px 9px}.account__input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.account__error{font-size:var(--text-secondary);color:#b91c1c;margin:0;line-height:1.4}.account__actions{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.account__btn{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink);cursor:pointer;white-space:nowrap;padding:7px 12px}.account__btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.account__btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.account__btn--primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.account__btn--quiet{color:var(--muted)}.account__btn:disabled{opacity:.6;cursor:default}.account__marginless{margin:0}.account__diag-actions{flex-wrap:wrap;gap:8px;display:flex}.account__diag{border:1px solid var(--hairline);background:var(--surface-sunken,#f6f6f5);max-height:220px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-tertiary,11px);white-space:pre;-webkit-user-select:text;user-select:text;border-radius:6px;margin:0;padding:8px 10px;line-height:1.5;overflow:auto}.calendars{width:520px}.calendars__connection{border:1px solid var(--line);padding:var(--space-3);gap:var(--space-2);border-radius:8px;flex-direction:column;display:flex}.calendars__offer{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--line);padding:var(--space-2) var(--space-3);border-radius:8px;display:flex}.calendars__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.calendars__provider{font-size:var(--text-primary);font-weight:var(--weight-name);color:var(--ink-strong)}.calendars__state{font-size:var(--text-tertiary);color:var(--ink-muted)}.calendars__state--warn{color:var(--warning)}.calendars__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendars__choice{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;cursor:pointer;display:flex}.calendars__choice input:disabled{cursor:default}.calendars__name{font-size:var(--text-secondary);color:var(--ink)}@media (width<=560px){.calendars{width:auto}}.phone-tabs{border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0);flex-shrink:0;display:flex}.phone-tabs__tab{font:inherit;font-size:var(--text-tertiary);color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex:1;min-height:48px;padding:11px 2px;position:relative}.phone-tabs__tab--on{color:var(--ink);font-weight:var(--weight-name)}.phone-tabs__label{display:block}.phone-tabs__badge{color:#e11d48;min-width:16px;font-size:11px;font-weight:var(--weight-name);background:#fff1f2;border-radius:8px;padding:0 4px;line-height:16px;position:absolute;top:6px;left:50%;transform:translate(14px)}.phone-settings{background:var(--surface);flex-direction:column;height:100%;display:flex;overflow-y:auto}.phone-settings__title{font-size:var(--text-display);font-weight:var(--weight-name);color:var(--ink-strong);margin:0;padding:16px 16px 10px}.phone-settings__row{box-sizing:border-box;border:none;border-bottom:1px solid var(--hairline);background:var(--surface);width:100%;min-height:50px;font:inherit;font-size:var(--text-primary);color:var(--ink);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.phone-settings__row:active{background:var(--surface-raised)}.phone-settings__label{min-width:0}.phone-settings__value{color:var(--ink-muted);font-size:var(--text-secondary)}.phone-settings__chevron{color:var(--ink-faint);font-size:18px;line-height:1}.phone-settings__status{border-bottom:1px solid var(--hairline);padding:10px 16px 14px}.phone-settings__status:empty{display:none}.phone-settings__stack{flex-direction:column;gap:2px;min-width:0;display:flex}.phone-settings__sub{font-size:var(--text-secondary);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phone-settings__heading{font-size:var(--text-tertiary);font-weight:var(--weight-name);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:0;padding:18px 16px 6px}.phone-settings__group{border-top:none}.phone-settings__group+.phone-settings__group{margin-top:0}.celebration{z-index:60;background:#fff;border:1px solid #d1fae5;border-radius:12px;align-items:center;gap:12px;min-width:260px;max-width:min(420px,100vw - 32px);padding:12px 14px;animation:.32s cubic-bezier(.2,.9,.3,1.2) both celebration-in;display:flex;position:fixed;bottom:24px;left:50%;box-shadow:0 16px 40px #0f172a38}@keyframes celebration-in{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.celebration__spark{flex-shrink:0;font-size:1.5rem;line-height:1;animation:.5s ease-out .1s both celebration-pop}@keyframes celebration-pop{0%{transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.25)rotate(6deg)}to{transform:scale(1)rotate(0)}}.celebration__body{flex:1;min-width:0}.celebration__title{color:#065f46;font-size:.9rem;font-weight:700}.celebration__detail{color:#475569;margin-top:2px;font-size:.78rem}.celebration__streak{color:#b45309;margin-top:4px;font-size:.72rem;font-weight:700}.celebration__close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-self:flex-start;width:22px;height:22px;font-size:1.05rem;line-height:1}.celebration__close:hover{color:#0f172a;background:#f1f5f9}@media (prefers-reduced-motion:reduce){.celebration,.celebration__spark{animation:none}}.tour{z-index:30;position:fixed;inset:0}.tour__block{position:fixed;inset:0}.tour__scrim{width:100%;height:100%;position:fixed;inset:0}.tour__dim{fill:#0f172a8c}.tour__scrim--plain{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c}.tour__ring{fill:none;stroke:var(--action);stroke-width:2px;animation:2.4s ease-in-out infinite tour-ring-breathe}@keyframes tour-ring-breathe{0%,to{opacity:1}50%{opacity:.45}}.tour-card{box-sizing:border-box;background:var(--surface);gap:var(--space-2);border-radius:12px;flex-direction:column;width:340px;max-width:calc(100vw - 24px);padding:16px;display:flex;position:fixed;box-shadow:0 18px 44px #0f172a47}.tour-card--centred{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card__tail{background:var(--surface);width:12px;height:12px;position:absolute;transform:rotate(45deg)}.tour-card--below .tour-card__tail{top:-6px;left:calc(var(--tail-offset) - 6px)}.tour-card--above .tour-card__tail{bottom:-6px;left:calc(var(--tail-offset) - 6px)}.tour-card--right .tour-card__tail{left:-6px;top:calc(var(--tail-offset) - 6px)}.tour-card--left .tour-card__tail{right:-6px;top:calc(var(--tail-offset) - 6px)}.tour-card__title{font-size:var(--text-primary);font-weight:var(--weight-name);color:var(--ink-strong);margin:0}.tour-card__body{font-size:var(--text-secondary);color:var(--ink);margin:0;font-weight:400}.tour-card__swatches{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.tour-card__swatch{font-size:var(--text-tertiary);border:1px solid;border-left-width:3px;border-radius:6px;flex:1;padding:6px 8px}.tour-card__swatch--event{background:var(--event-tint);border-color:var(--event-border);border-left-color:var(--event-accent);color:var(--event-text)}.tour-card__swatch--task{background:var(--task-tint);border-color:var(--task-border);border-left-color:var(--task-accent);color:var(--task-text)}.tour-card__swatch--goal{background:var(--goal-tint);border-color:var(--goal-border);border-left-color:var(--goal-accent);color:var(--goal-text)}.tour-card__install{display:flex}.tour-card__install-btn{border:1px solid var(--action);background:var(--surface);color:var(--action);font:inherit;font-size:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;padding:9px 12px;font-weight:500}.tour-card__install-btn:hover{background:var(--action);color:#fff}.tour-card__install-btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.tour-card__install-note{font-size:var(--text-tertiary);color:var(--ink-muted);margin:0}.tour-card__foot{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.tour-card__progress{font-size:var(--text-tertiary);color:var(--ink-faint);font-variant-numeric:tabular-nums}.tour-card__actions{gap:var(--space-2);display:flex}.tour-card__btn{border:1px solid var(--line);background:var(--surface);color:#334155;font-size:var(--text-secondary);cursor:pointer;border-radius:8px;padding:7px 12px;font-weight:500}.tour-card__btn:hover{border-color:var(--ink-faint)}.tour-card__btn--primary{background:var(--action);border-color:var(--action);color:#fff}.tour-card__btn--primary:hover{background:var(--action-hover);border-color:var(--action-hover)}.tour-card__btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}@media (width<=700px){.tour-card__btn{min-height:40px}}@media (prefers-reduced-motion:reduce){.tour__ring{opacity:1;animation:none}}.tour-stage{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.tour-stage__grid{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);height:148px;position:relative;overflow:hidden}.tour-stage__head{background:var(--surface-raised);border-bottom:1px solid var(--hairline);align-items:center;height:20px;display:flex;position:absolute;top:0;left:0;right:0}.tour-stage__day{text-align:center;font-size:var(--text-tertiary);color:var(--ink-faint);flex:1}.tour-stage__hour{border-top:1px solid var(--hairline);position:absolute;left:0;right:0}.tour-stage__hour--1{top:40%}.tour-stage__hour--2{top:60%}.tour-stage__hour--3{top:80%}.tour-stage__divider{border-left:1px solid var(--hairline);position:absolute;top:20px;bottom:0;left:50%}.tour-stage__chip{border:1px solid var(--line);background:var(--surface);font-size:var(--text-tertiary);color:#334155;border-radius:6px;padding:3px 8px;font-weight:500;display:none;position:absolute;bottom:8px;right:8px}[data-demo=schedule] .tour-stage__chip{display:block}.tour-stage__piece{box-sizing:border-box;border:1px solid;border-radius:5px;position:absolute}.tour-stage__piece--event{background:var(--event-tint);border-color:var(--event-border);border-left:3px solid var(--event-accent);width:40%;height:22%;top:24%;left:5%}.tour-stage__piece--task{background:var(--task-tint);border-color:var(--task-border);border-left:3px solid var(--task-accent);width:40%;height:20%;top:56%;left:5%}.tour-stage__piece--goal{background:var(--goal-tint);border-color:var(--goal-border);border-left:3px solid var(--goal-accent);width:40%;height:20%;top:28%;left:55%}.tour-stage__pointer{opacity:0;position:absolute;top:0;left:0;transform:translate(30px,92px)}.tour-stage__pulse,.tour-stage__pinned{display:none}.tour-stage__caption{font-size:var(--text-tertiary);color:var(--ink-muted)}[data-demo=schedule] .tour-stage__piece--task{animation:3.4s ease-out infinite tour-drop-in}[data-demo=schedule] .tour-stage__piece--goal{animation:3.4s ease-out .25s infinite tour-drop-in}[data-demo=schedule] .tour-stage__pointer{animation:3.4s ease-in-out infinite tour-press}@keyframes tour-drop-in{0%,12%{opacity:0;transform:translateY(-10px)}30%,to{opacity:1;transform:none}}@keyframes tour-press{0%{opacity:0;transform:translate(196px,138px)}8%{opacity:1;transform:translate(196px,138px)}14%{transform:translate(228px,126px)}20%{transform:translate(228px,129px)}26%{transform:translate(228px,126px)}80%{opacity:1;transform:translate(228px,126px)}to{opacity:0;transform:translate(228px,126px)}}[data-demo=drag] .tour-stage__chip{display:block}[data-demo=drag] .tour-stage__piece--task{animation:5.2s ease-in-out infinite tour-drag;top:58%;left:55%}[data-demo=drag] .tour-stage__pinned{box-sizing:border-box;border:2px solid var(--task-accent);border-radius:5px;width:40%;height:20%;animation:5.2s ease-out infinite tour-drag-pinned;display:block;position:absolute;top:58%;left:55%}[data-demo=drag] .tour-stage__piece--goal{animation:5.2s ease-in-out infinite tour-reflow;top:56%;left:5%}[data-demo=drag] .tour-stage__pointer{animation:5.2s ease-in-out infinite tour-drag-pointer}@keyframes tour-drag{0%,8%{transform:translate(-150px,-3px)}30%,to{transform:none}}@keyframes tour-drag-pinned{0%,30%{opacity:0}40%,to{opacity:1}}@keyframes tour-reflow{0%,62%{transform:translate(150px,-41px)}78%,to{transform:none}}@keyframes tour-drag-pointer{0%{opacity:0;transform:translate(40px,96px)}8%{opacity:1;transform:translate(40px,96px)}30%{opacity:1;transform:translate(190px,96px)}42%{transform:translate(190px,96px)}54%{transform:translate(228px,126px)}60%{transform:translate(228px,129px)}66%{transform:translate(228px,126px)}90%{opacity:1;transform:translate(228px,126px)}to{opacity:0;transform:translate(228px,126px)}}[data-demo=pin] .tour-stage__pulse{border-radius:var(--radius-pill);border:2px solid var(--task-accent);opacity:0;width:12px;height:12px;margin:-6px 0 0 -6px;animation:3.6s ease-out infinite tour-pulse;display:block;position:absolute;top:66%;left:25%}[data-demo=pin] .tour-stage__pinned{box-sizing:border-box;border:2px solid var(--task-accent);border-radius:5px;width:40%;height:20%;animation:3.6s ease-out infinite tour-pin-appear;display:block;position:absolute;top:56%;left:5%}[data-demo=pin] .tour-stage__pointer{animation:3.6s ease-in-out infinite tour-pin-pointer}@keyframes tour-pulse{0%,18%{opacity:0;transform:scale(.4)}24%{opacity:.9;transform:scale(1)}30%{opacity:0;transform:scale(1.8)}32%{opacity:0;transform:scale(.4)}38%{opacity:.9;transform:scale(1)}46%,to{opacity:0;transform:scale(1.8)}}@keyframes tour-pin-appear{0%,40%{opacity:0}52%,to{opacity:1}}@keyframes tour-pin-pointer{0%{opacity:0;transform:translate(60px,100px)}12%{opacity:1;transform:translate(60px,100px)}20%{transform:translate(60px,97px)}26%{transform:translate(60px,100px)}34%{transform:translate(60px,97px)}40%{transform:translate(60px,100px)}85%{opacity:1}to{opacity:0;transform:translate(60px,100px)}}@media (prefers-reduced-motion:reduce){.tour-stage__piece,.tour-stage__pulse,.tour-stage__pinned,.tour-stage__pointer{animation:none!important}.tour-stage__pointer,.tour-stage__pulse{display:none}}.help-panel{box-sizing:border-box;background:var(--surface);gap:var(--space-3);border-radius:14px;flex-direction:column;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.help-panel__tour{gap:var(--meta-gap);width:100%;padding:var(--row-pad-y) var(--row-pad-x);text-align:left;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-panel);cursor:pointer;font:inherit;flex-direction:column;display:flex}.help-panel__tour:hover{border-color:var(--action)}.help-panel__tour:focus-visible{outline:2px solid var(--action);outline-offset:1px}.help-panel__tour-label{font-size:var(--text-primary);font-weight:var(--weight-name);color:var(--ink-strong)}.help-panel__tour-sub{font-size:var(--text-secondary);color:var(--ink-muted);font-weight:400}.help-panel__form{gap:var(--space-2);border-top:1px solid var(--hairline);padding-top:var(--space-3);flex-direction:column;display:flex}.help-panel__heading{font-size:var(--text-primary);font-weight:var(--weight-name);color:var(--ink-strong);margin:0}.help-panel__note{font-size:var(--text-secondary);color:var(--ink-muted);margin:0;font-weight:400}.help-panel__message{font:inherit;font-size:var(--text-primary);color:var(--ink-strong);border:1px solid var(--line);border-radius:var(--radius-panel);box-sizing:border-box;resize:vertical;background:var(--surface);padding:8px 10px;font-weight:400}.help-panel__message:focus{border-color:var(--action);outline:none;box-shadow:0 0 0 3px #2563eb26}.help-panel__sent{font-size:var(--text-secondary);color:var(--success);margin:0}.help-panel__error{font-size:var(--text-secondary);color:var(--danger);margin:0}.help-panel__mailto{color:var(--action)}@media (width<=700px){.item-modal-backdrop .help-panel__form{flex:1}.item-modal-backdrop .help-panel__form .item-modal__actions{margin-top:auto}}.read-only-notice{padding:var(--row-pad-y) var(--row-pad-x);background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.read-only-notice__title{font-size:var(--text-primary);font-weight:var(--weight-name)}.read-only-notice__detail{font-size:var(--text-secondary);color:var(--ink-muted)}
