luckytri 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/docs/en/CHANGELOG.md +16 -0
  4. package/docs/en/architecture.md +10 -0
  5. package/docs/en/guide.md +2 -0
  6. package/docs/en/npm-release.md +6 -0
  7. package/docs/zh/CHANGELOG.md +16 -0
  8. package/docs/zh/architecture.md +10 -0
  9. package/docs/zh/guide.md +2 -0
  10. package/docs/zh/npm-release.md +8 -0
  11. package/package.json +2 -2
  12. package/public/app/assets/{ChatsPage-eDqFIg97.js → ChatsPage-o-exjdFu.js} +1 -1
  13. package/public/app/assets/{Empty-CAGOJsfD.js → Empty-uSyRBXOT.js} +1 -1
  14. package/public/app/assets/{Field-CRz-JmN1.js → Field-Bfa5dCkk.js} +1 -1
  15. package/public/app/assets/{HeartPage-BGWoeMrC.js → HeartPage-Q5ts7Ko6.js} +1 -1
  16. package/public/app/assets/{LifePage-iao3o3wt.js → LifePage-B4AsD_DM.js} +1 -1
  17. package/public/app/assets/{MemoryPage-Dwi2yi7E.js → MemoryPage-ijD6lsxo.js} +1 -1
  18. package/public/app/assets/{NaturePage-DniImo9U.js → NaturePage-B9-dv8vz.js} +1 -1
  19. package/public/app/assets/{PeoplePage-D-MC3JEt.js → PeoplePage-BG_XPian.js} +1 -1
  20. package/public/app/assets/{PluginsPage-D7dJTf96.js → PluginsPage-CPYYMown.js} +1 -1
  21. package/public/app/assets/SystemPage-B9M9g95D.css +1 -0
  22. package/public/app/assets/{SystemPage-C5CUHjGh.js → SystemPage-CTduZhr3.js} +1 -1
  23. package/public/app/assets/{TimePage-Dwhr3-92.js → TimePage-DScn8IN-.js} +1 -1
  24. package/public/app/assets/{index-L0bHax8C.js → index-5FMs9YYQ.js} +3 -3
  25. package/public/app/assets/{index-BHZcHUMh.css → index-cDDC-1dI.css} +1 -1
  26. package/public/app/assets/{knowledge-BTDNafzl.js → knowledge-Ces-Bx70.js} +1 -1
  27. package/public/app/assets/{media-BBzOAfNG.js → media-BsG-i0Lv.js} +1 -1
  28. package/public/app/assets/{mind-CBTkFje2.js → mind-D3mdwFW3.js} +1 -1
  29. package/public/app/index.html +4 -4
  30. package/public/guide.en.html +14 -3
  31. package/public/guide.html +15 -3
  32. package/public/tutorial.en.md +2 -0
  33. package/public/tutorial.md +2 -0
  34. package/scripts/service-supervisor.js +8 -13
  35. package/scripts/start-server.js +8 -1
  36. package/scripts/update-instance.js +93 -27
  37. package/server/app.js +8 -1
  38. package/server/channels/onebot/adapter.js +25 -1
  39. package/server/channels/onebot/index.js +5 -2
  40. package/server/core/dialogue-contract.js +1 -1
  41. package/server/core/image-preprocessor.js +41 -1
  42. package/server/core/message-scheduler.js +12 -2
  43. package/server/core/orchestrator.js +14 -0
  44. package/server/core/reply-delivery.js +72 -0
  45. package/server/core/turn-processor.js +25 -0
  46. package/server/core/turn.js +25 -1
  47. package/server/i18n/errors.js +50 -0
  48. package/server/runtime/update-errors.js +73 -0
  49. package/server/runtime/update-execution.js +13 -8
  50. package/server/runtime/update-manager.js +30 -8
  51. package/server/stickers/api.js +149 -0
  52. package/server/stickers/index.js +363 -0
  53. package/server/stickers/library.js +199 -0
  54. package/server/stickers/offer.js +123 -0
  55. package/server/stickers/schema.js +25 -0
  56. package/public/app/assets/SystemPage-C_Y5M7JU.css +0 -1
@@ -0,0 +1,25 @@
1
+ // Stickers she keeps, the times she used one and what came of it. New
2
+ // tables only, every column but the key nullable or defaulted, so an older
3
+ // database simply gains them and nothing it had changes.
4
+ export function ensureStickerSchema(db) {
5
+ db.exec(`
6
+ CREATE TABLE IF NOT EXISTS sticker_items (
7
+ id TEXT PRIMARY KEY, sha256 TEXT UNIQUE, mime TEXT, bytes BLOB,
8
+ width INTEGER, height INTEGER, animated INTEGER DEFAULT 0, size INTEGER,
9
+ name TEXT, category TEXT DEFAULT '', tags TEXT DEFAULT '[]',
10
+ description TEXT DEFAULT '', words TEXT DEFAULT '', emotion TEXT DEFAULT '',
11
+ meaning TEXT DEFAULT '', scenes TEXT DEFAULT '',
12
+ status TEXT DEFAULT 'pending', error TEXT, enabled INTEGER DEFAULT 1,
13
+ embedding BLOB, embed_signature TEXT,
14
+ created INTEGER, updated INTEGER);
15
+ CREATE INDEX IF NOT EXISTS sticker_items_status ON sticker_items(status, enabled);
16
+ CREATE TABLE IF NOT EXISTS sticker_uses (
17
+ id INTEGER PRIMARY KEY, sticker_id TEXT, session_id TEXT, user_id TEXT,
18
+ topic TEXT, time INTEGER, outcome TEXT, outcome_time INTEGER, reply TEXT);
19
+ CREATE INDEX IF NOT EXISTS sticker_uses_open ON sticker_uses(session_id, outcome, time);
20
+ CREATE TABLE IF NOT EXISTS sticker_bonds (
21
+ sticker_id TEXT NOT NULL, user_id TEXT NOT NULL, weight REAL DEFAULT 0,
22
+ meaning TEXT DEFAULT '', updated INTEGER,
23
+ PRIMARY KEY (sticker_id, user_id));
24
+ `);
25
+ }
@@ -1 +0,0 @@
1
- .connect[data-v-6f4553ed]{gap:var(--gap);grid-template-columns:minmax(0,1.25fr) minmax(290px,.9fr);align-items:start;display:grid}.connection[data-v-6f4553ed]{gap:20px;display:grid}.connection-details[data-v-6f4553ed]{gap:10px;display:grid}.detail[data-v-6f4553ed]{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:13px 16px;display:flex}.detail code[data-v-6f4553ed]{overflow-wrap:anywhere}.warn-text[data-v-6f4553ed]{color:var(--warn);overflow-wrap:anywhere}.instructions[data-v-6f4553ed]{gap:11px;margin:0;padding-left:22px;line-height:1.65;display:grid}.notes[data-v-6f4553ed]{gap:8px;margin:0;padding-left:20px;font-size:13px;line-height:1.6;display:grid}.note[data-v-6f4553ed]{margin:-8px 0 0;font-size:12px}.checks[data-v-6f4553ed]{gap:8px;margin:0;padding:0;list-style:none;display:grid}.checks li[data-v-6f4553ed]{background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.checks li>div[data-v-6f4553ed]{flex:1;min-width:0;display:grid}.checks small[data-v-6f4553ed]{font-size:12px}.mark[data-v-6f4553ed]{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.done .mark[data-v-6f4553ed]{border-color:var(--ok);background:var(--ok);color:var(--accent-ink)}@media (width<=1000px){.connect[data-v-6f4553ed]{grid-template-columns:minmax(0,1fr)}}.embedding-profile[data-v-944d9f50]{min-width:0}.secret[data-v-944d9f50]{-webkit-text-security:disc}.fields[data-v-944d9f50]{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin:16px 0;display:grid}.save-bar[data-v-944d9f50]{position:relative;bottom:auto}.stats[data-v-cdde3f37]{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.pill[data-v-cdde3f37]{background:var(--surface-2,#7f7f7f1f);border-radius:999px;padding:2px 10px;font-size:.85em}.pill.strong[data-v-cdde3f37]{font-weight:600}.pill.warn[data-v-cdde3f37]{color:var(--danger,#c0392b)}.waiting[data-v-cdde3f37]{margin:8px 0;padding-left:18px;font-size:.85em}.probe[data-v-cdde3f37]{grid-template-columns:minmax(140px,1fr) minmax(200px,3fr) auto;gap:8px;margin-top:12px;display:grid}.result ol[data-v-cdde3f37]{padding-left:20px}.result li[data-v-cdde3f37]{margin:6px 0}.library[data-v-8a9bd858]{gap:var(--gap);grid-template-columns:minmax(0,1fr);display:grid}.model-workspace[data-v-8a9bd858]{gap:var(--gap);grid-template-columns:minmax(260px,.32fr) minmax(0,1fr);align-items:start;display:grid}.shelf[data-v-8a9bd858]{background:radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--glow-a) 23%, transparent), transparent 56%), var(--surface);gap:15px;display:grid;position:sticky;top:14px}.detail[data-v-8a9bd858]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-b) 16%, transparent), transparent 47%), var(--surface)}.usage-panel[data-v-8a9bd858]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-a) 25%, transparent), transparent 42%), radial-gradient(ellipse at 0 100%, color-mix(in srgb, var(--glow-b) 20%, transparent), transparent 46%), var(--surface);grid-column:1/-1;gap:18px;display:grid;overflow:hidden}.usage-intro[data-v-8a9bd858]{justify-content:space-between;align-items:end;gap:20px;display:flex}.usage-intro h2[data-v-8a9bd858]{letter-spacing:-.04em;margin:5px 0 4px;font-size:22px}.usage-intro p[data-v-8a9bd858],.usage-foot small[data-v-8a9bd858]{color:var(--ink-soft);font-size:12px}.usage-total[data-v-8a9bd858]{flex:none;justify-items:end;display:grid}.usage-total strong[data-v-8a9bd858]{color:var(--accent);font:700 clamp(28px, 4vw, 42px) var(--font-display);letter-spacing:-.055em;font-variant-numeric:tabular-nums;line-height:1.05}.usage-total span[data-v-8a9bd858]{color:var(--ink-soft);font-size:12px}.usage-detail[data-v-8a9bd858]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.usage-stat[data-v-8a9bd858]{background:#ffffff5c;border:1px solid #ffffffc7;border-radius:18px;gap:5px;min-width:0;padding:14px 16px;display:grid;box-shadow:inset 0 1px #fff}.usage-stat span[data-v-8a9bd858]{color:var(--ink-soft);font-size:12px}.usage-stat span small[data-v-8a9bd858]{font-size:10px}.usage-stat b[data-v-8a9bd858]{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:19px;overflow:hidden}.usage-foot[data-v-8a9bd858]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.usage-error[data-v-8a9bd858]{color:var(--danger)!important}.usage-refresh[data-v-8a9bd858]{color:var(--accent);font-size:12px}.shelf-head[data-v-8a9bd858]{justify-content:space-between;align-items:center;gap:8px;display:flex}.shelf-head h2[data-v-8a9bd858]{letter-spacing:-.04em;font-size:21px}.shelf-head small[data-v-8a9bd858]{color:var(--ink-soft);font-size:12px}.rows[data-v-8a9bd858]{gap:8px;max-height:520px;display:grid;overflow:auto}.saved-vendor[data-v-8a9bd858]{background:#fff3;border:1px solid #ffffffad;border-radius:17px;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.saved-vendor>summary[data-v-8a9bd858]{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:11px 13px;font-size:12px;font-weight:700;list-style:none;display:flex}.saved-vendor>summary[data-v-8a9bd858]::-webkit-details-marker{display:none}.vendor-summary[data-v-8a9bd858]::-webkit-details-marker{display:none}.saved-vendor>summary[data-v-8a9bd858]:after{color:var(--accent);content:"⌄";transition:transform .24s var(--spring);font-size:15px}.saved-vendor[open]>summary[data-v-8a9bd858]{background:#ffffff40;border-bottom:1px solid #fff9}.saved-vendor[open]>summary[data-v-8a9bd858]:after{transform:rotate(180deg)}.saved-vendor>summary small[data-v-8a9bd858]{color:var(--ink-soft);margin-left:auto;font-size:10px;font-weight:500}.vendor-models[data-v-8a9bd858]{gap:6px;padding:7px;display:grid}.entity-row[data-v-8a9bd858]{text-align:left;-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);width:100%;transition:transform .32s var(--spring), background-color .2s, box-shadow .25s;background:#ffffff5c;border:1px solid #ffffffbf;border-radius:18px;align-items:center;gap:10px;padding:11px 12px;display:flex;box-shadow:inset 0 1px #fff}.entity-row[data-v-8a9bd858]:hover:not(:disabled){box-shadow:0 12px 22px -19px var(--accent);background:#ffffffa8;transform:translate(4px)scale(1.01)}.entity-row.selected[data-v-8a9bd858]{border-color:color-mix(in srgb, var(--accent) 22%, white);background:linear-gradient(115deg, white, color-mix(in srgb, var(--accent-soft) 60%, white));box-shadow:inset 0 1px 0 white, 0 13px 23px -20px var(--accent)}.badge[data-v-8a9bd858]{background:linear-gradient(145deg, white, hsl(var(--hue) 70% 88%));width:36px;height:36px;color:hsl(var(--hue) 45% 25%);box-shadow:inset 0 1px 0 white, 0 5px 13px -10px hsl(var(--hue) 45% 32%);border-radius:14px;flex:none;place-items:center;font-weight:700;display:grid}.who[data-v-8a9bd858]{min-width:0;line-height:1.35;display:grid}.who b[data-v-8a9bd858]{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.who small[data-v-8a9bd858]{color:var(--ink-soft);font-size:11.5px;font-weight:500}fieldset[data-v-8a9bd858]{background:linear-gradient(142deg, #ffffffa1, #ffffff47), var(--surface);box-shadow:inset 0 1px 0 white, 0 14px 30px -27px var(--accent);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);border:1px solid #ffffffcf;border-radius:24px;gap:10px;margin:0;padding:20px;display:grid}legend[data-v-8a9bd858]{padding:0 8px;font-size:13px;font-weight:700}.advanced summary[data-v-8a9bd858]{color:var(--accent);transition:transform .3s var(--spring), background-color .2s;background:#ffffff6b;border:1px solid #fffc;border-radius:14px;padding:12px 15px;font-weight:600;box-shadow:inset 0 1px #fff}.advanced summary[data-v-8a9bd858]:hover{background:#ffffffa6;transform:translate(3px)}.advanced[open] summary[data-v-8a9bd858]{margin-bottom:12px}.caps[data-v-8a9bd858]{flex-wrap:wrap;gap:8px 18px;margin-top:10px;display:flex}.actions[data-v-8a9bd858]{flex-wrap:wrap;gap:8px;display:flex}.actions .push[data-v-8a9bd858]{margin-left:auto}.model-picker[data-v-8a9bd858]{gap:16px;display:grid}.catalog-search[data-v-8a9bd858]{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:600;display:grid}.catalog-search input[data-v-8a9bd858]{width:100%;min-height:42px;color:var(--ink);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);background:#ffffff9e;border:1px solid #ffffffd9;border-radius:14px;outline:none;padding:0 13px;box-shadow:inset 0 1px #fff}.catalog-search input[data-v-8a9bd858]:focus{border-color:color-mix(in srgb, var(--accent) 42%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent)}.vendor[data-v-8a9bd858]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-a) 13%, transparent), transparent 48%), #ffffff3b;-webkit-backdrop-filter:blur(18px)saturate(1.35);backdrop-filter:blur(18px)saturate(1.35);border:1px solid #ffffffb8;border-radius:21px;overflow:hidden;box-shadow:inset 0 1px #ffffffc7}.vendor-summary[data-v-8a9bd858]{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 17px;list-style:none;transition:background-color .2s;display:flex}.vendor-summary[data-v-8a9bd858]:hover{background:#ffffff57}.vendor-name[data-v-8a9bd858]{align-items:center;gap:10px;min-width:0;display:flex}.vendor-name b[data-v-8a9bd858]{font-size:13px}.vendor-name small[data-v-8a9bd858]{color:var(--ink-soft);font-size:10px}.vendor-chevron[data-v-8a9bd858]{color:var(--accent);transition:transform .28s var(--spring);font-size:20px;line-height:1}.vendor[open] .vendor-chevron[data-v-8a9bd858]{transform:rotate(180deg)}.vendor[open] .presets[data-v-8a9bd858]{animation:vendor-reveal-8a9bd858 .24s var(--spring) both}@keyframes vendor-reveal-8a9bd858{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.search-empty[data-v-8a9bd858]{margin:0}.presets[data-v-8a9bd858]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:0 12px 12px;display:grid}.preset-card[data-v-8a9bd858]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-a) 22%, transparent), transparent 55%), #ffffff80;box-shadow:inset 0 1px 0 white, 0 12px 22px -20px var(--accent);text-align:left;-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);transition:transform .42s var(--spring), box-shadow .25s;border:1px solid #ffffffd1;border-radius:21px;justify-items:start;gap:3px;padding:17px;font-weight:500;display:grid}.preset-card[data-v-8a9bd858]:hover:not(:disabled){box-shadow:inset 0 1px 0 white, 0 22px 33px -22px var(--accent);transform:translateY(-6px)rotate(-.5deg)scale(1.025)}.preset-card small[data-v-8a9bd858]{color:var(--ink-soft);font-size:11.5px}@media (width<=900px){.model-workspace[data-v-8a9bd858]{grid-template-columns:minmax(0,1fr)}.usage-panel[data-v-8a9bd858]{grid-column:auto}.shelf[data-v-8a9bd858]{position:static}}@media (width<=620px){.usage-intro[data-v-8a9bd858]{flex-direction:column;align-items:start}.usage-total[data-v-8a9bd858]{justify-items:start}.usage-detail[data-v-8a9bd858]{grid-template-columns:repeat(2,minmax(0,1fr))}}.runtime-grid[data-v-1f197523]{gap:var(--gap);grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);align-items:start;display:grid}.runtime-grid>.card[data-v-1f197523]{background:radial-gradient(ellipse at 90% 0, color-mix(in srgb, var(--glow-a) 20%, transparent), transparent 55%), var(--surface)}.runtime-grid .card-head h2[data-v-1f197523]{letter-spacing:-.035em;margin-top:5px;font-size:23px}.switches[data-v-1f197523]{gap:12px;margin-bottom:20px;display:grid}.switches[data-v-1f197523] .switch{box-shadow:inset 0 1px 0 white, 0 10px 22px -23px var(--accent);-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);transition:transform .35s var(--spring), background-color .2s;background:#ffffff69;border:1px solid #ffffffc7;border-radius:22px;align-items:flex-start;padding:18px}.switches[data-v-1f197523] .switch:hover{background:#ffffffa3;transform:translateY(-3px)scale(1.008)}.switches[data-v-1f197523] .switch>span{gap:2px;display:grid}.switches small[data-v-1f197523]{color:var(--ink-soft);font-size:12.5px;font-weight:400}.numbers[data-v-1f197523]{gap:12px;display:grid}.numbers button[data-v-1f197523],.numbers .stat[data-v-1f197523]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-b) 24%, transparent), transparent 63%), #ffffff70;box-shadow:inset 0 1px 0 white, 0 12px 26px -24px var(--accent);text-align:left;-webkit-backdrop-filter:blur(18px)saturate(1.55);backdrop-filter:blur(18px)saturate(1.55);transition:transform .38s var(--spring), box-shadow .23s;border:1px solid #ffffffd4;border-radius:22px;justify-items:start;gap:2px;padding:20px 21px;display:grid}.numbers button[data-v-1f197523]:hover:not(:disabled){box-shadow:inset 0 1px 0 white, 0 18px 28px -22px var(--accent);transform:translate(5px)scale(1.018)}.numbers b[data-v-1f197523]{font:750 29px var(--font-display);color:var(--accent)}.numbers .stat.warn b[data-v-1f197523]{color:var(--warn)}.numbers .stat.danger b[data-v-1f197523]{color:var(--danger)}.numbers span[data-v-1f197523]{color:var(--ink-soft);font-size:12.5px;font-weight:500}@media (width<=900px){.runtime-grid[data-v-1f197523]{grid-template-columns:minmax(0,1fr)}}.search-profile[data-v-e874d8b6]{gap:16px;min-width:0;display:grid}.search-profile form[data-v-e874d8b6]{gap:18px;display:grid}.search-fields[data-v-e874d8b6]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.search-fields label[data-v-e874d8b6]{gap:8px;min-width:0;display:grid}.search-fields input[data-v-e874d8b6],.search-fields .menu-select[data-v-e874d8b6]{width:100%;min-width:0}.search-usage[data-v-e874d8b6]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search-result[data-v-e874d8b6]{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:16px;padding:14px 16px}.search-result.failed[data-v-e874d8b6]{border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}@media (width<=620px){.search-fields[data-v-e874d8b6]{grid-template-columns:minmax(0,1fr)}}.data-transfer[data-v-ea16c0c1]{min-width:0}.data-transfer h2[data-v-ea16c0c1]{margin:8px 0 14px;font-size:clamp(23px,3vw,32px)}.transfer-note[data-v-ea16c0c1]{color:var(--ink-soft);overflow-wrap:anywhere;font-size:13px;line-height:1.7}.transfer-actions[data-v-ea16c0c1]{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.transfer-actions button[data-v-ea16c0c1]{border-radius:16px;padding:11px 17px}.transfer-actions button[data-v-ea16c0c1]:not(.primary){background:#ffffffb8}.transfer-file[data-v-ea16c0c1]{display:none}.transfer-preview[data-v-ea16c0c1]{overflow-wrap:anywhere;background:#fff6;border:1px solid #ffffffd9;border-radius:22px;margin-top:20px;padding:20px}.transfer-preview h3[data-v-ea16c0c1]{margin:8px 0}.transfer-counts[data-v-ea16c0c1]{flex-wrap:wrap;gap:10px;display:flex}.transfer-counts>div[data-v-ea16c0c1]{background:#ffffffa6;border-radius:14px;gap:4px;min-width:70px;padding:12px;display:grid}.transfer-counts b[data-v-ea16c0c1],.transfer-progress[data-v-ea16c0c1]{color:var(--accent)}.transfer-counts span[data-v-ea16c0c1]{color:var(--ink-soft);font-size:12px}.transfer-error[data-v-ea16c0c1]{color:var(--danger);overflow-wrap:anywhere}.storage-page[data-v-4593780e]{gap:var(--gap);display:grid}.storage-page>.card[data-v-4593780e],.storage-grid>.card[data-v-4593780e]{background:radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--glow-a) 20%, transparent), transparent 60%), var(--surface)}.storage-overview h2[data-v-4593780e]{margin:8px 0;font-size:clamp(24px,3vw,36px)}.storage-overview p[data-v-4593780e],.storage-note[data-v-4593780e]{color:var(--ink-soft);font-size:13px;line-height:1.65}.storage-metrics[data-v-4593780e]{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.storage-metrics>div[data-v-4593780e]{background:#ffffff6b;border:1px solid #fffc;border-radius:18px;gap:3px;min-width:150px;padding:15px 20px;display:grid}.storage-metrics b[data-v-4593780e]{color:var(--accent);font-size:23px}.storage-metrics span[data-v-4593780e]{color:var(--ink-soft);font-size:12px}.storage-grid[data-v-4593780e]{gap:var(--gap);grid-template-columns:minmax(270px,.8fr) minmax(0,1.5fr);align-items:start;display:grid}.storage-grid .card-head h2[data-v-4593780e]{margin:4px 0 16px;font-size:23px}.storage-check[data-v-4593780e]{align-items:center;gap:9px;margin-bottom:16px;display:flex}.storage-fields[data-v-4593780e]{gap:13px;display:grid}.storage-fields label[data-v-4593780e]{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:700;display:grid}.storage-fields input[data-v-4593780e]{border:1px solid color-mix(in srgb, var(--accent) 25%, white);width:100%;min-width:0;color:var(--ink);background:#ffffffb3;border-radius:15px;padding:11px 13px}.storage-policy .primary[data-v-4593780e]{margin-top:14px}.storage-actions[data-v-4593780e]{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.storage-actions button[data-v-4593780e]{background:#ffffffa6;border-radius:999px;padding:8px 12px}.storage-scroll[data-v-4593780e]{gap:7px;max-height:520px;padding:2px;display:grid;overflow:auto}.storage-row[data-v-4593780e]{cursor:pointer;background:#ffffff7a;border:1px solid #ffffffbf;border-radius:16px;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.storage-row.protected[data-v-4593780e]{opacity:.7;cursor:default}.storage-item[data-v-4593780e]{flex:1;gap:3px;min-width:0;display:grid}.storage-item strong[data-v-4593780e]{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.storage-item small[data-v-4593780e]{color:var(--ink-soft);font-size:11px}.storage-row>b[data-v-4593780e]{white-space:nowrap;color:var(--accent);font-size:12px}.storage-footer[data-v-4593780e]{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:18px;font-size:12px;display:flex}.storage-error[data-v-4593780e]{color:var(--danger);overflow-wrap:anywhere}@media (width<=900px){.storage-grid[data-v-4593780e]{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.storage-row[data-v-4593780e]{flex-wrap:wrap;align-items:flex-start}.storage-row>b[data-v-4593780e]{margin-left:26px}.storage-metrics>div[data-v-4593780e]{flex:1;min-width:130px}}.password-settings[data-v-36cd9f70]{margin-top:24px}form[data-v-36cd9f70]{gap:16px;max-width:520px;display:grid}label[data-v-36cd9f70]{gap:8px;display:grid}input[data-v-36cd9f70]{box-sizing:border-box;width:100%}.update-settings[data-v-c54db2fd]{gap:14px;display:grid}header[data-v-c54db2fd]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}h2[data-v-c54db2fd]{margin-top:5px}.version-state[data-v-c54db2fd]{font-weight:700}.version-state.available[data-v-c54db2fd]{color:var(--accent)}.small-text[data-v-c54db2fd]{font-size:12px}.update-how[data-v-c54db2fd]{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:14px}code[data-v-c54db2fd]{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:9px;display:block}.update-links[data-v-c54db2fd]{gap:18px;font-size:13px;display:flex}.system[data-v-a12a372e]{gap:var(--gap);display:grid}.system-intro[data-v-a12a372e]{background:radial-gradient(ellipse at 90% 7%, color-mix(in srgb, var(--glow-a) 48%, transparent), transparent 51%), radial-gradient(ellipse at 62% 115%, color-mix(in srgb, var(--glow-b) 38%, transparent), transparent 55%), linear-gradient(115deg, #fffc, #ffffff4d);min-height:190px;box-shadow:inset 0 2px 0 white, 0 25px 54px -35px color-mix(in srgb, var(--accent) 43%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.8);backdrop-filter:blur(28px)saturate(1.8);border:1px solid #ffffffd9;border-radius:36px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;padding:32px clamp(26px,5vw,60px);display:flex;position:relative;overflow:hidden}.system-intro[data-v-a12a372e]:before{content:"";width:350px;height:350px;box-shadow:0 0 0 29px #ffffff21, 0 0 0 58px color-mix(in srgb, var(--glow-b) 12%, transparent);pointer-events:none;border:1px solid #ffffffb8;border-radius:50%;animation:10s ease-in-out infinite alternate system-bob-a12a372e;position:absolute;top:-85%;right:13%}.system-intro h1[data-v-a12a372e]{letter-spacing:-.055em;margin:10px 0 7px;font-size:clamp(28px,3.25vw,42px)}.system-intro h1 em[data-v-a12a372e]{color:var(--accent);font-style:normal}.system-intro p[data-v-a12a372e]{max-width:560px;color:var(--ink-soft);font-size:13.5px;position:relative}.system-status[data-v-a12a372e]{z-index:1;box-shadow:inset 0 1px 0 white, 0 7px 19px -15px var(--accent);white-space:nowrap;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff87;border:1px solid #fff;border-radius:999px;align-items:center;gap:9px;padding:10px 16px;font-size:12.5px;font-weight:700;display:inline-flex}.system-status i[data-v-a12a372e]{background:var(--ok);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;animation:2.6s ease-in-out infinite pulse-soft}.system-status i.off[data-v-a12a372e]{background:var(--ink-faint);box-shadow:0 0 0 4px color-mix(in srgb, var(--ink-faint) 14%, transparent);animation:none}.system>.tabs[data-v-a12a372e]{box-shadow:inset 0 1px 0 white, 0 10px 30px -24px var(--accent);-webkit-backdrop-filter:blur(22px)saturate(1.7);backdrop-filter:blur(22px)saturate(1.7);border:1px solid #fffc;justify-self:start;padding:5px}.system[data-v-a12a372e]>.tabs button{transition:transform .35s var(--spring), background-color .2s, box-shadow .2s;border-radius:999px;padding:9px 18px}.system[data-v-a12a372e]>.tabs button:hover{transform:translateY(-2px)scale(1.03)}.system[data-v-a12a372e] .connect .step,.system[data-v-a12a372e] .connect .checks li{background:linear-gradient(145deg, #ffffffad, #ffffff47), var(--surface);box-shadow:inset 0 1px 0 white, 0 12px 24px -24px var(--accent);-webkit-backdrop-filter:blur(18px)saturate(1.55);backdrop-filter:blur(18px)saturate(1.55);transition:transform .35s var(--spring), box-shadow .25s;border:1px solid #ffffffd9;border-radius:22px}.system[data-v-a12a372e] .connect .step:hover,.system[data-v-a12a372e] .connect .checks li:hover{box-shadow:inset 0 1px 0 white, 0 16px 28px -21px var(--accent);transform:translateY(-3px)}.system[data-v-a12a372e] .connect .num{background:linear-gradient(145deg, white, color-mix(in srgb, var(--glow-a) 75%, white));box-shadow:inset 0 1px 0 white, 0 5px 14px -9px var(--accent);color:var(--accent);border:1px solid #fff}@keyframes system-bob-a12a372e{to{transform:translateY(22px)scale(1.08)}}@media (width<=760px){.system-intro[data-v-a12a372e]{min-height:0;padding:27px 23px}}