/* ===========================================================
   RyeBlog 官方主题 —— Rye 官方主题（企业宣传风）
   设计语言：Rye 绿（嫩芽 / 欣欣向荣）+ 大幅宣传（参考 halo.run）
   适用：RyeBlog 官方站（宣传、服务）
   @Title Rye 官方主题
   @Desc RyeBlog 官方企业主题：绿色嫩芽系、大幅宣传、优点矩阵、下载/文档/知识库/案例/社区区块
   @Version 1.0.0
   =========================================================== */

/* ---------- 变量 ---------- */
body.theme-rye {
    --rye-900:#1b5e46; --rye-700:#2f7d5c; --rye-600:#369970;
    --rye-500:#3eaf7c; --rye-400:#4fc08d; --rye-200:#7fd8b0;
    --rye-100:#b8ecd4; --rye-050:#e8f8f0; --rye-025:#f4fcf8;
    --ink:#23403a; --muted:#5f7a72; --line:#e6efe9; --bg:#ffffff;
    --code-bg:#0f2417; --code-text:#d7f5dd;
    --shadow:0 10px 34px rgba(20,80,60,.08);
    --radius:14px;
}
body.theme-rye { margin:0; background:var(--bg); color:var(--ink);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',Roboto,sans-serif;
    -webkit-font-smoothing:antialiased; line-height:1.7; }
body.theme-rye a { color:var(--rye-600); text-decoration:none; transition:color .15s; }
body.theme-rye a:hover { color:var(--rye-500); }

/* ---------- 顶栏 ---------- */
body.theme-rye .rye-header {
    position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}
body.theme-rye .rye-header-inner { max-width:1200px; margin:0 auto; padding:0 24px; height:64px; display:flex; align-items:center; gap:28px; }
body.theme-rye .rye-brand { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:800; color:var(--rye-900); letter-spacing:.3px; }
body.theme-rye .rye-brand-logo { width:34px; height:34px; border-radius:9px; }
body.theme-rye .rye-brand small { font-size:11px; color:var(--rye-500); font-weight:600; margin-left:2px; }
body.theme-rye .rye-nav { display:flex; gap:4px; flex:1; }
body.theme-rye .rye-nav a { padding:8px 15px; border-radius:8px; color:var(--ink); font-size:14.5px; font-weight:500; }
body.theme-rye .rye-nav a:hover { background:var(--rye-050); color:var(--rye-700); }
body.theme-rye .rye-nav a.active { color:var(--rye-600); background:var(--rye-025); font-weight:600; }
body.theme-rye .rye-header-cta { display:flex; gap:10px; }
/* 下载页 / 文档页 独立头部（docs-* 系列，样式对齐主站 rye-header） */
body.theme-rye .docs-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
body.theme-rye .docs-header-inner { max-width:1200px; margin:0 auto; padding:0 24px; height:64px; display:flex; align-items:center; gap:28px; }
body.theme-rye .docs-brand { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:800; color:var(--rye-900); letter-spacing:.3px; text-decoration:none; }
body.theme-rye .docs-brand-logo { width:34px; height:34px; border-radius:9px; object-fit:contain; }
body.theme-rye .docs-brand-name { color:var(--rye-900); }
body.theme-rye .docs-nav { display:flex; gap:4px; flex:1; }
body.theme-rye .docs-nav a { padding:8px 15px; border-radius:8px; color:var(--ink); font-size:14.5px; font-weight:500; text-decoration:none; }
body.theme-rye .docs-nav a:hover { background:var(--rye-050); color:var(--rye-700); }
body.theme-rye .docs-nav a.active { color:var(--rye-600); background:var(--rye-025); font-weight:600; }
@media (max-width:860px) {
    body.theme-rye .rye-nav, body.theme-rye .rye-header-cta { display:none; }
}

/* ---------- 按钮 ---------- */
body.theme-rye .rye-btn {
    display:inline-flex; align-items:center; gap:8px; padding:12px 28px; border-radius:999px;
    font-size:15px; font-weight:600; transition:transform .15s, box-shadow .15s, background .15s;
}
body.theme-rye .rye-btn-primary { background:linear-gradient(135deg,var(--rye-500),var(--rye-700)); color:#fff; box-shadow:0 8px 24px rgba(62,175,124,.32); }
body.theme-rye .rye-btn-primary:hover { transform:translateY(-2px); color:#fff; box-shadow:0 14px 34px rgba(62,175,124,.4); }
body.theme-rye .rye-btn-ghost { background:#fff; color:var(--rye-700); border:1.5px solid var(--rye-400); }
body.theme-rye .rye-btn-ghost:hover { background:var(--rye-025); transform:translateY(-2px); }

/* ---------- Hero（大幅宣传，参考 halo.run） ---------- */
body.theme-rye .rye-hero {
    position:relative; overflow:hidden; padding:96px 24px 120px; text-align:center;
    background:
        radial-gradient(1200px 600px at 20% -10%, rgba(62,175,124,.16) 0%, transparent 60%),
        radial-gradient(1000px 500px at 85% 10%, rgba(79,192,141,.13) 0%, transparent 55%),
        linear-gradient(180deg, #f4fcf8 0%, #ffffff 60%);
}
body.theme-rye .rye-hero::before, body.theme-rye .rye-hero::after {
    content:''; position:absolute; pointer-events:none; opacity:.5;
}
/* 嫩芽点缀：左右两侧向上的叶片 */
body.theme-rye .rye-hero::before {
    left:-40px; bottom:20px; width:180px; height:180px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20 80 Q40 30 78 18 Q66 52 24 78 Z' fill='%23b8ecd4'/%3E%3Cpath d='M35 70 Q55 38 85 30 Q70 60 38 70 Z' fill='%237fd8b0' opacity='.8'/%3E%3C/svg%3E") no-repeat center/contain;
}
body.theme-rye .rye-hero::after {
    right:-40px; top:30px; width:160px; height:160px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M80 20 Q60 70 22 82 Q34 48 76 20 Z' fill='%23b8ecd4'/%3E%3Cpath d='M65 30 Q45 62 15 70 Q30 40 62 30 Z' fill='%237fd8b0' opacity='.8'/%3E%3C/svg%3E") no-repeat center/contain;
}
body.theme-rye .rye-hero-inner { max-width:900px; margin:0 auto; position:relative; z-index:1; }
body.theme-rye .rye-hero-badge {
    display:inline-flex; align-items:center; gap:6px; padding:6px 16px; border-radius:999px;
    background:var(--rye-050); color:var(--rye-700); font-size:13px; font-weight:600; margin-bottom:22px;
    border:1px solid var(--rye-200);
}
body.theme-rye .rye-hero-title { font-size:3.4rem; font-weight:800; color:var(--rye-900); line-height:1.15; margin:0 0 18px; letter-spacing:-.5px; }
body.theme-rye .rye-hero-title em { font-style:normal; color:var(--rye-500); }
body.theme-rye .rye-hero-sub { font-size:1.2rem; color:var(--muted); margin:0 auto 36px; max-width:640px; line-height:1.8; }
body.theme-rye .rye-hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:26px; }
body.theme-rye .rye-hero-version { font-size:13px; color:var(--rye-600); }
body.theme-rye .rye-hero-version code { background:var(--rye-050); padding:2px 8px; border-radius:6px; }
@media (max-width:860px) {
    body.theme-rye .rye-hero { padding:64px 18px 80px; }
    body.theme-rye .rye-hero-title { font-size:2.2rem; }
}

/* ---------- 特性网格（优点矩阵） ---------- */
body.theme-rye .rye-section { padding:70px 24px; }
body.theme-rye .rye-section-alt { background:var(--rye-025); }
body.theme-rye .rye-container { max-width:1200px; margin:0 auto; }
body.theme-rye .rye-section-head { text-align:center; margin-bottom:44px; }
body.theme-rye .rye-section-eyebrow { font-size:13px; font-weight:700; color:var(--rye-500); letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
body.theme-rye .rye-section-title { font-size:2rem; font-weight:800; color:var(--rye-900); margin:0 0 12px; }
body.theme-rye .rye-section-desc { color:var(--muted); max-width:560px; margin:0 auto; }
body.theme-rye .rye-features { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px) { body.theme-rye .rye-features { grid-template-columns:1fr; } }
body.theme-rye .rye-feature {
    background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px;
    transition:transform .2s, box-shadow .2s, border-color .2s; position:relative; overflow:hidden;
}
body.theme-rye .rye-feature:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--rye-200); }
body.theme-rye .rye-feature::before {
    content:''; position:absolute; top:0; left:0; right:0; height:4px;
    background:linear-gradient(90deg,var(--rye-400),var(--rye-600));
}
body.theme-rye .rye-feature-icon {
    width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:var(--rye-050); color:var(--rye-600); font-size:26px; margin-bottom:16px;
}
body.theme-rye .rye-feature-title { font-size:17px; font-weight:700; color:var(--rye-900); margin:0 0 8px; }
body.theme-rye .rye-feature-desc { font-size:14px; color:var(--muted); margin:0; line-height:1.75; }

/* ---------- 下载区 ---------- */
body.theme-rye .rye-download { text-align:center; position:relative; overflow:hidden; }
body.theme-rye .rye-download-box {
    max-width:760px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:20px;
    padding:44px 40px; box-shadow:var(--shadow); position:relative;
}
body.theme-rye .rye-download-badge {
    display:inline-block; background:var(--rye-050,#e8f8f0); color:var(--rye-700,#2d8a5f);
    font-size:12px; font-weight:700; letter-spacing:.06em; padding:4px 14px; border-radius:999px; margin-bottom:12px;
}
body.theme-rye .rye-download-ver { font-size:2.4rem; font-weight:800; color:var(--rye-900); margin:0 0 6px; }
body.theme-rye .rye-download-tag { font-size:13px; color:var(--muted); margin:0 0 22px; }
body.theme-rye .rye-download-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:18px; align-items:stretch; }
body.theme-rye .rye-btn-download {
    display:inline-flex; align-items:center; gap:12px; padding:14px 30px; border-radius:12px;
    font-size:15px; transition:transform .15s, box-shadow .15s;
}
body.theme-rye .rye-btn-download:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(62,175,124,.42); }
body.theme-rye .rye-dl-icon { font-size:22px; line-height:1; }
body.theme-rye .rye-dl-text { display:flex; flex-direction:column; align-items:flex-start; line-height:1.25; }
body.theme-rye .rye-dl-text b { font-size:16px; }
body.theme-rye .rye-dl-text small { font-size:11.5px; opacity:.85; font-weight:400; }
body.theme-rye .rye-download-req { font-size:13px; color:var(--muted); margin:0; }
body.theme-rye .rye-download-req code { background:var(--rye-025); padding:2px 7px; border-radius:5px; color:var(--rye-700); }

/* ---------- 入口卡片（文档/知识库/案例/社区） ---------- */
body.theme-rye .rye-gates { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:960px) { body.theme-rye .rye-gates { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { body.theme-rye .rye-gates { grid-template-columns:1fr; } }
body.theme-rye .rye-gate {
    display:flex; flex-direction:column; gap:10px; padding:30px 26px; border-radius:var(--radius);
    border:1px solid var(--line); background:#fff; transition:transform .2s, box-shadow .2s; color:var(--ink);
}
body.theme-rye .rye-gate:hover { transform:translateY(-4px); box-shadow:var(--shadow); color:var(--ink); }
body.theme-rye .rye-gate-icon { font-size:30px; }
body.theme-rye .rye-gate-name { font-size:17px; font-weight:700; color:var(--rye-900); }
body.theme-rye .rye-gate-desc { font-size:13.5px; color:var(--muted); margin:0; }
body.theme-rye .rye-gate-more { font-size:13px; font-weight:600; color:var(--rye-500); }

/* ---------- 首页动态列表 ---------- */
body.theme-rye .rye-news { max-width:820px; margin:0 auto; }
body.theme-rye .rye-news-item {
    display:flex; align-items:center; gap:16px; padding:15px 8px; border-bottom:1px solid var(--line);
    color:var(--ink); transition:padding-left .15s;
}
body.theme-rye .rye-news-item:hover { padding-left:14px; color:var(--ink); }
body.theme-rye .rye-news-date { font-size:12.5px; color:var(--rye-500); width:88px; flex-shrink:0; font-weight:600; }
body.theme-rye .rye-news-title { flex:1; font-size:15px; }
body.theme-rye .rye-news-cat { font-size:12px; color:var(--muted); background:var(--rye-025); padding:2px 9px; border-radius:999px; }

/* ---------- 页脚 ---------- */
body.theme-rye .rye-footer { border-top:1px solid var(--line); background:#f8fcfa; padding:34px 24px; }
body.theme-rye .rye-footer-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
body.theme-rye .rye-footer-copy { font-size:13px; color:var(--muted); margin:0; }
body.theme-rye .rye-footer-copy a { color:var(--rye-600); }
body.theme-rye .rye-footer-links { display:flex; gap:18px; }
body.theme-rye .rye-footer-links a { font-size:13px; color:var(--muted); }

/* 下载页 / 文档页 独立页脚（docs-footer，对齐 docs-header 文档风） */
body.theme-rye .docs-footer { border-top:1px solid var(--line); background:#f8fcfa; padding:22px 24px; margin-top:40px; }
body.theme-rye .docs-footer-inner { max-width:1200px; margin:0 auto; text-align:center; }
body.theme-rye .docs-footer-copy { font-size:13px; color:var(--muted); margin:0; }
body.theme-rye .docs-footer-copy a { color:var(--rye-600); }

/* ---------- 文章页 / 列表页（企业风） ---------- */
body.theme-rye .rye-page { max-width:860px; margin:0 auto; padding:48px 24px 70px; }
body.theme-rye .rye-page-title { font-size:2.2rem; font-weight:800; color:var(--rye-900); margin:0 0 14px; line-height:1.3; }
body.theme-rye .rye-page-meta { display:flex; gap:14px; flex-wrap:wrap; color:var(--muted); font-size:13.5px; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:28px; }
body.theme-rye .rye-page-meta a { color:var(--rye-600); }
body.theme-rye .rye-page-content { font-size:16px; color:var(--ink); line-height:1.9; }
body.theme-rye .rye-page-content h2 { font-size:1.5rem; color:var(--rye-900); margin:36px 0 14px; padding-top:14px; border-top:1px solid var(--line); }
body.theme-rye .rye-page-content h3 { font-size:1.2rem; color:var(--rye-900); margin:28px 0 10px; }
body.theme-rye .rye-page-content img { max-width:100%; border-radius:12px; }
body.theme-rye .rye-page-content blockquote { margin:20px 0; padding:14px 20px; border-left:4px solid var(--rye-500); background:var(--rye-025); color:var(--muted); border-radius:0 10px 10px 0; }
body.theme-rye .rye-page-content pre { background:var(--code-bg); color:var(--code-text); padding:16px 20px; border-radius:12px; overflow:auto; font-size:13.5px; }
body.theme-rye .rye-page-content code { font-family:'SFMono-Regular',Consolas,Menlo,monospace; background:var(--rye-025); color:#b5341f; padding:2px 6px; border-radius:5px; font-size:.9em; }
body.theme-rye .rye-page-content pre code { background:none; color:inherit; padding:0; }
body.theme-rye .rye-page-content table { border-collapse:collapse; width:100%; margin:20px 0; }
body.theme-rye .rye-page-content th, body.theme-rye .rye-page-content td { border:1px solid var(--line); padding:9px 13px; text-align:left; }
body.theme-rye .rye-page-content th { background:var(--rye-025); }
/* 列表 */
body.theme-rye .rye-list { display:flex; flex-direction:column; gap:0; }
body.theme-rye .rye-list-item { display:flex; gap:18px; align-items:center; padding:20px 6px; border-bottom:1px solid var(--line); color:var(--ink); transition:padding-left .15s; }
body.theme-rye .rye-list-item:hover { padding-left:12px; color:var(--ink); }
body.theme-rye .rye-list-main { flex:1; min-width:0; }
body.theme-rye .rye-list-title { font-size:16.5px; font-weight:600; color:var(--rye-900); }
body.theme-rye .rye-list-desc { font-size:13.5px; color:var(--muted); margin-top:4px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.theme-rye .rye-list-date { font-size:13px; color:var(--muted); flex-shrink:0; }
body.theme-rye .pagination { display:flex; gap:6px; justify-content:center; margin-top:30px; }
body.theme-rye .pagination a, body.theme-rye .pagination .current { min-width:34px; text-align:center; padding:7px 11px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:13.5px; }
body.theme-rye .pagination .current { background:var(--rye-500); border-color:var(--rye-500); color:#fff; font-weight:600; }

/* 移动端顶栏 */
@media (max-width:860px) {
    body.theme-rye .rye-header-inner { gap:12px; }
    body.theme-rye .rye-page { padding:28px 18px 50px; }
    body.theme-rye .rye-page-title { font-size:1.6rem; }
}
