:root{--ink:#14213d;--mut:#5b6475;--bg:#f4f6fa;--card:#fff;--brand:#0b5fff;--g:#0f8a4b;--a:#b86e00;--r:#c62828;--line:#e2e6ee}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
header{background:linear-gradient(135deg,#0b2a66,#0b5fff);color:#fff;padding:22px 0 18px}
h1{margin:0;font-size:1.35rem}h2{font-size:1.05rem;margin:0 0 12px}.sub{margin:6px 0 0;opacity:.9;font-size:.92rem}
.zh{color:inherit;opacity:.65;font-size:.85em;font-weight:400}
.privacy{background:#e8f5ee;border:1px solid #bfe3cf;color:#0d5a33;border-radius:12px;padding:10px 12px;margin:16px 0;font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin:0 0 16px;box-shadow:0 1px 3px rgba(20,33,61,.05)}
.drop{display:block;border:2px dashed #b9c4d8;border-radius:12px;padding:26px 12px;text-align:center;cursor:pointer;color:var(--mut)}
.drop input{display:none}.drop:hover{border-color:var(--brand)}
.progress .bar{height:8px;background:#e7ebf3;border-radius:8px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.progress p{font-size:.85rem;color:var(--mut);margin:6px 0 0}
.link{background:none;border:0;color:var(--brand);padding:10px 0 0;font-size:.95rem;cursor:pointer}
form label{display:block;font-size:.88rem;font-weight:600;margin:0 0 12px}
.in{display:flex;align-items:center;border:1px solid #cbd3e1;border-radius:10px;margin-top:4px;background:#fff;overflow:hidden}
.in:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,95,255,.15)}
.in em{font-style:normal;color:var(--mut);padding:0 10px}.in input,.in select{flex:1;border:0;padding:12px 10px;font-size:1rem;min-width:0;background:transparent;outline:0}.in select{flex:0 0 auto}
.in.ocr{background:#fffbea}
.seg{display:flex;gap:8px;margin:0 0 12px}.seg label{flex:1;border:1px solid #cbd3e1;border-radius:10px;padding:10px;margin:0;font-weight:500;text-align:center;cursor:pointer}
.seg label:has(input:checked){border-color:var(--brand);background:#eef3ff}.seg input{margin-right:4px}
details summary{cursor:pointer;color:var(--mut);font-size:.9rem;margin:4px 0 12px}
.primary{width:100%;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:14px;font-size:1.05rem;font-weight:600;cursor:pointer}
.hint{color:var(--mut);font-size:.85rem;margin:-6px 0 12px}
pre{white-space:pre-wrap;font-size:.75rem;background:#f6f7f9;padding:8px;border-radius:8px;max-height:220px;overflow:auto}
.verdict{border-radius:12px;padding:14px;color:#fff;margin-bottom:14px}.verdict b{font-size:1.25rem;display:block}
.v-GREEN{background:var(--g)}.v-AMBER{background:var(--a)}.v-RED{background:var(--r)}
table{width:100%;border-collapse:collapse;font-size:.92rem}td{padding:8px 0;border-bottom:1px solid var(--line)}td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.explain{font-size:.92rem;color:#2b3550;background:#f6f8fc;border-radius:10px;padding:10px 12px;margin-top:12px}
.hidden{display:none!important}footer{font-size:.8rem;color:var(--mut);padding:0 4px 32px}
