:root{--c-brand:#22c7d6;--c-brand-hover:#67e3ee;--c-brand-bg:#12343a;--c-bg-dark:#08111a;--c-surface-dark-1:#0f1b29;--c-surface-dark-2:#162435;--c-border-dark:#2b3b4f;--c-text-dark-1:#f4f7fb;--c-text-dark-2:#aab6c5;--c-bg-light:#f4f7fa;--c-surface-light-1:#fff;--c-surface-light-2:#e9eef3;--c-border-light:#d6dee6;--c-text-light-1:#1b2530;--c-text-light-2:#5e6b78;--c-success:#2f9e73;--c-warning:#d39a32;--c-error:#d85c5c;--c-info:#3e7bdb;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--shadow-soft:0 10px 24px rgba(57,69,84,.06);--shadow-card:0 18px 40px rgba(40,48,60,.08);--shadow-lift:0 22px 42px rgba(36,45,58,.12);--header-height:64px;--font-display:"Space Grotesk","Sora",sans-serif;--font-body:"Noto Sans SC","Source Han Sans SC",-apple-system,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--c-bg-light);color:var(--c-text-light-1);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}.page-container{margin:0 auto;max-width:1280px;padding:var(--sp-6);width:100%}.page-container-admin{margin:0 auto;max-width:960px;padding:var(--sp-6) var(--sp-4);width:100%}.btn{align-items:center;border:1px solid rgba(17,24,39,.08);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:var(--sp-2);justify-content:center;padding:10px 18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:focus-visible{box-shadow:0 0 0 4px #22c7d624,var(--shadow-soft);outline:none}.btn-primary{background:linear-gradient(180deg,#2acfddfa,#1ab8c6fa);border-color:#14919c66;color:#06252a}.btn-primary:not(:disabled):hover{background:linear-gradient(180deg,#52e0ecfa,#22c7d6fa);border-color:#22c7d68c;box-shadow:0 16px 28px #22c7d633}.btn-secondary{background:#ffffffb8;border-color:#7b899933;color:var(--c-text-light-1)}.btn-secondary:not(:disabled):hover{background-color:#ffffffeb;border-color:#7b899957;box-shadow:var(--shadow-card)}.btn-danger{background:linear-gradient(180deg,#e36868f5,#d04f4ff5);border-color:#b03a3a52;color:#fff}.btn-danger:not(:disabled):hover{background:linear-gradient(180deg,#dc5656f5,#c04a4af5);box-shadow:0 16px 28px #d85c5c2e}.btn-ghost-brand{background-color:#22c7d614;border-color:#22c7d666;box-shadow:0 2px 8px #22c7d60d;color:var(--c-brand)}.btn-ghost-brand:hover{background-color:#22c7d626;border-color:var(--c-brand);box-shadow:0 4px 12px #22c7d633}.btn-lg{border-radius:var(--radius-md);font-size:16px;padding:14px 24px}.card{background:var(--c-surface-light-1);border:1px solid var(--c-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:var(--sp-4)}.card-dark{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1b29cc;border:1px solid var(--c-border-dark);border-radius:var(--radius-lg);color:var(--c-text-dark-1);padding:var(--sp-6)}.form-group{margin-bottom:var(--sp-4)}.form-label{display:block;font-weight:500;margin-bottom:var(--sp-2)}.form-input,.form-label{color:var(--c-text-light-1);font-size:14px}.form-input{background-color:var(--c-surface-light-1);border:1px solid var(--c-border-light);border-radius:var(--radius-sm);font-family:inherit;padding:var(--sp-2) var(--sp-3);transition:border-color .2s;width:100%}.form-input:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px #22c7d61a;outline:none}.form-input:disabled{background-color:var(--c-surface-light-2);color:var(--c-text-light-2)}.form-error-msg{color:var(--c-error);font-size:13px;margin-top:var(--sp-1)}.alert{border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4)}.alert-success{background-color:#2f9e731a;border-color:#2f9e7333;color:var(--c-success)}.alert-error{background-color:#d85c5c1a;border-color:#d85c5c33;color:var(--c-error)}.alert-info{background-color:#3e7bdb1a;border-color:#3e7bdb33;color:var(--c-info)}.theme-dark{background-color:var(--c-bg-dark);color:var(--c-text-dark-1)}.theme-dark .form-label{color:var(--c-text-dark-2)}.theme-dark .form-input{background-color:var(--c-surface-dark-2);border-color:var(--c-border-dark);color:var(--c-text-dark-1)}.theme-dark .form-input:focus{border-color:var(--c-brand)}@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}.card-light-gray{background:#f0f2f5eb;border:1px solid transparent;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000f;color:var(--c-text-light-1);padding:var(--sp-6);position:relative;transition:box-shadow .28s ease;z-index:0}.card-light-gray:before{animation:card-border-flow 7s linear infinite;background:conic-gradient(from var(--border-angle),rgba(34,199,214,.25),rgba(200,206,214,.12) 25%,rgba(34,199,214,.25) 50%,rgba(200,206,214,.12) 75%,rgba(34,199,214,.25));border-radius:inherit;content:"";inset:-1px;position:absolute;z-index:-2}.card-light-gray:after{background:#f0f2f5eb;border-radius:calc(var(--radius-lg) - 1px);content:"";inset:1px;position:absolute;z-index:-1}@keyframes card-border-flow{to{--border-angle:360deg}}.card-light-gray:hover{box-shadow:0 4px 14px #00000017}.btn-cyzj-light{animation:cyzj-btn-breathe 3s ease-in-out infinite;background:#f5f6f8f2;border:1px solid rgba(200,206,214,.55);box-shadow:0 1px 4px #0000000f,0 0 6px #22c7d614;color:var(--c-text-light-1);overflow:hidden;position:relative;transition:box-shadow .32s ease,border-color .32s ease,background-color .32s ease,border-radius .38s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1)}.btn-cyzj-light:not(:disabled):hover{background:#fafbfcfa;border-color:#22c7d659;border-radius:var(--radius-xl);box-shadow:0 4px 18px #22c7d638,0 0 12px #22c7d626;transform:translateY(-3px) scale(1.03)}.btn-cyzj-light:not(:disabled):active{background:#eef0f3f2;box-shadow:0 1px 3px #0000000f;transform:translateY(0) scale(1)}@keyframes cyzj-btn-breathe{0%,to{box-shadow:0 1px 4px #0000000f,0 0 6px #22c7d614}50%{box-shadow:0 1px 4px #0000000f,0 0 14px #22c7d62e}}.ripple-effect{animation:ripple-expand .5s ease-out forwards;background:#22c7d638;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}@keyframes ripple-expand{to{opacity:0;transform:scale(4)}}.mouse-trail-dot{animation:trail-fade .4s ease-out forwards;background:#c8d2dc80;border-radius:1px;height:6px;pointer-events:none;position:fixed;width:6px;z-index:9999}@keyframes trail-fade{to{opacity:0;transform:scale(.2)}}.typewriter-char{display:inline;opacity:0;transition:opacity .15s ease}.typewriter-char.visible{opacity:1}@media(prefers-reduced-motion:reduce){.btn-cyzj-light{animation:none}.btn-cyzj-light:not(:disabled):hover{border-radius:var(--radius-md);transform:none}.card-light-gray:before{animation:none}.ripple-effect{animation:none;display:none}.mouse-trail-dot{display:none}.typewriter-char{opacity:1;transition:none}.cyzj-fade-in{animation:none}}.navbar[data-v-3854f9c8]{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1b29f2;border-bottom:1px solid var(--c-border-dark);color:var(--c-text-dark-1);height:var(--header-height);position:sticky;top:0;width:100%;z-index:1000}.nav-links[data-v-3854f9c8],.navbar[data-v-3854f9c8]{display:flex;justify-content:center}.nav-links[data-v-3854f9c8]{gap:var(--sp-6);list-style:none;margin:0;padding:0}.nav-links li[data-v-3854f9c8],.nav-links li a[data-v-3854f9c8]{position:relative}.nav-links li a[data-v-3854f9c8]{border-radius:var(--radius-sm);color:var(--c-text-dark-2);display:inline-block;font-size:14px;font-weight:500;padding:var(--sp-2) var(--sp-3);text-decoration:none;transition:color .3s ease}.nav-links li a[data-v-3854f9c8]:after{background-color:var(--c-brand);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translate(-50%);transition:all .3s ease;width:0}.nav-links li a[data-v-3854f9c8]:hover{color:var(--c-text-dark-1)}.nav-links li a[data-v-3854f9c8]:hover:after{width:100%}.nav-links li a.router-link-active[data-v-3854f9c8]{color:var(--c-brand)}.nav-links li a.router-link-active[data-v-3854f9c8]:after{width:100%}.admin-link[data-v-3854f9c8]{border-radius:var(--radius-sm);color:var(--c-text-dark-2);font-size:20px;padding:var(--sp-1);position:absolute;right:var(--sp-4);text-decoration:none;top:50%;transform:translateY(-50%);transition:color .3s ease}.admin-link[data-v-3854f9c8]:hover{color:var(--c-brand)}.footer[data-v-fd94788e]{background:var(--c-surface-dark-1);border-top:1px solid var(--c-border-dark);margin-top:auto;padding:var(--sp-4) 0;width:100%}.footer-content[data-v-fd94788e]{align-items:center;display:flex;justify-content:center;margin:0;padding:0}.beian-link[data-v-fd94788e]{color:var(--c-text-dark-2);font-size:14px;text-decoration:none;transition:color .3s ease}.beian-link[data-v-fd94788e]:hover{color:var(--c-brand);text-decoration:underline}@media(max-width:768px){.footer[data-v-fd94788e]{padding:var(--sp-3) 0}.beian-link[data-v-fd94788e]{font-size:12px}}.app-container[data-v-1c6c5f47]{display:flex;flex-direction:column;min-height:100vh}.main-content[data-v-1c6c5f47]{display:flex;flex:1;flex-direction:column}.error-container[data-v-2a37809c]{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;text-align:center}.error-content[data-v-2a37809c]{background-color:#fff;border-radius:8px;box-shadow:0 4px 10px #0000001a;max-width:500px;padding:2rem}h1[data-v-2a37809c]{color:#42b983;font-size:6rem;margin:0}h2[data-v-2a37809c]{font-size:2rem;margin-bottom:1rem;margin-top:0}p[data-v-2a37809c]{color:#666;margin-bottom:2rem}button[data-v-2a37809c]{background-color:#42b983;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .3s}button[data-v-2a37809c]:hover{background-color:#3aa876}
