@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Public+Sans:wght@400;500;600;700&display=swap";:root{--color-bg: #F1F5F1;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-border: #DCE5DD;--color-ink: #23302A;--color-ink-muted: #5B6B62;--color-ink-faint: #8A968E;--color-brand: #1F5E4F;--color-brand-dark: #16453A;--color-brand-tint: #E4EFE8;--color-status-active: #1F5E4F;--color-status-active-tint: #E4EFE8;--color-status-tracking: #B9832B;--color-status-tracking-tint: #FBF0DC;--color-status-done: #5B6B62;--color-status-done-tint: #EDF0EE;--color-status-suspended: #A24B3E;--color-status-suspended-tint: #F7E7E3;--color-alert: #A24B3E;--color-alert-tint: #F7E7E3;--font-display: "Fraunces", Georgia, serif;--font-body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.375rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(35, 48, 42, .06), 0 4px 16px rgba(35, 48, 42, .06);--shadow-raised: 0 8px 24px rgba(35, 48, 42, .12);--tap-target-min: 48px;--motion-fast: .14s;--motion-base: .22s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0ms;--motion-base: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--color-ink);margin:0}button{font-family:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}.app-shell{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target-min);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);border:none;font-size:var(--text-base);font-weight:600;transition:transform var(--motion-fast) var(--motion-ease),background var(--motion-fast) var(--motion-ease)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-brand);color:#fff}.btn-primary:hover{background:var(--color-brand-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-brand);border:1.5px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-brand)}.btn-ghost{background:transparent;color:var(--color-ink-muted)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field label{font-weight:600;font-size:var(--text-sm);color:var(--color-ink-muted)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3) var(--space-4);min-height:var(--tap-target-min);border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-brand)}.field textarea{min-height:96px;resize:vertical}.status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.skeleton{background:var(--color-border);border-radius:var(--radius-sm);animation:skeleton-pulse 1.3s var(--motion-ease) infinite}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.muted{color:var(--color-ink-muted)}.empty-state{text-align:center;padding:var(--space-7) var(--space-5);color:var(--color-ink-muted)}
