#js-tool-container-ventilation-duct-diameter-calculator .vd-app { display: flex; flex-direction: column; gap: 22px; color: var(--text-primary); --vd-accent: var(--accent-primary); } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-fieldset { border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 14px 16px 16px; margin: 0 0 14px; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-fieldset:last-of-type { margin-bottom: 0; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-legend { padding: 0 6px; font-weight: 600; font-size: 0.95rem; color: var(--text-secondary); } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-grid { display: grid; gap: 14px 18px; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-grid-2 { grid-template-columns: 1fr 1fr; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-grid-3 { grid-template-columns: 1fr 1fr 1fr; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-hint { font-size: 0.8rem; line-height: 1.35; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-field-height.vd-hidden { display: none; } #js-tool-container-ventilation-duct-diameter-calculator .vd-outcome { display: flex; flex-direction: column; gap: 20px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-app.is-warn { --vd-accent: var(--warning); } #js-tool-container-ventilation-duct-diameter-calculator .vd-app.is-danger { --vd-accent: var(--danger); } #js-tool-container-ventilation-duct-diameter-calculator .vd-panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr); gap: 20px; align-items: center; padding: 20px 22px; border-radius: var(--radius-lg, 16px); border: 1px solid color-mix(in srgb, var(--vd-accent) 26%, transparent); background: linear-gradient(135deg, color-mix(in srgb, var(--vd-accent) 13%, transparent) 0%, color-mix(in srgb, var(--vd-accent) 3%, transparent) 62%, transparent 100%); overflow: hidden; } #js-tool-container-ventilation-duct-diameter-calculator .vd-panel::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--vd-accent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-answer { display: flex; flex-direction: column; gap: 10px; min-width: 0; } #js-tool-container-ventilation-duct-diameter-calculator .vd-hero-label { font-size: 0.82rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: color-mix(in srgb, var(--vd-accent) 78%, var(--text-secondary)); } #js-tool-container-ventilation-duct-diameter-calculator .vd-hero-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; } #js-tool-container-ventilation-duct-diameter-calculator .vd-hero-value { font-size: clamp(2.6rem, 7vw, 4rem); font-weight: 800; line-height: 0.96; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; color: var(--text-primary); transition: color 240ms ease; } #js-tool-container-ventilation-duct-diameter-calculator .vd-hero-row .tbcalc-unit { font-size: clamp(1rem, 2.4vw, 1.3rem); font-weight: 600; color: var(--text-secondary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-chips { display: flex; flex-wrap: wrap; gap: 8px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-chip { display: inline-flex; align-items: baseline; gap: 5px; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--border-color); background: var(--bg-secondary, transparent); font-size: 0.82rem; color: var(--text-secondary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-chip-key { color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-chip-val { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-primary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-chip-unit { color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-hero-note { margin: 0; font-size: 0.87rem; line-height: 1.5; color: var(--text-secondary); max-width: 62ch; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure { margin: 0; display: flex; flex-direction: column; gap: 8px; align-items: center; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-svg { width: 100%; max-width: 240px; height: auto; overflow: visible; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-shape { fill: color-mix(in srgb, var(--vd-accent) 14%, transparent); stroke: var(--vd-accent); stroke-width: 2.5; transition: all 320ms cubic-bezier(0.22, 0.61, 0.36, 1); } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-ghost { fill: none; stroke: var(--border-color); stroke-width: 1.5; stroke-dasharray: 4 4; transition: all 320ms cubic-bezier(0.22, 0.61, 0.36, 1); } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-dim { stroke: var(--text-muted); stroke-width: 1; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-dim-cap { stroke: var(--text-muted); stroke-width: 1; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-text { fill: var(--text-secondary); font-size: 12px; font-weight: 600; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-caption { font-size: 0.76rem; line-height: 1.4; color: var(--text-muted); text-align: center; } #js-tool-container-ventilation-duct-diameter-calculator .vd-hidden { display: none; } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-status { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--radius-md); border: 1px solid color-mix(in srgb, var(--vd-accent) 28%, transparent); background: color-mix(in srgb, var(--vd-accent) 9%, transparent); font-size: 0.9rem; line-height: 1.5; color: var(--text-primary); } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-status::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--vd-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--vd-accent) 20%, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-block { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 6px 24px; align-items: center; } #js-tool-container-ventilation-duct-diameter-calculator .vd-scale-caption { grid-column: 1 / -1; } #js-tool-container-ventilation-duct-diameter-calculator .vd-scale-caption { font-size: 0.84rem; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge { position: relative; width: 100%; max-width: 300px; margin: 0; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-svg { width: 100%; height: auto; display: block; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-track { fill: none; stroke: var(--bg-tertiary); stroke-width: 16; stroke-linecap: round; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-band { fill: none; stroke: color-mix(in srgb, var(--success) 38%, transparent); stroke-width: 16; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-fill { fill: none; stroke: var(--vd-accent); stroke-width: 6; stroke-linecap: round; transition: stroke-dasharray 420ms cubic-bezier(0.22, 0.61, 0.36, 1), stroke 240ms ease; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-needle { stroke: var(--vd-accent); stroke-width: 3; stroke-linecap: round; transform-box: view-box; transform-origin: 130px 134px; transition: transform 460ms cubic-bezier(0.22, 0.61, 0.36, 1); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-hub { fill: var(--vd-accent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-ticks line { stroke: var(--border-color); stroke-width: 1.5; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-ticks text { fill: var(--text-muted); font-size: 10px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-readout { position: absolute; left: 50%; bottom: 4px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-row { display: flex; align-items: baseline; gap: 4px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-value { font-size: 1.7rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-primary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-unit { font-size: 0.82rem; color: var(--text-secondary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-range { font-size: 0.74rem; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-scale-desc { margin: 0; font-size: 0.88rem; line-height: 1.55; color: var(--text-secondary); border-left: 2px solid var(--border-color); padding-left: 14px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-card { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-secondary, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-card dt { font-size: 0.78rem; line-height: 1.35; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-card dd { margin: 0; display: flex; align-items: baseline; gap: 4px; font-size: 1.32rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--text-primary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-unit { font-size: 0.8rem; font-weight: 500; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-bar { height: 4px; border-radius: 2px; background: var(--bg-tertiary); overflow: hidden; } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-bar-fill { display: block; height: 100%; width: 0; border-radius: 2px; background: color-mix(in srgb, var(--vd-accent) 55%, transparent); transition: width 420ms cubic-bezier(0.22, 0.61, 0.36, 1); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-total { border-color: color-mix(in srgb, var(--vd-accent) 40%, transparent); background: color-mix(in srgb, var(--vd-accent) 7%, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-total dd { color: var(--vd-accent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-total .vd-ledger-bar-fill { background: var(--vd-accent); } #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-table-wrap { overflow-x: auto; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table-caption { text-align: left; padding-bottom: 8px; font-size: 0.84rem; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-table th, #js-tool-container-ventilation-duct-diameter-calculator .vd-table td { padding: 9px 10px; text-align: right; border-bottom: 1px solid var(--border-color); white-space: nowrap; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table th:first-child, #js-tool-container-ventilation-duct-diameter-calculator .vd-table td:first-child { text-align: left; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table thead th { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text-muted); } #js-tool-container-ventilation-duct-diameter-calculator .vd-table tbody tr { transition: background 200ms ease; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table tbody tr:hover td, #js-tool-container-ventilation-duct-diameter-calculator .vd-table tbody tr:hover th { background: color-mix(in srgb, var(--text-primary) 4%, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-table tr.vd-row-accepted td, #js-tool-container-ventilation-duct-diameter-calculator .vd-table tr.vd-row-accepted th { background: color-mix(in srgb, var(--vd-accent) 12%, transparent); font-weight: 700; color: var(--text-primary); } #js-tool-container-ventilation-duct-diameter-calculator .vd-table tr.vd-row-accepted th::after { content: "принято"; display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--vd-accent); border: 1px solid color-mix(in srgb, var(--vd-accent) 45%, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-cell { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-cell-bar { display: block; width: 68px; height: 3px; border-radius: 2px; background: var(--bg-tertiary); overflow: hidden; } #js-tool-container-ventilation-duct-diameter-calculator .vd-cell-bar-fill { display: block; height: 100%; border-radius: 2px; background: color-mix(in srgb, var(--text-secondary) 45%, transparent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-row-accepted .vd-cell-bar-fill { background: var(--vd-accent); } #js-tool-container-ventilation-duct-diameter-calculator .vd-verdict { display: inline-flex; align-items: center; gap: 6px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-verdict::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; } #js-tool-container-ventilation-duct-diameter-calculator .vd-verdict-ok { color: var(--success); } #js-tool-container-ventilation-duct-diameter-calculator .vd-verdict-warn { color: var(--warning); } #js-tool-container-ventilation-duct-diameter-calculator .vd-verdict-bad { color: var(--danger); } #js-tool-container-ventilation-duct-diameter-calculator .vd-source { margin: 10px 0 0; font-size: 0.8rem; line-height: 1.45; color: var(--text-muted); } @media (max-width: 600px) { #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-grid-2, #js-tool-container-ventilation-duct-diameter-calculator .tbcalc-grid-3 { grid-template-columns: 1fr; } #js-tool-container-ventilation-duct-diameter-calculator .vd-panel { grid-template-columns: 1fr; padding: 16px 16px 18px; gap: 14px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-svg { max-width: 190px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-block { grid-template-columns: 1fr; gap: 10px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge { max-width: 260px; margin: 0 auto; } #js-tool-container-ventilation-duct-diameter-calculator .vd-scale-desc { border-left: none; padding-left: 0; } #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger { grid-template-columns: 1fr 1fr; } #js-tool-container-ventilation-duct-diameter-calculator .vd-table th, #js-tool-container-ventilation-duct-diameter-calculator .vd-table td { padding: 7px 8px; } #js-tool-container-ventilation-duct-diameter-calculator .vd-cell-bar { width: 48px; } } @media (prefers-reduced-motion: reduce) { #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-needle, #js-tool-container-ventilation-duct-diameter-calculator .vd-gauge-fill, #js-tool-container-ventilation-duct-diameter-calculator .vd-ledger-bar-fill, #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-shape, #js-tool-container-ventilation-duct-diameter-calculator .vd-figure-ghost { transition: none; } }