/**
 * 博客大全 - 公共样式表
 * 所有页面引用此文件: <link rel="stylesheet" href="style.css">
 */

/* ═══ VARIABLES & RESET ═══ */
:root{
--blue:#1a7fd4;--blue-deep:#1565a0;--blue-light:#e8f4fd;--blue-hover:#1290ef;
--orange:#f08c00;--orange-light:#fff4e6;--orange-hover:#ff9f1a;--orange-glow:rgba(240,140,0,.25);
--nav-solid:#0f1923;--nav-accent:#1e3248;--nav-text:#c8d6e5;
--bg:#f0f2f5;--card:#fff;--card-hover:#fafbfc;
--t1:#1a1a2e;--t2:#5a6377;--t3:#8b95a5;--tl:#1a7fd4;
--bl:#e8eaef;--bc:#ebeef2;
--sh:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shh:0 4px 12px rgba(0,0,0,.08);
--r:12px;--rm:8px;--rs:4px;
--f:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--max:1344px;--gap:16px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--f);font-size:16px;color:var(--t1);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--tl);text-decoration:none;transition:color .2s}a:hover{color:var(--blue-hover)}
ul,ol{list-style:none}
.container{max-width:var(--max);margin:0 auto;padding:0 16px}

/* ═══ NAV: frosted glass ═══ */
.top-nav{
  background:linear-gradient(135deg,rgba(12,20,35,.82),rgba(18,30,50,.78));
  backdrop-filter:saturate(200%) blur(24px);-webkit-backdrop-filter:saturate(200%) blur(24px);
  position:sticky;top:0;z-index:200;
  border-bottom:2px solid rgba(26,127,212,.5);
  box-shadow:0 4px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06),inset 0 -1px 0 rgba(255,255,255,.03);
}
.top-nav .container{display:flex;align-items:center;justify-content:space-between;height:54px}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo img{height:32px;width:auto}
.nav-logo-text{font-size:18px;font-weight:700;letter-spacing:.5px}
.nav-logo-text .tb{color:var(--blue-hover)}.nav-logo-text .to{color:var(--orange)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{color:var(--nav-text);font-size:13px;padding:5px 11px;border-radius:var(--rs);transition:all .2s;white-space:nowrap}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-links .btn-submit{
  background:linear-gradient(135deg,var(--orange),#ff6a00);color:#fff!important;font-weight:600;
  padding:8px 22px;border-radius:20px;margin-left:8px;position:relative;overflow:hidden;
  box-shadow:0 2px 12px var(--orange-glow);transition:all .3s cubic-bezier(.4,0,.2,1);
  animation:pulse 2s ease-in-out infinite;
}
.nav-links .btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--orange-glow)}
.nav-links .btn-submit::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:shimmer 2.5s infinite}
.nav-links .btn-contact-link{background:linear-gradient(135deg,#10a37f,#0cb77e);}

.contact-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1300;padding:18px}
body.contact-open .contact-overlay{display:flex}
.contact-dialog{width:min(680px,100%);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.28);position:relative;transform:translateY(20px);opacity:0;transition:all .25s ease}
body.contact-open .contact-dialog{transform:translateY(0);opacity:1}
.contact-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:50%;background:rgba(0,0,0,.06);color:#222;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.contact-close:hover{background:rgba(0,0,0,.12)}
.contact-dialog-header{padding:26px 26px 0}
.contact-dialog-header h3{font-size:22px;color:var(--t1);margin-bottom:6px}
.contact-dialog-header p{font-size:14px;color:var(--t2);line-height:1.7}
.contact-dialog-body{padding:0 26px 24px}
.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}
.contact-panel{padding:18px;border:1px solid #eef2f6;border-radius:16px;background:#fbfdff}
.contact-panel-title{font-weight:700;color:var(--t1);margin-bottom:14px}
.contact-qr{border-radius:14px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;padding:14px}
.contact-qr img{width:100%;height:auto;display:block;max-width:100%}
.contact-tip{margin-top:14px;font-size:13px;color:var(--t2);line-height:1.65}
.contact-link{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;background:linear-gradient(135deg,#10a37f,#12b886);color:#fff;border-radius:12px;font-weight:600;box-shadow:0 10px 20px rgba(16,163,127,.18);text-decoration:none;transition:background .2s}
.contact-link:hover{background:linear-gradient(135deg,#0c9f6e,#0a8b61)}
.contact-float-btn{position:fixed;right:18px;bottom:18px;z-index:1400;width:56px;height:56px;border:none;border-radius:50%;background:linear-gradient(135deg,#10a37f,#0cb77e);color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,.2);transition:transform .25s,box-shadow .25s}
.contact-float-btn:hover{transform:translateY(-2px);box-shadow:0 22px 44px rgba(0,0,0,.28)}
@media(max-width:860px){.contact-card{grid-template-columns:1fr}.contact-dialog{max-width:100%;}}

@keyframes shimmer{0%{left:-100%}100%{left:200%}}
@keyframes pulse{0%,100%{box-shadow:0 2px 12px var(--orange-glow)}50%{box-shadow:0 2px 20px rgba(240,140,0,.45)}}

/* ═══ BANNER + SEARCH ═══ */
.banner-area{background:var(--card);border-bottom:1px solid var(--bl)}
.banner-area .container{padding-top:14px;padding-bottom:14px}
.ad-banners{display:flex;gap:14px;margin-bottom:14px}
.ad-banner{flex:1;height:90px;border-radius:var(--rm);background:linear-gradient(135deg,#e3eeff,#f0f7ff);border:2px dashed var(--bl);display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:13px}
.search-row{display:grid;grid-template-columns:1fr 300px;gap:var(--gap);align-items:center}
.search-wrap{display:flex;align-items:stretch;height:42px;border-radius:var(--rm);border:2px solid var(--blue);transition:all .2s;position:relative;overflow:visible}
.search-wrap:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,140,0,.12)}
.engine-sel{position:relative;flex-shrink:0}
.engine-cur{display:flex;align-items:center;gap:6px;padding:0 14px;height:100%;background:linear-gradient(180deg,#f8f9fb,#eef1f5);cursor:pointer;font-size:13px;color:var(--t1);font-weight:600;white-space:nowrap;user-select:none;border:none;border-right:1px solid var(--bl);border-radius:var(--rm) 0 0 var(--rm);font-family:var(--f)}
.engine-cur .eico{width:16px;height:16px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.engine-cur::after{content:'';border:4px solid transparent;border-top:5px solid var(--t3);margin-top:2px;transition:transform .2s}
.engine-sel.open .engine-cur::after{transform:rotate(180deg)}
.engine-dd{position:absolute;top:calc(100% + 4px);left:-2px;width:200px;background:var(--card);border:1px solid var(--bc);border-radius:var(--rm);box-shadow:0 8px 30px rgba(0,0,0,.14);z-index:300;display:none;padding:6px 0}
.engine-sel.open .engine-dd{display:block}
.eg-label{padding:5px 14px 2px;font-size:11px;color:var(--t3);font-weight:700;letter-spacing:.5px}
.eg-opt{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:13px;color:var(--t1);cursor:pointer;transition:background .1s}
.eg-opt:hover{background:var(--blue-light)}
.eg-opt.active{background:var(--blue-light);color:var(--blue);font-weight:600}
.eg-opt .eico{width:16px;height:16px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}
.search-input{flex:1;border:none;outline:none;padding:0 14px;font-size:14px;font-family:var(--f);background:#fff;min-width:0}
.search-btn{padding:0 28px;border:none;background:var(--blue);color:#fff;font-size:14px;cursor:pointer;font-family:var(--f);font-weight:600;transition:background .2s;border-radius:0 calc(var(--rm) - 2px) calc(var(--rm) - 2px) 0;flex-shrink:0}
.search-btn:hover{background:var(--blue-deep)}
.search-ads{display:flex;flex-direction:column;gap:3px;justify-content:center}
.search-ads a{font-size:12px;color:var(--t2);padding:2px 0;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-ads a:hover{color:var(--orange)}
.search-ads a::before{content:'[AD] ';color:var(--orange);font-size:10px;font-weight:700}

/* ═══ MAIN LAYOUT ═══ */
.main-wrap{max-width:var(--max);margin:var(--gap) auto;padding:0 16px;display:grid;grid-template-columns:1fr 300px;gap:var(--gap);align-items:start}

/* ═══ CARD ═══ */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--bc);overflow:hidden;transition:box-shadow .25s}
.card:hover{box-shadow:var(--shh)}
.main-wrap .card,
.main-wrap .province-section,
.main-wrap .tab-card,
.main-wrap .province-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  visibility: visible !important;
  transition: none !important;
}
.card+.card{margin-top:var(--gap)}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--bl)}
.card-title{font-size:18px;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:8px}
.card-title::before{content:'';display:inline-block;width:4px;height:16px;background:var(--blue);border-radius:2px}
.card-title.orange::before{background:var(--orange)}
.card-more{font-size:12px;color:var(--t3)}.card-more:hover{color:var(--blue)}
.card-body{padding:14px 16px}

/* ═══ TABS ═══ */
.tab-card{overflow:visible}
.tab-header{display:flex;gap:0;background:linear-gradient(180deg,#f8fafc,var(--card));border-bottom:2px solid var(--bl);border-radius:var(--r) var(--r) 0 0;padding:0 8px}
.tab-btn{padding:12px 22px;font-size:18px;font-weight:600;color:var(--t2);cursor:pointer;border:none;background:none;font-family:var(--f);position:relative;transition:all .2s;border-radius:var(--rm) var(--rm) 0 0}
.tab-btn:hover{color:var(--blue);background:rgba(26,127,212,.06)}
.tab-btn.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 2px 8px rgba(26,127,212,.25)}
.tab-btn.active::after{display:none}
.tab-panel{display:none;padding:0}.tab-panel.active{display:block}

/* ═══ TAB LINKS GRID ═══ */
.tab-links{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0}
.tab-links a{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--t2);padding:8px 10px;border-radius:0;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;border-bottom:1px solid var(--bl);border-right:1px solid var(--bl)}
.tab-links a::before{content:'';display:block;width:6px;height:6px;background:var(--blue);border-radius:1.5px;flex-shrink:0;transition:background .15s}
.tab-links a:hover{color:var(--blue);background:var(--blue-light)}
.tab-links a:hover::before{background:var(--orange)}
.tab-links a.clicked{color:var(--orange)!important;background:var(--orange-light)!important}
.tab-links a.clicked::before{background:var(--orange)!important}
.tab-links a:nth-child(6n){border-right:none}
.tab-links a:nth-last-child(-n+6){border-bottom:none}

/* ═══ STATS ═══ */
.stats-bar{margin-top:var(--gap)}
.stats-bar .card-body{padding:12px 16px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stat-box{text-align:center;padding:12px 6px;background:var(--bg);border-radius:var(--rm)}
.stat-num{font-size:22px;font-weight:700;color:var(--blue);line-height:1.2}
.stat-num.orange{color:var(--orange)}
.stat-label{font-size:12px;color:var(--t3);margin-top:2px}

/* ═══ PROVINCE NAV ═══ */
.province-section{margin-top:var(--gap);display:grid;gap:var(--gap)}
.province-card .card-body{padding:16px}
.prov-row {
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 12px 15px;
  margin-bottom: 12px;
  background: linear-gradient(to bottom, #ffffff, #f9f9f9);
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.prov-row:hover {
  border-color: #3498db;
  box-shadow: 0 4px 12px rgba(52, 152, 219, 0.2);
  transform: translateY(-2px);
  background: linear-gradient(to bottom, #ffffff, #f0f7ff);
}

.prov-header {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 2px dashed #e8e8e8;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.prov-label {
  font-weight: bold;
  color: #2c3e50;
  font-size: 15px;
}

.prov-label a {
  color: #3498db;
  text-decoration: none;
  transition: color 0.2s;
}

.prov-label a:hover {
  color: #e74c3c;
}

.prov-more {
  color: #7f8c8d;
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s;
}

.prov-more:hover {
  color: #3498db;
}

.prov-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.website-link {
  padding: 4px 10px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  background: #fff;
  transition: all 0.25s ease;
  display: inline-block;
}

.website-link:hover {
  border-color: #3498db;
  background: #3498db;
  color: #fff;
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
}

.website-link.paid {
  border-color: #ff6b6b;
  color: #c0392b;
  background: linear-gradient(135deg, #fff5f5, #fff);
  font-weight: 500;
}

.website-link.paid:hover {
  border-color: #e74c3c;
  background: linear-gradient(135deg, #e74c3c, #c0392b);
  color: #fff;
  box-shadow: 0 2px 8px rgba(231, 76, 60, 0.4);
}

.website-link.hot {
  border-color: #ffa502;
  color: #d35400;
  background: linear-gradient(135deg, #fff9e6, #fff);
  font-weight: 500;
}

.website-link.hot:hover {
  border-color: #ff9500;
  background: linear-gradient(135deg, #ffa502, #ff8c00);
  color: #fff;
  box-shadow: 0 2px 8px rgba(255, 165, 2, 0.4);
}

/* ═══ SIDEBAR ═══ */
.sidebar .card+.card{margin-top:14px}
.sidebar .card-body{padding:10px 14px}
.sidebar .card-body.compact{padding:10px}
.pay-link{color:#ff0000}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tool-item{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:var(--rm);background:var(--bg);border:1px solid transparent;transition:all .2s;cursor:pointer;text-decoration:none}
.tool-item:hover{background:var(--blue-light);border-color:rgba(26,127,212,.15);transform:translateY(-1px)}
.tool-icon{width:24px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.tool-chatgpt{background:#10a37f}
.tool-qianwen{background:#ff6a00}
.tool-kimi{background:#6366f1}
.tool-yiyan{background:#1677ff}
.tool-baidu{background:#0052d9}
.tool-google{background:#4285f4}
.tool-chinaz{background:#1f2937}
.tool-aizhan{background:#0f172a}
.tool-5118{background:#0c4a6e}
.tool-zui5-seo{background:#918b89}
.tool-zui5-alexa{background:#3b82f6}
.tool-aidso{background:#6d28d9}
.tool-claude{background:#d97706}
.tool-gemini{background:#4285f4}
.tool-copilot{background:#2b88d8}
.tool-midjourney{background:#1a1a2e}
.tool-doubao{background:#3b82f6}
.tool-jvs{background:#20b2aa}
.tool-deepseek{background:#0891b2}
.tool-mulerun{background:#ec4899}
.tool-item .tname{font-size:12px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-tag{display:inline-block;font-size:12px;padding:3px 9px;border-radius:12px;background:var(--bg);color:var(--t2);border:1px solid transparent;transition:all .2s;cursor:pointer;white-space:nowrap;margin:2px 1px}
.cat-tag:hover,.cat-tag.active{background:var(--blue-light);color:var(--blue);border-color:var(--blue)}
.hot-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--bl);font-size:13px}
.hot-item:last-child{border-bottom:none}
.hot-num{width:20px;height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--t3);background:var(--bg);flex-shrink:0}
.hot-num.t1{background:#ff6b35;color:#fff}.hot-num.t2{background:var(--orange);color:#fff}.hot-num.t3{background:var(--blue);color:#fff}
.hot-item a{color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.hot-item a:hover{color:var(--blue)}
.hot-item .hv{font-size:12px;color:var(--t3);white-space:nowrap}
.friend-links{display:flex;flex-wrap:wrap;gap:5px}
.friend-links a{font-size:12px;padding:3px 9px;background:var(--bg);border-radius:var(--rs);color:var(--t2);transition:all .2s}
.friend-links a:hover{background:var(--blue-light);color:var(--blue)}

/* ═══ BOTTOM AUDIT ═══ */
.audit-section{max-width:var(--max);margin:var(--gap) auto 0;padding:0 16px}
.audit-grid{display:flex;flex-wrap:wrap;gap:0}
.audit-item{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;font-size:13px;white-space:nowrap;transition:color .15s}
.audit-item:hover{color:var(--blue)}
.new-badge{display:inline-block;font-size:10px;font-weight:600;color:var(--orange);background:var(--orange-light);padding:1px 4px;border-radius:2px;line-height:1.3;flex-shrink:0}
.audit-item a{color:var(--t2);font-size:13px}.audit-item a:hover{color:var(--blue)}
.audit-item::after{content:'|';color:var(--bl);margin-left:6px}
.audit-item:last-child::after{content:''}

/* ═══ FOOTER ═══ */
.site-footer{background:var(--nav-solid);color:var(--nav-text);margin-top:30px;padding:24px 0;text-align:center;font-size:12px;line-height:2}
.site-footer a{color:var(--nav-text);opacity:.8}.site-footer a:hover{color:#fff;opacity:1}
.footer-sep{margin:0 8px;opacity:.3}

/* ═══ CLICK RIPPLE ═══ */
.click-ripple{position:fixed;pointer-events:none;width:20px;height:20px;border-radius:50%;background:var(--orange);opacity:.6;transform:scale(0);animation:ripple .5s ease-out forwards;z-index:9999}
@keyframes ripple{0%{transform:scale(0);opacity:.6}100%{transform:scale(3);opacity:0}}

/* ═══ BREADCRUMB (webdir) ═══ */
.breadcrumb-bar{max-width:var(--max);margin:var(--gap) auto 0;padding:0 16px}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--t3);padding:10px 16px;background:var(--card);border-radius:var(--rm);border:1px solid var(--bc)}
.breadcrumb a{color:var(--blue);font-size:13px}
.breadcrumb .sep{color:var(--bl);margin:0 2px}
.breadcrumb .crumb-count{color:var(--orange);font-weight:600}

/* ═══ WEBDIR GRID (webdir) ═══ */
.webdir-title{padding:12px 16px;font-size:18px;font-weight:600;color:var(--t1);background:linear-gradient(180deg,#f8fafc,var(--card));border-bottom:1px solid var(--bl);display:flex;align-items:center;gap:8px}
.webdir-title .region-name{color:var(--blue)}
.webdir-title .tip{font-size:12px;color:var(--t3);font-weight:400;margin-left:auto}
.region-filter{padding:14px 16px}
.webdir-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:0}
.webdir-grid a{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--t2);padding:8px 10px;border-radius:0;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;border-bottom:1px solid var(--bl);border-right:1px solid var(--bl)}
.webdir-grid a::before{content:'';display:block;width:6px;height:6px;background:var(--blue);border-radius:1.5px;flex-shrink:0;transition:background .15s}
.webdir-grid a:hover{color:var(--blue);background:var(--blue-light)}
.webdir-grid a:hover::before{background:var(--orange)}
.webdir-grid a.clicked{color:var(--orange)!important;background:var(--orange-light)!important}
.webdir-grid a.clicked::before{background:var(--orange)!important}
.webdir-grid a:nth-child(6n){border-right:none}

/* ═══ PAGINATION (webdir) ═══ */
.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;font-size:13px;border-radius:var(--rs);border:1px solid var(--bl);color:var(--t2);transition:all .2s}
.pagination a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
.pagination .active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}
.pagination .disabled{color:var(--t3);cursor:default;opacity:.5}

/* ═══ FORM (login) ═══ */
.form-card .card-header{background:linear-gradient(135deg,var(--blue),var(--blue-deep));border-bottom:none}
.form-card .card-title{color:#fff}
.form-card .card-title::before{background:var(--orange)}
.form-group{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--bl)}
.form-group:last-of-type{border-bottom:none}
.form-label{min-width:90px;font-size:13px;font-weight:600;color:var(--t1);padding-top:8px;text-align:right;flex-shrink:0}
.form-label .req{color:#e53935;margin-left:2px}
.form-control{flex:1}
.form-control input,.form-control select,.form-control textarea{
  width:100%;padding:8px 12px;font-size:13px;font-family:var(--f);color:var(--t1);
  border:1px solid var(--bl);border-radius:var(--rm);background:#fff;
  transition:border-color .2s,box-shadow .2s;outline:none;
}
.form-control input:focus,.form-control select:focus,.form-control textarea:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,127,212,.1);
}
.form-control textarea{resize:vertical;min-height:80px;line-height:1.5}
.form-control select{cursor:pointer;appearance:auto}
.form-hint{font-size:12px;color:var(--t3);margin-top:4px}
.captcha-row{display:flex;align-items:center;gap:10px}
.captcha-row input{width:140px}
.captcha-img{height:36px;border-radius:var(--rs);background:linear-gradient(135deg,#e8eaef,#d0d5dd);display:flex;align-items:center;justify-content:center;padding:0 16px;font-size:16px;font-weight:700;letter-spacing:4px;color:var(--t2);cursor:pointer;user-select:none;border:1px solid var(--bl)}
.captcha-img:hover{opacity:.8}
.form-submit{display:flex;align-items:center;gap:14px;padding-top:18px}
.btn-primary{
  padding:10px 40px;font-size:14px;font-weight:600;color:#fff;
  background:linear-gradient(135deg,var(--orange),#ff6a00);
  border:none;border-radius:var(--rm);cursor:pointer;font-family:var(--f);
  box-shadow:0 2px 12px var(--orange-glow);transition:all .3s;
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--orange-glow)}
.btn-reset{
  padding:10px 24px;font-size:14px;color:var(--t2);
  background:var(--bg);border:1px solid var(--bl);border-radius:var(--rm);
  cursor:pointer;font-family:var(--f);transition:all .2s;
}
.btn-reset:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue)}

/* LINK REQUIREMENT (login) */
.link-req{margin-top:var(--gap)}
.link-req .card-body{padding:16px 20px}
.link-req-title{font-size:18px;font-weight:600;color:var(--t1);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.link-req-title::before{content:'!';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--orange);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}
.link-req p{font-size:13px;color:var(--t2);line-height:1.8;margin-bottom:8px}
.link-req .highlight{color:var(--orange);font-weight:600}
.code-block{background:var(--nav-solid);color:#a8d8ea;padding:12px 16px;border-radius:var(--rm);font-size:13px;font-family:'Courier New',monospace;line-height:1.8;margin:8px 0;overflow-x:auto;position:relative}
.code-block .code-label{display:block;font-size:11px;color:var(--t3);margin-bottom:6px;font-family:var(--f)}
.code-block code{display:block;white-space:pre-wrap;word-break:break-all}
.code-copy{position:absolute;top:8px;right:8px;padding:3px 8px;font-size:11px;color:var(--nav-text);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--rs);cursor:pointer;font-family:var(--f);transition:all .2s}
.code-copy:hover{background:rgba(255,255,255,.2);color:#fff}

/* ═══ RESPONSIVE ═══ */
@media(max-width:960px){
  .main-wrap,.search-row{grid-template-columns:1fr}
  .nav-links a:not(.btn-submit){display:none}
  .ad-banners{flex-direction:column}.ad-banner{height:60px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .tab-links{grid-template-columns:repeat(4,1fr)}
  .tab-links a:nth-child(6n){border-right:1px solid var(--bl)}
  .tab-links a:nth-child(4n){border-right:none}
  .webdir-grid{grid-template-columns:repeat(4,1fr)}
  .webdir-grid a:nth-child(6n){border-right:1px solid var(--bl)}
  .webdir-grid a:nth-child(4n){border-right:none}
  .prov-links{grid-template-columns:repeat(4,1fr)}
  .prov-links a:nth-child(5n){border-right:1px solid var(--bl)}
  .prov-links a:nth-child(4n){border-right:none}
  .form-group{flex-direction:column;gap:4px}
  .form-label{text-align:left;min-width:auto;padding-top:0}
}
@media(max-width:640px){
  .tools-grid{grid-template-columns:1fr}
  .prov-links{grid-template-columns:repeat(2,1fr)}
  .prov-links a:nth-child(4n){border-right:1px solid var(--bl)}
  .prov-links a:nth-child(3n){border-right:1px solid var(--bl)}
  .prov-links a:nth-child(2n){border-right:none}
  .tab-btn{padding:10px 14px;font-size:16px}
  .tab-links{grid-template-columns:repeat(3,1fr)}
  .tab-links a:nth-child(4n){border-right:1px solid var(--bl)}
  .tab-links a:nth-child(3n){border-right:none}
  .webdir-grid{grid-template-columns:repeat(3,1fr)}
  .webdir-grid a:nth-child(4n){border-right:1px solid var(--bl)}
  .webdir-grid a:nth-child(3n){border-right:none}
}

/* ═══ WEBSITE GRID (一行6个) ═══ */
.website-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  padding: 10px 0;
}
.site-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
  background: var(--bg);
  border: 1px solid var(--bl);
  border-radius: 4px;
  color: var(--t1);
  text-decoration: none;
  font-size: 14px;
  text-align: center;
  transition: all 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.site-link:hover {
  background: var(--blue-light);
  border-color: var(--blue);
  color: var(--blue);
}
.site-link.hot {
  background: var(--orange-light);
  border-color: var(--orange);
  color: var(--orange);
}
.site-link.pay {
  background: #fff2f0;
  border-color: #ff4d4f;
  color: #e5322e;
}