@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(/assets/chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(/assets/chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--bg:#08090b;--panel:#111316;--panel2:#171a1e;--line:#24282d;--text:#e9e8e4;--dim:#9a9ca0;--faint:#61646a;--accent:#ff9a3c;--accent-dim:#ff9a3c24;--red:#ff5a6e;--display:"Chakra Petch", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--row:56px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}body{color:var(--text);font:15px/1.4 var(--mono);overscroll-behavior:none;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand{font:600 11px/1 var(--display);letter-spacing:.22em;color:var(--accent)}.hint{color:var(--dim);font-size:13px}.error{color:var(--red);min-height:1em;margin:0;font-size:13px}#app,.shell{height:var(--vh,100dvh)}.shell{flex-direction:column;max-width:620px;margin:0 auto;display:flex}.top{padding:calc(14px + var(--safe-t)) 18px 12px;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.top h1{font:600 26px/1 var(--display);letter-spacing:.02em;margin:6px 0 0}.titles{min-width:0}.tabs{scrollbar-width:none;gap:18px;margin-top:6px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font:600 22px/1.1 var(--display);letter-spacing:.02em;color:var(--faint);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 0 4px}.tab.on{color:var(--text);border-bottom-color:var(--accent)}.summary{font:500 13px var(--mono);color:var(--accent);letter-spacing:0;vertical-align:3px;margin-left:4px}.tab:not(.on) .summary{color:var(--faint)}.status{background:var(--panel);border:1px solid var(--line);height:32px;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dim);white-space:nowrap;border-radius:16px;flex:none;align-items:center;gap:7px;padding:0 11px;display:inline-flex}.status i{background:var(--faint);border-radius:50%;width:7px;height:7px}.status[data-state=synced] i{background:var(--accent)}.status[data-state=synced][data-live=true] i{box-shadow:0 0 0 3px var(--accent-dim)}.status[data-state=syncing] i{background:var(--accent);animation:1s ease-in-out infinite pulse}.status[data-state=offline] i{border:1.5px solid var(--faint);background:0 0}.status[data-state=error]{color:var(--red)}.status[data-state=error] i{background:var(--red)}@keyframes pulse{50%{opacity:.25}}.view{flex-direction:column;flex:1;min-height:0;display:flex}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:6px 0 16px;overflow-y:auto}.group ul{margin:0;padding:0;list-style:none}.group-h{font:600 11px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);align-items:center;gap:8px;margin:0;padding:16px 18px 6px;display:flex}.group-h span{color:var(--faint);font-family:var(--mono);letter-spacing:0}.item{border-bottom:1px solid var(--line);align-items:stretch;display:flex}.group ul .item:first-child{border-top:1px solid var(--line)}.tick{min-width:0;min-height:var(--row);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:10px 6px 10px 18px;display:flex}.tick:active{background:var(--panel)}.box{border:2px solid var(--faint);border-radius:4px;flex:none;width:22px;height:22px;transition:background .12s,border-color .12s;position:relative}.box:after{content:"";border:solid var(--bg);border-width:0 2.5px 2.5px 0;width:6px;height:12px;transition:transform .12s;position:absolute;top:1px;left:6px;transform:rotate(45deg)scale(0)}.item.done .box,.item.ticking .box{background:var(--accent);border-color:var(--accent)}.item.done .box:after,.item.ticking .box:after{transform:rotate(45deg)scale(1)}.item.unticking .box{border-color:var(--faint);background:0 0}.item.unticking .box:after{transform:rotate(45deg)scale(0)}.label{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.text{overflow-wrap:anywhere;font-size:16px}.qty{color:var(--accent);font-size:13px}.cat{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.item.done .text{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.item.done .qty{color:var(--faint)}.more{width:52px;color:var(--faint);letter-spacing:.05em;background:0 0;border:0;flex:none;font-size:20px}.more:active{color:var(--accent);background:var(--panel)}.ticked{margin-top:18px}.ticked-h{justify-content:space-between;align-items:flex-end;padding-right:8px;display:flex}.link{color:var(--accent);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;padding:12px 10px 4px}.empty{text-align:center;color:var(--dim);padding:18vh 32px 0}.empty-mark{font:600 40px var(--display);color:var(--accent);opacity:.7}.all-done{color:var(--accent);font:600 14px var(--display);letter-spacing:.12em;text-transform:uppercase;padding:28px 18px 4px}.addbar{border-top:1px solid var(--line);background:var(--panel);padding:8px 10px calc(10px + var(--safe-b))}.chips{scrollbar-width:none;gap:6px;padding:0 2px 8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips[hidden]{display:none}.chip{background:var(--panel2);border:1px solid var(--line);height:30px;color:var(--dim);border-radius:15px;flex:none;padding:0 12px;font-size:12px}.chip.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.addrow{gap:8px;display:flex}.addrow input{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;height:48px;padding:0 14px;font-size:16px}.addrow input::placeholder{color:var(--faint)}.addrow input:focus{border-color:var(--accent);outline:none}.add-btn{background:var(--accent);width:48px;height:48px;color:var(--bg);font:600 26px/1 var(--display);border:0;border-radius:10px;flex:none}.add-btn:active{filter:brightness(.9)}.btn{border:1px solid var(--line);background:var(--panel2);height:44px;font:600 14px var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:10px;padding:0 18px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn.ghost{background:0 0}.btn.danger{color:var(--red);background:0 0;border-color:#ff5a6e59}.btn.wide{width:100%}.btn:disabled{opacity:.6}label{font:600 11px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);display:block}label input{background:var(--bg);border:1px solid var(--line);width:100%;height:46px;font:16px var(--mono);letter-spacing:0;text-transform:none;color:var(--text);border-radius:10px;margin-top:6px;padding:0 12px;display:block}label input:focus{border-color:var(--accent);outline:none}.center{height:100%;padding:24px 18px calc(24px + var(--safe-b));place-items:center;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:380px;padding:24px 20px}.signin h1{font:600 28px var(--display);margin:10px 0 20px}.signin label{margin-bottom:14px}.signin .error{margin-bottom:12px}.sheet-wrap{z-index:20;height:var(--vh,100dvh);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-scrim{opacity:0;background:#0000008c;transition:opacity .18s;position:absolute;top:0;bottom:0;left:0;right:0}.sheet{background:var(--panel);border:1px solid var(--line);width:100%;max-width:620px;padding:10px 18px calc(18px + var(--safe-b));border-bottom:0;border-radius:16px 16px 0 0;margin:0 auto;transition:transform .2s ease-out;position:relative;transform:translateY(100%)}.sheet-wrap.open .sheet-scrim{opacity:1}.sheet-wrap.open .sheet{transform:none}.sheet-grip{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 14px}.edit label{margin-bottom:12px}.two{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.sheet-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.grow{flex:1}.status-sheet h2{font:600 20px var(--display);margin:0 0 12px}.status-sheet dl{grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 16px;font-size:13px;display:grid}.status-sheet dt{color:var(--dim)}.status-sheet dd{overflow-wrap:anywhere;margin:0}.version{color:var(--faint);text-align:right;margin:14px 0 0;font-size:11px}.toast{left:50%;bottom:calc(132px + var(--safe-b));z-index:30;opacity:0;pointer-events:none;background:var(--panel2);border:1px solid var(--line);white-space:nowrap;border-radius:12px;align-items:center;gap:14px;max-width:calc(100% - 32px);height:46px;padding:0 6px 0 16px;font-size:13px;transition:opacity .16s,transform .16s;display:flex;position:fixed;transform:translate(-50%,20px);box-shadow:0 8px 24px #00000080}.toast span{text-overflow:ellipsis;overflow:hidden}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast button{color:var(--accent);font:600 13px var(--display);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;height:40px;padding:0 12px}.group.overdue .group-h{color:var(--red)}.group-empty{color:var(--faint);margin:0;padding:10px 18px 4px;font-size:13px}.date-h{font:500 12px var(--mono);color:var(--accent);margin:0;padding:12px 18px 6px}.group-h.fold{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.group-h.fold b{color:var(--faint);margin-left:auto;padding-right:8px;font-weight:400}.done-group{margin-top:18px}.todo{border-bottom:1px solid var(--line);touch-action:pan-y;position:relative;overflow:hidden}.group ul .todo:first-child{border-top:1px solid var(--line)}.swipe-bg{background:var(--panel2);color:var(--faint);font:600 12px var(--display);letter-spacing:.2em;align-items:center;padding-left:22px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.todo.armed .swipe-bg{background:var(--accent-dim);color:var(--accent)}.slide{background:var(--bg);transform:translateX(var(--dx,0));align-items:stretch;transition:transform .18s ease-out;display:flex;position:relative}.todo.swiping .slide{transition:none}.tcheck{background:0 0;border:0;flex:none;place-items:center;width:58px;padding:0 0 0 4px;display:grid}.tcheck:active .box{border-color:var(--accent)}.tbody{min-width:0;min-height:var(--row);text-align:left;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;gap:5px;padding:10px 18px 10px 0;display:flex}.tbody:active{background:var(--panel)}.ttitle{overflow-wrap:anywhere;font-size:16px;transition:color .15s}.pri{background:var(--red);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin:0 8px 2px 0;display:inline-block}.tmeta{flex-wrap:wrap;gap:5px;display:flex}.mchip{background:var(--panel2);border:1px solid var(--line);font:500 11px/1.4 var(--mono);color:var(--dim);white-space:nowrap;border-radius:4px;padding:2px 7px;display:inline-block}.mchip.late{color:var(--red);border-color:#ff5a6e59}.mchip.icon{color:var(--accent)}.todo.done .box,.todo.ticking .box{background:var(--accent);border-color:var(--accent)}.todo.done .box:after,.todo.ticking .box:after{transform:rotate(45deg)scale(1)}.todo.unticking .box{border-color:var(--faint);background:0 0}.todo.unticking .box:after{transform:rotate(45deg)scale(0)}.todo.done .ttitle,.todo.ticking .ttitle{color:var(--faint);text-decoration:line-through;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.todo.unticking .ttitle{color:var(--text);text-decoration:none}.todo.done .pri{opacity:.4}.chip.pick{font:12px var(--mono);letter-spacing:0;text-transform:none;color:var(--dim);align-items:center;display:inline-flex;position:relative;overflow:hidden}.chip.pick.on{color:var(--accent)}.chip.pick input{opacity:0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}.chip.sel{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 11px center,right 7px center;background-repeat:no-repeat;background-size:4px 4px;background-color:var(--panel2);padding-right:22px}.chip.sel option{background:var(--panel);color:var(--text)}.chip-sep{background:var(--line);flex:none;width:1px;margin:4px 2px}.sheet{max-height:calc(var(--vh,100dvh) - 20px);overscroll-behavior:contain;overflow-y:auto}label select,label textarea{background:var(--bg);border:1px solid var(--line);width:100%;font:16px var(--mono);letter-spacing:0;text-transform:none;color:var(--text);border-radius:10px;margin-top:6px;padding:10px 12px;display:block}label select{height:46px;padding:0 10px}label textarea{resize:vertical;min-height:70px;line-height:1.4}label select:focus,label textarea:focus{border-color:var(--accent);outline:none}.field{margin-bottom:14px}.flabel{font:600 11px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;display:block}.row-gap{flex-wrap:wrap;gap:8px;display:flex}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{background:var(--bg);border:0;border-right:1px solid var(--line);height:42px;font:500 13px var(--mono);color:var(--dim);padding:0 12px}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent-dim);color:var(--accent)}.seg.wide{display:flex}.seg.wide button{flex:1}.date-in{background:var(--bg);border:1px solid var(--line);min-width:140px;height:44px;font:15px var(--mono);border-radius:10px;flex:1;padding:0 10px}.date-in:focus{border-color:var(--accent);outline:none}.links{margin:0 0 8px;padding:0;list-style:none}.links li{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:40px;font-size:13px;display:flex}.links a,.links span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);flex:1;text-decoration:none;overflow:hidden}.links em{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-style:normal}.links .x{width:40px;height:40px;color:var(--faint);background:0 0;border:0;flex:none;font-size:20px}.addlink{gap:8px;display:flex}.addlink input{background:var(--bg);border:1px solid var(--line);min-width:0;height:44px;font:16px var(--mono);border-radius:10px;flex:1;padding:0 12px}.addlink input:focus{border-color:var(--accent);outline:none}.appchips{flex-wrap:wrap;gap:6px;display:flex}
