:root{--bg:#f7f7f5;--surface:#fff;--border:#e4e4e0;--text:#1c1c1a;--text-dim:#6b6b66;--accent:#3a6df0;--danger:#c0392b;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#17171a;--surface:#202024;--border:#34343a;--text:#ececf0;--text-dim:#9a9aa2;--accent:#6b93ff;--danger:#e06c5a}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .9rem;display:inline-flex}.button--primary{background:var(--accent);color:#fff;border-color:#0000}.input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:.55rem .7rem}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field label{color:var(--text-dim);font-size:.85rem}.muted{color:var(--text-dim)}.button:disabled{cursor:default;opacity:.6}.button[aria-busy=true]{cursor:progress}.card{transition:opacity .25s}.card:has([data-leaving][aria-busy=true]){opacity:.4}.card:has([data-leaving=done][aria-busy=true]) .task-title{text-decoration:line-through}.flash-done{color:var(--accent);font-size:.85rem}.flash-done:not(:empty){animation:2s forwards flash-done}@keyframes flash-done{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.card,.flash-done:not(:empty){transition:none;animation:none}}.plan-layout{grid-template-columns:1fr;align-items:start;gap:1.5rem;display:grid}.plan-layout>*{min-width:0}@media (min-width:1000px){.plan-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}}.tl-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:2px;right:3px}.tl-block:hover .tl-actions,.tl-actions:focus-within{opacity:1}@media (hover:none){.tl-actions{opacity:1}}.tl-actions button{border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--text);cursor:pointer;border-radius:5px;padding:0;font-size:.7rem;line-height:1}.tl-actions button:hover{border-color:var(--accent);color:var(--accent)}.tl-stop{z-index:5;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem;font-size:.8rem;display:flex;position:absolute;box-shadow:0 4px 16px #00000026}.tl-stop input{border:1px solid var(--border);background:var(--bg);width:4.5rem;color:var(--text);font:inherit;border-radius:6px;padding:.25rem .4rem}.tl-stop .button{padding:.3rem .6rem}
