@import"https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500;600;700&family=Alumni+Sans+Pinstripe&family=JetBrains+Mono:wght@400;500&display=swap";:root{--ink-900: oklch(0% 0 0);--ink-800: oklch(12% 0 0);--ink-700: oklch(20% 0 0);--ink-600: oklch(30% 0 0);--ink-500: oklch(40% 0 0);--ink-400: oklch(50% 0 0);--ink-300: oklch(60% 0 0);--ink-200: oklch(75% 0 0);--ink-100: oklch(88% 0 0);--white: oklch(100% 0 0);--silver-400: oklch(65% 0 0);--silver-300: oklch(75% 0 0);--silver-200: oklch(85% 0 0);--silver-100: oklch(92% 0 0);--silver-50: oklch(96% 0 0);--surface-body: var(--silver-50);--signal-error: oklch(45% .2 25);--signal-success: oklch(40% .15 145);--signal-focus: oklch(45% .2 260);--signal-go: oklch(40% .15 145);--signal-warn: oklch(75% .15 85);--signal-stop: oklch(45% .2 25);--signal-error-bg: oklch(65% .2 25 / .08);--signal-success-bg: oklch(55% .15 145 / .08);--signal-warn-bg: oklch(75% .15 85 / .1);--signal-focus-ring: oklch(45% .2 260 / .2);--signal-go-ring: oklch(40% .15 145 / .3);--light-source: oklch(100% 0 0 / .5);--shadow-source: oklch(0% 0 0 / .5);--depth-raised: 0 2px 4px oklch(0% 0 0 / .12), 0 1px 2px oklch(0% 0 0 / .08);--depth-pressed: inset 0 2px 4px oklch(0% 0 0 / .12);--depth-elevated: 0 4px 12px oklch(0% 0 0 / .12), 0 2px 4px oklch(0% 0 0 / .08);--depth-input: inset 0 -.25rem .5rem oklch(0% 0 0 / .06);--depth-code: inset .1rem .1rem .2rem var(--shadow-source);--grid: .5rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-expo: cubic-bezier(.7, 0, .84, 0);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-subtle: cubic-bezier(.25, .1, .25, 1);--duration-instant: .1s;--duration-quick: .15s;--duration-standard: .25s;--duration-deliberate: .4s;--font-body: "Jura", "Work Sans", system-ui, sans-serif;--font-display: "Alumni Sans Pinstripe", "Bebas Neue", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.95rem, .9rem + .25vw, 1rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-3xl: clamp(1.75rem, 1.5rem + 1.5vw, 2.5rem);--text-4xl: clamp(2rem, 1.75rem + 2vw, 3rem);--text-timer: 4rem;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-0-5: .25rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--max-content-width: 72ch;--max-wide-content: 75rem;--min-touch-target: 2.75rem;--container-padding: clamp(1rem, 5vw, 3rem);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: var(--radius-md);--radius-xl: var(--radius-md);--radius-full: 9999px;--z-dropdown: 100;--z-overlay: 200;--z-dialog: 300;--z-toast: 400}.ta-base{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);line-height:1.5;box-sizing:border-box}.ta-base *,.ta-base *:before,.ta-base *:after{box-sizing:inherit}.ta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;transition:box-shadow var(--duration-quick) var(--ease-out-expo),background-color var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo);-webkit-user-select:none;user-select:none;white-space:nowrap}.ta-button:focus-visible{outline:2px solid var(--ink-500);outline-offset:2px}.ta-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ta-button i{font-size:var(--text-sm)}.ta-button--primary{background-color:var(--ink-800);color:var(--white);border-color:var(--ink-800);box-shadow:var(--depth-raised)}.ta-button--primary:hover:not(:disabled){background-color:var(--ink-700);box-shadow:var(--depth-elevated)}.ta-button--primary:active:not(:disabled){box-shadow:var(--depth-pressed);transform:translateY(1px)}.ta-button--secondary{background-color:var(--white);color:var(--ink-700);border-color:var(--silver-300);box-shadow:var(--depth-raised)}.ta-button--secondary:hover:not(:disabled){background-color:var(--silver-50);box-shadow:var(--depth-elevated)}.ta-button--secondary:active:not(:disabled){box-shadow:var(--depth-pressed);transform:translateY(1px)}.ta-button--ghost{background-color:transparent;color:var(--ink-600);border-color:transparent;box-shadow:none}.ta-button--ghost:hover:not(:disabled){background-color:var(--silver-100)}.ta-button--ghost:active:not(:disabled){background-color:var(--silver-200)}.ta-button--danger{background-color:var(--signal-stop);color:var(--white);border-color:var(--signal-stop);box-shadow:var(--depth-raised)}.ta-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--depth-elevated)}.ta-button--sm{padding:calc(var(--space-1) * .75) var(--space-1);font-size:var(--text-xs)}.ta-button--lg{padding:calc(var(--space-1) * 1.5) var(--space-3);font-size:var(--text-lg)}.ta-input-wrap{display:flex;flex-direction:column;gap:calc(var(--space-1) * .5)}.ta-input-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-600)}.ta-input{--depth: 2;padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);background-color:var(--silver-100);box-shadow:inset var(--shadow-source) calc(.15rem * var(--depth)) calc(.15rem * var(--depth)) .3rem;transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);outline:none;width:100%}.ta-input::placeholder{color:var(--silver-400)}.ta-input:focus{box-shadow:inset var(--shadow-source) 2px 2px 4px,0 0 0 2px #004cb833;box-shadow:inset var(--shadow-source) 2px 2px 4px,0 0 0 2px oklch(45% .2 260 / .2);border-color:var(--signal-focus)}.ta-input--error{border-color:var(--signal-stop)}.ta-input--error:focus{border-color:var(--signal-stop)}.ta-input-error{font-size:var(--text-xs);color:var(--signal-stop)}.ta-select-wrap{position:relative;display:flex;flex-direction:column;gap:calc(var(--space-1) * .5)}.ta-select-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-600)}.ta-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);background-color:var(--white);box-shadow:var(--depth-raised);cursor:pointer;transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);-webkit-user-select:none;user-select:none}.ta-select-trigger:focus{outline:2px solid var(--ink-500);outline-offset:2px}.ta-select-trigger--open{box-shadow:var(--depth-pressed);border-color:var(--ink-500)}.ta-select-trigger i{font-size:var(--text-xs);color:var(--ink-400);transition:transform var(--duration-quick) var(--ease-out-expo)}.ta-select-trigger--open i{transform:rotate(180deg)}.ta-select-placeholder{color:var(--silver-400)}.ta-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .5) 0;border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:240px;overflow-y:auto;opacity:0;transform:translateY(-4px);transition:opacity var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo);pointer-events:none}.ta-select-dropdown--open{opacity:1;transform:translateY(0);pointer-events:auto}.ta-select-option{padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);cursor:pointer;transition:background-color var(--duration-quick)}.ta-select-option:hover{background-color:var(--silver-50)}.ta-select-option--selected{color:var(--ink-900);font-weight:500;background-color:var(--silver-100)}.ta-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-standard) var(--ease-out-expo);pointer-events:none}.ta-dialog-overlay--open{opacity:1;pointer-events:auto}.ta-dialog{background-color:var(--white);border-radius:var(--radius-xl);box-shadow:var(--depth-elevated);padding:var(--space-3);min-width:320px;max-width:560px;width:90vw;max-height:80vh;overflow-y:auto;transform:scale(.95) translateY(8px);transition:transform var(--duration-standard) var(--ease-out-expo),opacity var(--duration-standard) var(--ease-out-expo);opacity:0}.ta-dialog-overlay--open .ta-dialog{transform:scale(1) translateY(0);opacity:1}.ta-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ta-dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--ink-900);letter-spacing:.02em}.ta-dialog-close{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:calc(var(--space-1) * .5);border-radius:var(--radius-sm);transition:color var(--duration-quick)}.ta-dialog-close:hover{color:var(--ink-700)}.ta-dialog-body{color:var(--ink-600);font-size:var(--text-sm);line-height:1.6}.ta-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-3)}.ta-timer-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3)}.ta-timer-time{font-family:var(--font-mono);font-size:var(--text-timer);font-weight:400;letter-spacing:.05em;color:var(--ink-800);font-variant-numeric:tabular-nums;transition:color var(--duration-standard) var(--ease-out-expo)}.ta-timer-time--running{color:var(--signal-go)}.ta-timer-time--idle{color:var(--signal-warn)}.ta-timer-time--stopped{color:var(--ink-400)}.ta-timer-state{font-family:var(--font-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-400)}.ta-timer-state--running{color:var(--signal-go)}.ta-timer-state--idle{color:var(--signal-warn)}.ta-timer-project{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-600)}.ta-timer-description{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);max-width:300px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-timer-controls{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.ta-entry-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--silver-100);transition:background-color var(--duration-quick)}.ta-entry-row:hover{background-color:var(--silver-50)}.ta-entry-project-badge{display:inline-flex;align-items:center;gap:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .25) var(--space-1);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;background-color:var(--silver-100);color:var(--ink-600);white-space:nowrap}.ta-entry-project-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-entry-description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-entry-description--empty{color:var(--silver-400);font-style:italic}.ta-entry-duration{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-800);font-variant-numeric:tabular-nums;white-space:nowrap}.ta-entry-actions{display:flex;gap:calc(var(--space-1) * .5);opacity:0;transition:opacity var(--duration-quick)}.ta-entry-row:hover .ta-entry-actions{opacity:1}.ta-entry-action{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:calc(var(--space-1) * .5);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:color var(--duration-quick)}.ta-entry-action:hover{color:var(--ink-700)}.ta-project-selector{position:relative}.ta-project-selector-input{width:100%}.ta-project-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .5) 0;border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:240px;overflow-y:auto}.ta-project-selector-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);cursor:pointer;transition:background-color var(--duration-quick)}.ta-project-selector-item:hover{background-color:var(--silver-50)}.ta-project-selector-item--selected{background-color:var(--silver-100)}.ta-project-selector-dot{width:10px;height:10px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-project-selector-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700)}.ta-project-selector-confidence{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--silver-400)}.ta-task-selector{position:relative}.ta-task-selector-input{width:100%;padding-right:28px}.ta-task-selector-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ink-400);font-size:var(--text-xs);padding:2px 4px;border-radius:var(--radius-sm);transition:color var(--duration-quick)}.ta-task-selector-clear:hover{color:var(--ink-700)}.ta-task-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .5) 0;border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:200px;overflow-y:auto}.ta-task-selector-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);cursor:pointer;transition:background-color var(--duration-quick)}.ta-task-selector-item:hover{background-color:var(--silver-50)}.ta-task-selector-item--selected{background-color:var(--silver-100)}.ta-task-selector-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700)}.ta-task-selector-empty{padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);font-style:italic}.ta-combined-selector{position:relative;width:100%}.ta-combined-trigger{--depth: 1;display:flex;align-items:center;gap:var(--space-1);width:100%;padding:var(--space-1-5) var(--space-2);border:1px solid var(--silver-200);border-radius:var(--radius-sm);background:var(--silver-100);color:var(--ink-700);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-source) calc(.2rem * var(--depth)) calc(.2rem * var(--depth)) .4rem;transition:box-shadow var(--duration-quick),border-color var(--duration-quick)}.ta-combined-trigger:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.2rem * var(--depth)) calc(-.2rem * var(--depth)) .4rem;transition:box-shadow var(--duration-quick)}.ta-combined-trigger:hover{--depth: 2;border-color:var(--silver-300)}.ta-combined-trigger:focus-visible{outline:2px solid var(--signal-focus);outline-offset:2px}.ta-combined-trigger-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-combined-trigger-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-combined-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:280px;overflow:hidden;display:flex;flex-direction:column}.ta-combined-filter{padding:var(--space-1) var(--space-2);border:none;border-bottom:1px solid var(--silver-200);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);background:var(--silver-50);outline:none}.ta-combined-filter::placeholder{color:var(--ink-400)}.ta-combined-list{overflow-y:auto;flex:1}.ta-combined-project-row{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);cursor:pointer;font-weight:500;transition:background-color var(--duration-quick)}.ta-combined-project-row:hover{background-color:var(--silver-50)}.ta-combined-project-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-combined-project-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700)}.ta-combined-task-row{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);padding-left:calc(var(--space-2) + 8px + var(--space-1));cursor:pointer;transition:background-color var(--duration-quick)}.ta-combined-task-row:hover{background-color:var(--silver-50)}.ta-combined-task-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-600)}.ta-combined-empty{padding:var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);font-style:italic;text-align:center}.ta-nl-input-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.ta-nl-input{--depth: 2;padding:var(--space-2) var(--space-3);border:1px solid var(--silver-400);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-900);background-color:#fff;box-shadow:inset 0 -.25rem .5rem #0000000f;transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);outline:none;width:100%;text-align:center}.ta-nl-input--variant-b{background:linear-gradient(180deg,#f8f8f8,#fff);box-shadow:inset 0 .15rem .35rem #0000000d}.ta-nl-input--variant-c{background-color:var(--silver-50);box-shadow:inset var(--shadow-source) .2rem .2rem .5rem}.ta-nl-input--variant-d{background-color:#fff;box-shadow:inset 0 -.35rem .65rem #0000001a}.ta-nl-input:focus{border-color:var(--signal-focus);box-shadow:inset 0 -.25rem .5rem #0000000f,0 0 0 2px #004cb833;box-shadow:inset 0 -.25rem .5rem #0000000f,0 0 0 2px oklch(45% .2 260 / .2)}.ta-nl-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-1);padding:var(--space-2);border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--silver-50)}.ta-nl-preview-field{display:flex;flex-direction:column;gap:2px}.ta-nl-preview-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:.05em}.ta-nl-preview-value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-800);font-weight:500}.ta-nl-preview-value--empty{color:var(--silver-400);font-weight:400;font-style:italic}.ta-nl-confidence{display:flex;align-items:center;gap:calc(var(--space-1) * .5)}.ta-nl-confidence-bar{flex:1;height:4px;border-radius:var(--radius-full);background-color:var(--silver-200);overflow:hidden}.ta-nl-confidence-fill{height:100%;border-radius:var(--radius-full);background-color:var(--signal-go);transition:width var(--duration-standard) var(--ease-out-expo)}.ta-nl-confidence-fill--low{background-color:var(--signal-stop)}.ta-nl-confidence-fill--medium{background-color:var(--signal-warn)}.ta-nl-confidence-text{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-400);min-width:32px;text-align:right}.ta-timesheet-grid{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-body);font-size:var(--text-sm)}.ta-timesheet-grid th{padding:var(--space-1);font-weight:500;color:var(--ink-500);text-align:center;border-bottom:2px solid var(--silver-200);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.ta-timesheet-grid th:first-child{text-align:left;min-width:160px}.ta-timesheet-grid td{padding:var(--space-1);text-align:center;border-bottom:1px solid var(--silver-100)}.ta-timesheet-grid td:first-child{text-align:left}.ta-timesheet-project-cell{display:flex;align-items:center;gap:calc(var(--space-1) * .5)}.ta-timesheet-cell-input{width:64px;padding:calc(var(--space-1) * .5);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-700);text-align:center;background-color:transparent;outline:none;transition:border-color var(--duration-quick),background-color var(--duration-quick),box-shadow var(--duration-quick);font-variant-numeric:tabular-nums}.ta-timesheet-cell-input:hover{border-color:var(--silver-300);background-color:var(--white)}.ta-timesheet-cell-input:focus{border-color:var(--ink-500);background-color:var(--white);box-shadow:var(--depth-pressed)}.ta-timesheet-total-row td{font-weight:600;color:var(--ink-800);border-top:2px solid var(--silver-200);border-bottom:none}.ta-timesheet-total-row td:first-child{font-weight:500}.ta-toast-container{position:fixed;top:var(--space-2);right:var(--space-2);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-1);pointer-events:none}.ta-toast{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);border-left:3px solid var(--ink-500);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);pointer-events:auto;min-width:280px;max-width:400px;transform:translate(110%);transition:transform var(--duration-standard) var(--ease-out-expo),opacity var(--duration-standard) var(--ease-out-expo);opacity:0}.ta-toast--visible{transform:translate(0);opacity:1}.ta-toast--exiting{transform:translate(110%);opacity:0}.ta-toast--success{border-left-color:var(--signal-go)}.ta-toast--error{border-left-color:var(--signal-stop)}.ta-toast--warning{border-left-color:var(--signal-warn)}.ta-toast-icon{flex-shrink:0;font-size:var(--text-base)}.ta-toast--success .ta-toast-icon{color:var(--signal-go)}.ta-toast--error .ta-toast-icon{color:var(--signal-stop)}.ta-toast--warning .ta-toast-icon{color:var(--signal-warn)}.ta-toast-message{flex:1}.ta-toast-dismiss{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:2px;font-size:var(--text-xs);transition:color var(--duration-quick)}.ta-toast-dismiss:hover{color:var(--ink-700)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-700);background-color:var(--silver-50);line-height:var(--leading-normal);min-height:100vh}a{color:var(--ink-700);text-decoration:none;transition:color var(--duration-quick)}a:hover{color:var(--ink-900)}a.btn-primary,a.btn-primary:hover{color:var(--white);text-decoration:none}a.btn-secondary,a.btn-secondary:hover{color:var(--ink-700);text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--ink-900);letter-spacing:.02em;line-height:var(--leading-tight);text-transform:uppercase}h4{font-family:var(--font-body);font-weight:600;color:var(--ink-700);line-height:var(--leading-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-lg)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;padding:var(--space-2) var(--container-padding);gap:var(--space-2);max-width:var(--max-wide-content);margin:0 auto;width:100%;min-height:0}.topbar-brand{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-2xl);color:var(--ink-500);text-decoration:none;line-height:1;flex-shrink:0;-webkit-text-stroke:.5px var(--silver-50);transition:color var(--duration-quick)}.topbar-brand:hover{color:var(--ink-700)}.topbar-timer{display:flex;align-items:center;gap:var(--space-1)}.topbar-timer-dot{width:.5rem;height:.5rem;border-radius:var(--radius-full);background-color:var(--ink-300);transition:background-color var(--duration-quick)}.topbar-timer-dot--running{background-color:var(--signal-go);animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.topbar-timer-time{font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-500)}.topbar-timer-time--running{color:var(--signal-go)}.topbar-nav{display:flex;gap:var(--space-0-5);list-style:none;flex:1;justify-content:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0}.topbar-nav::-webkit-scrollbar{display:none}.nav-pill{--depth: 1;position:relative;display:inline-flex;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:transparent;color:var(--ink-500);text-decoration:none;font-size:var(--text-sm);font-weight:500;min-height:var(--min-touch-target);align-items:center;white-space:nowrap;transition:color var(--duration-instant),background var(--duration-quick),box-shadow var(--duration-quick)}.nav-pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) 0 0 0;transition:box-shadow var(--duration-quick)}.nav-pill:hover{color:var(--ink-900);background:var(--silver-100);box-shadow:var(--shadow-source) calc(.2rem * var(--depth)) calc(.2rem * var(--depth)) .4rem}.nav-pill:hover:before{box-shadow:var(--light-source) calc(-.2rem * var(--depth)) calc(-.2rem * var(--depth)) .4rem}.nav-pill--active{background:var(--silver-100);color:var(--ink-900);box-shadow:inset var(--shadow-source) calc(.15rem * var(--depth)) calc(.15rem * var(--depth)) .3rem}.nav-pill--active:before{box-shadow:inset var(--light-source) calc(-.15rem * var(--depth)) calc(-.15rem * var(--depth)) .3rem}.nav-pill:focus-visible{outline:2px solid var(--signal-focus);outline-offset:2px}.topbar-user{position:relative;margin-left:auto;flex-shrink:0}.topbar-profile-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-500);cursor:pointer;font:inherit;transition:color var(--duration-quick),background var(--duration-quick)}.topbar-profile-btn:hover{color:var(--ink-700);background:var(--silver-100)}.topbar-user-avatar{width:1.75rem;height:1.75rem;border-radius:var(--radius-full);object-fit:cover}.topbar-user-icon{font-size:var(--text-xl);color:var(--ink-400);line-height:1}.topbar-user-name{font-family:var(--font-body);font-size:var(--text-sm);color:inherit;white-space:nowrap}.topbar-user-dropdown{--depth: 2;display:none;position:absolute;top:calc(100% + var(--space-1));right:0;min-width:10rem;background-color:var(--silver-100);border-radius:var(--radius-sm);box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;z-index:100;overflow:hidden}.topbar-user-dropdown:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem}.topbar-user-dropdown--open{display:block}.topbar-dropdown-item{display:flex;align-items:center;gap:var(--space-1);width:100%;padding:var(--space-2) var(--space-3);border:none;background:transparent;color:var(--ink-500);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:color var(--duration-quick),background var(--duration-quick)}.topbar-dropdown-item:hover{color:var(--ink-700);background:var(--silver-50)}.offline-indicator{display:flex;align-items:center;gap:var(--space-0-5);font-family:var(--font-body);font-size:var(--text-xs);color:var(--signal-warn)}.sign-in-page{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:var(--space-4)}.sign-in-card{--depth: 2;background-color:var(--silver-100);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;padding:var(--space-6);text-align:center;max-width:26.25rem;width:100%;position:relative}.sign-in-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem}.sign-in-title{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--ink-900);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2)}.sign-in-subtitle{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-400);margin-bottom:var(--space-1)}.sign-in-text{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-500)}.auth-form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);text-align:left}.form-field{display:flex;flex-direction:column;gap:calc(var(--space-1) * .5)}.form-field label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-600)}.form-field input{padding:var(--space-2) var(--space-3);border:1px solid var(--silver-400);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-900);background-color:var(--white);box-shadow:var(--depth-input);transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);outline:none;width:100%}.form-field input::placeholder{color:var(--silver-400)}.form-field input:focus{border-color:var(--signal-focus);box-shadow:var(--depth-input),0 0 0 2px var(--signal-focus-ring)}.forgot-password-link{font-size:var(--text-xs);color:var(--ink-400);text-align:right;margin-top:calc(var(--space-1) * .25)}.forgot-password-link:hover{color:var(--ink-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--silver-300);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out-expo),box-shadow var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo);min-height:var(--min-touch-target);width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--ink-800);color:var(--white);border-color:var(--ink-800);box-shadow:var(--depth-raised)}.btn-primary:hover:not(:disabled){background-color:var(--ink-700);box-shadow:var(--depth-elevated)}.btn-primary:active:not(:disabled){box-shadow:var(--depth-pressed);transform:translateY(1px)}.btn-secondary{background-color:var(--white);color:var(--ink-700);border-color:var(--silver-300);box-shadow:var(--depth-raised)}.btn-secondary:hover:not(:disabled){background-color:var(--silver-50);box-shadow:var(--depth-elevated)}.btn-social{background-color:var(--white);color:var(--ink-700);border-color:var(--silver-300);box-shadow:var(--depth-raised)}.btn-social:hover:not(:disabled){background-color:var(--silver-50);box-shadow:var(--depth-elevated)}.btn-social i{font-size:var(--text-lg)}.auth-divider{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;color:var(--ink-400);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:var(--silver-200)}.social-buttons{display:flex;flex-direction:column;gap:var(--space-1)}.auth-footer{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-400)}.auth-footer a{color:var(--ink-700);font-weight:500}.auth-footer a:hover{color:var(--ink-900);text-decoration:underline}.auth-error{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--signal-stop);background-color:var(--signal-error-bg)}.auth-success{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--signal-go);background-color:var(--signal-success-bg)}.auth-verify-notice{text-align:center;padding:var(--space-2) 0}.auth-verify-notice i{font-size:var(--text-3xl);color:var(--ink-400);margin-bottom:var(--space-2)}.app-main{flex:1;display:flex;flex-direction:column;padding:var(--space-3);overflow-y:auto;background-color:var(--silver-50);max-width:var(--max-wide-content);width:100%;margin:0 auto}.timer-hero{flex:1;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:var(--space-6);row-gap:var(--space-3);align-items:center;justify-items:start;padding:var(--space-4) var(--space-6);max-width:53.75rem;margin:0 auto;width:100%}.timer-hero>.timer-sphere{grid-row:1 / 6;grid-column:1;justify-self:center}.timer-hero>.timer-description-wrap{grid-column:2;grid-row:1;width:100%;max-width:26.25rem}.timer-hero>.btn-tile{grid-column:2;grid-row:2}.timer-hero>.timer-selectors{grid-column:2;grid-row:3;width:100%;max-width:26.25rem}.timer-hero>.quick-entry{grid-column:2;grid-row:4;width:100%;max-width:26.25rem}.timer-hero>.kbd-hint{grid-column:1 / -1;justify-self:center}@media(max-width:40em){.timer-hero{grid-template-columns:1fr;justify-items:center;padding:var(--space-3) var(--space-2)}.timer-hero>.timer-sphere{grid-row:auto;grid-column:1}.timer-hero>.timer-description-wrap{grid-column:1;grid-row:auto;max-width:100%}.timer-hero>.btn-tile{grid-column:1;grid-row:auto}.timer-hero>.timer-selectors{grid-column:1;grid-row:auto;max-width:100%}.timer-hero>.quick-entry{grid-column:1;grid-row:auto;max-width:100%}.timer-hero>.kbd-hint{grid-column:1}}.timer-sphere{--depth: 3;width:clamp(8.75rem,20vw,12.5rem);height:clamp(8.75rem,20vw,12.5rem);border-radius:50%;background:radial-gradient(circle at 40% 40%,var(--light-source),transparent,var(--shadow-source));box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);cursor:pointer;transition:box-shadow var(--duration-standard) var(--ease-subtle)}.timer-sphere:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem;transition:box-shadow var(--duration-standard) var(--ease-subtle)}.timer-sphere{position:relative}.timer-sphere:hover{--depth: 4}.timer-sphere--running{box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem,0 0 0 2px var(--signal-go-ring)}.timer-sphere-time{font-family:var(--font-mono);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:400;letter-spacing:.02em;color:var(--ink-700);font-variant-numeric:tabular-nums;line-height:1;position:relative;z-index:1}.timer-sphere-time--running{color:var(--signal-go)}.timer-sphere-state{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-500);position:relative;z-index:1}.timer-sphere-state--running{color:var(--signal-go)}.btn-tile{--depth: 1;position:relative;display:inline-flex;padding:.1rem;border-radius:var(--radius-sm);background:var(--silver-100);cursor:pointer;border:none;font:inherit;box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;transition:box-shadow .15s .15s ease-in}.btn-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem;transition:box-shadow .15s .15s ease-in}.btn-tile__inner{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);min-block-size:var(--min-touch-target);border-radius:calc(var(--radius-sm) - 2px);background:var(--ink-900);color:var(--white);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);box-shadow:inset var(--shadow-source) 0 0 0;transition:box-shadow .15s ease-in}.btn-tile__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset var(--light-source) 0 0 0;transition:box-shadow .15s ease-in}.btn-tile__inner span,.btn-tile__inner i{transition:transform .3s ease-in-out}.btn-tile:hover{box-shadow:var(--shadow-source) 0 0 0;transition:box-shadow .15s ease-out}.btn-tile:hover:before{box-shadow:var(--light-source) 0 0 0;transition:box-shadow .15s ease-out}.btn-tile:hover .btn-tile__inner{box-shadow:inset var(--shadow-source) calc(.25rem * var(--depth)) calc(.25rem * var(--depth)) .6rem;transition:box-shadow .15s .15s ease-out}.btn-tile:hover .btn-tile__inner:before{box-shadow:inset var(--light-source) calc(-.25rem * var(--depth)) calc(-.25rem * var(--depth)) .6rem;transition:box-shadow .15s .15s ease-out}.btn-tile:hover .btn-tile__inner span,.btn-tile:hover .btn-tile__inner i{transform:translateY(.15rem)}.btn-tile:focus-visible{outline:2px solid var(--signal-focus);outline-offset:2px}.timer-selectors{display:flex;gap:var(--space-2);width:min(100%,31.25rem);margin-bottom:var(--space-2)}.timer-selectors .ta-project-selector,.timer-task-container{flex:1}.quick-entry{width:min(100%,31.25rem)}.timer-description-wrap{display:flex;flex-direction:column;width:min(100%,31.25rem)}.timer-description{--depth: 2;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:var(--space-2) var(--space-3);min-block-size:var(--min-touch-target);border:1px solid var(--silver-400);border-radius:var(--radius-sm);background:var(--silver-100);color:var(--ink-900);font-family:var(--font-body);font-size:var(--text-sm);box-shadow:inset var(--shadow-source) calc(.25rem * var(--depth)) calc(.25rem * var(--depth)) .6rem;transition:border-color var(--duration-instant),box-shadow var(--duration-instant)}.timer-description:focus{outline:none;border-color:var(--signal-focus);box-shadow:inset var(--shadow-source) 2px 2px 4px,0 0 0 2px #004cb833;box-shadow:inset var(--shadow-source) 2px 2px 4px,0 0 0 2px oklch(45% .2 260 / .2)}.timer-description::placeholder{color:var(--ink-500)}.timer-suggestion{display:none;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-500);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-quick),background var(--duration-quick)}.timer-suggestion--visible{display:flex}.timer-suggestion:hover{color:var(--ink-700);background:var(--silver-50)}.timer-suggestion-icon{color:var(--ink-400);font-size:var(--text-xs)}.timer-suggestion-task{font-weight:500;color:var(--ink-700)}.timer-suggestion-separator{color:var(--ink-300)}.timer-suggestion-project{color:var(--ink-400)}.timer-suggestion-hint{margin-left:auto;color:var(--ink-300)}.dashboard-zen{display:flex;flex-direction:column;flex:1;min-height:0}.zen-entries-section{max-width:53.75rem;width:100%;margin:0 auto;padding:0 var(--space-6) var(--space-3)}.zen-entries-header{margin-bottom:var(--space-2)}.zen-entries-list{background-color:var(--silver-100);border-radius:var(--radius-md);overflow:hidden}.bottom-stats{display:flex;justify-content:center;gap:var(--space-8);padding:var(--space-3) var(--space-4);border-top:1px solid var(--silver-200)}.stat{text-align:center}.stat-value{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--ink-900);font-variant-numeric:tabular-nums;line-height:1;margin-bottom:var(--space-1)}.stat-label{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-500)}.kbd-hint{font-size:var(--text-xs);color:var(--silver-400);text-align:center}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border:1px solid var(--silver-200);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);background-color:var(--white);min-width:20px;text-align:center}.offline-indicator{display:flex;align-items:center;gap:var(--space-0-5);padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--signal-warn);background-color:var(--signal-warn-bg)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.page-title{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--ink-900);letter-spacing:.02em;text-transform:uppercase}.card{--depth: 2;background-color:var(--silver-100);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;padding:var(--space-3);position:relative}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.card-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700)}.stats-grid{display:flex;gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap}.stat-card{--depth: 1;background-color:var(--silver-100);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-0-5);position:relative;min-width:7.5rem}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem}.stat-sub{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400)}.filters-bar{display:flex;align-items:flex-end;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-3);text-align:center}.empty-state-icon{font-size:var(--text-4xl);color:var(--silver-300);margin-bottom:var(--space-2)}.empty-state-title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;color:var(--ink-500);margin-bottom:var(--space-1)}.empty-state-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-400);max-width:var(--max-content-width)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.loading-spinner i{font-size:var(--text-2xl);color:var(--ink-400);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-list{display:grid;gap:var(--space-1)}.project-card{--depth: 1;background-color:var(--silver-100);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-source) calc(.33rem * var(--depth)) calc(.33rem * var(--depth)) .6rem;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);cursor:pointer;position:relative;transition:box-shadow var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo)}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:var(--light-source) calc(-.33rem * var(--depth)) calc(-.33rem * var(--depth)) .6rem;transition:box-shadow var(--duration-quick) var(--ease-out-expo)}.project-card:hover{--depth: 2;transform:translateY(-1px)}.project-color-dot{width:.75rem;height:.75rem;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.project-info{display:flex;flex-direction:column;gap:2px;min-width:0}.project-name{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--ink-700)}.project-client{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400)}.project-meta{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-400)}.breadcrumb a{color:var(--ink-500);text-decoration:none;transition:color var(--duration-quick)}.breadcrumb a:hover{color:var(--ink-900)}.breadcrumb-separator{font-size:var(--text-xs);color:var(--ink-300)}.breadcrumb-current{color:var(--ink-700);font-weight:500}.project-detail-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.project-detail-color{width:1rem;height:1rem;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.project-detail-name{flex:1;min-width:0}.project-detail-badges{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-lg)}.tab-bar{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);border-bottom:1px solid var(--silver-200);padding-bottom:var(--space-1)}.tab-btn{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-400);background:none;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:color var(--duration-quick),background var(--duration-quick);min-height:var(--min-touch-target)}.tab-btn:hover{color:var(--ink-700);background:var(--silver-100)}.tab-btn--active{color:var(--ink-900);border-bottom:2px solid var(--ink-800)}.task-quick-add{display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.task-quick-add-input{flex:1;padding:var(--space-1-5) var(--space-2);border:1px solid var(--silver-200);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);box-shadow:inset var(--shadow-source) 2px 2px 4px;transition:border-color var(--duration-quick)}.task-quick-add-input:focus{outline:2px solid var(--signal-focus);outline-offset:2px;border-color:var(--signal-focus)}.task-quick-add-input::placeholder{color:var(--silver-400)}.task-quick-add-input:disabled{opacity:.5}.task-quick-add-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--min-touch-target);height:var(--min-touch-target);border:none;border-radius:var(--radius-sm);background:var(--silver-100);color:var(--ink-500);cursor:pointer;font-size:var(--text-sm);transition:color var(--duration-quick),background var(--duration-quick)}.task-quick-add-btn:hover{color:var(--ink-700);background:var(--silver-200)}.task-quick-add-btn:disabled{opacity:.5;cursor:default}.task-list{display:grid;gap:var(--space-1)}.task-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.task-status-dot{width:.625rem;height:.625rem;border-radius:var(--radius-full);flex-shrink:0}.task-status-dot--active{background-color:var(--signal-go)}.task-status-dot--in_progress{background-color:var(--signal-warn)}.task-status-dot--completed{background-color:var(--ink-300)}.task-info{display:flex;flex-direction:column;gap:2px;min-width:0}.task-name{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--ink-700)}.task-description{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-tracked{font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap}.report-chart-wrap{position:relative;width:100%;height:18.75rem}.report-chart-wrap canvas{width:100%;height:100%}.settings-section{margin-bottom:var(--space-4)}.settings-section-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);margin-bottom:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--silver-200)}.settings-field{margin-bottom:var(--space-2);max-width:25rem}@media(prefers-color-scheme:dark){:root{--ink-900: oklch(95% 0 0);--ink-800: oklch(88% 0 0);--ink-700: oklch(78% 0 0);--ink-600: oklch(68% 0 0);--ink-500: oklch(55% 0 0);--ink-400: oklch(45% 0 0);--ink-300: oklch(35% 0 0);--ink-200: oklch(25% 0 0);--ink-100: oklch(18% 0 0);--white: oklch(13% 0 0);--silver-400: oklch(45% 0 0);--silver-300: oklch(35% 0 0);--silver-200: oklch(25% 0 0);--silver-100: oklch(20% 0 0);--silver-50: oklch(17% 0 0);--light-source: oklch(100% 0 0 / .08);--shadow-source: oklch(0% 0 0 / .6);--surface-body: oklch(11% 0 0)}body{background-color:var(--surface-body)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-muted{color:var(--ink-400)}.text-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.code-block{background:#f6f6f6;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-700);overflow-x:auto;white-space:pre;box-shadow:var(--depth-code)}.code-block--lg{padding:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.landing-page{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-6)}.landing-hero{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-6) var(--space-4);text-align:center}.landing-hero-content{max-width:40rem}.landing-hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);color:var(--ink-900);letter-spacing:.1em;line-height:1;margin-bottom:var(--space-2)}.landing-hero-tagline{font-family:var(--font-body);font-size:var(--text-xl);color:var(--ink-600);margin-bottom:var(--space-1)}.landing-hero-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-400);margin-bottom:var(--space-4)}.landing-hero-ctas{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}.landing-hero-ctas .btn-tile{text-decoration:none}.landing-hero-ctas .btn-tile__inner--outline{background:var(--silver-100);color:var(--ink-700)}.landing-section-title{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--ink-900);text-align:center;margin-bottom:var(--space-4);letter-spacing:.04em}.landing-features{max-width:60rem;margin:0 auto;padding:0 var(--space-3)}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media(max-width:48em){.landing-features-grid{grid-template-columns:1fr}}.landing-feature-card{text-align:center}.landing-feature-icon{font-size:var(--text-3xl);color:var(--ink-500);margin-bottom:var(--space-2)}.landing-feature-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);margin-bottom:var(--space-1);text-transform:none}.landing-feature-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-500);line-height:var(--leading-relaxed)}.landing-feature-text code{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--silver-200);padding:1px 4px;border-radius:var(--radius-sm)}.landing-how{padding:0 var(--container-padding)}.landing-how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:48em){.landing-how-steps{grid-template-columns:1fr}}.landing-how-step{text-align:left;min-width:0}.landing-how-step h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);margin-bottom:var(--space-1);text-transform:none}.landing-how-step p{font-size:var(--text-sm);color:var(--ink-500);margin-bottom:var(--space-1)}.landing-how-step-number{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--ink-500);line-height:1;margin-bottom:var(--space-1)}.landing-code{white-space:pre-wrap;overflow-wrap:break-word;overflow-x:hidden}.landing-blog-link{max-width:60rem;margin:0 auto;padding:0 var(--space-3);width:100%}.landing-blog-card{display:flex;align-items:center;gap:var(--space-3)}.landing-blog-card>i{font-size:var(--text-3xl);color:var(--ink-400);flex-shrink:0}.landing-blog-card h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);text-transform:none}.landing-blog-card p{font-size:var(--text-sm);color:var(--ink-500)}.landing-blog-card .btn{flex-shrink:0;width:auto;white-space:nowrap}@media(max-width:40em){.landing-blog-card{flex-direction:column;text-align:center}.landing-blog-card .btn{width:100%}}.landing-footer-cta{text-align:center;padding:var(--space-6) var(--space-3)}.landing-footer-cta h2{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-1)}.landing-footer-cta p{font-size:var(--text-sm);color:var(--ink-500);margin-bottom:var(--space-3)}.landing-footer-cta .btn-tile{display:inline-flex;text-decoration:none}.landing-footer{text-align:center;padding:var(--space-3);font-size:var(--text-xs);color:var(--ink-400);border-top:1px solid var(--silver-200)}.landing-footer a{color:var(--ink-500);margin-left:var(--space-1)}.downloads-page{max-width:60rem;margin:0 auto;padding:var(--space-4) var(--space-3)}.downloads-header{text-align:center;margin-bottom:var(--space-4)}.downloads-header h1{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:var(--space-1)}.downloads-header p{font-size:var(--text-sm);color:var(--ink-500)}.download-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(max-width:48em){.download-grid{grid-template-columns:1fr}}.download-card{display:flex;flex-direction:column;gap:var(--space-1)}.download-card h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);text-transform:none}.download-card p{font-size:var(--text-sm);color:var(--ink-500)}.download-card-icon{font-size:var(--text-3xl);color:var(--ink-500);margin-bottom:var(--space-1)}.download-btn{width:100%;margin-top:var(--space-1)}.download-meta{font-size:var(--text-xs);color:var(--ink-400)}.download-code{margin-top:var(--space-1)}.download-note{font-size:var(--text-xs);color:var(--ink-500);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-0-5)}.downloads-footer{text-align:center;margin-top:var(--space-4)}.downloads-footer a{color:var(--ink-500);font-size:var(--text-sm)}.blog-page{display:flex;justify-content:center;padding:var(--space-4) var(--space-3)}.blog-article{max-width:60rem;width:100%;text-align:left}.blog-header{text-align:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--silver-200)}.blog-date{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:.1em}.blog-title{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--ink-900);margin-top:var(--space-2);margin-bottom:var(--space-1)}.blog-title i{margin-right:var(--space-1)}.blog-subtitle{font-family:var(--font-body);font-size:var(--text-lg);color:var(--ink-500)}.blog-section{margin-bottom:var(--space-4)}.blog-section h2{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink-900);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.blog-section h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);margin-top:var(--space-2);margin-bottom:var(--space-1);text-transform:none}.blog-section h3 i{margin-right:.25em;color:var(--ink-400)}.blog-section p{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-600);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.blog-section code{font-family:var(--font-mono);font-size:.875em;background:var(--silver-200);padding:1px 4px;border-radius:var(--radius-sm)}.blog-section kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border:1px solid var(--silver-200);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);background-color:var(--white)}.blog-code{margin-bottom:var(--space-2)}.blog-list{list-style:none;padding:0;margin-bottom:var(--space-2)}.blog-list li{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-600);line-height:var(--leading-relaxed);padding:var(--space-1) 0;padding-left:var(--space-3);position:relative}.blog-list li:before{content:"";position:absolute;left:var(--space-1);top:calc(var(--space-1) + .6em);width:6px;height:6px;border-radius:var(--radius-full);background:var(--ink-300)}ol.blog-list{counter-reset:blog-ol}ol.blog-list li:before{counter-increment:blog-ol;content:counter(blog-ol);background:var(--ink-500);color:var(--white);width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;top:calc(var(--space-1) + .2em);left:0}.blog-cta-group{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);flex-wrap:wrap}.blog-cta-group .btn{width:auto;flex:1;min-width:7.5rem}.blog-footer{text-align:center;padding-top:var(--space-3);border-top:1px solid var(--silver-200);margin-top:var(--space-4)}.blog-footer a{font-size:var(--text-sm);color:var(--ink-500)}
