/* ========== 无限臀山 - 全站样式 · 暖色轻资讯风 ========== */
:root {
  --c-primary: #d63384;
  --c-primary-dark: #b02a6f;
  --c-accent: #e85d75;
  --c-bg: #faf7f5;
  --c-surface: #ffffff;
  --c-surface-alt: #f5f0ed;
  --c-text: #2d2a26;
  --c-text-dim: #6e6960;
  --c-border: #e8e2dc;
  --c-tag-bg: rgba(214,51,132,.08);
  --c-tag-text: #d63384;
  --c-green-bg: rgba(25,135,84,.06);
  --c-green-text: #198754;
  --shadow-s: 0 1px 3px rgba(0,0,0,.06);
  --shadow-m: 0 2px 10px rgba(0,0,0,.08);
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--c-bg);color:var(--c-text);line-height:1.7;min-height:100vh}
a{color:var(--c-primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--c-primary-dark)}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:960px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:50px}
.site-logo{font-size:1.05rem;font-weight:700;color:var(--c-primary);display:flex;align-items:center;gap:6px}
.site-logo img{height:26px;width:auto;border-radius:4px}
.nav-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--c-text);border-radius:2px}
.main-nav{display:none;position:absolute;top:50px;left:0;right:0;background:var(--c-surface);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-m);z-index:99}
.main-nav.open{display:block}
.main-nav ul{list-style:none;padding:6px 0}
.main-nav li a{display:block;padding:9px 18px;font-size:.88rem;color:var(--c-text-dim)}
.main-nav li a:hover,.main-nav li a.active{color:var(--c-primary);background:var(--c-tag-bg)}

/* Hero - gradient bg */
.hero{background:linear-gradient(135deg,#fce4ec 0%,#f8bbd0 40%,#f48fb1 100%);padding:28px 0 24px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-30px;bottom:-30px;width:160px;height:160px;background:rgba(255,255,255,.15);border-radius:50%}
.hero h1{font-size:1.4rem;font-weight:800;line-height:1.35;color:#4a1942;margin-bottom:8px}
.hero .subtitle{font-size:.86rem;color:#6d3461;line-height:1.6;margin-bottom:12px}
.hero-tags{display:flex;flex-wrap:wrap;gap:6px}
.hero-tags span{padding:3px 10px;font-size:.72rem;background:rgba(255,255,255,.45);border-radius:16px;color:#4a1942;font-weight:500}

/* Section */
.section{padding:22px 0}
.section-alt{background:var(--c-surface)}
.section-title{font-size:1.05rem;font-weight:700;margin-bottom:12px;padding-left:10px;border-left:3px solid var(--c-primary);line-height:1.3}
.section-desc{font-size:.84rem;color:var(--c-text-dim);margin-bottom:12px;line-height:1.6}

/* Pill Nav */
.pill-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.pill{display:inline-block;padding:6px 14px;font-size:.8rem;font-weight:600;background:var(--c-surface);border:1px solid var(--c-border);border-radius:20px;color:var(--c-text);transition:all .2s}
.pill:hover,.pill.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* Card Grid */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.card{display:block;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-s);transition:box-shadow .2s}
.card:hover{box-shadow:var(--shadow-m)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card-body{padding:10px 12px}
.card-title{font-size:.86rem;font-weight:600;color:var(--c-text);margin-bottom:3px;line-height:1.35}
.card-desc{font-size:.74rem;color:var(--c-text-dim);line-height:1.5}
.card-badge{display:inline-block;padding:1px 7px;font-size:.65rem;border-radius:3px;font-weight:600;margin-bottom:4px}
.badge-hot{background:#fce4ec;color:#d63384}
.badge-new{background:#e8f5e9;color:#198754}

/* List Card */
.list-stack{display:flex;flex-direction:column;gap:8px}
.list-card{display:flex;gap:12px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:12px;box-shadow:var(--shadow-s);transition:border-color .2s}
.list-card:hover{border-color:var(--c-primary)}
.list-card img{width:80px;height:60px;object-fit:cover;border-radius:var(--r-sm);flex-shrink:0}
.list-card .lc-title{font-size:.86rem;font-weight:600;color:var(--c-text);line-height:1.35}
.list-card .lc-desc{font-size:.74rem;color:var(--c-text-dim);margin-top:2px}

/* Info Box */
.info-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:16px;box-shadow:var(--shadow-s);margin-bottom:10px}
.info-box h3{font-size:.9rem;font-weight:700;color:var(--c-primary);margin-bottom:5px}
.info-box p{font-size:.82rem;color:var(--c-text-dim);line-height:1.65}

/* Update */
.update-strip{background:var(--c-green-bg);border:1px solid rgba(25,135,84,.1);border-radius:var(--r-md);padding:14px 16px}
.update-strip .ut{font-size:.9rem;font-weight:700;color:var(--c-green-text);margin-bottom:8px}
.update-strip ul{list-style:none}
.update-strip li{position:relative;padding:4px 0 4px 14px;font-size:.8rem;color:var(--c-text-dim);line-height:1.55}
.update-strip li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;background:var(--c-green-text);border-radius:50%}
.update-time{font-size:.7rem;color:var(--c-text-dim);margin-top:6px;opacity:.6}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:6px}
.faq-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:.86rem;font-weight:600;cursor:pointer;background:none;border:none;width:100%;text-align:left;color:var(--c-text)}
.faq-q::after{content:'+';font-size:1rem;font-weight:700;color:var(--c-primary);flex-shrink:0;margin-left:8px}
.faq-item.open .faq-q::after{content:'−'}
.faq-a{display:none;padding:0 14px 12px;font-size:.8rem;color:var(--c-text-dim);line-height:1.65}
.faq-item.open .faq-a{display:block}

/* Recommend */
.rec-wrap{display:flex;flex-wrap:wrap;gap:6px}
.rec-tag{display:inline-block;padding:7px 14px;font-size:.8rem;font-weight:500;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);color:var(--c-text);transition:all .2s}
.rec-tag:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* Page Content */
.page-content{background:var(--c-surface);border-radius:var(--r-md);padding:18px 16px;box-shadow:var(--shadow-s);font-size:.86rem;line-height:1.75;color:var(--c-text-dim)}
.page-content h2{font-size:.98rem;font-weight:700;margin:16px 0 6px;color:var(--c-primary)}
.page-content h3{font-size:.9rem;font-weight:600;margin:12px 0 5px;color:var(--c-text)}
.page-content p{margin-bottom:8px}
.page-content ul,.page-content ol{margin:6px 0 10px 16px}
.page-content li{margin-bottom:4px}

/* Sub Hero */
.sub-hero{background:linear-gradient(135deg,#fce4ec,#f8bbd0);padding:22px 0 18px}
.sub-hero h1{font-size:1.15rem;font-weight:700;color:#4a1942;margin-bottom:4px}
.sub-hero p{font-size:.84rem;color:#6d3461}
.breadcrumb{padding:8px 0;font-size:.76rem;color:var(--c-text-dim)}
.breadcrumb a{color:var(--c-text-dim)}
.breadcrumb a:hover{color:var(--c-primary)}
.breadcrumb span{margin:0 4px}

/* Footer */
.site-footer{background:var(--c-surface);border-top:1px solid var(--c-border);padding:20px 0 16px;margin-top:14px}
.footer-nav{display:flex;flex-wrap:wrap;gap:5px 12px;margin-bottom:12px}
.footer-nav a{font-size:.78rem;color:var(--c-text-dim)}
.footer-nav a:hover{color:var(--c-primary)}
.footer-info{font-size:.7rem;color:rgba(0,0,0,.3);line-height:1.6}

@media(min-width:768px){
  .nav-toggle{display:none}
  .main-nav{display:block;position:static;background:transparent;border:none;box-shadow:none}
  .main-nav ul{display:flex;gap:4px;padding:0}
  .main-nav li a{padding:6px 10px;border-radius:var(--r-sm)}
  .hero h1{font-size:1.7rem}
  .card-grid{grid-template-columns:repeat(3,1fr)}
}
