.identity-picker{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.identity-picker-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-raised)}.identity-picker-card h1{font-size:var(--text-hero);font-weight:640;letter-spacing:-.01em;margin-bottom:var(--space-2)}.identity-picker-hint{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-5)}.identity-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.identity-picker-list button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);font-size:var(--text-sm);font-weight:550;text-align:left;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.identity-picker-list button:hover,.identity-picker-list button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.identity-picker-badge{font-size:var(--text-xs);font-weight:650;color:var(--accent-text);text-transform:uppercase;letter-spacing:.03em}.review{max-width:920px;margin:0 auto;padding:var(--space-6) var(--space-5) calc(var(--space-8) * 2)}.page-intro{margin-bottom:var(--space-6)}.page-intro h2{font-size:var(--text-hero);font-weight:640;letter-spacing:-.015em;margin-bottom:var(--space-2)}.page-intro p{max-width:60ch;color:var(--text-secondary)}.review-notice{margin-bottom:var(--space-4);white-space:pre-line}.review-notice.is-ok{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--status-done-soft);color:var(--status-done);font-size:var(--text-sm);font-weight:550}.review-empty{padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-secondary);text-align:center}.review-group{margin-bottom:var(--space-8)}.review-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.review-group-title{font-size:var(--text-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-3)}.review-group-head .review-group-title{margin-bottom:0}.review-row{position:relative;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 0 var(--border);transition:box-shadow var(--duration-fast) var(--ease)}.review-row:focus-within{box-shadow:var(--shadow-raised)}.review-row-meta{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2)}.review-row-title{font-weight:560;margin-bottom:var(--space-3)}.review-returned{margin:calc(var(--space-1) * -1) 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-sm)}.task-editor-title textarea{width:100%;padding:var(--space-1) 0;border:0;border-bottom:1px solid transparent;background:transparent;font:inherit;font-size:var(--text-lg);font-weight:560;line-height:1.35;color:var(--text);resize:vertical}.task-editor-title textarea:hover{border-bottom-color:var(--border)}.task-editor-title textarea:focus{outline:none;border-bottom-color:var(--accent)}.task-editor-fields{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(100px,.7fr);gap:var(--space-3);margin-top:var(--space-3)}.task-editor-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.task-editor-field .select,.task-editor-field .date-input{width:100%}.task-editor-field.is-missing .select,.task-editor-field.is-missing .date-input{border-color:var(--accent);background-color:var(--accent-soft)}.review-quote{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.review-quote summary{cursor:pointer;color:var(--text-muted);font-size:var(--text-xs)}.review-quote p{margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--border-strong);font-style:italic}.review-row-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.review-missing,.review-ready{font-size:var(--text-xs);font-weight:600}.review-missing{color:var(--accent-text)}.review-ready{color:var(--status-done)}.review-actions{display:flex;gap:var(--space-2)}.review-cancel{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border);font-size:var(--text-sm)}.review-comment{flex:1 1 240px}.review-assign{max-width:280px}.review-add{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.review-add-title .date-input{width:100%}.review-add-fields{grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(100px,.7fr) auto;align-items:end;margin-top:0}.review-submit{position:sticky;bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;box-shadow:var(--shadow-raised);font-size:var(--text-sm)}.button{padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:var(--text-sm);font-weight:560;transition:background var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.button:hover:not(:disabled){background:var(--surface-sunken)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--accent-text)}.button-quiet{border-color:transparent;color:var(--text-secondary)}.chip{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:999px;background:var(--surface-sunken);font-size:var(--text-xs)}.chip:hover{border-color:var(--border-strong)}@media(max-width:640px){.review{padding-inline:var(--space-4)}.task-editor-fields,.review-add-fields{grid-template-columns:1fr 1fr}.review-submit{border-radius:var(--radius-lg);flex-direction:column;align-items:stretch}}.task-editor-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--overdue)}.board-toolbar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.filter-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.filter-reset{border:none;background:none;color:var(--text-muted);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:2px}.filter-reset:hover{color:var(--text)}.action-error{margin-bottom:var(--space-4)}.board-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);align-items:start}@media(max-width:1024px){.board-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.board-columns{grid-template-columns:1fr}}.board-column{background:var(--surface-sunken);border:1px solid transparent;border-radius:var(--radius-lg);padding:var(--space-3);min-height:120px;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.board-column.is-drag-over{border-color:var(--accent);background:var(--accent-soft)}.board-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-3)}.board-column-count{font-size:var(--text-xs);font-weight:650;color:var(--text-muted);font-family:var(--font-mono)}.board-column-body{display:flex;flex-direction:column;gap:var(--space-2)}.board-column-empty{padding:var(--space-4) var(--space-2);text-align:center;color:var(--text-muted);font-size:var(--text-xs);border:1px dashed var(--border);border-radius:var(--radius)}.task-card{display:block;width:100%;margin:0;appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);cursor:grab;text-align:left;transition:box-shadow var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.task-card:hover{box-shadow:var(--shadow-raised);border-color:var(--border-strong)}.task-card:active{cursor:grabbing}.task-card.is-dragging{opacity:.5}.task-card.is-overdue{border-left:3px solid var(--overdue);background:linear-gradient(to right,var(--overdue-soft),var(--surface) 18%)}.task-card-project{display:block;font-size:var(--text-xs);font-weight:650;color:var(--accent-text);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.03em}.task-card-title{display:block;font-size:var(--text-sm);font-weight:550;line-height:1.4;color:var(--text)}.task-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);gap:var(--space-2)}.task-card-due{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.task-card-due.is-overdue{color:var(--overdue);font-weight:650}.task-card-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:700;flex:none}.task-detail-overlay{position:fixed;inset:0;background:#0b0b0b66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:40;animation:fade-in var(--duration) var(--ease)}.task-detail-backdrop{position:absolute;inset:0;border:none;margin:0;padding:0;background:transparent;cursor:default;appearance:none}.task-detail{position:relative;width:min(420px,100vw);height:100%;background:var(--surface);border-left:1px solid var(--border);padding:var(--space-5);overflow-y:auto;box-shadow:var(--shadow-dragging);animation:slide-in var(--duration) var(--ease)}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}.task-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.task-detail-project{font-size:var(--text-xs);font-weight:650;color:var(--accent-text);text-transform:uppercase;letter-spacing:.03em}.task-detail-close{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);flex:none}.task-detail-close:hover{border-color:var(--border-strong);color:var(--text)}.task-detail-title{font-size:var(--text-hero);font-weight:620;letter-spacing:-.01em;line-height:1.25;margin:var(--space-3) 0 var(--space-5)}.task-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.task-detail-field{display:flex;flex-direction:column;gap:var(--space-1)}.task-detail-field>span:first-child{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.task-detail-field p{font-size:var(--text-sm);font-weight:550}.task-detail-field p.is-overdue{color:var(--overdue)}.task-detail-due-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.task-detail-due-hint.is-overdue{color:var(--overdue);font-weight:650}.task-detail-quote{margin:0;padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius);border-left:3px solid var(--accent)}.task-detail-quote p{font-size:var(--text-sm);font-style:italic;color:var(--text-secondary);line-height:1.6}.task-detail-quote cite{display:block;margin-top:var(--space-2);font-size:var(--text-xs);font-style:normal;color:var(--text-muted)}.task-detail-no-quote{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.hours-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:41;width:min(380px,calc(100vw - 2 * var(--space-4)));display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.hours-dialog h2{font-size:var(--text-lg);font-weight:640}.hours-dialog p{color:var(--text-secondary);font-size:var(--text-sm)}.hours-dialog label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.hours-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.dashboard-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.dashboard-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-stat span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.dashboard-stat strong{font-size:var(--text-hero);font-weight:640;letter-spacing:-.01em}.dashboard-stat.is-overdue strong{color:var(--overdue)}.dashboard-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dashboard-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-strong)}.dashboard-table td{padding:var(--space-3);border-bottom:1px solid var(--border)}.dashboard-table tr.is-overdue{background:var(--overdue-soft)}.dashboard-table td.is-overdue{color:var(--overdue);font-weight:650}.dashboard-footnote{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);max-width:640px;line-height:1.5}.dashboard-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-task-list li{display:flex;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)}.dashboard-task-list li.is-overdue{border-left:3px solid var(--overdue);background:var(--overdue-soft)}.dashboard-task-title{flex:1;font-size:var(--text-sm);font-weight:550}.dashboard-task-due{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap}.dashboard-task-due.is-overdue{color:var(--overdue);font-weight:650}@media(max-width:768px){.dashboard-table thead{display:none}.dashboard-table,.dashboard-table tbody,.dashboard-table tr,.dashboard-table td{display:block;width:100%}.dashboard-table tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);padding:var(--space-2)}.dashboard-table td{border-bottom:none;padding:var(--space-1) var(--space-2)}.dashboard-table td:before{content:attr(data-label);display:inline-block;width:170px;font-size:var(--text-xs);color:var(--text-muted)}.dashboard-task-list li{flex-wrap:wrap}}.workload{margin-bottom:var(--space-8)}.workload-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.workload-head h2{font-size:var(--text-lg);font-weight:640}.workload-week{font-size:var(--text-sm);color:var(--text-secondary)}.workload-nav{display:flex;gap:var(--space-1)}.workload-norm{display:block;font-size:var(--text-xs);color:var(--text-muted)}.workload-meter{display:flex;flex-direction:column;gap:var(--space-1);min-width:180px}.workload-track{position:relative;height:8px;border-radius:4px;background:var(--surface-sunken)}.workload-bar{height:100%;border-radius:4px;background:var(--accent);transition:width var(--duration) var(--ease)}.workload-bar.is-over{background:var(--overdue)}.workload-norm-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-muted);border-radius:1px}.workload-meter-label{font-size:var(--text-xs);color:var(--text-secondary)}.workload-flag{margin-left:var(--space-2);font-style:normal;font-weight:600;color:var(--overdue)}.workload-overdue{color:var(--overdue);font-size:var(--text-xs)}.workload-subtitle{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-sm);font-weight:640}.workload-overruns small{display:block;font-size:var(--text-xs);color:var(--text-muted)}.workload-overrun-hours{flex-shrink:0;font-size:var(--text-sm);color:var(--text-secondary)}.workload-overrun-hours strong{color:var(--overdue)}.projects-toolbar{margin-bottom:var(--space-5)}.projects-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:640px}.projects-list li{display:flex;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}.projects-list li.is-archived{opacity:.6}.projects-name{flex:1;font-size:var(--text-sm);font-weight:550}.projects-badge{font-size:var(--text-xs);font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--border);border-radius:999px;padding:2px var(--space-2)}.projects-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:550;white-space:nowrap;transition:border-color var(--duration-fast) var(--ease)}.projects-action:hover:not(:disabled){border-color:var(--border-strong)}.projects-action:disabled{opacity:.5;cursor:default}.task-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.task-table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-strong)}.task-table td{padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.task-table tbody tr{transition:background var(--duration-fast) var(--ease)}.task-table tbody tr:hover{background:var(--surface-sunken)}.task-table tbody tr.is-overdue{background:var(--overdue-soft)}.task-table tbody tr.is-overdue:hover{background:color-mix(in srgb,var(--overdue-soft) 70%,var(--surface-sunken))}.task-table-title{font-weight:550;max-width:420px}.task-table-open{display:block;width:100%;border:none;background:none;padding:0;text-align:left;font:inherit;font-weight:inherit;color:inherit}.task-table-open:hover,.task-table-open:focus-visible{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.task-table-due{font-family:var(--font-mono);color:var(--text-muted)}.task-table-due.is-overdue{color:var(--overdue);font-weight:650}.task-table-empty{color:var(--text-muted)}@media(max-width:768px){.task-table thead{display:none}.task-table,.task-table tbody,.task-table tr,.task-table td{display:block;width:100%}.task-table tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);padding:var(--space-2)}.task-table tr.is-overdue{border-left:3px solid var(--overdue)}.task-table td{border-bottom:none;padding:var(--space-1) var(--space-2)}.task-table td:before{content:attr(data-label);display:inline-block;width:110px;font-size:var(--text-xs);color:var(--text-muted)}}.upload-mode{display:inline-flex;gap:var(--space-1);padding:var(--space-1);margin-bottom:var(--space-5);background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px}.upload-mode button{padding:var(--space-2) var(--space-4);border:0;border-radius:999px;background:transparent;font-size:var(--text-sm);font-weight:560;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.upload-mode button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px var(--border-strong)}.upload-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.upload-row{display:grid;grid-template-columns:1fr minmax(150px,auto);gap:var(--space-3)}.upload-hint{font-size:var(--text-sm);color:var(--text-secondary);max-width:70ch}.upload-text{width:100%;min-height:18rem;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--page);font:inherit;font-size:var(--text-sm);line-height:1.55;color:var(--text);resize:vertical}.upload-text:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.upload-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.upload-file{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.upload-progress{font-size:var(--text-sm);color:var(--accent-text)}.upload-result-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.upload-result-list li{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.upload-result-list li:last-child{border-bottom:0}.upload-result-meta{flex-shrink:0;font-size:var(--text-xs);color:var(--text-muted)}.upload-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.upload-actions a{text-decoration:none;color:inherit}.upload-actions a.button-primary{color:#fff}@media(max-width:640px){.upload-row{grid-template-columns:1fr}}:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--surface-sunken: #f2f1ed;--border: rgba(11, 11, 11, .1);--border-strong: rgba(11, 11, 11, .18);--text: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--accent: #5b4fd8;--accent-text: #4738c9;--accent-soft: rgba(91, 79, 216, .12);--status-todo: #6b7280;--status-todo-soft: rgba(107, 114, 128, .12);--status-in_progress: #b8860a;--status-in_progress-soft: rgba(184, 134, 10, .14);--status-blocked: #d03b3b;--status-blocked-soft: rgba(208, 59, 59, .12);--status-done: #0ca35f;--status-done-soft: rgba(12, 163, 95, .12);--overdue: #d03b3b;--overdue-soft: rgba(208, 59, 59, .08);--font: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", monospace;--text-hero: clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem);--text-lg: 1.0625rem;--text-base: .9375rem;--text-sm: .8125rem;--text-xs: .75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--duration-fast: .12s;--duration: .22s;--ease: cubic-bezier(.16, 1, .3, 1);--shadow-raised: 0 1px 2px rgba(11, 11, 11, .05), 0 8px 24px -12px rgba(11, 11, 11, .18);--shadow-dragging: 0 12px 32px -8px rgba(11, 11, 11, .35)}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-sunken: #131312;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--accent: #8879ea;--accent-text: #a79bf0;--accent-soft: rgba(136, 121, 234, .16);--status-todo: #9ca3af;--status-todo-soft: rgba(156, 163, 175, .14);--status-in_progress: #dba829;--status-in_progress-soft: rgba(219, 168, 41, .16);--status-blocked: #e5645d;--status-blocked-soft: rgba(229, 100, 93, .16);--status-done: #2fbd82;--status-done-soft: rgba(47, 189, 130, .16);--overdue: #e5645d;--overdue-soft: rgba(229, 100, 93, .1);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .8);--shadow-dragging: 0 16px 40px -8px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-sunken: #131312;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--accent: #8879ea;--accent-text: #a79bf0;--accent-soft: rgba(136, 121, 234, .16);--status-todo: #9ca3af;--status-todo-soft: rgba(156, 163, 175, .14);--status-in_progress: #dba829;--status-in_progress-soft: rgba(219, 168, 41, .16);--status-blocked: #e5645d;--status-blocked-soft: rgba(229, 100, 93, .16);--status-done: #2fbd82;--status-done-soft: rgba(47, 189, 130, .16);--overdue: #e5645d;--overdue-soft: rgba(229, 100, 93, .1);--shadow-raised: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -12px rgba(0, 0, 0, .8);--shadow-dragging: 0 16px 40px -8px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--text);font-family:var(--font);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p,dl,dd{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}.app-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--page) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.app-header-inner{max-width:1320px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:640;font-size:var(--text-lg);letter-spacing:-.015em;text-decoration:none;color:var(--text);white-space:nowrap}.brand-mark{width:13px;height:13px;border-radius:4px;background:var(--accent);transform:rotate(45deg);flex:none}.app-header nav{display:flex;gap:var(--space-1);margin-right:auto}.app-header nav a{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:550;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.app-header nav a:hover{background:var(--surface-sunken);color:var(--text)}.app-header nav a.is-active{background:var(--accent-soft);color:var(--accent-text)}.identity-indicator{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.identity-indicator button{border:none;background:none;padding:0;font-size:var(--text-xs);color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.identity-indicator button:hover{color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:15px;transition:border-color var(--duration-fast) var(--ease)}.theme-toggle:hover{border-color:var(--border-strong)}main{max-width:1320px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.select{appearance:none;padding:var(--space-2) var(--space-6) var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2352514e' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right var(--space-3) center;font-size:var(--text-sm);color:var(--text)}.date-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);color:var(--text);color-scheme:light dark}.chip-toggle{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:var(--text-sm);font-weight:550;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.chip-toggle:hover{border-color:var(--border-strong)}.chip-toggle.is-active{background:var(--overdue-soft);border-color:var(--overdue);color:var(--overdue)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px var(--space-2) 3px 6px;border-radius:999px;font-size:var(--text-xs);font-weight:600;white-space:nowrap}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill[data-status=todo]{background:var(--status-todo-soft);color:var(--status-todo)}.status-pill[data-status=in_progress]{background:var(--status-in_progress-soft);color:var(--status-in_progress)}.status-pill[data-status=blocked]{background:var(--status-blocked-soft);color:var(--status-blocked)}.status-pill[data-status=done]{background:var(--status-done-soft);color:var(--status-done)}.status-pill[data-status=draft],.status-pill[data-status=cancelled]{background:var(--surface-sunken);color:var(--text-muted)}.status-pill[data-status=on_review]{background:var(--accent-soft);color:var(--accent-text)}.empty-state,.error-state,.loading-state{padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.error-state{color:var(--overdue)}
