:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#283c31;background:#f6f4ed;font-size:17px;font-synthesis:none;color-scheme:light;--green:#365a46;--muted:#677367;--line:#dfe3d8}
*{box-sizing:border-box}body{margin:0}main{max-width:620px;margin:auto;padding:30px 22px calc(125px + env(safe-area-inset-bottom))}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid #90af88;outline-offset:4px}[hidden]{display:none!important}
.heading{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:.62rem;letter-spacing:.2em;font-weight:600;color:var(--muted);margin:12px 0 8px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:normal;letter-spacing:-.055em;font-size:clamp(2.6rem,10vw,3.8rem);line-height:1.1;margin:0 0 26px}.leaf{display:inline-block;font-family:serif;font-size:.65em;color:#92a67b;margin-left:12px;vertical-align:middle}h2{font-size:1.25rem;letter-spacing:-.025em}p{line-height:1.55}.quiet{border:0;background:transparent;color:var(--green);padding:12px;border-radius:14px;min-height:44px}.quiet:hover{background:#e9ecdf}.menu{font-weight:700;letter-spacing:.12em;margin-right:-10px}.back{padding-left:0;font-size:.86rem}.summary{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:.83rem}.summary p{margin:0}#connection{font-size:.67rem;color:var(--muted)}#connection.offline{color:#945331}.progress{height:4px;background:#e4e8dc;border-radius:10px;margin:16px 0 20px;overflow:hidden}#progress{height:100%;background:#7b9b65;transition:width .2s ease}
#items{padding:0;margin:0;list-style:none}#items li{border-bottom:1px solid var(--line)}.item{display:flex;align-items:center;gap:15px;width:100%;min-height:68px;padding:17px 4px;border:0;text-align:left;background:transparent;color:inherit}.check{flex:0 0 27px;width:27px;height:27px;border:1.6px solid #9fae97;border-radius:50%;display:grid;place-items:center;font-size:18px;line-height:1}.item-title{overflow-wrap:anywhere;line-height:1.4}.item[aria-checked=true] .check{background:#dce6d0;border-color:#dce6d0;color:#486b39}.item[aria-checked=true] .item-title{text-decoration:line-through;text-decoration-thickness:1.5px;color:#7b8477}.item:hover .check{border-color:var(--green)}.cleanup{display:block;margin:25px auto 0;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.composer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);padding:16px 20px calc(18px + env(safe-area-inset-bottom));background:#f6f4ed;display:flex;gap:10px;border-top:1px solid var(--line);z-index:2}.composer input{min-width:0;flex:1;border:1px solid #dce0d3;border-radius:18px;padding:17px 15px;background:#fffef9;color:inherit;font-size:16px}.composer button{flex:0 0 54px;border:0;border-radius:18px;background:var(--green);color:white;font-size:30px}.primary{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--green);color:#fff;border:0;border-radius:16px;padding:16px 20px;min-height:52px}.primary:hover,.composer button:hover{background:#294635}
#empty{text-align:center;color:var(--muted);padding:45px 8px}#empty>div,.welcome-icon{font-size:3.8rem;color:#91a479}#empty h2{color:#405340}#empty p{font-size:.9rem}#login{padding:15px 0}#login>p{color:var(--muted)}#loginForm{display:grid;gap:12px;margin-top:32px}#loginForm label{font-size:.84rem}#password{border:1px solid #cdd7c5;border-radius:14px;padding:15px;font-size:17px;background:#fffef9;min-width:0}.small{font-size:.75rem}#message{position:sticky;bottom:95px;background:#fff4da;border:1px solid #e1cea1;border-radius:15px;padding:14px;color:#6f4f21;font-size:.85rem;z-index:3}#menu{background:#e9ecdf;padding:12px 18px;border-radius:18px;font-size:.82rem;margin-bottom:16px}#loading{padding:30px 0;color:var(--muted)}dialog{border:0;border-radius:24px;padding:26px;max-width:min(420px,90vw);color:inherit;background:#fffdf6;box-shadow:0 20px 80px #1c2a3033}dialog::backdrop{background:#20302366}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:700px){main{padding-top:55px}.composer{bottom:24px;border:1px solid var(--line);border-radius:24px;padding:14px;width:576px;box-shadow:0 8px 35px #2636270a}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#pinForm{display:grid;gap:12px}#pinForm input{min-width:0;width:100%;border:1px solid #cdd7c5;border-radius:14px;padding:15px;font-size:20px;letter-spacing:.25em;background:#fffef9}#pinError{color:#8b3927}#pinSetup{width:100%;text-align:left;background:#e9ecdf;margin:0 0 18px}#menu button{display:block}
