/* OpenRouter 中文站 v2 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--text:#e2e8f0;--text2:#94a3b8;--accent:#3b82f6;--accent2:#8b5cf6;--border:#334155;--radius:12px;--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
a{color:var(--accent);text-decoration:none}
a:hover{color:#60a5fa}

/* Breadcrumb */
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0;font-size:0.8rem;color:var(--text2)}
.breadcrumb a{color:var(--text2)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb a:after{content:'›';margin-left:6px;color:var(--surface2)}

/* Header */
.site-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text)!important}
.logo span{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{padding:6px 10px;border-radius:8px;font-size:0.8rem;color:var(--text2);transition:all .2s;white-space:nowrap}
nav a:hover{background:var(--surface2);color:var(--text)}

/* Hero */
.hero{text-align:center;padding:50px 0 30px}
.hero h1{font-size:2.5rem;font-weight:800;margin-bottom:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:1.1rem;color:var(--text2);max-width:700px;margin:0 auto;line-height:1.7}

/* Stats */
.stats-bar{display:flex;gap:12px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 24px;text-align:center}
.stat strong{font-size:1.4rem;display:block;color:var(--accent)}

/* Search */
.search-bar{max-width:600px;margin:0 auto 20px}
.search-bar input{width:100%;padding:14px 20px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;outline:none;transition:border .2s}
.search-bar input:focus{border-color:var(--accent)}
.search-results{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:600px;margin:0 auto 20px;max-height:400px;overflow-y:auto}
.search-result-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;display:block;color:var(--text)!important}
.search-result-item:hover{background:var(--surface2)}
.search-result-item .sr-name{font-weight:600}
.search-result-item .sr-meta{font-size:0.8rem;color:var(--text2);margin-top:2px}
.search-result-item .sr-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:0.7rem;margin-left:4px}
.search-result-item .sr-tag.free{background:#065f46;color:#6ee7b7}
.search-result-item .sr-tag.feat{background:#1e3a5f;color:#93c5fd}

/* Rank Grid */
.rank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:30px}
.rank-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:20px;overflow:hidden}
.rank-card h2{font-size:1rem;margin-bottom:12px}
.rank-card ol{list-style:none;counter-reset:rank}
.rank-card li{counter-increment:rank;margin-bottom:4px}
.rank-card li a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background .2s;color:var(--text)!important}
.rank-card li a:hover{background:var(--surface2)}
.rank-num{background:var(--surface2);color:var(--text2);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0}
.rank-card li:nth-child(1) .rank-num{background:#f59e0b;color:#1e293b}
.rank-card li:nth-child(2) .rank-num{background:#94a3b8;color:#1e293b}
.rank-card li:nth-child(3) .rank-num{background:#92400e;color:#fef3c7}
.rank-name{flex:1;font-size:0.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-meta{font-size:0.75rem;color:var(--text2);white-space:nowrap}
.card-more{display:block;text-align:right;font-size:0.8rem;margin-top:8px;color:var(--text2)}

/* Table */
.table-wrap{overflow-x:auto;margin-bottom:30px}
.rank-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}
.rank-table th{background:var(--surface2);padding:10px 12px;text-align:left;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.3px}
.rank-table td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:0.85rem}
.rank-table .rank{width:36px;text-align:center;color:var(--text2);font-weight:700}
.rank-table .num{text-align:right;font-variant-numeric:tabular-nums}
.rank-table .model-name{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-even{background:rgba(255,255,255,0.02)}
.rank-table tr:hover{background:rgba(59,130,246,0.08)}

/* Tags */
.tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:0.65rem;font-weight:600;margin-left:3px;vertical-align:middle}
.tag-free{background:rgba(217,119,6,0.2);color:#fbbf24}
.tag-vision{background:rgba(124,58,237,0.2);color:#a78bfa}
.tag-tools{background:rgba(8,145,178,0.2);color:#22d3ee}
.tag-struct{background:rgba(16,185,129,0.2);color:#34d399}

/* Page header */
.page-header{padding:20px 0 16px;margin-bottom:16px}
.page-header h1{font-size:1.6rem;font-weight:700;margin-bottom:6px}
.page-header p{color:var(--text2);font-size:0.9rem}
.result-count{color:var(--text2);font-size:0.8rem;margin-top:6px}

/* Provider grid */
.providers-grid,.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:30px}
.providers-grid h2{grid-column:1/-1;font-size:1.2rem;margin-bottom:6px}
.prov-list{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1}
.prov-item,.prov-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;transition:all .2s;color:var(--text)!important}
.prov-item:hover,.prov-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.prov-item{display:flex;align-items:center;justify-content:space-between}
.badge{background:var(--accent);color:#fff;padding:2px 10px;border-radius:12px;font-size:0.7rem}
.prov-card h3{font-size:0.95rem;margin-bottom:4px}
.prov-stats{display:flex;gap:10px;font-size:0.78rem;color:var(--text2);margin-bottom:2px}
.prov-price{font-size:0.78rem;color:var(--text2)}

/* Model detail */
.model-detail{padding:20px 0}
.model-head{margin-bottom:20px}
.model-head h1{font-size:1.6rem;font-weight:700;margin-bottom:6px}
.model-tags{margin-bottom:6px}
.model-provider{color:var(--text2);font-size:0.85rem}
.model-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:24px}
.spec-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px}
.spec-label{display:block;font-size:0.7rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.3px;margin-bottom:3px}
.spec-value{font-size:0.95rem;font-weight:600}
.spec-value code{font-size:0.75rem;background:var(--surface2);padding:2px 6px;border-radius:4px;word-break:break-all}
.model-desc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:24px}
.model-desc h3{margin-bottom:6px;font-size:0.95rem}
.model-desc p{color:var(--text2);line-height:1.7;font-size:0.9rem}
.faq-item{margin-bottom:14px}
.faq-item h4{font-size:0.9rem;font-weight:600;margin-bottom:3px;color:var(--text)}
.faq-item p{color:var(--text2);line-height:1.6;font-size:0.85rem}
.related-models{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin-bottom:16px}
.related-models h3{margin-bottom:8px;font-size:0.95rem}
.related-models ul{list-style:none}
.related-models li{padding:5px 0;border-bottom:1px solid var(--border);font-size:0.85rem}
.related-models li:last-child{border-bottom:none}

/* Compare */
.compare-controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:24px}
.compare-select label{display:block;font-size:0.8rem;color:var(--text2);margin-bottom:4px}
.compare-select select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:0.85rem;outline:none}
.compare-select select:focus{border-color:var(--accent)}
#compare-results{overflow-x:auto}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:24px 0;margin-top:30px;text-align:center;color:var(--text2);font-size:0.82rem}
.site-footer p{margin-bottom:3px}
.site-footer a{color:var(--text2)}
.site-footer a:hover{color:var(--accent)}

/* 404 */
.not-found{text-align:center;padding:80px 0}
.not-found h1{font-size:4rem;color:var(--surface2);margin-bottom:12px}
.not-found p{color:var(--text2);margin-bottom:16px}

/* Responsive */
@media(max-width:768px){
  .hero h1{font-size:1.5rem}
  .site-header .container{flex-direction:column;height:auto;padding:8px 16px;gap:6px}
  nav{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}
  nav a{font-size:0.7rem;padding:4px 8px}
  .rank-grid{grid-template-columns:1fr}
  .prov-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .model-specs{grid-template-columns:1fr 1fr}
  .compare-controls{grid-template-columns:1fr}
  .stats-bar .stat{padding:10px 16px}
  .stats-bar .stat strong{font-size:1.1rem}
}
