.app{--bg:#f4f4f2;--panel:#fff;--ink:#1c1c1a;--muted:#5d5d57;--faint:#8a8a82;--line:#e3e3de;--line-strong:#cfcfc8;--accent:#0f766e;--accent-soft:#e6f2f0;--danger:#b3261e;--danger-soft:#fbeae9;--r:10px;--shadow:0 1px 2px #1c1c1a0f,0 8px 24px #1c1c1a0d}.app.theme-cat{--bg:#f6f1e8;--panel:#fffdf8;--ink:#26211a;--muted:#6b6156;--faint:#96897a;--line:#eae1d2;--line-strong:#d6c9b4;--accent:#b45a1f;--accent-soft:#f8e9db;--danger:#b3261e;--danger-soft:#f9ebe6;--r:12px;--shadow:0 1px 2px #46321e12,0 8px 24px #46321e0f;--paw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cellipse cx='12' cy='15.5' rx='5.2' ry='4.3'/%3E%3Ccircle cx='4.8' cy='10' r='2'/%3E%3Ccircle cx='9.4' cy='6.9' r='2.1'/%3E%3Ccircle cx='14.6' cy='6.9' r='2.1'/%3E%3Ccircle cx='19.2' cy='10' r='2'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;margin:0}.app{background:var(--bg);width:100%;max-width:100%;height:100vh;color:var(--ink);grid-template-rows:56px minmax(0,1fr);grid-template-columns:232px minmax(0,1fr) 304px;font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:grid;overflow-x:clip}.app button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}.app input,.app select{font:inherit;color:inherit}.app :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app h1,.app h2,.app h3,.app p{margin:0}.topbar{background:var(--panel);border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:16px;min-width:0;padding:0 20px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.brand .mark{background:var(--accent);color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;font-size:13px;display:grid;position:relative}.theme-cat .brand .mark{border-radius:7px}.theme-cat .brand .mark:before,.theme-cat .brand .mark:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-bottom:6px solid var(--accent);width:0;height:0;position:absolute;top:-5px}.theme-cat .brand .mark:before{left:2px;transform:rotate(-8deg)}.theme-cat .brand .mark:after{right:2px;transform:rotate(8deg)}.viewswitch{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-left:8px;padding:2px;display:flex}.viewswitch button{color:var(--muted);border-radius:6px;padding:5px 14px;font-weight:600;transition:background .15s,color .15s}.viewswitch button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #1c1c1a1f}.search{background:var(--bg);border:1px solid var(--line);max-width:340px;color:var(--faint);border-radius:8px;flex:1;align-items:center;gap:8px;padding:6px 12px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:none}.top-right{align-items:center;gap:12px;margin-left:auto;display:flex}.sync-pill{color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:600;display:flex}.sync-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;animation:2.5s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:16px 12px;display:flex;overflow-y:auto}.side-nav{flex-direction:column;gap:2px;display:flex}.newtask{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:9px;font-weight:650;transition:filter .15s,transform .1s;display:flex}.newtask:hover{filter:brightness(1.08)}.newtask:active{transform:scale(.985)}.navitem{color:var(--ink);text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-weight:520;transition:background .12s;display:flex}.navitem:hover{background:var(--bg)}.navitem[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:650}.navitem .count{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.navitem[aria-current=true] .count{color:var(--accent)}.navitem .ico{text-align:center;opacity:.75;width:16px}.side-nav h2{text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:18px 10px 6px;font-size:11px;font-weight:650}.dot{border-radius:3px;flex:none;width:9px;height:9px}.side-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:12px 10px 4px;font-size:12px}.sidecat{color:var(--faint);align-items:center;gap:10px;padding:2px 0 10px;display:flex}.sidecat svg{color:var(--accent);flex:none}.sidecat span{font-size:11.5px;line-height:1.35}.theme-toggle{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:2px;display:flex}.theme-toggle button{color:var(--muted);border-radius:6px;flex:1;padding:5px 0;font-size:12px;font-weight:600}.theme-toggle button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #1c1c1a1a}.theme-cat .theme-toggle button[aria-pressed=true]{color:var(--accent)}.side-auth{gap:6px;padding-top:4px;display:grid}.side-auth h3{color:var(--ink);font-size:12.5px;font-weight:650}.side-auth p{color:var(--faint);font-size:11.5px;line-height:1.4}.side-auth .signin{background:var(--accent-soft);color:var(--accent);border-radius:7px;justify-self:start;padding:6px 10px;font-weight:650}.side-auth .signin:hover{filter:brightness(.97)}.center{flex-direction:column;min-width:0;padding:20px 24px 40px;display:flex;overflow-y:auto}.main-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.main-head h1{letter-spacing:-.01em;font-size:20px}.main-head .date{color:var(--faint);font-size:13px}.main-head .boardhint{color:var(--faint);margin-left:auto;font-size:12px}.quickadd{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;transition:border-color .15s;display:flex}.quickadd:focus-within{border-color:var(--accent)}.quickadd .plus{color:var(--accent);font-size:16px;font-weight:700}.quickadd input[type=text]{background:0 0;border:0;outline:none;flex:1;min-width:120px}.quickadd select,.quickadd input[type=date],.quickadd input[type=time]{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:7px;padding:5px 8px;font-size:12.5px}.quickadd .add{background:var(--accent);color:#fff;border-radius:7px;padding:6px 14px;font-weight:650;transition:filter .15s}.quickadd .add:hover{filter:brightness(1.08)}.group{margin-bottom:22px}.group-label{color:var(--muted);align-items:center;gap:8px;margin:0 0 8px 2px;font-size:12.5px;font-weight:650;display:flex}.group-label .n{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:520}.group-label.overdue{color:var(--danger)}.rows{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:background .12s;display:flex;position:relative}.row:last-child{border-bottom:0}.row:hover{background:var(--bg)}.row.selected{background:var(--accent-soft)}.row.selected:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.cb{border:1.5px solid var(--line-strong);background:var(--panel);color:#0000;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;font-size:11px;transition:background .15s,border-color .15s,color .15s;display:grid}.cb:hover{border-color:var(--accent)}.cb.checked{background:var(--accent);border-color:var(--accent);color:#fff}.theme-cat .cb.checked{background:var(--accent) var(--paw) center/12px 12px no-repeat;color:#0000}.row .title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.row.done .title{color:var(--faint);text-decoration:line-through}.chip{border-radius:999px;flex:none;padding:2px 9px;font-size:11.5px;font-weight:600}.chip.cat-chip{background:var(--bg);border:1px solid var(--line);color:var(--muted);align-items:center;gap:5px;display:inline-flex}.chip.due{color:var(--muted);background:var(--bg);border:1px solid var(--line);font-variant-numeric:tabular-nums}.chip.due.today{color:var(--accent);background:var(--accent-soft);border-color:#0000}.chip.due.late{color:var(--danger);background:var(--danger-soft);border-color:#0000}.flag{flex:none;font-size:11px;font-weight:700}.flag.high{color:var(--danger)}.flag.low{color:var(--faint)}.row-acts{display:none}.row:hover .row-acts,.row.selected .row-acts,.row:focus-within .row-acts{display:flex}.row-acts select{color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:3px 6px;font-size:11.5px}.delete-mini{color:var(--danger);border-radius:6px;font-size:11.5px;font-weight:650;border:1px solid var(--danger-soft)!important;background:var(--danger-soft)!important;padding:3px 7px!important}.delete-mini:hover,.detail-acts .danger:hover{border-color:var(--danger)!important;color:var(--danger)!important}.empty{color:var(--faint);padding:14px;font-size:13px}.board-view.ledger-board{flex:1;grid-auto-columns:minmax(200px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.col{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;max-height:100%;padding:10px;display:flex}.col-head{align-items:center;gap:6px;padding:2px 4px 10px;display:flex}.col-head h3{color:var(--muted);font-size:12.5px;font-weight:650}.col-head .n{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px;font-weight:520}.col-body{min-height:40px;overflow-y:auto}.col-body .empty{padding:8px 4px;font-size:12px}.card{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;margin-bottom:8px;padding:10px 12px;font-size:13px;transition:box-shadow .15s,transform .15s,border-color .15s}.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-1px)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.card .t{letter-spacing:-.005em;font-weight:600}.card .cardmeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.card .cardmeta .cb{margin-left:auto}.card.done-card{opacity:.62}.card.done-card .t{color:var(--muted);text-decoration:line-through}.col-foot{color:var(--faint);border-top:1px dashed var(--line);margin-top:6px;padding:8px 4px 0;font-size:11.5px}.col-foot button{color:var(--muted);font-size:11.5px;font-weight:600}.col-foot button:hover{color:var(--accent)}.detail{background:var(--panel);border-left:1px solid var(--line);padding:20px;overflow-y:auto}.detail .d-title{align-items:flex-start;gap:10px;display:flex}.detail .d-title .cb{margin-top:2px}.detail h2{letter-spacing:-.01em;margin:0 0 4px;font-size:16px}.detail .desc{color:var(--muted);margin:8px 0 16px;font-size:13px}.field{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.field .k{color:var(--faint)}.field .v{text-transform:capitalize;align-items:center;gap:6px;font-weight:600;display:flex}.field .v.priority-high{color:var(--danger)}.field .v.priority-low{color:var(--faint)}.selectfield select{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:7px;padding:5px 8px;font-size:12.5px}.detail-acts{gap:8px;margin-top:20px;display:flex}.detail-acts button{border:1px solid var(--line);border-radius:8px;flex:1;padding:8px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.detail-acts button:hover{border-color:var(--accent);color:var(--accent)}.detail-acts .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.detail-acts .primary:hover{filter:brightness(1.08);color:#fff}.detail-acts .danger{color:var(--danger);background:var(--danger-soft);border-color:#0000}.detail>.empty{padding:0;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=960px){.app{grid-template-rows:auto auto auto;grid-template-columns:1fr;height:auto;min-height:100vh}.topbar{z-index:10;flex-wrap:wrap;gap:10px;min-height:56px;padding:10px 14px;position:sticky;top:0}.brand{min-width:max-content}.viewswitch{margin-left:0}.top-right{margin-left:auto}.side{border-right:0;border-bottom:1px solid var(--line);flex-direction:column;padding:10px 14px;overflow:visible}.side-nav{flex-flow:wrap;align-items:center;gap:4px}.side-nav h2{display:none}.newtask{min-height:38px;margin:0}.navitem{white-space:nowrap;width:auto;min-height:38px}.side-foot{border-top:0;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding:0;display:flex}.theme-toggle{min-width:150px;margin:0}.sidecat,.side-auth{padding:0}.detail,.search{display:none}.quickadd{flex-wrap:wrap}.board-view.ledger-board{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:1fr}.main-head .boardhint{display:none}.row-acts{display:flex}}@media (width<=700px){.app{background:var(--bg);width:100vw;min-width:0;max-width:100vw;font-size:13px}.topbar{flex-wrap:wrap;grid-column:1;justify-self:stretch;align-items:center;gap:8px;width:100vw;min-width:0;max-width:100vw;padding:8px 10px;display:flex;overflow:hidden}.brand{z-index:1;flex:0 auto;font-size:13px;position:relative}.brand .mark{width:20px;height:20px}.viewswitch{z-index:2;flex:none;justify-self:end;margin-left:auto;padding:2px;position:relative}.viewswitch button{min-height:32px;padding:4px 10px;font-size:12px}.top-right{flex:0 0 100%;order:3;width:100%;margin-left:0}.sync-pill{justify-content:center;width:100%;padding:4px 8px;font-size:11.5px}.side{z-index:9;background:color-mix(in srgb,var(--panel),transparent 2%);padding:8px 10px;position:sticky;top:86px}.side-nav{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.side-nav::-webkit-scrollbar{display:none}.newtask,.navitem{border:1px solid var(--line);background:var(--panel);flex:none;min-height:36px;padding:7px 10px;box-shadow:0 1px 1px #1c1c1a08}.newtask{z-index:1;margin-right:2px;position:sticky;left:0;box-shadow:8px 0 12px #f4f4f2e0}.theme-cat .newtask{box-shadow:8px 0 12px #f6f1e8e6}.navitem .count{margin-left:6px}.navitem .dot{width:8px;height:8px}.side-foot{justify-content:space-between;gap:8px;margin-top:6px}.side-auth{display:none}.sidecat{gap:6px}.sidecat span{display:none}.theme-toggle{min-width:120px;margin-left:auto}.theme-toggle button{min-height:32px;padding:4px 10px}.center{padding:14px 10px 28px}.main-head{flex-wrap:wrap;gap:8px;margin-bottom:10px}.main-head h1{font-size:22px}.main-head .date{font-size:12px}.quickadd{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;padding:10px;display:grid}.quickadd .plus{display:none}.quickadd input[type=text]{border:1px solid var(--line);background:var(--bg);border-radius:8px;grid-column:1/-1;min-height:42px;padding:8px 10px}.quickadd select,.quickadd input[type=date],.quickadd input[type=time]{width:100%;min-height:38px}.quickadd .add{justify-content:center;min-height:38px}.group{margin-bottom:16px}.group-label{margin-bottom:6px;font-size:12px}.row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 10px;display:grid}.row .title{white-space:normal;line-height:1.25}.row .chip,.row .flag{grid-row:auto;font-size:11px}.row-acts{grid-column:1/-1;justify-content:flex-end}.row-acts select{width:100%;min-height:34px}.cb{border-radius:8px;width:24px;height:24px}.board-view.ledger-board{gap:10px;max-width:100%;overflow-x:hidden}.col{width:100%;min-width:0;max-width:100%;max-height:none;padding:10px}.card{min-height:62px;padding:12px}}
