/* ============================================================
   文章详情页样式 (v4)
   双栏布局 + 目录导航 + 浮动工具栏 + 增强排版
   ============================================================ */

/* ---------- Section override (reduce top padding, ckvsuu already has space) ---------- */
.c4djz3{padding:2rem 0 4rem}

/* ============================================================
   TWO-COLUMN LAYOUT
   ============================================================ */
.crg52u{display:grid;grid-template-columns:220px 1fr 60px;gap:2.5rem;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;align-items:start}
@media(max-width:1280px){.crg52u{grid-template-columns:200px 1fr 56px;gap:1.75rem}}
@media(max-width:1024px){.crg52u{grid-template-columns:1fr;gap:0}}
@media(max-width:768px){.crg52u{padding:0 1rem}}

/* ============================================================
   LEFT SIDEBAR — TOC + Info Card
   ============================================================ */
.c9u9bp{position:sticky;top:calc(var(--header-height) + 1.5rem);max-height:calc(100vh - var(--header-height) - 3rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}
.c9u9bp::-webkit-scrollbar{width:4px}
.c9u9bp::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}

@media(max-width:1024px){
  .c9u9bp{position:static;max-height:none;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}
}

/* --- TOC Card --- */
.c4y65s{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}
.cyjr8k{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.85rem;font-weight:700;color:var(--color-heading);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}
.cyjr8k svg{color:var(--color-primary);flex-shrink:0}
.chjnu5{padding:.5rem 0;max-height:50vh;overflow-y:auto}
.chjnu5::-webkit-scrollbar{width:4px}
.chjnu5::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}
.crczbk{list-style:none;padding:0;margin:0}
.cfmcmm{border-left:2px solid transparent;transition:border-color var(--transition-fast)}
.cfmcmm a{display:block;padding:.45rem 1rem .45rem .8rem;font-size:.82rem;color:var(--color-text-secondary);line-height:1.45;transition:all var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfmcmm a:hover{color:var(--color-primary);background:var(--color-primary-light)}
.cfmcmm a.cvf7wf{color:var(--color-primary);font-weight:600;background:var(--color-primary-light);border-color:var(--color-primary)}
.cfmcmm.cfeq2h a{padding-left:1.6rem;font-size:.78rem}
.cyzd6a,.cyjmqa{padding:1rem;text-align:center;font-size:.82rem;color:var(--color-text-muted)}

@media(max-width:1024px){
  .c4y65s{margin-bottom:0}
  .chjnu5{max-height:300px}
}

/* --- Info Card --- */
.c6zem8{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:.85rem 1rem;box-shadow:var(--shadow-sm)}
.cu588q{display:flex;align-items:center;gap:.55rem;padding:.4rem 0;font-size:.82rem;color:var(--color-text-secondary)}
.cu588q:not(:last-child){border-bottom:1px solid var(--color-border-light)}
.cu588q svg{color:var(--color-primary);flex-shrink:0}

@media(max-width:1024px){
  .c6zem8{display:flex;flex-wrap:wrap;gap:1rem}
  .cu588q{border-bottom:none!important;padding:0}
}

/* ============================================================
   MAIN CONTENT AREA
   ============================================================ */
.cutmxy{min-width:0;max-width:820px}

/* --- Article Header --- */
.ct3k6r{margin-bottom:2rem}
.ct3k6r h1{font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:900;letter-spacing:-.02em;line-height:1.25;margin-bottom:.85rem;color:var(--color-heading)}
.c6k968{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-soft) 50%,transparent 90%) 1}
.c8x2yz{display:inline-flex;align-items:center;padding:.15rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700}

/* --- Article Content (Typography) --- */
.crsadv{font-size:clamp(.95rem,2.2vw,1.08rem);line-height:2;color:var(--color-text)}

/* h2 = cz5373 headings */
.crsadv h2{font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:800;margin:3rem 0 1rem;padding-bottom:.55rem;border-bottom:2px solid var(--color-primary-soft);position:relative;color:var(--color-heading);scroll-margin-top:calc(var(--header-height) + 1rem)}
.crsadv h2::after{content:"";position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:1px}
.crsadv h2:first-child{margin-top:.5rem}

/* v4: editorial cz5373 numbering (等宽编号) */
.crsadv{counter-reset:sec}
.crsadv h2::before{counter-increment:sec;content:counter(sec,decimal-leading-zero);display:inline-block;font-family:var(--font-mono);font-size:.62em;font-weight:800;color:#2563eb;opacity:.8;vertical-align:.24em;margin-right:.55rem;letter-spacing:.06em}

/* h3 = sub-cz5373 */
.crsadv h3{font-size:clamp(1rem,2vw,1.2rem);font-weight:700;margin:1.75rem 0 .75rem;color:var(--color-primary-dark);scroll-margin-top:calc(var(--header-height) + 1rem)}
.crsadv p{margin-bottom:1.25rem}
.crsadv a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-primary-soft)}
.crsadv a:hover{color:var(--color-primary-dark);text-decoration-color:var(--color-primary)}

/* Images */
.crsadv img{max-width:100%;border-radius:var(--radius-lg);margin:1.5rem auto;display:block;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}
.crsadv img:hover{transform:scale(1.005);box-shadow:0 8px 30px rgba(0,0,0,.08)}

/* Lists */
.crsadv ul,.crsadv ol{padding-left:1.75rem;margin-bottom:1.25rem}
.crsadv ul{list-style:none}
.crsadv ul li{position:relative;padding-left:.25rem;margin-bottom:.5rem}
.crsadv ul li::before{content:"";position:absolute;left:-1.2rem;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--color-primary);opacity:.6}
.crsadv ol{list-style:decimal;counter-reset:ol-counter}
.crsadv ol li{margin-bottom:.5rem}
.crsadv li{line-height:1.8}

/* Tables */
.crsadv table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.92rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}
.crsadv thead th{background:linear-gradient(180deg,var(--color-bg-secondary),var(--color-bg-tertiary));font-weight:700;font-size:.85rem;color:var(--color-heading);border-bottom:2px solid var(--color-border)}
.crsadv th,.crsadv td{border:1px solid var(--color-border-light);padding:.7rem 1rem;text-align:left}
.crsadv tbody tr:nth-child(even){background:var(--color-bg-secondary)}
.crsadv tbody tr:hover{background:var(--color-primary-glow)}

/* Blockquote */
.crsadv blockquote{border-left:4px solid var(--color-primary);padding:1rem 1.5rem;margin:1.5rem 0;color:var(--color-text-secondary);background:var(--color-primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0;position:relative}
.crsadv blockquote::before{content:cw38ur-quote;position:absolute;top:-12px;left:12px;font-size:3.5rem;color:var(--color-primary-soft);line-height:1;font-family:Georgia,serif;pointer-events:none}

/* Code inline */
.crsadv :not(pre) > code{background:var(--color-bg-secondary);color:#e11d48;padding:.15em .5em;border-radius:5px;font-size:.88em;border:1px solid var(--color-border);font-weight:500}
.crsadv pre{background:linear-gradient(160deg,#1a2332 0%,#1e293b 100%);color:#e2e8f0;border-radius:var(--radius-lg);padding:1.5rem;overflow-x:auto;margin-bottom:1.5rem;font-size:.88rem;line-height:1.7;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 20px rgba(0,0,0,.15);position:relative}
.crsadv pre::before{content:"";position:absolute;top:0;left:1.25rem;right:1.25rem;height:1px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.3),transparent);opacity:.6}
.crsadv pre code{background:none;color:inherit;padding:0;font-size:inherit;border:none}
.crsadv pre code.hljs{background:transparent;padding:0;display:block}
.cay9wn{position:absolute;top:.75rem;right:.75rem;display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .7rem;font-size:.72rem;color:#c9d1d9;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer;opacity:0;transition:all var(--transition-fast);backdrop-filter:blur(4px)}
.crsadv pre:hover .cay9wn{opacity:1}
.cay9wn:hover{background:rgba(255,255,255,.14);color:#fff}
.cay9wn.c73vnu{color:#22c55e;border-color:rgba(34,197,94,.45)}

/* Horizontal rule */
.crsadv hr{border:none;border-top:2px dashed var(--color-border);margin:2rem 0;position:relative}
.crsadv hr::after{content:"✦";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg);padding:0 .75rem;color:var(--color-text-muted);font-size:.75rem}

@media(max-width:768px){
  .crsadv{font-size:.95rem;line-height:1.85}
  .crsadv h2{font-size:1.2rem;margin:2rem 0 .75rem}
  .crsadv pre{padding:1rem;font-size:.82rem;border-radius:var(--radius-md)}
  .crsadv table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .crsadv img{margin:1rem auto}
}

/* ============================================================
   TAGS
   ============================================================ */
.cmgvnb{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:2.5rem 0;padding:1.25rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.cmgvnb > svg{color:var(--color-text-muted);flex-shrink:0}

/* ============================================================
   SHARE ROW
   ============================================================ */
.c4cddg{display:flex;align-items:center;gap:.65rem;margin:1rem 0 2rem;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}

/* ============================================================
   PREV / NEXT — Enhanced Card Style
   ============================================================ */
.crnr9k{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 3rem}
.cfr7jd{display:flex;flex-direction:column;gap:.55rem}
.cb5njq{align-items:flex-end;text-align:right}
.c8mdcv{align-items:flex-start;text-align:left}
.ccv5zw{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.c2pbnk{display:block;padding:1rem 1.25rem;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1.5px solid var(--color-border);transition:all var(--transition-base);position:relative;overflow:hidden}
.c2pbnk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-primary),var(--color-accent));border-radius:0 2px 2px 0;opacity:0;transition:opacity var(--transition-base)}
.c8mdcv .c2pbnk::before{left:0;right:auto;border-radius:0 2px 2px 0}
.cb5njq .c2pbnk::before{left:auto;right:0;border-radius:2px 0 0 2px}
.c2pbnk:hover{background:var(--color-bg-card);border-color:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.c2pbnk:hover::before{opacity:1}
.cszpga{font-size:.92rem;font-weight:600;color:var(--color-text);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.c2pbnk:hover .cszpga{color:var(--color-primary)}
.ckjefw{font-size:.88rem;color:var(--color-text-muted);font-style:italic;padding:.9rem 1.2rem}

@media(max-width:768px){
  .crnr9k{grid-template-columns:1fr;gap:.75rem}
  .cb5njq{align-items:flex-start;text-align:left}
}

/* ============================================================
   RELATED SECTION
   ============================================================ */
.cgg56d{margin:1rem 0}
.cgg56d h2{font-size:1.4rem;margin-bottom:1.5rem;font-weight:800}
.cb3y67{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
@media(max-width:480px){.cb3y67{grid-template-columns:1fr}}

/* ============================================================
   RIGHT FLOATING TOOLBAR
   ============================================================ */
.c5sqfu{position:sticky;top:calc(var(--header-height) + 1.5rem);display:flex;flex-direction:column;gap:.5rem;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}
.cvh473{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.cvh473::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));opacity:0;transition:opacity var(--transition-base)}
.cvh473:hover{color:#fff;border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 4px 16px var(--color-primary-glow)}
.cvh473:hover::before{opacity:1}
.cvh473 svg,.cvh473 > *{position:relative;z-index:1}
.cvh473.c73vnu{border-color:var(--color-success);color:var(--color-success)}
.cvh473.c73vnu::before{opacity:0}

@media(max-width:1024px){
  .c5sqfu{display:none}
}

/* ============================================================
   SHARE BUTTONS (inline row)
   ============================================================ */
.c8sy53{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-bg-card);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}
.c8sy53::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));opacity:0;transition:opacity var(--transition-base);border-radius:inherit}
.c8sy53:hover{color:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 14px var(--color-primary-glow)}
.c8sy53:hover::before{opacity:1}
.c8sy53 svg{position:relative;z-index:1}

/* ============================================================
   ARTICLE CARDS (reused in related cz5373)
   ============================================================ */
.c24wdp{background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);display:flex;flex-direction:column;box-shadow:var(--shadow-card);position:relative}
.c24wdp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,var(--color-primary-glow) 100%);opacity:0;transition:opacity var(--transition-base);pointer-events:none;z-index:1}
.c24wdp:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-soft)}
.c24wdp:hover::after{opacity:1}
.cpa77g{aspect-ratio:16/9;background:var(--color-bg-secondary);overflow:hidden;display:block;position:relative}
.cpa77g img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.c24wdp:hover .cpa77g img{transform:scale(1.07)}
.cqrx6r{padding:1rem 1.15rem .5rem;flex:1;display:flex;flex-direction:column}
.cqrx6r h3{font-size:1rem;margin-bottom:.3rem;line-height:1.4}
.cqrx6r h3 a{color:var(--color-heading);transition:color var(--transition-fast)}
.cqrx6r h3 a:hover{color:var(--color-primary)}
.c48r9j{font-size:.83rem;color:var(--color-text-secondary);line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.crkzeu{display:flex;align-items:center;gap:.85rem;padding:.5rem 1.15rem;border-top:1px solid var(--color-border-light);font-size:.75rem;color:var(--color-text-muted)}

/* ============================================================
   404 ERROR PAGE
   ============================================================ */
.c3ac33{text-align:center;padding:5rem 1rem;max-width:560px;margin:0 auto}
.cdxrwz{margin-bottom:1.5rem;opacity:.3;color:var(--color-text-muted)}
.cbxmrw{font-size:clamp(6rem,12vw,8rem);font-weight:900;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.6rem}
.c3ac33 h2{font-size:1.5rem;margin-bottom:.75rem;color:var(--color-heading)}
.c3ac33 p{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.05rem}
.ccf76y{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.ccf76y .cq4pbh{min-width:140px}
