:root { color-scheme: dark; font-family: "Microsoft YaHei", "Segoe UI", system-ui, sans-serif; --bg:#080d14; --panel:#111925; --line:#273548; --text:#edf4ff; --muted:#8fa0b5; --blue:#4aa8ff; --cyan:#55e5d4; --danger:#ff6d78; }
* { box-sizing:border-box; }
html,body { min-height:100%; margin:0; background:radial-gradient(circle at 18% 0,#163351 0,transparent 36%),var(--bg); color:var(--text); }
body { padding:clamp(18px,4vw,52px); }
button,input,textarea,select { font:inherit; }
.shell { width:min(1040px,100%); margin:auto; }
.brand { display:flex; align-items:center; gap:13px; margin-bottom:28px; }
.logo { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:linear-gradient(145deg,var(--cyan),var(--blue)); color:#06101d; font-weight:900; }
.brand h1 { margin:0; font-size:20px; }.brand p { margin:4px 0 0; color:var(--muted); font-size:12px; letter-spacing:.08em; }
.panel { border:1px solid var(--line); border-radius:20px; background:#111925e8; box-shadow:0 24px 70px #0005; backdrop-filter:blur(10px); }
.upload-panel { padding:clamp(22px,5vw,48px); }
.upload-options { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:12px; }.upload-options label { display:grid; gap:8px; color:#b7c5d5; font-size:13px; }.upload-options select { width:100%; min-height:46px; padding:0 12px; border:1px solid #33465e; border-radius:10px; background:#0a121d; color:var(--text); outline:none; }.upload-options select:focus { border-color:var(--blue); }.format-hint { margin:0 0 15px; padding:11px 13px; border:1px solid #26394e; border-radius:10px; background:#0b141f; color:#9fb3c9; font-size:12px; line-height:1.6; }
.dropzone { display:grid; place-items:center; min-height:290px; padding:32px; border:2px dashed #38516d; border-radius:17px; text-align:center; transition:.2s; }
.dropzone.active { border-color:var(--cyan); background:#14304988; transform:translateY(-2px); }
.upload-icon { font-size:52px; filter:drop-shadow(0 6px 12px #4aa8ff55); }.dropzone h2 { margin:16px 0 8px; font-size:24px; }.dropzone p,.muted { color:var(--muted); }
.primary,.secondary,.danger { min-height:44px; padding:0 20px; border:0; border-radius:10px; cursor:pointer; font-weight:700; }
.primary { background:linear-gradient(135deg,#318cff,#55d8dc); color:#06101d; }.primary:disabled { cursor:not-allowed; filter:grayscale(1); opacity:.55; }.secondary { border:1px solid #38516d; background:#182434; color:var(--text); }.danger { background:#541f2a; color:#ffb1b8; }
.rules { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }.rule { padding:14px; border:1px solid #25364a; border-radius:12px; background:#0d1520; }.rule strong { display:block; font-size:13px; }.rule span { color:var(--muted); font-size:12px; line-height:1.5; }
.progress-wrap { margin-top:22px; }.progress-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:9px; color:#b6c5d8; font-size:13px; }.track { height:11px; overflow:hidden; border-radius:99px; background:#243245; }.bar { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#258dff,#55e5d4); transition:width .3s; }.status-box { margin-top:15px; padding:15px; border-radius:12px; background:#0c141f; color:#adc0d4; line-height:1.65; }.result { margin-top:18px; padding:18px; border:1px solid #1f675f; border-radius:13px; background:#0d2928; }.result-row { display:flex; gap:8px; }.result input { flex:1; min-width:0; padding:11px; border:1px solid #335063; border-radius:9px; background:#08121c; color:#b8edff; }
.hidden { display:none!important; }.error { color:#ff9ca4; }
.login { width:min(430px,100%); margin:10vh auto 0; padding:32px; }.field { display:grid; gap:7px; margin:15px 0; color:#b7c5d5; font-size:13px; }.field input,.field textarea { width:100%; padding:12px; border:1px solid #33465e; border-radius:9px; background:#0a121d; color:var(--text); outline:none; }.field input:focus,.field textarea:focus { border-color:var(--blue); }
.admin-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }.stat { padding:18px; }.stat b { display:block; margin-top:6px; font-size:23px; }.table-wrap { overflow:auto; }.table-panel { padding:16px; margin-bottom:18px; }.table-panel h2{margin:0 0 12px;font-size:17px} table { width:100%; min-width:1000px; border-collapse:collapse; } th,td { padding:12px 10px; border-bottom:1px solid #253448; text-align:left; font-size:13px; vertical-align:top } th { color:#93a8bf; } td input { width:88px; padding:7px; border:1px solid #33465e; border-radius:7px; background:#0a121d; color:var(--text); }.actions { display:flex; gap:7px; }.actions button { min-height:34px; padding:0 10px; }.badge { display:inline-block; padding:4px 8px; border-radius:99px; background:#203249; font-size:11px; }.badge.ready { background:#16453e;color:#89f1da; }.badge.failed { background:#4d222a;color:#ffabb2; }.security-panel{margin-top:18px}.security-table{min-width:780px}details{margin-top:7px;color:#93a8bf}details ol{margin:7px 0 0;padding-left:20px}details li{margin:4px 0}code{color:#89f1da}
@media(max-width:700px){body{padding:14px}.upload-options,.rules,.stats{grid-template-columns:1fr}.upload-panel{padding:18px}.dropzone{min-height:250px;padding:20px}.result-row{flex-direction:column}.admin-head{align-items:flex-start;flex-direction:column}}
@media print { body { display:none!important; } }
