:root{color-scheme:light;--paper:#fff5ec;--ink:#38212b;--muted:#694d57;--line:#e5cdd0;--accent:#772c4b;--card:#fffcf7;--lime:#e0ed9c}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.4 system-ui,-apple-system,sans-serif}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
a{color:inherit}
:focus-visible{outline:2px solid #8f3860;outline-offset:3px}
h1,h2,p{margin:0}
.shell{max-width:680px;margin:auto;padding:0 13px}
.top{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}
.brand{font-size:13px;font-weight:760;text-decoration:none;display:flex;align-items:center;gap:6px}
.brand span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f4c7d2;font-size:11px;color:var(--accent)}
.private{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:20px}
main{padding:12px 0 20px}
.hero,.gate{position:relative;overflow:hidden;background:#f4b8cb;border:1px solid #e9a8bf;border-radius:20px;padding:16px 15px;color:#38212b;isolation:isolate}
.hero[data-section=lists]{background:#e8dcf7;border-color:#dac8ec}
.hero[data-section=travel]{background:#e4edaf;border-color:#d6e28f}
.hero-text{position:relative;z-index:1}
.kicker{font:700 11px/1.3 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px}
h1{font:500 clamp(37px,9vw,62px)/.95 Georgia,serif;letter-spacing:-.065em;margin:0 0 7px}
h1 em{font-weight:400;color:var(--accent)}
.hero-text>p:last-child,.gate>p:last-of-type{font-size:13px}
.hero-art{position:absolute;right:10px;top:-18px;color:#fff3e9;font:400 125px/1.1 Georgia,serif;transform:rotate(13deg);pointer-events:none;z-index:0}
.gate form{margin-top:13px;max-width:360px}
.gate form .primary{margin-top:8px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:12px 0 8px}
.group{display:flex;flex-wrap:wrap;gap:4px}
.group button,.quiet,.primary{min-height:43px;padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--card);font-size:12px;font-weight:650}
.group button[aria-pressed=true],.primary{background:var(--accent);color:#fff6f9;border-color:var(--accent)}
.toolbar input{min-height:43px;max-width:150px;font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:5px}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.metric{min-height:62px;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:6px}
.metric span{display:block;color:var(--muted);font-size:11px}
.metric strong{display:block;font-size:clamp(14px,4.4vw,22px);letter-spacing:-.045em;overflow-wrap:anywhere}
.sections{margin-top:12px}
.entries-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:14px 0 5px}
.entries-heading h2,dialog h2{font:500 27px/1 Georgia,serif;letter-spacing:-.045em}
.entries-heading span{font-size:11px;color:var(--muted)}
.entries{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 8px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:7px 8px}
.entry strong,.entry .entry-meta{display:block;overflow-wrap:anywhere}
.entry .entry-meta,.entry p,.entry a{font-size:12px;color:var(--muted)}
.entry p{white-space:pre-wrap}
.entry a{display:inline-block;padding-top:3px;color:var(--accent)}
.entry.done strong{text-decoration:line-through}
.edit{border:0;background:transparent;color:var(--accent);font-size:11px;padding:4px 2px;min-height:36px}
.empty{padding:12px;color:var(--muted);border:1px dashed var(--line);border-radius:11px;font-size:13px}
.notice{font-size:13px;color:#90344a;margin:4px 0}
.dock{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px 0 max(5px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}
.dock button{display:grid;justify-items:center;align-content:center;gap:1px;min-height:49px;background:transparent;border:0;border-radius:10px;font-size:11px;font-weight:630}
.dock button span{font-size:18px;line-height:1}
.dock button[aria-pressed=true]{background:#f7dce5;color:var(--accent)}
.dock button.add{background:var(--lime)}
dialog{width:min(460px,calc(100% - 20px));max-height:90dvh;overflow:auto;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:17px;padding:13px}
dialog::backdrop{background:#321e326e}
dialog h2{margin-bottom:10px}
form label{display:grid;gap:2px;margin-bottom:6px;font-size:12px;font-weight:650}
form input,form select,form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;min-height:36px;background:#fff;padding:5px;font-size:16px;font-weight:400}
form textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.check-field{display:flex;align-items:center;gap:5px}
.check-field input{width:18px;min-height:18px;accent-color:var(--accent)}
.actions{display:flex;gap:4px;justify-content:flex-end}
.danger{margin-right:auto;color:#8f2d45}
.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.shell main{flex:1}
.hero{min-height:150px;display:flex;align-items:center}
.hero-art{right:10px;top:-25px;font-size:170px;text-shadow:10px 14px 0 #8a415620}
.hero::after{content:"";position:absolute;z-index:-1;inset:auto -8px -12px auto;width:120px;height:74px;border:2px solid #fff8ea;border-radius:50%;transform:rotate(-19deg)}
@media (min-width:600px){.shell{padding-inline:22px}.hero{min-height:190px;padding-inline:25px}.hero-art{right:28px;font-size:210px}.metric{padding:10px}.entry{padding:10px 12px}}
