@font-face{font-family:Fraunces;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/fraunces.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ground:#f4f2ed;--card:#fffefb;--ink:#1b1a17;--ink-2:#56534c;--ink-3:#8b877e;--line:#e0dcd3;--line-strong:#cbc5b8;--flow:#b4552d;--season:#2f6d52;--project:#37567e;--counting:#7a4b86;--reference:#8a6d1f;--index:#2c6a72;--archive:#6d6a63;--accent:#37567e;--on-accent:#fff;--ok:#2f6d52;--warn:#b4823a;--crit:#a33c32;--card-sunk:#eeebe4;--st-todo:#9b968b;--st-doing:var(--warn);--st-blocked:var(--crit);--st-done:var(--ok);--radius:12px;--shadow:0 1px 2px #1b1a170a, 0 8px 20px -14px #1b1a174d}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ground:#16181a;--card:#1e2124;--ink:#ecebe7;--ink-2:#a8a49c;--ink-3:#7b776f;--line:#2a2e31;--line-strong:#3a3f43;--flow:#e08a5f;--season:#6fb894;--project:#7fa3d4;--counting:#b98fc4;--reference:#cfae52;--index:#6fb3bd;--archive:#9a968e;--accent:#7fa3d4;--on-accent:#16181a;--ok:#6fb894;--warn:#d9a45e;--crit:#cf7a70;--card-sunk:#191c1e;--st-todo:#8b877e;--st-doing:var(--warn);--st-blocked:var(--crit);--st-done:var(--ok)}}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}button,input,textarea,select{font:inherit;color:inherit}.app{max-width:860px;padding:calc(20px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.top{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}@media (width<=560px){.top .row{justify-content:flex-start}}.kinds{gap:6px;display:grid}.board-link{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--kind,var(--line-strong));border-radius:var(--radius);color:inherit;box-shadow:var(--shadow);align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:flex}.board-link:hover{border-color:var(--line-strong)}.board-icon{color:var(--kind,var(--ink-3));text-align:center;flex:none;width:24px;font-size:20px}.board-name{font-family:Fraunces,Georgia,serif;font-size:18px}.board-meta{color:var(--ink-3);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.grow{flex:1;min-width:0}.bar{background:var(--line);border-radius:3px;height:5px;margin-top:7px;overflow:hidden}.bar>i{background:var(--kind,var(--ink-3));border-radius:3px;height:100%;transition:width .25s;display:block}.count{font-variant-numeric:tabular-nums;color:var(--ink-3);flex:none;font-size:13px}.columns{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=720px){.columns.wide{grid-template-columns:repeat(var(--cols,3), minmax(200px, 1fr));align-items:start;padding-bottom:4px;overflow-x:auto}}.column{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--card) 40%, transparent);padding:10px 10px 12px}.column>h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);border-bottom:1px solid var(--line);align-items:center;gap:7px;margin-bottom:8px;padding-bottom:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;display:flex}.column>h3:before{content:"";background:var(--state,var(--ink-3));border-radius:50%;flex:none;width:8px;height:8px}.column-empty{color:var(--ink-3);padding:2px 2px 4px;font-size:13px}.stack{gap:5px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--state,var(--line));border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:7px 10px;display:flex}.card.done .title{color:var(--ink-3);text-decoration:line-through}.tick{border:1.5px solid var(--line-strong);cursor:pointer;color:#0000;background:0 0;border-radius:6px;flex:none;place-items:center;width:21px;height:21px;font-size:13px;display:grid}.tick:hover{border-color:var(--kind,var(--ink-3))}.tick.on{background:var(--kind,var(--accent));border-color:var(--kind,var(--accent));color:var(--on-accent)}.title{overflow-wrap:break-word;line-height:1.3}.sub{color:var(--ink-3);white-space:pre-wrap;overflow-wrap:break-word;margin-top:1px;font-size:12px;display:block}.chip{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.masked{letter-spacing:.12em;color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.revealed{overflow-wrap:anywhere;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;display:grid}.pill{border:1px solid var(--line);background:var(--card);text-align:left;cursor:pointer;color:var(--ink-3);border-radius:8px;padding:8px 10px;font-size:14px}.pill.on{background:var(--kind);border-color:var(--kind);color:var(--on-accent);font-weight:500}.compose{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--ground) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.compose form{gap:8px;max-width:860px;margin:0 auto;display:flex}input[type=text],input[type=email],input[type=password],textarea,select{background:var(--card);border:1px solid var(--line-strong);border-radius:10px;width:100%;padding:11px 13px}input:focus,textarea:focus,select:focus{outline:2px solid var(--kind,var(--project));outline-offset:-1px;border-color:#0000}.btn{border:1px solid var(--line-strong);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:10px;padding:11px 16px}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--kind,var(--accent));color:var(--on-accent);border-color:#0000;font-weight:500}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--ink-3);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink)}.empty{text-align:center;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px 20px}.note{color:var(--ink-3);font-size:13px}.error{color:var(--flow);font-size:14px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}.center{max-width:340px;margin:12vh auto}label{color:var(--ink-2);margin:10px 0 4px;font-size:13px;display:block}dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--ink);width:calc(100% - 32px);max-width:420px;padding:20px}dialog::backdrop{background:#00000059}.group-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.group-head h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-family:Inter,sans-serif;font-size:12px;font-weight:600}.btn.add{color:var(--ink-3);padding:2px 8px;font-size:13px}.btn.add:hover{color:var(--kind,var(--ink))}.grip{color:var(--line-strong);cursor:grab;touch-action:none;background:0 0;border:none;flex:none;padding:6px 2px;font-size:15px;line-height:1}.grip:active{cursor:grabbing}.grip:hover{color:var(--ink-3)}.board-body{min-width:0;color:inherit;flex:1;align-items:center;gap:14px;text-decoration:none;display:flex}.notes-head{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-family:Inter,sans-serif;font-size:12px;font-weight:600}.notes-body{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;color:var(--ink-2);margin:0}textarea{resize:vertical;min-height:96px;font-family:inherit;line-height:1.5}.card-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.card>.grow{min-width:7.5rem}.card-actions .btn{padding:1px 6px;font-size:13px}.card-actions .btn[aria-label=Delete]{opacity:.35;font-size:15px}.card:hover .card-actions .btn[aria-label=Delete]{opacity:1}@media (hover:none){.card-actions .btn[aria-label=Delete]{opacity:.55}}@media (width<=560px){.app{padding:calc(14px + env(safe-area-inset-top)) 12px calc(84px + env(safe-area-inset-bottom))}.card{padding:6px 9px}.stack{gap:4px}.column{padding:8px 8px 10px}.grip{padding:6px 0}.top{gap:6px;margin-bottom:10px}.top .row .btn{padding:3px 8px;font-size:13px}.back{margin-bottom:4px}.panel{margin-bottom:10px;padding:12px}}.star{color:var(--line-strong);cursor:pointer;background:0 0;border:none;flex:none;padding:6px 4px;font-size:17px;line-height:1}.star:hover{color:var(--ink-3)}.star.on{color:var(--warn)}.grip-spacer{flex:none;width:15px}.editable{cursor:text}.editable:hover{-webkit-text-decoration:underline dotted var(--line-strong);text-decoration:underline dotted var(--line-strong);text-underline-offset:3px}.editable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.card input.title,.card textarea.sub{background:var(--ground);border:1px solid var(--line-strong);border-radius:5px;width:100%;padding:1px 4px}.card textarea.sub{min-height:48px}h1.editable{display:inline-block}input.editable,.top input[type=text]{font-size:22px}.column.over{border-color:var(--state);background:color-mix(in srgb, var(--state) 8%, var(--card))}.drag-ghost{box-shadow:var(--shadow);border-left:3px solid var(--line-strong);cursor:grabbing;padding:8px 12px}.offline{background:color-mix(in srgb, var(--reference) 16%, var(--card));border:1px solid color-mix(in srgb, var(--reference) 35%, transparent);color:var(--ink-2);border-radius:8px;margin:0 0 12px;padding:7px 12px;font-size:13px}.danger-zone{border-top:1px solid var(--line);justify-content:center;margin-top:36px;padding-top:14px;display:flex}.btn.ghost.danger{color:var(--ink-3);padding:8px 12px;font-size:13px}.btn.ghost.danger:hover{color:var(--crit)}.swipe{border-radius:10px;position:relative}.swipe-behind{background:color-mix(in srgb, var(--ok) 18%, var(--ground));color:var(--ok);opacity:0;border-radius:10px;align-items:center;padding-left:14px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.swipe.armed .swipe-behind{opacity:1;background:var(--ok);color:var(--card)}.swipe-behind.left{background:color-mix(in srgb, var(--accent) 18%, var(--ground));color:var(--accent);justify-content:flex-end;padding-left:0;padding-right:14px}.swipe.armed.left .swipe-behind.left{background:var(--accent);color:var(--card)}.swipe-behind.left,.swipe.moving.left .swipe-behind:not(.left){opacity:0}.swipe.moving.left .swipe-behind.left{opacity:1}.swipe.armed.left .swipe-behind:not(.left){background:0 0}.swipe-front{background:var(--ground);border-radius:10px;transition:transform .18s cubic-bezier(.2,0,.2,1);position:relative}.swipe.moving .swipe-behind{opacity:1}.swipe.moving .swipe-front{will-change:transform}@media (prefers-reduced-motion:reduce){.swipe-front{transition:none}}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;padding:10px 0 2px;display:flex}.tab{color:var(--ink-3);border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.tab:hover{color:var(--ink-2)}.tab.is-on{color:var(--ink);border-bottom-color:var(--accent)}.tab-count{background:var(--warn);color:#fff;font-variant-numeric:tabular-nums;text-align:center;border-radius:9px;min-width:18px;padding:1px 5px;font-size:11px}.add-reminder{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px;display:flex}.add-reminder .grow{flex:1;min-width:0}.add-when{flex-wrap:wrap;gap:8px}.reminders{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reminder{background:var(--card);border:1px solid var(--line);border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.reminder.is-overdue{border-left-color:var(--warn)}.reminder.is-missed{border-left-color:var(--line-strong)}.reminder.done .reminder-title{color:var(--ink-3);text-decoration:line-through}.reminder-body{flex:1;min-width:0}.reminder-title{color:var(--ink);font-size:15px;font-weight:600;line-height:1.3}.reminder-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:3px;display:flex}.reminder-meta .rel{color:var(--ink-2);font-size:13px;font-weight:650}.reminder.is-overdue .reminder-meta .rel{color:var(--warn)}.reminder-meta .rel.unscheduled{color:var(--ink-3);font-style:italic;font-weight:400}.reminder-meta .abs{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11.5px}.reminder-notes{color:var(--ink-2);white-space:pre-wrap;margin-top:4px;font-size:13px}.reminder-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.urg{text-transform:uppercase;letter-spacing:.06em;background:var(--card-sunk);color:var(--ink-3);border-radius:3px;padding:2px 6px;font-size:10.5px}.urg.u1{color:var(--warn)}.urg.u2{background:var(--warn);color:#fff}.remind-edit{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;display:flex}.remind-edit input,.remind-edit select,.add-when input,.add-when select{font:inherit;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);border-radius:5px;padding:6px 8px;font-size:14px}.when-resolved{color:var(--ink-3);white-space:nowrap;font-size:12px}.sub a,.revealed a,.reminder-notes a{color:inherit;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);overflow-wrap:anywhere;padding:2px 0}.sub a:hover,.revealed a:hover,.reminder-notes a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.sub a:focus-visible,.revealed a:focus-visible,.reminder-notes a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.relabel{border:1px solid var(--line);color:var(--ink-3);font:inherit;cursor:pointer;vertical-align:baseline;background:0 0;border-radius:6px;margin-left:8px;padding:2px 6px;font-size:11px;line-height:1.4}.relabel:hover{color:var(--ink);border-color:var(--line-strong)}.relabel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.finder{z-index:3;background:var(--ground);gap:6px;padding:10px 0 12px;display:grid;position:sticky;top:0}.finder>.row{flex-wrap:nowrap}.finder input[type=search]{padding:12px 14px;font-size:17px}.place-group{margin-bottom:18px}.place-head{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;padding-bottom:4px;font-size:13px;font-weight:600;display:flex}.place-name{color:var(--index)}.place-name.nowhere{color:var(--ink-3);text-transform:none;font-style:italic}.index-card{flex-direction:column;align-items:stretch;gap:6px}.index-card .chips{cursor:pointer;min-height:26px}.chip.place{text-transform:none;letter-spacing:0;color:var(--index);border-color:color-mix(in srgb, var(--index) 40%, transparent);background:color-mix(in srgb, var(--index) 10%, transparent);padding:2px 9px;font-size:12px}.chip.place.removable{font:inherit;cursor:pointer;font-size:12px}.chip.place.removable span{opacity:.55;margin-left:2px}.notfound{border-color:color-mix(in srgb, var(--index) 35%, var(--line));gap:10px;display:grid}.notfound .empty{text-align:left;border:0;padding:4px 0}.viewswitch{justify-content:flex-end;gap:2px;display:flex}.viewswitch .btn{border-radius:8px;padding:5px 11px;font-size:13px}.viewswitch .btn.on{color:var(--index);background:color-mix(in srgb, var(--index) 12%, transparent)}
