:root{--color-bg:#fafafa;--color-surface:#fff;--color-surface-strong:#fff;--color-ink:#18181b;--color-ink-secondary:#71717a;--color-line:#18181b14;--color-line-strong:#18181b1f;--color-accent:#b45a3c;--color-accent-hover:#9a4d33;--color-accent-subtle:#b45a3c1a;--color-secondary:#4a7c7c;--color-secondary-hover:#3d6969;--color-secondary-subtle:#4a7c7c14;--color-button-hover:#18181b0a;--color-button-soft:#18181b0d;--color-button-soft-hover:#18181b14;--color-toast-button:#ffffff1a;--color-toast-button-hover:#ffffff26;--bg:var(--color-bg);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--ink:var(--color-ink);--muted:var(--color-ink-secondary);--line:var(--color-line);--border:var(--color-line-strong);--accent:var(--color-accent);--accent-strong:var(--color-accent-hover);--accent-2:var(--color-secondary);--status-low:#4a9a6a;--status-low-bg:#4a9a6a14;--status-low-border:#4a9a6a33;--status-low-ink:#3a7a52;--status-medium:#c4963a;--status-medium-bg:#c4963a1a;--status-medium-border:#c4963a40;--status-medium-ink:#8a6a1a;--status-high:#b45a3c;--status-high-bg:#b45a3c1a;--status-high-border:#b45a3c40;--status-high-ink:#8a4028;--status-warning:#c4963a;--status-warning-bg:#c4963a14;--status-warning-border:#c4963a33;--status-warning-ink:#8a6a1a;--status-success:#3a8a5a;--status-success-bg:#3a8a5a14;--status-success-border:#3a8a5a33;--status-success-ink:#3a8a5a;--status-error:#a5402a;--status-error-bg:#a5402a14;--status-error-border:#a5402a33;--status-error-ink:#a5402a;--status-error-shadow:#a5402a1f;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:56px;--space-12:64px;--grid-columns:12;--grid-gap:var(--space-5);--layout-padding:var(--space-6);--page-padding:var(--space-8);--shadow-xs:0 1px 2px #18181b08;--shadow-sm:0 1px 3px #18181b0a;--shadow-md:0 2px 8px #18181b0f;--shadow-lg:0 4px 12px #18181b14;--shadow-xl:0 8px 24px #18181b1a;--shadow-card:var(--shadow-sm);--shadow-float:0 4px 16px #18181b1a;--font-display:"Inter",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--text-display:clamp(32px,3.5vw,42px);--text-h1:clamp(24px,2.8vw,30px);--text-h2:clamp(18px,2vw,22px);--text-h3:16px;--text-body:14px;--text-small:13px;--text-caption:11px;--text-overline:10px;--lh-display:1.15;--lh-tight:1.2;--lh-title:1.3;--lh-body:1.5;--lh-caption:1.4;--ls-display:-.025em;--ls-tight:-.015em;--ls-body:-.01em;--ls-caption:0em;--ls-overline:.08em;--icon-set:"Lucide";--icon-stroke:1.5px;--icon-size-xs:12px;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--focus-ring-color:#2d6a6a66;--focus-ring-width:3px;--focus-ring-offset:2px;--ease-out:cubic-bezier(.33,1,.68,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--ease-spring:cubic-bezier(.34,1.3,.64,1);--ease-bounce:cubic-bezier(.68,-.3,.32,1.3);--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.28s;--duration-slower:.4s;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-3xl:20px;--radius-full:999px;font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);color:var(--color-ink);background-color:var(--color-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}h1,h2,h3{font-family:var(--font-display);line-height:var(--lh-title);letter-spacing:var(--ls-tight)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}.text-display{font-family:var(--font-display);font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:700}.text-caption{font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption)}.text-small{font-size:var(--text-small);line-height:var(--lh-caption)}.text-overline{font-size:var(--text-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:600;line-height:1}.icon{width:var(--icon-size-md);height:var(--icon-size-md);fill:none;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:inline-block}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100dvh;margin:0}#root{min-height:100dvh;padding:var(--page-padding);justify-content:center;align-items:stretch;display:flex}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{background:0 0;border:none}input,select,textarea{background-color:#0000}@media (max-width:960px){:root{--grid-columns:4;--grid-gap:var(--space-4);--layout-padding:var(--space-4);--page-padding:var(--space-4)}}@media (max-width:720px){:root{--grid-gap:var(--space-3);--layout-padding:var(--space-3);--page-padding:var(--space-3)}}[data-theme=dark]{--color-bg:#0a0a0b;--color-surface:#18181b;--color-surface-strong:#27272a;--color-ink:#fafafa;--color-ink-secondary:#a1a1aa;--color-line:#ffffff14;--color-line-strong:#ffffff1f;--color-accent:#e07a5a;--color-accent-hover:#c96a4a;--color-accent-subtle:#e07a5a26;--color-secondary:#6aa8a8;--color-secondary-hover:#5a9898;--color-secondary-subtle:#6aa8a81f;--color-button-hover:#ffffff14;--color-button-soft:#ffffff14;--color-button-soft-hover:#ffffff1f;--color-toast-button:#0000001a;--color-toast-button-hover:#00000026;--bg:var(--color-bg);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--ink:var(--color-ink);--muted:var(--color-ink-secondary);--line:var(--color-line);--border:var(--color-line-strong);--accent:var(--color-accent);--accent-strong:var(--color-accent-hover);--accent-2:var(--color-secondary);--status-low:#5aba7a;--status-low-bg:#5aba7a1f;--status-low-border:#5aba7a40;--status-low-ink:#7ada9a;--status-medium:#dab05a;--status-medium-bg:#dab05a1f;--status-medium-border:#dab05a40;--status-medium-ink:#eac06a;--status-high:#e07a5a;--status-high-bg:#e07a5a1f;--status-high-border:#e07a5a40;--status-high-ink:#f08a6a;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 4px 12px #00000059;--shadow-xl:0 8px 24px #0006;--shadow-card:var(--shadow-sm);--shadow-float:0 4px 16px #0006;--focus-ring-color:#6aa8a880}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0a0a0b;--color-surface:#18181b;--color-surface-strong:#27272a;--color-ink:#fafafa;--color-ink-secondary:#a1a1aa;--color-line:#ffffff14;--color-line-strong:#ffffff1f;--color-accent:#e07a5a;--color-accent-hover:#c96a4a;--color-accent-subtle:#e07a5a26;--color-secondary:#6aa8a8;--color-secondary-hover:#5a9898;--color-secondary-subtle:#6aa8a81f;--color-button-hover:#ffffff14;--color-button-soft:#ffffff14;--color-button-soft-hover:#ffffff1f;--color-toast-button:#0000001a;--color-toast-button-hover:#00000026;--bg:var(--color-bg);--surface:var(--color-surface);--surface-strong:var(--color-surface-strong);--ink:var(--color-ink);--muted:var(--color-ink-secondary);--line:var(--color-line);--border:var(--color-line-strong);--accent:var(--color-accent);--accent-strong:var(--color-accent-hover);--accent-2:var(--color-secondary);--status-low:#5aba7a;--status-low-bg:#5aba7a1f;--status-low-border:#5aba7a40;--status-low-ink:#7ada9a;--status-medium:#dab05a;--status-medium-bg:#dab05a1f;--status-medium-border:#dab05a40;--status-medium-ink:#eac06a;--status-high:#e07a5a;--status-high-bg:#e07a5a1f;--status-high-border:#e07a5a40;--status-high-ink:#f08a6a;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 4px 12px #00000059;--shadow-xl:0 8px 24px #0006;--shadow-card:var(--shadow-sm);--shadow-float:0 4px 16px #0006;--focus-ring-color:#6aa8a880}}.skip-link{top:-100%;left:var(--space-4);z-index:100;padding:var(--space-2)var(--space-4);background:var(--color-ink);color:var(--color-surface);border-radius:var(--radius-md);font-size:var(--text-small);transition:top var(--duration-fast)var(--ease-out);font-weight:500;text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-4);outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.app{width:min(1320px,100%);min-height:calc(100dvh - 64px);padding:var(--layout-padding);grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));align-content:start;align-items:start;gap:var(--grid-gap);background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-line);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr;grid-template-areas:"nav nav header header header header header header header header header header""nav nav main main main main main main main detail detail detail";display:grid;position:relative;overflow:hidden}.app--settings{grid-template-areas:"nav nav header header header header header header header header header header""nav nav main main main main main main main main main main"}.app--settings .detail,.app__shape,.app__shape--one,.app__shape--two{display:none}.nav{border:none;border-right:1px solid var(--line);padding:var(--space-4);padding-right:var(--space-5);gap:var(--space-5);background:0 0;border-radius:0;flex-direction:column;grid-area:nav;min-width:0;display:flex}.nav__brand{align-items:center;gap:var(--space-3);display:flex}.nav__mark{border-radius:var(--radius-lg);background:var(--color-accent);color:#fff;width:36px;height:36px;font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);place-items:center;display:grid}.nav__title{font-family:var(--font-display);font-size:var(--text-body);font-weight:600}.nav__subtitle{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);letter-spacing:0;text-transform:none}.nav__section-title{margin:0 0 var(--space-2);font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:0;text-transform:none;color:var(--muted);font-weight:500}.nav__list{gap:var(--space-2);flex-direction:column;display:flex}.nav__item{border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);text-align:left;cursor:pointer;transition:background var(--duration-fast)var(--ease-out);background:0 0;border:none;flex-direction:column;gap:2px;display:flex}.nav__item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.nav__item-sub{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav__item.is-active{background:var(--color-ink);color:var(--color-surface)}.nav__item.is-active .nav__item-sub{color:var(--color-surface);opacity:.7}.nav__item:hover:not(.is-active){background:#18181b0a}.nav__footer{border-top:1px dashed var(--line);padding-top:var(--space-4);font-size:var(--text-small);color:var(--muted);margin-top:auto}.nav__footer-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.nav__badge{color:var(--muted);border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-overline);line-height:var(--lh-caption);background:#18181b0f;font-weight:500}.nav__footer-note{font-size:var(--text-caption);line-height:var(--lh-caption);margin:0}.main{gap:var(--space-5);flex-direction:column;grid-area:main;min-width:0;display:flex}.app__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-1)var(--space-2);grid-area:header;display:flex}.app__header>div{min-width:0}.app__header h1{margin:var(--space-2)0 var(--space-1)}.eyebrow{font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0}.subtitle{color:var(--muted);font-size:var(--text-caption);line-height:var(--lh-caption);margin:0}.header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.panel{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-4)}.button{border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);font-weight:500;font-size:var(--text-small);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);text-align:center;border:1px solid #0000}.button--primary{background:var(--color-ink);color:var(--color-surface)}.button--primary:hover{background:var(--color-ink-secondary)}.button--ghost{border-color:var(--line);color:var(--ink);background:0 0}.button--ghost:hover{background:var(--color-button-hover)}.button--soft{background:var(--color-button-soft);color:var(--ink)}.button--soft:hover{background:var(--color-button-soft-hover)}.button.is-active{background:var(--color-ink);color:var(--color-surface)}.button--danger{background:var(--status-error);color:#fff}.button--danger:hover{background:#8a3520}.button--icon{padding:var(--space-2)}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.4;cursor:not-allowed}.quick-add h2{margin:var(--space-1)0 var(--space-2);font-family:var(--font-display)}.quick-add__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.quick-add__row{gap:var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.quick-add input{border-radius:var(--radius-md);border:1px solid var(--line);width:100%;padding:var(--space-2)var(--space-3);background:var(--color-surface)}.quick-add input:focus-visible,.search input:focus-visible,.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.helper{margin:var(--space-2)0 0;font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted)}.quick-add__footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.template-selector{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--line)}.template-selector__label{margin:0 0 var(--space-2);font-size:var(--text-caption);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.template-selector__list{gap:var(--space-2);flex-wrap:wrap;display:flex}.template-item{padding:var(--space-2)var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.template-item:hover{border-color:var(--color-ink);background:#18181b0a}.template-item__name{font-size:var(--text-small);font-weight:500}.template-item__preview{font-size:var(--text-caption);color:var(--muted)}.weekly-summary{background:linear-gradient(135deg,var(--color-accent-subtle),#4a7c7c14);border-color:var(--color-accent)}.weekly-summary__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.weekly-summary__header h3{margin:var(--space-1)0 0}.weekly-summary__stats{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.weekly-summary__stat{align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.weekly-summary__stat--highlight{background:var(--color-accent);color:#fff}.weekly-summary__stat--highlight .weekly-summary__stat-label{color:#fffc}.weekly-summary__stat-value{font-size:var(--text-h2);font-weight:700;font-family:var(--font-display);line-height:1}.weekly-summary__stat-label{font-size:var(--text-caption);color:var(--muted);font-weight:500}.weekly-summary__message{margin:var(--space-3)0 0;padding:var(--space-2)var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);font-size:var(--text-small);text-align:center}.weekly-summary__message--success{background:var(--status-success-bg);color:var(--status-success-ink)}.weekly-summary__message--warning{background:var(--status-warning-bg);color:var(--status-warning-ink)}.weekly-summary__stat--streak{background:linear-gradient(135deg,#fef3c7,#fde68a)}.weekly-summary__stat--streak .weekly-summary__stat-value{color:#92400e}.weekly-summary__stat--streak .weekly-summary__stat-label{color:#b45309}.daily-goal{margin-top:var(--space-4);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-lg)}.daily-goal__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.daily-goal__label{align-items:center;gap:var(--space-2);font-size:var(--text-small);font-weight:500;display:flex}.daily-goal__edit{cursor:pointer;opacity:.5;width:20px;height:20px;transition:opacity var(--duration-fast)var(--ease-out);background:0 0;border:none;padding:0;font-size:12px}.daily-goal__edit:hover{opacity:1}.daily-goal__badge{font-size:var(--text-caption);color:var(--status-success);background:var(--status-success-bg);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:600}.daily-goal__progress{background:var(--color-line);border-radius:var(--radius-full);height:6px;overflow:hidden}.daily-goal__bar{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal)var(--ease-out)}.filters{gap:var(--space-3);flex-direction:column;display:flex}.filters__block{gap:var(--space-2);flex-direction:column;display:flex}.filters__label{font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.search{align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);background:var(--color-surface);display:flex}.search:focus-within{border-color:var(--color-secondary)}.search__icon{color:var(--muted)}.search input{background:0 0;border:none;outline:none;width:100%}.filter-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.saved-filter{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:0;display:inline-flex;overflow:hidden}.saved-filter__apply{padding:var(--space-1)var(--space-2);font-size:var(--text-small);border:none;border-radius:0}.saved-filter__delete{padding:var(--space-1)var(--space-2);border:none;border-left:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;font-size:14px;line-height:1}.saved-filter__delete:hover{background:var(--danger);color:#fff}.save-filter-input{gap:var(--space-2);align-items:center;display:flex}.save-filter-input input{padding:var(--space-1)var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-small);width:140px}.save-filter-input input:focus{border-color:var(--color-accent);outline:none}.chip{border-radius:var(--radius-md);border:1px solid var(--line);padding:var(--space-1)var(--space-2);font-size:var(--text-small);background:var(--color-surface);cursor:pointer;transition:all var(--duration-fast)var(--ease-out)}.chip:hover:not(.is-active){background:#18181b0a}.chip:active{transform:scale(.97)}.chip.is-active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}.chip-select{gap:var(--space-1);display:flex}.chip--priority-low.is-active{background:var(--status-low);border-color:var(--status-low);color:#fff}.chip--priority-medium.is-active{background:var(--status-medium);border-color:var(--status-medium);color:#fff}.chip--priority-high.is-active{background:var(--status-high);border-color:var(--status-high);color:#fff}.chip__dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.list-panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.list-panel__actions{gap:var(--space-2);display:flex}.tag-selector{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);animation:fadeIn var(--duration-fast)var(--ease-out);background:#18181b05}.tag-selector__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.tag-selector__label{font-size:var(--text-caption);color:var(--muted);font-weight:500}.tag-selector__list{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag-selector__empty{font-size:var(--text-caption);color:var(--muted)}.tag-selector__item{align-items:center;gap:4px;display:flex}.tag-color-btn{border-radius:var(--radius-full);border:2px solid var(--color-surface);cursor:pointer;width:16px;height:16px;transition:transform var(--duration-fast)var(--ease-out);box-shadow:0 0 0 1px var(--color-line)}.tag-color-btn:hover{transform:scale(1.15)}.stat{margin:4px 0 0;font-weight:600}.empty-state{text-align:center;padding:var(--space-8)var(--space-4);color:var(--muted)}.reminder-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.load-more{padding:var(--space-4)0;justify-content:center;display:flex}.load-more button{min-width:200px}.reminder-card{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;padding:var(--space-3)var(--space-4);background:var(--color-surface);gap:var(--space-2);text-align:left;cursor:pointer;transition:border-color var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast)var(--ease-out),opacity var(--duration-normal)var(--ease-out);animation:slideIn var(--duration-normal)var(--ease-out)both;flex-direction:column;display:flex}.reminder-card:hover{box-shadow:var(--shadow-md)}.reminder-card.is-selected{border-color:var(--color-ink);box-shadow:var(--shadow-md)}.reminder-card.is-deleting{animation:collapseOut var(--duration-slow)var(--ease-out)forwards;pointer-events:none}.reminder-card.is-urgent{border-color:var(--color-accent);animation:slideIn var(--duration-normal)var(--ease-out)both,subtlePulse 3s ease-in-out infinite 1s}.reminder-card.is-completed{opacity:.6}.reminder-card.is-completed .reminder-card__title{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);color:var(--muted);transition:all var(--duration-normal)var(--ease-out)}.reminder-card__top{align-items:center;gap:var(--space-2);display:flex}.reminder-card__check{border-radius:var(--radius-sm);border:1px solid var(--color-line-strong);background:var(--color-surface);width:22px;height:22px;color:var(--muted);cursor:pointer;font-size:var(--text-caption);transition:all var(--duration-fast)var(--ease-out);flex-shrink:0;place-items:center;padding:0;line-height:1;display:grid}.reminder-card__check:hover{border-color:var(--color-ink)}.reminder-card__check.is-done{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface);animation:checkPulse var(--duration-normal)var(--ease-spring)}.reminder-card__checkbox{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--color-surface);color:#0000;width:22px;height:22px;transition:all var(--duration-fast)var(--ease-out);flex-shrink:0;place-items:center;font-size:12px;display:grid}.reminder-card__checkbox.is-checked{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.reminder-card.is-checked{background:color-mix(in srgb,var(--color-accent)8%,transparent);border-color:var(--color-accent)}.reminder-card.is-dragging{opacity:.5;cursor:grabbing}.reminder-card.is-drag-over{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}.reminder-card[draggable=true]{cursor:grab}.reminder-card-wrapper{border-radius:var(--radius-md);position:relative;overflow:hidden}.reminder-card__swipe-actions{padding:0 var(--space-4);align-items:center;display:flex;position:absolute;inset:0}.swipe-action{font-size:var(--text-small);font-weight:500}.swipe-action--complete{color:var(--status-success)}.swipe-action--delete{color:var(--status-error-ink);margin-left:auto}.reminder-card-wrapper.swipe-left .reminder-card__swipe-actions{background:var(--status-error-bg)}.reminder-card-wrapper.swipe-right .reminder-card__swipe-actions{background:var(--status-success-bg)}@media (hover:hover){.reminder-card-wrapper{overflow:visible}}.reminder-card__title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:var(--space-1);flex:1;min-width:0;font-weight:500;display:flex;overflow:hidden}.reminder-card__pin{font-size:var(--text-caption);flex-shrink:0}.reminder-card__time{font-size:var(--text-small);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.reminder-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.badge{border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-overline);line-height:var(--lh-caption);border:1px solid var(--line);background:var(--color-surface);font-weight:500}.badge--soft{color:var(--muted);background:#18181b0a;border-color:#18181b14}.badge--tag{align-items:center;gap:4px;display:inline-flex}.badge__dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.badge--ghost{color:var(--muted);background:#18181b0a;border-color:#18181b14}.badge--done{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-ink)}.badge--priority{font-weight:600}.badge--priority-low{background:var(--status-low-bg);border-color:var(--status-low-border);color:var(--status-low-ink)}.badge--priority-medium{background:var(--status-medium-bg);border-color:var(--status-medium-border);color:var(--status-medium-ink)}.badge--priority-high{background:var(--status-high-bg);border-color:var(--status-high-border);color:var(--status-high-ink)}.priority-dot{border-radius:50%;width:10px;height:10px}.priority-dot--low{background:var(--status-low)}.priority-dot--medium{background:var(--status-medium)}.priority-dot--high{background:var(--status-high)}.detail{border:none;border-left:1px solid var(--line);padding:var(--space-4);padding-left:var(--space-5);align-self:start;gap:var(--space-4);background:0 0;border-radius:0;flex-direction:column;grid-area:detail;min-width:0;display:flex;position:sticky;top:24px}.detail h2{margin:var(--space-2)0 var(--space-1);font-family:var(--font-display)}.detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.detail__header>div{min-width:0}.detail__header-actions{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.detail__close{display:none}.detail-backdrop{opacity:0;pointer-events:none;z-index:45;background:#14100c59;transition:opacity .2s;display:none;position:fixed;inset:0}.detail-backdrop.is-open{opacity:1;pointer-events:auto}.fab{border-radius:var(--radius-xl);width:48px;height:48px;color:var(--color-surface);background:var(--color-ink);box-shadow:var(--shadow-lg);cursor:pointer;transition:background var(--duration-fast)var(--ease-out),opacity var(--duration-fast)var(--ease-out);z-index:55;border:none;justify-content:center;align-items:center;font-size:24px;line-height:1;display:none;position:fixed;bottom:24px;right:24px}.fab:hover{background:var(--color-ink-secondary)}.fab--hidden{opacity:0;pointer-events:none}.detail__meta{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:#18181b05;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meta-label{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);margin:0}.meta-value{margin:var(--space-1)0 0;font-weight:500}.detail__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail__subtasks{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--line);background:#18181b05;flex-direction:column;display:flex}.subtasks__header{justify-content:space-between;align-items:center;display:flex}.subtasks__label{font-size:var(--text-caption);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.subtasks__progress{font-size:var(--text-caption);color:var(--color-ink);background:var(--color-accent-subtle);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:600}.subtasks__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.subtask-item{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);transition:opacity var(--duration-fast)var(--ease-out);display:flex}.subtask-item.is-done{opacity:.6}.subtask-item.is-done .subtask-item__title{color:var(--muted);text-decoration:line-through}.subtask-item__check{border-radius:var(--radius-sm);border:2px solid var(--line);cursor:pointer;color:#fff;width:20px;height:20px;transition:all var(--duration-fast)var(--ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.subtask-item__check.is-checked{background:var(--status-success);border-color:var(--status-success)}.subtask-item__title{font-size:var(--text-small);flex:1}.subtask-item__delete{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--muted);opacity:0;transition:opacity var(--duration-fast)var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.subtask-item:hover .subtask-item__delete{opacity:1}.subtask-item__delete:hover{color:var(--status-error)}.subtasks__add{gap:var(--space-2);display:flex}.subtasks__input{padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-small);background:var(--color-surface);flex:1}.subtasks__input:focus{border-color:var(--color-accent);outline:none}.detail__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.snooze{border:1px dashed var(--line);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);background:#18181b05;flex-direction:column;display:flex}.snooze__label{font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.snooze__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.snooze__preset{border-radius:var(--radius-md);border:1px solid var(--line);padding:var(--space-2)var(--space-3);font-size:var(--text-small);background:var(--color-surface);cursor:pointer;transition:all var(--duration-fast)var(--ease-out);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;min-width:100px;display:flex}.snooze__preset:hover{border-color:var(--color-line-strong);background:#18181b0a}.snooze__preset--ghost{color:var(--muted);background:0 0}.snooze__meta{align-items:center;gap:var(--space-1);font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);white-space:nowrap;display:inline-flex}.snooze__icon{width:var(--icon-size-xs);height:var(--icon-size-xs);border:var(--icon-stroke)solid var(--muted);border-radius:50%;flex-shrink:0;display:inline-block;position:relative}.snooze__icon:before,.snooze__icon:after{content:"";background:var(--muted);position:absolute;left:50%;transform:translate(-50%)}.snooze__icon:before{width:var(--icon-stroke);height:4px;top:2px}.snooze__icon:after{width:var(--icon-stroke);transform-origin:bottom;height:5px;top:5px;transform:translate(-50%)rotate(45deg)}.snooze__note{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);margin:0}.confirm{border:1px solid var(--status-warning-border);background:var(--status-warning-bg);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.confirm p{margin:0;font-weight:500}.confirm__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.detail__empty{text-align:center;color:var(--muted)}.priority-pill{border-radius:var(--radius-sm);padding:2px var(--space-2);font-size:var(--text-overline);line-height:var(--lh-caption);font-weight:500}.priority-pill--low{background:var(--status-low-bg);color:var(--status-low-ink)}.priority-pill--medium{background:var(--status-medium-bg);color:var(--status-medium-ink)}.priority-pill--high{background:var(--status-high-bg);color:var(--status-high-ink)}.settings__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings__card{background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.settings__card h3{font-family:var(--font-display);margin:0}.field{gap:var(--space-1);flex-direction:column;font-size:14px;display:flex}.field input,.field textarea,.field select{border-radius:var(--radius-md);border:1px solid var(--line);padding:var(--space-2)var(--space-3);background:var(--color-surface)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-secondary)}.field textarea{resize:vertical;min-height:90px}.field--full{grid-column:1/-1}.toggle{align-items:center;gap:var(--space-2);font-size:14px;display:flex}.settings__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.category-list{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.category-item{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);display:flex}.category-item__dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.category-item__name{font-size:var(--text-small);flex:1;font-weight:500}.button--small{padding:var(--space-1)var(--space-2);font-size:var(--text-caption)}.settings__permission{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);margin-bottom:var(--space-3);display:flex}.settings__permission-status{font-size:var(--text-small);font-weight:500}.settings__permission-status--granted{color:var(--success)}.settings__permission-status--denied{color:var(--danger)}.settings__permission-status--default{color:var(--muted)}.settings__quiet-hours{gap:var(--space-3);margin-top:var(--space-2);padding-left:var(--space-6);display:flex}.settings__quiet-hours .field--inline{align-items:center;gap:var(--space-2);flex:1;display:flex}.settings__quiet-hours .field--inline span{font-size:var(--text-small);color:var(--muted);white-space:nowrap}.settings__quiet-hours input[type=time]{padding:var(--space-1)var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-small);background:var(--color-bg);flex:1}.settings__divider{border:none;border-top:1px dashed var(--line);margin:var(--space-2)0}.settings__sound-select{margin-top:var(--space-2);padding-left:var(--space-6)}.settings__sound-select select{width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);font-size:var(--text-small);background:var(--color-surface)}.theme-selector{gap:var(--space-2);display:flex}.theme-option{align-items:center;gap:var(--space-1);padding:var(--space-3)var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--text-small);color:var(--muted);transition:all var(--duration-fast)var(--ease-out);flex-direction:column;flex:1;display:flex}.theme-option:hover{border-color:var(--color-line-strong);background:var(--color-surface-strong)}.theme-option.is-active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-ink)}.theme-option__icon{font-size:20px;line-height:1}.muted{color:var(--muted);font-size:var(--text-small);margin:0}.storage-info{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.storage-info__bar{background:var(--color-line);border-radius:var(--radius-full);height:6px;overflow:hidden}.storage-info__fill{background:var(--color-secondary);border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal)var(--ease-out)}.storage-info__text{font-size:var(--text-caption);color:var(--muted)}.modal{z-index:50;place-items:center;display:grid;position:fixed;inset:0}.modal__backdrop{animation:fadeIn var(--duration-fast)var(--ease-out);background:#18181b80;position:absolute;inset:0}.modal__card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-xl);width:min(560px,92vw);max-height:90vh;padding:var(--space-5);box-shadow:var(--shadow-xl);animation:modalSlideIn var(--duration-normal)var(--ease-out);position:relative;overflow:auto}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.modal__form{gap:var(--space-4);flex-direction:column;display:flex}.form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-error{color:var(--status-error-ink);font-size:var(--text-small);align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-3);background:var(--status-error-bg);border-radius:var(--radius-md);animation:fadeIn var(--duration-fast)var(--ease-out);margin:0;font-weight:500;display:flex}.field--required label span:after,.field--required>span:after{content:" *";color:var(--status-error-ink)}.field--error input,.field--error textarea,.field--error select{border-color:var(--status-error-ink)}.field__error{margin:var(--space-1)0 0;font-size:var(--text-caption);color:var(--status-error-ink);animation:fadeIn var(--duration-fast)var(--ease-out)}.field__hint{color:var(--muted);font-weight:400;font-size:var(--text-caption);margin:var(--space-1)0 0;font-size:var(--text-caption)}.field--warning input,.field--warning textarea{border-color:var(--status-warning-ink)}.field__warning{margin:var(--space-1)0 0;font-size:var(--text-caption);color:var(--status-warning-ink);animation:fadeIn var(--duration-fast)var(--ease-out)}.modal__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.discard-confirm{background:var(--color-surface);border-radius:var(--radius-xl);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;animation:fadeIn var(--duration-fast)var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0}.discard-confirm p{font-weight:500;font-size:var(--text-body);color:var(--color-ink);margin:0}.discard-confirm__actions{gap:var(--space-2);display:flex}.shortcuts-panel{z-index:70;place-items:center;display:grid;position:fixed;inset:0}.shortcuts-panel__backdrop{animation:fadeIn var(--duration-fast)var(--ease-out);background:#18181b80;position:absolute;inset:0}.shortcuts-panel__card{background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-xl);width:min(480px,92vw);max-height:85vh;padding:var(--space-5);box-shadow:var(--shadow-xl);animation:modalSlideIn var(--duration-normal)var(--ease-out);position:relative;overflow:auto}.shortcuts-panel__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.shortcuts-panel__header h2{font-size:var(--text-h3);margin:0;font-weight:600}.shortcuts-panel__content{gap:var(--space-4);flex-direction:column;display:flex}.shortcuts-group h3{margin:0 0 var(--space-2);font-size:var(--text-small);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.shortcut-row{align-items:center;gap:var(--space-2);padding:var(--space-2)0;border-bottom:1px solid var(--line);display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-row kbd{min-width:24px;height:24px;padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-caption);color:var(--color-ink);background:#18181b0f;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.shortcut-row span{font-size:var(--text-small);color:var(--muted);flex:1}.calendar-panel h2{margin:var(--space-2)0 0;font-family:var(--font-display)}.calendar__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.calendar__note{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--muted);margin:0}.calendar__grid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar__weekday{font-size:var(--text-caption);line-height:var(--lh-caption);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}.calendar__cell{border:1px solid var(--line);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2);min-height:var(--space-11);gap:var(--space-2);flex-direction:column;display:flex}.calendar__cell.is-muted{opacity:.4}.calendar__cell.is-muted .calendar__day{color:var(--muted)}.calendar__cell.is-today{border-color:var(--color-ink);box-shadow:var(--shadow-sm)}.calendar__day{font-weight:600;font-size:var(--text-small)}.calendar__dots{align-items:center;gap:var(--space-1);display:flex}.calendar__dot{background:var(--accent-2);border-radius:999px;width:6px;height:6px}.calendar__more{color:var(--muted);font-size:10px}.calendar__empty{height:6px;display:block}.toast-stack{right:var(--space-6);bottom:var(--space-6);gap:var(--space-2);z-index:60;flex-direction:column;display:flex;position:fixed}.toast{background:var(--color-ink);border-radius:var(--radius-lg);padding:var(--space-3)var(--space-4);align-items:center;gap:var(--space-3);box-shadow:var(--shadow-lg);width:min(320px,100%);color:var(--color-surface);animation:toastSlideIn var(--duration-normal)var(--ease-out);border:none;display:flex}.toast__title{font-weight:500;font-size:var(--text-small);color:var(--color-surface);margin:0}.toast__message{font-size:var(--text-caption);line-height:var(--lh-caption);color:var(--color-surface);opacity:.7;margin:2px 0 0}.toast .button--ghost{background:var(--color-toast-button);color:var(--color-surface);border-color:#0000}.toast .button--ghost:hover{background:var(--color-toast-button-hover)}.button:focus-visible,.nav__item:focus-visible,.chip:focus-visible,.reminder-card:focus-visible,.reminder-card__check:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}@keyframes collapseOut{0%{opacity:1;max-height:120px;margin-bottom:var(--space-3);padding:var(--space-3)var(--space-4)}to{opacity:0;max-height:0;padding:0 var(--space-4);margin-bottom:0}}@keyframes checkPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes subtlePulse{0%,to{box-shadow:0 0 #b45a3c00}50%{box-shadow:0 0 0 4px #b45a3c1a}}@media (max-width:1200px){.app{grid-template-areas:"nav nav header header header header header header header header header header""nav nav main main main main main main main main main main"}.detail{z-index:50;opacity:0;pointer-events:none;max-height:calc(100dvh - 120px);transition:transform var(--duration-normal)var(--ease-out),opacity var(--duration-normal)var(--ease-out);background:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-xl);display:flex;position:fixed;inset:auto 16px 16px;overflow:auto;transform:translateY(110%)}.detail.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.detail-backdrop{display:block}.detail__close{display:inline-flex}.app--settings .detail{display:none}}@media (max-width:960px){.app{border-radius:var(--radius-xl);grid-template-areas:"nav nav nav nav""header header header header""main main main main"}.app--settings{grid-template-areas:"nav nav nav nav""header header header header""main main main main"}.nav{justify-content:space-between;align-items:center;gap:var(--space-3);z-index:2;padding:var(--space-3);border-right:none;border-bottom:1px solid var(--line);flex-direction:row;position:sticky;top:16px}.nav__brand{gap:var(--space-2)}.nav__mark{border-radius:var(--radius-md);width:32px;height:32px;font-size:14px}.nav__title{font-size:14px}.nav__subtitle,.nav__section-title,.nav__item-sub{display:none}.nav__section{flex:1}.nav__list{gap:var(--space-1);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;padding-bottom:0;overflow-x:auto}.nav__item{min-width:auto;padding:var(--space-2);border-radius:var(--radius-md);scroll-snap-align:start}.nav__footer{display:none}.nav__list::-webkit-scrollbar{display:none}}@media (max-width:720px){.app{border-radius:var(--radius-lg)}.app__header{flex-direction:column;align-items:flex-start}.header__actions{width:100%;display:none}.panel{padding:var(--space-3);border-radius:var(--radius-lg)}.quick-add__header{flex-direction:column;align-items:flex-start}.quick-add__header .badge,.helper{display:none}.quick-add__row{grid-template-columns:1fr}.list-panel__header{flex-direction:column;align-items:flex-start}.list-panel__actions{flex-wrap:wrap;width:100%}.list-panel__actions .button{flex:auto}.filters{gap:var(--space-2)}.filter-group{padding-bottom:var(--space-1);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.chip{font-size:var(--text-caption);padding:var(--space-1)var(--space-2);flex:none}.filter-group::-webkit-scrollbar{display:none}.settings__grid,.form-grid{grid-template-columns:1fr}.toast{flex-direction:column;align-items:flex-start}.toast-stack{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{width:100%}.fab{display:inline-flex;bottom:16px;right:16px}.reminder-card{padding:var(--space-3);border-radius:var(--radius-lg)}.reminder-card__top{gap:var(--space-2);flex-wrap:wrap}.reminder-card__time{width:100%;margin-left:calc(var(--space-7) + var(--space-1));font-size:var(--text-caption);order:3}.reminder-card__meta{gap:var(--space-1)}.badge{font-size:var(--text-overline);padding:2px var(--space-2)}.snooze__actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.snooze__preset{width:100%;min-width:0}.snooze__meta{font-size:var(--text-overline)}.calendar__grid{gap:var(--space-1)}.calendar__cell{min-height:48px;padding:var(--space-1)}.calendar__weekday{font-size:var(--text-overline)}.calendar__day{font-size:var(--text-caption)}}@media (prefers-reduced-motion:reduce){.reminder-card{animation:none}}.focus-mode{z-index:100;animation:fadeIn var(--duration-normal)var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.focus-mode__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;position:absolute;inset:0}.focus-mode__container{width:min(560px,calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-12));background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl);animation:focusModeSlideIn var(--duration-slow)var(--ease-spring);position:relative;overflow-y:auto}.focus-mode__header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.focus-mode__status{margin-bottom:var(--space-4)}.focus-mode__badge{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.05em;font-weight:500;display:inline-block}.focus-mode__badge--active{background:var(--status-medium-bg);color:var(--status-medium-ink);border:1px solid var(--status-medium-border)}.focus-mode__badge--done{background:var(--status-success-bg);color:var(--status-success-ink);border:1px solid var(--status-success-border)}.focus-mode__title{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--lh-title);letter-spacing:var(--ls-tight);color:var(--color-ink)}.focus-mode__note{margin:0 0 var(--space-6);font-size:var(--text-body);line-height:var(--lh-body);color:var(--color-ink-secondary)}.focus-mode__meta{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-6);border-radius:var(--radius-lg);background:#18181b08;grid-template-columns:repeat(2,1fr);display:grid}.focus-mode__meta-item{gap:var(--space-1);flex-direction:column;display:flex}.focus-mode__meta-label{font-size:var(--text-caption);color:var(--color-ink-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.focus-mode__meta-value{font-size:var(--text-body);color:var(--color-ink);font-weight:500}.focus-mode__tags{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.focus-mode__actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-line);flex-direction:column;display:flex}.focus-mode__secondary-actions{gap:var(--space-2);display:flex}.focus-mode__secondary-actions .button{flex:1}.button--large{padding:var(--space-4)var(--space-6);font-size:var(--text-body)}@keyframes focusModeSlideIn{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}[data-theme=dark] .focus-mode__meta{background:#ffffff0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .focus-mode__meta{background:#ffffff0a}}@media (max-width:720px){.focus-mode__container{width:100%;height:100%;max-height:none;padding:var(--space-4);border-radius:0}.focus-mode__meta{grid-template-columns:1fr}.focus-mode__secondary-actions{flex-direction:column}}.statistics-modal{width:min(640px,92vw)}.weekly-summary__actions{gap:var(--space-2);display:flex}.statistics-content{gap:var(--space-5);flex-direction:column;display:flex}.statistics-overview{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.statistics-overview__item{align-items:center;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);text-align:center;background:#18181b08;flex-direction:column;display:flex}.statistics-overview__item--highlight{background:var(--color-accent);color:#fff}.statistics-overview__item--highlight .statistics-overview__label{color:#fffc}.statistics-overview__item--streak{background:linear-gradient(135deg,#fef3c7,#fde68a)}.statistics-overview__item--streak .statistics-overview__value{color:#92400e}.statistics-overview__item--streak .statistics-overview__label{color:#b45309}.statistics-overview__value{font-size:var(--text-h2);font-weight:700;font-family:var(--font-display);line-height:1}.statistics-overview__label{font-size:var(--text-caption);color:var(--muted);font-weight:500}.statistics-section{padding-top:var(--space-4);border-top:1px dashed var(--color-line)}.statistics-section h3{margin:0 0 var(--space-3);font-size:var(--text-body);font-weight:600}.statistics-chart--weekly{justify-content:space-between;align-items:flex-end;gap:var(--space-2);height:120px;padding-bottom:var(--space-6);display:flex}.statistics-chart__bar-group{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;height:100%;display:flex}.statistics-chart__bar-container{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.statistics-chart__bar{background:var(--color-accent);border-radius:var(--radius-sm)var(--radius-sm)0 0;width:100%;max-width:32px;min-height:4px;transition:height var(--duration-normal)var(--ease-out)}.statistics-chart__label{font-size:var(--text-caption);color:var(--muted);font-weight:500}.statistics-chart__value{font-size:var(--text-caption);color:var(--color-ink);font-weight:600}.statistics-chart--monthly{gap:var(--space-3);flex-direction:column;display:flex}.statistics-row{align-items:center;gap:var(--space-3);grid-template-columns:100px 1fr 48px;display:grid}.statistics-row__label{font-size:var(--text-small);color:var(--muted)}.statistics-row__bar-container{background:var(--color-line);border-radius:var(--radius-full);height:8px;overflow:hidden}.statistics-row__bar{background:var(--color-secondary);border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal)var(--ease-out);min-width:2px}.statistics-row__value{font-size:var(--text-small);text-align:right;font-weight:600}.statistics-priority{gap:var(--space-3);flex-direction:column;display:flex}.statistics-priority__item{gap:var(--space-2);flex-direction:column;display:flex}.statistics-priority__header{justify-content:space-between;align-items:center;display:flex}.statistics-priority__count{font-size:var(--text-small);color:var(--muted);font-weight:500}.statistics-priority__bar-container{background:var(--color-line);border-radius:var(--radius-full);height:6px;overflow:hidden}.statistics-priority__bar{border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal)var(--ease-out);min-width:2px}.statistics-priority__bar--high{background:var(--status-high)}.statistics-priority__bar--medium{background:var(--status-medium)}.statistics-priority__bar--low{background:var(--status-low)}.statistics-insight{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(135deg,#3b82f614,#4a7c7c14);display:flex}.statistics-insight__icon{font-size:var(--text-h3);flex-shrink:0}.statistics-insight p{font-size:var(--text-small);color:var(--color-ink);margin:0;line-height:1.5}.statistics-insight strong{color:var(--color-accent)}[data-theme=dark] .statistics-overview__item{background:#ffffff0d}[data-theme=dark] .statistics-insight{background:linear-gradient(135deg,#3b82f61f,#4a7c7c1f)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .statistics-overview__item{background:#ffffff0d}:root:not([data-theme=light]) .statistics-insight{background:linear-gradient(135deg,#3b82f61f,#4a7c7c1f)}}@media (max-width:720px){.statistics-modal{border-radius:0;width:100%;height:100%;max-height:none}.statistics-overview{grid-template-columns:repeat(2,1fr)}.statistics-row{gap:var(--space-2);grid-template-columns:80px 1fr 40px}.statistics-row__label{font-size:var(--text-caption)}.statistics-chart--weekly{height:100px}}.view-toggle{background:var(--color-line);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.view-toggle__btn{padding:var(--space-1)var(--space-2);font-size:var(--text-body);min-width:32px}.view-toggle__btn.is-active,.button--soft.view-toggle__btn.is-active,.button.button--soft.view-toggle__btn.is-active{background:var(--color-ink);color:var(--color-surface)}[data-theme=dark] .view-toggle__btn.is-active,[data-theme=dark] .button--soft.view-toggle__btn.is-active,[data-theme=dark] .button.button--soft.view-toggle__btn.is-active{color:#18181b;background:#fafafa}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .view-toggle__btn.is-active,:root:not([data-theme=light]) .button--soft.view-toggle__btn.is-active,:root:not([data-theme=light]) .button.button--soft.view-toggle__btn.is-active{color:#18181b;background:#fafafa}}.kanban-board{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));min-height:400px;display:grid}.kanban-column{border-radius:var(--radius-lg);padding:var(--space-3);background:#18181b05;flex-direction:column;min-height:200px;display:flex}.kanban-column--today{background:linear-gradient(#b45a3c0f,#0000)}.kanban-column--upcoming{background:linear-gradient(#4a7c7c0f,#0000)}.kanban-column--completed{background:linear-gradient(#22c55e0f,#0000)}.kanban-column__header{padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px dashed var(--color-line);justify-content:space-between;align-items:center;display:flex}.kanban-column__title{font-weight:600;font-size:var(--text-body)}.kanban-column__count{min-width:24px;height:24px;padding:0 var(--space-2);background:var(--color-ink);color:var(--color-surface);border-radius:var(--radius-full);font-size:var(--text-caption);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.kanban-column--today .kanban-column__count{background:var(--color-accent)}.kanban-column--upcoming .kanban-column__count{background:var(--color-secondary)}.kanban-column--completed .kanban-column__count{background:var(--status-success)}.kanban-column__list{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.kanban-column__list .reminder-card{animation:none}.kanban-column__empty{color:var(--muted);font-size:var(--text-small);text-align:center;padding:var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}[data-theme=dark] .kanban-column{background:#ffffff05}[data-theme=dark] .kanban-column--today{background:linear-gradient(#b45a3c1a,#0000)}[data-theme=dark] .kanban-column--upcoming{background:linear-gradient(#4a7c7c1a,#0000)}[data-theme=dark] .kanban-column--completed{background:linear-gradient(#22c55e1a,#0000)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kanban-column{background:#ffffff05}:root:not([data-theme=light]) .kanban-column--today{background:linear-gradient(#b45a3c1a,#0000)}:root:not([data-theme=light]) .kanban-column--upcoming{background:linear-gradient(#4a7c7c1a,#0000)}:root:not([data-theme=light]) .kanban-column--completed{background:linear-gradient(#22c55e1a,#0000)}}@media (max-width:960px){.kanban-board{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-column--completed{grid-column:span 2}}@media (max-width:720px){.kanban-board{grid-template-columns:1fr}.kanban-column{min-height:150px}.kanban-column--completed{grid-column:span 1}.view-toggle{display:none}}.timeline{gap:var(--space-6);padding-left:var(--space-4);flex-direction:column;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,var(--color-accent),var(--color-secondary));border-radius:var(--radius-full);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline__empty{padding:var(--space-8);color:var(--muted);font-size:var(--text-body);justify-content:center;align-items:center;display:flex}.timeline-group{position:relative}.timeline-group__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);margin-left:calc(-1*var(--space-4));display:flex}.timeline-group__dot{border-radius:var(--radius-full);background:var(--color-accent);border:3px solid var(--color-surface);z-index:1;width:16px;height:16px;box-shadow:0 0 0 2px var(--color-accent);flex-shrink:0}.timeline-group__date{font-weight:600;font-size:var(--text-body);color:var(--color-ink);text-transform:capitalize}.timeline-group__count{font-size:var(--text-caption);color:var(--muted);padding:2px var(--space-2);border-radius:var(--radius-sm);background:#18181b0d}.timeline-group__content{gap:var(--space-3);padding-left:var(--space-2);border-left:2px solid #0000;flex-direction:column;display:flex}.timeline-item{align-items:flex-start;gap:var(--space-3);display:flex}.timeline-item__time{width:56px;padding:var(--space-2)0;font-size:var(--text-small);color:var(--color-accent);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-weight:500}.timeline-item .reminder-card{flex:1;animation:none}[data-theme=dark] .timeline-group__count{background:#ffffff14}[data-theme=dark] .timeline-group__dot{border-color:var(--color-surface)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .timeline-group__count{background:#ffffff14}:root:not([data-theme=light]) .timeline-group__dot{border-color:var(--color-surface)}}@media (max-width:720px){.timeline{padding-left:var(--space-3)}.timeline:before{left:5px}.timeline-group__header{margin-left:calc(-1*var(--space-3))}.timeline-group__dot{border-width:2px;width:12px;height:12px}.timeline-item{gap:var(--space-1);flex-direction:column}.timeline-item__time{text-align:left;width:auto;font-size:var(--text-caption);padding:0}}.pomodoro{z-index:100;place-items:center;display:grid;position:fixed;inset:0}.pomodoro__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--duration-fast)var(--ease-out);background:#000c;position:absolute;inset:0}.pomodoro__card{background:var(--color-surface);border-radius:var(--radius-2xl);width:min(400px,92vw);padding:var(--space-6);box-shadow:var(--shadow-xl);animation:modalSlideIn var(--duration-normal)var(--ease-out);text-align:center;position:relative}.pomodoro__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);text-align:left;display:flex}.pomodoro__header h2{margin:var(--space-1)0 0;font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.pomodoro__timer{margin-bottom:var(--space-5)}.pomodoro__circle{justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto;display:flex;position:relative}.pomodoro__progress{width:100%;height:100%;position:absolute;inset:0}.pomodoro__progress-bg{stroke:var(--color-line)}.pomodoro__progress-bar{stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dashoffset 1s linear}.pomodoro__circle--break .pomodoro__progress-bar{stroke:var(--status-success)}.pomodoro__time{font-size:48px;font-weight:700;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-ink)}.pomodoro__stats{justify-content:center;gap:var(--space-6);margin-bottom:var(--space-5);padding:var(--space-3);border-radius:var(--radius-lg);background:#18181b08;display:flex}.pomodoro__stat{flex-direction:column;align-items:center;gap:2px;display:flex}.pomodoro__stat-value{font-size:var(--text-h3);font-weight:700;font-family:var(--font-display);color:var(--color-accent)}.pomodoro__stat-label{font-size:var(--text-caption);color:var(--muted)}.pomodoro__actions{gap:var(--space-2);flex-direction:column;display:flex}.pomodoro__message{margin:var(--space-4)0 0;padding:var(--space-3);background:var(--status-success-bg);color:var(--status-success-ink);border-radius:var(--radius-md);font-size:var(--text-small)}[data-theme=dark] .pomodoro__stats{background:#ffffff0d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pomodoro__stats{background:#ffffff0d}}@media (max-width:720px){.pomodoro__card{border-radius:0;flex-direction:column;justify-content:center;width:100%;height:100%;max-height:none;display:flex}.pomodoro__circle{width:180px;height:180px}.pomodoro__time{font-size:40px}}.meta-value--time{color:var(--color-accent);font-weight:600}.detail__chain{padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-3);background:#18181b08}.chain__label{font-size:var(--text-caption);color:var(--muted);margin-bottom:var(--space-2);font-weight:500;display:block}.chain__current{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chain__link{font-size:var(--text-small);color:var(--color-accent);font-weight:500}.chain__select{width:100%;padding:var(--space-2)var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-small);cursor:pointer}.chain__select:focus{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}[data-theme=dark] .detail__chain{background:#ffffff0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .detail__chain{background:#ffffff0a}}.undo-redo{background:var(--color-line);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.undo-redo .button{font-size:var(--text-body);padding:var(--space-1)var(--space-2);min-width:32px}.undo-redo .button:disabled{opacity:.3}[data-theme=dark] .nav__item:hover:not(.is-active),[data-theme=dark] .chip:hover:not(.is-active),[data-theme=dark] .meta-row:hover,[data-theme=dark] .template-item:hover,[data-theme=dark] .category-item:hover,[data-theme=dark] .subtask-item:hover,[data-theme=dark] .weekly-summary__day:hover{background:#ffffff0f}[data-theme=dark] .nav__badge,[data-theme=dark] .detail__notes,[data-theme=dark] .meta-grid,[data-theme=dark] .kanban-column__body,[data-theme=dark] .timeline-group__body,[data-theme=dark] .statistics-chart,[data-theme=dark] .weekly-summary__days,[data-theme=dark] .tag-selector,[data-theme=dark] .detail__subtasks,[data-theme=dark] .snooze,[data-theme=dark] .kanban-column,[data-theme=dark] .timeline-group__count,[data-theme=dark] .detail__chain,[data-theme=dark] .statistics-overview,[data-theme=dark] .weekly-summary{background:#ffffff0a}[data-theme=dark] .badge--soft,[data-theme=dark] .badge--ghost{background:#ffffff14;border-color:#ffffff1f}[data-theme=dark] .snooze__preset:hover{background:#ffffff14}[data-theme=dark] .badge--category{background:var(--color-ink);color:var(--color-surface)}[data-theme=dark] .modal__backdrop,[data-theme=dark] .detail-backdrop,[data-theme=dark] .shortcuts-panel__backdrop{background:#000000b3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nav__item:hover:not(.is-active),:root:not([data-theme=light]) .chip:hover:not(.is-active),:root:not([data-theme=light]) .meta-row:hover,:root:not([data-theme=light]) .template-item:hover,:root:not([data-theme=light]) .category-item:hover,:root:not([data-theme=light]) .subtask-item:hover,:root:not([data-theme=light]) .weekly-summary__day:hover{background:#ffffff0f}:root:not([data-theme=light]) .nav__badge,:root:not([data-theme=light]) .detail__notes,:root:not([data-theme=light]) .meta-grid,:root:not([data-theme=light]) .kanban-column__body,:root:not([data-theme=light]) .timeline-group__body,:root:not([data-theme=light]) .statistics-chart,:root:not([data-theme=light]) .weekly-summary__days,:root:not([data-theme=light]) .tag-selector,:root:not([data-theme=light]) .detail__subtasks,:root:not([data-theme=light]) .snooze,:root:not([data-theme=light]) .kanban-column,:root:not([data-theme=light]) .timeline-group__count,:root:not([data-theme=light]) .detail__chain,:root:not([data-theme=light]) .statistics-overview,:root:not([data-theme=light]) .weekly-summary{background:#ffffff0a}:root:not([data-theme=light]) .badge--soft,:root:not([data-theme=light]) .badge--ghost{background:#ffffff14;border-color:#ffffff1f}:root:not([data-theme=light]) .snooze__preset:hover{background:#ffffff14}:root:not([data-theme=light]) .badge--category{background:var(--color-ink);color:var(--color-surface)}:root:not([data-theme=light]) .modal__backdrop,:root:not([data-theme=light]) .detail-backdrop,:root:not([data-theme=light]) .shortcuts-panel__backdrop{background:#000000b3}}
