[data-v-ad330889]:root{--color-primary: #2F6B5E;--color-link: #4F7CFF;--color-bronze: #2F6B5E;--color-ochre: #A85B2A;--color-cinnabar: #C0392B;--color-gold: #D4A017;--color-paper: #F7F3E9;--color-ink: #2B2622;--color-ink-secondary: #6B655E;--color-ink-disabled: #B8B2A9;--color-success: #2E8B57;--color-warning: #E08E0B;--color-danger: #C0392B;--color-bg: #F7F3E9;--color-card: #FFFFFF;--color-border: #E5DFD3;--color-mask: rgba(0, 0, 0, .5);--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 20px;--font-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-card: 0 2px 8px rgba(43, 38, 34, .08);--shadow-float: 0 6px 20px rgba(43, 38, 34, .16);--z-content: 1;--z-sticky: 10;--z-companion: 900;--z-modal: 1000;--z-toast: 2000;--quality-common: #94A3B8;--quality-rare: #4F7CFF;--quality-epic: #7C3AED;--quality-legendary: #D4A017}[data-theme=dark][data-v-ad330889]{--color-primary: #4A8F7F;--color-link: #6E9BFF;--color-bronze: #4A8F7F;--color-ochre: #C67A45;--color-cinnabar: #E05548;--color-gold: #E3B94A;--color-paper: #1E1B18;--color-ink: #E8E2D8;--color-ink-secondary: #9A938A;--color-ink-disabled: #5C5750;--color-success: #3BA56E;--color-warning: #E8A83A;--color-danger: #E05548;--color-bg: #161412;--color-card: #262320;--color-border: #3A362F;--color-mask: rgba(0, 0, 0, .6);--shadow-card: 0 2px 8px rgba(0, 0, 0, .4);--shadow-float: 0 6px 20px rgba(0, 0, 0, .55)}.admin-shell[data-v-ad330889]{min-height:100vh;background:var(--color-bg)}.sidebar[data-v-ad330889]{display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1d2e,#252a3d);color:#fff;border-right:1px solid rgba(255,255,255,.08)}.brand[data-v-ad330889]{display:flex;align-items:center;gap:10px;padding:16px 18px}.brand-mark[data-v-ad330889]{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-size:16px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-ochre))}.brand-name[data-v-ad330889]{font-size:14px;font-weight:800;color:#fff}.menu[data-v-ad330889]{flex:1;border-right:none;padding:0 8px}.menu[data-v-ad330889] .el-menu-item{border-radius:8px;margin-bottom:2px;height:44px;transition:background-color .2s ease,color .2s ease}.menu[data-v-ad330889] .el-menu-item:hover{background:#ffffff0f;color:#fff}.menu[data-v-ad330889] .el-menu-item.is-active{background:#4f7cff2e;color:#fff;border-right:3px solid var(--el-color-primary)}.main[data-v-ad330889]{min-width:0}.topbar[data-v-ad330889]{display:flex;align-items:center;justify-content:space-between;background:var(--color-card);border-bottom:1px solid var(--color-border)}.topbar-right[data-v-ad330889]{display:flex;align-items:center;gap:16px}.notice-list[data-v-ad330889]{display:flex;flex-direction:column;gap:10px}.notice-item[data-v-ad330889]{padding:8px 4px;border-bottom:1px dashed var(--color-border)}.notice-item[data-v-ad330889]:last-child{border-bottom:none}.notice-title[data-v-ad330889]{font-size:13px;font-weight:700}.notice-desc[data-v-ad330889]{margin-top:2px;font-size:12px;color:var(--color-ink-secondary)}.notice-time[data-v-ad330889]{margin-top:2px;font-size:11px;color:var(--color-ink-secondary)}.theme-label[data-v-ad330889]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-ink-secondary);cursor:pointer;white-space:nowrap}.avatar-wrap[data-v-ad330889]{display:flex;align-items:center;gap:8px;cursor:pointer}.avatar[data-v-ad330889]{background:var(--el-color-primary);color:#fff}.admin-name[data-v-ad330889]{font-size:13px;font-weight:600}.content[data-v-ad330889]{padding:20px}:root{--color-primary: #2F6B5E;--color-link: #4F7CFF;--color-bronze: #2F6B5E;--color-ochre: #A85B2A;--color-cinnabar: #C0392B;--color-gold: #D4A017;--color-paper: #F7F3E9;--color-ink: #2B2622;--color-ink-secondary: #6B655E;--color-ink-disabled: #B8B2A9;--color-success: #2E8B57;--color-warning: #E08E0B;--color-danger: #C0392B;--color-bg: #F7F3E9;--color-card: #FFFFFF;--color-border: #E5DFD3;--color-mask: rgba(0, 0, 0, .5);--font-xs: 12px;--font-sm: 14px;--font-md: 16px;--font-lg: 20px;--font-xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-card: 0 2px 8px rgba(43, 38, 34, .08);--shadow-float: 0 6px 20px rgba(43, 38, 34, .16);--z-content: 1;--z-sticky: 10;--z-companion: 900;--z-modal: 1000;--z-toast: 2000;--quality-common: #94A3B8;--quality-rare: #4F7CFF;--quality-epic: #7C3AED;--quality-legendary: #D4A017}[data-theme=dark]{--color-primary: #4A8F7F;--color-link: #6E9BFF;--color-bronze: #4A8F7F;--color-ochre: #C67A45;--color-cinnabar: #E05548;--color-gold: #E3B94A;--color-paper: #1E1B18;--color-ink: #E8E2D8;--color-ink-secondary: #9A938A;--color-ink-disabled: #5C5750;--color-success: #3BA56E;--color-warning: #E8A83A;--color-danger: #E05548;--color-bg: #161412;--color-card: #262320;--color-border: #3A362F;--color-mask: rgba(0, 0, 0, .6);--shadow-card: 0 2px 8px rgba(0, 0, 0, .4);--shadow-float: 0 6px 20px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*,*:before,*:after{font-variant-emoji:text}html{font-size:16px;-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-ink);font-family:Nunito Sans Variable,Noto Sans SC,PingFang SC,-apple-system,sans-serif;font-size:var(--font-sm);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;word-break:break-word;overflow-wrap:break-word}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:var(--font-sm);color:var(--color-ink);background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-3);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 8%,transparent)}a{color:var(--color-link);text-decoration:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.pad{padding-inline:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.h2{font-size:var(--font-md);font-weight:700;color:var(--color-ink);line-height:1.3}.h3{font-size:var(--font-sm);font-weight:600;color:var(--color-ink);line-height:1.35}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-muted{color:var(--color-ink-secondary)}.text-center{text-align:center}.meta{font-size:var(--font-xs);color:var(--color-ink-secondary);font-weight:500}.num{font-feature-settings:"tnum"}button,[role=button],a{cursor:pointer}button:active,[role=button]:active{transform:scale(.97)}button:disabled,[role=button]:disabled{cursor:not-allowed;opacity:.5;transform:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}@keyframes resultPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:1}}.sk-bar{height:14px;border-radius:var(--radius-sm);background:var(--color-border);animation:shimmer 1.4s ease-in-out infinite}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card-in{animation:cardIn .35s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger-i, 0) * .06s)}.press-scale:active{transform:scale(.97)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:pulse 1.6s ease-in-out infinite}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;outline-style:dashed}
