:root{--color-surface:#050505;--color-card-bg:#12121c99;--color-card-hover:#161622cc;--color-accent:#9d00ff;--color-accent-light:#dfb7ff;--color-accent-dim:#6a2a8a;--color-tertiary:#00dbe9;--color-tertiary-dim:#00767e;--color-text-primary:#e5e2e1;--color-text-secondary:#d1c1d9;--color-text-muted:#a898b0;--color-text-dim:#6a5a72;--color-border-card:#4e435640;--color-border-hover:#9d00ff4d;--color-outline:#4e4356;--color-outline-variant:#3a2a4a;--color-on-surface:#e5e2e1;--color-on-surface-variant:#a898b0;--color-primary:#dfb7ff;--color-primary-container:#9d00ff;--color-inverse-primary:#9d00ff;--color-on-primary-container:#fff;--color-secondary:#d05bff;--color-tertiary-container:#00767e;--color-on-tertiary-container:#fff;--color-tertiary-fixed-dim:#00dbe9;--color-surface-container-highest:#1e1e28cc;--color-surface-container-lowest:#0a0a0f;--font-sans:"Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"Space Mono", monospace;--font-display:"Sora", sans-serif;--text-headline-lg:24px;--text-headline-md:20px;--text-headline-sm:18px;--text-body-md:14px;--text-body-sm:13px;--text-label-md:12px;--text-label-sm:11px;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-gutter:24px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-glow:0 0 15px #9d00ff4d;--shadow-glow-hover:0 0 25px #9d00ff80}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100vh}body{font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font-family:inherit}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.loading{color:var(--color-text-dim);justify-content:center;align-items:center;padding:60px 20px;font-size:14px;display:flex}.loading:after{content:"";border:2px solid var(--color-border-card);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;margin-left:8px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:var(--color-text-dim);text-align:center;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.empty-state .empty-icon{margin-bottom:12px;font-size:48px}.empty-state p{font-size:14px}.toast-container{z-index:1000;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.toast{border-radius:var(--radius-md);max-width:360px;padding:12px 20px;font-size:14px;animation:.3s toastIn;box-shadow:0 4px 12px #0000004d}.toast-success{color:#fff;background:#00c853}.toast-error{color:#fff;background:#ff1744}.toast-info{background:var(--color-accent);color:#fff}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.divider{background:var(--color-border-card);height:1px;margin:20px 0}@media (max-width:768px){.page-container{padding:16px 12px}.page-title{font-size:20px}.hide-mobile{display:none!important}}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-semibold{color:var(--color-text-primary);font-weight:600}.text-right{text-align:right}.text-primary{color:var(--color-accent-light);font-family:var(--font-mono)}.text-sm{font-size:12px}.text-error{color:#ff5252}.table-container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#0f0f15b3;border:1px solid #2a2a35cc;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;font-size:11px;font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;background:#9d00ff0d;border-bottom:1px solid #4e435633;padding:16px}.data-table td{border-bottom:1px solid #2a2a3526;padding:16px;font-size:13px}.table-row:hover td{background:#16162080}.admin-page{min-height:100vh;color:var(--color-text-primary);background:#050505;flex-direction:column;display:flex}.admin-page .main-content{flex:1;padding:88px 24px 24px;overflow-y:auto}@media (min-width:768px){.admin-page .main-content{margin-left:240px;padding-top:24px}}.edit-form-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#0f0f15b3;border:1px solid #2a2a35cc;margin-bottom:24px;padding:24px}.edit-form-title{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:20px;font-size:16px;font-weight:600}.edit-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.edit-form-field-full{grid-column:1/-1}.edit-form-label{color:var(--color-text-muted);margin-bottom:6px;font-size:12px;display:block}.edit-form-input,.edit-form-textarea,.edit-form-select{border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);background:#ffffff0a;border:1px solid #2a2a35cc;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.edit-form-input:focus,.edit-form-textarea:focus,.edit-form-select:focus{border-color:var(--color-accent);box-shadow:0 0 12px #9d00ff26}.edit-form-textarea{resize:vertical}.edit-form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}@media (max-width:600px){.edit-form-grid{grid-template-columns:1fr}}.toast-container[data-v-8be30af5]{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:20px;right:20px}.toast[data-v-8be30af5]{border-radius:var(--radius-md);cursor:pointer;pointer-events:auto;max-width:360px;padding:12px 20px;font-size:14px;animation:.3s toastIn-8be30af5;box-shadow:0 4px 12px #0000004d}.toast-success[data-v-8be30af5]{color:#fff;background:#00c853}.toast-error[data-v-8be30af5]{color:#fff;background:#ff1744}.toast-info[data-v-8be30af5]{background:var(--color-accent);color:#fff}@keyframes toastIn-8be30af5{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.terminal-grid[data-v-884e265a]{z-index:0;pointer-events:none;opacity:.03;background-image:linear-gradient(#2a2a2a 1px,#0000 1px),linear-gradient(90deg,#2a2a2a 1px,#0000 1px);background-size:20px 20px;position:fixed;top:0;bottom:0;left:0;right:0}
