.page-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.page-nav button{font-size:15px;padding:10px 14px;background:#fff;border:1px solid #e3ddeb}
.page-nav button[aria-current=page]{background:#eee5ff;border-color:#bca4da}
[hidden],nav[hidden],.page-hidden{display:none!important}
.swipe-task{position:relative;overflow:hidden;margin-bottom:12px;border-radius:12px;background:#edf5ed;isolation:isolate}
.swipe-task>.row{position:relative;z-index:1;margin:0;border-radius:0;border-left-color:#d4bef2;touch-action:pan-y;transition:transform 230ms cubic-bezier(.2,.8,.2,1),background-color 180ms ease;will-change:transform;cursor:grab}
.swipe-task>.row:active{cursor:grabbing}
.swipe-task.complete>.row{background:#f7fcf8;border-left-color:#9fd7b5}
.swipe-task .taskbody{cursor:pointer;border-radius:6px}
.taskbody:focus-visible{outline:3px solid #8257ad;outline-offset:5px}
.swipe-delete,.swipe-complete{position:absolute;inset:0 0 0 auto;width:88px;display:flex;align-items:center;justify-content:center;background:#ffded6;visibility:hidden}
.swipe-complete{inset:0 auto 0 0;flex-direction:column;gap:8px;background:#d6efde;color:#315e44}
.swipe-delete button{height:100%;width:100%;border-radius:0;flex-direction:column;background:#ffded6;color:#783c34;font-size:13px;font-weight:700;gap:9px}
.swipe-delete button:hover{background:#ffcabc;transform:none}
.reveal-delete .swipe-delete,.reveal-complete .swipe-complete{visibility:visible}
.gesture-hint{font-size:12px;margin:0 0 16px}
.date-heading{font-size:19px;color:#665084;margin:30px 0 14px;line-height:1.4}
.connection{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid #e4dfec;border-radius:16px;padding:24px}
.connection h2{margin:0;font-size:21px}.connection p{margin:8px 0}.connection button{padding:10px 18px;background:#eee5ff}.connection-note{grid-column:1/-1}
button:disabled{cursor:default;opacity:.6;transform:none}
@media(max-width:700px){.page-nav{gap:6px;margin-bottom:24px}.page-nav button{font-size:13px;padding:9px 10px}.connection{gap:12px;padding:18px}.gesture-hint{max-width:30ch;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.swipe-task>.row{transition:none}}
