.icon[data-v-267e1322]{display:inline-block;flex:0 0 auto;vertical-align:-.15em}.topbar[data-v-2ed05609]{position:sticky;top:0;z-index:40;background:var(--surface-glass);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}.bar-inner[data-v-2ed05609]{max-width:1180px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;gap:20px}.brand[data-v-2ed05609]{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px;letter-spacing:-.01em;white-space:nowrap}.heart[data-v-2ed05609]{color:var(--rose);font-size:17px;filter:drop-shadow(0 2px 6px rgba(228,106,128,.5))}.nav[data-v-2ed05609]{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}.nav[data-v-2ed05609]::-webkit-scrollbar{display:none}.nav-link[data-v-2ed05609]{position:relative;padding:7px 13px;border-radius:999px;font-size:13.5px;color:var(--muted);white-space:nowrap;transition:color .16s ease,background .16s ease}.nav-link[data-v-2ed05609]:hover{color:var(--ink);background:var(--surface)}.nav-link.active[data-v-2ed05609]{color:var(--rose-deep);font-weight:600;background:var(--rose-soft);box-shadow:inset 0 0 0 1px #e46a8029}.badge.room[data-v-2ed05609]{background:#4fae6d}.badge[data-v-2ed05609]{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin-left:3px;border-radius:999px;background:var(--rose);color:#fff;font-size:10.5px;font-weight:700;line-height:1;vertical-align:1px}.user[data-v-2ed05609]{display:flex;align-items:center;gap:9px}.avatar[data-v-2ed05609]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ffe1e9,#ffd3dd);color:var(--rose-deep);display:grid;place-items:center;font-weight:700;font-size:13px;box-shadow:inset 0 0 0 1px #e46a8033}.avatar-img[data-v-2ed05609]{width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 0 0 3px #e46a8047}.name[data-v-2ed05609]{font-size:13px;color:var(--ink-soft)}.theme-btn[data-v-2ed05609]{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:background .16s,color .16s,border-color .16s}.theme-btn[data-v-2ed05609]:hover{color:var(--rose-deep);border-color:#e46a8066}.logout[data-v-2ed05609]{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);padding:6px 13px;border-radius:999px;font-size:12.5px;cursor:pointer;transition:color .16s,border-color .16s,background .16s}.logout[data-v-2ed05609]:hover{color:var(--danger);border-color:#eab5b5;background:#fff}@media(max-width:720px){.bar-inner[data-v-2ed05609]{flex-wrap:wrap;gap:6px 8px;padding:9px 12px}.brand[data-v-2ed05609]{order:1}.user[data-v-2ed05609]{order:2;margin-left:auto;gap:6px}.nav[data-v-2ed05609]{order:3;flex:0 0 100%;width:100%;gap:2px;padding-bottom:2px}.nav-link[data-v-2ed05609]{padding:6px 10px;font-size:13px}.name[data-v-2ed05609]{display:none}}.ambient[data-v-10bd3f5e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.petal[data-v-10bd3f5e]{position:absolute;border-radius:100% 0;background:linear-gradient(140deg,#ffd7e2,#ffb6c9);box-shadow:0 0 6px #ffb6c959;animation-name:fall-10bd3f5e;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}@keyframes fall-10bd3f5e{0%{transform:translateZ(0) rotate(0)}25%{transform:translate3d(calc(var(--sway) * .6),30vh,0) rotate(110deg)}50%{transform:translate3d(calc(var(--sway) * -.5),58vh,0) rotate(220deg)}75%{transform:translate3d(calc(var(--sway) * .4),86vh,0) rotate(330deg)}to{transform:translate3d(0,112vh,0) rotate(440deg)}}.spark[data-v-10bd3f5e]{position:absolute;color:#ffd9e6;line-height:1;opacity:0;animation:twinkle-10bd3f5e 5.5s ease-in-out infinite;will-change:opacity,transform}@keyframes twinkle-10bd3f5e{0%,70%,to{opacity:0;transform:scale(.6) rotate(0)}78%{opacity:.55;transform:scale(1) rotate(20deg)}86%{opacity:.15;transform:scale(.85) rotate(40deg)}}@media(prefers-reduced-motion:reduce){.petal[data-v-10bd3f5e]{animation:none}.spark[data-v-10bd3f5e]{animation:none;opacity:.35}}.beian[data-v-8f999758]{position:relative;z-index:2;text-align:center;font-size:11.5px;color:var(--muted);padding:4px 0 18px}.beian a[data-v-8f999758]{color:var(--muted);text-decoration:none}.beian a[data-v-8f999758]:hover{color:var(--rose-deep)}.main-solo[data-v-8f999758]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px}.net-bar[data-v-8f999758]{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:#3a2e2e;color:#fff;font-size:12.5px;box-shadow:0 14px 30px #00000047;max-width:92vw}.net-bar .dot[data-v-8f999758]{width:7px;height:7px;border-radius:50%;background:#ff8a8a;animation:blink-8f999758 1.2s ease-in-out infinite}.net-bar .retry[data-v-8f999758]{border:none;background:#ffffff2e;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;white-space:nowrap}.net-bar .retry[data-v-8f999758]:hover{background:#ffffff4d}@keyframes blink-8f999758{0%,to{opacity:1}50%{opacity:.25}}:root{color-scheme:light;--bg: #fdf8f5;--bg-deep: #f8ece8;--glow-1: #ffe7ee;--glow-2: #fdf0d9;--glow-3: #f7e8f0;--surface: #ffffff;--surface-2: #faf7f6;--surface-glass: rgba(255, 255, 255, .74);--ink: #2f2724;--ink-soft: #584a46;--muted: #8f7d78;--line: rgba(122, 92, 86, .13);--line-strong: rgba(122, 92, 86, .22);--chat-bg: #f7f7f7;--bubble: #ffffff;--bubble-ink: #1a1a1a;--bubble-mine: #95ec69;--bubble-mine-ink: #111111;--panel: #ffffff;--border-soft: #e9e9e9;--input-bg: #fdfbfa;--rose: #e46a80;--rose-2: #f295a4;--rose-deep: #c44f6a;--rose-soft: #fdebf0;--sky: #a7c7ff;--sky-soft: #eef3ff;--amber: #d99f5c;--gold-soft: #fdf3e4;--ok: #5b9c7c;--danger: #c04b4b;--radius-xl: 30px;--radius: 22px;--radius-sm: 14px;--radius-xs: 10px;--shadow-xl: 0 40px 80px -40px rgba(140, 74, 88, .45);--shadow: 0 18px 44px -22px rgba(140, 74, 88, .35);--shadow-sm: 0 8px 22px -14px rgba(140, 74, 88, .32);--shadow-xs: 0 2px 8px -4px rgba(140, 74, 88, .25);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-display: "Georgia", "Songti SC", "Noto Serif SC", "STSong", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(1100px 640px at 6% -12%,var(--glow-1) 0%,transparent 62%),radial-gradient(900px 560px at 102% -6%,var(--glow-2) 0%,transparent 58%),radial-gradient(760px 520px at 50% 108%,var(--glow-3) 0%,transparent 60%),var(--bg);background-attachment:fixed;transition:background-color .25s ease,color .25s ease}:root[data-theme=dark]{color-scheme:dark;--bg: #14100f;--bg-deep: #0f0c0b;--glow-1: rgba(150, 60, 80, .35);--glow-2: rgba(120, 80, 40, .28);--glow-3: rgba(90, 60, 110, .24);--surface: #1f1a18;--surface-2: #251f1c;--surface-glass: rgba(31, 26, 24, .78);--ink: #e9e1dc;--ink-soft: #c3b5af;--muted: #9a8a84;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--rose: #ef8199;--rose-2: #f49cae;--rose-deep: #ffa6b6;--rose-soft: rgba(239, 129, 153, .16);--sky: #8fb4f0;--sky-soft: rgba(143, 180, 240, .14);--amber: #d9a15b;--gold-soft: rgba(217, 161, 91, .16);--ok: #6fbb93;--shadow-xl: 0 40px 80px -40px rgba(0, 0, 0, .8);--shadow: 0 18px 44px -22px rgba(0, 0, 0, .7);--shadow-sm: 0 8px 22px -14px rgba(0, 0, 0, .6);--shadow-xs: 0 2px 8px -4px rgba(0, 0, 0, .5);--chat-bg: #14100f;--bubble: #2a2320;--bubble-ink: #ece3de;--bubble-mine: #2f5b34;--bubble-mine-ink: #dcf3d3;--panel: #1f1a18;--border-soft: rgba(255, 255, 255, .1);--input-bg: #241e1b}h1,h2,h3,h4{margin:0 0 8px;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--ink)}h1{font-size:clamp(24px,3.2vw,30px)}h2{font-size:19px}h3{font-size:16px}p{margin:0 0 10px}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit;font-size:14px;color:inherit}::selection{background:var(--rose-soft);color:var(--rose-deep)}.app-bg .grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;opacity:.07;mix-blend-mode:multiply;pointer-events:none}:root[data-theme=dark] .app-bg .grain{opacity:.06;mix-blend-mode:overlay}.page-enter-active{transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.page-leave-active{transition:opacity .14s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}}.app-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(196,79,106,.16) 1px,transparent 1.2px);background-size:15px 15px;opacity:.45;pointer-events:none}:root[data-theme=dark] .app-bg:before{background-image:radial-gradient(circle,rgba(255,166,182,.16) 1px,transparent 1.2px);opacity:.3}.app-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.app-bg span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:float 18s ease-in-out infinite}.app-bg span:nth-child(1){width:380px;height:380px;left:-120px;top:-80px;background:var(--glow-1)}.app-bg span:nth-child(2){width:320px;height:320px;right:-100px;top:120px;background:var(--glow-2);animation-delay:-6s}.app-bg span:nth-child(3){width:300px;height:300px;left:42%;bottom:-140px;background:var(--glow-3);animation-delay:-12s}@keyframes float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(18px,-24px,0) scale(1.06)}}.main{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:30px 24px 96px}.main>section{animation:rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{display:inline-flex;align-items:center;gap:10px}.page-head h1:before{content:"✿";font-size:.62em;color:var(--rose-2);opacity:.85}.page-head .sub{color:var(--muted);font-size:13px;margin:4px 0 0}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card-hover{transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,border-color .22s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e46a8047}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:999px;border:1px solid transparent;background:linear-gradient(135deg,var(--rose-2),var(--rose) 55%,var(--rose-deep));color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 20px -10px #c44f6abf,inset 0 1px #ffffff59;transition:transform .14s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 12px 26px -10px #c44f6acc,inset 0 1px #fff6}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn.ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink-soft);box-shadow:var(--shadow-xs)}.btn.ghost:hover{background:var(--surface-2);border-color:#e46a8066;color:var(--rose-deep);box-shadow:var(--shadow-sm)}.btn.soft{background:var(--rose-soft);color:var(--rose-deep);box-shadow:none}.btn.soft:hover{background:#fbd9e2}.btn.danger{background:var(--surface);border-color:#f3c9c9;color:var(--danger);box-shadow:var(--shadow-xs)}.btn.danger:hover{background:#c04b4b1f;border-color:#eab5b5}.btn.sm{padding:7px 13px;font-size:12.5px}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field>label{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.input,.textarea,.select{width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--input-bg);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.input:hover,.textarea:hover,.select:hover{border-color:#e46a8059}.input:focus,.textarea:focus,.select:focus{background:var(--surface);border-color:var(--rose-2);box-shadow:0 0 0 4px #e46a8021}.textarea{min-height:116px;resize:vertical;line-height:1.7}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1;min-width:160px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--rose-soft);color:var(--rose-deep);font-size:11.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.chip.muted{background:#f6f1ef;color:var(--muted)}.chip.ok{background:#eaf5ee;color:var(--ok)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f27246b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto;z-index:60}.dialog{width:100%;max-width:640px;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:26px;animation:pop .24s cubic-bezier(.22,1,.36,1)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.dialog-head h2{margin:0}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.icon-btn{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:6px 10px;border-radius:12px;transition:background .16s,color .16s}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}@keyframes pop{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}.empty{text-align:center;color:var(--muted);padding:56px 20px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-2);font-size:13.5px}.empty .big{font-size:38px;display:block;margin-bottom:10px;filter:saturate(.9)}.muted{color:var(--muted)}.small{font-size:12.5px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(8px)}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%);background:#2f2724f0;color:#fff;padding:11px 20px;border-radius:999px;font-size:13.5px;box-shadow:0 18px 40px -16px #00000080;z-index:90;max-width:88vw;text-align:center;animation:pop .2s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c44f6a38;border-radius:10px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#c44f6a66;background-clip:content-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:640px){.main{padding:18px 14px 84px}.card{padding:16px;border-radius:18px}.dialog{padding:20px;border-radius:22px}}
