.nav[data-v-3beaacbc]{display:flex;background:var(--bg-elevated);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);height:calc(var(--nav-height) + var(--safe-bottom))}.nav-item[data-v-3beaacbc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-faint);min-height:var(--touch);transition:color .15s ease}.nav-item.active[data-v-3beaacbc]{color:var(--accent)}.icon[data-v-3beaacbc]{width:40px;height:40px;object-fit:contain}.lbl[data-v-3beaacbc]{font-size:11px;font-weight:600}.shell[data-v-585822c8]{height:100%;display:flex;flex-direction:column;background:var(--bg)}.content[data-v-585822c8]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--safe-top) + 16px) 16px 16px}.content.with-nav[data-v-585822c8]{padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px)}.ob[data-v-cc0e4f43]{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:12px 4px}.step[data-v-cc0e4f43]{display:flex;flex-direction:column;gap:16px}.big[data-v-cc0e4f43]{font-size:64px;text-align:center}h1[data-v-cc0e4f43]{text-align:center;font-size:32px}.lead[data-v-cc0e4f43]{text-align:center;color:var(--text-dim)}.hint[data-v-cc0e4f43]{color:var(--text-faint);font-size:14px}.how[data-v-cc0e4f43]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.how li[data-v-cc0e4f43]{display:flex;gap:12px;align-items:flex-start;color:var(--text-dim);line-height:1.4}.how .ic[data-v-cc0e4f43]{font-size:22px;flex-shrink:0}.list[data-v-cc0e4f43]{display:flex;flex-direction:column;gap:10px}.list.scroll[data-v-cc0e4f43]{max-height:46vh;overflow-y:auto;padding-right:2px}.opt[data-v-cc0e4f43]{display:flex;align-items:center;gap:14px;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-height:var(--touch)}.opt.active[data-v-cc0e4f43]{border-color:var(--accent);background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--bg-card)}.opt[data-v-cc0e4f43]:disabled{opacity:.55}.emoji[data-v-cc0e4f43]{font-size:32px}.opt-info[data-v-cc0e4f43]{display:flex;flex-direction:column}.opt-name[data-v-cc0e4f43]{font-weight:700}.opt-tag[data-v-cc0e4f43]{font-size:13px;color:var(--text-dim)}.notif[data-v-cc0e4f43]{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px}.notif-head[data-v-cc0e4f43]{display:flex;align-items:center;gap:8px}.notif-emoji[data-v-cc0e4f43]{font-size:20px}.notif-title[data-v-cc0e4f43]{font-weight:700}.notif-body[data-v-cc0e4f43]{color:var(--text-dim);line-height:1.4}.micro[data-v-cc0e4f43]{font-size:13px;color:var(--text-faint);text-align:center;margin:0}.templates[data-v-cc0e4f43]{display:flex;flex-wrap:wrap;gap:8px}.tpl[data-v-cc0e4f43]{padding:9px 13px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);font-size:14px;color:var(--text-dim)}.tpl.active[data-v-cc0e4f43]{border-color:var(--accent);color:var(--text);background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--bg-card)}.nav[data-v-cc0e4f43]{display:flex;gap:10px}.nav .grow[data-v-cc0e4f43]{flex:1}.consent[data-v-cc0e4f43]{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-dim)}.consent input[data-v-cc0e4f43]{width:22px;height:22px;accent-color:var(--accent)}.dots[data-v-cc0e4f43]{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.dot[data-v-cc0e4f43]{width:8px;height:8px;border-radius:50%;background:var(--border)}.dot.on[data-v-cc0e4f43]{background:var(--accent)}.legal-links[data-v-cc0e4f43]{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:12px}.legal-links a[data-v-cc0e4f43]{color:var(--text-faint);text-decoration:underline;text-underline-offset:3px}.task[data-v-b73757be]{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.task.overdue[data-v-b73757be]{border-color:#ff546673;background:linear-gradient(0deg,#ff54660f,#ff54660f),var(--bg-card)}.check[data-v-b73757be]{flex-shrink:0;width:var(--touch);height:var(--touch);display:flex;align-items:center;justify-content:center}.check-ring[data-v-b73757be]{width:26px;height:26px;border-radius:50%;border:2px solid var(--text-faint);transition:all .15s ease}.check:active .check-ring[data-v-b73757be]{border-color:var(--success);background:var(--success)}.body[data-v-b73757be]{flex:1;min-width:0}.title-row[data-v-b73757be]{display:flex;align-items:center;gap:8px}.cat[data-v-b73757be]{font-size:18px}.title[data-v-b73757be]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta[data-v-b73757be]{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13px;color:var(--text-dim);flex-wrap:wrap}.due.dim[data-v-b73757be]{color:var(--text-faint)}.more[data-v-b73757be]{flex-shrink:0;width:var(--touch);height:var(--touch);font-size:24px;color:var(--text-dim);border-radius:var(--radius-sm)}.menu[data-v-b73757be]{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-end;z-index:200}.menu-sheet[data-v-b73757be]{width:100%;background:var(--bg-elevated);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:8px 8px calc(8px + var(--safe-bottom))}.menu-item[data-v-b73757be]{width:100%;text-align:left;min-height:var(--touch);padding:12px 16px;border-radius:var(--radius-sm);font-weight:600}.menu-item[data-v-b73757be]:active{background:var(--bg-card-hover)}.menu-item.danger[data-v-b73757be]{color:var(--danger)}.menu-item.cancel[data-v-b73757be]{text-align:center;color:var(--text-dim);margin-top:4px}.empty[data-v-94770b3b]{text-align:center;padding:40px 24px;color:var(--text-dim)}.emoji[data-v-94770b3b]{font-size:52px;margin-bottom:12px}.text[data-v-94770b3b]{font-weight:600;color:var(--text)}.hint[data-v-94770b3b]{font-size:14px;margin-top:6px;color:var(--text-faint)}.home[data-v-362161cf]{display:flex;flex-direction:column}.top[data-v-362161cf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.top h1[data-v-362161cf]{font-size:28px}.count[data-v-362161cf]{font-size:13px;color:var(--text-faint)}.share-link[data-v-362161cf]{font-size:24px;width:var(--touch);height:var(--touch)}.quick[data-v-362161cf]{display:flex;gap:8px}.quick .field[data-v-362161cf]{flex:1}.opts-toggle[data-v-362161cf]{width:var(--touch);flex-shrink:0;font-size:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;justify-content:center;align-items:center}.opts-toggle.on[data-v-362161cf]{border-color:var(--accent)}.add[data-v-362161cf]{width:var(--touch);font-size:24px;flex-shrink:0}.chips[data-v-362161cf]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip[data-v-362161cf]{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--text-dim)}.chip.active[data-v-362161cf]{border-color:var(--accent);color:var(--text);background:var(--accent-soft, rgba(255, 90, 60, .12))}.options[data-v-362161cf]{margin-top:10px;display:flex;flex-direction:column;gap:8px;padding:12px}.opt-row[data-v-362161cf]{display:flex;align-items:center;justify-content:space-between;gap:12px}.select[data-v-362161cf]{flex:1;max-width:60%}.opt-hint[data-v-362161cf]{font-size:12.5px;margin:0;color:var(--accent);display:flex;gap:5px;align-items:center}.opt-hint.dim[data-v-362161cf]{color:var(--text-faint)}.full-add[data-v-362161cf]{margin-top:10px}.stack[data-v-362161cf]{display:flex;flex-direction:column;gap:10px}.micro[data-v-362161cf]{font-size:13px;color:var(--text-dim);margin:0 4px 8px}.icon[data-v-362161cf]{width:30px;height:30px;object-fit:contain}.icon-small[data-v-362161cf]{width:20px;height:20px;object-fit:contain}.section-title[data-v-362161cf]{display:flex;align-items:center;gap:4px}.editor[data-v-3a4f1724]{display:flex;flex-direction:column;gap:16px}.templates[data-v-3a4f1724],.chips[data-v-3a4f1724]{display:flex;flex-wrap:wrap;gap:8px}.chip.locked[data-v-3a4f1724]{opacity:.7}.lock[data-v-3a4f1724]{font-size:11px}.error[data-v-3a4f1724]{color:var(--danger);font-size:14px;font-weight:600}.actions[data-v-3a4f1724]{display:flex;flex-direction:column;gap:10px;margin-top:4px}.del[data-v-3a4f1724]{color:var(--danger)}.head[data-v-03668428]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.back[data-v-03668428]{font-size:28px;width:var(--touch);height:var(--touch)}.head h1[data-v-03668428]{font-size:24px}.remote-warning[data-v-03668428]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--warning);background:#ffa6001f;color:var(--warning);font-size:13px}.reload-btn[data-v-03668428]{flex-shrink:0;padding:6px 10px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;font-weight:700}.persona[data-v-523e7d68]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.persona.selected[data-v-523e7d68]{border-color:var(--accent);background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--bg-card)}.persona.locked[data-v-523e7d68]{opacity:.85}.head[data-v-523e7d68]{display:flex;align-items:center;gap:14px}.emoji[data-v-523e7d68]{font-size:40px}.info[data-v-523e7d68]{flex:1;min-width:0}.name-row[data-v-523e7d68]{display:flex;align-items:center;gap:8px}.name[data-v-523e7d68]{font-weight:700;font-size:17px}.tagline[data-v-523e7d68]{font-size:14px;color:var(--text-dim)}.preview[data-v-523e7d68]{margin-top:12px;padding:10px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);font-size:14px;font-style:italic;color:var(--text-dim)}.preview-btn[data-v-523e7d68]{margin-top:10px;font-size:13px;font-weight:600;color:var(--accent);min-height:36px}.title[data-v-009237dc]{font-size:28px}.sub[data-v-009237dc]{color:var(--text-dim);margin:4px 0 16px}.list[data-v-009237dc]{display:flex;flex-direction:column;gap:12px}.ach[data-v-4411f3c7]{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;opacity:.6}.ach.unlocked[data-v-4411f3c7]{opacity:1;border-color:#46d39a66}.emoji[data-v-4411f3c7]{font-size:30px;filter:grayscale(1)}.ach.unlocked .emoji[data-v-4411f3c7]{filter:none}.info[data-v-4411f3c7]{flex:1;min-width:0}.title[data-v-4411f3c7]{font-weight:700}.desc[data-v-4411f3c7]{font-size:13px;color:var(--text-dim)}.bar[data-v-4411f3c7]{margin-top:6px;height:5px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.fill[data-v-4411f3c7]{height:100%;background:var(--success);transition:width .3s ease}.status[data-v-4411f3c7]{font-size:14px;font-weight:700;color:var(--success)}.title[data-v-5b04bf7f]{font-size:28px;margin-bottom:16px}.level[data-v-5b04bf7f]{margin-bottom:14px}.level-top[data-v-5b04bf7f]{display:flex;justify-content:space-between;font-weight:700}.xp[data-v-5b04bf7f]{color:var(--accent)}.bar[data-v-5b04bf7f]{margin:10px 0 6px;height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.fill[data-v-5b04bf7f]{height:100%;background:var(--accent);transition:width .3s ease}.next[data-v-5b04bf7f]{font-size:13px;color:var(--text-faint)}.grid[data-v-5b04bf7f]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.stat[data-v-5b04bf7f]{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.num[data-v-5b04bf7f]{font-size:26px;font-weight:800}.lbl[data-v-5b04bf7f]{font-size:13px;color:var(--text-dim)}.stack[data-v-5b04bf7f]{display:flex;flex-direction:column;gap:10px}.share[data-v-5b04bf7f]{margin-top:16px}.head[data-v-b06ab923]{display:flex;align-items:center;gap:8px;margin-bottom:16px}.back[data-v-b06ab923]{font-size:28px;width:var(--touch);height:var(--touch)}.head h1[data-v-b06ab923]{font-size:24px}.preview-wrap[data-v-b06ab923]{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.canvas[data-v-b06ab923]{width:100%;height:auto;display:block}.upsell[data-v-b06ab923]{margin:12px 0;padding:12px;text-align:center;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent-strong);font-weight:600}.actions[data-v-b06ab923]{display:flex;flex-direction:column;gap:10px;margin-top:16px}.paywall[data-v-bae6c7da]{display:flex;flex-direction:column;gap:14px}.hero[data-v-bae6c7da]{text-align:center;padding:8px 0}.hero-emoji[data-v-bae6c7da]{font-size:48px}.hero h2[data-v-bae6c7da]{margin-top:4px}.sub[data-v-bae6c7da]{color:var(--text-dim);margin-top:6px;max-width:320px;margin-inline:auto}.active[data-v-bae6c7da]{display:flex;align-items:center;gap:14px;border-color:#46d39a66}.active-emoji[data-v-bae6c7da]{font-size:32px}.active-title[data-v-bae6c7da]{font-weight:700}.active-sub[data-v-bae6c7da]{font-size:14px;color:var(--text-dim)}.warn[data-v-bae6c7da]{font-size:14px;color:var(--warning);border-color:#ffd16666}.plans[data-v-bae6c7da]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-name[data-v-bae6c7da]{font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}.plan ul[data-v-bae6c7da]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.plan.pro[data-v-bae6c7da]{border-color:var(--accent)}.plan.pro li[data-v-bae6c7da]{color:var(--text)}.buy[data-v-bae6c7da]{display:flex;flex-direction:column;gap:10px}.buy-btn[data-v-bae6c7da]{justify-content:space-between}.price[data-v-bae6c7da]{font-weight:700}.restore[data-v-bae6c7da]{color:var(--accent);font-weight:600;min-height:var(--touch)}.legal-links[data-v-bae6c7da]{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:12px}.legal-links a[data-v-bae6c7da]{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.loading[data-v-bae6c7da]{text-align:center;color:var(--text-dim);padding:12px}.hint-auth[data-v-bae6c7da]{text-align:center;color:var(--text-dim);font-size:13px}.legal-note[data-v-bae6c7da]{font-size:12px;color:var(--text-faint);text-align:center}.legal-markdown[data-v-8358eb55]{color:var(--text-dim);line-height:1.62;font-size:14px}.legal-markdown[data-v-8358eb55] h1,.legal-markdown[data-v-8358eb55] h2,.legal-markdown[data-v-8358eb55] h3{color:var(--text);line-height:1.2}.legal-markdown[data-v-8358eb55] h1{font-size:26px;margin:0 0 18px}.legal-markdown[data-v-8358eb55] h2{font-size:18px;margin:24px 0 10px}.legal-markdown[data-v-8358eb55] h3{font-size:15px;margin:18px 0 8px}.legal-markdown p[data-v-8358eb55]{margin:0 0 12px}.legal-markdown ul[data-v-8358eb55],.legal-markdown ol[data-v-8358eb55]{margin:0 0 14px;padding-left:22px}.legal-markdown li[data-v-8358eb55]{margin:5px 0}.legal-markdown code[data-v-8358eb55]{padding:1px 5px;border-radius:5px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em}.legal-markdown a[data-v-8358eb55]{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.title[data-v-b22ca32d]{font-size:28px;margin-bottom:8px}.card[data-v-b22ca32d]{margin-bottom:10px}.row[data-v-b22ca32d]{display:flex;align-items:center;justify-content:space-between;gap:12px}.hint[data-v-b22ca32d]{font-size:13px;color:var(--text-faint);margin-top:2px}.hint.warn[data-v-b22ca32d]{color:var(--accent);margin:-4px 4px 10px}.install-hint[data-v-b22ca32d]{display:flex;flex-direction:column;gap:10px}.ih-title[data-v-b22ca32d]{font-weight:700}.ih-steps[data-v-b22ca32d]{margin:0;padding-left:18px;color:var(--text-dim);font-size:14px;line-height:1.6}.ih-ic[data-v-b22ca32d]{font-size:16px}.quiet[data-v-b22ca32d]{display:flex;align-items:center;gap:10px}.quiet .field[data-v-b22ca32d]{flex:1}.chips[data-v-b22ca32d]{display:flex;gap:8px}.account-card[data-v-b22ca32d]{display:flex;flex-direction:column;gap:10px}.account-card .field[data-v-b22ca32d]{width:100%}.restore[data-v-b22ca32d]{color:var(--accent);font-weight:700;min-height:var(--touch)}.recovery-card code[data-v-b22ca32d]{display:block;padding:10px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);word-break:break-all}.recovery-title[data-v-b22ca32d],.security-title[data-v-b22ca32d]{font-weight:800;margin-bottom:4px}.toggle[data-v-b22ca32d]{width:52px;height:30px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);position:relative;flex-shrink:0}.toggle.on[data-v-b22ca32d]{background:var(--accent);border-color:var(--accent)}.knob[data-v-b22ca32d]{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .16s ease}.toggle.on .knob[data-v-b22ca32d]{transform:translate(22px)}.mb[data-v-b22ca32d]{margin-bottom:10px}.danger[data-v-b22ca32d]{color:var(--danger)}.modal[data-v-b22ca32d]{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;z-index:300}.modal-sheet[data-v-b22ca32d]{width:100%;max-height:85vh;overflow-y:auto;background:var(--bg-elevated);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:20px 18px calc(20px + var(--safe-bottom))}.modal-sheet.small[data-v-b22ca32d]{text-align:center}.modal-head[data-v-b22ca32d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.close[data-v-b22ca32d]{font-size:22px;width:var(--touch);height:var(--touch);color:var(--text-dim)}.legal-page[data-v-3c0643b5]{min-height:100%;background:var(--bg);color:var(--text);padding:18px}.legal-header[data-v-3c0643b5]{width:min(920px,100%);margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand[data-v-3c0643b5]{color:var(--text);font-weight:800;text-decoration:none}.legal-nav[data-v-3c0643b5]{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:14px}.legal-nav a[data-v-3c0643b5]{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.legal-doc[data-v-3c0643b5]{width:min(920px,100%);margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}@media(max-width:560px){.legal-page[data-v-3c0643b5]{padding:12px}.legal-header[data-v-3c0643b5]{align-items:flex-start;flex-direction:column}.legal-nav[data-v-3c0643b5]{justify-content:flex-start}.legal-doc[data-v-3c0643b5]{padding:16px}}.crash[data-v-750fb052]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:24px}.crash-emoji[data-v-750fb052]{font-size:64px}.crash p[data-v-750fb052]{color:var(--text-dim);max-width:320px}.notif-banner[data-v-750fb052]{position:absolute;top:0;width:100%;z-index:2000;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#1a1208;border-bottom:1px solid var(--warning);color:var(--warning);font-size:13px;line-height:1.4}.notif-banner-text[data-v-750fb052]{flex:1}.notif-banner-btn[data-v-750fb052]{flex-shrink:0;padding:6px 14px;border-radius:999px;border:1px solid var(--warning);background:transparent;color:var(--warning);font-size:13px;font-weight:700;white-space:nowrap}:root{--bg: #0f0f12;--bg-elevated: #17171c;--bg-card: #1d1d24;--bg-card-hover: #24242d;--border: #2b2b35;--text: #f2f2f5;--text-dim: #b9b9c6;--text-faint: #7c7c8a;--accent: #ff5a3c;--accent-soft: rgba(255, 90, 60, .16);--accent-strong: #ff7559;--success: #46d39a;--warning: #ffd166;--danger: #ff5466;--radius-sm: 10px;--radius: 16px;--radius-lg: 24px;--shadow: 0 8px 30px rgba(0, 0, 0, .45);--touch: 44px;--nav-height: 70px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#app{height:100dvh;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:16px;color:var(--text)}h1,h2,h3{line-height:1.2}ul{list-style:none}.btn{min-height:var(--touch);padding:0 18px;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .08s ease,background .15s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:active{background:var(--accent-strong)}.btn-outline{border:1px solid var(--accent-strong)}.btn-ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);font-size:14px;min-height:36px}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px;font-weight:600}.field{width:100%;min-height:var(--touch);padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.field:focus{outline:none;border-color:var(--accent)}textarea.field{resize:vertical;min-height:80px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin:18px 4px 8px;font-weight:700}.badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.badge-overdue{background:#ff54662e;color:var(--danger)}.badge-pro{background:var(--accent-soft);color:var(--accent-strong)}.toast-stack{position:fixed;left:0;right:0;bottom:calc(var(--nav-height) + var(--safe-bottom) + 12px);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:100;pointer-events:none;padding:0 16px}.toast{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);padding:12px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow);max-width:420px;font-size:14px;font-weight:600}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(8px)}
