:root { color-scheme: dark; font-family: Inter, system-ui, -apple-system, sans-serif; background: #101814; color: #edf6ef; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 90% 0%, #264235 0, transparent 35%), #101814; }
.shell { width: min(100%, 680px); margin: 0 auto; padding: 28px 18px 48px; }
header { padding: 16px 4px 28px; }
.eyebrow { color: #9fbba8; font-size: .72rem; letter-spacing: .13em; font-weight: 700; margin: 0 0 8px; }
h1 { font-size: clamp(2.3rem, 10vw, 3.5rem); line-height: 1; margin: 0; letter-spacing: -.06em; }
.subhead { color: #b8c9bd; margin: 12px 0 0; }
section { margin-top: 26px; }
h2 { font-size: 1rem; margin: 0; }
.capture, .plan { background: #1b2820; border: 1px solid #354f3d; padding: 18px; border-radius: 18px; }
.plan { border-color: #6c8c68; background: linear-gradient(135deg, #1d3024, #18251d); }
form { display: flex; gap: 8px; margin-top: 12px; }
input { min-width: 0; flex: 1; color: inherit; background: #101814; border: 1px solid #506555; border-radius: 11px; padding: 13px; font: inherit; }
button { color: #112016; background: #b5e2c0; border: 0; border-radius: 11px; padding: 11px 14px; font: inherit; font-weight: 700; cursor: pointer; }
button:focus-visible, input:focus-visible { outline: 3px solid #d6f1b8; outline-offset: 2px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; }
.section-heading span { color: #afc1b4; font-weight: 700; }
.task-list { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 8px; }
.task { display: flex; gap: 12px; justify-content: space-between; align-items: center; background: #17231c; border: 1px solid #2c4133; border-radius: 14px; padding: 12px 12px 12px 14px; }
.task span { overflow-wrap: anywhere; }
.task-actions { display: flex; flex: 0 0 auto; gap: 7px; align-items: center; }
.task-action { flex: 0 0 auto; color: #d1e6d6; background: transparent; border: 1px solid #65826d; padding: 7px 10px; }
.notice { min-height: 1.25rem; color: #f0d58f; font-size: .9rem; margin: 10px 2px -10px; }
.done-list .task span { color: #9bb0a0; text-decoration: line-through; }
.empty { color: #91a696; margin: 12px 0 0; }
.privacy-note { margin-top: 34px; padding: 14px; border-left: 3px solid #a6d2ae; color: #b8c9bd; font-size: .9rem; line-height: 1.45; }
.privacy-note strong { display: block; color: #e0f0e3; margin-bottom: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media (max-width: 390px) { form { display: grid; } form button { width: 100%; } }
