/* 换气扇风量计算器 —— 青碧风道 · 扇叶 */
.c60{
  --a:#0891b2;
  --a2:#22d3ee;
  --a-soft:rgba(8,145,178,.10);
  --a-line:rgba(8,145,178,.26);
}

/* 排风管井：斜向气流 + 冷色柔光 */
.c60-hero{
  background:
    radial-gradient(700px 320px at 14% 2%, rgba(255,255,255,.80), transparent 62%),
    repeating-linear-gradient(118deg, rgba(8,145,178,.05) 0 2px, transparent 2px 22px),
    linear-gradient(135deg, #ecfeff 0%, #cffafe 48%, #f0f9ff 100%);
}
.c60-hero::before{
  background-image:
    linear-gradient(to right, rgba(8,145,178,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(8,145,178,.05) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(78% 78% at 74% 24%, #000 0%, transparent 80%);
  -webkit-mask-image:radial-gradient(78% 78% at 74% 24%, #000 0%, transparent 80%);
}
:root[data-theme="dark"] .c60-hero{
  background:
    radial-gradient(700px 320px at 14% 2%, rgba(34,211,238,.13), transparent 62%),
    repeating-linear-gradient(118deg, rgba(34,211,238,.03) 0 2px, transparent 2px 22px),
    linear-gradient(135deg,#041a22 0%,#06242e 48%,#061826 100%);
}
:root[data-theme="dark"] .c60-hero::before{
  background-image:
    linear-gradient(to right, rgba(148,163,184,.09) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148,163,184,.09) 1px, transparent 1px);
}

/* 自绘插画：旋转扇叶 */
.c60-hero-art .ef-fan{
  position:relative;
  width:176px;
  height:176px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.95), rgba(207,250,254,.7) 62%, rgba(8,145,178,.12));
  border:1px solid rgba(8,145,178,.34);
  box-shadow:0 18px 36px rgba(8,145,178,.20), inset 0 0 0 9px rgba(8,145,178,.06);
  animation:ef-spin 12s linear infinite;
}
.c60-hero-art .ef-hub{
  position:absolute;
  left:50%;top:50%;
  width:38px;height:38px;
  margin:-19px 0 0 -19px;
  border-radius:50%;
  background:linear-gradient(145deg,#0891b2,#22d3ee);
  border:3px solid rgba(255,255,255,.85);
  box-shadow:0 6px 14px rgba(8,145,178,.35);
  z-index:2;
}
.c60-hero-art .ef-blade{
  position:absolute;
  left:50%;top:50%;
  width:64px;height:30px;
  margin-top:-15px;
  transform-origin:0 50%;
  border-radius:50% 9px 50% 9px;
  background:linear-gradient(90deg,rgba(8,145,178,.72),rgba(34,211,238,.42),rgba(255,255,255,.5));
  border:1px solid rgba(8,145,178,.24);
  box-shadow:0 4px 10px rgba(8,145,178,.14);
}
.c60-hero-art .ef-blade.b1{transform:rotate(0deg) translateX(14px);}
.c60-hero-art .ef-blade.b2{transform:rotate(120deg) translateX(14px);}
.c60-hero-art .ef-blade.b3{transform:rotate(240deg) translateX(14px);}
.c60-hero-art .ef-ring{
  position:absolute;
  inset:12px;
  border-radius:50%;
  border:1px dashed rgba(8,145,178,.35);
}
@keyframes ef-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.c60-hero-art .ef-fan{animation:none;}}
:root[data-theme="dark"] .c60-hero-art .ef-fan{
  background:radial-gradient(circle at 50% 50%, rgba(13,45,58,.95), rgba(8,35,48,.8) 62%, rgba(2,132,199,.12));
  border-color:rgba(34,211,238,.30);
  box-shadow:0 18px 36px rgba(0,0,0,.34), inset 0 0 0 9px rgba(34,211,238,.04);
}
:root[data-theme="dark"] .c60-hero-art .ef-hub{background:linear-gradient(145deg,#0e7490,#22d3ee);border-color:rgba(8,20,32,.85);}
:root[data-theme="dark"] .c60-hero-art .ef-blade{background:linear-gradient(90deg,rgba(34,211,238,.42),rgba(8,145,178,.28),rgba(8,22,38,.3));border-color:rgba(34,211,238,.20);}
:root[data-theme="dark"] .c60-hero-art .ef-ring{border-color:rgba(34,211,238,.28);}
.c60-hero-art .chip{background:rgba(255,255,255,.92);}
:root[data-theme="dark"] .c60-hero-art .chip{background:rgba(14,22,38,.88);}
.c60-hero-art .chip b{color:#0891b2;}
:root[data-theme="dark"] .c60-hero-art .chip b{color:#22d3ee;}

/* 主结果：深青 */
.c60-metric.is-hero{
  background:linear-gradient(135deg,#155e75,#0891b2 52%,#22d3ee 100%);
  box-shadow:0 16px 34px rgba(8,145,178,.30);
}
.c60-metric.is-hero .v{font-size:clamp(27px,3.3vw,40px);}

.c60-segbtn.on{color:#0891b2;}
:root[data-theme="dark"] .c60-segbtn.on{color:#22d3ee;}

/* 阻力构成环图 */
.ef-sub{
  position:relative;
  margin:20px 0 2px;
  padding-left:12px;
  font-size:13.5px;
  font-weight:900;
  color:var(--ink);
}
.ef-sub::before{
  content:"";
  position:absolute;
  left:0;top:5px;bottom:5px;
  width:4px;
  border-radius:4px;
  background:linear-gradient(180deg,#0891b2,#22d3ee);
}
.ef-donut-wrap{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-top:10px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,color-mix(in srgb,var(--a) 4%,var(--card)),var(--card));
}
.ef-donut-wrap .c60-donut{display:grid;place-items:center;color:var(--ink);}
.ef-legend{display:flex;flex-direction:column;gap:7px;}
.ef-legend .row{
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  font-size:12.5px;
  color:var(--ink2);
}
.ef-legend .dot{width:10px;height:10px;border-radius:3px;}
.ef-legend .nm{font-weight:800;color:var(--ink);}
.ef-legend .vl{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:800;white-space:nowrap;}

/* 规格卡 */
.ef-spec{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.ef-spec-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 13px;
  border-radius:11px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,color-mix(in srgb,var(--a) 4%,var(--card)),var(--card));
  font-size:12.5px;
}
.ef-spec-row span{color:var(--muted);font-weight:700;}
.ef-spec-row b{color:var(--ink);font-weight:900;font-variant-numeric:tabular-nums;}
.ef-spec-row:nth-child(3) b{color:var(--a);}

/* 场景表 */
#efTable td:first-child{font-weight:800;color:var(--ink);}
#efTable td:nth-child(2){font-variant-numeric:tabular-nums;}
#efTable tbody tr.is-rec td{background:color-mix(in srgb,var(--a) 8%,var(--card));font-weight:800;color:var(--ink);}

/* 余量滑杆 */
#efMargin{background:linear-gradient(to right,#0891b2 0%,#0891b2 var(--fill,37.5%),var(--soft) var(--fill,37.5%),var(--soft) 100%);}
#efMarginOut{color:#0891b2;font-weight:900;}
:root[data-theme="dark"] #efMarginOut{color:#22d3ee;}

/* 批量表 */
#efBatchTable td:first-child{font-weight:800;color:var(--ink);}
#efBatchTable tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--a) 3%,transparent);}
#efBatchTable td:nth-child(n+2){font-variant-numeric:tabular-nums;}
#efBatchTable tbody tr.is-err td{color:var(--err);background:var(--err-soft);}

:root[data-theme="dark"] .c60-warn{color:#fcd34d;}

@media (max-width:960px){
  .c60-hero-art .ef-fan{width:150px;height:150px;}
  .c60-hero-art .ef-blade{width:54px;height:26px;margin-top:-13px;}
  .ef-spec{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .ef-donut-wrap{grid-template-columns:1fr;justify-items:center;}
  .ef-legend{width:100%;}
  .ef-spec{grid-template-columns:1fr;}
  .c60-metrics{grid-template-columns:1fr 1fr;}
}
@media print{
  .c60-actions,.c60-batch,.c60-hist,.c60-seg,.c60-msg,.c60-hero-art{display:none!important;}
  .c60-card{box-shadow:none;border-color:#ccc;}
  #efTable{min-width:0;}
  .ef-donut-wrap,.ef-spec{break-inside:avoid;}
}
