:root { color-scheme: dark; font-family: Inter,"PingFang SC","Microsoft YaHei",sans-serif; background:#050915; color:#edf4ff; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; background:radial-gradient(circle at 75% 0,#10295d 0,#050915 42%); }
button,input,select,textarea { font:inherit; } button { cursor:pointer; } .hidden { display:none!important; }
.admin-login-page { display:grid; min-height:100vh; place-items:center; padding:24px; }
.admin-login-card { width:min(420px,100%); padding:34px; border:1px solid #1e3158; border-radius:18px; background:rgba(8,17,38,.94); box-shadow:0 24px 70px rgba(0,0,0,.38); }
.admin-login-card .brand-mark { color:#46e6ff; font-size:42px; }.admin-login-card h1 { margin:4px 0; }.admin-login-card>p { color:#8fa3ca; }
.admin-login-card form { display:grid; gap:16px; margin-top:24px; }.admin-login-card label { display:grid; gap:7px; color:#aab9d6; }.admin-login-card input,.admin-login-card button { width:100%; }.admin-login-card>a { color:#46e6ff; }
.center-state { min-height:100vh; display:grid; place-content:center; text-align:center; gap:8px; }.center-state a { color:#46e6ff; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:230px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; padding:28px 20px; display:flex; flex-direction:column; gap:34px; border-right:1px solid #1c2e55; background:rgba(5,12,29,.92); }
.sidebar strong { display:block; font-size:22px; }.sidebar small { color:#7f94bd; }.sidebar nav { display:grid; gap:8px; }
.nav-button { padding:12px 14px; border:0; border-radius:10px; text-align:left; color:#9eb0d2; background:transparent; }.nav-button.active { color:#06111f; background:#46e6ff; font-weight:700; }
.sidebar footer { margin-top:auto; display:grid; gap:10px; font-size:13px; }.sidebar footer a { color:#55f59a; }.sidebar footer button { padding:8px; border:1px solid #32466e; color:#edf4ff; background:transparent; border-radius:8px; }
.content { min-width:0; padding:32px clamp(18px,4vw,56px); }.page-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:24px; }.page-header h1 { margin:0; }.page-header p,.hint { margin:6px 0 0; color:#8fa3ca; }
.page-header>div:last-child { display:flex; gap:10px; }.toolbar { display:flex; gap:10px; margin-bottom:16px; }
input,select,textarea { padding:10px 12px; border:1px solid #2b416d; border-radius:9px; color:#edf4ff; background:#071127; outline:none; } input:focus,select:focus,textarea:focus { border-color:#46e6ff; }
button { padding:9px 13px; border:1px solid #34507f; border-radius:9px; color:#edf4ff; background:#102348; }.primary { color:#03111e; border-color:#55f59a; background:#55f59a; font-weight:700; }.danger { border-color:#7a3042; color:#ff8da3; background:#28101a; }
.panel { border:1px solid #1e3158; border-radius:16px; background:rgba(8,17,38,.88); box-shadow:0 16px 50px rgba(0,0,0,.2); }.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; } th,td { padding:13px 15px; border-bottom:1px solid #18294a; text-align:left; white-space:nowrap; } th { color:#8fa3ca; font-size:12px; } td { font-size:14px; }
.badge { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:12px; }.badge.active { color:#55f59a; background:#103325; }.badge.disabled { color:#ff8da3; background:#35131d; }.badge.admin { color:#ffd45d; background:#392f0f; }
.pagination { display:flex; justify-content:center; align-items:center; gap:12px; padding:18px; }.pagination button:disabled { opacity:.4; cursor:not-allowed; }
.config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.config-grid>.panel,.versions { padding:22px; }.panel h2 { margin:0 0 14px; font-size:18px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:16px 0; }.field-grid label,.config-grid>section>label { display:grid; gap:6px; color:#aab9d6; font-size:13px; }
fieldset { margin:14px 0; border:1px solid #263c66; border-radius:10px; } legend { color:#8fa3ca; }.checks { display:flex; flex-wrap:wrap; gap:12px; }.checks label { display:flex; gap:5px; align-items:center; font-size:13px; }
.effective-preview { margin:18px 0; padding:16px; border:1px solid #284672; border-radius:12px; background:rgba(8,24,50,.78); }
.effective-preview-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }.effective-preview-header h3 { margin:0; font-size:16px; }.effective-preview-header span { color:#55f59a; font-size:12px; }
.effective-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.effective-item { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 10px; padding:10px; border-radius:9px; background:#071127; }.effective-item>span { color:#8fa3ca; font-size:12px; }.effective-item>strong { color:#edf4ff; text-align:right; word-break:break-word; }.effective-source { grid-column:1/-1; color:#46e6ff; font-size:11px; text-align:right; }
.versions { margin-top:18px; }.version-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #1b2b4b; }.version-row small { color:#8fa3ca; }
.message { min-height:22px; color:#ff8da3; }.message.success { color:#55f59a; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:16px; }.metric-card { padding:22px; }.metric-card small { color:#8fa3ca; }.metric-card strong { display:block; margin-top:10px; font-size:30px; color:#55f59a; }
.engagement-panel { margin-top:18px; padding:22px; }.structured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.structured-grid label { display:grid; gap:7px; color:#aab9d6; }.structured-grid textarea { width:100%; resize:vertical; font:12px/1.5 ui-monospace,monospace; }
.boss-panel { margin-top:18px; padding:22px; border-color:#55306e; background:linear-gradient(145deg,rgba(26,12,46,.92),rgba(8,17,38,.9)); }.boss-panel-header { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }.boss-panel-header h2,.boss-config-grid h3 { margin:0; }.boss-badge { padding:6px 10px; border:1px solid #a855f7; border-radius:999px; color:#f0a0ff; font-size:12px; white-space:nowrap; }.boss-config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:20px; }.boss-config-grid>section { min-width:0; padding:18px; border:1px solid #352454; border-radius:13px; background:rgba(6,12,29,.58); }.boss-level-label { display:grid; gap:6px; margin-top:16px; color:#aab9d6; font-size:13px; }.boss-checks { gap:9px 13px; }
.boss-animal-preview { display:flex; align-items:center; gap:14px; margin:0 0 14px; padding:10px 12px; border:1px solid rgba(168,85,247,.35); border-radius:12px; background:rgba(18,8,40,.72); }.boss-animal-preview img { width:82px; height:82px; object-fit:contain; filter:drop-shadow(0 0 12px rgba(240,136,255,.38)); }.boss-animal-preview small,.boss-animal-preview strong { display:block; }.boss-animal-preview small { color:#8fa3ca; font-size:12px; }.boss-animal-preview strong { margin-top:5px; color:#f6c4ff; font-size:20px; }
.field-error { border-color:#ff496c!important; box-shadow:0 0 0 2px rgba(255,73,108,.12); }.dialog-actions,#run-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }.run-json { padding:12px; border-radius:10px; background:#050b18; font-size:12px; }.leaderboard-filters { flex-wrap:wrap; }
dialog { width:min(680px,92vw); max-height:85vh; overflow:auto; border:1px solid #34507f; border-radius:16px; color:#edf4ff; background:#09152d; } dialog::backdrop { background:rgba(0,0,0,.7); }.dialog-close { float:right; border:0; background:transparent; font-size:24px; } pre { white-space:pre-wrap; word-break:break-word; color:#c5d6f6; }
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.structured-grid,.boss-config-grid{grid-template-columns:1fr}}
@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar footer{display:flex}.content{padding:20px 14px}.config-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.field-grid,.effective-preview-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}}
