/* Base */
:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --primary:#1e73ff;
  --nav:#ffffff;
  --footer:#1f2937;
}

html,body{height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Microsoft YaHei", Arial, sans-serif;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--primary)}

.container-xxl{max-width:1200px}

/* Header */
.top-mini{
  font-size:12px;
  color:var(--muted);
  background:#fff;
  border-bottom:1px solid var(--line);
}
.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:800;
  font-size:18px;
  color:#0f172a;
}
.brand-badge{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,#22c55e,#0ea5e9);
  display:grid;place-items:center;
  color:#fff;font-weight:900;
}
.search-pill .form-control{border-radius:999px 0 0 999px}
.search-pill .btn{border-radius:0 999px 999px 0}

.main-nav{
  background:var(--nav);
  border-bottom:1px solid var(--line);
}
.main-nav .nav-link{
  color:#111827;
  font-weight:600;
  padding:.85rem .95rem;
}
.main-nav .nav-link:hover,
.main-nav .nav-link.active{
  color:var(--primary);
}
.main-nav .navbar-toggler{border-color:rgba(0,0,0,.15)}

/* Cards / sections */
.cardx{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
}
.cardx-hd{
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  background:#f9fafb;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;
}
.cardx-title{font-weight:800;font-size:14px;margin:0}
.cardx-tabs a{
  font-size:12px;
  color:var(--muted);
  margin-left:12px;
}
.cardx-tabs a.active{color:var(--primary);font-weight:700}
.cardx-bd{padding:14px}

/* Ad grid */
.ad-grid{margin-top:14px}
.ad-box{
  height:58px;
  border-radius:10px;
  background:
    linear-gradient(135deg, rgba(30,115,255,.9), rgba(34,197,94,.85)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.14) 10px, rgba(255,255,255,.06) 10px, rgba(255,255,255,.06) 20px);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-weight:900;
  letter-spacing:.5px;
  border:1px solid rgba(255,255,255,.25);
}

/* Left login panel */
.poster{
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
}
.poster .poster-img{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#fb7185,#60a5fa);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:14px;
  color:#fff;
  font-weight:900;
}
.login-box .btn{font-weight:700}
.mini-icons{
  display:flex;gap:12px;flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
}
.mini-icons span{
  display:flex;align-items:center;gap:6px;
  padding:6px 10px;border:1px dashed var(--line);
  border-radius:999px;background:#fff;
}
.dot{
  width:8px;height:8px;border-radius:999px;background:var(--primary);
}

/* Link lists */
.link-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.link-list{list-style:none;margin:0;padding:0}
.link-list li{
  display:flex;justify-content:space-between;gap:12px;
  padding:7px 0;border-bottom:1px dashed #eef2f7;
}
.link-list li:last-child{border-bottom:0}
.link-list a{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
  word-break:break-word;
}
.link-list time{font-size:12px;color:var(--muted);white-space:nowrap}

/* App grid */
.app-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.app-item{
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px;
  background:#fff;
  display:flex;gap:10px;
}
.app-icon{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,#a78bfa,#22c55e);
  flex:0 0 auto;
}
.app-name{
  font-weight:800;
  font-size:13px;
  line-height:1.2;
  margin:0 0 4px;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.app-meta{font-size:12px;color:var(--muted)}

/* Thumb strip */
.thumb-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.thumb{
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.thumb .img{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#f59e0b,#60a5fa);
}
.thumb .cap{
  padding:8px 10px;
  font-size:12px;
  color:#111827;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}

/* List page */
.list-item{
  display:grid;
  grid-template-columns: 140px 1fr auto;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid #eef2f7;
  align-items:center;
}
.list-item:last-child{border-bottom:0}
.list-item .thumb{
  display:block;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.list-item .thumb .img{
  aspect-ratio: 4 / 3;
}
.list-title{
  font-size:15px;
  font-weight:900;
  margin:0 0 6px;
  line-height:1.4;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.list-desc{
  color:var(--muted);
  font-size:12px;
  margin:0 0 8px;
  line-height:1.7;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.list-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:12px;
  color:#9ca3af;
}
.list-actions{white-space:nowrap}

.cat-grid{
  display:grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:10px;
}
.cat-grid a{
  font-size:12px;
  color:#111827;
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 10px;
  text-align:center;
}
.cat-grid a:hover{
  border-color:rgba(30,115,255,.45);
  color:var(--primary);
  background:#fff;
}

.rank-list{
  margin:0;
  padding-left: 18px;
}
.rank-list li{
  padding:7px 0;
  border-bottom:1px dashed #eef2f7;
  position:relative;
}
.rank-list li:last-child{border-bottom:0}
.rank-list li::marker{
  font-weight:900;
  color:#9ca3af;
}
.rank-list li:nth-child(1)::marker{color:#ef4444}
.rank-list li:nth-child(2)::marker{color:#f59e0b}
.rank-list li:nth-child(3)::marker{color:#22c55e}
.rank-list a{
  font-size:12px;
  color:#111827;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}

/* Show page (article) */
.article-hd{margin-bottom:10px}
.article-title{
  font-size:20px;
  font-weight:900;
  margin:0 0 8px;
  line-height:1.35;
}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  font-size:12px;
  color:#9ca3af;
}
.article-gallery{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
  margin:12px 0 14px;
}
.article-gallery .gimg{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  aspect-ratio: 4 / 3;
}
.article-content{
  font-size:14px;
  line-height:1.9;
}
.article-content p{margin:0 0 12px}
.article-content h2{
  font-size:15px;
  font-weight:900;
  margin:18px 0 8px;
}
.article-content ul,
.article-content ol{padding-left:1.2rem;margin:0 0 12px}
.article-content li{margin:6px 0}
.article-content blockquote{
  margin:14px 0;
  padding:12px 14px;
  background:#f9fafb;
  border:1px solid var(--line);
  border-left:4px solid var(--primary);
  border-radius:10px;
  color:#374151;
}
.article-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-top:1px dashed #eef2f7;
  padding-top:14px;
  margin-top:14px;
  flex-wrap:wrap;
}
.share{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.share-label{font-size:12px;color:#9ca3af}
.share-btn{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
}
.share-btn:hover{border-color:rgba(30,115,255,.45)}
.share-btn.s1{border-color:rgba(34,197,94,.35)}
.share-btn.s2{border-color:rgba(59,130,246,.35)}
.share-btn.s3{border-color:rgba(239,68,68,.35)}
.share-btn.s4{border-color:rgba(245,158,11,.35)}
.article-nav{
  font-size:12px;
  color:#9ca3af;
  display:flex;
  align-items:center;
  gap:10px;
}
.comment-box{
  margin-top:14px;
  border-top:1px solid #eef2f7;
  padding-top:14px;
}
.comment-hd{margin-bottom:10px}
.comment-bd{
  background:#f9fafb;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
}

/* Footer */
.site-footer{
  margin-top:18px;
  background:var(--footer);
  color:#cbd5e1;
}
.site-footer a{color:#cbd5e1}
.site-footer a:hover{color:#fff}
.footer-links{
  display:flex;flex-wrap:wrap;gap:14px;
  font-size:12px;color:#94a3b8;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  color:#94a3b8;
  font-size:12px;
}

/* Responsive */
@media (max-width: 991.98px){
  .link-cols{grid-template-columns:1fr}
  .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .thumb-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .list-item{grid-template-columns: 120px 1fr; grid-template-areas: "thumb body" "actions actions";}
  .list-item .thumb{grid-area:thumb}
  .list-body{grid-area:body}
  .list-actions{grid-area:actions; justify-self:end}
  .article-gallery{grid-template-columns:1fr}
}

@media (max-width: 575.98px){
  .app-grid{grid-template-columns:1fr}
  .list-item{grid-template-columns: 110px 1fr}
}
