:root { color-scheme:light; --red:#d7000f; --ink:#20252b; --muted:#62707c; --line:#e3e8ed; --paper:#fff; }
* { box-sizing:border-box; }
body { margin:0; background:#f6f8fa; color:var(--ink); font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif; letter-spacing:0; line-height:1.65; }
main { width:min(860px,100% - 40px); margin:0 auto; padding:80px 0 28px; }
header { display:flex; align-items:center; justify-content:center; gap:13px; margin-bottom:30px; }
h1 { font-size:27px; font-weight:650; line-height:1.3; margin:0; }
.search-bar { display:flex; background:var(--paper); border:1px solid #ccd5df; border-radius:8px; box-shadow:0 5px 20px #23354908; transition:border-color .15s,box-shadow .15s; }
.search-bar:focus-within { border-color:var(--red); box-shadow:0 0 0 3px #d7000f0d; }
input[type=search] { min-width:0; width:100%; flex:1; height:62px; padding:16px 20px; font:inherit; font-size:19px; background:transparent; border:0; color:var(--ink); }
#batch { outline:0; }
input::placeholder { color:#89949d; }
button { cursor:pointer; font:inherit; }
#search-button { flex:0 0 64px; border:0; border-radius:0 7px 7px 0; color:var(--red); background:transparent; line-height:1; }
#search-button:hover { background:#fff0f1; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
button:disabled { opacity:.5; cursor:wait; }
.search-options { display:flex; align-items:end; gap:22px; margin-top:16px; }
.manufacturer-field { flex:1; min-width:0; }
.manufacturer-field label { display:block; font-size:13px; color:var(--ink); margin:0 0 6px 2px; }
.manufacturer-field label span { color:var(--muted); }
#manufacturer { height:44px; padding:10px 12px; background:var(--paper); border:1px solid var(--line); border-radius:6px; font-size:14px; }
.fuzzy-option { display:flex; align-items:center; gap:8px; height:44px; font-size:14px; white-space:nowrap; cursor:pointer; }
#fuzzy { width:17px; height:17px; margin:0; accent-color:var(--red); }
.meta { display:flex; justify-content:space-between; gap:12px; font-size:12px; margin:14px 2px 28px; color:var(--muted); }
a { color:#5d6872; text-underline-offset:3px; }
.warning,.empty { border-left:3px solid #dba633; background:#fff8e9; padding:16px 18px; font-size:14px; line-height:1.8; }
.result-count { font-size:14px; color:var(--muted); margin:24px 0 12px; }
.record { background:var(--paper); border:1px solid var(--line); border-radius:8px; margin-bottom:16px; padding:24px; overflow-wrap:anywhere; }
.record-top { display:flex; gap:16px; justify-content:space-between; align-items:start; }
h2 { font-size:20px; line-height:1.5; margin:0 0 8px; font-weight:650; }
.batch { font-size:15px; color:#5a6671; margin-bottom:12px; }
.match-note { font-size:13px; color:#52616d; background:#f5f7f9; padding:9px 12px; margin:0 0 20px; border-radius:4px; }
.match-note.approximate { color:#785212; background:#fff8e9; border-left:3px solid #dba633; }
.match-note strong { display:block; margin-top:5px; font-weight:500; }
.flu-notice { border-left:3px solid #279681; background:#eff8e9; padding:12px 15px; margin-bottom:20px; }
.flu-notice strong { display:block; color:#11634f; font-size:15px; }
.flu-notice span,.flu-notice small { display:block; color:#49695f; font-size:12px; margin-top:5px; }
.verdict { white-space:nowrap; color:#11634f; background:#edf7f2; border-radius:4px; padding:4px 9px; font-size:13px; }
.verdict.caution { color:#a32424; background:#fff0f1; }
dl { display:grid; grid-template-columns:1fr 1fr; gap:17px 32px; margin:0; }
dl div { min-width:0; }
dt { color:var(--muted); font-size:12px; margin-bottom:3px; }
dd { margin:0; font-size:14px; line-height:1.6; }
.record-bottom { display:flex; justify-content:space-between; gap:12px; margin-top:22px; padding-top:15px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.record-bottom a { white-space:nowrap; color:var(--red); }
footer { font-size:12px; text-align:center; color:#74808a; margin-top:48px; }
.more { display:block; margin:24px auto; background:white; border:1px solid var(--line); border-radius:6px; padding:9px 28px; }
[hidden] { display:none!important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:600px) {
  main { width:calc(100% - 32px); padding-top:48px; }
  header { gap:10px; margin-bottom:25px; }
  h1 { font-size:23px; }
  header img { width:35px; height:35px; }
  #batch { height:58px; padding:14px; font-size:18px; }
  .search-options { gap:12px; flex-wrap:wrap; }
  .manufacturer-field { flex-basis:100%; }
  .fuzzy-option { height:32px; }
  .meta { flex-wrap:wrap; font-size:11px; gap:5px; }
  .record { padding:18px; }
  h2 { font-size:18px; }
  .record-top { display:block; }
  .verdict { display:inline-block; margin:2px 0 12px; }
  dl { grid-template-columns:1fr; gap:14px; }
  .record-bottom { align-items:end; }
  .warning,.empty { font-size:13px; }
  footer { margin-top:34px; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }
