/* 开发者工具站 模板样式（前缀 ra）
 * 语义化 + 移动端响应式 + 正文可读性优先；真人访客与 AI 引擎共用同一套 DOM，不做 JS 懒渲染。
 * GEO 辅助区块 .geo-points / .geo-toc / .geo-faq 类名由 core/functions.php 固定输出，此处统一适配。
 */
:root{
	--p-text:#d7e0ea;
	--p-sub:#6b7280;
	--p-line:#232c44;
	--p-bg:#0b1020;
	--p-card:#131a2e;
	--p-main:#38bdf8;
	--p-main2:#6366f1;
	--p-soft:#0f1c2b;
	--p-nav-bg:#0d1424;
	--p-nav-fg:#d7e0ea;
	--p-foot-bg:#070b16;
	--p-foot-fg:#8b98ad;
	--p-radius:10px;
	--p-shadow:none;
	--p-foot-hover:#7dd3fc;
	--p-font:"SFMono-Regular",Consolas,Menlo,monospace,"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Heiti SC",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--p-text);background:var(--p-bg);font:16px/1.8 var(--p-font);word-wrap:break-word}
a{color:var(--p-text);text-decoration:none;transition:color .15s}
a:hover{color:var(--p-main)}
img{max-width:100%;height:auto;border:0}
h1,h2,h3,h4{line-height:1.35;margin:0 0 .6em;font-weight:700}
h1{font-size:27px}h2{font-size:20px}h3{font-size:17px}
p{margin:0 0 1em}
.ra-wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* ---------- 页头 ---------- */
.ra-header{background:var(--p-nav-bg);color:var(--p-nav-fg);border-bottom:1px solid var(--p-line)}
.ra-header .ra-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:14px;padding-bottom:14px}
.ra-logo{display:flex;align-items:center;flex:0 0 auto;max-width:52%}
.ra-logo img{display:block;max-height:46px;width:auto}
.ra-slogan{flex:1 1 240px;min-width:0;margin:0;font-size:13px;color:var(--p-sub);line-height:1.6}
.ra-search{display:flex;flex:0 0 auto}
.ra-search input{width:180px;height:34px;padding:0 10px;font-size:14px;border:1px solid var(--p-line);border-right:0;border-radius:var(--p-radius) 0 0 var(--p-radius);background:#fff;color:#111}
.ra-search button{height:34px;padding:0 14px;font-size:14px;cursor:pointer;color:#04121f;background:var(--p-main);border:0;border-radius:0 var(--p-radius) var(--p-radius) 0}
.ra-nav{background:var(--p-card);border-bottom:1px solid var(--p-line)}
.ra-nav .ra-wrap{display:flex;flex-wrap:wrap}
.ra-nav a{padding:12px 16px;font-size:15px;color:var(--p-sub);border-bottom:2px solid transparent}
.ra-nav a:hover{color:var(--p-main);background:none}
.ra-nav a.cur{color:var(--p-main);font-weight:600;border-bottom-color:var(--p-main)}

/* ---------- 面包屑 / 页头横幅 ---------- */
.ra-crumb{font-size:13px;color:var(--p-sub);padding:14px 0 0}
.ra-crumb a{color:var(--p-sub)}
.ra-crumb span{color:var(--p-text)}
.ra-pagehead{background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:24px 26px;margin:16px 0}
.ra-pagehead h1{font-size:25px}
.ra-h1sub{font-size:13px;font-weight:400;color:var(--p-sub);margin-left:10px}
.ra-lead{margin:0;color:var(--p-sub);font-size:15px}
.ra-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ra-tabs a{padding:6px 14px;font-size:14px;color:var(--p-sub);background:var(--p-bg);border:1px solid var(--p-line);border-radius:var(--p-radius)}
.ra-tabs a.cur{color:#04121f;background:var(--p-main);border-color:var(--p-main)}
.ra-searchbar{display:flex;margin-top:14px}
.ra-searchbar input{flex:1 1 auto;height:38px;padding:0 12px;font-size:14px;border:1px solid var(--p-line);border-right:0;border-radius:var(--p-radius) 0 0 var(--p-radius)}
.ra-searchbar button{height:38px;padding:0 18px;font-size:14px;cursor:pointer;color:#04121f;background:var(--p-main);border:0;border-radius:0 var(--p-radius) var(--p-radius) 0}

/* ---------- 公司简介 ---------- */
.ra-about{display:flex;gap:26px;align-items:center;background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:24px 26px;margin:18px 0;box-shadow:var(--p-shadow)}
.ra-about-txt{flex:1 1 0;min-width:0}
.ra-about-txt h1{font-size:28px;margin-bottom:12px}
.ra-about-note{color:var(--p-sub);font-size:15px;margin-bottom:16px}
.ra-about-pic{flex:0 0 320px;margin:0;text-align:center}
.ra-btn{display:inline-block;padding:9px 22px;font-size:15px;color:#04121f;background:linear-gradient(135deg,var(--p-main),var(--p-main2));border-radius:var(--p-radius)}
.ra-btn:hover{color:#04121f;opacity:.9}

/* ---------- 区块 ---------- */
.ra-block{background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:16px 18px;margin-bottom:18px}
.ra-block-t{position:relative;font-size:19px;padding-bottom:10px;border-bottom:1px solid var(--p-line);margin-bottom:14px}
.ra-block-t::before{content:"";position:absolute;left:0;bottom:-1px;width:38px;height:2px;background:var(--p-main)}
.ra-more{float:right;font-size:13px;font-weight:400;color:var(--p-sub);margin-top:5px}
.ra-more:hover{color:var(--p-main)}

/* ---------- 栏目卡片 ---------- */
.ra-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}
.ra-card{display:block;background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:14px 16px;transition:border-color .15s,transform .15s}
.ra-card:hover{border-color:var(--p-main);transform:translateY(-3px)}
.ra-card b{display:block;font-size:16px;margin-bottom:5px}
.ra-card span{display:block;font-size:12px;color:var(--p-sub);line-height:1.6}

/* ---------- 两栏布局 ---------- */
.ra-cols{display:flex;gap:24px;align-items:flex-start}
.ra-main{flex:1 1 0;min-width:0}
.ra-side{flex:0 0 300px}

/* ---------- 列表 ---------- */
.ra-list{margin:0}
.ra-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--p-line)}
.ra-item:last-child{border-bottom:0}
.ra-pic{flex:0 0 150px}
.ra-pic img{width:150px;height:100px;object-fit:cover;border-radius:var(--p-radius);display:block}
.ra-txt{flex:1 1 0;min-width:0}
.ra-t{font-size:18px;font-weight:600;margin-bottom:6px}
.ra-d{margin:0 0 6px;font-size:14px;color:var(--p-sub)}
.ra-m{margin:0;font-size:12px;color:var(--p-sub)}
.ra-m a{color:var(--p-main)}

/* ---------- 侧栏 ---------- */
.ra-side .ra-block{margin-bottom:16px}
.ra-rank{margin:0;padding-left:1.5em;font-size:15px}
.ra-rank li{padding:6px 0;border-bottom:1px dashed var(--p-line)}
.ra-rank li:last-child{border-bottom:0}
.ra-plain{list-style:none;margin:0;padding:0;font-size:15px}
.ra-plain li{padding:7px 0;border-bottom:1px dashed var(--p-line)}
.ra-plain li:last-child{border-bottom:0}
.ra-tags{margin:0}
.ra-tags a{display:inline-block;margin:0 6px 8px 0;padding:4px 12px;font-size:13px;background:var(--p-bg);border:1px solid var(--p-line);border-radius:8px}
.ra-tags a:hover{color:#04121f;background:var(--p-main);border-color:var(--p-main)}

/* ---------- 文章 ---------- */
.ra-art{background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius);padding:24px 26px}
.ra-art > h1{font-size:28px;margin-bottom:12px}
.ra-meta{font-size:13px;color:var(--p-sub);padding-bottom:14px;border-bottom:1px solid var(--p-line);margin-bottom:18px}
.ra-meta span{margin-right:14px;white-space:nowrap}
.ra-meta a{color:var(--p-main)}
.ra-body{font-size:17px;line-height:1.9}
.ra-body h2{margin:1.5em 0 .6em;padding-left:10px;border-left:4px solid var(--p-main)}
.ra-body h3{margin:1.3em 0 .5em}
.ra-body p{margin:0 0 1em}
.ra-body ul,.ra-body ol{padding-left:1.7em;margin:0 0 1em}
.ra-body li{margin-bottom:5px}
.ra-body img{border-radius:var(--p-radius);margin:10px 0}
.ra-body table{width:100%;border-collapse:collapse;margin:1em 0;font-size:15px}
.ra-body th,.ra-body td{border:1px solid var(--p-line);padding:8px 10px;text-align:left}
.ra-body th{background:var(--p-bg)}
.ra-body blockquote{margin:1em 0;padding:12px 16px;background:var(--p-soft);border-left:4px solid var(--p-main);color:var(--p-sub)}
.ra-body pre{overflow:auto;padding:14px;background:#0d1117;color:#e6edf3;border-radius:var(--p-radius);font-size:14px;line-height:1.7}
.ra-body code{font-family:Consolas,Menlo,monospace}
.ra-note{font-size:13px;color:var(--p-sub);background:var(--p-bg);border:1px dashed var(--p-line);border-radius:var(--p-radius);padding:12px;margin-top:18px}
.ra-rel .ra-plain li{border-bottom:1px dashed var(--p-line)}

/* ---------- GEO 辅助区块（类名固定，非本模板前缀） ---------- */
.geo-points{background:var(--p-soft);border-radius:var(--p-radius);padding:14px 18px;margin-bottom:18px}
.geo-points-t{font-weight:700;margin:0 0 8px}
.geo-points ul{margin:0;padding-left:1.3em}
.geo-points li{margin-bottom:5px;font-size:15px}
.geo-toc{border:1px solid var(--p-line);border-radius:var(--p-radius);padding:12px 18px;margin-bottom:20px;background:var(--p-card)}
.geo-toc-t{font-weight:700;margin:0 0 8px;font-size:15px}
.geo-toc ol{margin:0;padding-left:1.5em;font-size:15px}
.geo-toc li{padding:3px 0}
.geo-toc li.lv3{list-style:none;margin-left:-1em}
.geo-faq{margin:18px 0}
.geo-faq h2{font-size:19px;padding-bottom:10px;border-bottom:1px solid var(--p-line);margin-bottom:12px}
.geo-faq ul{list-style:none;margin:0;padding:0;columns:2}
.geo-faq li{padding:6px 0;font-size:15px;break-inside:avoid}
.geo-faq li a{color:var(--p-main)}

/* ---------- 分页 ---------- */
.ra-page{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:20px 0}
.ra-page a,.ra-page b,.ra-page span{min-width:34px;padding:6px 11px;text-align:center;font-size:14px;background:var(--p-card);border:1px solid var(--p-line);border-radius:var(--p-radius)}
.ra-page .pagecur,.ra-page b{background:var(--p-main);border-color:var(--p-main);color:#04121f}

/* ---------- 页脚 ---------- */
.ra-footer{margin-top:26px;padding:22px 0 34px;background:var(--p-foot-bg);color:var(--p-foot-fg);border-top:1px solid var(--p-line)}
.ra-footer a{color:var(--p-foot-fg);opacity:.85}
.ra-footer a:hover{color:var(--p-foot-hover);opacity:1}
.ra-footnav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--p-line)}
.ra-flink{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;padding-bottom:12px;border-bottom:1px solid var(--p-line)}
.ra-flink b{font-weight:600}
.ra-footinfo p{font-size:13px;margin:0 0 6px;opacity:.85}

/* ---------- 广告位（后台未投放时不占位） ---------- */
.ra-ad{margin:16px 0;text-align:center;overflow:hidden}
.ra-ad:empty{display:none}
.ra-ad img{max-width:100%;height:auto}
.ra-ad-banner{margin-top:16px}

/* ---------- 响应式 ---------- */
@media (max-width:1000px){
	.ra-cards{grid-template-columns:repeat(3,1fr)}
	.ra-side{flex:0 0 260px}
	.ra-about-pic{flex:0 0 240px}
}
@media (max-width:820px){
	.ra-cols{display:block}
	.ra-side{width:100%;flex:none}
	.ra-cards{grid-template-columns:repeat(2,1fr)}
	.ra-header .ra-wrap{padding-top:12px;padding-bottom:12px}
	.ra-slogan{display:none}
	.ra-logo{max-width:100%}
	.ra-search{width:100%}
	.ra-search input{width:100%;flex:1 1 auto}
	.ra-about{display:block;padding:18px 16px}
	.ra-about-pic{flex:none;margin:16px 0 0}
	.ra-about-txt h1{font-size:23px}
	.ra-art{padding:16px 14px}
	.ra-art > h1{font-size:22px}
	.ra-body{font-size:16px}
	.ra-nav a{padding:10px 12px;font-size:14px}
	.ra-geo-faq ul,.geo-faq ul{columns:1}
	.ra-wrap{padding:0 12px}
}
@media (max-width:480px){
	.ra-cards{grid-template-columns:1fr}
	.ra-pic{flex:0 0 108px}
	.ra-pic img{width:108px;height:76px}
	.ra-t{font-size:16px}
	h1,.geo-page h1{font-size:20px}
}
@media print{
	.ra-header,.ra-nav,.ra-search,.ra-ad,.ra-page,.ra-footer,.geo-toc{display:none}
	body{background:#fff}
}

/* ---------- 产品图文墙（实体产品模板） ---------- */
.ra-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ra-shot{display:block;background:var(--p-bg);border:1px solid var(--p-line);border-radius:var(--p-radius);overflow:hidden}
.ra-shot img{width:100%;height:150px;object-fit:cover;display:block}
.ra-shot span{display:block;padding:8px 10px;font-size:13px;color:var(--p-sub);line-height:1.5}
.ra-shot:hover img{opacity:.92}
.ra-cta{text-align:left;margin:18px 0 0}
@media (max-width:820px){.ra-gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.ra-gallery{grid-template-columns:repeat(2,1fr)}}
