* { margin:0; padding:0; box-sizing:border-box; }
  body { font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
         background:#0f1419; color:#e6e6e6; min-height:100vh;
         display:flex; align-items:center; justify-content:center; padding:20px; }
  .card { width:100%; max-width:560px; background:#1a2230; border-radius:14px;
          padding:32px 28px; box-shadow:0 8px 40px rgba(0,0,0,.4); }
  h1 { font-size:20px; font-weight:600; margin-bottom:6px; }
  .sub { font-size:13px; color:#8b98ab; margin-bottom:22px; }
  .entry { display:flex; align-items:center; gap:12px; padding:14px 16px;
           background:#232c3d; border-radius:10px; margin-bottom:12px;
           text-decoration:none; color:#e6e6e6; transition:background .15s; }
  .entry:hover { background:#2b3650; }
  .dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; background:#555; }
  .dot.ok { background:#2ecc71; box-shadow:0 0 8px rgba(46,204,113,.6); }
  .dot.bad { background:#e74c3c; }
  .dot.checking { background:#f1c40f; animation:pulse 1s infinite; }
  @keyframes pulse { 50% { opacity:.4; } }
  .name { flex:1; font-size:15px; word-break:break-all; }
  .label { font-size:12px; color:#8b98ab; margin-right:4px; }
  .ms { font-size:12px; color:#8b98ab; min-width:52px; text-align:right; }
  .doh { margin-top:20px; padding:14px 16px; background:#1d2634; border:1px solid #2d3a52;
         border-radius:10px; }
  .doh-title { font-size:13px; font-weight:600; color:#f1c40f; margin-bottom:8px; }
  .doh-body { font-size:12px; color:#a8b3c5; line-height:1.9; }
  .doh-body code { background:#0f1419; padding:1px 6px; border-radius:4px; color:#7ee2a8;
                   font-size:11px; }
  .footer { margin-top:18px; font-size:12px; color:#5f6b80; text-align:center; line-height:1.8; }
  .refresh { display:block; margin:16px auto 0; padding:8px 22px; border:none;
             border-radius:8px; background:#3b82f6; color:#fff; font-size:13px;
             cursor:pointer; }
  .refresh:hover { background:#2563eb; }

  button { font:inherit; cursor:pointer; }
  button:disabled { cursor:wait; opacity:.65; }
  button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid #7eb2ff; outline-offset:3px; }
  .entry { width:100%; border:0; text-align:left; }
  .name { min-width:0; line-height:1.6; }
  .label { margin-right:0; white-space:nowrap; }
  .dot.good { background:#2ecc71; box-shadow:0 0 8px rgba(46,204,113,.6); }
  .dot.warn { background:#f1c40f; }
  .result { font-size:12px; color:#8b98ab; min-width:48px; text-align:right; white-space:nowrap; }
  .result.good { color:#8fdbb0; }.result.bad { color:#e5a1a1; }.result.warn { color:#dfc67c; }
  .badge { display:inline-block; font-size:10px; font-weight:400; color:#8b98ab; margin-left:4px; white-space:nowrap; }
  .badge[hidden] { display:none; }.badge.good { color:#2ecc71; }
  .hint { display:block; color:#8b98ab; font-size:11px; font-weight:400; }
  .service { margin-bottom:12px; }.service .chosen { margin-bottom:6px; }
  summary { font-size:12px; color:#8b98ab; cursor:pointer; text-align:right; line-height:1.8; }
  .alternatives { padding-top:8px; }
  .alternative { display:flex; align-items:center; gap:12px; padding:10px 12px; margin-bottom:6px; border-radius:8px; background:#1d2634; }
  .alternative-info { flex:1; min-width:0; }.alternative-name { font-size:13px; }
  .small-action { border:1px solid #3b4a61; border-radius:6px; padding:5px 10px; background:transparent; color:#c9d5e5; font-size:12px; text-decoration:none; flex-shrink:0; }
  .small-action:hover { background:#2b3650; }
  .progress { margin-top:10px; font-size:11px; color:#8b98ab; text-align:center; }
  #copy-status { font-size:12px; color:#7ee2a8; text-align:center; margin-top:8px; overflow-wrap:anywhere; }
  #copy-status:empty { display:none; }#copy-status input { width:100%; padding:8px; }
  .doh-body,.doh-body code { overflow-wrap:anywhere; }
  .bookmark { border-color:#2ecc71; }.bookmark .doh-title { color:#2ecc71; }
  footer { margin-top:18px; font-size:12px; color:#7e8ca2; text-align:center; line-height:1.8; }
  noscript { display:block; margin-top:12px; font-size:12px; line-height:1.7; }noscript a { color:#7eb2ff; }
  @media(max-width:380px) { body { padding:16px; }.card { padding:24px 18px; }.entry { padding:12px; gap:8px; }.name { font-size:14px; }.result { min-width:44px; }.badge { display:block; margin-left:0; }.doh { padding:12px; } }
  @media(prefers-reduced-motion:reduce) { .dot.checking { animation:none; } }
