:root{--bg: #f2f5fa;--surface: #ffffff;--surface-2: #eaf0f8;--stroke: #e1e8f1;--text: #1c2a3a;--muted: #64748b;--primary: #4c7bd9;--primary-dark: #3a63bc;--primary-soft: #e4ecfb;--ok: #2fa36b;--ok-soft: #dff3e8;--err: #e05b5b;--err-soft: #fbe6e6;--warn: #d98a1f;--warn-soft: #fbefd8;--radius: 20px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}.wrap{max-width:680px;margin:0 auto;padding:32px 20px 64px}header h1{margin:0 0 6px;font-size:26px;font-weight:800;letter-spacing:-.01em}.sub{color:var(--muted);margin:0 0 18px;font-size:15px}.tabs{display:flex;gap:8px;margin-bottom:22px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;padding:5px}.tabs a{flex:1;text-align:center;padding:10px 12px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);background:transparent;transition:background .15s,color .15s}.tabs a:hover{color:var(--text)}.tabs a.active{color:#fff;background:var(--primary);box-shadow:0 4px 12px #4c7bd94d}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #1c2a3a0a}.card h2{margin:0 0 14px;font-size:17px;font-weight:700}.checklist{margin:0;padding-left:20px;color:var(--muted)}.checklist li{margin-bottom:7px}.checklist strong{color:var(--text)}.ack{display:flex;align-items:center;gap:9px;margin-top:16px;font-size:14px}.ack input{width:17px;height:17px;accent-color:var(--primary)}input[type=file]{width:100%;padding:14px;background:var(--surface-2);border:1.5px dashed #b9c7da;border-radius:12px;color:var(--text);font-size:14px}.hint{color:var(--muted);font-size:13px;margin:12px 0 0}code{background:var(--surface-2);padding:2px 7px;border-radius:6px;font-size:.92em;color:var(--primary-dark)}button.primary{width:100%;padding:15px 16px;font-size:16px;font-weight:700;color:#fff;background:var(--primary);border:none;border-radius:16px;cursor:pointer;transition:background .15s,box-shadow .15s,transform .05s;box-shadow:0 6px 16px #4c7bd940}button.primary:hover:not(:disabled){background:var(--primary-dark)}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.log{background:var(--surface-2);border:1px solid var(--stroke);border-radius:14px;padding:14px;min-height:120px;max-height:320px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;white-space:pre-wrap;color:#334155}.verify{list-style:none;margin:0;padding:0}.verify li{display:grid;grid-template-columns:30px 1fr auto;grid-template-areas:"badge name fix" "badge detail fix";align-items:center;gap:0 12px;padding:13px 0;border-bottom:1px solid var(--stroke)}.verify .fix{grid-area:fix;align-self:center;padding:9px 16px;border:none;border-radius:10px;background:var(--primary);color:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}.verify .fix:hover:not(:disabled){background:var(--primary-dark)}.verify .fix:disabled{opacity:.55;cursor:default}.verify li:last-child{border-bottom:none}.verify .badge{grid-area:badge;align-self:center;text-align:center;font-weight:700;font-size:15px;width:26px;height:26px;line-height:26px;border-radius:50%}.verify li.ok .badge{color:var(--ok);background:var(--ok-soft)}.verify li.err .badge{color:var(--err);background:var(--err-soft)}.verify .vname{grid-area:name;font-weight:600}.verify .vdetail{grid-area:detail;color:var(--muted);font-size:12px;font-family:ui-monospace,Menlo,monospace;word-break:break-word}.result{margin-top:14px;font-weight:600;font-size:14px;padding:12px 14px;border-radius:12px}.result:empty{display:none}.result.ok{color:var(--ok);background:var(--ok-soft)}.result.err{color:var(--err);background:var(--err-soft)}footer .warn{color:#92621a;font-size:13px;background:var(--warn-soft);border-left:4px solid var(--warn);border-radius:10px;padding:12px 14px;margin-top:4px}
