:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:start center;padding:2rem}.app{width:100%;max-width:28rem}h1{margin:0 0 1.5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}h2{margin:0 0 .75rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff80}.count{display:inline-block;font-size:.7rem;background:#ffffff1a;padding:.1rem .45rem;border-radius:999px;margin-left:.35rem;vertical-align:middle}.add-form{display:flex;gap:.5rem;margin-bottom:2rem}.goal-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;padding:.6rem .85rem;color:#fafafa;font-size:.95rem;outline:none;transition:border-color .15s}.goal-input:focus{border-color:#ffffff4d}.goal-input::placeholder{color:#ffffff4d}.btn{cursor:pointer;border:none;font-size:.9rem;transition:background .15s,opacity .15s}.btn-add{background:#3b82f6;color:#fff;padding:.6rem 1.2rem;border-radius:.5rem;font-weight:600}.btn-add:hover{background:#2563eb}.btn-delete{background:transparent;color:#ffffff4d;font-size:1.15rem;padding:0 .35rem;line-height:1;border-radius:.25rem}.btn-delete:hover{color:#ef4444;background:#ef44441a}.goal-section{margin-bottom:1.5rem}.goal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.goal-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;transition:background .15s}.goal-item:hover{background:#ffffff12}.goal-item.completed{opacity:.5}.goal-text{flex:1;font-size:.95rem}.completed .goal-text{text-decoration:line-through;color:#fff6}.checkbox{width:1.15rem;height:1.15rem;border:1.5px solid rgba(255,255,255,.25);border-radius:.3rem;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:.7rem;color:#fff;flex-shrink:0;transition:background .15s,border-color .15s}.checkbox:hover{border-color:#3b82f6}.checkbox.checked{background:#3b82f6;border-color:#3b82f6}.empty{color:#ffffff59;font-size:.9rem;text-align:center;padding:2rem 0}.summary{margin-top:1.5rem;text-align:center;font-size:.8rem;color:#ffffff59}
