:root{--plum:#551344;--orange:#e2633a;--yellow:#f6b72f;--green:#00c664;--blue:#9bc4fb;--pink:#eda9a9;--tan:#f3efe7;--white:#fff;--black:#000;--plum-muted:#6e4e66;--plum-line:#8e6f84;--plum-divider:#e4d8df;--plum-wash:#efe7ec;--green-soft:#d6f4e4;--tan-soft:#ece6da;--bg:var(--tan);--surface:var(--white);--surface-sunken:var(--plum-wash);--header-bg:var(--plum);--text:var(--plum);--text-soft:var(--plum);--text-muted:var(--plum-muted);--heading:var(--plum);--on-dark:var(--tan);--border:var(--plum-line);--border-subtle:var(--plum-divider);--focus-ring:var(--orange);--btn-primary:var(--green);--btn-primary-hover:var(--yellow);--btn-secondary:var(--yellow);--btn-secondary-hover:var(--green);--on-cta:var(--black);--status-overdue-bg:var(--orange);--status-overdue-fg:var(--black);--status-today-bg:var(--yellow);--status-today-fg:var(--black);--status-ok-bg:var(--green);--status-ok-fg:var(--black);--status-info-bg:var(--blue);--status-info-fg:var(--plum);--status-personal-bg:var(--pink);--status-personal-fg:var(--plum);--font-display:"Carbona","Space Grotesk","Hanken Grotesk","Segoe UI",sans-serif;--font-body:"Carbona","Hanken Grotesk","Space Grotesk","Segoe UI",sans-serif;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2.25rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--radius-badge:6px;--radius-sm:6px;--radius-input:12px;--radius:12px;--radius-card:20px;--radius-lg:20px;--radius-pill:999px;--radius-hero:32px;--shadow-sm:0 1px 2px rgba(85,19,68,.08);--shadow-card:0 2px 12px rgba(85,19,68,.07);--shadow:0 10px 28px rgba(85,19,68,.12);--ease-brand-out:cubic-bezier(0.22,0.61,0.36,1);--dur-hover:120ms;--dur-enter:240ms;--z-bar:10}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0;color:var(--heading)}h1{color:var(--black)}a{text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:2px;text-decoration-thickness:2px}a,a:hover{color:var(--plum)}a:hover{-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum);text-decoration-thickness:3px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--plum);color:var(--on-dark);padding:var(--sp-2) var(--sp-4);border-radius:0 0 var(--radius-input) 0;z-index:100;text-decoration:none}.skip-link:focus{left:0}.app-header{border-bottom:3px solid var(--plum);background:var(--header-bg);color:var(--on-dark);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-bar)}.app-header__inner{max-width:1280px;margin:0 auto;padding:var(--sp-4) var(--sp-5);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.brand-lockup{display:flex;align-items:center;gap:var(--sp-3)}.brand-lockup__logo{height:34px;width:auto;display:block}.brand-lockup__label{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;color:var(--on-dark);letter-spacing:-.01em;padding-left:var(--sp-3);border-left:1px solid hsla(40,33%,93%,.4)}.app-header__tagline{color:var(--on-dark);opacity:.85;font-size:var(--fs-sm);margin:0}.wordmark{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:-.01em;color:var(--on-dark)}.wordmark span{color:var(--yellow)}.page{max-width:1280px;margin:0 auto;padding:var(--sp-6) var(--sp-5) var(--sp-7)}.controls{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end;margin-bottom:var(--sp-6)}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.field input,.field select,.field textarea{font-family:inherit;font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--text);min-width:180px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--plum)}.btn{font-family:inherit;font-size:var(--fs-sm);font-weight:700;padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;background:var(--btn-primary);transition:background var(--dur-hover) var(--ease-brand-out),color var(--dur-hover) var(--ease-brand-out)}.btn,.btn:hover{color:var(--on-cta)}.btn:hover{background:var(--btn-primary-hover)}.btn--secondary{background:var(--btn-secondary);color:var(--on-cta)}.btn--secondary:hover{background:var(--btn-secondary-hover);color:var(--on-cta)}.btn--ghost{background:transparent;color:var(--plum);border-color:var(--plum)}.btn--danger,.btn--ghost:hover{background:var(--plum);color:var(--on-dark)}.btn--danger{border-color:var(--plum);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}.btn--danger:hover{background:transparent;color:var(--plum);border-color:var(--orange)}.btn:disabled{opacity:.55;cursor:not-allowed}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--sp-5);gap:var(--sp-5);align-items:start}.column{background:transparent}.column__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:2px solid var(--plum)}.column__title{font-size:var(--fs-lg);color:var(--plum)}.column__count{font-size:var(--fs-sm);color:var(--on-dark);background:var(--plum);min-width:24px;text-align:center;padding:0 var(--sp-2);border-radius:var(--radius-pill);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.column__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-5);transition:box-shadow var(--dur-hover) var(--ease-brand-out)}.card:hover{box-shadow:var(--shadow)}.card--overdue{border-top:4px solid var(--orange);border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card)}.card--today{border-top:4px solid var(--yellow);border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card)}.card__titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.card__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-lg);color:var(--plum);margin:0}.card__edit{background:none;border:none;padding:0;font:inherit;font-size:var(--fs-sm);color:var(--plum);font-weight:700;text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:2px;cursor:pointer;flex:none}.card__edit:hover{color:var(--plum);-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum);text-decoration-thickness:3px}.card__desc{font-size:var(--fs-sm);color:var(--text-soft);margin:var(--sp-2) 0 0}.card--editing{display:flex;flex-direction:column;gap:var(--sp-3)}.card--editing .field input,.card--editing .field select,.card--editing .field textarea{font-family:inherit;font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--text);width:100%}.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.checkbox-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-soft)}.checkbox-row input{width:auto;accent-color:var(--green)}.edit-actions{display:flex;gap:var(--sp-3)}.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.card__note{font-size:var(--fs-sm);color:var(--text-soft);border-left:2px solid var(--orange);padding-left:var(--sp-3);margin:var(--sp-2) 0 0}.card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-subtle)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:700;padding:3px var(--sp-2);border-radius:var(--radius-badge);background:var(--status-info-bg);color:var(--status-info-fg);white-space:nowrap}.badge--overdue{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.badge--today{background:var(--status-today-bg);color:var(--status-today-fg)}.badge--ok{background:var(--status-ok-bg);color:var(--status-ok-fg)}.badge--priority-high{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.badge--personal{background:var(--status-personal-bg);color:var(--status-personal-fg)}.badge--unassigned{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}.status-select{font-family:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--sp-1) var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--text)}.quick-add{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:var(--sp-5);margin-bottom:var(--sp-6);box-shadow:var(--shadow-card)}.quick-add__row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.quick-add input[type=text]{flex:1 1 280px}.import-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-6);box-shadow:var(--shadow-sm)}.import-panel__toggle{font-family:inherit;font-size:var(--fs-base);font-weight:600;color:var(--text);background:none;border:none;padding:0;cursor:pointer}.import-panel__hint{font-weight:400;color:var(--text-muted)}.import-panel__body{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border)}.import-panel input[type=file]{font-family:inherit;font-size:var(--fs-sm);color:var(--text)}.empty{font-size:var(--fs-sm);font-style:italic}.empty,.field__hint{color:var(--text-muted)}.field__hint{font-size:var(--fs-xs)}.filter-active{margin:calc(-1 * var(--sp-3)) 0 var(--sp-5);font-size:var(--fs-sm);background:var(--yellow);border-radius:var(--radius-input);padding:var(--sp-3) var(--sp-4);font-weight:600}.filter-active,.filter-active .link-btn,.link-btn{color:var(--plum)}.link-btn{background:none;border:none;padding:0;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:2px}.link-btn:hover{color:var(--plum);-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum);text-decoration-thickness:3px}.segmented{display:inline-flex;gap:var(--sp-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px;margin-bottom:var(--sp-4)}.segmented__btn{font-family:inherit;font-size:var(--fs-sm);font-weight:600;padding:var(--sp-2) var(--sp-4);border:none;background:transparent;color:var(--text);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-hover) var(--ease-brand-out),color var(--dur-hover) var(--ease-brand-out)}.segmented__btn.is-active{background:var(--plum);color:var(--on-dark)}.smart-result{margin-top:var(--sp-4);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--plum);border-radius:var(--radius-card);padding:var(--sp-4)}.note-add-toggle{background:none;border:none;padding:0;margin-top:var(--sp-2);font:inherit;font-size:var(--fs-sm);color:var(--plum);font-weight:700;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange);text-underline-offset:2px}.note-add-toggle:hover{color:var(--plum);-webkit-text-decoration-color:var(--plum);text-decoration-color:var(--plum);text-decoration-thickness:3px}.note-add{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2)}.note-add input{font-family:inherit;font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--text);width:100%}.note-add__actions{display:flex;align-items:center;gap:var(--sp-3)}.notice{background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--plum);border-radius:var(--radius-card);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);margin-bottom:var(--sp-5)}.notice code{font-size:.85em;background:var(--tan-soft);padding:1px 4px;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:640px){.board{grid-template-columns:1fr}.app-header__inner{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}