:root{--accent: #5e6ad2;--accent-hover: #6e7ae6;--accent-soft: rgba(94, 106, 210, .16);--accent-text: #fff;--p-urgent: #eb5757;--p-high: #f2994a;--p-medium: #e5b94b;--p-low: #5b8def;--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: rgba(255, 255, 255, .04);--bg-active: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #e7e8ec;--text-mid: #b3b6be;--text-dim: #767982;--text-faint: #565963;--shadow: 0 8px 28px rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 255, 255, .04) inset;--drop-shadow: 0 1px 2px rgba(0, 0, 0, .4)}[data-theme=light]{--bg: #ffffff;--bg-elev: #ffffff;--bg-sidebar: #fafafa;--bg-hover: rgba(0, 0, 0, .035);--bg-active: rgba(0, 0, 0, .06);--border: rgba(0, 0, 0, .09);--border-strong: rgba(0, 0, 0, .16);--text: #1a1b1d;--text-mid: #44464c;--text-dim: #82858c;--text-faint: #a7aab0;--shadow: 0 10px 32px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);--drop-shadow: 0 1px 2px rgba(0, 0, 0, .08)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}::selection{background:var(--accent-soft)}.app{display:flex;height:100%}.sidebar{width:256px;flex:0 0 256px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.sb-head{display:flex;align-items:center;gap:9px;padding:14px 14px 12px}.sb-logo{width:36px;height:36px;border-radius:9px;background-image:url(/logo-cloud.png);background-size:cover;background-position:center;flex:0 0 auto;box-shadow:0 0 0 1px var(--border)}.sb-title{font-weight:600;font-size:13.5px;letter-spacing:-.01em}.sb-title small{display:block;color:var(--text-dim);font-weight:450;font-size:11px;letter-spacing:0}.sb-spacer{flex:1}.icon-btn{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;color:var(--text-dim);transition:background .12s,color .12s}@media (hover: hover){.icon-btn:hover{background:var(--bg-hover);color:var(--text)}}.sb-section{display:flex;align-items:center;gap:6px;padding:6px 14px 4px;color:var(--text-dim);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sb-tree{flex:1;overflow-y:auto;padding:0 8px 16px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:9px;border:3px solid transparent;background-clip:content-box}@media (hover: hover){::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}}::-webkit-scrollbar-corner{background:transparent}.proj{position:relative;display:flex;align-items:center;gap:2px;height:30px;border-radius:6px;padding-right:6px;color:var(--text-mid);cursor:pointer;transition:background .1s,color .1s}@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-twist{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;color:var(--text-faint);border-radius:4px;transition:transform .12s}@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-dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto;margin-right:8px;position:relative}.proj-dot .late{position:absolute;top:-3px;right:-3px;width:6px;height:6px;border-radius:50%;background:var(--p-urgent);box-shadow:0 0 0 1.5px var(--bg-sidebar)}.proj-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}.proj-name input{width:100%;background:var(--bg);border:1px solid var(--accent);color:var(--text);border-radius:4px;padding:1px 5px;font-size:13.5px;outline:none}.proj-count{color:var(--text-faint);font-size:11.5px;font-variant-numeric:tabular-nums;padding:0 2px}.proj-add{opacity:0;width:20px;height:20px;border-radius:4px;display:grid;place-items:center;color:var(--text-dim);transition:opacity .1s,background .1s}@media (hover: hover){.proj:hover .proj-add{opacity:1}.proj-add:hover{background:var(--bg-active);color:var(--text)}}.sb-newproj{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;margin:4px 0 0;border-radius:6px;color:var(--text-dim);font-size:13px;width:100%}@media (hover: hover){.sb-newproj:hover{background:var(--bg-hover);color:var(--text)}}.sb-foot{padding:8px;border-top:1px solid var(--border);display:flex;gap:6px;align-items:center}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{height:52px;flex:0 0 52px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 18px}.crumbs{display:flex;align-items:center;gap:6px;min-width:0}.crumbs .cr{color:var(--text-dim);font-size:13px;white-space:nowrap}.crumbs .cr.last{color:var(--text);font-weight:600;font-size:15px;letter-spacing:-.01em}.crumbs .sep{color:var(--text-faint)}.tb-spacer{flex:1}.search{display:flex;align-items:center;gap:7px;background:var(--bg-elev);border:1px solid var(--border);border-radius:7px;padding:0 8px 0 9px;height:32px;width:230px;transition:border-color .12s,width .15s;flex:0 0 auto;box-sizing:border-box}.search:focus-within{border-color:var(--border-strong);width:290px}.search input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-size:13px}.search input::placeholder{color:var(--text-faint)}.search .esc{flex:0 0 auto;color:var(--text-faint);font-size:10.5px;border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tb-stat{color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums;display:flex;gap:10px}.tb-stat b{color:var(--text-mid);font-weight:600}.tb-pending{display:flex;align-items:center;gap:5px;color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums;opacity:0;transform:translateY(-3px);transition:opacity .18s ease,transform .18s ease;pointer-events:none;max-width:0;overflow:hidden}.tb-pending.visible{opacity:1;transform:translateY(0);max-width:80px}@media (prefers-reduced-motion: reduce){.tb-pending{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-y:auto;overflow-x:hidden}.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{display:flex;align-items:flex-start;gap:2px;min-height:var(--row-min-h);border-radius:6px;position:relative;transition:background .08s,min-height .12s ease}@media (prefers-reduced-motion: reduce){.row{transition:background .08s}}@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{display:none}.row.completing{overflow:hidden;pointer-events:none;animation:done-leave .6s ease forwards}@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{position:fixed;bottom:16px;right:16px;z-index:20;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text-dim);font-size:13px;font-family:inherit;cursor:pointer;transition:color .12s,border-color .12s,transform .12s;animation:fab-in .18s ease}@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{position:absolute;left:0;top:0;bottom:0;pointer-events:none}.guide{position:absolute;top:0;bottom:0;width:1px;background:var(--border)}.r-handle{width:18px;flex:0 0 18px;height:var(--row-cell-h);display:grid;place-items:center;color:var(--text-faint);opacity:0;cursor:grab;transition:opacity .1s;touch-action:none}@media (hover: hover){.row:hover .r-handle{opacity:.7}}.r-handle:active{cursor:grabbing}.r-check{width:18px;height:18px;flex:0 0 18px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:transparent;transition:all .12s;margin:var(--row-check-mt) 2px 0 0}@media (hover: hover){.r-check:hover{border-color:var(--accent)}}.r-check.done{background:var(--accent);border-color:var(--accent);color:#fff}.r-flag{width:22px;height:var(--row-cell-h);flex:0 0 22px;border-radius:5px;display:grid;place-items:center;transition:background .1s}@media (hover: hover){.r-flag:hover{background:var(--bg-active)}}.r-flag .prio-bead{width:11px;height:11px}.r-title{flex:1;background:none;border:none;outline:none;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;overflow:hidden;font-family:inherit;display:block;height:auto;transition:padding .12s ease,font-size .12s ease}@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{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-.01em}.row.is-section .r-title::placeholder{color:var(--text-dim)}.r-title-view{flex:1;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}.r-title-view-empty{color:var(--text-dim);font-weight:500}.r-emoji{width:22px;height:var(--row-cell-h);flex:0 0 22px;border-radius:5px;display:grid;place-items:center;color:var(--text-faint);opacity:.55;transition:background .1s,color .1s,opacity .1s}.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{display:flex;align-items:center;gap:5px;height:var(--row-due-h);padding:0 8px;margin-top:var(--row-due-mt);border-radius:6px;color:var(--text-dim);font-size:12px;white-space:nowrap;flex:0 0 auto;opacity:0;transition:opacity .1s,background .1s,color .1s}.r-due.set{opacity:1}@media (hover: hover){.row:hover .r-due{opacity:1}.r-due:hover{background:var(--bg-active);color:var(--text)}}.r-due.set{color:var(--text-mid)}.r-due.overdue{color:var(--p-urgent)}.r-due.soon{color:var(--p-high)}.drop-line{position:absolute;left:0;right:0;height:2px;background:var(--accent);border-radius:2px;pointer-events:none;z-index:5}.drop-line:before{content:"";position:absolute;left:-3px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.pop{position:fixed;z-index:50;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:9px;box-shadow:var(--shadow);padding:5px;min-width:168px}.pop-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:4px 9px 5px;font-weight:600}.pop-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 9px;border-radius:6px;color:var(--text-mid);font-size:13px;width:100%;text-align:left}.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 .pk{margin-left:auto;color:var(--text-faint);font-family:var(--mono);font-size:11px}.pop-item.cur{color:var(--text)}.pop-sep{height:1px;background:var(--border);margin:4px 2px}.emoji-pop{width:248px;min-width:0}.emoji-search{width:100%;box-sizing:border-box;height:30px;padding:0 9px;margin-bottom:5px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-active);color:var(--text);font-family:inherit;font-size:13px;outline:none;transition:border-color .12s}.emoji-search:focus{border-color:var(--accent)}.emoji-search::placeholder{color:var(--text-faint)}.emoji-scroll{max-height:280px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;min-width:0}.emoji-cat{position:sticky;top:0;z-index:1;margin:0;padding:6px 2px 4px;background:var(--bg-elev);color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.emoji-cat-block:first-child .emoji-cat{padding-top:2px}.emoji-grid-placeholder{width:100%}.emoji-loading{padding:24px 9px;color:var(--text-faint);font-size:18px;text-align:center;letter-spacing:.15em}.emoji-cell{aspect-ratio:1;display:grid;place-items:center;border-radius:6px;font-size:20px;line-height:1;cursor:pointer;transition:background .1s,transform .08s}.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-empty{padding:12px 9px;color:var(--text-faint);font-size:13px;text-align:center}@media (prefers-reduced-motion: reduce){.emoji-cell{transition:none}}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:2px 7px 5px}.swatch{width:100%;aspect-ratio:1;border-radius:6px;cursor:pointer;box-shadow:inset 0 1px #ffffff59;position:relative;transition:transform .1s}@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{width:13px;height:13px;border-radius:4px;flex:0 0 auto;display:block;box-shadow:0 1px 2px #00000040,inset 0 1px #fff6}.prio-bead.empty{background:transparent;box-shadow:none;border:1.5px dashed var(--border-strong)}@media (hover: hover){.r-flag:hover .prio-bead.empty{border-color:var(--text-dim)}}.pop-item .prio-bead.empty{border:1.5px dashed var(--border-strong);box-shadow:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:grid;place-items:center;animation:scrim-in .12s ease}.modal{width:460px;max-width:92vw;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:13px;box-shadow:var(--shadow);overflow:hidden;animation:modal-in .15s ease}@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{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:var(--bg);z-index:200}.error-card{max-width:460px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:13px;box-shadow:var(--shadow);padding:20px 22px}.error-card h2{font-size:16px;margin-bottom:8px}.error-card p{color:var(--text-mid);font-size:13px;margin-bottom:12px}.error-detail{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:11.5px;color:var(--text-faint);white-space:pre-wrap;word-break:break-word;max-height:30vh;overflow:auto}.error-actions{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}.error-actions button{height:30px;padding:0 12px;border-radius:7px;border:1px solid var(--border-strong);color:var(--text-mid);font-size:13px}.error-actions button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.modal-h{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center}.modal-h h3{font-size:15px}.modal-body{padding:8px 20px 18px;max-height:60vh;overflow-y:auto}.kgrp{padding:12px 0 4px;color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.krow{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border)}.krow:last-child{border-bottom:none}.krow span{font-size:13px;color:var(--text-mid)}.keys{display:flex;gap:4px}.pref-section{padding:8px 0 4px}.pref-desc{font-size:13px;color:var(--text-mid);margin:6px 0 12px;line-height:1.5}.pref-actions{display:flex;flex-wrap:wrap;gap:8px}.pref-btn{height:30px;padding:0 12px;border-radius:7px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:13px;cursor:pointer;transition:background .12s,border-color .12s}@media (hover: hover){.pref-btn:hover{background:var(--bg-hover);border-color:var(--accent)}}.download-desktop{display:flex;flex-direction:column;gap:10px}.dl-primary{display:inline-flex;align-items:center;justify-content:center;height:34px;align-self:flex-start;text-decoration:none}.pref-btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-text);font-weight:550}@media (hover: hover){.pref-btn.primary:hover{background:var(--accent-hover);border-color:transparent}}.dl-others{display:flex;gap:14px;flex-wrap:wrap}.dl-link{color:var(--accent);text-decoration:none;font-size:13px}@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{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.pref-label{font-size:13px;color:var(--text-mid)}.pref-seg{display:inline-flex;gap:6px}.pref-feedback{margin-top:12px;padding:8px 10px;border-radius:7px;font-size:12.5px;border:1px solid var(--border);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)}.auth-box{animation:auth-fade .16s ease}.auth-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.auth-input{flex:1 1 200px;min-width:0;height:30px;padding:0 10px;border-radius:7px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:13px;box-sizing:border-box;transition:border-color .12s}.auth-input:focus{outline:none;border-color:var(--border-strong)}.auth-input::placeholder{color:var(--text-dim)}.auth-email{color:var(--text);font-weight:600}.auth-feedback{animation:auth-fade .16s ease}.pref-note{margin-top:12px;font-size:12px;color:var(--text-dim);font-style:italic}.sync-status{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;color:var(--text-dim)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex:none;transition:background-color .2s ease}.sync-status[data-sync=synced] .sync-dot{background:#35c26b;animation:sync-pulse 2.4s ease-in-out infinite}.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);font-size:11px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;padding:2px 6px;min-width:18px;text-align:center;box-shadow:var(--drop-shadow)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%) translateY(20px);background:var(--bg-elev);border:1px solid var(--border-strong);color:var(--text);padding:9px 14px;border-radius:9px;font-size:13px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:120;display:flex;align-items:center;gap:9px}.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);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;pointer-events:auto;transition:background .12s}@media (hover: hover){.toast-action:hover{background:var(--accent-hover)}}.toast-dismiss{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--text-dim);pointer-events:auto;transition:background .12s,color .12s}@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{display:flex;position:fixed;left:0;right:0;align-items:center;justify-content:space-around;gap:4px;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);box-shadow:0 -4px 16px #00000024;animation:mab-in .16s ease}.mab-emoji-glyph{font-size:18px;line-height:1}.mab-btn{flex:1 1 0;min-width:44px;height:44px;display:grid;place-items:center;border-radius:9px;color:var(--text-mid);background:none;transition:background .12s,color .12s,transform .08s}.mab-btn:active{transform:scale(.92);background:var(--bg-active)}.mab-btn.active{color:var(--accent);background:var(--accent-soft)}.mab-check{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:transparent;transition:all .12s}.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 (max-width: 720px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:90;width:264px;max-width:84vw;flex:0 0 auto;transform:translate(-100%);box-shadow:var(--shadow);transition:transform .24s ease}.sidebar.open{transform:translate(0)}.drawer-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000073;opacity:0;pointer-events:none;transition:opacity .24s ease}.drawer-scrim.open{opacity:1;pointer-events:auto}.tb-menu{display:grid;width:40px;height:40px;flex:0 0 auto;margin-left:-4px}.topbar{gap:8px;padding:0 10px}.crumbs{flex:0 1 auto}.crumbs .cr.last{font-size:14px}.tb-stat span,.tb-help{display:none}.search{flex:1 1 90px;width:auto;min-width:0}.search:focus-within{width:auto}.topbar .icon-btn{width:40px;height:40px}.editor{max-width:none;padding:16px 14px 200px}.proj,.sb-newproj{height:44px}.proj-add{width:32px;height:32px;opacity:1}.r-check{position:relative}.r-check:before{content:"";position:absolute;top:-13px;right:-13px;bottom:-13px;left:-13px}.r-flag{position:relative}.r-flag:before{content:"";position:absolute;top:-11px;right:-8px;bottom:-11px;left:-8px}.scrim{padding:12px}.modal{width:100%;max-width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-body{max-height:none;flex:1}.modal-h .icon-btn{width:40px;height:40px}.pref-btn{min-height:40px}}@media (max-width: 720px) and (prefers-reduced-motion: reduce){.sidebar,.drawer-scrim{transition:none}}
