:root{--bg: #f7f3ec;--ink: #1a1a18;--muted: #8a8475;--accent: #c0392b;--border: #d8d0c4;--f-mono: "JetBrains Mono", monospace;--f-serif: "Fraunces", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--ink);font-family:var(--f-mono);min-height:100dvh}main{max-width:640px;margin:0 auto;padding:2.5rem 1.5rem;display:flex;flex-direction:column;gap:2rem}header{display:flex;align-items:center;gap:.75rem}header>button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.25rem;line-height:1;flex-shrink:0}header>button:hover{color:var(--ink)}h1{flex:1;font-family:var(--f-serif);font-weight:300;font-size:1.1rem;display:flex;align-items:baseline;gap:.5rem}h1 time{cursor:pointer;border-bottom:1px solid transparent;transition:border-color .15s}h1 time:hover{border-bottom-color:var(--muted)}h1 input[type=date]{font-family:var(--f-serif);font-weight:300;font-size:inherit;color:var(--ink);background:none;border:none;border-bottom:1px solid var(--border);outline:none;padding:0;width:100%;cursor:pointer}mark{background:none;color:var(--muted);font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em}.entries{list-style:none;display:flex;flex-direction:column;gap:.375rem}.entry{display:flex;align-items:baseline;gap:.75rem;font-size:.9375rem;line-height:1.6}.symbol{background:none;border:none;font-family:var(--f-mono);font-size:inherit;color:var(--muted);cursor:default;padding:0;flex-shrink:0;width:1ch;text-align:center}.entry--task .symbol{cursor:pointer}.entry--task .symbol:hover,.entry.done .symbol{color:var(--accent)}.entry.done .text{color:var(--muted);text-decoration:line-through}.new-entry .symbol{color:var(--border);-webkit-user-select:none;user-select:none}.new-entry input{flex:1;background:none;border:none;outline:none;font-family:var(--f-mono);font-size:.9375rem;color:var(--ink);padding:0;caret-color:var(--accent)}.new-entry input::placeholder{color:var(--border)}.new-entry input:focus::placeholder{color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
