:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-50:var(--lightningcss-light,#f3f1ff)var(--lightningcss-dark,#1c1936);--brand-100:var(--lightningcss-light,#e7e3ff)var(--lightningcss-dark,#262148);--brand-200:var(--lightningcss-light,#cec7ff)var(--lightningcss-dark,#35306a);--brand-300:var(--lightningcss-light,#ada1ff)var(--lightningcss-dark,#b3a8ff);--brand-400:var(--lightningcss-light,#8574fa)var(--lightningcss-dark,#a294ff);--brand-500:var(--lightningcss-light,#5849ef)var(--lightningcss-dark,#6a5cf0);--brand-600:var(--lightningcss-light,#4534d6)var(--lightningcss-dark,#8b7cf7);--brand-700:var(--lightningcss-light,#3727ad)var(--lightningcss-dark,#b3a8ff);--brand-800:var(--lightningcss-light,#2b1e87)var(--lightningcss-dark,#cec7ff);--ink-900:var(--lightningcss-light,#14151f)var(--lightningcss-dark,#f4f5f9);--ink-800:var(--lightningcss-light,#1d1e27)var(--lightningcss-dark,#e4e6ee);--ink-700:var(--lightningcss-light,#2d2d3a)var(--lightningcss-dark,#cdd0dc);--ink-600:var(--lightningcss-light,#4a4b5a)var(--lightningcss-dark,#a8abbb);--ink-500:var(--lightningcss-light,#6b6d7f)var(--lightningcss-dark,#8b8ea0);--ink-400:var(--lightningcss-light,#8b8d9e)var(--lightningcss-dark,#71748a);--ink-300:var(--lightningcss-light,#a7a9b9)var(--lightningcss-dark,#5b5e73);--ink-200:var(--lightningcss-light,#d6d8e2)var(--lightningcss-dark,#343846);--ink-150:var(--lightningcss-light,#e6e8f0)var(--lightningcss-dark,#272a36);--ink-100:var(--lightningcss-light,#ecedf3)var(--lightningcss-dark,#20222d);--ink-50:var(--lightningcss-light,#f6f7fb)var(--lightningcss-dark,#1a1c25);--success:var(--lightningcss-light,#22a06b)var(--lightningcss-dark,#3ecf8e);--success-soft:var(--lightningcss-light,#e7f6ef)var(--lightningcss-dark,#12291f);--warning:var(--lightningcss-light,#e8a100)var(--lightningcss-dark,#f0b429);--warning-soft:var(--lightningcss-light,#fff6e0)var(--lightningcss-dark,#2e2411);--danger:var(--lightningcss-light,#e5484d)var(--lightningcss-dark,#f2555a);--danger-soft:var(--lightningcss-light,#fdecec)var(--lightningcss-dark,#2e1517);--info:var(--lightningcss-light,#2f80ed)var(--lightningcss-dark,#5aa2f5);--info-soft:var(--lightningcss-light,#eaf2fe)var(--lightningcss-dark,#14243c);--star:#fdb528;--pink:var(--lightningcss-light,#d55cb6)var(--lightningcss-dark,#e07cc6);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#16171f);--surface-2:var(--lightningcss-light,#fafbff)var(--lightningcss-dark,#191b23);--surface-3:var(--lightningcss-light,#f4f6fd)var(--lightningcss-dark,#1d1f29);--canvas:var(--lightningcss-light,#f2f4fb)var(--lightningcss-dark,#0e0f15);--overlay:var(--lightningcss-light,#14151f73)var(--lightningcss-dark,#000000a6);--glass:var(--lightningcss-light,#ffffffb8)var(--lightningcss-dark,#1a1c26bd);--glass-strong:var(--lightningcss-light,#ffffffeb)var(--lightningcss-dark,#1a1c26eb);--glass-border:var(--lightningcss-light,#ffffffe6)var(--lightningcss-dark,#ffffff1a);--footer-bg:var(--lightningcss-light,#14151f)var(--lightningcss-dark,#0b0c12);--footer-title:var(--lightningcss-light,#fff)var(--lightningcss-dark,#f4f5f9);--footer-text:var(--lightningcss-light,#a7a9b9)var(--lightningcss-dark,#9b9eb0);--footer-muted:var(--lightningcss-light,#8b8d9e)var(--lightningcss-dark,#83869a);--footer-faint:var(--lightningcss-light,#6b6d7f)var(--lightningcss-dark,#6f7286);--footer-sep:var(--lightningcss-light,#2d2d3a)var(--lightningcss-dark,#2a2d3b);--footer-line:#ffffff14;--text-strong:var(--ink-900);--text:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-300);--text-on-brand:#fff;--border:var(--ink-150);--border-strong:var(--ink-200);--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-4xl:46px;--lh-tight:1.25;--lh-snug:1.4;--lh-normal:1.6;--lh-relaxed:1.8;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--field-label-w:88px;--radius-xs:4px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:var(--lightningcss-light,0 1px 2px #14151f0d)var(--lightningcss-dark,0 1px 2px #00000073);--shadow-sm:var(--lightningcss-light,0 2px 6px #14151f0f)var(--lightningcss-dark,0 2px 6px #00000080);--shadow:var(--lightningcss-light,0 6px 18px #14151f14)var(--lightningcss-dark,0 6px 18px #0000008c);--shadow-lg:var(--lightningcss-light,0 16px 40px #14151f1f)var(--lightningcss-dark,0 16px 40px #0009);--shadow-brand:var(--lightningcss-light,0 8px 24px #5849ef47)var(--lightningcss-dark,0 8px 24px #6a5cf066);--z-header:100;--z-drawer:200;--z-dropdown:300;--z-dialog:400;--z-toast:500;--container:1200px;--header-h:68px;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.15s;--dur:.25s;--dur-slow:.45s;--hero-bg:linear-gradient(160deg, #f3f1ff 0%, #eef3ff 46%, var(--canvas) 100%);--auth-bg:radial-gradient(900px 480px at 92% 8%, #e5f0ff 0%, transparent 58%), radial-gradient(760px 460px at 6% 96%, #f0eaff 0%, transparent 60%), var(--canvas);--deco-1:#9ec5ff;--deco-2:#d9ccff}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--hero-bg:linear-gradient(160deg, #191a2e 0%, #151b28 46%, var(--canvas) 100%);--auth-bg:radial-gradient(900px 480px at 92% 8%, #1b2740 0%, transparent 58%), radial-gradient(760px 460px at 6% 96%, #241f45 0%, transparent 60%), var(--canvas);--deco-1:#2f4570;--deco-2:#3b3268;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur:.01ms;--dur-slow:.01ms}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--lh-tight);color:var(--text-strong);margin:0}hr,ol,p,ul{margin:0}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none}button,input,select,textarea{font:inherit;color:inherit}ol,ul{padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0}hr{border:none;border-top:1px solid var(--border)}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--brand-200);color:var(--brand-800)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.container{width:100%;max-width:var(--container);padding:0 var(--sp-5);margin:0 auto}.stack{flex-direction:column}.row,.stack{display:flex}.btn,.row{align-items:center}.spacer{flex:1}.clamp-1,.clamp-2,.clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-1{-webkit-line-clamp:1;line-clamp:1}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.section-eyebrow,.text-brand{color:var(--brand-500)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-eyebrow{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--sp-2);font-weight:600;display:inline-block}.section-title{font-size:clamp(24px,3vw,var(--fs-3xl));letter-spacing:-.01em;font-weight:700}.section-desc{margin-top:var(--sp-3);max-width:640px;font-size:var(--fs-md);color:var(--text-muted);line-height:var(--lh-relaxed)}.section-head--center{text-align:center}.section-head--center .section-desc{margin-left:auto;margin-right:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.btn{justify-content:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-5);border-radius:var(--radius);font-size:var(--fs-base);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand-500);color:var(--text-on-brand);box-shadow:0 1px 2px #5849ef33}.btn--primary:hover:not(:disabled){background:var(--brand-600);box-shadow:var(--shadow-brand)}.btn--ghost{color:var(--text);border:1px solid var(--border-strong);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300)}.btn--soft{background:var(--brand-50);color:var(--brand-600)}.btn--soft:hover:not(:disabled){background:var(--brand-100)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 88%,#000)}.btn--lg{height:48px;padding:0 var(--sp-8);font-size:var(--fs-md);border-radius:var(--radius-lg)}.btn--sm{height:32px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.btn--block{width:100%}html.js .reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);transform:translateY(18px)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1;transition:none;transform:none}}.page-enter-active,.page-leave-active{transition:opacity var(--dur) var(--ease)}.page-enter-from,.page-leave-to{opacity:0}.admin-page__shell{gap:var(--sp-4);flex-direction:column;display:flex}.admin-page__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.admin-page__title{font-size:var(--fs-2xl);color:var(--text-strong)}.admin-page__desc{font-size:var(--fs-base);color:var(--text-muted);max-width:640px;line-height:var(--lh-relaxed);margin-top:4px}.admin-page__error{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.admin-page__empty{padding:var(--sp-6);text-align:center;font-size:var(--fs-sm);color:var(--text-faint)}.admin-page__filters{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.admin-page__search{flex:0 0 280px;width:280px}.admin-page__select{flex:0 0 150px;width:150px}.admin-page__select--wide{flex-basis:240px;width:240px}.admin-page__row{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=640px){.admin-page__row{grid-template-columns:1fr}}.admin-page__search-label{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;cursor:pointer}.admin-page__summary{font-size:var(--fs-sm);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.admin-page__actions{gap:var(--sp-1);justify-content:flex-end;display:flex}.admin-page__cell-strong{color:var(--text-strong);font-weight:600}.admin-page__dash{color:var(--text-faint)}.admin-page__name{flex-direction:column;gap:2px;min-width:160px;display:flex}.admin-page__name-en{font-size:var(--fs-xs);color:var(--text-muted)}.admin-page__name-en.is-empty{color:var(--text-faint);font-style:italic}.admin-page__demo{border-radius:var(--radius-xs);background:var(--ink-100);color:var(--text-muted);font-size:var(--fs-xs);align-self:flex-start;margin-top:2px;padding:1px 6px}.admin-page__detail{word-break:break-word}.admin-page__online{color:var(--success);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.admin-page__online-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.admin-page__muted{color:var(--text-faint)}.admin-page__mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.admin-page__dialog-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-relaxed);margin-bottom:var(--sp-4)}.admin-page__dialog-danger{font-size:var(--fs-md);color:var(--text-strong);margin-bottom:var(--sp-2);font-weight:600}.admin-page__form{gap:var(--sp-4);flex-direction:column;display:flex}@media (width<=767px){.admin-page__search,.admin-page__select{width:100%}}.toast-host[data-v-fc50d9a1]{top:var(--sp-6);z-index:var(--z-toast);pointer-events:none;flex-direction:column;width:max-content;max-width:calc(100vw - 32px);position:fixed;left:50%;transform:translate(-50%)}.toast[data-v-fc50d9a1],.toast-host[data-v-fc50d9a1]{gap:var(--sp-2);align-items:center;display:flex}.toast[data-v-fc50d9a1]{pointer-events:auto;padding:10px var(--sp-4);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--border);font-size:var(--fs-base);color:var(--text);cursor:pointer}.toast__icon[data-v-fc50d9a1]{flex:none;width:18px;height:18px}.toast__arrow[data-v-fc50d9a1]{width:14px;height:14px;color:var(--text-faint);flex:none}.toast--info .toast__icon[data-v-fc50d9a1]{color:var(--info)}.toast--success .toast__icon[data-v-fc50d9a1]{color:var(--success)}.toast--warning .toast__icon[data-v-fc50d9a1]{color:var(--warning)}.toast--error .toast__icon[data-v-fc50d9a1]{color:var(--danger)}.toast--error[data-v-fc50d9a1]{border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.toast--success[data-v-fc50d9a1]{border-color:color-mix(in srgb,var(--success) 30%,transparent)}.toast-enter-active[data-v-fc50d9a1],.toast-leave-active[data-v-fc50d9a1]{transition:all var(--dur) var(--ease)}.toast-enter-from[data-v-fc50d9a1]{opacity:0;transform:translateY(-12px)scale(.96)}.toast-leave-to[data-v-fc50d9a1]{opacity:0;transform:translateY(-8px)scale(.98)}.toast-move[data-v-fc50d9a1]{transition:transform var(--dur) var(--ease)}.confirm[data-v-fc50d9a1]{z-index:var(--z-dialog);background:var(--overlay);padding:var(--sp-5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm__panel[data-v-fc50d9a1]{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--sp-6);box-shadow:var(--shadow-lg)}.confirm__title[data-v-fc50d9a1]{font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.confirm__message[data-v-fc50d9a1]{color:var(--text-muted);line-height:var(--lh-relaxed);white-space:pre-wrap}.confirm__actions[data-v-fc50d9a1]{margin-top:var(--sp-6);justify-content:flex-end;gap:var(--sp-3);display:flex}.app-root[data-v-58f130d4]{flex-direction:column;min-height:100vh;display:flex}.btn__spinner[data-v-cc4c5d72]{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite btn-spin-cc4c5d72}@keyframes btn-spin-cc4c5d72{to{transform:rotate(1turn)}}.error-page[data-v-474cac4c]{min-height:100vh;padding:var(--sp-6);background:radial-gradient(900px 480px at 20% -10%,var(--brand-100) 0,transparent 60%),var(--canvas);justify-content:center;align-items:center;display:flex}.error-page__box[data-v-474cac4c]{text-align:center;max-width:480px}.error-page__code[data-v-474cac4c]{letter-spacing:-.04em;background:linear-gradient(120deg,var(--brand-500),var(--pink));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:calc(clamp(72px,14vw,120px));font-weight:800;line-height:1}.error-page__title[data-v-474cac4c]{margin-top:var(--sp-4);font-size:var(--fs-2xl)}.error-page__desc[data-v-474cac4c]{margin-top:var(--sp-3);font-size:var(--fs-md);color:var(--text-muted);line-height:var(--lh-relaxed)}.error-page__actions[data-v-474cac4c]{margin-top:var(--sp-8);gap:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}
