: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)}mark{background:none;color:var(--muted);font-family:var(--f-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em}.cal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:5rem}.cal{background:var(--bg);border:1px solid var(--border);box-shadow:4px 4px #1a18141f;padding:1rem;width:224px;animation:rise .15s ease}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.cal-nav button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.9rem;padding:.15rem .4rem;line-height:1}.cal-nav button:hover{color:var(--ink)}.cal-nav span{color:var(--ink);font-size:.72rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-wd{font-size:.6rem;color:var(--muted);text-align:center;letter-spacing:.05em;padding-bottom:4px}.cal-day{position:relative;background:none;border:none;cursor:pointer;font-family:var(--f-mono);font-size:.78rem;color:var(--ink);padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background .1s}.cal-day:hover{background:var(--border)}.cal-day.today{color:var(--accent);font-weight:600}.cal-day.selected{background:var(--ink);color:var(--bg)}.cal-day.selected:hover{background:var(--ink)}.cal-day.has-data:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--accent)}.cal-day.selected.has-data:after{background:var(--bg)}@keyframes rise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.migrate-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.78rem;color:var(--muted);border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);padding:.55rem 0;letter-spacing:.03em}.migrate-banner button{background:none;border:none;cursor:pointer;font-family:var(--f-mono);font-size:inherit;color:var(--accent);padding:0;white-space:nowrap}.migrate-banner button:hover{text-decoration:underline}.entries{list-style:none;display:flex;flex-direction:column;gap:.375rem}.entry{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;line-height:1.6}.entry .text{flex:1}.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--ref .symbol{cursor:pointer;color:var(--accent);opacity:.6}.entry--task .symbol:hover,.entry--ref .symbol:hover,.entry.done .symbol{color:var(--accent);opacity:1}.entry.done .text{color:var(--muted);text-decoration:line-through}.entry--ref .text{color:var(--muted);font-style:italic}.entry--ref.done .text{color:var(--border)}.entry-actions{display:flex;gap:.25rem;margin-left:auto;opacity:0;transition:opacity .15s;flex-shrink:0}.entry:hover .entry-actions,.entry:focus-within .entry-actions{opacity:1}@media(hover:none){.entry-actions{opacity:.35}}.action-btn{background:none;border:none;cursor:pointer;font-family:var(--f-mono);font-size:.85rem;color:var(--muted);padding:0 .15rem;line-height:1}.action-btn:hover{color:var(--ink)}.action-btn--delete:hover{color:var(--accent)}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.entry.dragging{opacity:.35}.entry.drag-over{outline:1px dashed var(--accent);outline-offset:-1px}.text--edit{flex:1;background:none;border:none;border-bottom:1px solid var(--border);outline:none;font-family:var(--f-mono);font-size:.9375rem;color:var(--ink);padding:0;caret-color:var(--accent)}.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)}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.2rem;background:var(--ink);color:var(--bg);font-family:var(--f-mono);font-size:.8rem;letter-spacing:.05em;padding:.65rem 1rem .65rem 1.2rem;border:1px solid var(--border);white-space:nowrap;animation:toast-in .18s ease;z-index:100}.toast button{background:none;border:1px solid currentColor;color:var(--accent);font-family:var(--f-mono);font-size:inherit;letter-spacing:inherit;padding:.2rem .55rem;cursor:pointer;text-transform:uppercase}.toast button:hover{background:var(--accent);color:var(--bg)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a18148c;display:flex;align-items:center;justify-content:center;z-index:200;padding:1.5rem}.modal{background:var(--bg);border:1px solid var(--border);box-shadow:6px 6px #1a181426;padding:2rem;max-width:380px;width:100%;display:flex;flex-direction:column;gap:1.2rem;animation:rise .2s ease}.modal h2{font-family:var(--f-serif);font-weight:300;font-style:italic;font-size:2rem;color:var(--ink);line-height:1}.modal-sub{font-size:.78rem;color:var(--muted);letter-spacing:.04em;margin-top:-.6rem}.modal hr{border:none;border-top:1px solid var(--border)}.modal-list{display:flex;flex-direction:column;gap:.5rem}.modal-list>div{display:flex;align-items:baseline;gap:.75rem}.modal-list dt{font-size:.82rem;color:var(--ink);min-width:7rem;flex-shrink:0}.modal-list dt code{font-family:var(--f-mono);background:none;color:var(--accent)}.modal-list dd{font-size:.78rem;color:var(--muted)}.modal-note{font-size:.75rem;color:var(--muted);line-height:1.5;border-top:1px solid var(--border);padding-top:1rem}.modal-close{align-self:flex-end;background:var(--ink);color:var(--bg);border:none;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.2rem;cursor:pointer}.modal-close:hover{background:var(--accent)}.help-btn{position:fixed;bottom:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-family:var(--f-mono);font-size:.8rem;cursor:pointer;opacity:.5;transition:opacity .15s;z-index:10;display:flex;align-items:center;justify-content:center}.help-btn:hover{opacity:1;color:var(--ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(prefers-color-scheme:dark){:root{--bg: #1f1c17;--ink: #ece4d0;--muted: #a79c84;--accent: #d8635a;--border: #423c30}body{background-image:radial-gradient(circle at 20% 30%,rgba(236,228,208,.035) 0,transparent 40%),radial-gradient(circle at 80% 70%,rgba(216,99,90,.06) 0,transparent 40%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.92  0 0 0 0 0.82  0 0 0 0.045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.modal-backdrop{background:#000000a6}.cal{box-shadow:4px 4px #0006}.modal{box-shadow:6px 6px #0006}}
