/* ─── 搜索框 ─── */
.srch-wrap { max-width:1100px; min-height:520px; margin:0 auto; padding:24px 20px 0; }
@media(max-width:768px){ .srch-wrap { padding-bottom:0; } }
.srch-box {
    display:flex; border-radius:6px; overflow:hidden;
    border:1px solid var(--border);
    margin-bottom:16px; transition:border-color .15s;
}
.srch-box:focus-within {
    border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-bg);
}
.srch-input {
    flex:1; border:none; padding:14px 18px; font-size:16px;
    outline:none; background:var(--surface); color:var(--text); min-width:0;
    font-weight:500;
}
.srch-input::placeholder { color:var(--text4); font-weight:400; }
.srch-btn {
    background:var(--primary); color:#fff; border:none;
    padding:14px 28px; font-size:15px; font-weight:800;
    cursor:pointer; white-space:nowrap; transition:.15s;
    display:flex; align-items:center; gap:6px;
}
.srch-btn:hover { background:var(--primary-d); }

/* Keep the domain search control as one persistent white surface. */
#srch-box {
    min-height: 50px;
    padding: 3px;
    gap: 0;
    border: 2px solid #e6ebf8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
#srch-box:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-bg);
}
#srch-box .srch-input {
    border: 0;
    border-radius: 0;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    background: #fff;
}
#srch-box .srch-input:focus {
    border-color: transparent !important;
    outline: 0;
    box-shadow: none !important;
}
#srch-box .srch-btn {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 24px;
    border: 1px solid var(--primary);
    border-radius: 8px;
    letter-spacing: 0;
}
.tld-act, .price-btn {
    min-height: 28px;
    border-radius: 5px;
}
.result-btn { border-radius: 6px; min-height: 34px; }
@media(max-width:640px) {
    #srch-box { min-height: 48px; padding: 3px; }
    #srch-box .srch-input { height: 40px !important; min-height: 40px !important; max-height: 40px !important; padding: 8px 12px; }
    #srch-box .srch-btn { height: 40px !important; min-height: 40px !important; max-height: 40px !important; padding: 0 15px; }
}

/* ─── TLD 面板 ─── */
.tld-panel {
    background:var(--surface); border:1px solid var(--border-light);
    border-radius:6px; padding:0;
    margin-bottom:0; overflow:hidden;
}
/* 面板顶栏 */
.tld-panel-hd {
    display:flex; align-items:center; justify-content:space-between;
    padding:10px 14px; background:var(--surface);
    border-bottom:1px solid var(--border-light); flex-wrap:wrap; gap:8px;
}

/* ─── 分类 Tabs ─── */
.cat-tabs { display:flex; gap:0; flex-wrap:wrap; }
.cat-tab {
    padding:4px 12px; border:none; background:none;
    color:var(--text2); font-size:13px; font-weight:500;
    cursor:pointer; text-decoration:none; white-space:nowrap;
    position:relative; transition:color .12s;
    border-right:1px solid #dde3ec;
}
.cat-tab:last-child { border-right:none; }
.cat-tab.active { color:var(--primary); font-weight:800; }
.cat-tab.active::after { content:""; position:absolute; bottom:-8px; left:0; right:0; height:2px; background:var(--primary); }
.cat-tab:hover:not(.active) { color:var(--primary); }

/* 操作行 */
.tld-act-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:7px 12px; border-bottom:1px solid var(--border-light); background:#fafbfd; }
/* A-Z 筛选行 */
.tld-alpha-row { display:flex; align-items:center; gap:2px; flex-wrap:wrap; padding:6px 10px; border-bottom:1px solid var(--border-light); background:#fafbfd; }
.alpha-tag { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:24px; padding:0 5px; border-radius:4px; font-size:12px; font-weight:600; color:var(--text3); text-decoration:none; transition:.12s; cursor:pointer; }
.alpha-tag:hover { background:var(--primary-bg); color:var(--primary); }
.alpha-tag.selected { background:var(--primary); color:#fff; }
.tld-act {
    padding:2px 10px; border-radius:3px; border:1px solid #c8d0dc;
    background:var(--surface); color:var(--text2); font-size:12px; font-weight:500;
    cursor:pointer; white-space:nowrap; transition:all .12s;
}
.tld-act:hover { border-color:var(--primary); color:var(--primary); background:#f0f7ff; }
/* 价格筛选行 */
.tld-price-row { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:6px 12px; border-bottom:1px solid var(--border-light); background:var(--surface); }
.price-btn {
    padding:2px 10px; border-radius:4px; border:1px solid var(--border);
    background:var(--surface); color:var(--text2); font-size:12px; font-weight:500;
    cursor:pointer; white-space:nowrap; transition:background-color .12s, color .12s, border-color .12s;
}
.price-btn:hover { border-color:var(--primary); color:var(--primary); background:#f0f7ff; }
.price-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }

/* ─── TLD 网格（表格式）─── */
.tld-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background:#fff;
    user-select: none;
    -webkit-user-select: none;
}
@media(max-width:480px) {
    .tld-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(min-width:481px) and (max-width:640px) {
    .tld-grid { grid-template-columns: repeat(3, 1fr); }
}
@media(min-width:641px) and (max-width:880px) {
    .tld-grid { grid-template-columns: repeat(4, 1fr); }
}
.tld-grid:not(.expanded) .tld-btn[data-hidden="1"] { display:none; }

/* ─── TLD 按钮（行内checkbox风格）─── */
.tld-btn {
    display:flex; align-items:center; gap:7px;
    min-height:40px; padding:7px 10px 7px 9px;
    border-right:1px solid var(--border-light);
    border-bottom:1px solid var(--border-light);
    background:var(--surface); cursor:pointer; user-select:none;
    transition:background .1s;
    position:relative; overflow:hidden;
}
.tld-btn:nth-child(5n) { border-right:0; }
.tld-btn:hover { background:#f6f9fe; }
.tld-btn.sel   { background:#fff; }

/* 复选框图标 */
.tld-chk {
    width:14px; height:14px; border-radius:2px; flex-shrink:0;
    border:1px solid #b0bac8; background:var(--surface);
    display:flex; align-items:center; justify-content:center;
    font-size:9px; color:transparent; font-weight:800;
    transition:all .12s; line-height:1;
}
.tld-btn.sel .tld-chk { 
    background:var(--primary); border-color:var(--primary); color:#fff;
}
.tld-btn:hover .tld-chk { border-color:var(--primary); }

/* 扩展名 */
.tld-btn .tn {
    font-size:13px; font-weight:800; color:var(--text);
    flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.tld-btn:hover .tn { color:var(--primary); }
.tld-btn.sel .tn   { color:#1f5fd1; }

/* 价格 */
.tld-btn .tp {
    font-size:11px; font-weight:600; color:#e04a00;
    white-space:nowrap; flex-shrink:0;
}
.tld-btn .tp-yr { font-size:10px; color:var(--text4); font-weight:400; }
.tld-btn.sel .tp { color:var(--primary); }
.prem-badge { font-size:9px;background:#f59e0b;color:#fff;border-radius:3px;padding:1px 4px;margin-left:4px;font-weight:800;vertical-align:middle;white-space:nowrap;letter-spacing:.02em; }

/* ─── 结果列表 ─── */
.result-list { display:flex; flex-direction:column; gap:0; }
#sr-avail-list, #sr-taken-list { margin-top:0; }
.result-row {
    display:flex; align-items:center; justify-content:space-between;
    background:var(--surface);
    border-bottom:1px solid var(--border-light);
    padding:14px 16px; gap:12px;
    transition:background .1s;
}
.result-row:hover { background:var(--bg); }
.result-row.avail { }
.result-row.avail.premium { background:#fffbeb; }
.result-price.avail-price.premium { color:#dc2626; font-weight:800; }
.result-renew.premium { color:#b45309; }

.result-row > :first-child { min-width:0; flex:1 1 auto; }
.result-domain { font-size:16px; font-weight:600; color:var(--text); overflow-wrap:anywhere; word-break:break-word; }
.result-domain .r-tld { color:var(--text); }
.result-domain .r-tld-no { color:var(--text4); }
.result-meta { font-size:11px; color:var(--text4); margin-top:1px; }
.price-tags { display:flex; align-items:center; gap:10px; flex-wrap:nowrap; }
.price-tag { display:inline-flex; align-items:baseline; gap:1px; white-space:nowrap; line-height:1; }
.price-tag .pt-label { display:none; }
.price-tag .pt-sym { font-size:12px; }
.price-tag .pt-val { font-size:15px; font-weight:800; }
.price-tag .pt-unit { font-size:11px; font-weight:400; margin-left:1px; color:var(--text4); }
.price-tag.pt-reg-avail { color:#dc2626; }
.price-tag.pt-reg-avail.premium { color:#dc2626; }
.price-tag.pt-reg-na { color:var(--text4); }
.price-tag.pt-renew { color:var(--text4); }
.price-tag.pt-renew .pt-val { font-size:12px; font-weight:400; }
.price-tag.pt-renew .pt-sym { font-size:11px; }
.price-tag.pt-renew::before { content:'续费'; font-size:11px; margin-right:2px; }
.price-tag.pt-renew.premium { color:#b45309; }
.result-btn {
    display:inline-flex; align-items:center; gap:4px;
    padding:7px 16px; border-radius:6px;
    font-size:13px; font-weight:600; cursor:pointer;
    text-decoration:none; white-space:nowrap; transition:all .15s;
}
/* CF 风格：primary 蓝填充 / secondary 白底灰边 / 单一 hover 加深 */
.btn-reg { background:var(--primary); color:#fff; border:1px solid var(--primary); }
.btn-reg:hover { background:var(--primary-d); border-color:var(--primary-d); }
.btn-login { background:var(--surface); color:var(--text); border:1px solid var(--border); }
.btn-login:hover { background:var(--bg); border-color:var(--text4); }
.btn-whois { background:var(--surface); color:var(--text3); border:1px solid var(--border); }
.btn-whois:hover { color:var(--text); border-color:var(--text4); background:var(--bg); }
.result-btn.btn-whois, .result-btn-reserved { min-width:66px; justify-content:center; }
.result-btn-reserved { background:#f8fafc; color:#64748b; border-color:#e2e8f0; cursor:default; pointer-events:none; }
.btn-cart { background:var(--primary); color:#fff; border:1px solid var(--primary); min-width:96px; justify-content:center; }
.btn-cart:hover { background:var(--primary-d); border-color:var(--primary-d); }
.btn-checkout { background:var(--primary); color:#fff; border:1px solid var(--primary); }
.btn-checkout:hover { background:var(--primary-d); border-color:var(--primary-d); }
.btn-cart.adding, .btn-reg.adding { opacity:.6; pointer-events:none; }
.btn-cart.added, .btn-reg.added { background:#16a34a; color:#fff; border-color:#16a34a; }
.btn-cart.added:hover, .btn-reg.added:hover { background:#15803d; border-color:#15803d; }
.srch-btn[disabled] { opacity:.7; cursor:wait; }
.srch-btn[disabled] .fa-spinner { animation:spin .8s linear infinite; }
/* 内联 WHOIS 面板 */
.whois-panel { display:none; border-top:1px solid var(--border); background:var(--bg); padding:10px 14px; border-radius:0 0 8px 8px; font-size:12px; }
.whois-panel.open { display:block; }
.whois-panel .wp-grid { display:grid; grid-template-columns:80px 1fr; gap:3px 8px; }
.whois-panel .wp-key { color:var(--text4); font-weight:600; }
.whois-panel .wp-val { color:var(--text2); word-break:break-all; }
.whois-panel .wp-loading { color:var(--text4); }
.result-row.has-panel { border-radius:9px 9px 0 0; border-bottom-color:transparent; }

/* ─── 模式 Tabs ─── */
.mode-tabs{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:16px}
.mode-tab{flex:1;text-align:center;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text3);text-decoration:none;transition:.15s;border-right:1px solid var(--border)}
.mode-tab:last-child{border-right:none}
.mode-tab.active{background:var(--primary);color:#fff}
.mode-tab:not(.active):hover{background:var(--bg);color:var(--text)}

/* 手机端 result-row 调整 */
/* 手机端底部结算栏 */
.srch-mobile-checkout {
    display:none; position:fixed; bottom:calc(56px + env(safe-area-inset-bottom, 0px)); left:0; right:0; z-index:55;
    background:var(--surface); border-top:1px solid var(--border); padding:10px 16px;
    box-shadow:0 -2px 10px rgba(0,0,0,.08);
    align-items:center; justify-content:space-between; gap:12px;
}
.srch-mobile-checkout .smc-info { font-size:13px; color:var(--text3); }
.srch-mobile-checkout .smc-info b { color:var(--text); font-size:16px; }
.srch-mobile-checkout .smc-btn {
    background:#16a34a; color:#fff; border:none; border-radius:8px;
    padding:10px 20px; font-size:14px; font-weight:800; cursor:pointer;
    text-decoration:none; white-space:nowrap;
}
@media(max-width:640px) {
    .btn-checkout { display:none !important; }
    .srch-mobile-checkout { display:none; }
    .srch-mobile-checkout.show { display:flex; }
    .srch-wrap { padding-bottom:0; }
}
@media(max-width:640px) {
    .srch-wrap { min-height:560px; padding:12px 12px 0; }
    .srch-input { padding:12px 14px; font-size:16px; }
    .srch-btn { padding:12px 16px; font-size:14px; }
    .srch-btn span.btn-text { display:none; }
    .tld-panel-hd { padding:8px 10px; }
    .cat-tab { padding:5px 10px; font-size:12px; }
    .tld-act-row { padding:6px 10px; }
    .result-list { gap:0; }
    /* 手机端：域名与按钮/loading/价格保持同行（不再换行） — flex-wrap 仅在右侧块内部 wrap 价格徽章 */
    .result-row { flex-wrap:nowrap; padding:10px 12px; gap:8px; align-items:center; }
    .result-row > :first-child { min-width:0; }
    .result-domain { font-size:15px; }
    .price-tags { flex-wrap:wrap; gap:4px 10px; justify-content:flex-end; }
    .result-btn { padding:6px 12px; font-size:12px; flex-shrink:0; }
    .result-row > div:last-child {
        flex-shrink:0; flex-wrap:wrap;
        justify-content:flex-end;
        gap:6px 10px;
    }
    #sr-avail-hd, #sr-taken-hd { font-size:13px; }
}
@media(max-width:480px) {
    .srch-box { border-radius:6px; }
    .srch-input { padding:11px 12px; font-size:16px; }
    .srch-btn { padding:11px 14px; }
    .result-row { padding:10px; min-height:60px; }
    .result-domain { font-size:14px; }
    .tld-panel { margin-bottom:10px; border-radius:6px; }
    .tld-btn { padding:8px 8px; gap:6px; min-height:44px; }
    .tld-btn .tn { font-size:12px; }
    .tld-btn .tp { font-size:10px; }
    .tld-chk { width:16px; height:16px; }
    .result-btn { min-height:36px; padding:8px 12px; font-size:13px; }
}

/* 加载动画 */
.srch-loading { text-align:center; padding:32px 0; color:var(--text3); }
.spin { animation:spin .8s linear infinite; display:inline-block; }
@keyframes spin { to { transform:rotate(360deg); } }
/* 骨架屏 */
.skel-row { display:flex; align-items:center; gap:12px; padding:10px 14px; border:1px solid var(--border); border-radius:8px; margin-bottom:4px; }
.skel-bar { background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%); background-size:200% 100%; animation:skel-shimmer 1.5s infinite; border-radius:6px; }
@keyframes skel-shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ─── 流式查询结果 ─── */
.sr-result-item { }

/* 结果区段标题 */
.sr-sep {
    display:flex; align-items:center; gap:6px;
    font-size:11px; font-weight:800; color:var(--text3);
    padding:6px 0 4px; margin-top:2px;
    border-bottom:1px solid #f0f2f5;
    text-transform:uppercase; letter-spacing:.4px;
}
.sr-sep-avail { color:#15803d; }
.sr-sep-taken { color:var(--text4); }

/* 结果统计行 */
.sr-hd {
    display:flex; justify-content:space-between; align-items:center;
    margin:12px 0 8px; flex-wrap:wrap; gap:8px;
    padding:10px 12px; border:1px solid #e5eaf1; border-radius:8px; background:#fff;
}
#sr-loading-list { display:none!important; }
.sr-hd[aria-busy="true"] { background:linear-gradient(90deg,#fff 0%,var(--primary-bg) 50%,#fff 100%); background-size:220% 100%; animation:sr-loading-sheen 1.4s ease-in-out infinite; }
@keyframes sr-loading-sheen { 0%{background-position:220% 0} 100%{background-position:-220% 0} }
@media(prefers-reduced-motion:reduce){.sr-hd[aria-busy="true"]{animation:none}}
.sr-hd-title { font-size:14px; font-weight:600; color:var(--text2); }
.sr-progress  { font-size:12px; color:var(--text4); }
.sr-progress-count{margin-left:7px;color:var(--text3);font-size:11px;font-variant-numeric:tabular-nums}
.sr-progress-track{height:3px;overflow:hidden;margin:-2px 0 10px;border-radius:999px;background:#e9eef5}
.sr-progress-bar{display:block;width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}

/* ─── 待查询区域 ─── */
.sr-pending-wrap {
    margin-top:14px; background:var(--bg);
    border:1px solid #e8edf3; border-radius:9px; padding:10px 12px;
    display:none; /* 初始隐藏，doSearch 时显示 */
}
.sr-pending-label {
    font-size:12px; font-weight:600; color:var(--text3);
    margin-bottom:8px; display:flex; align-items:center; gap:6px;
}
.sr-pending-label .spin { font-size:11px; color:var(--primary); }
.sr-pending-chips { display:flex; flex-wrap:wrap; gap:5px; min-height:22px; }

/* 待查询 chip */
.sr-chip {
    display:inline-flex; align-items:center;
    background:var(--primary-bg); color:var(--primary);
    border:1px solid var(--border); border-radius:6px;
    padding:2px 9px; font-size:11px; font-weight:800;
    transition:opacity .25s, transform .25s;
    white-space:nowrap;
}
.sr-chip.done { opacity:0; transform:scale(.75); pointer-events:none; }

/* Results should settle in quietly as each registry responds. The movement is
   deliberately short and disabled for reduced-motion users. */
.sr-result-item{animation:sr-result-in .14s ease-out both}
@keyframes sr-result-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.sr-result-item,.sr-progress-bar,.sr-chip{animation:none!important;transition:none!important}}

/* 结果计数徽章 */
.sr-badge {
    display:inline-block; background:#dcfce7; color:#15803d;
    border-radius:6px; padding:0 7px; font-size:11px; font-weight:800;
    margin-left:4px;
}
.sr-badge-no { background:var(--bg); color:var(--text4); }

@media(max-width:480px) {
    .sr-pending-wrap { padding:8px 10px; }
    .sr-chip { font-size:10px; padding:2px 7px; }
    .sr-sep { font-size:11px; }
    .sr-hd{margin-top:10px;padding:9px 10px}
}
/* ── WHOIS 页面 ── */
.wh-wrap{max-width:900px;margin:0 auto}
.wh-search-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px;margin-bottom:14px;}
.wh-search-ttl{font-size:13px;font-weight:800;color:var(--text3);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.wh-search-row{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:.15s}
.wh-search-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}
.wh-search-row input{flex:1;border:none;outline:none;padding:11px 16px;font-size:14px;background:transparent;color:var(--text);font-family:inherit;min-width:0}
.wh-search-row input:focus{border-color:transparent!important;outline:0;box-shadow:none!important}
.wh-search-row button{padding:0 22px;background:var(--primary);color:#fff;border:none;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.15s;flex-shrink:0}
.wh-search-row button:hover{background:var(--primary-d)}
/* 结果卡 */
.wh-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
/* 域名头部 */
.wh-hdr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border-light);background:#fafbff}
.wh-hdr-domain{font-size:clamp(16px,3vw,22px);font-weight:800;color:var(--text);font-family:monospace;word-break:break-all}
.wh-local-badge{display:inline-flex;align-items:center;gap:4px;background:var(--primary-bg2);color:var(--primary);border:1px solid var(--primary);border-radius:6px;font-size:11px;font-weight:800;padding:3px 10px;flex-shrink:0}
.wh-stag{display:inline-flex;align-items:center;gap:5px;border-radius:6px;font-size:12px;font-weight:600;padding:4px 12px;flex-shrink:0}
.wh-st-reg{background:#fee2e2;color:#dc2626}
.wh-st-avail{background:#dcfce7;color:#16a34a}
.wh-st-unk{background:var(--bg);color:var(--text3)}
.wh-hdr-acts{margin-left:auto;display:flex;gap:6px;align-items:center;flex-shrink:0}
/* 标签页 */
.wh-tabs{display:flex;border-bottom:1px solid var(--border-light);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.wh-tabs::-webkit-scrollbar{display:none}
.wh-tab{padding:11px 16px;font-size:13px;font-weight:600;color:var(--text3);border:none;background:none;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;transition:.15s;white-space:nowrap;display:flex;align-items:center;gap:6px;flex-shrink:0}
.wh-tab:hover{color:var(--primary)}
.wh-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.wh-panel{display:none;padding:20px}
.wh-panel.active{display:block}
/* 概览：KV 格 */
.wh-kv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.wh-kv{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 16px}
.wh-kv-lbl{font-size:12px;color:var(--text3);margin-bottom:4px}
.wh-kv-val{font-size:14px;font-weight:600;color:var(--text);word-break:break-all;line-height:1.3}
.wh-kv-sub{font-size:11px;margin-top:3px;color:var(--text4)}
/* 详情表 */
.wh-info-tbl{border:1px solid var(--border-light);border-radius:6px;overflow:hidden}
.wh-info-row{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:9px 14px;border-bottom:1px solid var(--bg);font-size:13px}
.wh-info-row:last-child{border-bottom:none}
.wh-info-row:nth-child(even){background:var(--bg)}
.wh-info-dt{color:var(--text3);font-weight:600}
.wh-info-dd{color:var(--text);word-break:break-all;margin:0}
/* DNS */
.wh-dns-tbl{width:100%;border-collapse:collapse;font-size:13px}
.wh-dns-tbl th{padding:9px 12px;text-align:left;font-size:11px;font-weight:800;color:var(--text3);text-transform:uppercase;background:var(--bg);border-bottom:2px solid var(--border)}
.wh-dns-tbl td{padding:9px 12px;border-bottom:1px solid var(--bg);vertical-align:top}
.wh-dns-tbl tr:last-child td{border-bottom:none}
.dns-type{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:800;font-family:monospace}
.dns-A{background:var(--primary-bg2);color:var(--text)}.dns-AAAA{background:var(--bg);color:#7c3aed}.dns-MX{background:#fef3c7;color:#92400e}
.dns-NS{background:#dcfce7;color:#166534}.dns-CNAME{background:#fce7f3;color:#9d174d}.dns-TXT{background:var(--bg);color:var(--text2)}
.dns-SOA{background:#fff7ed;color:#c2410c}
.dns-record{font-family:monospace;font-size:12px;word-break:break-all;line-height:1.6;color:var(--text2)}
/* SSL */
.wh-ssl-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wh-ssl-card{background:var(--bg);border:1px solid var(--border-light);border-radius:6px;padding:14px}
.wh-ssl-lbl{font-size:11px;font-weight:800;color:var(--text4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.wh-ssl-val{font-size:14px;font-weight:600;color:var(--text);word-break:break-all}
.wh-ssl-full{grid-column:1/-1}
/* 原始 */
.wh-raw-bar{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.wh-raw-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-family:inherit;transition:.15s}
.wh-raw-btn:hover{border-color:var(--primary);color:var(--primary)}
.wh-raw-pre{background:var(--text);color:var(--border);font-family:'Courier New',monospace;font-size:12px;line-height:1.7;padding:16px;border-radius:6px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:440px;overflow-y:auto}
/* 状态 */
.wh-loading{text-align:center;padding:32px;color:var(--text4);font-size:13px}
.wh-loading i{font-size:22px;margin-bottom:8px;display:block;animation:wspin 1s linear infinite}
@keyframes wspin{to{transform:rotate(360deg)}}
.wh-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:6px;font-size:13px}
.wh-empty{text-align:center;padding:32px;color:var(--text4);font-size:13px}
/* 未输入推荐 */
.wh-empty-body{padding:32px 20px;text-align:center}
.wh-feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:16px}
.wh-feat{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px;text-align:center}
.wh-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;justify-content:center}
.wh-suggest a{display:inline-flex;align-items:center;padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--text2);text-decoration:none;transition:.12s}
.wh-suggest a:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}
/* 响应式 */
@media(max-width:640px){
    .wh-kv-row{grid-template-columns:1fr 1fr}
    .wh-ssl-grid{grid-template-columns:1fr}
    .wh-tab{font-size:12px;padding:10px 12px}
    .wh-info-row{grid-template-columns:80px 1fr;font-size:12px;padding:7px 10px}
    .wh-panel{padding:12px}
    .wh-hdr{padding:12px 14px;gap:8px;flex-direction:column;align-items:flex-start}
    .wh-search-ttl .wh-hint{display:none}
    .wh-hdr-acts{margin-left:0;width:100%;justify-content:flex-start;padding-top:4px;border-top:1px solid var(--border-light)}
    .wh-hdr-domain{font-size:16px}
    .wh-search-card{padding:12px}
    .wh-search-row input{padding:9px 12px;font-size:13px}
    .wh-search-row button{padding:0 14px;font-size:12px}
    .wh-dns-tbl th,.wh-dns-tbl td{padding:6px 8px;font-size:12px}
    .wh-raw-pre{font-size:11px;padding:10px;max-height:320px}
    .wh-feat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:400px){
    .wh-kv-row{grid-template-columns:1fr}
    .wh-search-card{padding:10px}
    .wh-kv{padding:10px}
    .wh-feat-grid{grid-template-columns:1fr}
}

/* WHOIS 数据区保持单层、紧凑的字段清单。 */
.wh-kv-row { gap:0; border:1px solid var(--border); border-bottom:0; }
.wh-kv { border:0; border-right:1px solid var(--border); border-radius:0; }
.wh-kv:last-child { border-right:0; }
.wh-info-tbl { border-color:var(--border); }
.wh-info-row { grid-template-columns:140px minmax(0,1fr); padding:10px 14px; gap:16px; }
@media(max-width:640px) {
  .wh-kv { border-bottom:1px solid var(--border); }
  .wh-kv:nth-child(2n) { border-right:0; }
  .wh-info-row { grid-template-columns:92px minmax(0,1fr); gap:8px; }
}
