:root{font-family:system-ui,-apple-system,'Microsoft JhengHei',sans-serif;color:#23364b;background:#f3f6fa}*{box-sizing:border-box}body{margin:0}main{max-width:1040px;margin:48px auto;padding:0 24px}header{margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:3px;color:#426ae7;font-weight:700}h1{font-size:32px;margin:12px 0}h2{font-size:19px;margin:0 0 18px}h3{font-size:16px}p{line-height:1.7}section{background:white;border:1px solid #dce3ee;border-radius:18px;padding:28px;margin:20px 0;box-shadow:0 8px 28px #20385406}label{display:block;font-size:14px;font-weight:600}input[type=password]{display:block;width:100%;max-width:480px;margin:10px 0 16px;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}button{border:1px solid #cbd5e1;background:white;border-radius:9px;padding:11px 17px;font:inherit;font-size:14px;cursor:pointer;color:inherit}button:hover{background:#edf2ff}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#426ae7;color:white;border-color:#426ae7}.primary:hover{background:#3158d1}.actions{display:flex;gap:10px}.file{margin:22px 0 16px;padding:20px;background:#f5f7fc;border:1px dashed #bdc9de;border-radius:10px}.file input{display:block;margin-top:12px}.muted,footer{font-size:13px;color:#64748b}footer{line-height:1.8;margin:24px 0}.heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.stats div{background:#f5f7fc;padding:16px;border-radius:10px}.stats small{display:block;color:#64748b}.stats strong{display:block;font-size:24px;margin-top:8px}.scroll{overflow:auto;max-height:360px;margin-top:18px}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{background:#f3f6fa;position:sticky;top:0}td,th{padding:12px;border-bottom:1px solid #e8edf4}td{overflow-wrap:anywhere}progress{width:100%;accent-color:#426ae7;height:12px}#error{color:#b42318;white-space:pre-wrap}.failed{color:#b42318}.submitted{color:#16805d}@media(max-width:650px){main{margin:24px auto;padding:0 12px}section{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:26px}.heading{flex-wrap:wrap}}
