/* ============================================================
   沪航木箱 SHANGHAI CRATEWORKS — 全站设计系统 v1.14
   工业蓝(专业/出海) × 警示黄(包装/安全) × 胶合板原木色
   v1.12 重型滑木底座 · v1.13 文章页 · v1.14 通用文章模板
   注：已移除 .back-top 相关样式，回顶按钮由独立组件管理
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root {
  --c-navy-950:#050F1E; --c-navy-900:#071A33; --c-navy-800:#0B2545;
  --c-navy-700:#123B6D; --c-navy-600:#1B4F91; --c-blue-500:#2E6FBA; --c-blue-100:#DCE8F5;
  --c-hazard-300:#FFD166; --c-hazard-400:#FFB703; --c-hazard-500:#F5A300; --c-hazard-600:#E08700;
  --c-safety-600:#E85D04;
  --c-wood-100:#F0E4D0; --c-wood-300:#D9BC90; --c-wood-500:#B98A55; --c-wood-700:#8A6238;
  --c-steel-50:#F5F7FA; --c-steel-100:#E9EEF4; --c-steel-200:#D5DEE8;
  --c-steel-400:#93A5BA; --c-steel-600:#52657D; --c-steel-800:#243447;
  --font-display:'Oswald','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
  --font-body:'Barlow','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
  --font-stencil:'Saira Stencil One','Oswald',sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
  --shadow-crate:0 2px 0 0 var(--c-navy-900),0 14px 30px -14px rgba(7,26,51,.4);
  --shadow-lift:0 22px 44px -18px rgba(7,26,51,.5);
}

/* ---------- 2. 基础 ---------- */
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--c-navy-900);background:var(--c-steel-50);-webkit-font-smoothing:antialiased}
::selection{background:var(--c-hazard-400);color:var(--c-navy-900)}
.font-display{font-family:var(--font-display)}
.font-stencil{font-family:var(--font-stencil)}
.font-mono{font-family:var(--font-mono)}

/* ---------- 3. 工业纹理 ---------- */
.bg-blueprint{background-color:var(--c-steel-50);background-image:linear-gradient(rgba(27,79,145,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(27,79,145,.06) 1px,transparent 1px);background-size:28px 28px}
.bg-blueprint-dark{background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:28px 28px}
.bg-hazard{background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 14px,var(--c-navy-900) 14px 28px)}
.bg-plywood{background-color:var(--c-wood-300);background-image:repeating-linear-gradient(90deg,rgba(138,98,56,.16) 0 2px,transparent 2px 26px),repeating-linear-gradient(0deg,rgba(138,98,56,.07) 0 3px,transparent 3px 60px),linear-gradient(180deg,#E2C79C,#C9A876)}

/* ---------- 4. 复用组件 ---------- */
.crate-stamp{border:2px dashed currentColor;padding:.35rem .7rem;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-2deg);opacity:.9}
.tag-corners{position:relative}
.tag-corners::before,.tag-corners::after{content:'';position:absolute;width:14px;height:14px;border-color:var(--c-hazard-400);border-style:solid}
.tag-corners::before{top:-2px;left:-2px;border-width:3px 0 0 3px}
.tag-corners::after{bottom:-2px;right:-2px;border-width:0 3px 3px 0}

.btn-primary{display:inline-flex;align-items:center;gap:.6rem;background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1.6rem;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);box-shadow:0 3px 0 0 var(--c-hazard-600);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 0 0 var(--c-hazard-600),0 16px 28px -12px rgba(245,163,0,.55);background:var(--c-hazard-300)}
.btn-primary:active{transform:translateY(1px);box-shadow:0 1px 0 0 var(--c-hazard-600)}
.btn-outline{display:inline-flex;align-items:center;gap:.6rem;border:2px solid currentColor;font-family:var(--font-display);font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.5rem;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);transition:background .2s ease,color .2s ease,transform .2s ease}
.btn-outline:hover{background:var(--c-navy-800);color:#fff;transform:translateY(-2px)}
.btn-outline.on-dark:hover{background:var(--c-hazard-400);color:var(--c-navy-900)}

.nav-link{position:relative}
.nav-link::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:3px;background:var(--c-hazard-400);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}

/* ---------- 5. 滚动显现 ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}

#site-header{transition:box-shadow .3s ease}
#site-header.scrolled{box-shadow:0 8px 24px -12px rgba(5,15,30,.45)}
#site-header.scrolled .topbar-strip{max-height:0;opacity:0}
.topbar-strip{max-height:48px;opacity:1;transition:max-height .3s ease,opacity .3s ease;overflow:hidden}
#mobile-menu{transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
#mobile-menu.open{transform:translateX(0)}
.field{width:100%;background:#fff;border:1px solid var(--c-steel-200);padding:.7rem .9rem;font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}
.field:focus{outline:none;border-color:var(--c-hazard-500);box-shadow:0 0 0 3px rgba(245,163,0,.22)}

/* ---------- 6. 首页动效 ---------- */
.marquee{overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;gap:2.5rem;padding-right:2.5rem;animation:marquee 30s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-100%)}}
.count-up{font-variant-numeric:tabular-nums}
.no-scrollbar::-webkit-scrollbar{height:8px}
.no-scrollbar::-webkit-scrollbar-track{background:var(--c-steel-100)}
.no-scrollbar::-webkit-scrollbar-thumb{background:var(--c-hazard-400);border:2px solid var(--c-steel-100)}
.crate-drop{animation:crateDrop 1s cubic-bezier(.22,1,.36,1) both}
@keyframes crateDrop{from{opacity:0;transform:translateY(-46px)}to{opacity:1;transform:none}}
.crate-float{animation:crateFloat 5.5s ease-in-out infinite}
@keyframes crateFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hook-line{stroke-dasharray:5 7;animation:hookDash 1.4s linear infinite}
@keyframes hookDash{to{stroke-dashoffset:-24}}
.flow-dot{animation:flowDot 3.2s linear infinite}
@keyframes flowDot{from{left:0}to{left:100%}}

/* ---------- 7. 内页通用 Banner ---------- */
.banner-notch{clip-path:polygon(0 0,100% 0,100% calc(100% - 44px),calc(100% - 44px) 100%,0 100%)}
.crumb-link{transition:color .2s ease}
.crumb-link:hover{color:var(--c-hazard-400)}
.banner-ghost{position:absolute;right:-1rem;bottom:-2.5rem;font-family:var(--font-stencil);font-size:clamp(6rem,14vw,11rem);line-height:1;color:rgba(255,255,255,.035);pointer-events:none;user-select:none;white-space:nowrap}

/* ---------- 8. 产品中心 ---------- */
.filter-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--c-steel-200);background:#fff;padding:.45rem .95rem;font-size:.85rem;color:var(--c-steel-800);cursor:pointer;transition:all .2s ease;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}
.filter-chip:hover{border-color:var(--c-hazard-500);color:var(--c-navy-900)}
.filter-chip.active{background:var(--c-navy-900);border-color:var(--c-navy-900);color:var(--c-hazard-400);box-shadow:0 2px 0 0 var(--c-hazard-500)}
.filter-chip .chip-n{font-family:var(--font-mono);font-size:.65rem;opacity:.65}
.filter-chip.active .chip-n{opacity:1}
.p-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.p-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.p-media{position:relative;height:190px;overflow:hidden;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:24px 24px}
.p-media .p-ghost{position:absolute;right:-6px;bottom:-22px;font-family:var(--font-stencil);font-size:6.5rem;line-height:1;color:rgba(255,255,255,.06);transition:transform .4s ease,color .4s ease}
.p-card:hover .p-ghost{transform:translateY(-6px) rotate(-2deg);color:rgba(255,183,3,.22)}
.p-media .p-iso{position:absolute;left:1rem;bottom:1rem;transform:skewX(-8deg);background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-stencil);font-size:.8rem;letter-spacing:.12em;padding:.25rem .7rem;box-shadow:3px 3px 0 0 rgba(5,15,30,.55)}
.p-media .p-stamp{position:absolute;top:.9rem;right:.9rem;transform:rotate(3deg);border:2px dashed rgba(255,255,255,.55);color:rgba(255,255,255,.85);font-family:var(--font-stencil);font-size:.62rem;letter-spacing:.16em;padding:.2rem .5rem;transition:all .3s ease}
.p-card:hover .p-stamp{border-color:var(--c-hazard-400);color:var(--c-hazard-400);transform:rotate(0deg)}
.p-spec{font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-600)}
.p-spec b{color:var(--c-navy-800);font-weight:500}
.p-spec .spec-div{color:var(--c-steel-200)}
.p-quick{position:absolute;left:0;right:0;bottom:0;transform:translateY(102%);transition:transform .35s cubic-bezier(.22,1,.36,1);background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-display);font-weight:600;letter-spacing:.12em;font-size:.85rem;padding:.6rem;text-align:center}
.p-card:hover .p-quick{transform:translateY(0)}
.p-item{transition:opacity .35s ease,transform .35s ease}
.p-item.is-hidden{opacity:0;transform:scale(.96);pointer-events:none}
.p-item.is-gone{display:none}
.empty-state{border:2px dashed var(--c-steel-200);background:#fff}
.spec-table{width:100%;border-collapse:collapse;font-size:.85rem}
.spec-table th,.spec-table td{border:1px solid var(--c-steel-200);padding:.7rem .9rem;text-align:left}
.spec-table thead th{background:var(--c-navy-900);color:#fff;font-family:var(--font-display);font-weight:500;letter-spacing:.08em}
.spec-table tbody tr{background:#fff;transition:background .2s ease}
.spec-table tbody tr:hover{background:var(--c-wood-100)}
.spec-table tbody th{font-family:var(--font-display);font-weight:500;background:var(--c-steel-50);white-space:nowrap}
.spec-table .hl{color:var(--c-hazard-600);font-weight:600}
.faq-item{border:1px solid var(--c-steel-200);border-left:4px solid var(--c-hazard-400);background:#fff;transition:box-shadow .25s ease}
.faq-item:hover{box-shadow:var(--shadow-crate)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .faq-ico{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--c-steel-200);color:var(--c-navy-700);transition:all .3s ease}
.faq-item[open] .faq-ico{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);transform:rotate(45deg)}
.faq-item .faq-body{padding:0 1.3rem 1.3rem;color:var(--c-steel-600);line-height:1.8;font-size:.9rem;border-top:1px dashed var(--c-steel-200);padding-top:1rem;margin:0 .3rem}
.seo-prose p{color:var(--c-steel-600);line-height:1.9;font-size:.92rem}
.seo-prose p+p{margin-top:1rem}
.seo-prose strong{color:var(--c-navy-800)}

/* ---------- 9. 详情页（通用） ---------- */
.g-main{position:relative;aspect-ratio:4/3;overflow:hidden;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:26px 26px;border:1px solid var(--c-navy-700)}
.g-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.03);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1);pointer-events:none}
.g-slide.active{opacity:1;transform:none;pointer-events:auto}
.g-slide .g-ghost{font-family:var(--font-stencil);font-size:clamp(5rem,10vw,8rem);line-height:1;color:rgba(255,255,255,.05)}
.g-slide .g-cap{position:absolute;left:1.2rem;bottom:1.1rem;transform:skewX(-8deg);background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-stencil);font-size:.78rem;letter-spacing:.12em;padding:.25rem .7rem;box-shadow:3px 3px 0 0 rgba(5,15,30,.55)}
.g-slide .g-stamp{position:absolute;top:1rem;right:1rem;transform:rotate(3deg);border:2px dashed rgba(255,255,255,.5);color:rgba(255,255,255,.8);font-family:var(--font-stencil);font-size:.62rem;letter-spacing:.16em;padding:.2rem .5rem}
.g-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.6rem;height:2.6rem;display:grid;place-items:center;background:rgba(5,15,30,.75);color:var(--c-steel-100);border:1px solid var(--c-navy-700);cursor:pointer;transition:all .25s ease;z-index:2}
.g-nav:hover{background:var(--c-hazard-400);color:var(--c-navy-900);border-color:var(--c-hazard-400)}
.g-nav.prev{left:.8rem}.g-nav.next{right:.8rem}
.g-counter{position:absolute;top:1rem;left:1rem;z-index:2;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;color:var(--c-steel-200);background:rgba(5,15,30,.75);padding:.25rem .6rem;border:1px solid var(--c-navy-700)}
.g-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:14px 14px;border:2px solid transparent;cursor:pointer;transition:border-color .25s ease,transform .25s ease;display:grid;place-items:center}
.g-thumb .g-ghost{font-family:var(--font-stencil);font-size:1.6rem;color:rgba(255,255,255,.14);transition:color .25s ease}
.g-thumb:hover{transform:translateY(-3px)}
.g-thumb.active{border-color:var(--c-hazard-400);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.g-thumb.active .g-ghost{color:rgba(255,183,3,.5)}
.g-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--c-hazard-400);z-index:2;transition:width .4s ease}
.kv-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--c-steel-200);font-size:.85rem}
.kv-row dt{color:var(--c-steel-600);white-space:nowrap}
.kv-row dd{font-family:var(--font-mono);color:var(--c-navy-800);text-align:right}
.kv-row dd b{color:var(--c-hazard-600);font-weight:600}
.qty-step{width:2.4rem;height:2.4rem;display:grid;place-items:center;border:1px solid var(--c-steel-200);background:#fff;color:var(--c-navy-800);cursor:pointer;transition:all .2s ease;font-family:var(--font-mono)}
.qty-step:hover{border-color:var(--c-hazard-500);color:var(--c-hazard-600)}
.qty-step:active{transform:scale(.92)}
.calc-box{background:var(--c-navy-950);border:1px solid var(--c-navy-700)}
.calc-in{width:100%;background:var(--c-navy-900);border:1px solid var(--c-navy-700);color:#fff;font-family:var(--font-mono);font-size:.9rem;padding:.6rem .8rem;transition:border-color .2s ease,box-shadow .2s ease}
.calc-in:focus{outline:none;border-color:var(--c-hazard-400);box-shadow:0 0 0 3px rgba(255,183,3,.18)}
.calc-in::placeholder{color:var(--c-steel-600)}
.calc-out{font-family:var(--font-mono);font-size:.8rem;color:var(--c-steel-400);display:flex;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.calc-out b{color:var(--c-hazard-400);font-weight:500}
.calc-flash{animation:calcFlash .5s ease}
@keyframes calcFlash{0%{color:var(--c-hazard-300)}100%{color:var(--c-hazard-400)}}
.tab-btn{position:relative;font-family:var(--font-display);letter-spacing:.1em;font-size:.9rem;padding:.8rem 1.4rem;color:var(--c-steel-600);border:1px solid var(--c-steel-200);border-bottom:none;background:var(--c-steel-100);cursor:pointer;transition:all .25s ease;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.tab-btn:hover{color:var(--c-navy-900)}
.tab-btn.active{background:#fff;color:var(--c-navy-900);font-weight:600;box-shadow:inset 0 3px 0 0 var(--c-hazard-400)}
.tab-panel{display:none;animation:tabIn .45s cubic-bezier(.22,1,.36,1)}
.tab-panel.active{display:block}
@keyframes tabIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tab-prose p{color:var(--c-steel-600);line-height:1.95;font-size:.92rem}
.tab-prose p+p{margin-top:1rem}
.tab-prose strong{color:var(--c-navy-800)}
.tab-prose h4{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;margin:1.8rem 0 .7rem;padding-left:.8rem;border-left:4px solid var(--c-hazard-400)}
.tab-prose h4:first-child{margin-top:0}
.tab-prose ul{margin:.6rem 0 1rem;padding-left:1.2rem;color:var(--c-steel-600);font-size:.92rem;line-height:2;list-style:none}
.tab-prose ul li{position:relative;padding-left:1.1rem}
.tab-prose ul li::before{content:'▸';position:absolute;left:0;color:var(--c-hazard-500)}
.check-item{display:flex;gap:.9rem;align-items:flex-start;padding:.75rem .9rem;background:#fff;border:1px solid var(--c-steel-200);transition:all .25s ease}
.check-item:hover{border-color:var(--c-hazard-400);transform:translateX(4px)}
.check-box{flex-shrink:0;width:1.4rem;height:1.4rem;display:grid;place-items:center;border:2px solid var(--c-hazard-500);color:var(--c-hazard-600);font-size:.8rem;margin-top:.1rem}
.mini-step{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px dashed var(--c-steel-200)}
.mini-step:last-child{border-bottom:none}
.mini-step .ms-n{flex-shrink:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:.9rem}
.mini-step:hover .ms-n{background:var(--c-hazard-400);color:var(--c-navy-900);transition:all .25s ease}
#quote-bar{transform:translateY(110%);transition:transform .4s cubic-bezier(.22,1,.36,1)}
#quote-bar.show{transform:translateY(0)}
.rel-card{position:relative;display:block;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .3s ease;overflow:hidden}
.rel-card:hover{transform:translateY(-5px);border-color:var(--c-hazard-400);box-shadow:var(--shadow-lift)}
.rel-media{height:120px;position:relative;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}
.rel-media .r-ghost{position:absolute;right:-4px;bottom:-14px;font-family:var(--font-stencil);font-size:4rem;line-height:1;color:rgba(255,255,255,.07);transition:all .35s ease}
.rel-card:hover .r-ghost{color:rgba(255,183,3,.25);transform:translateY(-4px)}

/* ---------- 9b. 详情页（免熏蒸胶合板箱） ---------- */
.drawing-board{position:relative;background-color:var(--c-navy-950);background-image:linear-gradient(rgba(255,183,3,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.045) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--c-navy-700);box-shadow:inset 0 0 60px rgba(0,0,0,.5)}
.drawing-board .db-corner{position:absolute;width:18px;height:18px;border-color:var(--c-hazard-400);border-style:solid;z-index:3}
.db-corner.tl{top:8px;left:8px;border-width:2px 0 0 2px}
.db-corner.tr{top:8px;right:8px;border-width:2px 2px 0 0}
.db-corner.bl{bottom:8px;left:8px;border-width:0 0 2px 2px}
.db-corner.br{bottom:8px;right:8px;border-width:0 2px 2px 0}
.dwg{stroke:var(--c-steel-200);fill:none;stroke-width:1.5}
.dwg-dim{stroke:var(--c-hazard-400);stroke-width:1;fill:none}
.dwg-dash{stroke-dasharray:5 5;stroke:var(--c-steel-400);stroke-width:1;fill:none}
.dwg-txt{font-family:var(--font-mono);font-size:10px;fill:var(--c-hazard-400);letter-spacing:.1em}
.dwg-txt-s{font-family:var(--font-mono);font-size:7px;fill:var(--c-steel-400);letter-spacing:.15em}
.dwg-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:drawLine 1.8s cubic-bezier(.4,0,.2,1) forwards}
.dwg-draw.d2{animation-delay:.5s}.dwg-draw.d3{animation-delay:1s}
@keyframes drawLine{to{stroke-dashoffset:0}}
.dwg-scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,183,3,.5),transparent);animation:dwgScan 5s linear infinite;pointer-events:none}
@keyframes dwgScan{from{top:4%}to{top:96%}}
.plate-sm .plate-row{padding:.42rem 0;font-size:.76rem}
.plate-sm .plate-row dt{font-size:.58rem}
.exploded-wrap{position:relative}
.exploded-wrap svg{width:100%;height:auto;display:block}
.xp-part{transition:all .35s ease;cursor:pointer}
.xp-part .xp-fill{fill:rgba(217,188,144,.14);stroke:var(--c-steel-200);stroke-width:1.5;transition:all .35s ease}
.xp-part:hover .xp-fill,.xp-part.hl .xp-fill{fill:rgba(255,183,3,.28);stroke:var(--c-hazard-400)}
.xp-part .xp-label{font-family:var(--font-mono);font-size:9px;fill:var(--c-steel-400);letter-spacing:.15em;transition:fill .3s ease}
.xp-part:hover .xp-label,.xp-part.hl .xp-label{fill:var(--c-hazard-400)}
.xp-part .xp-no{font-family:var(--font-stencil);font-size:13px;fill:var(--c-hazard-400)}
.xp-row{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 1rem;background:#fff;border:1px solid var(--c-steel-200);cursor:pointer;transition:all .25s ease}
.xp-row:hover,.xp-row.hl{border-color:var(--c-hazard-500);background:var(--c-wood-100);transform:translateX(5px)}
.xp-row .xr-n{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:.85rem;transition:all .25s ease}
.xp-row.hl .xr-n,.xp-row:hover .xr-n{background:var(--c-hazard-400);color:var(--c-navy-900)}
.xp-row h4{font-family:var(--font-display);font-size:1rem;letter-spacing:.04em}
.xp-row p{font-size:.78rem;color:var(--c-steel-600);line-height:1.7;margin-top:.2rem}
.xp-row .xr-mat{display:inline-block;margin-top:.45rem;font-family:var(--font-mono);font-size:.62rem;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.55);padding:.15rem .5rem}
.term{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.term::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);pointer-events:none}
.term-head{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-bottom:1px solid var(--c-navy-700)}
.term-head .tdot{width:9px;height:9px;border-radius:50%}
.term-line{font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-400);line-height:2.1}
.term-line b{color:var(--c-hazard-400);font-weight:500}
.term-line .t-ok{color:#3ECF6A}
.term-line .t-warn{color:var(--c-safety-600)}
.term-cursor{display:inline-block;width:7px;height:13px;background:var(--c-hazard-400);vertical-align:-2px;animation:ttBlink 1s steps(1) infinite}
@keyframes ttBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
.acc-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--c-steel-200);transition:all .25s ease}
.acc-row:hover{border-color:var(--c-hazard-400);transform:translateX(5px)}
.acc-row .ac-ico{flex-shrink:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}
.acc-row .ac-ico svg{width:1.15rem;height:1.15rem}
.acc-row .ac-name{font-family:var(--font-display);font-size:.95rem;letter-spacing:.03em}
.acc-row .ac-desc{font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-600);margin-top:.15rem}
.acc-row .ac-price{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:var(--c-hazard-600);white-space:nowrap}
.ship-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);padding:1.3rem 1.2rem;transition:all .3s ease;overflow:hidden}
.ship-card::before{content:attr(data-no);position:absolute;right:.4rem;bottom:-.6rem;font-family:var(--font-stencil);font-size:4.5rem;line-height:1;color:rgba(11,37,69,.07);transition:color .3s ease}
.ship-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.ship-card:hover::before{color:rgba(245,163,0,.18)}
.ship-card h4{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em}
.ship-card p{font-size:.78rem;color:var(--c-steel-600);line-height:1.75;margin-top:.4rem}
.ship-card .sc-fit{display:inline-block;margin-top:.7rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--c-navy-800);border:1px solid var(--c-steel-200);padding:.2rem .5rem}
#quote-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--c-navy-950);border-top:3px solid var(--c-hazard-400);box-shadow:0 -12px 30px rgba(5,15,30,.4)}
#quote-bar .qb-in{display:flex;align-items:center;gap:1rem;padding:.7rem 0}
#quote-bar .qb-name{font-family:var(--font-display);color:#fff;letter-spacing:.05em;font-size:1rem}
#quote-bar .qb-code{font-family:var(--font-mono);font-size:.6rem;color:var(--c-steel-400);letter-spacing:.2em}
#quote-bar .qb-price{margin-left:auto;font-family:var(--font-display);color:var(--c-hazard-400);font-size:1.3rem;font-variant-numeric:tabular-nums;white-space:nowrap}
#quote-bar .qb-price small{font-size:.65rem;color:var(--c-steel-400);font-family:var(--font-mono);display:block;letter-spacing:.1em}

/* ---------- 9c. 详情页（钢边快装木箱） ---------- */
.latch-part{transition:all .35s ease;cursor:pointer}
.latch-part .lp-fill{fill:rgba(147,165,186,.16);stroke:var(--c-steel-200);stroke-width:1.5;transition:all .35s ease}
.latch-part:hover .lp-fill,.latch-part.hl .lp-fill{fill:rgba(255,183,3,.3);stroke:var(--c-hazard-400)}
.latch-part .lp-label{font-family:var(--font-mono);font-size:9px;fill:var(--c-steel-400);letter-spacing:.15em;transition:fill .3s ease}
.latch-part:hover .lp-label,.latch-part.hl .lp-label{fill:var(--c-hazard-400)}
.asm-step{position:relative;display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;background:#fff;border:1px solid var(--c-steel-200);cursor:pointer;transition:all .3s ease;overflow:hidden}
.asm-step::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--c-hazard-400);transition:width .3s ease}
.asm-step:hover{border-color:var(--c-hazard-500);transform:translateX(5px)}
.asm-step.done{border-color:var(--c-hazard-500);background:var(--c-wood-100)}
.asm-step.done::after{width:100%}
.asm-step .as-n{flex-shrink:0;width:2.4rem;height:2.4rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:.95rem;transition:all .3s ease}
.asm-step.done .as-n{background:var(--c-hazard-400);color:var(--c-navy-900);animation:stampIn .35s cubic-bezier(.22,1,.36,1)}
.asm-step h4{font-family:var(--font-display);font-size:1rem;letter-spacing:.04em}
.asm-step p{font-size:.76rem;color:var(--c-steel-600);line-height:1.7;margin-top:.2rem}
.asm-step .as-time{margin-left:auto;flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.55);padding:.15rem .5rem;align-self:center;white-space:nowrap}
.asm-progress{height:8px;background:var(--c-steel-200);position:relative;overflow:hidden}
.asm-progress .ap-fill{position:absolute;inset:0;width:0;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 8px,var(--c-hazard-500) 8px 16px);transition:width .5s cubic-bezier(.22,1,.36,1)}
.asm-total{font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 0 18px rgba(255,183,3,.35)}
.asm-total small{font-size:1rem;color:var(--c-steel-200)}
.ledger{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.ledger::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.ledger-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed rgba(255,255,255,.08);font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-400)}
.ledger-row b{color:var(--c-steel-100);font-weight:500;text-align:right}
.ledger-row .lr-good{color:#3ECF6A}
.ledger-row .lr-hl{color:var(--c-hazard-400)}
.cmp-table{width:100%;border-collapse:collapse;font-size:.82rem}
.cmp-table th,.cmp-table td{border:1px solid var(--c-steel-200);padding:.75rem .9rem;text-align:left;vertical-align:top}
.cmp-table thead th{font-family:var(--font-display);letter-spacing:.08em;color:#fff}
.cmp-table thead th.cmp-bad{background:var(--c-steel-800)}
.cmp-table thead th.cmp-good{background:var(--c-navy-900);box-shadow:inset 0 3px 0 0 var(--c-hazard-400)}
.cmp-table tbody th{font-family:var(--font-display);font-weight:500;background:var(--c-steel-50);white-space:nowrap;width:120px}
.cmp-table tbody tr{background:#fff;transition:background .2s ease}
.cmp-table tbody tr:hover{background:var(--c-wood-100)}
.cmp-table .cmp-bad-cell{color:var(--c-steel-600)}
.cmp-table .cmp-bad-cell::before{content:'✕ ';color:var(--c-safety-600);font-weight:700}
.cmp-table .cmp-good-cell{color:var(--c-navy-800)}
.cmp-table .cmp-good-cell::before{content:'✓ ';color:var(--c-hazard-600);font-weight:700}
.loop-badge{display:inline-flex;align-items:baseline;gap:.35rem;font-family:var(--font-display);color:var(--c-hazard-400)}
.loop-badge b{font-size:3.2rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 24px rgba(255,183,3,.4)}
.loop-badge span{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:var(--c-steel-400)}

/* ---------- 9d. 详情页（精密仪器防震木箱专属） ---------- */
.sec-part{transition:all .35s ease;cursor:pointer}
.sec-part .sp-fill{transition:all .35s ease}
.sec-part:hover .sp-fill,.sec-part.hl .sp-fill{stroke:var(--c-hazard-400);stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(255,183,3,.45))}
.sec-part .sp-label{font-family:var(--font-mono);font-size:9px;fill:var(--c-steel-400);letter-spacing:.15em;transition:fill .3s ease}
.sec-part:hover .sp-label,.sec-part.hl .sp-label{fill:var(--c-hazard-400)}
.sec-part .sp-no{font-family:var(--font-stencil);font-size:14px;fill:var(--c-hazard-400)}
.gmon{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.gmon::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);pointer-events:none;z-index:1}
.gmon-read{font-family:var(--font-display);font-weight:600;font-size:clamp(3rem,6vw,4.6rem);line-height:1;font-variant-numeric:tabular-nums;transition:color .3s ease;text-shadow:0 0 24px rgba(255,183,3,.3)}
.gmon-read small{font-size:.35em;color:var(--c-steel-200)}
.gmon-read.clr{color:#3ECF6A}
.gmon-read.attn{color:var(--c-hazard-400)}
.gmon-read.alarm{color:var(--c-safety-600);animation:alarmPulse .5s ease}
@keyframes alarmPulse{0%{text-shadow:0 0 34px rgba(232,93,4,.9)}100%{text-shadow:0 0 24px rgba(232,93,4,.3)}}
.gmon-canvas{width:100%;height:150px;display:block;background:rgba(7,26,51,.6);border:1px solid var(--c-navy-700)}
.gmon-stat{background:var(--c-navy-900);border:1px solid var(--c-navy-700);padding:.7rem .8rem;text-align:center;transition:border-color .3s ease}
.gmon-stat b{display:block;font-family:var(--font-display);font-size:1.3rem;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;line-height:1.1}
.gmon-stat span{display:block;margin-top:.25rem;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;color:var(--c-steel-400)}
.gmon-stat.hot b{color:var(--c-safety-600)}
.gmon-log{max-height:172px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--c-navy-700) transparent}
.gmon-log::-webkit-scrollbar{width:5px}
.gmon-log::-webkit-scrollbar-thumb{background:var(--c-navy-700)}
.gmon-log .lg-row{display:flex;gap:.7rem;padding:.32rem .5rem;border-bottom:1px dashed rgba(255,255,255,.06);font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-400);animation:logIn .4s ease}
.gmon-log .lg-row .lg-t{color:var(--c-steel-600);flex-shrink:0}
.gmon-log .lg-row .lg-g{flex-shrink:0;width:3.6rem;text-align:right}
.gmon-log .lg-row.ok .lg-g{color:#3ECF6A}
.gmon-log .lg-row.attn .lg-g{color:var(--c-hazard-400)}
.gmon-log .lg-row.alarm .lg-g{color:var(--c-safety-600)}
@keyframes logIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.sim-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;border:1px solid var(--c-navy-700);background:var(--c-navy-900);color:var(--c-steel-200);padding:.45rem .7rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}
.sim-btn:hover{border-color:var(--c-hazard-400);color:var(--c-hazard-400)}
.sim-btn:active{transform:scale(.95)}
.sim-btn.danger{border-color:rgba(232,93,4,.5);color:var(--c-safety-600)}
.sim-btn.danger:hover{background:rgba(232,93,4,.12);border-color:var(--c-safety-600)}
.proto-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);padding:1.4rem 1.3rem 1.2rem;transition:all .3s ease;overflow:hidden}
.proto-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.proto-card .pc-stamp{position:absolute;top:1rem;right:1rem;transform:rotate(8deg);border:3px double rgba(62,207,106,.55);color:rgba(30,143,78,.8);font-family:var(--font-stencil);font-size:.7rem;letter-spacing:.2em;padding:.25rem .6rem;transition:transform .35s ease}
.proto-card:hover .pc-stamp{transform:rotate(0deg) scale(1.06)}
.proto-card .pc-code{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;color:var(--c-steel-400)}
.proto-card h4{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.04em;margin-top:.3rem;padding-right:4rem}
.proto-card .pc-scope{margin-top:.5rem;font-family:var(--font-mono);font-size:.62rem;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.55);display:inline-block;padding:.15rem .5rem}
.proto-card ul{margin-top:.8rem;list-style:none}
.proto-card ul li{display:flex;justify-content:space-between;gap:.8rem;padding:.4rem 0;border-bottom:1px dashed var(--c-steel-200);font-size:.78rem;color:var(--c-steel-600)}
.proto-card ul li:last-child{border-bottom:none}
.proto-card ul li b{font-family:var(--font-mono);font-weight:500;color:var(--c-navy-800);text-align:right}
.loss-band{position:relative;background:var(--c-navy-950);border:1px solid var(--c-navy-700);overflow:hidden}
.loss-band::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-safety-600) 0 12px,var(--c-navy-900) 12px 24px)}
.loss-num{font-family:var(--font-display);font-weight:600;font-size:clamp(2.6rem,5vw,4rem);line-height:1;font-variant-numeric:tabular-nums}
.loss-num.bad{color:var(--c-safety-600);text-shadow:0 0 24px rgba(232,93,4,.35)}
.loss-num.good{color:var(--c-hazard-400);text-shadow:0 0 24px rgba(255,183,3,.35)}
.loss-vs{font-family:var(--font-stencil);color:var(--c-steel-600);font-size:1.1rem;letter-spacing:.2em}

/* ---------- 9e. 详情页（重型设备滑木底座专属） ---------- */
.skid-part{transition:all .35s ease;cursor:pointer}
.skid-part .sk-fill{transition:all .35s ease}
.skid-part:hover .sk-fill,.skid-part.hl .sk-fill{stroke:var(--c-hazard-400);stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(255,183,3,.45))}
.skid-part .sk-label{font-family:var(--font-mono);font-size:9px;fill:var(--c-steel-400);letter-spacing:.15em;transition:fill .3s ease}
.skid-part:hover .sk-label,.skid-part.hl .sk-label{fill:var(--c-hazard-400)}
.skid-part .sk-no{font-family:var(--font-stencil);font-size:14px;fill:var(--c-hazard-400)}
.load-gauge{height:14px;background:var(--c-navy-900);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.load-gauge .lg-fill{position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--c-hazard-600),var(--c-hazard-400));transition:width .6s cubic-bezier(.22,1,.36,1)}
.load-gauge .lg-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--c-safety-600);transition:left .6s cubic-bezier(.22,1,.36,1)}
.load-gauge .lg-mark::after{content:attr(data-label);position:absolute;top:-1.4rem;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:.5rem;letter-spacing:.08em;color:var(--c-safety-600);white-space:nowrap}
.load-verdict{font-family:var(--font-display);font-size:1.6rem;font-weight:600;line-height:1.2;transition:color .3s ease}
.load-verdict.ok{color:#3ECF6A}
.load-verdict.warn{color:var(--c-hazard-400)}
.load-verdict.over{color:var(--c-safety-600)}
.scene-panel{position:relative;background:var(--c-navy-950);border:1px solid var(--c-navy-700);overflow:hidden;min-height:280px}
.scene-panel .scene-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,183,3,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.04) 1px,transparent 1px);background-size:22px 22px}
.scene-svg{position:relative;z-index:1;width:100%;height:auto;display:block}
.scene-svg .sc-base{fill:rgba(217,188,144,.18);stroke:var(--c-steel-200);stroke-width:1.5}
.scene-svg .sc-skid{fill:rgba(217,188,144,.35);stroke:var(--c-steel-200);stroke-width:1.5}
.scene-svg .sc-eq{fill:rgba(147,165,186,.2);stroke:var(--c-steel-400);stroke-width:1.5}
.scene-svg .sc-arrow{stroke:var(--c-hazard-400);stroke-width:2;fill:none;marker-end:url(#arrowY)}
.scene-svg .sc-label{font-family:var(--font-mono);font-size:8px;fill:var(--c-steel-400);letter-spacing:.12em}
.scene-svg .sc-hl{fill:var(--c-hazard-400);opacity:0;transition:opacity .4s ease}
.scene-svg.active-lift .sc-hl-lift{opacity:.35}
.scene-svg.active-fork .sc-hl-fork{opacity:.35}
.scene-svg.active-tie .sc-hl-tie{opacity:.35}
.scene-svg .sc-hook{stroke:var(--c-hazard-400);stroke-width:2;fill:none;stroke-dasharray:6 4;animation:hookDash 1.2s linear infinite}
.scene-svg .sc-fork-arm{fill:rgba(255,183,3,.3);stroke:var(--c-hazard-400);stroke-width:1.5;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.scene-svg.active-fork .sc-fork-arm{transform:translateY(-18px)}
.scene-svg .sc-strap{stroke:var(--c-safety-600);stroke-width:2.5;fill:none;stroke-dasharray:8 4;opacity:.7}
.scene-svg.active-tie .sc-strap{animation:strapTighten 1s ease forwards}
@keyframes strapTighten{from{stroke-dashoffset:24;opacity:.4}to{stroke-dashoffset:0;opacity:1}}
.scene-tab{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;border:1px solid var(--c-navy-700);background:var(--c-navy-900);color:var(--c-steel-400);padding:.55rem .9rem;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:.5rem}
.scene-tab:hover{border-color:var(--c-hazard-400);color:var(--c-hazard-400)}
.scene-tab.active{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);font-weight:600;box-shadow:0 2px 0 0 var(--c-hazard-600)}
.scene-tab .st-ico{width:1.1rem;height:1.1rem}
.scene-info{background:var(--c-navy-900);border:1px solid var(--c-navy-700);padding:1.2rem 1.3rem;animation:tabIn .4s ease}
.scene-info h4{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.04em;color:#fff}
.scene-info p{font-size:.8rem;color:var(--c-steel-400);line-height:1.8;margin-top:.4rem}
.scene-info .si-spec{margin-top:.7rem;font-family:var(--font-mono);font-size:.62rem;color:var(--c-hazard-400);border:1px dashed rgba(255,183,3,.4);display:inline-block;padding:.2rem .5rem}
.cmp-table thead th.cmp-mid{background:var(--c-steel-800)}
.ton-badge{display:inline-flex;align-items:baseline;gap:.3rem;font-family:var(--font-display);color:var(--c-hazard-400)}
.ton-badge b{font-size:3.4rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 24px rgba(255,183,3,.4)}
.ton-badge span{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:var(--c-steel-400)}

/* ---------- 10. 行业方案页 ---------- */
.ind-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;background:#fff;border:1px solid var(--c-steel-200);border-left:5px solid var(--c-steel-200);padding:.85rem 1rem;cursor:pointer;transition:all .25s ease;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.ind-tab .it-code{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;color:var(--c-steel-400);transition:color .25s ease}
.ind-tab .it-name{font-family:var(--font-display);font-size:1rem;letter-spacing:.06em;color:var(--c-navy-900);transition:color .25s ease}
.ind-tab .it-en{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;color:var(--c-steel-400)}
.ind-tab:hover{border-color:var(--c-hazard-500);border-left-color:var(--c-hazard-500);transform:translateX(4px)}
.ind-tab.active{background:var(--c-navy-900);border-color:var(--c-navy-900);border-left-color:var(--c-hazard-400);box-shadow:0 4px 0 0 var(--c-hazard-600)}
.ind-tab.active .it-name{color:#fff}
.ind-tab.active .it-code,.ind-tab.active .it-en{color:var(--c-hazard-400)}
.ind-panel{display:none;animation:tabIn .5s cubic-bezier(.22,1,.36,1)}
.ind-panel.active{display:block}
.pain-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);padding:1.4rem 1.2rem 1.2rem;transition:all .3s ease}
.pain-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-safety-600) 0 10px,var(--c-navy-900) 10px 20px)}
.pain-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-crate)}
.pain-card .pain-n{font-family:var(--font-stencil);font-size:2.6rem;line-height:1;color:var(--c-safety-600);opacity:.28}
.pain-card h4{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em;margin-top:.5rem}
.pain-card p{font-size:.82rem;color:var(--c-steel-600);line-height:1.75;margin-top:.45rem}
.pain-card .pain-loss{display:inline-block;margin-top:.7rem;font-family:var(--font-mono);font-size:.68rem;color:var(--c-safety-600);border:1px dashed rgba(232,93,4,.5);padding:.2rem .5rem}
.fix-list{background:var(--c-navy-900);border:1px solid var(--c-navy-700);padding:1.6rem 1.5rem}
.fix-item{display:flex;gap:.85rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.fix-item:last-child{border-bottom:none}
.fix-item .fix-ico{flex-shrink:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;background:var(--c-hazard-400);color:var(--c-navy-900);font-weight:700;font-size:.75rem;margin-top:.1rem;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}
.fix-item p{font-size:.85rem;color:var(--c-steel-100);line-height:1.7}
.fix-item p b{color:var(--c-hazard-400);font-weight:600}
.cfg-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;background:var(--c-navy-950);border:1px solid var(--c-navy-700);padding:1rem 1.2rem}
.cfg-chip{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--c-steel-200);border:1px solid var(--c-navy-700);padding:.3rem .65rem;transition:all .2s ease}
.cfg-chip:hover{border-color:var(--c-hazard-400);color:var(--c-hazard-400)}
.cfg-chip.hl{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);font-weight:600}
.cfg-arrow{color:var(--c-hazard-500);font-family:var(--font-mono)}
.case-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .3s ease;overflow:hidden}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.case-card::after{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.case-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--c-navy-900);padding:.9rem 1.2rem .8rem}
.case-head .c-no{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--c-hazard-400)}
.case-head .c-ind{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--c-steel-400);border:1px solid var(--c-navy-700);padding:.15rem .5rem}
.case-route{display:flex;align-items:center;gap:.7rem;padding:1.1rem 1.2rem .4rem;font-family:var(--font-display)}
.case-route .c-port{font-size:1.05rem;letter-spacing:.05em;color:var(--c-navy-900)}
.case-route .c-port small{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;color:var(--c-steel-400)}
.case-route .c-line{flex:1;position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--c-steel-200) 0 6px,transparent 6px 12px)}
.case-route .c-ship{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);font-size:.9rem;animation:shipSail 6s linear infinite}
@keyframes shipSail{from{left:6%}to{left:94%}}
.case-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px dashed var(--c-steel-200);margin-top:.9rem}
.case-stats>div{padding:.8rem .5rem;text-align:center;border-right:1px dashed var(--c-steel-200)}
.case-stats>div:last-child{border-right:none}
.case-stats b{display:block;font-family:var(--font-display);font-size:1.35rem;color:var(--c-navy-900);font-variant-numeric:tabular-nums}
.case-stats b em{font-style:normal;color:var(--c-hazard-600)}
.case-stats span{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--c-steel-400)}
.case-quote{padding:1rem 1.2rem 1.2rem;font-size:.8rem;color:var(--c-steel-600);line-height:1.75;border-top:1px dashed var(--c-steel-200)}
.case-quote b{color:var(--c-navy-800)}
.vs-table{width:100%;border-collapse:collapse;font-size:.85rem}
.vs-table th,.vs-table td{border:1px solid var(--c-steel-200);padding:.85rem 1rem;text-align:left;vertical-align:top}
.vs-table thead th{font-family:var(--font-display);letter-spacing:.08em;color:#fff}
.vs-table thead th.bad{background:var(--c-steel-800)}
.vs-table thead th.good{background:var(--c-navy-900);box-shadow:inset 0 3px 0 0 var(--c-hazard-400)}
.vs-table tbody th{font-family:var(--font-display);font-weight:500;background:var(--c-steel-50);white-space:nowrap;width:110px}
.vs-table tbody tr{background:#fff;transition:background .2s ease}
.vs-table tbody tr:hover{background:var(--c-wood-100)}
.vs-table .bad-cell{color:var(--c-steel-600)}
.vs-table .bad-cell::before{content:'✕ ';color:var(--c-safety-600);font-weight:700}
.vs-table .good-cell{color:var(--c-navy-800)}
.vs-table .good-cell::before{content:'✓ ';color:var(--c-hazard-600);font-weight:700}
.match-chip{border:1px solid var(--c-navy-700);background:transparent;color:var(--c-steel-200);font-family:var(--font-display);letter-spacing:.08em;font-size:.85rem;padding:.55rem 1.1rem;cursor:pointer;transition:all .2s ease;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}
.match-chip:hover{border-color:var(--c-hazard-400);color:var(--c-hazard-400)}
.match-chip.active{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);font-weight:600;box-shadow:0 2px 0 0 var(--c-hazard-600)}
.match-result{border:1px dashed var(--c-hazard-400);background:rgba(255,183,3,.06);padding:1rem 1.2rem;animation:tabIn .4s ease}
.radar{position:relative;width:150px;height:150px;border:1px solid rgba(255,183,3,.35);border-radius:50%}
.radar::before,.radar::after{content:'';position:absolute;inset:0;border:1px solid rgba(255,183,3,.18);border-radius:50%}
.radar::before{inset:22%}
.radar::after{inset:44%}
.radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,183,3,.5),transparent 70deg);animation:sweep 3.2s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar .blip{position:absolute;width:6px;height:6px;background:var(--c-hazard-400);border-radius:50%;animation:blip 3.2s ease-in-out infinite}
@keyframes blip{0%,20%{opacity:1}60%{opacity:.15}100%{opacity:1}}
.cov-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--c-steel-200);padding:1.2rem 1.3rem;transition:all .3s ease}
.cov-card:hover{border-color:var(--c-hazard-400);transform:translateY(-4px);box-shadow:var(--shadow-crate)}
.cov-card .cov-n{flex-shrink:0;font-family:var(--font-stencil);font-size:1.4rem;color:var(--c-steel-200);transition:color .3s ease;line-height:1}
.cov-card:hover .cov-n{color:var(--c-hazard-500)}

/* ---------- 11. 服务流程页 ---------- */
#belt{position:fixed;top:0;left:0;right:0;z-index:60;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px);transform-origin:left;transform:scaleX(0);transition:transform .1s linear;box-shadow:0 2px 8px rgba(5,15,30,.35)}
.op-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .35s ease;overflow:hidden}
.op-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-steel-200) 0 10px,var(--c-steel-100) 10px 20px);transition:background .35s ease}
.op-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.op-card:hover::before{background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 10px,var(--c-navy-900) 10px 20px)}
.op-card .op-ghost{position:absolute;right:-8px;bottom:-30px;font-family:var(--font-stencil);font-size:7.5rem;line-height:1;color:rgba(11,37,69,.06);transition:all .4s ease;pointer-events:none}
.op-card:hover .op-ghost{color:rgba(245,163,0,.16);transform:translateY(-6px) rotate(-2deg)}
.op-head{display:flex;align-items:center;gap:.9rem;padding:1.3rem 1.4rem .4rem}
.op-head .op-badge{flex-shrink:0;width:3rem;height:3rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:1.2rem;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);transition:all .3s ease}
.op-card:hover .op-badge{background:var(--c-hazard-400);color:var(--c-navy-900);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.op-head h3{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.04em}
.op-head .op-en{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;color:var(--c-steel-400)}
.op-body{padding:.9rem 1.4rem 1.3rem}
.op-body p{font-size:.86rem;color:var(--c-steel-600);line-height:1.8}
.op-body p b{color:var(--c-navy-800)}
.op-sla{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.6);background:rgba(255,183,3,.07);padding:.3rem .6rem}
.op-sla::before{content:'⏱';font-size:.8rem}
.op-out{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--c-steel-200);font-family:var(--font-mono);font-size:.7rem;color:var(--c-steel-600)}
.op-out b{color:var(--c-navy-800);font-weight:500}
.op-out::before{content:'📦 交付物：';color:var(--c-hazard-600)}
.op-flow{margin-top:.9rem;padding-top:.7rem;border-top:1px dashed var(--c-steel-200);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--c-steel-400);display:flex;align-items:center;gap:.4rem;transition:all .3s ease}
.op-flow::before{content:'→';color:var(--c-hazard-500);font-size:.85rem;transition:transform .3s ease}
.op-card:hover .op-flow{color:var(--c-navy-800)}
.op-card:hover .op-flow::before{transform:translateX(4px)}
.op-flow-done{color:var(--c-hazard-600);font-weight:600}
.op-flow-done::before{content:'✓';color:var(--c-hazard-500)}
.op-card:hover .op-flow-done{color:var(--c-hazard-600)}
.sla-band{position:relative;background:var(--c-navy-950);border:1px solid var(--c-navy-700);overflow:hidden}
.sla-band::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.sla-item{padding:1.4rem 1.2rem;border-right:1px dashed rgba(255,255,255,.1);transition:background .3s ease}
.sla-item:last-child{border-right:none}
.sla-item:hover{background:rgba(255,183,3,.05)}
.sla-item b{display:block;font-family:var(--font-display);font-size:2rem;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;line-height:1.1}
.sla-item b small{font-size:.9rem;color:var(--c-steel-200)}
.sla-item span{display:block;margin-top:.35rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;color:var(--c-steel-400)}
.qc-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--c-steel-200);padding:.85rem 1rem;cursor:pointer;transition:all .25s ease;user-select:none}
.qc-item:hover{border-color:var(--c-hazard-400);transform:translateX(4px)}
.qc-item .qc-box{flex-shrink:0;width:1.6rem;height:1.6rem;display:grid;place-items:center;border:2px solid var(--c-steel-400);color:transparent;font-weight:700;font-size:.85rem;transition:all .25s ease}
.qc-item.checked{border-color:var(--c-hazard-500);background:var(--c-wood-100)}
.qc-item.checked .qc-box{background:var(--c-hazard-400);border-color:var(--c-hazard-500);color:var(--c-navy-900);animation:stampIn .35s cubic-bezier(.22,1,.36,1)}
.qc-item .qc-txt{flex:1;font-size:.85rem;color:var(--c-steel-800);transition:all .25s ease}
.qc-item.checked .qc-txt{color:var(--c-navy-900)}
.qc-item .qc-no{font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-400)}
@keyframes stampIn{0%{transform:scale(1.6) rotate(-8deg)}100%{transform:scale(1) rotate(0)}}
#qc-progress{transition:width .4s cubic-bezier(.22,1,.36,1)}
.qc-done-stamp{display:inline-block;transform:rotate(-6deg);border:3px double var(--c-hazard-500);color:var(--c-hazard-600);font-family:var(--font-stencil);letter-spacing:.2em;padding:.4rem 1rem;animation:stampIn .4s ease}
.book-form{background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate)}
.book-form .bf-head{background:var(--c-navy-900);padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.bf-label{display:block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;color:var(--c-steel-600);margin-bottom:.35rem}
.bf-field{width:100%;background:var(--c-steel-50);border:1px solid var(--c-steel-200);padding:.7rem .9rem;font-size:.9rem;font-family:var(--font-body);transition:all .2s ease}
.bf-field:focus{outline:none;border-color:var(--c-hazard-500);background:#fff;box-shadow:0 0 0 3px rgba(245,163,0,.2)}
.bf-note{font-family:var(--font-mono);font-size:.68rem;color:var(--c-steel-400);line-height:1.7}
.region-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--c-steel-200);background:#fff;padding:.4rem .8rem;font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-800);transition:all .2s ease}
.region-chip:hover{border-color:var(--c-hazard-400);color:var(--c-navy-900);transform:translateY(-2px)}
.region-chip b{color:var(--c-hazard-600);font-weight:600}

/* ---------- 12. 工厂实力页 ---------- */
.plate{position:relative;background:linear-gradient(160deg,#16263D 0%,#0B2545 45%,#071A33 100%);border:1px solid var(--c-navy-700);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 -2px 0 rgba(0,0,0,.4),0 24px 48px -20px rgba(5,15,30,.7)}
.plate .rivet{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7C8DA3,#3A4A5E 60%,#22303F);box-shadow:0 1px 2px rgba(0,0,0,.6)}
.plate .rivet.tl{top:10px;left:10px}.plate .rivet.tr{top:10px;right:10px}
.plate .rivet.bl{bottom:10px;left:10px}.plate .rivet.br{bottom:10px;right:10px}
.plate-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;border-bottom:1px dashed rgba(255,255,255,.1);font-size:.8rem}
.plate-row:last-child{border-bottom:none}
.plate-row dt{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;color:var(--c-steel-400)}
.plate-row dd{font-family:var(--font-mono);color:var(--c-steel-100);text-align:right}
.plate-row dd b{color:var(--c-hazard-400);font-weight:500}
.serial-etch{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.28em;color:rgba(147,165,186,.5);text-shadow:0 1px 0 rgba(0,0,0,.6)}
.board-panel{background:var(--c-navy-950);border:1px solid var(--c-navy-700);padding:1.5rem 1.3rem;position:relative;overflow:hidden;transition:border-color .3s ease}
.board-panel:hover{border-color:var(--c-hazard-500)}
.board-panel::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);pointer-events:none}
.board-panel .bp-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;color:var(--c-steel-400)}
.board-panel .bp-num{font-family:var(--font-display);font-size:2.6rem;font-weight:600;color:var(--c-hazard-400);line-height:1.15;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,183,3,.35)}
.board-panel .bp-num small{font-size:1rem;color:var(--c-steel-200)}
.board-panel .bp-sub{font-family:var(--font-mono);font-size:.65rem;color:var(--c-steel-600);margin-top:.3rem}
.kiln-panel{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.kiln-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-safety-600) 0 12px,var(--c-navy-900) 12px 24px)}
.kiln-temp{font-family:var(--font-display);font-weight:600;font-size:clamp(3.5rem,7vw,5.5rem);color:var(--c-hazard-400);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 30px rgba(255,183,3,.4);transition:color .4s ease}
.kiln-temp small{font-size:.35em;color:var(--c-steel-200)}
.kiln-gauge{height:10px;background:var(--c-navy-900);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.kiln-gauge .kg-fill{position:absolute;inset:0;width:56%;background:linear-gradient(90deg,var(--c-hazard-600),var(--c-hazard-400));transition:width .8s cubic-bezier(.22,1,.36,1)}
.kiln-gauge .kg-target{position:absolute;top:-3px;bottom:-3px;left:56%;width:2px;background:var(--c-safety-600)}
.kiln-gauge .kg-target::after{content:'56℃ 达标线';position:absolute;top:-1.35rem;left:-1.4rem;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;color:var(--c-safety-600);white-space:nowrap}
.kiln-log{font-family:var(--font-mono);font-size:.68rem;color:var(--c-steel-400);line-height:2}
.kiln-log .log-ok{color:var(--c-hazard-400)}
.kiln-log .log-time{color:var(--c-steel-600)}
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ECF6A;box-shadow:0 0 8px rgba(62,207,106,.8);animation:ledBlink 1.6s ease-in-out infinite}
.led.amber{background:var(--c-hazard-400);box-shadow:0 0 8px rgba(255,183,3,.8)}
@keyframes ledBlink{0%,100%{opacity:1}50%{opacity:.35}}
.zone{position:relative;border:1px dashed var(--c-steel-400);background:rgba(255,255,255,.55);padding:1rem .9rem;cursor:pointer;transition:all .3s ease;overflow:hidden}
.zone::before{content:attr(data-no);position:absolute;right:.5rem;bottom:.2rem;font-family:var(--font-stencil);font-size:2.6rem;line-height:1;color:rgba(11,37,69,.08);transition:color .3s ease}
.zone:hover,.zone.active{background:var(--c-navy-900);border-color:var(--c-hazard-400);border-style:solid;box-shadow:0 3px 0 0 var(--c-hazard-600)}
.zone:hover::before,.zone.active::before{color:rgba(255,183,3,.25)}
.zone .z-name{font-family:var(--font-display);font-size:1rem;letter-spacing:.06em;color:var(--c-navy-900);transition:color .3s ease}
.zone .z-en{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.2em;color:var(--c-steel-400);margin-top:.15rem}
.zone:hover .z-name,.zone.active .z-name{color:#fff}
.zone:hover .z-en,.zone.active .z-en{color:var(--c-hazard-400)}
.zone .z-meta{margin-top:.6rem;font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-600);transition:color .3s ease}
.zone:hover .z-meta,.zone.active .z-meta{color:var(--c-steel-200)}
.zone-detail{background:var(--c-navy-900);border:1px solid var(--c-navy-700);border-top:4px solid var(--c-hazard-400);animation:tabIn .4s ease}
.zone-detail .zd-ghost{font-family:var(--font-stencil);font-size:5rem;line-height:1;color:rgba(255,183,3,.12)}
.eq-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .3s ease;overflow:hidden}
.eq-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.eq-card .eq-code{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;color:var(--c-steel-400)}
.eq-card h4{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.04em;margin-top:.25rem}
.eq-card .eq-spec{font-family:var(--font-mono);font-size:.68rem;color:var(--c-steel-600);line-height:1.8;margin-top:.5rem}
.eq-card .eq-spec b{color:var(--c-navy-800);font-weight:500}
.eq-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;padding:.25rem .55rem;border:1px solid var(--c-steel-200);color:var(--c-steel-600)}
.eq-status.run{color:#1E8F4E;border-color:rgba(62,207,106,.4);background:rgba(62,207,106,.08)}
.eq-status.hot{color:var(--c-hazard-600);border-color:rgba(245,163,0,.4);background:rgba(255,183,3,.08)}
.cert-frame{position:relative;background:#fff;border:1px solid var(--c-steel-200);padding:1.6rem 1.4rem 1.3rem;box-shadow:var(--shadow-crate);transition:all .35s ease;transform:rotate(var(--tilt,0deg))}
.cert-frame:hover{transform:rotate(0deg) translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.cert-frame .cert-seal{position:absolute;top:.9rem;right:.9rem;width:3.4rem;height:3.4rem;border:2px dashed rgba(232,93,4,.55);border-radius:50%;display:grid;place-items:center;font-family:var(--font-stencil);font-size:.5rem;letter-spacing:.08em;color:rgba(232,93,4,.7);transform:rotate(12deg);text-align:center;line-height:1.3;transition:transform .35s ease}
.cert-frame:hover .cert-seal{transform:rotate(0deg)}
.cert-frame .cert-no{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;color:var(--c-steel-400)}
.cert-frame h4{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;margin-top:.4rem;padding-right:3.5rem}
.cert-frame p{font-size:.78rem;color:var(--c-steel-600);line-height:1.75;margin-top:.5rem}
.cert-frame .cert-verify{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed var(--c-steel-200);font-family:var(--font-mono);font-size:.62rem;color:var(--c-hazard-600)}
.cert-frame .cert-verify::before{content:'⛓ '}
.tl-item{position:relative;padding:0 0 2.6rem 3.2rem}
.tl-item::before{content:'';position:absolute;left:13px;top:8px;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--c-steel-200) 0 6px,transparent 6px 12px)}
.tl-item:last-child::before{display:none}
.tl-item .tl-dot{position:absolute;left:0;top:2px;width:28px;height:28px;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:.6rem;border:2px solid var(--c-steel-50);transition:all .3s ease}
.tl-item:hover .tl-dot{background:var(--c-hazard-400);color:var(--c-navy-900);transform:scale(1.15)}
.tl-item .tl-year{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--c-navy-900);letter-spacing:.05em}
.tl-item .tl-year em{font-style:normal;color:var(--c-hazard-600)}
.tl-item h4{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em;margin-top:.2rem}
.tl-item p{font-size:.82rem;color:var(--c-steel-600);line-height:1.8;margin-top:.35rem;max-width:34rem}
.crew-card{position:relative;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);padding-top:1.6rem;transition:all .3s ease;overflow:visible}
.crew-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.crew-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:3.4rem;height:8px;background:var(--c-navy-900);clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}
.crew-card::after{content:'';position:absolute;top:8px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--c-hazard-400);box-shadow:0 0 0 2px var(--c-navy-900)}
.crew-avatar{width:4.2rem;height:4.2rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:1.5rem;margin:0 auto;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:all .3s ease}
.crew-card:hover .crew-avatar{background:var(--c-hazard-400);color:var(--c-navy-900);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.crew-tag{display:inline-block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.18em;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.6);padding:.2rem .5rem}
.crew-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px dashed var(--c-steel-200);margin-top:1rem}
.crew-stats>div{padding:.7rem .4rem;text-align:center;border-right:1px dashed var(--c-steel-200)}
.crew-stats>div:last-child{border-right:none}
.crew-stats b{display:block;font-family:var(--font-display);font-size:1.25rem;color:var(--c-navy-900);font-variant-numeric:tabular-nums}
.crew-stats b em{font-style:normal;color:var(--c-hazard-600)}
.crew-stats span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;color:var(--c-steel-400)}
.route-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--c-steel-200);transition:all .25s ease}
.route-row:hover{border-color:var(--c-hazard-400);transform:translateX(5px)}
.route-row .rt-ico{flex-shrink:0;width:2.6rem;height:2.6rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-size:1.1rem}
.route-row .rt-time{margin-left:auto;font-family:var(--font-mono);font-size:.72rem;color:var(--c-hazard-600);white-space:nowrap}

/* ---------- 13. 包装智库页 ---------- */
.dossier{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .35s ease;overflow:hidden}
.dossier:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.dossier .d-tab{position:absolute;top:0;left:1.2rem;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;padding:.3rem .7rem .25rem;transition:background .3s ease,color .3s ease;z-index:2}
.dossier:hover .d-tab{background:var(--c-hazard-400);color:var(--c-navy-900)}
.dossier .d-media{position:relative;height:170px;overflow:hidden;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:22px 22px}
.dossier .d-ghost{position:absolute;right:-8px;bottom:-26px;font-family:var(--font-stencil);font-size:6.5rem;line-height:1;color:rgba(255,255,255,.06);transition:all .4s ease}
.dossier:hover .d-ghost{color:rgba(255,183,3,.22);transform:translateY(-5px) rotate(-2deg)}
.dossier .d-cat{position:absolute;left:1rem;bottom:.9rem;transform:skewX(-8deg);background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-stencil);font-size:.72rem;letter-spacing:.14em;padding:.22rem .65rem;box-shadow:3px 3px 0 0 rgba(5,15,30,.55)}
.dossier .d-read{position:absolute;top:.9rem;right:.9rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:rgba(255,255,255,.75);border:1px dashed rgba(255,255,255,.4);padding:.2rem .5rem;transition:all .3s ease}
.dossier:hover .d-read{border-color:var(--c-hazard-400);color:var(--c-hazard-400)}
.dossier .d-body{flex:1;display:flex;flex-direction:column;padding:1.2rem 1.3rem 1.1rem}
.dossier .d-title{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.02em;line-height:1.45;transition:color .25s ease}
.dossier:hover .d-title{color:var(--c-hazard-600)}
.dossier .d-excerpt{margin-top:.6rem;font-size:.82rem;color:var(--c-steel-600);line-height:1.8;flex:1}
.dossier .d-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--c-steel-200);font-family:var(--font-mono);font-size:.65rem;color:var(--c-steel-400)}
.dossier .d-foot .d-more{color:var(--c-navy-800);letter-spacing:.1em;display:inline-flex;align-items:center;gap:.3rem;transition:all .25s ease}
.dossier:hover .d-foot .d-more{color:var(--c-hazard-600);gap:.55rem}
.dossier.featured .d-media{height:280px}
.dossier.featured .d-title{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.dossier.featured::after{content:'本期置顶';position:absolute;top:1.1rem;right:-2.4rem;transform:rotate(45deg);background:var(--c-safety-600);color:#fff;font-family:var(--font-stencil);font-size:.62rem;letter-spacing:.2em;padding:.25rem 2.6rem;z-index:3}
.d-item{transition:opacity .35s ease,transform .35s ease}
.d-item.is-hidden{opacity:0;transform:scale(.96);pointer-events:none}
.d-item.is-gone{display:none}
.ispm-panel{position:relative;background:var(--c-navy-950);border:1px solid var(--c-navy-700);overflow:hidden}
.ispm-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 14px,var(--c-navy-900) 14px 28px)}
.ispm-stamp{position:relative;width:190px;height:190px;border:4px double var(--c-hazard-400);border-radius:50%;display:grid;place-items:center;transform:rotate(-8deg);animation:stampFloat 5s ease-in-out infinite}
.ispm-stamp::before{content:'';position:absolute;inset:10px;border:1px dashed rgba(255,183,3,.5);border-radius:50%}
.ispm-stamp .st-in{text-align:center;font-family:var(--font-stencil);color:var(--c-hazard-400);line-height:1.25}
.ispm-stamp .st-in b{display:block;font-size:1.5rem;letter-spacing:.1em}
.ispm-stamp .st-in span{display:block;font-size:.55rem;letter-spacing:.22em;margin-top:.3rem;color:var(--c-hazard-300)}
@keyframes stampFloat{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
.ispm-fact{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px dashed rgba(255,255,255,.1)}
.ispm-fact:last-child{border-bottom:none}
.ispm-fact .if-n{flex-shrink:0;width:2.2rem;height:2.2rem;display:grid;place-items:center;background:var(--c-navy-900);border:1px solid var(--c-navy-700);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:.85rem;transition:all .3s ease}
.ispm-fact:hover .if-n{background:var(--c-hazard-400);color:var(--c-navy-900)}
.ispm-fact p{font-size:.82rem;color:var(--c-steel-200);line-height:1.75}
.ispm-fact p b{color:var(--c-hazard-400);font-weight:600}
.ref-table{width:100%;border-collapse:collapse;font-size:.82rem}
.ref-table th,.ref-table td{border:1px solid var(--c-steel-200);padding:.7rem .9rem;text-align:left;vertical-align:top}
.ref-table thead th{background:var(--c-navy-900);color:#fff;font-family:var(--font-display);font-weight:500;letter-spacing:.08em}
.ref-table tbody tr{background:#fff;transition:background .2s ease}
.ref-table tbody tr:hover{background:var(--c-wood-100)}
.ref-table tbody th{font-family:var(--font-display);font-weight:500;background:var(--c-steel-50);white-space:nowrap;width:130px}
.ref-table .ref-mono{font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-600)}
.ref-table .ref-hl{color:var(--c-hazard-600);font-weight:600}
.teletype{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.teletype::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);pointer-events:none}
.teletype .tt-line{font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-400);line-height:2.1}
.teletype .tt-line b{color:var(--c-hazard-400);font-weight:500}

/* ---------- 14. 报价联系页 ---------- */
.desk-status{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--c-steel-400);border:1px solid var(--c-navy-700);background:rgba(5,15,30,.6);padding:.45rem .8rem}
.desk-status .ds-live{color:#3ECF6A}
.qw-shell{background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate)}
.qw-head{background:var(--c-navy-900);padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.qw-steps{display:flex;align-items:center;gap:.4rem}
.qw-step{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--c-steel-600);transition:color .3s ease}
.qw-step .qs-n{width:1.7rem;height:1.7rem;display:grid;place-items:center;border:1px solid var(--c-navy-700);color:var(--c-steel-400);font-family:var(--font-stencil);font-size:.7rem;transition:all .3s ease}
.qw-step.active{color:var(--c-hazard-400)}
.qw-step.active .qs-n{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);box-shadow:0 2px 0 0 var(--c-hazard-600)}
.qw-step.done{color:var(--c-steel-200)}
.qw-step.done .qs-n{background:var(--c-navy-700);border-color:var(--c-navy-700);color:var(--c-hazard-400)}
.qw-bar{display:flex;align-items:center;gap:.35rem;padding:.8rem 1.4rem;border-bottom:1px dashed var(--c-steel-200);background:var(--c-steel-50)}
.qw-seg{flex:1;height:6px;background:var(--c-steel-200);transition:background .4s ease;clip-path:polygon(0 0,calc(100% - 4px) 0,100% 100%,4px 100%)}
.qw-seg.on{background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 8px,var(--c-hazard-500) 8px 16px)}
.qw-pane{display:none;padding:1.6rem 1.5rem;animation:tabIn .45s cubic-bezier(.22,1,.36,1)}
.qw-pane.active{display:block}
.qw-pane h3{font-family:var(--font-display);font-size:1.3rem;letter-spacing:.04em;display:flex;align-items:center;gap:.7rem}
.qw-pane h3::before{content:'';width:5px;height:1.3rem;background:var(--c-hazard-400);flex-shrink:0}
.qw-pane .qp-sub{font-family:var(--font-mono);font-size:.68rem;color:var(--c-steel-400);margin-top:.35rem}
.qw-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;border-top:1px dashed var(--c-steel-200);background:var(--c-steel-50)}
.qw-back{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--c-steel-600);background:none;border:1px solid var(--c-steel-200);padding:.6rem 1.1rem;cursor:pointer;transition:all .2s ease}
.qw-back:hover{border-color:var(--c-navy-700);color:var(--c-navy-900)}
.qw-back:disabled{opacity:.35;cursor:not-allowed}
.opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}
.opt-card{position:relative;border:1px solid var(--c-steel-200);background:var(--c-steel-50);padding:.9rem .8rem;cursor:pointer;transition:all .25s ease;text-align:left}
.opt-card:hover{border-color:var(--c-hazard-500);transform:translateY(-3px)}
.opt-card input{position:absolute;opacity:0;pointer-events:none}
.opt-card .oc-ico{font-size:1.4rem;line-height:1}
.opt-card .oc-name{display:block;margin-top:.5rem;font-family:var(--font-display);font-size:.95rem;letter-spacing:.04em;color:var(--c-navy-900)}
.opt-card .oc-desc{display:block;margin-top:.2rem;font-family:var(--font-mono);font-size:.6rem;color:var(--c-steel-600);line-height:1.6}
.opt-card .oc-check{position:absolute;top:.5rem;right:.5rem;width:1.1rem;height:1.1rem;display:grid;place-items:center;border:1px solid var(--c-steel-200);color:transparent;font-size:.65rem;font-weight:700;transition:all .25s ease}
.opt-card:has(input:checked){background:var(--c-navy-900);border-color:var(--c-navy-900);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.opt-card:has(input:checked) .oc-name{color:#fff}
.opt-card:has(input:checked) .oc-desc{color:var(--c-steel-400)}
.opt-card:has(input:checked) .oc-check{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900)}
.est-panel{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.est-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.est-row{display:flex;justify-content:space-between;gap:.8rem;padding:.5rem 0;border-bottom:1px dashed rgba(255,255,255,.08);font-family:var(--font-mono);font-size:.72rem;color:var(--c-steel-400)}
.est-row b{color:var(--c-steel-100);font-weight:500;text-align:right}
.est-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.9rem;font-family:var(--font-mono)}
.est-total span{font-size:.68rem;letter-spacing:.2em;color:var(--c-steel-400)}
.est-total b{font-family:var(--font-display);font-size:1.9rem;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(255,183,3,.35);transition:all .3s ease}
.est-total b.flash{animation:calcFlash .5s ease}
.est-note{font-family:var(--font-mono);font-size:.6rem;color:var(--c-steel-600);line-height:1.8;margin-top:.7rem}
.cutoff-panel{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.cutoff-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-safety-600) 0 12px,var(--c-navy-900) 12px 24px)}
.cd-cell{background:var(--c-navy-900);border:1px solid var(--c-navy-700);padding:.7rem .4rem;text-align:center;min-width:3.4rem}
.cd-cell b{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;line-height:1}
.cd-cell span{display:block;margin-top:.3rem;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.2em;color:var(--c-steel-400)}
.cd-cell.tick b{animation:cdTick .4s ease}
@keyframes cdTick{0%{color:var(--c-hazard-300);transform:translateY(-2px)}100%{color:var(--c-hazard-400);transform:none}}
.ch-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .3s ease;overflow:hidden}
.ch-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.ch-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--c-steel-200);transition:background .3s ease}
.ch-card:hover::before{background:repeating-linear-gradient(180deg,var(--c-hazard-400) 0 10px,var(--c-navy-900) 10px 20px)}
.ch-card .ch-ico{width:2.8rem;height:2.8rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-size:1.2rem;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);transition:all .3s ease}
.ch-card:hover .ch-ico{background:var(--c-hazard-400);color:var(--c-navy-900);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.ch-card h4{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em}
.ch-card .ch-val{font-family:var(--font-mono);font-size:.8rem;color:var(--c-navy-800);margin-top:.3rem;word-break:break-all}
.ch-card .ch-meta{font-family:var(--font-mono);font-size:.6rem;color:var(--c-steel-400);margin-top:.5rem;line-height:1.7}
.ch-card .ch-act{margin-top:auto;padding-top:.8rem;font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em;color:var(--c-navy-800);display:inline-flex;align-items:center;gap:.35rem;transition:all .25s ease}
.ch-card:hover .ch-act{color:var(--c-hazard-600);gap:.6rem}
.copy-btn{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;border:1px solid var(--c-steel-200);background:var(--c-steel-50);color:var(--c-steel-600);padding:.25rem .55rem;cursor:pointer;transition:all .2s ease}
.copy-btn:hover{border-color:var(--c-hazard-500);color:var(--c-hazard-600)}
.copy-btn.copied{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900)}

/* ---------- 15. 文章页专属 ---------- */
.read-progress{position:fixed;top:0;left:0;height:3px;width:0;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 8px,var(--c-hazard-500) 8px 16px);z-index:70;transition:width .1s linear;box-shadow:0 1px 6px rgba(245,163,0,.5)}

/* OJEU 文献卡 */
.oj-card{position:relative;background:linear-gradient(165deg,#10233F 0%,var(--c-navy-900) 55%,var(--c-navy-950) 100%);border:1px solid var(--c-navy-700);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 24px 48px -20px rgba(5,15,30,.7)}
.oj-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.oj-head{font-family:var(--font-stencil);letter-spacing:.14em;color:var(--c-steel-200);font-size:.72rem;border-bottom:2px solid var(--c-navy-700);padding-bottom:.7rem}
.oj-head b{color:var(--c-hazard-400)}
.oj-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed rgba(255,255,255,.09);font-family:var(--font-mono);font-size:.68rem;color:var(--c-steel-400)}
.oj-row:last-of-type{border-bottom:none}
.oj-row b{color:var(--c-steel-100);font-weight:500;text-align:right}
.oj-row b.hl{color:var(--c-hazard-400)}
.stamp-pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-stencil);font-size:.62rem;letter-spacing:.16em;padding:.3rem .65rem;border:2px solid;transform:rotate(-2deg);transition:transform .3s ease}
.stamp-pill:hover{transform:rotate(0deg) scale(1.05)}
.stamp-pill.ok{color:#3ECF6A;border-color:rgba(62,207,106,.6)}
.stamp-pill.warn{color:var(--c-hazard-400);border-color:rgba(255,183,3,.6)}
.stamp-pill.due{color:var(--c-safety-600);border-color:rgba(232,93,4,.6)}
.stamp-pill .sp-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:ledBlink 1.6s ease-in-out infinite}

/* 倒计时（扩展第 14 节 cd-cell） */
.cd-band{display:flex;align-items:stretch;gap:.5rem;margin-top:1rem}
.cd-band .cd-cell{flex:1;background:var(--c-navy-950);border:1px solid var(--c-navy-700);padding:.65rem .3rem;text-align:center;position:relative;overflow:hidden}
.cd-band .cd-cell::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.05)}
.cd-band .cd-cell b{display:block;font-family:var(--font-display);font-weight:600;font-size:1.9rem;line-height:1;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(255,183,3,.35)}
.cd-band .cd-cell b.tick{animation:cdTick .4s ease}
.cd-band .cd-cell span{display:block;margin-top:.3rem;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.22em;color:var(--c-steel-400)}
.cd-sep{align-self:center;font-family:var(--font-display);color:var(--c-steel-600);font-size:1.2rem}

/* 关键数字带 */
.kf-band{background:var(--c-navy-950);border:1px solid var(--c-navy-700);display:grid;grid-template-columns:repeat(2,1fr);position:relative;overflow:hidden}
@media (min-width:768px){.kf-band{grid-template-columns:repeat(4,1fr)}}
.kf-band::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.kf-cell{padding:1.5rem 1.2rem 1.3rem;border-right:1px dashed rgba(255,255,255,.09);border-bottom:1px dashed rgba(255,255,255,.09);transition:background .3s ease}
.kf-cell:hover{background:rgba(255,183,3,.05)}
@media (min-width:768px){.kf-cell{border-bottom:none}.kf-cell:last-child{border-right:none}}
.kf-cell b{display:block;font-family:var(--font-display);font-weight:600;font-size:2.4rem;line-height:1;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;text-shadow:0 0 20px rgba(255,183,3,.3)}
.kf-cell b small{font-size:.45em;color:var(--c-steel-200)}
.kf-cell span{display:block;margin-top:.45rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:var(--c-steel-400);line-height:1.7}

/* TL;DR 终端 */
.tldr{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.tldr::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);pointer-events:none}
.tldr-line{display:flex;gap:.8rem;padding:.55rem 0;border-bottom:1px dashed rgba(255,255,255,.07);font-size:.85rem;color:var(--c-steel-200);line-height:1.75;transition:transform .25s ease}
.tldr-line:hover{transform:translateX(5px)}
.tldr-line:last-child{border-bottom:none}
.tldr-line .tl-k{flex-shrink:0;font-family:var(--font-stencil);font-size:.62rem;letter-spacing:.1em;color:var(--c-navy-900);background:var(--c-hazard-400);padding:.15rem .5rem;height:fit-content;margin-top:.2rem;transform:skewX(-8deg)}
.tldr-line .tl-k.red{background:var(--c-safety-600);color:#fff}
.tldr-line b{color:var(--c-hazard-400);font-weight:600}

/* 目录（滚动监读） */
.toc{position:sticky;top:96px}
.toc-title{font-family:var(--font-stencil);font-size:.68rem;letter-spacing:.24em;color:var(--c-steel-400);display:flex;align-items:center;gap:.6rem}
.toc-title::after{content:'';flex:1;height:1px;background:var(--c-steel-200)}
.toc-link{display:flex;gap:.7rem;align-items:baseline;padding:.5rem .7rem;font-size:.82rem;color:var(--c-steel-600);border-left:2px solid var(--c-steel-200);transition:all .25s ease;text-decoration:none}
.toc-link .toc-n{font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-400);transition:color .25s ease}
.toc-link:hover{color:var(--c-navy-900);border-left-color:var(--c-hazard-500);transform:translateX(3px)}
.toc-link.active{color:var(--c-navy-900);font-weight:600;border-left-color:var(--c-hazard-400);background:linear-gradient(90deg,rgba(255,183,3,.1),transparent)}
.toc-link.active .toc-n{color:var(--c-hazard-600)}
.toc-mobile{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none}
.toc-mobile::-webkit-scrollbar{display:none}
.toc-chip{flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--c-steel-600);border:1px solid var(--c-steel-200);background:#fff;padding:.35rem .7rem;text-decoration:none;transition:all .2s ease}
.toc-chip:hover,.toc-chip.active{background:var(--c-navy-900);color:var(--c-hazard-400);border-color:var(--c-navy-900)}

/* 正文排版 */
.art-prose{font-size:1rem;line-height:2;color:var(--c-steel-800)}
.art-prose p+p{margin-top:1.4rem}
.art-prose strong{color:var(--c-navy-900);font-weight:700;background:linear-gradient(transparent 62%,rgba(255,183,3,.35) 62%)}
.art-prose .lead{font-size:1.12rem;color:var(--c-navy-800)}
.art-h2{display:flex;align-items:baseline;gap:1rem;margin:3.5rem 0 1.4rem;scroll-margin-top:110px}
.art-h2 .h2-n{font-family:var(--font-stencil);font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--c-hazard-500);flex-shrink:0}
.art-h2 h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:.03em;color:var(--c-navy-900)}
.art-h2 .h2-en{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.24em;color:var(--c-steel-400);margin-top:.25rem;font-weight:400}
.art-h3{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.04em;color:var(--c-navy-900);margin:2.2rem 0 .9rem;padding-left:.9rem;border-left:4px solid var(--c-hazard-400);scroll-margin-top:110px}
.art-prose ul{margin:1rem 0 1.4rem;list-style:none}
.art-prose ul li{position:relative;padding-left:1.4rem;line-height:1.95;margin-top:.5rem}
.art-prose ul li::before{content:'▸';position:absolute;left:0;color:var(--c-hazard-500);font-weight:700}
.art-prose a{color:var(--c-navy-700);text-decoration:underline;text-decoration-color:var(--c-hazard-400);text-underline-offset:3px;transition:color .2s ease}
.art-prose a:hover{color:var(--c-hazard-600)}
.art-quote{position:relative;margin:2rem 0;padding:1.4rem 1.6rem 1.4rem 1.8rem;background:var(--c-navy-900);color:var(--c-steel-100);font-size:.95rem;line-height:1.9;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}
.art-quote::before{content:'"';position:absolute;left:.9rem;top:.4rem;font-family:var(--font-stencil);font-size:2.6rem;color:var(--c-hazard-400);opacity:.8}
.art-quote b{color:var(--c-hazard-400)}
.art-quote cite{display:block;margin-top:.7rem;font-style:normal;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--c-steel-400)}

/* 提示框 */
.callout{position:relative;margin:2rem 0;padding:1.3rem 1.4rem 1.2rem 1.5rem;border:1px solid var(--c-steel-200);background:#fff;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.callout:hover{transform:translateX(5px);box-shadow:var(--shadow-crate)}
.callout::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px}
.callout .co-tag{display:inline-block;font-family:var(--font-stencil);font-size:.6rem;letter-spacing:.18em;padding:.2rem .55rem;margin-bottom:.6rem;transform:skewX(-8deg)}
.callout p{font-size:.88rem;line-height:1.9;color:var(--c-steel-600)}
.callout p b{color:var(--c-navy-900)}
.co-note::before{background:var(--c-hazard-400)}
.co-note .co-tag{background:rgba(255,183,3,.15);color:var(--c-hazard-600)}
.co-warn::before{background:var(--c-safety-600)}
.co-warn .co-tag{background:rgba(232,93,4,.12);color:var(--c-safety-600)}
.co-case::before{background:var(--c-navy-700)}
.co-case .co-tag{background:rgba(27,79,145,.12);color:var(--c-navy-700)}

/* 法规时间线 */
.reg-tl{position:relative;padding-left:2.2rem}
.reg-tl::before{content:'';position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:repeating-linear-gradient(180deg,var(--c-hazard-400) 0 8px,var(--c-steel-200) 8px 16px)}
.reg-node{position:relative;padding:0 0 2rem 1.2rem}
.reg-node:last-child{padding-bottom:.4rem}
.reg-node .rn-dot{position:absolute;left:-2.2rem;top:.3rem;width:20px;height:20px;display:grid;place-items:center;background:var(--c-navy-900);border:2px solid var(--c-steel-50);transition:all .3s ease}
.reg-node .rn-dot::after{content:'';width:8px;height:8px;background:var(--c-steel-400);transition:all .3s ease}
.reg-node:hover .rn-dot{transform:scale(1.2)}
.reg-node:hover .rn-dot::after{background:var(--c-hazard-400)}
.reg-node.now .rn-dot{background:var(--c-hazard-400);box-shadow:0 0 0 5px rgba(255,183,3,.25);animation:ledBlink 1.6s ease-in-out infinite}
.reg-node.now .rn-dot::after{background:var(--c-navy-900)}
.reg-node .rn-date{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;color:var(--c-steel-400)}
.reg-node.now .rn-date{color:var(--c-hazard-600);font-weight:600}
.reg-node h4{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.03em;color:var(--c-navy-900);margin-top:.15rem}
.reg-node p{font-size:.82rem;color:var(--c-steel-600);line-height:1.8;margin-top:.3rem}
.reg-node .rn-flag{display:inline-block;margin-left:.5rem;font-family:var(--font-stencil);font-size:.55rem;letter-spacing:.14em;background:var(--c-hazard-400);color:var(--c-navy-900);padding:.15rem .5rem;transform:skewX(-8deg);vertical-align:middle}
.reg-node .rn-flag.red{background:var(--c-safety-600);color:#fff}

/* 互动自查清单 */
.ck-panel{background:var(--c-navy-950);border:1px solid var(--c-navy-700);position:relative;overflow:hidden}
.ck-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.ck-row{display:flex;gap:1rem;align-items:flex-start;padding:.95rem 1.1rem;border-bottom:1px dashed rgba(255,255,255,.08);cursor:pointer;transition:background .25s ease;user-select:none}
.ck-row:hover{background:rgba(255,183,3,.05)}
.ck-row:last-child{border-bottom:none}
.ck-row .ck-box{flex-shrink:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;border:2px solid var(--c-steel-400);color:transparent;font-weight:700;font-size:.85rem;transition:all .25s ease;margin-top:.15rem}
.ck-row.checked .ck-box{background:var(--c-hazard-400);border-color:var(--c-hazard-400);color:var(--c-navy-900);animation:stampIn .35s cubic-bezier(.22,1,.36,1)}
.ck-row .ck-txt{flex:1;font-size:.85rem;color:var(--c-steel-200);line-height:1.75;transition:color .25s ease}
.ck-row.checked .ck-txt{color:var(--c-steel-400);text-decoration:line-through;text-decoration-color:rgba(255,183,3,.5)}
.ck-row .ck-txt b{color:var(--c-hazard-400);font-weight:600}
.ck-row.checked .ck-txt b{color:var(--c-steel-400)}
.ck-row .ck-dl{flex-shrink:0;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;color:var(--c-steel-600);border:1px solid var(--c-navy-700);padding:.2rem .45rem;margin-top:.2rem;white-space:nowrap}
.ck-progress{height:10px;background:var(--c-navy-900);position:relative;overflow:hidden}
.ck-progress .ckp-fill{position:absolute;inset:0;width:0;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 8px,var(--c-hazard-500) 8px 16px);transition:width .5s cubic-bezier(.22,1,.36,1)}
.ck-score{font-family:var(--font-display);font-weight:600;font-size:2.2rem;color:var(--c-hazard-400);font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 0 16px rgba(255,183,3,.35)}
.ck-score small{font-size:.9rem;color:var(--c-steel-200)}
.ck-verdict{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;transition:color .3s ease}
.ck-verdict.low{color:var(--c-safety-600)}
.ck-verdict.mid{color:var(--c-hazard-400)}
.ck-verdict.high{color:#3ECF6A}

/* 误区行 */
.myth-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch;background:#fff;border:1px solid var(--c-steel-200);padding:1.1rem 1.2rem;transition:all .3s ease}
.myth-row:hover{border-color:var(--c-hazard-400);box-shadow:var(--shadow-crate);transform:translateY(-3px)}
.myth-row .my-wrong,.myth-row .my-right{font-size:.85rem;line-height:1.8}
.myth-row .my-wrong{color:var(--c-steel-600);text-decoration:line-through;text-decoration-color:rgba(232,93,4,.55)}
.myth-row .my-wrong::before{content:'✕';display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;background:rgba(232,93,4,.12);color:var(--c-safety-600);font-weight:700;font-size:.7rem;margin-right:.5rem;text-decoration:none;vertical-align:1px}
.myth-row .my-right{color:var(--c-navy-900)}
.myth-row .my-right::before{content:'✓';display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;background:var(--c-hazard-400);color:var(--c-navy-900);font-weight:700;font-size:.7rem;margin-right:.5rem;vertical-align:1px}
.myth-row .my-vs{align-self:center;font-family:var(--font-stencil);font-size:.7rem;letter-spacing:.15em;color:var(--c-steel-400)}
@media (max-width:767px){.myth-row{grid-template-columns:1fr}.myth-row .my-vs{display:none}}

/* 行动步骤 */
.act-step{position:relative;display:flex;gap:1.2rem;background:#fff;border:1px solid var(--c-steel-200);padding:1.3rem 1.4rem;transition:all .3s ease;overflow:hidden}
.act-step::after{content:attr(data-n);position:absolute;right:.6rem;bottom:-1.2rem;font-family:var(--font-stencil);font-size:5.5rem;line-height:1;color:rgba(11,37,69,.06);transition:color .3s ease}
.act-step:hover{border-color:var(--c-hazard-400);transform:translateX(6px);box-shadow:var(--shadow-crate)}
.act-step:hover::after{color:rgba(245,163,0,.16)}
.act-step .act-badge{flex-shrink:0;width:3rem;height:3rem;display:grid;place-items:center;background:var(--c-navy-900);color:var(--c-hazard-400);font-family:var(--font-stencil);font-size:1.1rem;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);transition:all .3s ease}
.act-step:hover .act-badge{background:var(--c-hazard-400);color:var(--c-navy-900)}
.act-step h4{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.03em}
.act-step .act-dl{display:inline-block;margin-left:.6rem;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;color:var(--c-hazard-600);border:1px dashed rgba(245,163,0,.6);padding:.15rem .5rem;vertical-align:middle}
.act-step p{font-size:.85rem;color:var(--c-steel-600);line-height:1.85;margin-top:.4rem}
.act-step p b{color:var(--c-navy-900)}

/* 参考文献 */
.ref-list{counter-reset:ref;list-style:none;margin:0}
.ref-list li{counter-increment:ref;position:relative;padding:.8rem .9rem .8rem 3rem;border-bottom:1px dashed var(--c-steel-200);font-size:.82rem;color:var(--c-steel-600);line-height:1.8;transition:all .25s ease;background:#fff}
.ref-list li:hover{background:var(--c-wood-100);transform:translateX(4px)}
.ref-list li::before{content:'[' counter(ref,decimal-leading-zero) ']';position:absolute;left:.9rem;top:.85rem;font-family:var(--font-mono);font-size:.68rem;color:var(--c-hazard-600)}
.ref-list li b{color:var(--c-navy-900)}
.ref-list li .ref-src{font-family:var(--font-mono);font-size:.62rem;color:var(--c-steel-400)}

/* 作者卡 / 分享轨（已移除 .back-top） */
.author-card{position:relative;background:var(--c-navy-900);border:1px solid var(--c-navy-700);overflow:hidden}
.author-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 12px,var(--c-navy-900) 12px 24px)}
.author-avatar{width:4.4rem;height:4.4rem;display:grid;place-items:center;background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-stencil);font-size:1.6rem;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);box-shadow:0 3px 0 0 var(--c-hazard-600)}
.share-rail{position:fixed;left:max(1rem,calc((100vw - 80rem)/2 - 5.5rem));top:50%;transform:translateY(-50%);z-index:40;display:none;flex-direction:column;gap:.6rem}
@media (min-width:1400px){.share-rail{display:flex}}
.share-rail button{width:2.6rem;height:2.6rem;display:grid;place-items:center;background:#fff;border:1px solid var(--c-steel-200);color:var(--c-steel-600);cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-crate)}
.share-rail button:hover{background:var(--c-navy-900);color:var(--c-hazard-400);border-color:var(--c-navy-900);transform:translateY(-3px)}
.share-rail button svg{width:1.1rem;height:1.1rem}

/* 文章卡（相关阅读） */
.post-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-steel-200);box-shadow:var(--shadow-crate);transition:all .3s ease;overflow:hidden;text-decoration:none}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c-hazard-400)}
.post-card .pc-top{height:8px;background:repeating-linear-gradient(-45deg,var(--c-steel-200) 0 10px,var(--c-steel-100) 10px 20px);transition:background .3s ease}
.post-card:hover .pc-top{background:repeating-linear-gradient(-45deg,var(--c-hazard-400) 0 10px,var(--c-navy-900) 10px 20px)}
.post-card .pc-cat{font-family:var(--font-stencil);font-size:.58rem;letter-spacing:.18em;color:var(--c-hazard-600)}
.post-card h4{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;line-height:1.5;color:var(--c-navy-900);margin-top:.4rem;transition:color .25s ease}
.post-card:hover h4{color:var(--c-hazard-600)}
.post-card .pc-meta{margin-top:auto;padding-top:.9rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--c-steel-400);display:flex;justify-content:space-between;gap:.5rem}

/* ---------- 16. 通用文章模板（v1.14） ---------- */
.art-prose{counter-reset:art-h2}
.art-prose h2{counter-increment:art-h2;scroll-margin-top:110px;display:flex;align-items:baseline;gap:.9rem;margin:3.2rem 0 1.2rem;font-family:var(--font-display);font-size:clamp(1.4rem,2.8vw,1.85rem);font-weight:600;letter-spacing:.03em;color:var(--c-navy-900)}
.art-prose h2::before{content:counter(art-h2,decimal-leading-zero);font-family:var(--font-stencil);font-size:2.3rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--c-hazard-500);flex-shrink:0}
.art-prose h3{scroll-margin-top:110px;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;color:var(--c-navy-900);margin:2rem 0 .8rem;padding-left:.9rem;border-left:4px solid var(--c-hazard-400)}
.art-cover{position:relative;aspect-ratio:21/9;min-height:180px;overflow:hidden;background-color:var(--c-navy-900);background-image:linear-gradient(rgba(255,183,3,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,183,3,.05) 1px,transparent 1px);background-size:26px 26px;border:1px solid var(--c-navy-700);display:grid;place-items:center}
.art-cover .cv-ghost{font-family:var(--font-stencil);font-size:clamp(3rem,9vw,6.5rem);line-height:1;color:rgba(255,255,255,.06)}
.art-cover .cv-cap{position:absolute;left:1rem;bottom:.9rem;transform:skewX(-8deg);background:var(--c-hazard-400);color:var(--c-navy-900);font-family:var(--font-stencil);font-size:.72rem;letter-spacing:.12em;padding:.22rem .65rem;box-shadow:3px 3px 0 0 rgba(5,15,30,.55)}
.art-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- 17. 动效降级 ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .marquee-track,.crate-float,.crate-drop,.hook-line,.flow-dot,.case-route .c-ship,.radar .sweep,.led,.ispm-stamp,.teletype .tt-cursor,.term-cursor,.dwg-scan,.dwg-draw,.scene-svg .sc-hook,.cd-cell b.tick,.cd-band .cd-cell b.tick,.stamp-pill .sp-dot,.reg-node.now .rn-dot{animation:none}
  .p-item,.g-slide,.tab-panel,.ind-panel,.qw-pane{transition:none;animation:none}
  #belt{transition:none}
  .read-progress{transition:none}
  .scene-svg .sc-fork-arm{transition:none}
  .tldr-line,.act-step,.myth-row,.ref-list li{transition:none;transform:none}
}

/* ========== v1.16 移动端底部联系栏 ========== */
#mobile-contact-bar {
transform: translateY(100%);
transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
z-index: 30;
}

#mobile-contact-bar.show-bar {
transform: translateY(0);
}

#mobile-contact-bar .mcb-phone {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
flex: 1;
background: #0B2545;
color: #fff;
font-family: 'Oswald', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
font-weight: 500;
letter-spacing: 0.06em;
font-size: 0.9rem;
padding: 0.7rem 0.8rem;
text-decoration: none;
border: 1px solid #123B6D;
transition: all 0.25s ease;
white-space: nowrap;
min-height: 46px;
}

#mobile-contact-bar .mcb-phone:active {
background: #123B6D;
border-color: #FFB703;
transform: scale(0.97);
}

#mobile-contact-bar .mcb-phone svg {
width: 1.15rem;
height: 1.15rem;
flex-shrink: 0;
color: #FFB703;
}

#mobile-contact-bar .mcb-quote {
display: flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
flex: 1.3;
background: #FFB703;
color: #050F1E;
font-family: 'Oswald', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
font-size: 0.9rem;
padding: 0.7rem 0.8rem;
text-decoration: none;
box-shadow: 0 3px 0 0 #E08700;
transition: all 0.25s ease;
white-space: nowrap;
min-height: 46px;
}

#mobile-contact-bar .mcb-quote:active {
transform: translateY(2px);
box-shadow: 0 1px 0 0 #E08700;
background: #FFD166;
}

#mobile-contact-bar .mcb-quote svg {
width: 1rem;
height: 1rem;
flex-shrink: 0;
}
/* 注意：移动端 back-top 避让样式已移除 */

/* ====== BUGFIX v2: 文章正文强制可见 ====== */
#article-body {
    /* 覆盖 .art-prose 的所有可能隐藏属性 */
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    
    /* 防止内容塌陷 */
    min-height: 60vh !important;
    width: 100% !important;
    max-width: 100% !important;
    
    /* 确保长内容可换行 */
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    
    /* 防止被父级裁切 */
    overflow: visible !important;
}

/* Grid/Flex 子项防溢出 */
article.min-w-0,
.lg\:col-span-9 {
    min-width: 0 !important;
}

/* 正文 section 防裁切 */
section.bg-blueprint {
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
}

/* 移动端适配 */
@media (max-width: 1023px) {
    #article-body {
        min-height: 40vh !important;
    }
}