.page[data-v-3f669c07]{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex;position:relative}.theme-fab[data-v-3f669c07]{border:1px solid var(--border);background:var(--card);border-radius:50%;width:38px;height:38px;font-size:16px;transition:all .15s;position:absolute;top:18px;right:18px}.theme-fab[data-v-3f669c07]:hover{box-shadow:var(--shadow);transform:scale(1.08)}.card[data-v-3f669c07]{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow);padding:32px 28px}.brand[data-v-3f669c07]{text-align:center;margin-bottom:24px}.brand .logo[data-v-3f669c07]{font-size:34px;line-height:1}.brand h1[data-v-3f669c07]{margin-top:8px;font-size:20px;font-weight:600}.brand p[data-v-3f669c07]{color:var(--sub);margin-top:4px;font-size:13px}.field[data-v-3f669c07]{margin-bottom:16px}.field label[data-v-3f669c07]{color:var(--sub);margin-bottom:6px;font-size:13px;display:block}.field input[data-v-3f669c07]{border:1px solid var(--border);background:var(--card);width:100%;height:42px;color:var(--ink);border-radius:8px;padding:0 12px;font-size:15px;transition:border-color .15s,box-shadow .15s}.err[data-v-3f669c07]{color:var(--danger);visibility:hidden;min-height:18px;margin-bottom:12px;font-size:13px}.err.show[data-v-3f669c07]{visibility:visible}.btn[data-v-3f669c07]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;width:100%;height:44px;font-size:16px;font-weight:500;transition:opacity .15s}.btn[data-v-3f669c07]:hover{opacity:.88}.btn[data-v-3f669c07]:disabled{opacity:.55;cursor:not-allowed}.switch[data-v-3f669c07]{text-align:center;color:var(--sub);margin-top:16px;font-size:14px}.switch a[data-v-3f669c07]{color:var(--primary);cursor:pointer;font-weight:500}.switch a[data-v-3f669c07]:hover{text-decoration:underline}.note[data-v-3f669c07]{text-align:center;color:#b8bec9;margin-top:18px;font-size:12px}.panel[data-v-385aee2f]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:18px}.panel h2[data-v-385aee2f]{margin-bottom:14px;font-size:15px;font-weight:600}.form-row[data-v-385aee2f]{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.form-row input[data-v-385aee2f],.form-row select[data-v-385aee2f]{border:1px solid var(--border);background:var(--card);height:38px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-row input[data-v-385aee2f]:focus,.form-row select[data-v-385aee2f]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.f-title[data-v-385aee2f]{flex:1;min-width:170px}.f-dim[data-v-385aee2f]{width:150px}.f-cat[data-v-385aee2f]{width:100px}.f-pts[data-v-385aee2f]{width:80px}textarea.t-desc[data-v-385aee2f]{border:1px solid var(--border);resize:vertical;background:var(--card);width:100%;min-height:56px;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px}.err[data-v-385aee2f]{color:var(--danger);visibility:hidden;min-height:0;margin-top:6px;font-size:13px}.err.show[data-v-385aee2f]{visibility:visible}.row-end[data-v-385aee2f]{justify-content:flex-end;margin-top:10px;display:flex}.btn[data-v-385aee2f]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:opacity .15s}.btn[data-v-385aee2f]:hover{opacity:.88}@media (width<=640px){.f-title[data-v-385aee2f]{min-width:100%}.f-dim[data-v-385aee2f]{flex:1}}.task[data-v-06d541ea]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.task[data-v-06d541ea]:hover{box-shadow:0 2px 8px #1f23290f}.task.done[data-v-06d541ea]{opacity:.62}.task.done .t-title[data-v-06d541ea]{color:var(--sub);text-decoration:line-through}.t-check[data-v-06d541ea]{border:2px solid var(--border);cursor:pointer;color:#fff;background:var(--card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:12px;transition:all .15s;display:flex}.task.done .t-check[data-v-06d541ea]{background:var(--success);border-color:var(--success)}.t-main[data-v-06d541ea]{flex:1;min-width:0}.t-title[data-v-06d541ea]{word-break:break-all;font-size:15px;font-weight:500}.t-desc-text[data-v-06d541ea]{color:var(--sub);word-break:break-all;margin-top:3px;font-size:13px}.t-meta[data-v-06d541ea]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.t-cat[data-v-06d541ea]{background:var(--bg);border:1px solid var(--border);color:var(--sub);border-radius:4px;padding:1px 8px;font-size:12px}.t-dim[data-v-06d541ea]{background:var(--primary-light);color:var(--primary-strong);border-radius:4px;padding:1px 8px;font-size:12px}.t-pts[data-v-06d541ea]{color:var(--primary-strong);font-size:12px;font-weight:600}.t-time[data-v-06d541ea]{color:#b8bec9;font-size:12px}.t-actions[data-v-06d541ea]{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.t-btn[data-v-06d541ea]{color:#b8bec9;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:13px;transition:all .15s}.t-btn[data-v-06d541ea]:hover{background:var(--bg);color:var(--ink)}.t-btn.del[data-v-06d541ea]:hover{color:var(--danger);background:var(--danger-bg,#fff1f0)}.mask[data-v-06d541ea]{z-index:50;background:#1f232973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.edit-card[data-v-06d541ea]{background:var(--card);border-radius:16px;width:100%;max-width:460px;padding:24px;box-shadow:0 8px 30px #00000026}.edit-card h3[data-v-06d541ea]{margin-bottom:16px;font-size:16px}.edit-card input[data-v-06d541ea],.edit-card select[data-v-06d541ea],.edit-card textarea[data-v-06d541ea]{border:1px solid var(--border);background:var(--card);width:100%;color:var(--ink);border-radius:8px;padding:9px 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.edit-card input[data-v-06d541ea]:focus,.edit-card select[data-v-06d541ea]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.edit-card textarea[data-v-06d541ea]{resize:vertical;min-height:56px;margin-top:10px}.row2[data-v-06d541ea]{gap:10px;margin-top:10px;display:flex}.row2 input[data-v-06d541ea],.row2 select[data-v-06d541ea]{flex:1;width:auto;min-width:0}.err[data-v-06d541ea]{color:var(--danger);visibility:hidden;margin-top:6px;font-size:13px}.err.show[data-v-06d541ea]{visibility:visible}.actions[data-v-06d541ea]{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.btn[data-v-06d541ea]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:500}.btn.ghost[data-v-06d541ea]{background:var(--bg);color:var(--ink)}.bar[data-v-eb5be600]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.f-tab[data-v-eb5be600]{border:1px solid var(--border);background:var(--card);color:var(--sub);border-radius:999px;padding:6px 14px;font-size:13px;transition:all .15s}.f-tab.active[data-v-eb5be600]{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.f-tab[data-v-eb5be600]:hover:not(.active){border-color:var(--primary);color:var(--primary)}.hint[data-v-eb5be600]{color:#b8bec9;margin-left:auto;font-size:12px}.navlinks[data-v-32ad8c6a]{scrollbar-width:none;flex-shrink:0;align-items:center;gap:2px;display:flex;overflow-x:auto}.navlinks[data-v-32ad8c6a]::-webkit-scrollbar{display:none}.nav-link[data-v-32ad8c6a]{color:var(--sub);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.nav-link[data-v-32ad8c6a]:hover{color:var(--primary);background:var(--primary-light)}.nav-link.active[data-v-32ad8c6a]{color:var(--primary-strong);background:var(--primary-light);font-weight:600}@media (width<=640px){.nav-link[data-v-32ad8c6a]{padding:6px 7px;font-size:12px}}.topbar[data-v-3f88cb9d]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.tb-left[data-v-3f88cb9d]{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.nav-link[data-v-3f88cb9d]{color:var(--sub);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.nav-link[data-v-3f88cb9d]:hover{color:var(--primary);background:var(--primary-light)}.tb-right[data-v-3f88cb9d]{align-items:center;gap:14px;display:flex}.btn-icon[data-v-3f88cb9d]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-3f88cb9d]:hover{background:var(--primary-light)}.tb-user[data-v-3f88cb9d]{font-size:14px}.tb-points[data-v-3f88cb9d]{background:var(--primary-light);color:var(--primary-strong);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.btn-logout[data-v-3f88cb9d]{border:1px solid var(--border);background:var(--card);color:var(--sub);border-radius:8px;padding:6px 14px;font-size:13px;transition:all .15s}.btn-logout[data-v-3f88cb9d]:hover{color:var(--danger);border-color:var(--danger)}.wrap[data-v-3f88cb9d]{max-width:760px;margin:0 auto;padding:20px 16px 60px}.empty[data-v-3f88cb9d]{text-align:center;color:#b8bec9;padding:40px 0;font-size:14px}.empty .big[data-v-3f88cb9d]{margin-bottom:10px;font-size:38px}.dim-row[data-v-3f88cb9d]{align-items:center;gap:8px;margin:-8px 0 14px;display:flex}.dim-label[data-v-3f88cb9d]{color:var(--sub);font-size:13px}.dim-select[data-v-3f88cb9d]{border:1px solid var(--border);background:var(--card);height:34px;color:var(--ink);border-radius:8px;outline:none;padding:0 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.dim-select[data-v-3f88cb9d]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.toast[data-v-3f88cb9d]{background:var(--toast-bg,#1f2329);color:var(--toast-text,#fff);opacity:0;pointer-events:none;z-index:100;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-3f88cb9d]{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=520px){.wrap[data-v-3f88cb9d]{padding:14px 12px 60px}}.topbar[data-v-34168954]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.tb-left[data-v-34168954]{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.here[data-v-34168954]{font-size:15px}.nav-link[data-v-34168954]{color:var(--sub);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.nav-link[data-v-34168954]:hover{color:var(--primary);background:var(--primary-light)}.tb-right[data-v-34168954]{align-items:center;gap:14px;display:flex}.btn-icon[data-v-34168954]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-34168954]:hover{background:var(--primary-light)}.wrap[data-v-34168954]{max-width:760px;margin:0 auto;padding:20px 16px 60px}.month-nav[data-v-34168954]{align-items:center;gap:10px;margin-bottom:14px;display:flex}.m-btn[data-v-34168954]{border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--sub);cursor:pointer;border-radius:8px;font-size:18px;line-height:1;transition:all .15s}.m-btn[data-v-34168954]:hover{border-color:var(--primary);color:var(--primary)}.m-label[data-v-34168954]{text-align:center;font-variant-numeric:tabular-nums;min-width:110px;font-size:16px;font-weight:700}.m-now[data-v-34168954]{background:var(--primary-light);color:var(--primary-strong);cursor:pointer;border:none;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600}.cat[data-v-34168954]{margin-bottom:10px}.cat-head[data-v-34168954]{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;display:flex}.cat-name[data-v-34168954]{color:var(--ink)}.cat-num[data-v-34168954]{color:var(--sub);font-variant-numeric:tabular-nums}.cat-bar[data-v-34168954]{background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.cat-fill[data-v-34168954]{background:linear-gradient(90deg,var(--danger),#ff9c6e);border-radius:99px;height:100%;transition:width .3s}.cat-income[data-v-34168954]{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.ci-label[data-v-34168954]{color:var(--sub);margin-bottom:6px;font-size:12px}.ci-tags[data-v-34168954]{flex-wrap:wrap;gap:6px;display:flex}.ci-tag[data-v-34168954]{background:var(--success-bg,#e6f7ed);color:var(--success);font-variant-numeric:tabular-nums;border-radius:20px;padding:2px 10px;font-size:12px}.summary[data-v-34168954]{gap:10px;margin-bottom:20px;display:flex}.s-card[data-v-34168954]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex:1;padding:14px 16px}.s-label[data-v-34168954]{color:var(--sub);font-size:12px}.s-num[data-v-34168954]{font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px;font-weight:700}.income[data-v-34168954]{color:var(--success)}.expense[data-v-34168954]{color:var(--danger)}.panel[data-v-34168954]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:18px}.panel h2[data-v-34168954]{margin-bottom:12px;font-size:15px;font-weight:600}.type-switch[data-v-34168954]{border:1px solid var(--border);border-radius:8px;gap:0;width:200px;margin-bottom:12px;display:flex;overflow:hidden}.type-switch button[data-v-34168954]{color:var(--sub);background:0 0;border:none;flex:1;padding:8px 0;font-size:14px;transition:all .15s}.type-switch button.active.t-exp[data-v-34168954]{background:var(--danger);color:#fff}.type-switch button.active.t-inc[data-v-34168954]{background:var(--success);color:#fff}.form-row[data-v-34168954]{flex-wrap:wrap;gap:10px;display:flex}.form-row input[data-v-34168954]{border:1px solid var(--border);background:var(--card);height:38px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:14px}.f-amt[data-v-34168954]{width:120px}.f-cat[data-v-34168954]{width:110px}.f-note[data-v-34168954]{flex:1;min-width:140px}.btn[data-v-34168954]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;height:38px;padding:0 20px;font-size:14px;font-weight:500;transition:opacity .15s}.btn[data-v-34168954]:hover{opacity:.88}.err[data-v-34168954]{color:var(--danger);visibility:hidden;margin-top:8px;font-size:13px}.err.show[data-v-34168954]{visibility:visible}.record[data-v-34168954]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.r-main[data-v-34168954]{flex:1;min-width:0}.r-title[data-v-34168954]{align-items:center;gap:8px;display:flex}.r-cat[data-v-34168954]{background:var(--bg);border:1px solid var(--border);color:var(--sub);border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:12px}.r-note[data-v-34168954]{word-break:break-all;font-size:14px}.r-time[data-v-34168954]{color:#b8bec9;margin-top:3px;font-size:12px}.r-amt[data-v-34168954]{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:15px;font-weight:700}.r-del[data-v-34168954]{color:#b8bec9;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 6px;font-size:13px;transition:all .15s}.r-del[data-v-34168954]:hover{color:var(--danger);background:var(--danger-bg)}.empty[data-v-34168954]{text-align:center;color:#b8bec9;padding:40px 0;font-size:14px}.empty .big[data-v-34168954]{margin-bottom:10px;font-size:38px}.toast[data-v-34168954]{background:var(--toast-bg);color:var(--toast-text);opacity:0;pointer-events:none;z-index:100;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-34168954]{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=520px){.summary[data-v-34168954]{flex-direction:column}.wrap[data-v-34168954]{padding:14px 12px 60px}.f-note[data-v-34168954]{min-width:100%}}.topbar[data-v-1bb6d33e]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.tb-left[data-v-1bb6d33e]{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.here[data-v-1bb6d33e]{font-size:15px}.nav-link[data-v-1bb6d33e]{color:var(--sub);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.nav-link[data-v-1bb6d33e]:hover{color:var(--primary);background:var(--primary-light)}.tb-right[data-v-1bb6d33e]{align-items:center;gap:14px;display:flex}.tb-points[data-v-1bb6d33e]{background:var(--primary-light);color:var(--primary-strong);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.btn-icon[data-v-1bb6d33e]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-1bb6d33e]:hover{background:var(--primary-light)}.wrap[data-v-1bb6d33e]{max-width:860px;margin:0 auto;padding:20px 16px 60px}.mod-tabs[data-v-1bb6d33e]{border:1px solid var(--border);border-radius:10px;gap:0;width:auto;max-width:320px;margin-bottom:20px;display:flex;overflow:hidden}.mod-tabs button[data-v-1bb6d33e]{color:var(--sub);background:0 0;border:none;flex:1;min-width:80px;padding:9px 0;font-size:14px;transition:all .15s}.mod-tabs button.active[data-v-1bb6d33e]{background:var(--primary-strong);color:#fff}.grid[data-v-1bb6d33e]{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.p-card[data-v-1bb6d33e]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;padding:18px 16px;transition:box-shadow .15s,transform .15s;display:flex;position:relative}.p-card[data-v-1bb6d33e]:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.p-icon[data-v-1bb6d33e]{margin-bottom:10px;font-size:40px;line-height:1}.p-name[data-v-1bb6d33e]{font-size:15px;font-weight:600}.p-desc[data-v-1bb6d33e]{color:var(--sub);min-height:30px;margin-top:5px;font-size:12px}.p-bottom[data-v-1bb6d33e]{justify-content:center;align-items:center;gap:10px;width:100%;margin-top:12px;display:flex}.p-price[data-v-1bb6d33e]{color:var(--primary-strong);font-size:13px;font-weight:700}.btn.disabled[data-v-1bb6d33e]{opacity:.5;cursor:not-allowed}.p-stock[data-v-1bb6d33e]{color:var(--sub);font-size:11px;position:absolute;top:8px;right:10px}.hint[data-v-1bb6d33e]{text-align:center;color:#b8bec9;margin-top:20px;font-size:12px}.order[data-v-1bb6d33e]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.o-icon[data-v-1bb6d33e]{font-size:24px}.o-main[data-v-1bb6d33e]{flex:1}.o-name[data-v-1bb6d33e]{font-size:14px;font-weight:500}.o-time[data-v-1bb6d33e]{color:#b8bec9;margin-top:2px;font-size:12px}.o-cost[data-v-1bb6d33e]{color:var(--danger);font-size:14px;font-weight:700}.o-right[data-v-1bb6d33e]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.o-undone[data-v-1bb6d33e]{color:var(--sub);border:1px solid var(--border);border-radius:4px;margin-left:6px;padding:0 6px;font-size:11px}.undo-btn[data-v-1bb6d33e]{border:1px solid var(--border);background:var(--card);color:var(--sub);border-radius:6px;padding:3px 10px;font-size:11px;transition:all .15s}.undo-btn[data-v-1bb6d33e]:hover{color:var(--primary-strong);border-color:var(--primary);background:var(--primary-light)}.admin-bar[data-v-1bb6d33e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-tip[data-v-1bb6d33e]{color:var(--sub);font-size:12px}.a-row[data-v-1bb6d33e]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;transition:opacity .2s;display:flex}.a-row.off[data-v-1bb6d33e]{opacity:.55}.a-icon[data-v-1bb6d33e]{font-size:26px}.a-main[data-v-1bb6d33e]{flex:1;min-width:0}.a-name[data-v-1bb6d33e]{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.a-badge[data-v-1bb6d33e]{border-radius:999px;padding:1px 8px;font-size:11px}.a-badge.on[data-v-1bb6d33e]{background:var(--success-bg);color:var(--success)}.a-badge.off[data-v-1bb6d33e]{background:var(--danger-bg);color:var(--danger)}.a-meta[data-v-1bb6d33e]{color:var(--sub);word-break:break-all;margin-top:3px;font-size:12px}.a-actions[data-v-1bb6d33e]{flex-shrink:0;gap:4px;display:flex}.t-btn[data-v-1bb6d33e]{color:#b8bec9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:12px;transition:all .15s}.t-btn[data-v-1bb6d33e]:hover{background:var(--bg);color:var(--ink);border-color:var(--border)}.t-btn.del[data-v-1bb6d33e]:hover{color:var(--danger);background:var(--danger-bg)}.mask[data-v-1bb6d33e]{z-index:50;background:#1f232973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.editor[data-v-1bb6d33e]{background:var(--card);border-radius:16px;width:100%;max-width:520px;padding:24px;box-shadow:0 8px 30px #00000026}.editor h3[data-v-1bb6d33e]{margin-bottom:14px;font-size:16px}.a-form .f-row[data-v-1bb6d33e]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.a-form label[data-v-1bb6d33e]{color:var(--sub);white-space:nowrap;font-size:12px}.a-form input[data-v-1bb6d33e]{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.a-form input[data-v-1bb6d33e]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.a-form .icon[data-v-1bb6d33e]{width:64px}.a-form .name[data-v-1bb6d33e]{flex:1;min-width:120px}.a-form .num[data-v-1bb6d33e]{width:90px}.a-form textarea.desc[data-v-1bb6d33e]{border:1px solid var(--border);resize:vertical;background:var(--card);width:100%;min-height:54px;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px}.err[data-v-1bb6d33e]{color:var(--danger);visibility:hidden;margin-top:8px;font-size:13px}.err.show[data-v-1bb6d33e]{visibility:visible}.actions[data-v-1bb6d33e]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.actions .btn[data-v-1bb6d33e]{height:auto;padding:9px 20px}.actions .btn.ghost[data-v-1bb6d33e]{background:var(--bg);color:var(--ink)}.btn[data-v-1bb6d33e]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.btn[data-v-1bb6d33e]:hover{opacity:.85}.empty[data-v-1bb6d33e]{text-align:center;color:#b8bec9;padding:40px 0;font-size:14px}.empty .big[data-v-1bb6d33e]{margin-bottom:10px;font-size:38px}.toast[data-v-1bb6d33e]{background:var(--toast-bg);color:var(--toast-text);opacity:0;pointer-events:none;z-index:100;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-1bb6d33e]{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=520px){.wrap[data-v-1bb6d33e]{padding:14px 12px 60px}.grid[data-v-1bb6d33e]{grid-template-columns:repeat(2,1fr)}}.topbar[data-v-6be0c14e]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.tb-left[data-v-6be0c14e]{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.here[data-v-6be0c14e]{font-size:15px}.nav-link[data-v-6be0c14e]{color:var(--sub);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.nav-link[data-v-6be0c14e]:hover{color:var(--primary);background:var(--primary-light)}.tb-right[data-v-6be0c14e]{align-items:center;gap:14px;display:flex}.btn-icon[data-v-6be0c14e]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-6be0c14e]:hover{background:var(--primary-light)}.wrap[data-v-6be0c14e]{max-width:820px;margin:0 auto;padding:20px 16px 60px}.panel[data-v-6be0c14e]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.panel h2[data-v-6be0c14e]{align-items:center;gap:10px;margin-bottom:14px;font-size:15px;font-weight:600;display:flex}.muted[data-v-6be0c14e]{color:var(--sub);font-size:12px;font-weight:400}.mini[data-v-6be0c14e]{border:1px solid var(--border);background:var(--bg);color:var(--sub);border-radius:6px;padding:3px 12px;font-size:12px}.mini[data-v-6be0c14e]:disabled{opacity:.5;cursor:wait}.kv-grid[data-v-6be0c14e]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.kv[data-v-6be0c14e]{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.k[data-v-6be0c14e]{color:var(--sub);font-size:12px}.v[data-v-6be0c14e]{margin-top:3px;font-size:15px;font-weight:600}.v.ok[data-v-6be0c14e]{color:var(--success)}.banner[data-v-6be0c14e]{border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:14px}.banner.danger[data-v-6be0c14e]{background:var(--danger-bg);color:var(--danger)}.tbl[data-v-6be0c14e]{flex-direction:column;gap:8px;display:flex}.trow[data-v-6be0c14e]{align-items:center;gap:12px;display:flex}.tname[data-v-6be0c14e]{width:90px;color:var(--sub);text-align:right;font-size:13px}.tbar[data-v-6be0c14e]{background:var(--bg);border:1px solid var(--border);border-radius:7px;flex:1;height:14px;overflow:hidden}.tfill[data-v-6be0c14e]{background:var(--primary);opacity:.75;border-radius:7px;height:100%}.tcnt[data-v-6be0c14e]{font-variant-numeric:tabular-nums;width:70px;font-size:13px;font-weight:600}.note-line[data-v-6be0c14e]{color:#b8bec9;margin-top:10px;font-size:12px}.logbox[data-v-6be0c14e]{color:#9fd0ff;white-space:pre-wrap;word-break:break-all;background:#0f1115;border-radius:10px;max-height:260px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;overflow:auto}.foot[data-v-6be0c14e]{text-align:center;color:#b8bec9;margin-top:6px;font-size:12px}.empty[data-v-6be0c14e]{text-align:center;color:#b8bec9;padding:40px 0}@media (width<=520px){.tname[data-v-6be0c14e]{width:64px}.wrap[data-v-6be0c14e]{padding:14px 12px 60px}}.topbar[data-v-2a846d17]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.tb-right[data-v-2a846d17]{flex-shrink:0;align-items:center;gap:14px;display:flex}.btn-icon[data-v-2a846d17]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-2a846d17]:hover{background:var(--primary-light)}.wrap[data-v-2a846d17]{max-width:760px;margin:0 auto;padding:20px 16px 60px}.stats[data-v-2a846d17]{gap:10px;margin-bottom:16px;display:flex}.s-card[data-v-2a846d17]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex:1;padding:12px}.s-num[data-v-2a846d17]{font-size:22px;font-weight:700}.s-label[data-v-2a846d17]{color:var(--sub);margin-top:2px;font-size:12px}.toolbar[data-v-2a846d17]{gap:10px;margin-bottom:16px;display:flex}.search[data-v-2a846d17]{border:1px solid var(--border);background:var(--card);height:38px;color:var(--ink);border-radius:8px;flex:1;padding:0 12px;font-size:14px}.btn[data-v-2a846d17]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;padding:0 18px;font-size:14px;font-weight:500;transition:opacity .15s}.btn[data-v-2a846d17]:hover{opacity:.88}.btn.ghost[data-v-2a846d17]{background:var(--bg);color:var(--ink)}.card[data-v-2a846d17]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:10px;padding:14px 16px;transition:box-shadow .15s}.card[data-v-2a846d17]:hover{box-shadow:var(--shadow)}.c-head[data-v-2a846d17]{align-items:center;gap:8px;display:flex}.c-date[data-v-2a846d17]{color:var(--primary-strong);font-size:13px;font-weight:600}.c-mood[data-v-2a846d17]{font-size:16px}.c-actions[data-v-2a846d17]{gap:2px;margin-left:auto;display:flex}.t-btn[data-v-2a846d17]{color:#b8bec9;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:13px}.t-btn[data-v-2a846d17]:hover{background:var(--bg);color:var(--ink)}.t-btn.del[data-v-2a846d17]:hover{color:var(--danger);background:var(--danger-bg)}.c-preview[data-v-2a846d17]{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin-top:6px;font-size:14px;line-height:1.6}.banner[data-v-2a846d17]{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:14px}.empty[data-v-2a846d17]{text-align:center;color:#b8bec9;padding:40px 0;font-size:14px}.empty .big[data-v-2a846d17]{margin-bottom:10px;font-size:38px}.mask[data-v-2a846d17]{z-index:50;background:#1f232973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.editor[data-v-2a846d17],.reader[data-v-2a846d17]{background:var(--card);border-radius:16px;width:100%;max-width:560px;padding:24px;box-shadow:0 8px 30px #00000026}.editor h3[data-v-2a846d17]{margin-bottom:14px;font-size:16px}.row[data-v-2a846d17]{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.date[data-v-2a846d17]{border:1px solid var(--border);background:var(--card);height:38px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:14px}.moods[data-v-2a846d17]{flex-wrap:wrap;gap:4px;display:flex}.mood[data-v-2a846d17]{border:1px solid var(--border);background:var(--card);border-radius:8px;width:36px;height:36px;font-size:18px;transition:all .15s}.mood.on[data-v-2a846d17]{border-color:var(--primary);background:var(--primary-light);transform:scale(1.1)}textarea.content[data-v-2a846d17]{border:1px solid var(--border);resize:vertical;background:var(--card);width:100%;min-height:200px;color:var(--ink);border-radius:10px;padding:12px;font-size:14px;line-height:1.7}.err[data-v-2a846d17]{color:var(--danger);visibility:hidden;margin-top:8px;font-size:13px}.err.show[data-v-2a846d17]{visibility:visible}.actions[data-v-2a846d17]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.actions .btn[data-v-2a846d17]{height:auto;padding:9px 20px}.reader .r-head[data-v-2a846d17]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.reader .r-date[data-v-2a846d17]{color:var(--primary-strong);font-size:15px;font-weight:700}.reader .r-mood[data-v-2a846d17]{font-size:22px}.r-content[data-v-2a846d17]{white-space:pre-wrap;word-break:break-word;max-height:60vh;font-size:14.5px;line-height:1.8;overflow-y:auto}.toast[data-v-2a846d17]{background:var(--toast-bg);color:var(--toast-text);opacity:0;pointer-events:none;z-index:100;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-2a846d17]{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=520px){.stats[data-v-2a846d17]{gap:6px}.s-card[data-v-2a846d17]{padding:10px 4px}.wrap[data-v-2a846d17]{padding:14px 12px 60px}}.topbar[data-v-66500561]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.tb-right[data-v-66500561]{align-items:center;gap:14px;display:flex}.btn-icon[data-v-66500561]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-66500561]:hover{background:var(--primary-light)}.wrap[data-v-66500561]{max-width:860px;margin:0 auto;padding:20px 16px 60px}.hero[data-v-66500561]{background:linear-gradient(135deg,var(--primary-strong),#1677ff);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:24px;display:flex}.h-title[data-v-66500561]{font-size:20px;font-weight:700}.h-sub[data-v-66500561]{opacity:.85;margin-top:4px;font-size:13px}.p-num[data-v-66500561]{text-align:right;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.p-label[data-v-66500561]{opacity:.85;text-align:right;font-size:12px}.cards[data-v-66500561]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.card[data-v-66500561]{background:var(--card);border:1px solid var(--border);color:inherit;border-radius:14px;padding:16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.card[data-v-66500561]:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.c-ico[data-v-66500561]{font-size:24px}.c-name[data-v-66500561]{color:var(--sub);margin-top:6px;font-size:12px}.c-big[data-v-66500561]{font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;font-weight:800}.c-big.ok[data-v-66500561]{color:var(--success)}.c-big.bad[data-v-66500561]{color:var(--danger)}.c-unit[data-v-66500561]{color:var(--sub);font-size:14px;font-weight:600}.c-sub[data-v-66500561],.c-note[data-v-66500561]{color:var(--sub);margin-top:4px;font-size:12px}.c-bar[data-v-66500561]{background:var(--bg);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.c-fill[data-v-66500561]{background:var(--success);border-radius:3px;height:100%}.panel[data-v-66500561]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px}.panel h2[data-v-66500561]{margin-bottom:12px;font-size:15px;font-weight:600}.feat[data-v-66500561]{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:9px 4px;display:flex}.feat[data-v-66500561]:last-child{border-bottom:none}.f-ico[data-v-66500561]{text-align:center;flex-shrink:0;width:26px;font-size:18px}.f-text[data-v-66500561]{word-break:break-all;flex:1;font-size:14px}.f-time[data-v-66500561]{color:#b8bec9;flex-shrink:0;font-size:12px}.plog[data-v-66500561]{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:8px 4px;display:flex}.plog[data-v-66500561]:last-child{border-bottom:none}.pl-delta[data-v-66500561]{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:46px;font-size:14px;font-weight:800}.pl-delta.in[data-v-66500561]{color:var(--success)}.pl-delta.out[data-v-66500561]{color:var(--danger)}.pl-text[data-v-66500561]{word-break:break-all;flex:1;font-size:13px}.pl-bal[data-v-66500561]{color:var(--sub);flex-shrink:0;font-size:12px}.muted[data-v-66500561]{color:var(--sub);font-size:12px;font-weight:400}.wpi-row[data-v-66500561]{align-items:center;gap:16px;margin-bottom:14px;display:flex}.wpi-num[data-v-66500561]{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1}.wpi-unit[data-v-66500561]{color:var(--sub);font-size:14px;font-weight:600}.wpi-label[data-v-66500561]{font-size:14px;font-weight:600}.wpi-sub[data-v-66500561]{color:var(--sub);margin-top:3px;font-size:12px}.wk-cov[data-v-66500561]{color:var(--sub);align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.wk-cov b[data-v-66500561]{color:var(--primary-strong);font-size:14px}.wk-dots[data-v-66500561]{gap:3px;display:flex}.dot[data-v-66500561]{background:var(--border);border-radius:50%;width:7px;height:7px}.dot.on[data-v-66500561]{background:var(--success)}.dims[data-v-66500561]{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.dim[data-v-66500561]{background:var(--bg);border:1px solid var(--border);color:inherit;border-radius:10px;padding:10px 12px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.dim[data-v-66500561]:hover{box-shadow:var(--shadow);border-color:var(--primary);transform:translateY(-1px)}.dim-head[data-v-66500561]{align-items:center;gap:7px;display:flex}.dim-icon[data-v-66500561]{font-size:16px}.dim-name[data-v-66500561]{flex:1;font-size:13px;font-weight:600}.dim-lv[data-v-66500561]{color:var(--primary-strong);background:var(--primary-light);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.dim-bar[data-v-66500561]{background:var(--border);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.dim-fill[data-v-66500561]{background:linear-gradient(90deg,var(--primary),var(--primary-strong));border-radius:3px;height:100%}.dim-foot[data-v-66500561]{justify-content:space-between;margin-top:5px;display:flex}.dim-dp[data-v-66500561]{color:var(--sub);font-size:11px}.dim-pct[data-v-66500561]{color:var(--sub);font-size:11px;font-weight:600}.empty[data-v-66500561]{text-align:center;color:#b8bec9;padding:20px 0;font-size:14px}.empty .big[data-v-66500561]{margin-bottom:6px;font-size:34px}.banner[data-v-66500561]{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-bottom:14px;padding:10px 14px}@media (width<=640px){.cards[data-v-66500561]{grid-template-columns:repeat(2,1fr)}.wrap[data-v-66500561]{padding:14px 12px 60px}}.topbar[data-v-e649e873]{background:var(--card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.tb-right[data-v-e649e873]{align-items:center;gap:14px;display:flex}.btn-icon[data-v-e649e873]{background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:16px;transition:all .15s}.btn-icon[data-v-e649e873]:hover{background:var(--primary-light)}.wrap[data-v-e649e873]{max-width:780px;margin:0 auto;padding:20px 16px 60px}.stats[data-v-e649e873]{gap:10px;margin-bottom:14px;display:flex}.s-card[data-v-e649e873]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;flex:1;padding:12px;transition:all .15s}.s-card.on[data-v-e649e873]{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.s-card.done .s-num[data-v-e649e873]{color:var(--success)}.s-card.reading .s-num[data-v-e649e873]{color:var(--primary-strong)}.s-num[data-v-e649e873]{font-size:22px;font-weight:700}.s-label[data-v-e649e873]{color:var(--sub);margin-top:2px;font-size:12px}.toolbar[data-v-e649e873]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.tabs[data-v-e649e873]{border:1px solid var(--border);border-radius:10px;gap:6px;display:flex;overflow:hidden}.tabs button[data-v-e649e873]{color:var(--sub);background:0 0;border:none;padding:8px 13px;font-size:13px;transition:all .15s}.tabs button.active[data-v-e649e873]{background:var(--primary-strong);color:#fff}.btn[data-v-e649e873]{background:var(--primary-strong);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.btn[data-v-e649e873]:hover{opacity:.85}.btn.ghost[data-v-e649e873]{background:var(--bg);color:var(--ink)}.book[data-v-e649e873]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:14px;margin-bottom:10px;padding:14px 16px;transition:box-shadow .15s;display:flex}.book[data-v-e649e873]:hover{box-shadow:var(--shadow)}.b-cover[data-v-e649e873]{flex-shrink:0;margin-top:2px;font-size:30px;line-height:1}.b-main[data-v-e649e873]{flex:1;min-width:0}.b-title[data-v-e649e873]{word-break:break-all;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.b-badge[data-v-e649e873]{border-radius:999px;flex-shrink:0;padding:1px 9px;font-size:11px}.b-badge.want[data-v-e649e873]{background:var(--bg);color:var(--sub);border:1px solid var(--border)}.b-badge.reading[data-v-e649e873]{background:var(--primary-light);color:var(--primary-strong)}.b-badge.done[data-v-e649e873]{background:var(--success-bg);color:var(--success)}.b-meta[data-v-e649e873]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;display:flex}.b-author[data-v-e649e873]{color:var(--sub);font-size:13px}.b-cat[data-v-e649e873]{background:var(--bg);border:1px solid var(--border);color:var(--sub);border-radius:4px;padding:0 8px;font-size:12px}.b-note[data-v-e649e873]{color:var(--ink-2,var(--ink));opacity:.85;margin-top:5px;font-size:13px}.b-actions[data-v-e649e873]{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.t-btn[data-v-e649e873]{color:#b8bec9;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 9px;font-size:12px;transition:all .15s}.t-btn[data-v-e649e873]:hover{background:var(--bg);color:var(--ink);border-color:var(--border)}.t-btn.next[data-v-e649e873]{color:var(--primary-strong);border-color:var(--border)}.t-btn.next[data-v-e649e873]:hover{background:var(--primary-light)}.t-btn.del[data-v-e649e873]:hover{color:var(--danger);background:var(--danger-bg)}.empty[data-v-e649e873]{text-align:center;color:#b8bec9;padding:40px 0;font-size:14px}.empty .big[data-v-e649e873]{margin-bottom:10px;font-size:38px}.mask[data-v-e649e873]{z-index:50;background:#1f232973;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.editor[data-v-e649e873]{background:var(--card);border-radius:16px;width:100%;max-width:540px;padding:24px;box-shadow:0 8px 30px #00000026}.editor h3[data-v-e649e873]{margin-bottom:14px;font-size:16px}.f-row[data-v-e649e873]{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.editor input[data-v-e649e873]{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;padding:9px 10px;font-size:14px;transition:border-color .15s,box-shadow .15s}.editor input[data-v-e649e873]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.editor .title[data-v-e649e873]{flex:2;min-width:160px}.editor .author[data-v-e649e873]{flex:1;min-width:100px}.editor .cat[data-v-e649e873]{flex:1;min-width:120px}.status-pick[data-v-e649e873]{gap:4px;display:flex}.sp[data-v-e649e873]{border:1px solid var(--border);background:var(--card);color:var(--sub);border-radius:8px;padding:8px 10px;font-size:12px;transition:all .15s}.sp.on[data-v-e649e873]{border-color:var(--primary);background:var(--primary-light);color:var(--primary-strong);font-weight:600}.editor textarea.note[data-v-e649e873]{border:1px solid var(--border);resize:vertical;background:var(--card);width:100%;min-height:50px;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px}.err[data-v-e649e873]{color:var(--danger);visibility:hidden;margin-top:8px;font-size:13px}.err.show[data-v-e649e873]{visibility:visible}.actions[data-v-e649e873]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.toast[data-v-e649e873]{background:var(--toast-bg);color:var(--toast-text);opacity:0;pointer-events:none;z-index:100;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-e649e873]{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=640px){.stats[data-v-e649e873]{gap:6px}.wrap[data-v-e649e873]{padding:14px 12px 60px}.b-actions[data-v-e649e873]{justify-content:flex-end;width:100%}}.page[data-v-521d4819]{max-width:880px;margin:0 auto;padding:16px}.topbar[data-v-521d4819]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 0;display:flex}.tb-left[data-v-521d4819]{align-items:center;gap:10px;display:flex}.tb-right[data-v-521d4819]{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-icon[data-v-521d4819]{cursor:pointer;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:17px;transition:background .15s}.btn-icon[data-v-521d4819]:hover{background:var(--primary-light)}.head[data-v-521d4819]{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.head h1[data-v-521d4819]{margin:0 0 4px;font-size:22px}.sub[data-v-521d4819]{color:var(--sub);font-size:13px}.save-state[data-v-521d4819]{color:var(--sub);background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:12px}.save-state.saving[data-v-521d4819]{color:var(--warning-text,#b8860b)}.save-state.saved[data-v-521d4819]{color:var(--success)}.loading[data-v-521d4819]{color:var(--sub);text-align:center;padding:40px}.role-sec[data-v-521d4819]{padding:18px}.sec-head[data-v-521d4819]{margin-bottom:14px}.sec-t[data-v-521d4819]{font-size:16px;font-weight:600}.sec-p[data-v-521d4819]{color:var(--sub);margin-top:3px;font-size:12px}.roles[data-v-521d4819]{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.role[data-v-521d4819]{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:14px;transition:all .18s;position:relative}.role[data-v-521d4819]:hover{border-color:var(--primary);transform:translateY(-1px)}.role.active[data-v-521d4819]{border-color:var(--primary);background:var(--primary-light)}.r-ico[data-v-521d4819]{font-size:26px;line-height:1}.r-name[data-v-521d4819]{margin:8px 0 4px;font-size:15px;font-weight:600}.r-desc[data-v-521d4819]{color:var(--sub);font-size:12px;line-height:1.5}.r-check[data-v-521d4819]{color:var(--primary-strong);font-size:11px;font-weight:600;position:absolute;top:10px;right:10px}.plan-head[data-v-521d4819]{margin:24px 0 12px}.plans[data-v-521d4819]{flex-direction:column;gap:10px;margin-bottom:30px;display:flex}.plan[data-v-521d4819]{background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:12px;padding:14px;transition:border-color .15s;display:flex}.plan[data-v-521d4819]:focus-within{border-color:var(--primary)}.p-idx[data-v-521d4819]{background:var(--primary-light);width:24px;height:24px;color:var(--primary-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:12px;font-weight:700;display:flex}.p-main[data-v-521d4819]{flex:1;min-width:0}.p-label[data-v-521d4819]{font-size:14px;font-weight:600}.p-tip[data-v-521d4819]{color:var(--sub);margin:2px 0 8px;font-size:12px}.p-main textarea[data-v-521d4819]{border:1px solid var(--border);background:var(--card);width:100%;color:var(--ink);resize:vertical;box-sizing:border-box;border-radius:8px;outline:none;padding:9px 10px;font-size:13px;line-height:1.6;transition:border-color .15s,box-shadow .15s}.p-main textarea[data-v-521d4819]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.toast[data-v-521d4819]{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:99;border-radius:10px;padding:9px 20px;font-size:13px;transition:all .2s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-521d4819]{opacity:1;transform:translate(-50%)translateY(0)}.page[data-v-35569721]{max-width:640px;margin:0 auto;padding:16px}.topbar[data-v-35569721]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:10px 0;display:flex}.tb-left[data-v-35569721]{align-items:center;gap:10px;display:flex}.tb-right[data-v-35569721]{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-icon[data-v-35569721]{cursor:pointer;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:17px;transition:background .15s}.btn-icon[data-v-35569721]:hover{background:var(--primary-light)}.head[data-v-35569721]{margin-bottom:18px}.head h1[data-v-35569721]{margin:0 0 4px;font-size:22px}.sub[data-v-35569721]{color:var(--sub);font-size:13px}.loading[data-v-35569721]{color:var(--sub);text-align:center;padding:40px}.card[data-v-35569721]{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:14px;padding:18px}.sec-t[data-v-35569721]{margin-bottom:4px;font-size:15px;font-weight:600}.sec-p[data-v-35569721]{color:var(--sub);margin-bottom:12px;font-size:12px}.rows[data-v-35569721]{flex-direction:column;display:flex}.row[data-v-35569721]{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:9px 0;font-size:14px;display:flex}.row[data-v-35569721]:last-child{border-bottom:none}.k[data-v-35569721]{color:var(--sub);font-size:13px}.v[data-v-35569721]{color:var(--ink);font-weight:500}.role-tag[data-v-35569721]{background:var(--bg);border:1px solid var(--border);color:var(--sub);border-radius:20px;padding:2px 10px;font-size:12px}.role-tag.admin[data-v-35569721]{background:var(--primary-light);color:var(--primary-strong);border-color:#0000;font-weight:600}.pw-form[data-v-35569721]{flex-direction:column;gap:10px;display:flex}.pw-form input[data-v-35569721]{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);border-radius:9px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.pw-form input[data-v-35569721]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.err[data-v-35569721]{color:var(--danger);font-size:12px}.btn-pw[data-v-35569721]{background:var(--primary-strong);color:#fff;cursor:pointer;border:none;border-radius:9px;align-self:flex-start;padding:9px 22px;font-size:14px;transition:opacity .15s}.btn-pw[data-v-35569721]:hover{opacity:.9}.btn-pw[data-v-35569721]:disabled{opacity:.5;cursor:not-allowed}.btn-logout[data-v-35569721]{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:9px;padding:8px 20px;font-size:13px;transition:all .15s}.btn-logout[data-v-35569721]:hover{background:var(--danger);color:#fff}.toast[data-v-35569721]{background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;z-index:99;border-radius:10px;padding:9px 20px;font-size:13px;transition:all .2s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-8px)}.toast.show[data-v-35569721]{opacity:1;transform:translate(-50%)translateY(0)}:root{--primary:#1677ff;--primary-strong:#0958d9;--primary-light:#e6f0ff;--ink:#1f2329;--sub:#8a909c;--card:#fff;--bg:#f5f7fa;--border:#e6e9ef;--danger:#ff4d4f;--success:#18a058;--danger-bg:#fff1f0;--success-bg:#e6f7ed;--toast-bg:#1f2329;--toast-text:#fff;--radius:12px;--radius-lg:16px;--shadow:0 4px 16px #1f23290f,0 1px 3px #1f23290d}[data-theme=dark]{--bg:#0f1115;--card:#181b22;--ink:#e6e8ec;--sub:#9aa1ad;--border:#2a2f38;--primary:#4096ff;--primary-strong:#0d5dd8;--primary-light:#15273f;--danger:#ff8585;--success:#5fd98a;--danger-bg:#2c1719;--success-bg:#15281c;--toast-bg:#333c47;--toast-text:#e6e8ec;--shadow:0 4px 16px #0006,0 1px 3px #0000004d}body,.card,.panel,.task,input,textarea{transition:background-color .2s,border-color .2s,color .2s}@media (prefers-reduced-motion:reduce){body,.card,.panel,.task,input,textarea{transition:none}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}input,textarea,button,select{font-family:inherit}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}button{cursor:pointer}
