@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--accent:#5e6ad2;--accent-hover:#6e7ae6;--accent-soft:#5e6ad229;--accent-text:#fff;--p-urgent:#eb5757;--p-high:#f2994a;--p-medium:#2fbf87;--p-low:#6f8fe8;--radius:7px;--row-h:34px;--indent:22px;--row-min-h:34px;--row-title-pad-y:6px;--row-title-line-height:1.4;--row-title-font-size:14px;--row-check-mt:8px;--row-cell-h:30px;--row-due-h:24px;--row-due-mt:5px;--font:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace}[data-density=compact]{--row-min-h:26px;--row-title-pad-y:2px;--row-title-line-height:1.3;--row-title-font-size:13.5px;--row-check-mt:4px;--row-cell-h:24px;--row-due-h:20px;--row-due-mt:2px}[data-theme=dark]{--bg:#0b0c0e;--bg-elev:#141517;--bg-sidebar:#0e0f11;--bg-hover:#ffffff0a;--bg-active:#ffffff12;--border:#ffffff14;--border-strong:#ffffff24;--text:#e7e8ec;--text-mid:#b3b6be;--text-dim:#767982;--text-faint:#565963;--shadow:0 8px 28px #0000008c, 0 1px 0 #ffffff0a inset;--drop-shadow:0 1px 2px #0006}[data-theme=light]{--bg:#fff;--bg-elev:#fff;--bg-sidebar:#fafafa;--bg-hover:#00000009;--bg-active:#0000000f;--border:#00000017;--border-strong:#00000029;--text:#1a1b1d;--text-mid:#44464c;--text-dim:#82858c;--text-faint:#a7aab0;--shadow:0 10px 32px #0000001f, 0 0 0 1px #0000000a;--drop-shadow:0 1px 2px #00000014}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{font-family:inherit}::selection{background:var(--accent-soft)}.app{height:100%;display:flex}.sidebar{width:var(--sidebar-width,256px);flex:0 0 var(--sidebar-width,256px);background:var(--bg-sidebar);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative}.sb-resize{z-index:5;cursor:col-resize;touch-action:none;width:6px;transition:background .12s;position:absolute;top:0;bottom:0;right:-3px}@media (hover:hover){.sb-resize:hover{background:var(--accent-soft)}}.sidebar.resizing .sb-resize{background:var(--accent)}.sb-head{align-items:center;gap:9px;padding:14px 14px 12px;display:flex}.sb-logo{width:36px;height:36px;box-shadow:0 0 0 1px var(--border);background-image:url(/logo-cloud.png);background-position:50%;background-size:cover;border-radius:9px;flex:none}.sb-title{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.sb-title small{color:var(--text-dim);letter-spacing:0;font-size:11px;font-weight:450;display:block}.sb-spacer{flex:1}.icon-btn{width:26px;height:26px;color:var(--text-dim);border-radius:6px;place-items:center;transition:background .12s,color .12s;display:grid}@media (hover:hover){.icon-btn:hover{background:var(--bg-hover);color:var(--text)}}.sb-section{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 14px 4px;font-size:11px;font-weight:600;display:flex}.sb-tree{flex:1;padding:0 8px 16px;overflow-y:auto}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:content-box;border:3px solid #0000;border-radius:9px}@media (hover:hover){::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}}::-webkit-scrollbar-corner{background:0 0}.proj{height:30px;color:var(--text-mid);cursor:pointer;border-radius:6px;align-items:center;gap:2px;padding-right:6px;transition:background .1s,color .1s;display:flex;position:relative}@media (hover:hover){.proj:hover{background:var(--bg-hover);color:var(--text)}}.proj.sel{background:var(--bg-active);color:var(--text)}.proj.sel .proj-name{font-weight:550}.proj.drop-into{box-shadow:inset 0 0 0 1px var(--accent)}.proj.dragging{opacity:.4}.proj.drop-before,.proj.drop-after{position:relative}.proj.drop-before:before,.proj.drop-after:after{content:"";background:var(--accent);pointer-events:none;border-radius:2px;height:2px;position:absolute;left:6px;right:6px}.proj.drop-before:before{top:-1px}.proj.drop-after:after{bottom:-1px}.proj:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.proj-twist{width:18px;height:18px;color:var(--text-faint);border-radius:4px;flex:0 0 18px;place-items:center;transition:transform .12s;display:grid}@media (hover:hover){.proj-twist:hover{color:var(--text);background:var(--bg-active)}}.proj-twist.open{transform:rotate(90deg)}.proj-twist.leaf{visibility:hidden}.proj-twist:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.proj-dot{border-radius:3px;flex:none;width:9px;height:9px;margin-right:8px;position:relative}.proj-dot .late{background:var(--p-urgent);width:6px;height:6px;box-shadow:0 0 0 1.5px var(--bg-sidebar);border-radius:50%;position:absolute;top:-3px;right:-3px}.proj-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;overflow:hidden}.proj-name input{background:var(--bg);border:1px solid var(--accent);width:100%;color:var(--text);border-radius:4px;outline:none;padding:1px 5px;font-size:13.5px}.proj-count{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11.5px;line-height:inherit;text-align:inherit;padding:0 2px}.proj-add{opacity:0;width:20px;height:20px;color:var(--text-dim);border-radius:4px;place-items:center;transition:opacity .1s,background .1s;display:grid}@media (hover:hover){.proj:hover .proj-add{opacity:1}.proj-add:hover{background:var(--bg-active);color:var(--text)}}.proj-add:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:-2px}.sb-newproj{height:30px;color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;width:100%;margin:4px 0 0;padding:0 8px;font-size:13px;display:flex}@media (hover:hover){.sb-newproj:hover{background:var(--bg-hover);color:var(--text)}}.sb-foot{border-top:1px solid var(--border);align-items:center;gap:6px;padding:8px;display:flex}.main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:calc(52px + env(safe-area-inset-top));flex:0 0 calc(52px + env(safe-area-inset-top));border-bottom:1px solid var(--border);padding:env(safe-area-inset-top) max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));align-items:center;gap:12px;display:flex}.crumbs{align-items:center;gap:6px;min-width:0;display:flex}.crumbs .cr{color:var(--text-dim);white-space:nowrap;font-size:13px}.crumbs .cr.last{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.crumbs .sep{color:var(--text-faint)}.tb-spacer{flex:1}.search{background:var(--bg-elev);border:1px solid var(--border);box-sizing:border-box;border-radius:7px;flex:none;align-items:center;gap:7px;width:230px;height:32px;padding:0 8px 0 9px;transition:border-color .12s,width .15s;display:flex}.tb-search-toggle{display:none}.search:focus-within{border-color:var(--border-strong);width:290px}.search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search input::placeholder{color:var(--text-faint)}.search .esc{color:var(--text-faint);border:1px solid var(--border);border-radius:4px;flex:none;padding:1px 5px;font-size:10.5px}.tb-stat{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px;line-height:inherit;text-align:inherit;border-radius:6px;align-items:center;gap:10px;transition:padding .12s,box-shadow .12s,color .12s;display:flex}@media (hover:hover){.tb-stat:hover{color:var(--text-mid)}}.tb-stat b{color:var(--text-mid);font-weight:600}.tb-stat.filtered{box-shadow:inset 0 0 0 1px var(--filter-color);color:var(--text-mid);padding:3px 9px}.tb-stat.filtered:before{content:"";background:var(--filter-color);border-radius:50%;flex:none;width:7px;height:7px}@media (prefers-reduced-motion:reduce){.tb-stat{transition:none}}.tb-pending{color:var(--text-dim);font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;align-items:center;gap:5px;max-width:0;font-size:12px;transition:opacity .18s,transform .18s;display:flex;overflow:hidden;transform:translateY(-3px)}.tb-pending.visible{opacity:1;max-width:80px;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.tb-pending{transition:none}}.sync-banner{opacity:0;background:#f2994a24;border-bottom:1px solid #0000;align-items:center;gap:10px;max-height:0;padding:0 18px;transition:max-height .22s,opacity .22s,padding .22s;display:flex;overflow:hidden}.sync-banner.visible{opacity:1;border-bottom-color:var(--border);max-height:52px;padding:9px 18px}.sync-banner>svg{color:var(--p-high);flex:none}.sync-banner-text{min-width:0;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.sync-banner-retry{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);cursor:pointer;border-radius:6px;flex:none;padding:4px 11px;font-size:12px;font-weight:600;transition:background .14s,border-color .14s}.sync-banner-retry:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.sync-banner-retry:disabled{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.sync-banner{transition:none}}.ring{transform:rotate(-90deg)}.ring-track{stroke:var(--border-strong)}.ring-fill{stroke:var(--accent);transition:stroke-dashoffset .3s}.editor-scroll{flex:1;overflow:hidden auto}.editor{max-width:860px;margin:0 auto;padding:24px 26px 200px}.ed-empty{color:var(--text-faint);text-align:center;padding:80px 20px}.ed-empty kbd{font-family:var(--mono)}.rows{position:relative}.row{min-height:var(--row-min-h);border-radius:6px;align-items:flex-start;gap:2px;padding-right:4px;transition:background 80ms,min-height .12s;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.row{transition:background 80ms}}@media (hover:hover){.row:hover{background:var(--bg-hover)}}.row.dragging{opacity:.4}.row.focused{background:var(--accent-soft)}.row.hidden-search,.row.hidden-done,.row.hidden-priority,.row.hidden-collapsed{display:none}.row.completing{pointer-events:none;animation:.6s forwards done-leave;overflow:hidden}@keyframes done-leave{0%,45%{opacity:1;max-height:6rem;transform:none}to{opacity:0;max-height:0;transform:translate(8px)}}@media (prefers-reduced-motion:reduce){.row.completing{animation:none}}.clear-done-fab{z-index:20;background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-family:inherit;font-size:13px;transition:color .12s,border-color .12s,transform .12s;animation:.18s fab-in;display:inline-flex;position:fixed;bottom:16px;right:16px}@media (hover:hover){.clear-done-fab:hover{color:var(--text);border-color:var(--border-strong)}}@keyframes fab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.clear-done-fab{animation:none}}.icon-btn.active{background:var(--accent-soft);color:var(--accent)}@media (hover:hover){.icon-btn.active:hover{background:var(--accent-soft);color:var(--accent)}}.row-guides{pointer-events:none;position:absolute;top:0;bottom:0;left:0}.guide{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.r-handle{width:18px;height:var(--row-cell-h);color:var(--text-faint);opacity:0;cursor:grab;touch-action:none;flex:0 0 18px;place-items:center;transition:opacity .1s;display:grid}@media (hover:hover){.row:hover .r-handle{opacity:.7}}.r-handle:active{cursor:grabbing}.r-collapse{width:16px;height:var(--row-cell-h);color:var(--text-faint);opacity:0;border-radius:4px;place-items:center;transition:opacity .1s,color .1s,background .1s,transform .14s;display:grid;position:absolute;top:0;transform:rotate(90deg)}.r-collapse.collapsed{opacity:.85;transform:rotate(0)}@media (hover:hover){.row:hover .r-collapse{opacity:.85}.r-collapse:hover{color:var(--text);background:var(--bg-active)}}.r-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;opacity:1}@media (prefers-reduced-motion:reduce){.r-collapse{transition:opacity .1s,color .1s,background .1s}}.r-check{border:1.5px solid var(--border-strong);color:#0000;width:18px;height:18px;margin:var(--row-check-mt) 2px 0 0;border-radius:5px;flex:0 0 18px;place-items:center;transition:all .12s;display:grid}@media (hover:hover){.r-check:hover{border-color:var(--accent)}}.r-check.done{background:var(--accent);border-color:var(--accent);color:#fff}.r-check.has-prio{border-width:2px}.r-title{color:var(--text);font-size:var(--row-title-font-size);padding:var(--row-title-pad-y) 4px;min-width:0;line-height:var(--row-title-line-height);resize:none;font-feature-settings:"liga" 1, "calt" 1;background:0 0;border:none;outline:none;flex:1;height:auto;font-family:inherit;transition:padding .12s,font-size .12s;display:block;overflow:hidden}@media (prefers-reduced-motion:reduce){.r-title{transition:none}}.r-title::placeholder{color:var(--text-faint)}.row.done .r-title{color:var(--text-faint);text-decoration:line-through}.row.is-section{margin-top:10px}.row.is-section:first-child{margin-top:0}.row.is-section .r-title{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:600}.row.is-section .r-title::placeholder{color:var(--text-dim)}.r-title-view{min-width:0;padding:var(--row-title-pad-y) 4px;font-size:16px;font-weight:600;line-height:var(--row-title-line-height);letter-spacing:-.01em;color:var(--text);cursor:text;white-space:pre-wrap;overflow-wrap:anywhere;flex:1}.r-title-view-empty{color:var(--text-dim);font-weight:500}.r-emoji{width:22px;height:var(--row-cell-h);color:var(--text-faint);opacity:.55;border-radius:5px;flex:0 0 22px;place-items:center;transition:background .1s,color .1s,opacity .1s;display:grid}.r-emoji.active,.row.focused .r-emoji{opacity:1;color:var(--text-mid)}.r-emoji.set{opacity:1}.r-emoji-glyph{font-size:15px;line-height:1}@media (hover:hover){.row:hover .r-emoji{opacity:1}.r-emoji:hover{background:var(--bg-active);color:var(--text)}}@media (prefers-reduced-motion:reduce){.r-emoji{transition:none}}.r-due{height:var(--row-due-h);min-width:var(--row-due-h);margin-top:var(--row-due-mt);color:var(--text-dim);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0;font-size:12px;transition:opacity .1s,background .1s,color .1s;display:flex}.r-due.set{opacity:1;pointer-events:auto;padding:0 8px}@media (hover:hover){.row:hover .r-due{opacity:1;pointer-events:auto}.r-due:hover{background:var(--bg-active);color:var(--text)}}.r-due.set{color:var(--text-mid)}.r-delete{width:var(--row-due-h);height:var(--row-due-h);margin-top:var(--row-due-mt);color:var(--text-dim);opacity:0;pointer-events:none;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:opacity .1s,background .1s,color .1s;display:flex}@media (hover:hover){.row:hover .r-delete{opacity:1;pointer-events:auto}.r-delete:hover{background:var(--bg-active);color:var(--p-urgent)}}.r-due.overdue{color:var(--p-urgent)}.r-due.soon{color:var(--p-high)}.drop-line{background:var(--accent);pointer-events:none;z-index:5;border-radius:2px;height:2px;position:absolute;left:0;right:0}.drop-line:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;left:-3px}.pop{z-index:50;background:var(--bg-elev);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:9px;min-width:168px;padding:5px;position:fixed}.pop-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:4px 9px 5px;font-size:10.5px;font-weight:600}.pop-item{height:30px;color:var(--text-mid);text-align:left;border-radius:6px;align-items:center;gap:9px;width:100%;padding:0 9px;font-size:13px;display:flex}.pop-item.hot{background:var(--bg-active);color:var(--text)}@media (hover:hover){.pop-item:hover{background:var(--bg-active);color:var(--text)}}.pop-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pop-item .pk{color:var(--text-faint);font-family:var(--mono);margin-left:auto;font-size:11px}.pop-item.cur{color:var(--text)}.pop-sep{background:var(--border);height:1px;margin:4px 2px}.pop-item[aria-checked=true]{background:var(--accent-soft);color:var(--text)}.pcp-line{color:var(--text-mid);align-items:center;gap:8px;padding:3px 10px;font-size:12px;display:flex}.pcp-dot{border-radius:50%;flex:none;width:8px;height:8px}.pcp-label{flex:1}.pcp-n{color:var(--text-dim);font-variant-numeric:tabular-nums}.cal-disclosure{color:var(--text-faint);margin-left:auto;transition:transform .12s}.cal-disclosure[data-open]{transform:rotate(90deg)}.cal{padding:4px 2px 2px;animation:.12s cal-in}@keyframes cal-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.cal-head{align-items:center;gap:4px;padding:2px 2px 6px;display:flex}.cal-title{text-align:center;color:var(--text);flex:1;font-size:12.5px;font-weight:600}.cal-nav{width:26px;height:26px;color:var(--text-mid);border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.cal-nav.prev svg{transform:rotate(180deg)}@media (hover:hover){.cal-nav:hover{background:var(--bg-active);color:var(--text)}}.cal-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-weekdays{margin-bottom:2px}.cal-wd{text-align:center;color:var(--text-faint);padding:2px 0;font-size:10.5px;font-weight:600}.cal-day{height:30px;color:var(--text-mid);font-variant-numeric:tabular-nums;border-radius:6px;font-size:12.5px;transition:background 90ms,color 90ms}.cal-day.out{color:var(--text-faint)}@media (hover:hover){.cal-day:hover{background:var(--bg-active);color:var(--text)}}.cal-day.today{box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--text)}.cal-day.sel{background:var(--accent);color:var(--accent-text);box-shadow:none;font-weight:600}@media (hover:hover){.cal-day.sel:hover{background:var(--accent-hover);color:var(--accent-text)}}@media (prefers-reduced-motion:reduce){.cal{animation:none}.cal-disclosure,.cal-day{transition:none}}.emoji-pop{width:248px;min-width:0}.emoji-search{box-sizing:border-box;border:1px solid var(--border-strong);background:var(--bg-active);width:100%;height:30px;color:var(--text);border-radius:6px;outline:none;margin-bottom:5px;padding:0 9px;font-family:inherit;font-size:13px;transition:border-color .12s}.emoji-search:focus{border-color:var(--accent)}.emoji-search::placeholder{color:var(--text-faint)}.emoji-scroll{overscroll-behavior:contain;max-height:280px;overflow:hidden auto}.emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;min-width:0;display:grid}.emoji-cat{z-index:1;background:var(--bg-elev);color:var(--text-faint);letter-spacing:.02em;text-transform:uppercase;margin:0;padding:6px 2px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.emoji-cat-block:first-child .emoji-cat{padding-top:2px}.emoji-grid-placeholder{width:100%}.emoji-loading{color:var(--text-faint);text-align:center;letter-spacing:.15em;padding:24px 9px;font-size:18px}.emoji-cell{aspect-ratio:1;cursor:pointer;border-radius:6px;place-items:center;font-size:20px;line-height:1;transition:background .1s,transform 80ms;display:grid}.emoji-cell:active{transform:scale(.9)}@media (hover:hover){.emoji-cell:hover{background:var(--bg-active)}}.emoji-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.emoji-cell.active{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.emoji-empty{color:var(--text-faint);text-align:center;padding:12px 9px;font-size:13px}@media (prefers-reduced-motion:reduce){.emoji-cell{transition:none}}.swatches{grid-template-columns:repeat(5,1fr);gap:5px;padding:2px 7px 5px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;border-radius:6px;width:100%;transition:transform .1s;position:relative;box-shadow:inset 0 1px #ffffff59}@media (hover:hover){.swatch:hover{transform:scale(1.12)}}.swatch.sel{box-shadow:0 0 0 2px var(--bg-elev), 0 0 0 4px var(--text)}.prio-bead{border-radius:4px;flex:none;width:13px;height:13px;display:block;box-shadow:0 1px 2px #00000040,inset 0 1px #fff6}.prio-bead.empty{box-shadow:none;border:1.5px dashed var(--border-strong);background:0 0}.pop-item .prio-bead.empty{border:1.5px dashed var(--border-strong);box-shadow:none}.scrim{z-index:100;background:#00000073;place-items:center;animation:.12s scrim-in;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border-strong);width:460px;max-width:92vw;box-shadow:var(--shadow);border-radius:13px;animation:.15s modal-in;overflow:hidden}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.scrim,.modal{animation:none}}.error-screen{background:var(--bg);z-index:200;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.error-card{background:var(--bg-elev);border:1px solid var(--border-strong);max-width:460px;box-shadow:var(--shadow);border-radius:13px;padding:20px 22px}.error-card h2{margin-bottom:8px;font-size:16px}.error-card p{color:var(--text-mid);margin-bottom:12px;font-size:13px}.error-detail{background:var(--bg);border:1px solid var(--border);font-family:var(--mono);color:var(--text-faint);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:30vh;padding:8px 10px;font-size:11.5px;overflow:auto}.error-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.error-actions button{border:1px solid var(--border-strong);height:30px;color:var(--text-mid);border-radius:7px;padding:0 12px;font-size:13px}.error-actions button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.modal-h{border-bottom:1px solid var(--border);align-items:center;padding:16px 20px;display:flex}.modal-h h3{font-size:15px}.modal-body{max-height:60vh;padding:8px 20px 18px;overflow-y:auto}.kgrp{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;padding:12px 0 4px;font-size:11px;font-weight:600}.krow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:7px 0;display:flex}.krow:last-child{border-bottom:none}.krow span{color:var(--text-mid);font-size:13px}.keys{gap:4px;display:flex}.pref-section{padding:8px 0 4px}.pref-fold-head{cursor:pointer;border-radius:6px;align-items:center;gap:6px;list-style:none;transition:color .12s;display:flex}.pref-fold-head::-webkit-details-marker{display:none}.pref-fold-head svg{flex:none;transition:transform .15s}.pref-fold[open] .pref-fold-head svg{transform:rotate(90deg)}@media (hover:hover){.pref-fold-head:hover{color:var(--text)}}.pref-fold[open]>:not(summary){animation:.16s fold-in}@keyframes fold-in{0%{opacity:0;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.pref-fold-head svg,.pref-fold[open]>:not(summary){transition:none;animation:none}}.pref-desc{color:var(--text-mid);margin:6px 0 12px;font-size:13px;line-height:1.5}.pref-actions{flex-wrap:wrap;gap:8px;display:flex}.pref-btn{border:1px solid var(--border-strong);background:var(--bg);height:30px;color:var(--text);cursor:pointer;border-radius:7px;padding:0 12px;font-size:13px;transition:background .12s,border-color .12s}@media (hover:hover){.pref-btn:hover{background:var(--bg-hover);border-color:var(--accent)}}.download-desktop{flex-direction:column;gap:10px;display:flex}.dl-primary{justify-content:center;align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.dl-others{flex-wrap:wrap;gap:14px;display:flex}.dl-link{color:var(--accent);font-size:13px;text-decoration:none}@media (hover:hover){.dl-link:hover{text-decoration:underline}}.pref-btn:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover){.pref-btn:disabled:hover{background:var(--bg);border-color:var(--border-strong)}}.pref-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}@media (hover:hover){.pref-btn.active:hover{background:var(--accent-soft);border-color:var(--accent)}}.pref-field{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pref-label{color:var(--text-mid);font-size:13px}.pref-seg{gap:6px;display:inline-flex}.pref-feedback{border:1px solid var(--border);border-radius:7px;margin-top:12px;padding:8px 10px;font-size:12.5px;line-height:1.4}.pref-feedback.ok{color:var(--text);background:var(--bg-hover)}.pref-feedback.error{color:var(--p-urgent);border-color:var(--p-urgent)}.danger-zone{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.danger-zone>summary{cursor:pointer;color:var(--text-dim);font-size:12.5px;list-style:none;transition:color .12s;display:inline-block}.danger-zone>summary::-webkit-details-marker{display:none}.danger-zone[open]>summary{color:var(--p-urgent);margin-bottom:8px}@media (hover:hover){.danger-zone>summary:hover{color:var(--p-urgent)}}.pref-btn.danger{border-color:var(--p-urgent);color:var(--p-urgent)}@media (hover:hover){.pref-btn.danger:hover:not(:disabled){background:var(--p-urgent);border-color:var(--p-urgent);color:#fff}}.auth-box{animation:.16s auth-fade}.auth-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-input{border:1px solid var(--border);background:var(--bg-elev);min-width:0;height:30px;color:var(--text);box-sizing:border-box;border-radius:7px;flex:200px;padding:0 10px;font-size:13px;transition:border-color .12s}.auth-input:focus{border-color:var(--border-strong);outline:none}.auth-input::placeholder{color:var(--text-dim)}.auth-email{color:var(--text);font-weight:600}.auth-feedback{margin-bottom:12px;animation:.16s auth-fade}.auth-link{color:var(--text-dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:4px;padding:0;font-size:12.5px;text-decoration:underline;display:inline-block}.auth-link:hover{color:var(--text)}.pref-note{color:var(--text-dim);margin-top:12px;font-size:12px;font-style:italic}.dl-android{border-radius:8px;align-self:flex-start;margin-top:2px;line-height:0;transition:opacity .12s}.dl-android img{width:auto;height:48px;display:block}@media (hover:hover){.dl-android:hover{opacity:.82}}.pref-version{text-align:center;color:var(--text-dim);margin:20px 0 0;font-size:11px}.sync-status{color:var(--text-dim);align-items:center;gap:7px;margin-top:10px;font-size:12px;display:inline-flex}.sync-dot{background:var(--text-dim);border-radius:50%;flex:none;width:8px;height:8px;transition:background-color .2s}.sync-status[data-sync=synced] .sync-dot{background:#35c26b;animation:2.4s ease-in-out infinite sync-pulse}.sync-status[data-sync=offline] .sync-dot{background:#d6a13a}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.sync-status[data-sync=synced] .sync-dot{animation:none}}@keyframes auth-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.auth-box,.auth-feedback{animation:none}}kbd{font-family:var(--mono);color:var(--text);background:var(--bg);border:1px solid var(--border-strong);text-align:center;min-width:18px;box-shadow:var(--drop-shadow);border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:11px}.toast{background:var(--bg-elev);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:120;border-radius:9px;align-items:center;gap:9px;padding:9px 14px;font-size:13px;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.toast{transition:none;transform:translate(-50%)}.toast.show{transform:translate(-50%)}}.toast-action{color:var(--accent-text);background:var(--accent);pointer-events:auto;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .12s}@media (hover:hover){.toast-action:hover{background:var(--accent-hover)}}.toast-dismiss{width:22px;height:22px;color:var(--text-dim);pointer-events:auto;border-radius:6px;place-items:center;transition:background .12s,color .12s;display:grid}@media (hover:hover){.toast-dismiss:hover{background:var(--bg-hover);color:var(--text)}}.flag-tri{display:inline-block}@media (hover:none),(pointer:coarse){.row{touch-action:pan-y}}.row.swiping{background:var(--bg-hover);border-radius:6px}.mobile-action-bar{display:none}@media (hover:none),(pointer:coarse){.mobile-action-bar{padding:6px max(8px, env(safe-area-inset-left)) 6px max(8px, env(safe-area-inset-right));background:var(--bg-elev);border-top:1px solid var(--border-strong);view-transition-name:mobile-action-bar;justify-content:space-around;align-items:center;gap:4px;animation:.16s mab-in;display:flex;position:fixed;left:0;right:0;box-shadow:0 -4px 16px #00000024}.pop-item .pk{display:none}.mab-emoji-glyph{font-size:18px;line-height:1}.mab-btn{min-width:44px;height:44px;color:var(--text-mid);background:0 0;border-radius:9px;flex:1 1 0;place-items:center;transition:background .12s,color .12s,transform 80ms;display:grid}.mab-btn:active{background:var(--bg-active);transform:scale(.92)}.mab-btn.active{color:var(--accent);background:var(--accent-soft)}.mab-check{border:1.5px solid var(--border-strong);color:#0000;border-radius:6px;place-items:center;width:22px;height:22px;transition:all .12s;display:grid}.mab-check.done{background:var(--accent);border-color:var(--accent);color:#fff}.mab-btn.has-due{color:var(--accent)}}@keyframes mab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mobile-action-bar{animation:none}}.tb-menu,.drawer-scrim{display:none}@media (width<=720px){.sidebar{z-index:90;width:264px;max-width:84vw;box-shadow:var(--shadow);flex:none;transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sb-resize{display:none}.drawer-scrim{z-index:80;opacity:0;pointer-events:none;background:#00000073;transition:opacity .24s;display:block;position:fixed;inset:0}.drawer-scrim.open{opacity:1;pointer-events:auto}.tb-menu{flex:none;width:40px;height:40px;margin-left:-4px;display:grid}.topbar{padding:env(safe-area-inset-top) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));gap:8px}.crumbs{flex:0 auto;min-width:0;overflow:hidden}.crumbs .cr.last{text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.tb-stat{flex:none}.tb-stat span,.tb-help,.tb-hide-done{display:none}.tb-search-toggle{display:grid}.search{display:none}.search.open{flex:auto;width:auto;min-width:0;display:flex}.search.open:focus-within{width:auto}.topbar.searching .crumbs,.topbar.searching .tb-stat,.topbar.searching .tb-spacer,.topbar.searching .tb-pending{display:none}.topbar.searching .tb-stat.filtered{min-width:32px;min-height:40px;box-shadow:none;justify-content:center;padding:0;display:flex}.topbar.searching .tb-stat.filtered .ring{display:none}.topbar.searching .tb-stat.filtered:before{width:10px;height:10px}.topbar .icon-btn{width:40px;height:40px}.editor{max-width:none;padding:16px 14px 200px}.proj,.sb-newproj{height:44px}.proj-add{opacity:1;width:32px;height:32px}.r-check{position:relative}.r-check:before{content:"";position:absolute;inset:-13px}.scrim{padding:12px}.modal{flex-direction:column;width:100%;max-width:100%;max-height:90vh;display:flex}.modal-body{flex:1;max-height:none}.modal-h .icon-btn{width:40px;height:40px}.pref-btn{min-height:40px}}@media (width<=720px) and (prefers-reduced-motion:reduce){.sidebar,.drawer-scrim{transition:none}}
