/* 社区页（/community.html）——OPC 中文编程叙事 + QQ 频道，沿用站点配色 */
.cm-page .skip-link{position:absolute;left:-9999px;top:0;background:#114f9c;color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:99}
.cm-page .skip-link:focus{left:0}
.cm-page .cm-main{width:min(1120px,calc(100% - 96px));margin:auto;padding-bottom:0}
.cm-page h1,.cm-page h2,.cm-page h3{font-weight:400;color:#20241f}

/* 首屏 */
.cm-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:52px;align-items:center;padding:70px 0 66px}
.cm-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.24;letter-spacing:-2px;margin:18px 0 18px}
.cm-hero h1 em{font-style:normal;color:#114f9c}
.cm-lead{font-size:16.5px;line-height:1.95;color:#63705a;max-width:660px;margin:0}
.cm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.cm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid #c6cbc0;border-radius:8px;background:transparent;color:#20241f;font-size:14px;font-weight:600;text-decoration:none}
.cm-btn.main{background:#20241f;border-color:#20241f;color:#fbfcf8}
.cm-btn.main:hover{filter:brightness(.95)}
.cm-btn:not(.main):hover{background:#e9ede1}
.cm-tool-card{background:#17251e;border-radius:17px;padding:28px 26px;color:#ecf4eb}
.cm-tool-card .tag{display:block;font-size:10.5px;letter-spacing:1.4px;color:#a9c4aa}
.cm-tool-card h2{font-size:clamp(23px,2.6vw,29px);line-height:1.45;margin:16px 0 12px;color:#f2f8ee}
.cm-tool-card p{font-size:13.5px;line-height:1.9;color:#c2cfc3;margin:0}
.cm-flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid #3b5442}
.cm-flow span{border:1px solid #3b5442;border-radius:999px;padding:5px 11px;font-size:12px;color:#d5edc6;background:rgba(255,255,255,.02)}
.cm-flow i{font-style:normal;color:#81917d}

/* 通用分区 */
.cm-section{border-top:1px solid #d9dcd2;padding:72px 0}
.cm-head{display:grid;grid-template-columns:200px minmax(0,1fr);gap:46px;margin-bottom:26px}
.cm-head h2{font-size:clamp(26px,3.3vw,41px);line-height:1.36;letter-spacing:-1.4px;margin:0 0 14px}
.cm-desc{font-size:16px;line-height:1.95;color:#63705a;max-width:820px;margin:0}
.cm-desc b{font-weight:600;color:#20241f}
.cm-point{margin-top:22px;padding:18px 22px;border-left:3px solid #114f9c;background:#e9ede1;border-radius:0 10px 10px 0;font-size:15.5px;line-height:1.9;color:#3c4f40}
.cm-point strong{font-weight:600;color:#20241f}
.cm-dark{background:#17251e;border-radius:18px;color:#f6f9f4}
.cm-dark .cm-head{margin-bottom:22px}
.cm-dark .portal-kicker{color:#a9c4aa}
.cm-dark h2{color:#f8fbf6}
.cm-dark .cm-desc{color:#c2cfc3}
.cm-dark .cm-desc b{color:#f2f6f0}
.cm-question{border:1px solid #3b5442;border-radius:13px;padding:20px 22px;margin:20px 0;background:rgba(255,255,255,.02)}
.cm-question b{display:block;font-size:19px;font-weight:400;color:#d5edc6;line-height:1.6;margin-bottom:10px}
.cm-question p{margin:0;font-size:13.5px;line-height:1.9;color:#b3c4b5}

/* 四个问题清单 */
.cm-asks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.cm-ask{border:1px solid #d9dcd2;border-radius:12px;background:#fffefa;padding:18px 20px}
.cm-ask b{display:block;font-size:15px;font-weight:600;color:#20241f}
.cm-ask small{display:block;font-size:12.5px;line-height:1.8;color:#63705a;margin-top:6px}
.cm-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0 6px;counter-reset:step}
.cm-step{border:1px solid #d9dcd2;border-radius:11px;background:#eef1e9;padding:16px 14px;min-width:0}
.cm-step i{font-style:normal;font-size:11px;color:#6a775f;display:block}
.cm-step b{display:block;font-size:13.5px;line-height:1.6;font-weight:600;margin-top:8px;color:#20241f}
.cm-step.last{border-color:#b4c6ab;background:#e3ebdc}
.cm-outro{margin-top:22px;font-size:15px;line-height:1.95;color:#3c4f40}
.cm-outro b{font-weight:600;color:#20241f}

/* 结尾 CTA */
.cm-cta{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:#e9ede1;border:1px solid #d6ddcc;border-radius:15px;padding:26px 28px}
.cm-cta h3{font-size:20px;margin:0 0 8px;letter-spacing:-.5px}
.cm-cta p{margin:0;font-size:13.5px;color:#63705a}

/* QQ 频道 */
.cm-qq{background:#f0f3eb;border-top:none;border-radius:18px;padding:36px;margin:0 0 8px}
.cm-qq-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
.cm-qq h2{font-size:clamp(23px,2.8vw,32px);line-height:1.4;margin:12px 0 12px}
.cm-qq p{font-size:14px;line-height:1.9;color:#5a6b5d;margin:0}
.cm-qq-card{background:#fffefa;border:1px solid #d9dcd2;border-radius:15px;padding:22px}
.cm-qq-card .label{font-size:11px;letter-spacing:1px;color:#6a775f}
.cm-qq-card .id-row{display:flex;gap:10px;margin:14px 0}
.cm-qq-input{flex:1;border:1px solid #c6cbc0;border-radius:8px;background:#f7f8f3;padding:10px 12px;font:inherit;font-size:15px;color:#20241f}
.cm-qq-status{font-size:12px;color:#5c6c5e;margin:10px 0 0}

@media(max-width:1000px){
 .cm-hero{grid-template-columns:1fr;gap:30px}
 .cm-tool-card{max-width:660px}
 .cm-head{grid-template-columns:1fr;gap:12px}
 .cm-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cm-qq-grid{grid-template-columns:1fr}
 .cm-page .cm-main{width:calc(100% - 64px)}
}
@media(max-width:670px){
 .cm-page .cm-main{width:calc(100% - 36px)}
 .cm-hero{padding:38px 0 44px}
 .cm-hero h1{font-size:33px;letter-spacing:-1.2px}
 .cm-lead{font-size:15px}
 .cm-section{padding:52px 0}
 .cm-head h2{font-size:25px}
 .cm-asks{grid-template-columns:1fr}
 .cm-steps{grid-template-columns:1fr 1fr}
 .cm-dark,.cm-qq{padding:24px 20px;border-radius:14px}
 .cm-cta{padding:20px}
}

.cm-hidden{display:none!important}
.cm-clipboard{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}

.cm-dark .cm-point{border-left-color:#c6e5b6;background:rgba(255,255,255,.03);color:#c2cfc3}
.cm-dark .cm-point strong{color:#f2f6f0}
