.particles-bg[data-v-0822730d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.fresh-decor[data-v-e1518bdf]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;--deco-pink: rgba(235, 149, 171, .34);--deco-blossom: rgba(238, 178, 124, .3);--deco-mint: rgba(126, 201, 163, .34);--deco-sky: rgba(120, 172, 232, .24);--deco-core: rgba(255, 243, 220, .9);--deco-vein: rgba(255, 255, 255, .42);--deco-hi: rgba(255, 255, 255, .65)}[data-theme=dark]{--deco-pink: rgba(226, 129, 158, .18);--deco-blossom: rgba(226, 168, 110, .16);--deco-mint: rgba(96, 172, 130, .18);--deco-sky: rgba(108, 160, 220, .14);--deco-core: rgba(255, 230, 200, .75);--deco-vein: rgba(255, 255, 255, .22);--deco-hi: rgba(255, 255, 255, .35)}.blob[data-v-e1518bdf]{position:absolute;border-radius:50%;filter:blur(60px);animation:blobDrift-e1518bdf 30s ease-in-out infinite alternate;will-change:transform}.b1[data-v-e1518bdf]{width:48vmin;height:48vmin;left:-10vmin;top:-8vmin;background:radial-gradient(circle,rgba(255,182,205,.55),transparent 66%);animation-duration:34s}.b2[data-v-e1518bdf]{width:54vmin;height:54vmin;right:-12vmin;top:22vh;background:radial-gradient(circle,rgba(164,214,255,.5),transparent 66%);animation-duration:40s;animation-delay:-8s}.b3[data-v-e1518bdf]{width:46vmin;height:46vmin;left:14vw;bottom:-14vmin;background:radial-gradient(circle,rgba(172,226,194,.5),transparent 66%);animation-duration:36s;animation-delay:-16s}.b4[data-v-e1518bdf]{width:36vmin;height:36vmin;right:18vw;bottom:8vh;background:radial-gradient(circle,rgba(255,209,148,.45),transparent 66%);animation-duration:44s;animation-delay:-24s}[data-theme=dark]{opacity:.55}@keyframes blobDrift-e1518bdf{0%{transform:translate(0) scale(1)}50%{transform:translate(3.5vmin,-4vmin) scale(1.12)}to{transform:translate(-3vmin,3vmin) scale(.94)}}.deco[data-v-e1518bdf]{position:absolute;opacity:.85;will-change:transform;filter:drop-shadow(0 2px 6px rgba(0,0,0,.06))}[data-theme=dark]{opacity:.6}.flower[data-v-e1518bdf]{color:var(--deco-pink);animation:flowerDrift-e1518bdf 11s ease-in-out infinite}.f1[data-v-e1518bdf]{width:34px;height:34px;left:9%;top:16%;animation-delay:0s}.f2[data-v-e1518bdf]{width:26px;height:26px;right:11%;top:13%;color:var(--deco-blossom);animation-delay:-3.2s;animation-duration:13s}.f3[data-v-e1518bdf]{width:22px;height:22px;left:12%;bottom:22%;animation-delay:-6.5s;animation-duration:12s}.leaf[data-v-e1518bdf]{color:var(--deco-mint);animation:leafDrift-e1518bdf 14s ease-in-out infinite}.l1[data-v-e1518bdf]{width:30px;height:30px;left:5%;top:46%;animation-delay:-2s}.l2[data-v-e1518bdf]{width:24px;height:24px;right:6%;top:42%;animation-delay:-8s;animation-duration:16s}.bubble[data-v-e1518bdf]{color:var(--deco-sky);animation:bubbleRise-e1518bdf 12s ease-in-out infinite}.bu1[data-v-e1518bdf]{width:26px;height:26px;right:16%;bottom:18%;animation-delay:0s}.bu2[data-v-e1518bdf]{width:18px;height:18px;left:20%;bottom:12%;animation-delay:-4s;animation-duration:10s}.bu3[data-v-e1518bdf]{width:14px;height:14px;right:8%;bottom:30%;animation-delay:-8s;animation-duration:14s}@keyframes flowerDrift-e1518bdf{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(1.2vmin,-2.4vmin) rotate(7deg)}50%{transform:translate(-.8vmin,-4vmin) rotate(-5deg)}75%{transform:translate(-1.6vmin,-1.4vmin) rotate(9deg)}}@keyframes leafDrift-e1518bdf{0%,to{transform:translate(0) rotate(-6deg) scale(1)}50%{transform:translate(-3vmin,2.2vmin) rotate(8deg) scale(1.08)}}@keyframes bubbleRise-e1518bdf{0%,to{transform:translate(0)}40%{transform:translate(1.4vmin,-3.4vmin)}70%{transform:translate(-1vmin,-5.6vmin)}}@media (max-width: 640px){.f3[data-v-e1518bdf],.l2[data-v-e1518bdf],.bu3[data-v-e1518bdf]{display:none}.blob[data-v-e1518bdf]{filter:blur(48px)}}.topbar[data-v-dbe8f485]{position:sticky;top:0;z-index:60;background:var(--topbar-bg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--line);transition:background .35s ease}.topbar-inner[data-v-dbe8f485]{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand[data-v-dbe8f485]{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark[data-v-dbe8f485]{position:relative;width:44px;height:44px;border-radius:14px;background:var(--grad-brand);color:#3a2f20;font-family:var(--font-serif);font-weight:700;font-size:22px;display:grid;place-items:center;box-shadow:0 4px 14px var(--glow-accent);overflow:hidden}.brand-mark-glow[data-v-dbe8f485]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(80px circle at 30% 20%,rgba(255,255,255,.5),transparent 50%);animation:pulseGlow 3.2s ease-in-out infinite}.brand-text h1[data-v-dbe8f485]{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--ink);letter-spacing:2px;line-height:1.2}.brand-text p[data-v-dbe8f485]{font-size:11px;color:var(--ink-3);margin-top:2px;letter-spacing:.5px}.nav[data-v-dbe8f485]{display:flex;gap:4px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-link[data-v-dbe8f485]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none;transition:all .22s ease;white-space:nowrap}.nav-link[data-v-dbe8f485]:hover{color:var(--accent)}.nav-link-active[data-v-dbe8f485]{background:var(--grad-brand);color:#fff;box-shadow:0 3px 10px var(--glow-accent)}.nav-ico[data-v-dbe8f485]{font-size:14px}.topbar-actions[data-v-dbe8f485]{display:flex;align-items:center;gap:8px}.btn-icon[data-v-dbe8f485]{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:var(--ink-2);font-size:17px;cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.btn-icon[data-v-dbe8f485]:hover{color:var(--accent);border-color:var(--accent-soft);transform:translateY(-1px)}.icon-swap-enter-active[data-v-dbe8f485],.icon-swap-leave-active[data-v-dbe8f485]{transition:all .25s ease}.icon-swap-enter-from[data-v-dbe8f485]{opacity:0;transform:rotate(-90deg) scale(.6)}.icon-swap-leave-to[data-v-dbe8f485]{opacity:0;transform:rotate(90deg) scale(.6)}.btn-add[data-v-dbe8f485]{padding:9px 18px}.add-plus[data-v-dbe8f485]{font-size:16px;font-weight:700}.menu-toggle[data-v-dbe8f485]{display:none}.hamburger[data-v-dbe8f485],.hamburger[data-v-dbe8f485]:before,.hamburger[data-v-dbe8f485]:after{content:"";display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:all .3s ease}.hamburger[data-v-dbe8f485]{position:relative}.hamburger[data-v-dbe8f485]:before{position:absolute;top:-6px;left:0}.hamburger[data-v-dbe8f485]:after{position:absolute;top:6px;left:0}.menu-open .hamburger[data-v-dbe8f485]{background:transparent}.menu-open .hamburger[data-v-dbe8f485]:before{top:0;transform:rotate(45deg)}.menu-open .hamburger[data-v-dbe8f485]:after{top:0;transform:rotate(-45deg)}.mobile-menu[data-v-dbe8f485]{display:none;position:absolute;top:100%;left:12px;right:12px;border-radius:18px;padding:12px;box-shadow:var(--shadow-lg);flex-direction:column;gap:6px}.mobile-nav-link[data-v-dbe8f485],.mobile-action[data-v-dbe8f485]{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:12px;font-size:15px;font-weight:600;color:var(--ink-2);text-decoration:none;border:none;background:transparent;font-family:inherit;cursor:pointer;transition:all .2s ease}.mobile-nav-link[data-v-dbe8f485]:hover,.mobile-action[data-v-dbe8f485]:hover,.mobile-nav-active[data-v-dbe8f485]{background:var(--bg-deep);color:var(--accent)}.mobile-action-add[data-v-dbe8f485]{background:var(--grad-brand);color:#fff;justify-content:center}.mobile-action-add[data-v-dbe8f485]:hover{color:#fff;background:var(--grad-brand)}.menu-drop-enter-active[data-v-dbe8f485],.menu-drop-leave-active[data-v-dbe8f485]{transition:all .25s ease}.menu-drop-enter-from[data-v-dbe8f485],.menu-drop-leave-to[data-v-dbe8f485]{opacity:0;transform:translateY(-8px)}@media (max-width: 768px){.nav[data-v-dbe8f485]{display:none}.menu-toggle[data-v-dbe8f485]{display:grid}.mobile-menu[data-v-dbe8f485]{display:flex}.hidden-mobile[data-v-dbe8f485]{display:none}}@media (max-width: 640px){.topbar-inner[data-v-dbe8f485]{padding:10px 14px}.brand-mark[data-v-dbe8f485]{width:38px;height:38px;font-size:19px;border-radius:12px}.brand-text h1[data-v-dbe8f485]{font-size:17px}.brand-text p[data-v-dbe8f485]{display:none}.btn-add[data-v-dbe8f485]{padding:8px 12px;font-size:13px}}.overlay[data-v-38657639]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#14100c8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px}.modal[data-v-38657639]{position:relative;border-radius:22px;max-width:580px;width:100%;max-height:86vh;overflow-y:auto;padding:26px 28px;box-shadow:var(--shadow-lg);background:var(--card-solid);border:1px solid var(--line)}.modal-wide[data-v-38657639]{max-width:720px}.modal-glow[data-v-38657639]{position:absolute;top:0;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.7}.modal-head[data-v-38657639]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-title[data-v-38657639]{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}.modal-title-icon[data-v-38657639]{font-size:18px}.close[data-v-38657639]{border:none;background:#7f7f7f1f;color:var(--ink-3);width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.close[data-v-38657639]:hover{background:#7f7f7f38;color:var(--ink);transform:rotate(90deg)}.modal-footer[data-v-38657639]{display:flex;gap:10px;margin-top:22px}@media (max-width: 640px){.overlay[data-v-38657639]{padding:0;align-items:flex-end}.modal[data-v-38657639]{max-width:100%;max-height:92vh;border-radius:22px 22px 0 0;padding:22px 18px 24px}}.interaction-bar[data-v-76aa3c0e]{display:inline-flex;align-items:center;gap:8px}.act-btn[data-v-76aa3c0e]{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--line);background:var(--bg);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:all .2s ease;font-family:inherit}.act-btn[data-v-76aa3c0e]:hover{border-color:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.act-btn.active[data-v-76aa3c0e]{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent)}.act-btn[data-v-76aa3c0e]:disabled{opacity:.6;cursor:not-allowed}.act-icon[data-v-76aa3c0e]{font-size:14px;line-height:1}.act-icon.pop[data-v-76aa3c0e]{animation:pop-76aa3c0e .3s cubic-bezier(.34,1.56,.64,1)}.act-count[data-v-76aa3c0e]{min-width:14px;text-align:left}@keyframes pop-76aa3c0e{0%{transform:scale(.6)}60%{transform:scale(1.35)}to{transform:scale(1)}}.comment-section[data-v-afce320b]{margin-top:18px}.comment-title[data-v-afce320b]{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:12px}.comment-input-row[data-v-afce320b]{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px}.comment-input-row textarea[data-v-afce320b]{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13.5px;color:var(--ink);font-family:inherit;background:var(--bg);resize:vertical;transition:all .2s ease}.comment-input-row textarea[data-v-afce320b]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow-accent)}.comment-empty[data-v-afce320b]{font-size:12.5px;color:var(--ink-3);text-align:center;padding:16px 0;border:1px dashed var(--line);border-radius:12px}.comment-list[data-v-afce320b]{list-style:none;display:flex;flex-direction:column;gap:12px}.comment-item[data-v-afce320b]{display:flex;gap:10px;align-items:flex-start}.comment-avatar[data-v-afce320b]{flex:none;width:32px;height:32px;border-radius:50%;background:var(--grad-brand);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}.comment-body[data-v-afce320b]{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 13px;transition:all .2s ease}.comment-body[data-v-afce320b]:hover{border-color:var(--accent-soft)}.comment-meta[data-v-afce320b]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-name[data-v-afce320b]{font-size:12.5px;font-weight:700;color:var(--ink-2)}.comment-time[data-v-afce320b]{font-size:11px;color:var(--ink-3)}.comment-content[data-v-afce320b]{font-size:13.5px;color:var(--ink);line-height:1.65;word-break:break-word}.comment-del[data-v-afce320b]{flex:none;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--ink-3);font-size:16px;line-height:1;cursor:pointer;transition:all .2s ease}.comment-del[data-v-afce320b]:hover{background:var(--danger-soft);color:var(--danger)}.detail-title[data-v-d7b6c0a2]{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:4px}.block[data-v-d7b6c0a2]{border-radius:14px;padding:14px 16px;margin-top:14px}.block-label[data-v-d7b6c0a2]{display:block;font-weight:700;font-size:12.5px;margin-bottom:6px;letter-spacing:.3px}.block p[data-v-d7b6c0a2]{font-size:13.5px;line-height:1.8;color:var(--ink-2);white-space:pre-wrap}.block-main[data-v-d7b6c0a2]{background:var(--bg-deep)}.block-main .block-label[data-v-d7b6c0a2]{color:var(--accent-deep)}.block-note[data-v-d7b6c0a2]{background:#8b5cf614;border-left:3px solid #8b5cf6}.block-note .block-label[data-v-d7b6c0a2]{color:#8b5cf6}.block-tip[data-v-d7b6c0a2]{background:#10b98114;border-left:3px solid #10b981}.block-tip .block-label[data-v-d7b6c0a2]{color:#0fae78}.tags[data-v-d7b6c0a2]{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tag[data-v-d7b6c0a2]{font-size:11.5px;color:var(--ink-2);background:var(--bg-deep);padding:4px 11px;border-radius:999px;border:1px solid var(--line)}.detail-meta[data-v-d7b6c0a2]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-3);margin-top:16px}.detail-interact[data-v-d7b6c0a2]{margin-top:16px}.detail-divider[data-v-d7b6c0a2]{border-top:1px dashed var(--line);margin-top:20px;padding-top:4px}.action[data-v-d7b6c0a2]{flex:1;border:none;cursor:pointer;font-family:inherit;padding:13px;border-radius:12px;font-size:14px;font-weight:700;transition:all .2s ease}.action-mem[data-v-d7b6c0a2]{background:linear-gradient(135deg,#0e9f6e,#10b981);color:#fff;box-shadow:0 4px 14px #10b9814d}.action-mem[data-v-d7b6c0a2]:hover{transform:translateY(-2px)}.action-mem-done[data-v-d7b6c0a2]{background:var(--bg-deep);color:var(--ink-2)}.action-review[data-v-d7b6c0a2]{background:var(--grad-brand);color:#fff;box-shadow:0 4px 14px var(--glow-accent)}.action-review[data-v-d7b6c0a2]:hover{transform:translateY(-2px)}.form[data-v-1681fd52]{display:flex;flex-direction:column;gap:14px}.form-grid[data-v-1681fd52]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label[data-v-1681fd52]{display:block;font-size:12.5px;color:var(--ink-2);font-weight:700;margin-bottom:6px}.field label i[data-v-1681fd52]{color:#e05a52;font-style:normal}.field input[data-v-1681fd52],.field select[data-v-1681fd52],.field textarea[data-v-1681fd52]{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:14px;color:var(--ink);font-family:inherit;transition:all .2s ease;background:var(--bg);resize:vertical}.field input[data-v-1681fd52]:focus,.field select[data-v-1681fd52]:focus,.field textarea[data-v-1681fd52]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow-accent);background:var(--card-solid)}.field input[data-v-1681fd52]::placeholder,.field textarea[data-v-1681fd52]::placeholder{color:var(--ink-3)}.field-hint[data-v-1681fd52]{display:block;font-size:11px;color:var(--ink-3);margin-top:4px}.footer-flex1[data-v-1681fd52]{flex:1}.footer-flex2[data-v-1681fd52]{flex:2}@media (max-width: 640px){.form-grid[data-v-1681fd52]{grid-template-columns:1fr}}.feedback-tip[data-v-5e6c9932]{font-size:13px;color:var(--ink-3);margin-bottom:14px;line-height:1.6}.form[data-v-5e6c9932]{display:flex;flex-direction:column;gap:12px}.field label[data-v-5e6c9932]{display:block;font-size:12.5px;color:var(--ink-2);font-weight:700;margin-bottom:6px}.field label i[data-v-5e6c9932]{color:#e05a52;font-style:normal}.field input[data-v-5e6c9932],.field textarea[data-v-5e6c9932]{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:14px;color:var(--ink);font-family:inherit;transition:all .2s ease;background:var(--bg);resize:vertical}.field input[data-v-5e6c9932]:focus,.field textarea[data-v-5e6c9932]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow-accent);background:var(--card-solid)}.field input[data-v-5e6c9932]::placeholder,.field textarea[data-v-5e6c9932]::placeholder{color:var(--ink-3)}.submit-row[data-v-5e6c9932]{margin-top:14px;display:flex;justify-content:flex-end}.feedback-wall[data-v-5e6c9932]{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;max-height:240px;overflow-y:auto}.feedback-wall-title[data-v-5e6c9932]{font-weight:700;font-size:13px;color:var(--ink-2);margin-bottom:12px}.feedback-item[data-v-5e6c9932]{padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line);margin-bottom:8px;transition:all .2s ease}.feedback-item[data-v-5e6c9932]:hover{border-color:var(--accent-soft);transform:translate(2px)}.feedback-content[data-v-5e6c9932]{font-size:13.5px;color:var(--ink);line-height:1.65}.feedback-meta[data-v-5e6c9932]{font-size:11.5px;color:var(--ink-3);margin-top:8px;display:flex;align-items:center;gap:6px}.feedback-avatar[data-v-5e6c9932]{width:20px;height:20px;border-radius:50%;background:var(--grad-brand);color:#fff;font-size:10px;display:grid;place-items:center;font-weight:700}.app[data-v-2baca555]{min-height:100vh;display:flex;flex-direction:column}.main[data-v-2baca555]{flex:1}.footer[data-v-2baca555]{text-align:center;padding:34px 20px 40px;color:var(--ink-3);font-size:13px;border-top:1px solid var(--line);margin-top:30px}.footer-sub[data-v-2baca555]{font-size:11.5px;margin-top:5px;opacity:.8}.toast[data-v-2baca555]{position:fixed;left:50%;bottom:40px;transform:translate(-50%);z-index:200;background:var(--ink);color:var(--bg);font-size:13.5px;font-weight:600;padding:12px 22px;border-radius:999px;box-shadow:var(--shadow-lg)}.toast-pop-enter-active[data-v-2baca555],.toast-pop-leave-active[data-v-2baca555]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-pop-enter-from[data-v-2baca555],.toast-pop-leave-to[data-v-2baca555]{opacity:0;transform:translate(-50%) translateY(16px)}.toast-success[data-v-2baca555]{background:var(--success, #1f9d61)}.toast-error[data-v-2baca555]{background:var(--danger, #d65353)}:root{--radius: 18px;--font-serif: "Noto Serif SC", "Songti SC", "STSong", serif;--font-sans: "Noto Sans SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}:root[data-theme=light]{--bg: #f6f2e9;--bg-deep: #ede6d7;--bg-glow-1: rgba(138, 111, 77, .14);--bg-glow-2: rgba(217, 179, 115, .1);--ink: #2c2723;--ink-2: #5c554c;--ink-3: #9b938a;--accent: #8a6f4d;--accent-deep: #6f5638;--accent-soft: #d9c7a5;--card: rgba(255, 255, 255, .86);--card-solid: #ffffff;--line: #e6e0d3;--glass: rgba(255, 255, 255, .6);--glass-border: rgba(255, 255, 255, .9);--shadow-sm: 0 1px 2px rgba(44, 39, 35, .05), 0 4px 12px rgba(44, 39, 35, .05);--shadow-md: 0 6px 24px rgba(44, 39, 35, .1), 0 2px 6px rgba(44, 39, 35, .05);--shadow-lg: 0 18px 50px rgba(44, 39, 35, .18), 0 4px 10px rgba(44, 39, 35, .08);--glow-accent: rgba(138, 111, 77, .35);--grad-brand: linear-gradient(135deg, #b08a52, #8a6f4d);--grad-text: linear-gradient(120deg, #a07b3f, #6f5638, #a07b3f);--particle: 44, 39, 35;--topbar-bg: rgba(246, 242, 233, .78);--success: #1f9d61;--success-soft: rgba(31, 157, 97, .14);--danger: #d65353;--danger-soft: rgba(214, 83, 83, .14);--warn: #c98511;--warn-soft: rgba(201, 133, 17, .14);--info: #0e9ed6;--info-soft: rgba(14, 158, 214, .14)}:root[data-theme=dark]{--bg: #141219;--bg-deep: #0f0d13;--bg-glow-1: rgba(212, 180, 131, .1);--bg-glow-2: rgba(160, 120, 220, .07);--ink: #ece6db;--ink-2: #b3aa9c;--ink-3: #7c7468;--accent: #d4b483;--accent-deep: #e6cf9e;--accent-soft: #8a7450;--card: rgba(30, 27, 36, .86);--card-solid: #1e1b24;--line: rgba(236, 230, 219, .1);--glass: rgba(30, 27, 36, .6);--glass-border: rgba(236, 230, 219, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .35);--shadow-md: 0 8px 30px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4);--glow-accent: rgba(212, 180, 131, .3);--grad-brand: linear-gradient(135deg, #e8cf9e, #b08a52);--grad-text: linear-gradient(120deg, #e6cf9e, #b08a52, #e6cf9e);--particle: 212, 180, 131;--topbar-bg: rgba(20, 18, 25, .72);--success: #34c98a;--success-soft: rgba(52, 201, 138, .16);--danger: #ef6b6b;--danger-soft: rgba(239, 107, 107, .16);--warn: #e0a84d;--warn-soft: rgba(224, 168, 77, .16);--info: #4fb6e8;--info-soft: rgba(79, 182, 232, .16)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .35s ease,color .35s ease;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(600px 400px at 15% -5%,var(--bg-glow-1),transparent 65%),radial-gradient(700px 500px at 90% 10%,var(--bg-glow-2),transparent 65%),radial-gradient(800px 600px at 50% 110%,var(--bg-glow-1),transparent 70%);pointer-events:none;transition:background .35s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent-soft),var(--accent));border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--accent-deep)}::selection{background:var(--accent);color:#fff}.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.glass{background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--glass-border)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal.revealed{opacity:1;transform:translateY(0)}.tilt-el{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .3s ease,border-color .3s ease;will-change:transform}.tilt-el.tilt-active{box-shadow:var(--shadow-lg);border-color:var(--accent-soft)}.tilt-el:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(320px circle at var(--gx, 50%) var(--gy, 50%),rgba(255,255,255,.1),transparent 45%);opacity:0;transition:opacity .3s ease;pointer-events:none}.tilt-el.tilt-active:after{opacity:1}.btn{border:none;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;border-radius:12px;padding:10px 18px;transition:all .2s cubic-bezier(.22,1,.36,1);display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--grad-brand);color:#fff;box-shadow:0 4px 14px var(--glow-accent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--glow-accent)}.btn-ghost{background:var(--glass);color:var(--ink-2);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{color:var(--accent);border-color:var(--accent-soft);transform:translateY(-1px)}.btn-green{background:linear-gradient(135deg,#0e9f6e,#10b981);color:#fff;box-shadow:0 4px 14px #10b9814d}.btn-green:hover{transform:translateY(-2px);box-shadow:0 8px 22px #10b98166}.btn-sm{padding:7px 14px;font-size:12.5px;border-radius:10px}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 14px var(--success-soft)}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--success-soft)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px var(--danger-soft)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--danger-soft)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 11px;border-radius:999px;letter-spacing:.3px;white-space:nowrap}.badge-pink{background:#ec48991f;color:#d65f9d}.badge-amber{background:#f59e0b24;color:#c98511}.badge-purple{background:#8b5cf61f;color:#9b76ef}.badge-red{background:#ef44441f;color:#e05a52}.badge-emerald{background:#10b9811f;color:#0fae78}.badge-sky{background:#0ea5e91f;color:#0e9ed6}.badge-slate{background:#94a3b826;color:#7d8da1}.skeleton{position:relative;overflow:hidden;background:var(--bg-deep);border-radius:8px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);animation:shimmer 1.4s infinite}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.page-enter-active,.page-leave-active{transition:opacity .28s ease,transform .28s ease}.page-enter-from{opacity:0;transform:translateY(18px)}.page-leave-to{opacity:0;transform:translateY(-12px)}.overlay-fade-enter-active,.overlay-fade-leave-active{transition:opacity .25s ease}.overlay-fade-enter-from,.overlay-fade-leave-to{opacity:0}.modal-pop-enter-active{transition:all .32s cubic-bezier(.34,1.56,.64,1)}.modal-pop-leave-active{transition:all .2s ease}.modal-pop-enter-from{opacity:0;transform:scale(.92) translateY(20px)}.modal-pop-leave-to{opacity:0;transform:scale(.95) translateY(10px)}@media (max-width: 640px){body{font-size:14px}}
