:root{--bg: #f4f5f7;--card: #ffffff;--border: #e4e7ec;--text: #12141a;--muted: #6b7280;--primary: #2563eb;--primary-ink: #ffffff;--danger: #dc2626;--chip: #eef1f6;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .05)}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--card: #171a21;--border: #262b36;--text: #e7e9ee;--muted: #9aa2b1;--primary: #3b82f6;--primary-ink: #ffffff;--danger: #f87171;--chip: #1f2530;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.page{min-height:100vh}.wrap{max-width:680px;margin:0 auto;padding:2.5rem 1rem 4rem}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}h1{font-size:1.7rem;margin:0;letter-spacing:-.02em}.sub{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.total{flex-shrink:0;font-size:.85rem;color:var(--muted);background:var(--chip);border:1px solid var(--border);padding:.3rem .7rem;border-radius:999px;white-space:nowrap}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.form{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;margin-bottom:1.25rem}.input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:9px;font-size:.95rem;background:var(--bg);color:var(--text)}.input:focus{outline:2px solid var(--primary);outline-offset:-1px}.grow{flex:1 1 160px}.btn{padding:.6rem 1.1rem;border:none;border-radius:9px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .05s ease,opacity .15s ease}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--primary);color:var(--primary-ink)}.btn.primary:disabled{opacity:.6;cursor:default}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.6rem .75rem}.btn.ghost:hover{color:var(--danger);border-color:var(--danger)}.error{color:var(--danger);margin:0 0 1rem;font-size:.9rem}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--card);color:var(--muted);padding:.35rem .7rem;border-radius:999px;font-size:.85rem;cursor:pointer}.chip.active{color:var(--text);border-color:var(--primary)}.chip .count{font-size:.72rem;background:var(--chip);border-radius:999px;padding:.05rem .4rem}.empty{color:var(--muted);text-align:center;padding:2rem 0}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.task{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem}.task-main{display:flex;align-items:center;gap:.75rem;min-width:0}.task-text{display:flex;flex-direction:column;min-width:0}.task-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-text small{color:var(--muted);font-size:.82rem}.task-actions{display:flex;gap:.5rem;flex-shrink:0}.select{padding:.45rem .5rem;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);cursor:pointer}.badge{font-size:.72rem;font-weight:700;padding:.22rem .55rem;border-radius:999px;white-space:nowrap}.badge.new{background:#eef2ff;color:#4338ca}.badge.in_progress{background:#fef9c3;color:#854d0e}.badge.done{background:#dcfce7;color:#166534}@media(prefers-color-scheme:dark){.badge.new{background:#312e81;color:#c7d2fe}.badge.in_progress{background:#423a0a;color:#fde68a}.badge.done{background:#14442a;color:#bbf7d0}}
