:root{--bg: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f4f4f5;--fg: #18181b;--fg-secondary: #52525b;--fg-tertiary: #a1a1aa;--border: #e4e4e7;--border-strong: #d4d4d8;--accent: #18181b;--accent-fg: #ffffff;--accent-hover: #27272a;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--radius: 8px;--radius-sm: 6px;--radius-lg: 12px}html[data-theme=dark]{--bg: #0a0a0b;--bg-secondary: #111113;--bg-tertiary: #18181b;--fg: #fafafa;--fg-secondary: #a1a1aa;--fg-tertiary: #71717a;--border: #26262a;--border-strong: #3f3f46;--accent: #fafafa;--accent-fg: #09090b;--accent-hover: #e4e4e7;--danger: #f87171;--success: #4ade80;--warning: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}h1,h2,h3{line-height:1.3}@media (max-width: 720px){.nav-user-name{display:none}}.table-scroll{overflow-x:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;line-height:1.2;min-height:34px;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:transparent;border-color:transparent;color:var(--fg-secondary)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--fg)}.btn-danger{background:transparent;border-color:transparent;color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.input{width:100%;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);outline:none;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--fg-tertiary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fg-tertiary) 20%,transparent)}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}@keyframes card-pop{0%{transform:scale(.94) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.task-card-enter{animation:card-pop .3s cubic-bezier(.22,1,.36,1)}.task-card-dragging{opacity:.4;transform:scale(.97) rotate(-1.2deg);transition:transform .15s ease,opacity .15s ease}.drag-handle{color:var(--fg-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;padding:0 2px;transition:color .15s ease,background-color .15s ease}.drag-handle:hover{color:var(--fg);background:var(--bg-tertiary)}.drag-handle:active{cursor:grabbing}.card:hover .task-card-open-hint{opacity:1!important}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg-tertiary);color:var(--fg-secondary);border:1px solid var(--border)}.priority-low{color:var(--fg-tertiary)}.priority-medium{color:var(--warning)}.priority-high{color:var(--danger)}.priority-urgent{color:var(--danger);font-weight:600}
