:root{--bg: #eef1f6;--surface: #ffffff;--ink: #1b1f2a;--ink-soft: #5b6472;--line: #dde2ec;--accent: #3457d5;--accent-soft: #dce4fb;--amber: #f2a93b;--teal: #1e8e6b;--danger: #c0392b;--danger-soft: #f9e4e1;--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--radius: 10px;--shadow-card: 0 1px 2px rgba(27, 31, 42, .04), 0 12px 32px -16px rgba(27, 31, 42, .18)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgba(27,31,42,.05) 1px,transparent 0);background-size:22px 22px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button{font-family:inherit}.app{min-height:100%;display:flex;justify-content:center;padding:8vh 20px 10vh}.app-shell{width:100%;max-width:460px}.brand{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;padding:0 4px}.brand-mark{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.brand-mark:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:2px;background:linear-gradient(135deg,var(--amber),var(--teal));transform:translateY(-1px)}.brand-counter{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft);letter-spacing:.03em}.card{position:relative;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:28px 28px 22px 32px;overflow:hidden}.flow-rail{position:absolute;top:0;left:0;width:6px;height:100%;background:var(--line)}.flow-rail-fill{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(180deg,var(--teal) 0%,var(--amber) 100%);border-radius:0 0 0 var(--radius);transition:height .42s cubic-bezier(.22,1,.36,1)}.flow-rail-ticks{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column-reverse;justify-content:flex-start}.flow-rail-tick{flex:1 1 auto;border-top:1px solid rgba(255,255,255,.55);min-height:1px}.flow-rail-tick:last-child{border-top:none}.card h1,.card h2{font-family:var(--font-display);font-weight:600;color:var(--ink);margin:0 0 18px}.card h1{font-size:1.5rem}.card h2{font-size:1.2rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.78rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.field input[type=email],.field input[type=password],.field input[type=text]{font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;transition:border-color .15s ease,background .15s ease}.field input:focus{background:var(--surface);border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:.9rem;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;width:100%;margin-top:4px}.btn-primary:hover{background:#2b46b8}.btn-ghost{background:transparent;color:var(--accent);width:100%;margin-top:16px;padding:8px 12px;border:1px dashed var(--line)}.btn-ghost:hover{background:var(--accent-soft);border-color:var(--accent-soft)}.alert{font-size:.85rem;color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:8px 12px;margin:4px 0 14px}.task-form{display:flex;gap:10px;align-items:flex-end;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.task-form .field{flex:1;margin-bottom:0}.task-form .btn{height:40px;white-space:nowrap}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.task-row{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:8px;transition:background .12s ease}.task-row:hover{background:var(--bg)}.task-row:hover .task-delete{opacity:1;pointer-events:auto}.task-check-label{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;min-width:0}.task-check-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:19px;height:19px;min-width:19px;border-radius:50%;border:2px solid var(--line);position:relative;cursor:pointer;transition:border-color .15s ease,background .15s ease}.task-check-label input[type=checkbox]:checked{background:var(--teal);border-color:var(--teal)}.task-check-label input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-title{font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title.is-done{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--line)}.task-delete{opacity:0;pointer-events:none;background:transparent;border:none;color:var(--danger);font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:6px 8px;border-radius:6px;cursor:pointer;transition:opacity .12s ease,background .12s ease}.task-delete:hover{background:var(--danger-soft)}.task-delete:focus-visible{opacity:1;pointer-events:auto}.empty-state{font-size:.9rem;color:var(--ink-soft);text-align:center;padding:28px 8px;border:1px dashed var(--line);border-radius:8px}
