    *, *::before, *::after { box-sizing: border-box; }
    body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; background:#ffffff; color:#111; min-height:100vh; display:flex; flex-direction:column; }
    .site-header { background:#f5f5f7; border-bottom:1px solid #ddd; }
    header { background:#f5f5f7; border-bottom:1px solid #ddd; padding:.8rem 1.2rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
    header h1 { font-size:1rem; margin:0 .6rem 0 0; white-space:nowrap; }
    .btn { border:1px solid #ccc; background:#f0f0f2; color:#111; padding:.35rem .6rem; border-radius:.5rem; cursor:pointer; font-size:.85rem; text-decoration:none; }
    .btn:hover { border-color:#999; background:#e4e4e8; }
    .spacer { flex:1; }

    .hero { text-align:center; padding:2.5rem 1rem 1rem; }
    .hero h2 { font-size:1.5rem; margin:0 0 .3rem; }
    .hero p { color:#888; font-size:.9rem; margin:0; }
    .hero-stats { margin-top:.6rem !important; font-size:.85rem !important; color:#666 !important; }
    .hero-sunday { margin-top:.6rem !important; font-size:.85rem !important; color:#666 !important; font-style:italic; }
    .hero-stats .all-green { color:#16a34a; font-weight:600; }

    .search-area { display:flex; justify-content:center; padding:1rem 1rem .5rem; gap:.5rem; flex-wrap:wrap; }
    .domain-input { width:340px; max-width:80vw; padding:.55rem .8rem; border-radius:.5rem; border:1px solid #ccc; background:#f0f0f2; color:#111; font-size:1rem; outline:none; }
    .domain-input:focus { border-color:#888; }
    .test-btn { padding:.55rem 1.2rem; border-radius:.5rem; border:1px solid #1d4ed8; background:#2563eb; color:#fff; font-size:1rem; cursor:pointer; font-weight:500; }
    .test-btn:hover { background:#1d4ed8; }
    .test-btn:disabled { opacity:.5; cursor:not-allowed; }

    .error-msg { text-align:center; color:#dc2626; font-size:.85rem; padding:.3rem 1rem; min-height:1.2rem; }

    .results { max-width:700px; margin:0 auto; padding:0 1rem 2rem; width:100%; }
    .result-row { background:#f8f8fa; border:1px solid #ddd; border-radius:.6rem; margin-bottom:.6rem; overflow:hidden; }
    .result-header { display:flex; align-items:center; gap:.6rem; padding:.7rem .9rem; cursor:pointer; user-select:none; }
    .result-header:hover { background:#f0f0f2; }
    .result-icon { width:28px; height:28px; border-radius:.4rem; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; flex-shrink:0; }
    .result-name { flex:1; font-size:.9rem; font-weight:500; }
    .result-status { font-size:.85rem; font-weight:500; min-width:60px; text-align:right; }
    .result-time { font-size:.75rem; color:#888; min-width:50px; text-align:right; }
    .result-arrow { color:#888; font-size:.7rem; transition:transform .2s; }
    .result-arrow.open { transform:rotate(90deg); }

    .spinner { width:16px; height:16px; border:2px solid #ddd; border-top:2px solid #2563eb; border-radius:50%; animation:spin .8s linear infinite; flex-shrink:0; }
    @keyframes spin { to { transform:rotate(360deg); } }

    .status-green { color:#16a34a; }
    .status-orange { color:#d97706; }
    .status-red { color:#dc2626; }
    .status-grey { color:#888; }
    .status-cached { color:#2563eb; }

    .result-details { display:none; padding:0 .9rem .7rem; font-size:.8rem; color:#888; border-top:1px solid #ddd; }
    .result-details.open { display:block; }
    .detail-row { display:flex; gap:.5rem; padding:.2rem 0; }
    .detail-label { color:#888; min-width:90px; flex-shrink:0; }
    .detail-value { word-break:break-all; }
    .detail-ok { color:#16a34a; }
    .detail-fail { color:#dc2626; }
    .detail-warn { color:#d97706; }
    .detail-info { color:#94a3b8; font-style:italic; }
    .detail-list { margin:.2rem 0; padding-left:1.2rem; }
    .detail-list li { margin:.15rem 0; }
    .detail-section { margin-top:.5rem; padding-top:.4rem; border-top:1px solid #ddd; }
    .detail-section h4 { margin:0 0 .3rem; color:#555; font-size:.8rem; }
    .info-box { margin-top:.6rem; padding:.5rem .7rem; background:#eff6ff; border:1px solid #cfe0f5; border-left:3px solid #60a5fa; border-radius:.35rem; color:#555; font-size:.78rem; line-height:1.45; }

    .footer { background:#f5f5f7; color:#888; padding:.8rem; border-top:1px solid #ddd; text-align:center; font-size:.85rem; margin-top:auto; }
    .lang-toggle { position:fixed; top:.6rem; right:.8rem; background:#f0f0f2; border:1px solid #ccc; color:#111; padding:.3rem .5rem; border-radius:.4rem; cursor:pointer; font-size:.8rem; z-index:100; }

    .share-link { text-align:center; padding:.2rem 1rem .4rem; font-size:.8rem; }
    .share-link a { color:#60a5fa; text-decoration:none; word-break:break-all; }
    .share-link a:hover { text-decoration:underline; }
    .share-link .copy-btn { background:#f0f0f2; border:1px solid #ccc; color:#888; padding:.2rem .5rem; border-radius:.3rem; cursor:pointer; font-size:.75rem; margin-left:.4rem; }
    .share-link .copy-btn:hover { border-color:#888; color:#111; }
    .share-link .copied { color:#16a34a; font-size:.75rem; margin-left:.4rem; }

    .cross-test { text-align:center; padding:.2rem 1rem .6rem; }
    .cross-test a { display:inline-block; background:#2563eb; color:#fff; border:1px solid #1d4ed8; padding:.55rem 1.1rem; border-radius:.5rem; font-size:.95rem; font-weight:500; text-decoration:none; }
    .cross-test a:hover { background:#1d4ed8; }

    .domain-history { max-width:760px; margin:.6rem auto 0; padding:0 1rem; }
    .domain-history > .dh-title { display:flex; align-items:center; gap:.4rem; font-size:.9rem; font-weight:700; color:#1e40af; cursor:pointer; padding:.45rem .7rem; user-select:none; background:#eef2ff; border:1px solid #c7d2fe; border-radius:.5rem; }
    .domain-history > .dh-title .dh-caret { display:inline-block; transition:transform .15s; margin-left:auto; }
    .domain-history.open > .dh-title .dh-caret { transform:rotate(90deg); }
    .domain-history .dh-list { display:none; }
    .domain-history.open .dh-list { display:block; }
    .dh-row { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; padding:.35rem 0; border-top:1px solid #eee; font-size:.8rem; text-decoration:none; color:inherit; }
    .dh-row:hover { background:#f6f8fc; }
    .dh-date { color:#666; min-width:8.5rem; font-variant-numeric:tabular-nums; }
    .dh-dots { display:flex; gap:3px; }
    .dh-dot { width:11px; height:11px; border-radius:3px; display:inline-block; }
    .dh-dot[title] { cursor:help; }
    .dh-score { font-weight:600; color:#333; }
    .dh-grade { font-weight:700; padding:0 .35rem; border-radius:.3rem; color:#fff; font-size:.74rem; }
    .dh-bot { font-size:.68rem; color:#999; border:1px solid #ddd; border-radius:.3rem; padding:0 .3rem; }

    .hof-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.3); display:none; z-index:5000; }
    .hof-modal { position:fixed; inset:0; display:none; z-index:5100; overflow:auto; }
    .hof-box { max-width:600px; margin:10vh auto; background:#fff; border:1px solid #ddd; border-radius:.8rem; box-shadow:0 10px 40px rgba(0,0,0,.15); padding:1.2rem 1.4rem; }
    .hof-box h3 { font-size:1rem; color:#16a34a; margin:0 0 .2rem; display:flex; align-items:center; justify-content:space-between; }
    .hof-box .hof-sub { font-size:.8rem; color:#888; margin:0 0 .8rem; }
    .hof-box .hof-close { background:none; border:none; font-size:1.2rem; color:#888; cursor:pointer; padding:0; line-height:1; }
    .hof-box .hof-close:hover { color:#111; }
    .hof-list { display:flex; flex-wrap:wrap; gap:.4rem; max-height:50vh; overflow:auto; }
    .hof-domain { background:#dcfce7; border:1px solid #86efac; color:#166534; padding:.3rem .6rem; border-radius:.4rem; font-size:.8rem; cursor:pointer; text-decoration:none; transition:background .15s; }
    .hof-domain:hover { background:#bbf7d0; border-color:#16a34a; }

    .hof-inline { max-width:700px; margin:1.5rem auto 0; padding:0 1rem 2rem; width:100%; display:none; }
    .hof-inline h3 { font-size:1rem; color:#16a34a; margin:0 0 .2rem; }
    .hof-inline .hof-sub { font-size:.8rem; color:#888; margin:0 0 .6rem; }
    .hof-inline .hof-list { display:flex; flex-wrap:wrap; gap:.4rem; }

    .hof-toggle { margin-left:.5rem; vertical-align:middle; cursor:pointer; }
    .hof-toggle-label { font-size:.85rem; color:#888; cursor:pointer; margin-left:.15rem; vertical-align:middle; }

    .gos-badge { display:none; max-width:700px; margin:1rem auto 0; padding:.8rem 1rem; background:linear-gradient(135deg,#e0f2fe,#dbeafe); border:2px solid #60a5fa; border-radius:.8rem; text-align:center; animation:gos-pop .4s ease-out; }
    .gos-badge.visible { display:block; }
    .gos-badge h4 { margin:0 0 .3rem; font-size:1rem; }
    .gos-badge img { width:48px; height:48px; border-radius:.4rem; margin-bottom:.3rem; image-rendering:pixelated; }
    .gos-badge p { margin:0; font-size:.8rem; color:#555; }
    .gos-hof { margin-top:.5rem; display:flex; flex-wrap:wrap; gap:.3rem; justify-content:center; }
    .gos-hof a { background:#dbeafe; border:1px solid #93c5fd; color:#1e40af; padding:.2rem .5rem; border-radius:.3rem; font-size:.75rem; text-decoration:none; }
    .gos-hof a:hover { background:#bfdbfe; }
    @keyframes gos-pop { from { transform:scale(.8); opacity:0; } to { transform:scale(1); opacity:1; } }

    @media (max-width: 768px) {
      .hero { padding:1.5rem .8rem .5rem; }
      .hero h2 { font-size:1.2rem; }
      .domain-input { width:100%; }
      .results { padding:0 .6rem 1.5rem; }
      .result-header { padding:.6rem .7rem; }
    }
    .whois-info {
      display: inline-block;
      width: 1.2rem;
      height: 1.2rem;
      line-height: 1.2rem;
      text-align: center;
      background: #e2e8f0;
      color: #475569;
      border-radius: 50%;
      font-size: .7rem;
      cursor: pointer;
      margin-left: .4rem;
      font-style: normal;
      vertical-align: middle;
    }
    .whois-info:hover { background: #cbd5e1; color: #1e293b; }
