/* ===== 气体标况流量 · 转子流量计 ===== */
.gfc {
    background: #fafaf8;
    border: 1px solid #e6e3da;
    border-radius: 12px;
    padding: 24px 22px;
    margin-bottom: 26px;
    box-shadow: 0 10px 30px rgba(70, 60, 30, .07);
}

.gfc-stage {
    display: grid;
    grid-template-columns: 104px 1.1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

/* ---- 转子流量计 ---- */
.gfc-meter {
    background: #fff; border: 1px solid #e6e3da; border-radius: 10px;
    padding: 12px 8px 10px; display: flex; flex-direction: column;
    align-items: center; gap: 6px;
}
.gfc-tube {
    position: relative; width: 62px; height: 210px;
}
.gfc-cone {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.9), rgba(226,232,240,.55) 42%, rgba(255,255,255,.85));
    border: 1px solid #cbd5e1;
    clip-path: polygon(20% 0, 80% 0, 66% 100%, 34% 100%);
    box-shadow: inset 2px 0 5px rgba(255,255,255,.9);
}
.gfc-cone::after {
    content: '';
    position: absolute; left: 12%; right: 12%; bottom: 0; height: 46%;
    background: linear-gradient(180deg, rgba(251, 146, 60, .28), rgba(234, 88, 12, .35));
    clip-path: polygon(14% 0, 86% 0, 100% 100%, 0 100%);
}
.gfc-float {
    position: absolute; left: 50%; transform: translate(-50%, -50%);
    width: 30px; height: 12px;
    background: linear-gradient(180deg, #475569, #1e293b);
    border-radius: 50% / 45%;
    box-shadow: 0 2px 5px rgba(15, 23, 42, .35);
    transition: top .35s;
}
.gfc-float::after {
    content: '';
    position: absolute; left: 50%; top: 100%; transform: translateX(-50%);
    border-left: 7px solid transparent; border-right: 7px solid transparent;
    border-top: 9px solid #1e293b;
}
.gfc-graduation {
    position: absolute; right: -2px; top: 0; bottom: 0; width: 14px;
    background: repeating-linear-gradient(to bottom, #cbd5e1 0 1px, transparent 1px 20px);
}
.gfc-graduation b {
    position: absolute; left: 3px; transform: translateY(-50%);
    font: 700 7.5px/1 ui-monospace, monospace; color: #94a3b8;
}
.gfc-meter-label {
    font: 700 10px/1.4 ui-monospace, monospace; color: #9a3412; text-align: center;
}
.gfc-meter-label em { display: block; font-style: normal; font-size: 8.5px; color: #a8a29e; font-weight: 400; }

/* ---- 主读数 ---- */
.gfc-read {
    background: #fff; border: 1px solid #e6e3da; border-radius: 10px;
    padding: 16px 18px; display: flex; flex-direction: column; gap: 10px;
}
.gfc-read small { font-size: 10px; color: #8c8674; letter-spacing: .05em; }
.gfc-big {
    font: 700 36px/1 ui-monospace, Consolas, monospace; color: #c2410c;
    font-variant-numeric: tabular-nums; letter-spacing: -.02em;
}
.gfc-big em { font-style: normal; font-size: 11px; color: #8c8674; font-weight: 400; }
.gfc-factor {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    background: #fdf8f3; border: 1px solid #f2e4d8; border-radius: 6px;
    padding: 8px 10px; font: 10.5px/1.5 ui-monospace, monospace; color: #a1603a;
}
.gfc-factor b { color: #c2410c; }
.gfc-eq { font: 10px/1.7 ui-monospace, monospace; color: #a8a29e; }

/* ---- 指标卡 ---- */
.gfc-cards { display: grid; gap: 8px; }
.gfc-card {
    background: #fff; border: 1px solid #e6e3da; border-radius: 8px;
    padding: 10px 12px; display: flex; align-items: baseline; justify-content: space-between;
}
.gfc-card span { font-size: 10px; color: #8c8674; }
.gfc-card b {
    font: 700 16px/1 ui-monospace, monospace; color: #7c2d12;
    font-variant-numeric: tabular-nums;
}
.gfc-card b em { font-style: normal; font-size: 9px; color: #a8a29e; font-weight: 400; }

/* ---- 参数 ---- */
.gfc-params { margin-top: 18px; border-top: 1px solid #e6e3da; padding-top: 15px; }
.gfc-params h2 { font-size: 12px; letter-spacing: .07em; color: #57534e; margin: 0 0 11px; }
.gfc-dir { display: flex; gap: 6px; margin-bottom: 2px; }
.gfc-dir button {
    flex: 1 1 0; font: 700 10.5px/1.3 inherit; padding: 6px 8px; cursor: pointer;
    border: 1px solid #e6e3da; background: #fff; color: #8c8674; border-radius: 5px;
}
.gfc-dir button.active { background: #c2410c; border-color: #c2410c; color: #fff; }
.gfc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.gfc-grid label { display: flex; flex-direction: column; gap: 4px; }
.gfc-grid span { font-size: 10.5px; color: #8c8674; }
.gfc-grid input, .gfc-grid select {
    font: inherit; font-size: 12px; padding: 7px 9px; border: 1px solid #e6e3da;
    border-radius: 5px; background: #fff; color: #44403c; font-variant-numeric: tabular-nums;
    min-width: 0;
}
.gfc-grid input:focus, .gfc-grid select:focus { outline: 2px solid rgba(194, 65, 12, .16); border-color: #c2410c; }
.gfc-grid input.is-bad { border-color: #dc2626; background: #fff1f2; }

.gfc-verdict {
    margin: 15px 0 0; padding: 10px 13px; border-radius: 8px;
    font-size: 11.5px; line-height: 1.7; color: #7c2d12; background: #fdf6f0;
    border-left: 3px solid #f97316;
}
.gfc-verdict.bad { color: #9f1239; background: #fff5f7; border-left-color: #e11d48; }

@media (max-width: 900px) {
    .gfc-stage { grid-template-columns: 90px 1fr; }
    .gfc-cards { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
    .gfc-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .gfc { padding: 16px 13px; }
    .gfc-stage { grid-template-columns: 1fr; justify-items: center; }
    .gfc-read { width: 100%; }
    .gfc-cards { grid-template-columns: 1fr; }
    .gfc-grid { grid-template-columns: 1fr; }
    .gfc-big { font-size: 30px; }
}

/* ---- 深色 ---- */
[data-theme="dark"] .gfc { background: #12110e; border-color: #2b2823; box-shadow: none; }
[data-theme="dark"] .gfc-meter, [data-theme="dark"] .gfc-read, [data-theme="dark"] .gfc-card { background: #191814; border-color: #2b2823; }
[data-theme="dark"] .gfc-cone { background: linear-gradient(90deg, rgba(255,255,255,.08), rgba(148,163,184,.08) 42%, rgba(255,255,255,.05)); border-color: #3a352c; }
[data-theme="dark"] .gfc-float { background: linear-gradient(180deg, #94a3b8, #475569); }
[data-theme="dark"] .gfc-float::after { border-top-color: #475569; }
[data-theme="dark"] .gfc-graduation { background: repeating-linear-gradient(to bottom, #3a352c 0 1px, transparent 1px 20px); }
[data-theme="dark"] .gfc-big { color: #fdba74; }
[data-theme="dark"] .gfc-factor { background: #221a14; border-color: #3a2a1e; color: #c9a184; }
[data-theme="dark"] .gfc-factor b { color: #fdba74; }
[data-theme="dark"] .gfc-eq, [data-theme="dark"] .gfc-read small, [data-theme="dark"] .gfc-card span, [data-theme="dark"] .gfc-grid span { color: #8c8674; }
[data-theme="dark"] .gfc-card b { color: #fed7aa; }
[data-theme="dark"] .gfc-params { border-color: #2b2823; }
[data-theme="dark"] .gfc-params h2 { color: #d6d3d1; }
[data-theme="dark"] .gfc-grid input, [data-theme="dark"] .gfc-grid select { background: #191814; border-color: #2b2823; color: #e7e5e4; }
[data-theme="dark"] .gfc-verdict { background: rgba(249, 115, 22, .1); color: #fed7aa; }
[data-theme="dark"] .gfc-verdict.bad { background: rgba(190, 18, 60, .12); color: #fda4af; }
