*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--bg-card:#1a1d27;--bg-elevated:#22263a;--border:#2e3247;--text:#e8eaf0;--text-muted:#7b82a0;--accent:#5c6ef8;--accent-hover:#4a5ce6;--green:#34c97a;--red:#e05252;--yellow:#f5a623}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.app{max-width:680px;margin:0 auto;padding:24px 16px}h1{margin-bottom:4px;font-size:22px;font-weight:700}.subtitle{color:var(--text-muted);margin-bottom:24px;font-size:13px}.tabs{flex-wrap:nowrap;gap:4px;margin-bottom:20px;display:flex}.tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tab:hover:not(.active){background:var(--bg-elevated);color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:16px}.item-header{align-items:flex-start;gap:12px;display:flex}.item-check{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:all .15s;display:flex}.item-check.done{background:var(--green);border-color:var(--green)}.item-check.habit-check{border-color:var(--accent);border-radius:6px}.item-check.habit-check.done{background:var(--accent);border-color:var(--accent)}.item-title{flex:1;font-size:15px;font-weight:600}.item-title.done{color:var(--text-muted);text-decoration:line-through}.item-note{color:var(--text-muted);margin-top:4px;font-size:12px}.item-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.badge{background:var(--bg-elevated);color:var(--text-muted);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.badge.green{color:var(--green);background:#34c97a26}.badge.blue{color:var(--accent);background:#5c6ef826}.badge.yellow{color:var(--yellow);background:#f5a62326}.streak{color:var(--yellow);align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.del-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px;font-size:16px;transition:opacity .15s}.card:hover .del-btn{opacity:1}.del-btn:hover{color:var(--red)}.add-form{background:var(--bg-card);border:1px solid var(--accent);border-radius:12px;margin-bottom:20px;padding:18px}.add-form h3{color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:700}.form-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.form-input,.form-select{border:1px solid var(--border);background:var(--bg-elevated);min-width:140px;color:var(--text);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:13px}.form-input:focus,.form-select:focus{border-color:var(--accent)}.form-input.full{width:100%;min-width:0}.btn{cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text)}.empty{text-align:center;color:var(--text-muted);padding:40px 0;font-size:14px}.section-label{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin:20px 0 8px;font-size:11px;font-weight:700}
