:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f1117;--surface: #181b24;--surface-hover: #1e222d;--border: rgba(255, 255, 255, .06);--border-focus: rgba(255, 255, 255, .12);--text: #e8eaed;--text-secondary: #8b8fa3;--text-faint: #4a4e5e;--accent: #6c8cff;--accent-hover: #5a7af0;--accent-glow: rgba(108, 140, 255, .12);--green: #5dd9a0;--green-bg: rgba(93, 217, 160, .1);--red: #ff6b7a;--radius: 10px;--radius-sm: 6px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;padding:1.5rem 1rem 3rem;background:linear-gradient(rgba(108,140,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(108,140,255,.015) 1px,transparent 1px);background-size:32px 32px}.container{max-width:480px;margin:0 auto}.brand{display:flex;align-items:baseline;gap:.6rem;margin-bottom:1.75rem;padding-left:2px}.logo{display:flex;font-size:1.6rem;font-weight:800;letter-spacing:-.04em;line-height:1}.logo-a{color:var(--accent)}.logo-l,.logo-i{color:var(--text)}.logo-g{color:var(--text);opacity:.7}.logo-n{color:var(--text);opacity:.5}.tagline{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-weight:500}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:1.5rem}.week-day{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;border-radius:var(--radius);background:var(--surface);border:1px solid transparent;cursor:pointer;transition:all .15s;color:var(--text-secondary)}.week-day:hover{background:var(--surface-hover)}.week-day.active{background:var(--accent-glow);border-color:var(--accent);color:var(--text)}.week-day.today:not(.active){border-color:var(--border-focus)}.week-day-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500;opacity:.6}.week-day.active .week-day-label{opacity:1;color:var(--accent)}.week-day-num{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}.week-day.active .week-day-num{color:var(--accent)}.date-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.arrow-btn{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;display:grid;place-items:center;transition:all .15s;flex-shrink:0;padding:0}.arrow-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-focus)}.date-title{flex:1;min-width:0}.date-title h2{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.date-sub{font-size:.75rem;color:var(--text-secondary)}.progress-wrap{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.progress-track{flex:1;height:4px;background:var(--surface);border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:9999px;transition:width .3s ease}.progress-label{font-size:.7rem;color:var(--text-faint);font-variant-numeric:tabular-nums;font-weight:600}.add-bar{display:flex;gap:.4rem;margin-bottom:1.25rem}.add-time{width:5.5rem;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:0 .5rem;font-size:.8rem;font-family:inherit;outline:none;transition:border-color .15s}.add-time:focus{border-color:var(--accent)}.add-time::-webkit-calendar-picker-indicator{opacity:.3;filter:invert(1)}.add-input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:.6rem .75rem;font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s}.add-input:focus{border-color:var(--accent)}.add-input::placeholder{color:var(--text-faint)}.add-btn{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;transition:all .15s;padding:0}.add-btn:hover:not(:disabled){background:var(--accent-hover)}.add-btn:disabled{opacity:.3;cursor:default}.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.empty{text-align:center;padding:2.5rem 1rem;color:var(--text-faint);font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.task{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);transition:all .15s}.task:hover{background:var(--surface-hover);border-color:var(--border-focus)}.task.done{opacity:.45}.check{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--text-faint);background:transparent;color:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.check:hover{border-color:var(--green)}.task.done .check{background:var(--green);border-color:var(--green)}.task-body{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;cursor:default}.task-time{font-size:.7rem;font-weight:600;color:var(--accent);background:var(--accent-glow);padding:.1rem .4rem;border-radius:3px;flex-shrink:0;font-variant-numeric:tabular-nums}.task-text{flex:1;min-width:0;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task.done .task-text{text-decoration:line-through;color:var(--text-secondary)}.edit-wrap{flex:1;min-width:0}.edit-field{width:100%;background:#6c8cff0f;border:1px solid var(--accent);border-radius:4px;color:var(--text);font-size:.875rem;font-family:inherit;padding:.2rem .4rem;outline:none}.task-actions{display:flex;gap:.15rem;flex-shrink:0;opacity:0;transition:opacity .15s}.task:hover .task-actions{opacity:1}.act-btn{width:26px;height:26px;border-radius:4px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;padding:0;transition:all .15s}.act-btn:hover{background:#ffffff0d;color:var(--text-secondary)}.act-btn.del:hover{background:#ff6b7a1a;color:var(--red)}@media(max-width:480px){.app{padding:1rem .75rem 2rem}.date-title h2{font-size:1.1rem}}
