:root{--bg: #f5f3ef;--bg-alt: #ece9e3;--surface: #ffffff;--surface-2: #f0ede8;--surface-hover: #f7f5f1;--accent: #1e293b;--accent-light: #334155;--accent-dim: rgba(30, 41, 59, .07);--accent-border: rgba(30, 41, 59, .18);--text: #1e293b;--text-muted: #64748b;--text-faint: #94a3b8;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--radius: 12px;--radius-sm: 8px;--nav-width: 220px;--bottom-bar-h: 64px;--font-head: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--shadow: 0 4px 24px rgba(0, 0, 0, .07);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;min-height:100dvh;overflow-x:hidden}h1,h2,h3{font-family:var(--font-head);font-weight:600;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-alt);border-radius:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:transparent;color:#dc2626;border:1px solid rgba(220,38,38,.25)}.btn-danger:hover{background:#dc26260f}.btn-sm{padding:5px 10px;font-size:.8rem}.btn-icon{background:transparent;color:var(--text-muted);border:none;padding:4px;cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;transition:color .15s,background .15s}.btn-icon:hover{color:var(--text);background:var(--surface-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;z-index:1;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-sm)}.card-gold{border-color:var(--border-strong)}.input,.select,.textarea{width:100%;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.9rem;padding:8px 12px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.textarea{resize:vertical;min-height:80px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.label{display:block;font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.field{margin-bottom:14px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:500}.badge-gold{background:var(--accent-dim);color:var(--accent-light);border:1px solid var(--accent-border)}.badge-muted{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.badge-green{background:#16a34a1a;color:#15803d}.badge-red{background:#dc26261a;color:#dc2626}.badge-blue{background:#2563eb1a;color:#1d4ed8}.priority-high{color:#dc2626}.priority-medium{color:#d97706}.priority-low{color:var(--text-faint)}.checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-strong);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.checkbox.checked{background:var(--accent);border-color:var(--accent)}.checkbox.checked svg{display:block}.checkbox svg{display:none;width:12px;height:12px}.row{display:flex;align-items:center;gap:8px}.row-between{display:flex;align-items:center;justify-content:space-between}.col{display:flex;flex-direction:column;gap:8px}.gap-4{gap:4px}.gap-12{gap:12px}.flex-1{flex:1}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-accent{color:var(--accent)}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.divider{height:1px;background:var(--border);margin:12px 0}.empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.empty p{font-size:.9rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page{animation:fadeIn .2s ease-out;position:relative;z-index:1}.done-text{text-decoration:line-through;color:var(--text-faint)}.inline-form{display:flex;gap:8px;align-items:flex-end}.inline-form .input{flex:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-active{background:#16a34a}.status-planning{background:#d97706}.status-done{background:var(--text-faint)}.status-paused{background:#2563eb}
