/* Chenfan Electric · Transformer Core Loss & Weight Calculator
   Visual layer aligned to chenfanelectric.com (charcoal / cream / bronze).
   Presentation layer only. No calculation code or private material data.
   Direction-aware (logical properties) for LTR and RTL site languages. */

#chenfan-core-calculator {
  /* Surfaces — sampled from chenfanelectric.com */
  --c-header: #141819;
  --c-dark: #191d1e;
  --c-dark-2: #151a1b;
  --c-dark-3: #1f2425;
  --c-cream: #efeae2;
  --c-cream-btn: #eeeae2;
  --c-paper: #f6f3ee;
  --c-field: #fcfbf8;
  --c-table-head: #ebe6de;
  --c-row-hover: #f0ece5;
  --c-preview: #ece7df;

  /* Lines */
  --c-line-dark: #383b3b;
  --c-hair-dark: #323637;
  --c-hair-cream: #cfcbc4;
  --c-hair-cream-2: #dfdad2;

  /* Text */
  --c-ink: #0c1011;
  --c-ink-2: #3a3f3d;
  --c-sage: #646a66;
  --c-sage-light: #979d98;
  --c-text-on-dark: #b1b3ae;
  --c-muted-on-dark: #8a908c;
  --c-cream-text: #f0eee8;
  --c-value-on-dark: #d0cfcb;

  /* Accent — bronze engineering numerals, units, rules */
  --c-bronze: #bda17b;
  --c-bronze-ink: #8f7550;
  --c-bronze-soft: #dccab0;

  /* States */
  --c-success: #86a58f;
  --c-error: #a4433b;
  --c-error-on-dark: #dc9187;
  --c-error-soft: #f7ebe6;
  --c-notice-soft: #f3ede1;

  /* Type — Latin/Cyrillic/Vietnamese first, then CJK, Thai and Arabic system faces */
  --font-sans: "Helvetica Neue", Helvetica, Inter, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC",
    "Sukhumvit Set", Thonburi, "Leelawadee UI", "Noto Sans Thai", "Noto Sans Thai UI", "Geeza Pro", "Segoe UI", "Noto Sans Arabic", "Noto Naskh Arabic", Tahoma, sans-serif;
  --font-mono: "IBM Plex Mono", "JetBrains Mono", "SF Mono", SFMono-Regular, ui-monospace, Menlo, Consolas, "Liberation Mono", monospace;
  --font-label: var(--font-mono);

  /* Tracking for uppercase labels; set to 0 for scripts without case (see :lang rules) */
  --track-label: .16em;
  --track-title: -.03em;

  /* Layout */
  --header-h: 72px;
  --pad: clamp(16px, 5vw, 72px);
  --maxw: 1580px;
  --panel-pad: 24px;

  color-scheme: light;
}

/* Scripts without letter case: no uppercase tracking (Arabic joining, Thai marks, CJK) */
#chenfan-core-calculator:lang(ar), #chenfan-core-calculator:lang(th), #chenfan-core-calculator:lang(zh) {
  --track-label: 0;
  --track-title: 0;
  --font-label: var(--font-sans);
}

#chenfan-core-calculator, #chenfan-core-calculator *, #chenfan-core-calculator *::before, #chenfan-core-calculator *::after { box-sizing: border-box; }
#chenfan-core-calculator { scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
#chenfan-core-calculator {
  margin: 0;
  min-width: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.5;
  color: var(--c-ink);
  background: var(--c-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
#chenfan-core-calculator h1, #chenfan-core-calculator h2, #chenfan-core-calculator h3, #chenfan-core-calculator p { margin: 0; }
#chenfan-core-calculator button, #chenfan-core-calculator input, #chenfan-core-calculator select, #chenfan-core-calculator textarea { font: inherit; color: inherit; }
#chenfan-core-calculator button, #chenfan-core-calculator select, #chenfan-core-calculator summary { cursor: pointer; }
#chenfan-core-calculator button { -webkit-tap-highlight-color: transparent; }
#chenfan-core-calculator button:disabled, #chenfan-core-calculator select:disabled { cursor: default; }
#chenfan-core-calculator a { color: inherit; }
#chenfan-core-calculator [hidden] { display: none !important; }
#chenfan-core-calculator :focus-visible { outline: 2px solid var(--c-ink); outline-offset: 2px; }
#chenfan-core-calculator .tool-hero :focus-visible, #chenfan-core-calculator .results-panel :focus-visible, #chenfan-core-calculator .mfg-cta :focus-visible, #chenfan-core-calculator .review-head :focus-visible { outline-color: var(--c-cream-text); }

/* Hold the calculator until the site language is applied (fallback reveal if the script never runs) */


@keyframes cfcc-i18n-reveal { to { visibility: visible; } }

#chenfan-core-calculator .container { width: min(var(--maxw), calc(100% - 2 * var(--pad))); margin-inline: auto; }
#chenfan-core-calculator { overflow-wrap: break-word; }
#chenfan-core-calculator .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


#chenfan-core-calculator .eyebrow { display: flex; align-items: baseline; gap: 12px; font-size: 10.5px; font-weight: 700; letter-spacing: calc(var(--track-label) * 1.25); text-transform: uppercase; color: var(--c-sage); }
#chenfan-core-calculator .eyebrow-dark { color: var(--c-sage-light); }

/* ---------- Header (replica of site header; theme header replaces it on WordPress) ---------- */































#chenfan-core-calculator[dir="rtl"] .button-arrow { transform: scaleX(-1); }



























/* ---------- 1. Tool hero ---------- */
#chenfan-core-calculator .tool-hero { background: var(--c-dark); color: var(--c-cream-text); padding: 24px 0 48px; }
#chenfan-core-calculator .hero-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 30px; }
#chenfan-core-calculator .breadcrumb ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; font-family: var(--font-label); font-size: 11px; letter-spacing: calc(var(--track-label) * .75); text-transform: uppercase; color: var(--c-muted-on-dark); }
#chenfan-core-calculator .breadcrumb li + li::before { content: "/"; margin-inline: .75em; color: #5b605e; }
#chenfan-core-calculator .breadcrumb a { text-decoration: none; }
#chenfan-core-calculator .breadcrumb a:hover { color: var(--c-cream-text); }
#chenfan-core-calculator .breadcrumb [aria-current="page"] { color: var(--c-cream-text); }

#chenfan-core-calculator .hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr); gap: clamp(32px, 5vw, 96px); align-items: end; }
#chenfan-core-calculator .hero-copy .eyebrow { margin-bottom: 16px; }
#chenfan-core-calculator h1 { font-size: clamp(32px, 2.8vw + 18px, 58px); font-weight: 700; line-height: 1.03; letter-spacing: var(--track-title); color: var(--c-cream-text); overflow-wrap: anywhere; hyphens: auto; }
#chenfan-core-calculator .h1-line { display: block; }
#chenfan-core-calculator .h1-muted { color: var(--c-sage-light); }
#chenfan-core-calculator .hero-lead { max-width: 44em; margin-top: 22px; color: var(--c-text-on-dark); font-size: 15.5px; line-height: 1.6; }
#chenfan-core-calculator .hero-link { display: flex; align-items: center; gap: 12px; margin-top: 18px; color: var(--c-bronze); font-size: 13px; }
#chenfan-core-calculator .hero-rule { flex: none; width: 28px; height: 1px; background: var(--c-bronze); }
#chenfan-core-calculator .how-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .how-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .how-num { font-family: var(--font-mono); font-size: 11px; color: var(--c-bronze); padding-top: 2px; }
#chenfan-core-calculator .how-list .how-title { margin-top: 0; color: var(--c-cream-text); font-size: 14px; font-weight: 700; line-height: 1.4; }
#chenfan-core-calculator .how-list p { margin-top: 2px; color: var(--c-muted-on-dark); font-size: 13px; line-height: 1.5; }

/* ---------- 2. Calculator section ---------- */
#chenfan-core-calculator .calculator-section { padding: 32px 0 72px; outline: none; }
#chenfan-core-calculator .workspace-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--c-hair-cream); }
#chenfan-core-calculator .toolbar-start { display: flex; align-items: center; gap: 16px; min-width: 0; }
#chenfan-core-calculator .toolbar-hint { color: var(--c-sage); font-size: 12.5px; line-height: 1.45; }
#chenfan-core-calculator .load-status { color: var(--c-sage); font-family: var(--font-label); font-size: 11px; line-height: 1.5; text-align: end; }

#chenfan-core-calculator .error-summary { display: flex; gap: 12px; margin: 0 0 20px; padding: 14px 18px; border: 1px solid #dbb7ad; border-inline-start: 3px solid var(--c-error); background: var(--c-error-soft); color: #7d2f28; outline: none; }
#chenfan-core-calculator .error-icon { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border: 1px solid currentColor; font-family: var(--font-mono); font-size: 12px; font-weight: 700; }
#chenfan-core-calculator .error-summary strong { display: block; font-size: 13px; font-weight: 700; }
#chenfan-core-calculator .error-summary p { margin-top: 4px; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
#chenfan-core-calculator .error-list { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 8px 0 0; padding: 0; list-style: none; }
#chenfan-core-calculator .error-list button { padding: 3px 8px; border: 1px solid #d7aea4; background: #fff8f5; color: #7d2f28; font-size: 12px; }
#chenfan-core-calculator .error-list button:hover { border-color: var(--c-error); }

#chenfan-core-calculator .calculator-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) minmax(330px, .86fr); gap: 24px; align-items: start; }

/* Panels */
#chenfan-core-calculator .panel { min-width: 0; margin: 0; padding: 0; border: 1px solid var(--c-hair-cream); background: var(--c-paper); }
#chenfan-core-calculator fieldset.panel { display: block; }
#chenfan-core-calculator .panel-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; min-height: 72px; padding: 18px var(--panel-pad); border-bottom: 1px solid var(--c-hair-cream); }
#chenfan-core-calculator .panel-heading-text { display: flex; align-items: baseline; gap: 14px; min-width: 0; max-width: 100%; }
#chenfan-core-calculator .section-number { flex: none; font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .04em; color: var(--c-bronze-ink); }
#chenfan-core-calculator .panel-heading h3 { font-size: 21px; font-weight: 700; line-height: 1.25; letter-spacing: calc(var(--track-title) * .3); overflow-wrap: break-word; hyphens: auto; }
#chenfan-core-calculator .panel-body { padding: 22px var(--panel-pad) 8px; }

#chenfan-core-calculator .form-section-heading { margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--c-hair-cream-2); color: var(--c-sage); font-size: 10.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .second-section { margin-top: 12px; }

/* Fields: label / control / below (help + error). Subgrid keeps controls in one row aligned
   even when a translated label wraps to two lines in one column only. */
#chenfan-core-calculator .input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 0; }
#chenfan-core-calculator .field { min-width: 0; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
#chenfan-core-calculator .field-wide { grid-column: 1 / -1; }
#chenfan-core-calculator .field-below { min-width: 0; padding-bottom: 18px; }
#chenfan-core-calculator .field label, #chenfan-core-calculator .field .field-label { display: block; align-self: end; margin-bottom: 8px; font-size: 13px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; hyphens: auto; }
#chenfan-core-calculator .field input, #chenfan-core-calculator .field select, #chenfan-core-calculator .levels-table input, #chenfan-core-calculator .rfield input, #chenfan-core-calculator .rfield textarea {
  display: block; width: 100%; min-width: 0; height: 44px; padding: 0 12px;
  border: 1px solid var(--c-hair-cream); border-radius: 0; background: var(--c-field); color: var(--c-ink);
  font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums;
}
#chenfan-core-calculator .field select {
  appearance: none; -webkit-appearance: none; padding-inline: 12px 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230c1011' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 13px center; background-size: 10px 6px; text-overflow: ellipsis;
}
#chenfan-core-calculator[dir="rtl"] .field select { background-position: left 13px center; }
#chenfan-core-calculator .field select optgroup { font-style: normal; font-weight: 700; color: var(--c-sage); }
#chenfan-core-calculator .field select option { font-weight: 500; color: var(--c-ink); }
#chenfan-core-calculator .field input:hover, #chenfan-core-calculator .field select:hover, #chenfan-core-calculator .levels-table input:hover, #chenfan-core-calculator .rfield input:hover, #chenfan-core-calculator .rfield textarea:hover { border-color: #a9a49a; }
#chenfan-core-calculator .field input:focus, #chenfan-core-calculator .field select:focus, #chenfan-core-calculator .levels-table input:focus, #chenfan-core-calculator .rfield input:focus, #chenfan-core-calculator .rfield textarea:focus { outline: none; border-color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
#chenfan-core-calculator .fixed-value { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--c-hair-cream-2); color: var(--c-sage); font-size: 13px; font-weight: 500; line-height: 1.35; }
/* Numbers are right-aligned (engineering convention) and always LTR; units sit inside the field */
#chenfan-core-calculator .input-with-unit { position: relative; }
#chenfan-core-calculator .input-with-unit input { padding-right: 48px; text-align: right; }
#chenfan-core-calculator .input-with-unit.no-unit input { padding-right: 12px; }
#chenfan-core-calculator .input-with-unit > .unit { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); pointer-events: none; color: var(--c-sage); font-family: var(--font-mono); font-size: 11px; }
#chenfan-core-calculator .input-with-unit { direction: ltr; }
#chenfan-core-calculator input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
#chenfan-core-calculator input[type="number"]::-webkit-outer-spin-button, #chenfan-core-calculator input[type="number"]::-webkit-inner-spin-button { appearance: none; margin: 0; }
#chenfan-core-calculator input::placeholder, #chenfan-core-calculator textarea::placeholder { color: #a8a59e; font-weight: 400; }
#chenfan-core-calculator fieldset:disabled input, #chenfan-core-calculator fieldset:disabled select { opacity: .55; }
#chenfan-core-calculator .field-help { margin-top: 7px; color: var(--c-sage); font-family: var(--font-label); font-size: 11px; line-height: 1.55; }
#chenfan-core-calculator .field-error { margin-top: 6px; color: var(--c-error); font-size: 11.5px; line-height: 1.55; overflow-wrap: anywhere; }
#chenfan-core-calculator [aria-invalid="true"], #chenfan-core-calculator .has-error input, #chenfan-core-calculator .has-error select { border-color: var(--c-error) !important; background-color: #fbf1ed !important; }

/* Core dimensions: the diameter note sits directly under its row, full width, without shifting either input */
#chenfan-core-calculator .core-grid .field-diameter { grid-column: 1; grid-row: 1 / span 3; }
#chenfan-core-calculator .core-grid .field-max-width { grid-column: 2; grid-row: 1 / span 3; }
#chenfan-core-calculator .core-grid .field-note { grid-column: 1 / -1; grid-row: 4; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: -10px 0 18px; color: var(--c-sage); font-size: 11.5px; line-height: 1.5; }
#chenfan-core-calculator .core-grid .field-note p { flex: 1 1 260px; }
/* keep the note (and its button) above the neighbouring field's bottom padding, which it overlaps by design */
#chenfan-core-calculator .core-grid .field-note { position: relative; z-index: 1; }
#chenfan-core-calculator .text-button { padding: 0; border: 0; border-bottom: 1px solid var(--c-bronze); background: none; color: var(--c-ink); font-size: 11.5px; font-weight: 600; line-height: 1.4; }
#chenfan-core-calculator .text-button:hover:not(:disabled) { color: var(--c-bronze-ink); }
#chenfan-core-calculator .text-button:disabled { color: #a3a09a; border-color: var(--c-hair-cream-2); cursor: default; }

/* ---------- 02 Lamination stack ---------- */
#chenfan-core-calculator .stepper { display: inline-flex; align-items: center; flex: none; border: 1px solid var(--c-hair-cream); background: var(--c-field); }
#chenfan-core-calculator .stepper-label { padding-inline: 10px 8px; color: var(--c-sage); font-size: 10px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .stepper-button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-inline-start: 1px solid var(--c-hair-cream); background: transparent; color: var(--c-ink); font-size: 17px; line-height: 1; }
#chenfan-core-calculator .stepper-button:hover:not(:disabled) { background: #ebe6dd; }
#chenfan-core-calculator .stepper-button:disabled { color: #b5b1a9; }
#chenfan-core-calculator .stepper-value { min-width: 38px; padding-inline: 6px; border-inline-start: 1px solid var(--c-hair-cream); font-family: var(--font-mono); font-size: 13px; font-weight: 600; line-height: 34px; text-align: center; font-variant-numeric: tabular-nums; }

#chenfan-core-calculator .levels-description { padding: 14px var(--panel-pad); border-bottom: 1px solid var(--c-hair-cream-2); }
#chenfan-core-calculator .levels-description p { color: var(--c-ink-2); font-size: 12.5px; line-height: 1.6; }
#chenfan-core-calculator .levels-description .levels-tip { margin-top: 2px; color: var(--c-sage); font-size: 11.5px; }

#chenfan-core-calculator .section-preview { position: relative; margin: 0; padding: 12px var(--panel-pad) 10px; border-bottom: 1px solid var(--c-hair-cream-2); background: var(--c-preview); }
#chenfan-core-calculator .section-svg { display: block; width: 100%; height: 150px; }
#chenfan-core-calculator .section-svg .sec-axis { stroke: #b9b4aa; stroke-width: 1; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; fill: none; }
#chenfan-core-calculator .section-svg .sec-step { fill: #d8d2c7; stroke: #6f746f; stroke-width: 1; vector-effect: non-scaling-stroke; }
#chenfan-core-calculator .section-svg .sec-step.is-active { fill: var(--c-bronze-soft); stroke: var(--c-bronze-ink); }
#chenfan-core-calculator .section-svg .sec-step.is-error { fill: #efd3cb; stroke: var(--c-error); }
#chenfan-core-calculator .section-preview figcaption { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; color: var(--c-sage); font-size: 10.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .section-dims { font-family: var(--font-mono); font-weight: 500; letter-spacing: 0; text-transform: none; }
#chenfan-core-calculator .section-empty { position: absolute; inset: 12px var(--panel-pad) 34px; display: grid; place-items: center; padding: 12px; color: var(--c-sage); font-size: 12px; text-align: center; }

#chenfan-core-calculator .levels-scroll { max-height: 560px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c3beb4 transparent; }
#chenfan-core-calculator .levels-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
#chenfan-core-calculator .levels-table thead { position: sticky; top: 0; z-index: 1; background: var(--c-table-head); }
#chenfan-core-calculator .levels-table thead th { height: 44px; padding: 8px; border-bottom: 1px solid var(--c-hair-cream); text-align: start; vertical-align: middle; font-size: 12px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; hyphens: auto; }
#chenfan-core-calculator .levels-table thead th:nth-child(2), #chenfan-core-calculator .levels-table thead th:nth-child(3) { text-align: right; padding-right: 12px; }
#chenfan-core-calculator .levels-table thead th:first-child { width: calc(var(--panel-pad) + 70px); padding-inline-start: var(--panel-pad); }
#chenfan-core-calculator .levels-table thead th:last-child { width: 50px; }
#chenfan-core-calculator .levels-table thead th > small { margin-inline-start: 3px; color: var(--c-sage); font-family: var(--font-mono); font-size: 10px; font-weight: 400; white-space: nowrap; }
#chenfan-core-calculator .levels-table tbody td, #chenfan-core-calculator .levels-table tbody th { padding: 5px 8px; border-bottom: 1px solid var(--c-hair-cream-2); vertical-align: top; }
#chenfan-core-calculator .levels-table tbody tr:hover, #chenfan-core-calculator .levels-table tbody tr:focus-within { background: var(--c-row-hover); }
#chenfan-core-calculator .levels-table tbody tr:focus-within .level-number { color: var(--c-bronze-ink); }
#chenfan-core-calculator .levels-table .level-number { padding-top: 16px; padding-inline-start: var(--panel-pad); color: var(--c-sage); font-family: var(--font-mono); font-size: 11.5px; font-weight: 500; text-align: start; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .levels-table input { height: 38px; padding: 0 10px; font-size: 14.5px; text-align: right; }
#chenfan-core-calculator .levels-table td.remove-cell { padding-inline: 0 10px; }
#chenfan-core-calculator .remove-level { display: block; width: 34px; height: 38px; padding: 0; border: 0; background: transparent; color: #8d918c; font-size: 20px; font-weight: 300; line-height: 1; }
#chenfan-core-calculator .remove-level:hover:not(:disabled) { color: var(--c-error); background: #efe3dd; }
#chenfan-core-calculator .remove-level:disabled { opacity: .3; }
#chenfan-core-calculator .levels-table tr.has-error { background: #f7e9e3; }
#chenfan-core-calculator .levels-table tfoot th, #chenfan-core-calculator .levels-table tfoot td { padding: 10px 8px; border-top: 1px solid var(--c-hair-cream); background: var(--c-table-head); color: var(--c-sage); font-size: 11.5px; font-weight: 700; text-align: right; }
#chenfan-core-calculator .levels-table tfoot th { padding-inline-start: var(--panel-pad); }
#chenfan-core-calculator .stack-sum { padding-right: 20px !important; color: var(--c-ink) !important; font-family: var(--font-mono); font-size: 12.5px !important; font-weight: 600 !important; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .levels-footer { padding: 16px var(--panel-pad) 18px; border-top: 1px solid var(--c-hair-cream); }
#chenfan-core-calculator .levels-footer > p { margin-top: 10px; color: var(--c-sage); font-family: var(--font-label); font-size: 10.5px; text-align: center; }
#chenfan-core-calculator .levels-footer > .paste-status { margin-top: 4px; color: var(--c-bronze-ink); }
#chenfan-core-calculator .levels-footer > .paste-status:empty { display: none; }

/* ---------- Buttons (labels may wrap in long languages) ---------- */
#chenfan-core-calculator .button { display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 0; line-height: 1.3; }
#chenfan-core-calculator .button-outline { min-height: 42px; padding: 8px 16px; border: 1px solid var(--c-ink); background: transparent; color: var(--c-ink); font-size: 11.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; white-space: nowrap; }
#chenfan-core-calculator .button-outline:hover:not(:disabled) { background: var(--c-ink); color: var(--c-cream-text); }
#chenfan-core-calculator .button-outline:disabled { border-color: var(--c-hair-cream); color: #a3a09a; }
#chenfan-core-calculator .button-dark { min-height: 48px; padding: 10px 18px; border: 1px solid var(--c-ink); background: var(--c-ink); color: var(--c-cream-text); font-size: 12px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .button-dark:hover:not(:disabled) { background: #262b2c; }
#chenfan-core-calculator .button-dark:disabled { opacity: .5; }
#chenfan-core-calculator .button-add { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid #b9b4aa; background: transparent; color: var(--c-ink); }
#chenfan-core-calculator .button-add > span { font-family: var(--font-mono); font-size: 16px; font-weight: 400; line-height: 1; }
#chenfan-core-calculator .button-add b { font-size: 11px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .button-add:hover:not(:disabled) { border-color: var(--c-ink); background: #ebe6dd; }
#chenfan-core-calculator .button-add:disabled { color: #a3a09a; border-color: var(--c-hair-cream-2); }

/* ---------- 03 Results (dark engineering panel) ---------- */
#chenfan-core-calculator .results-column { min-width: 0; }
#chenfan-core-calculator .results-panel { border-color: var(--c-dark); background: var(--c-dark); color: var(--c-cream-text); }
#chenfan-core-calculator .results-panel .panel-heading { border-bottom-color: var(--c-hair-dark); }
#chenfan-core-calculator .results-panel .section-number { color: var(--c-bronze); }
#chenfan-core-calculator .result-context { padding: 10px var(--panel-pad); border-bottom: 1px solid var(--c-hair-dark); color: var(--c-bronze); font-family: var(--font-mono); font-size: 11.5px; line-height: 1.5; }
#chenfan-core-calculator .result-status { display: flex; align-items: flex-start; gap: 10px; padding: 14px var(--panel-pad); border-bottom: 1px solid var(--c-hair-dark); background: var(--c-dark-2); }
#chenfan-core-calculator .result-status > span { flex: none; width: 6px; height: 6px; margin-top: 7px; background: #5b605e; }
#chenfan-core-calculator .result-status p { color: var(--c-value-on-dark); font-size: 13px; line-height: 1.5; }
#chenfan-core-calculator .result-status[data-state="success"] > span { background: var(--c-success); }
#chenfan-core-calculator .result-status[data-state="success"] p { color: var(--c-cream-text); }
#chenfan-core-calculator .result-status[data-state="stale"] > span { background: var(--c-bronze); }
#chenfan-core-calculator .result-status[data-state="stale"] p { color: #dcc7a4; }
#chenfan-core-calculator .result-status[data-state="error"] > span { background: var(--c-error-on-dark); }
#chenfan-core-calculator .result-status[data-state="error"] p { color: var(--c-error-on-dark); }
#chenfan-core-calculator .result-status[data-state="loading"] > span { background: var(--c-bronze); animation: cfcc-pulse 1.2s ease-in-out infinite; }
@keyframes cfcc-pulse { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }

#chenfan-core-calculator .result-metrics { padding: 0 var(--panel-pad); }
#chenfan-core-calculator .metric { min-width: 0; display: flex; flex-direction: column; padding: 18px 0 16px; border-bottom: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .metric-title { color: var(--c-value-on-dark); font-size: 13px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; hyphens: auto; }
#chenfan-core-calculator .metric-reading { display: flex; align-items: flex-start; justify-content: flex-start; gap: 6px; min-width: 0; margin-top: auto; padding-top: 10px; }
#chenfan-core-calculator[dir="rtl"] .metric-reading { justify-content: flex-end; }
#chenfan-core-calculator .metric-reading output { min-width: 0; color: var(--c-cream-text); font-size: clamp(30px, 2.4vw, 38px); font-weight: 700; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
#chenfan-core-calculator .metric-unit { margin-top: .15em; color: var(--c-bronze); font-size: 14px; font-weight: 600; white-space: nowrap; }
#chenfan-core-calculator .metric-emphasis { border-bottom: 0; }
#chenfan-core-calculator .metric-emphasis .metric-reading output { font-size: clamp(36px, 2.9vw, 46px); }
#chenfan-core-calculator .results-panel:has(#result-status:not([data-state="success"])) .metric-reading output { color: #5b605e; }
#chenfan-core-calculator .results-panel:has(#result-status:not([data-state="success"])) .metric-unit { color: #6f6655; }

#chenfan-core-calculator .result-actions { padding: 18px var(--panel-pad) 20px; border-top: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .button-primary { width: 100%; min-height: 52px; justify-content: space-between; padding: 12px 18px; border: 1px solid var(--c-cream-btn); background: var(--c-cream-btn); color: var(--c-ink); font-size: 12.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; text-align: start; }
#chenfan-core-calculator .button-arrow { flex: none; font-size: 18px; font-weight: 400; letter-spacing: 0; line-height: 1; }
#chenfan-core-calculator .button-primary:hover:not(:disabled) { border-color: #fff; background: #fff; }
#chenfan-core-calculator .button-primary:disabled { border-color: #2c3132; background: #2c3132; color: #7d827f; }
#chenfan-core-calculator .button-reset { width: 100%; min-height: 42px; margin-top: 10px; padding: 8px 12px; border: 1px solid var(--c-line-dark); background: transparent; color: var(--c-value-on-dark); font-size: 11.5px; font-weight: 700; letter-spacing: calc(var(--track-label) * .9); text-transform: uppercase; }
#chenfan-core-calculator .button-reset:hover:not(:disabled) { border-color: #6b706e; color: #fff; }
#chenfan-core-calculator .button-reset:disabled { opacity: .45; }
#chenfan-core-calculator #result-hint { margin-top: 12px; color: var(--c-muted-on-dark); font-size: 12px; line-height: 1.6; }
#chenfan-core-calculator .result-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px var(--panel-pad) 18px; border-top: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .link-button { display: inline-flex; align-items: center; gap: 8px; padding: 0 0 3px; border: 0; border-bottom: 1px solid var(--c-line-dark); background: none; color: var(--c-value-on-dark); font-size: 11.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; text-align: start; line-height: 1.4; }
#chenfan-core-calculator .link-button:hover:not(:disabled) { color: #fff; border-color: var(--c-bronze); }
#chenfan-core-calculator .link-button-strong { color: var(--c-cream-text); border-color: var(--c-bronze); }
#chenfan-core-calculator .link-button .button-arrow { font-size: 14px; }
#chenfan-core-calculator .link-button:disabled { color: #5b605e; border-color: var(--c-hair-dark); }
#chenfan-core-calculator .copy-status { color: var(--c-success); font-size: 12px; line-height: 1.5; }
#chenfan-core-calculator .copy-status:empty { display: none; }
#chenfan-core-calculator .copy-status.is-error { color: var(--c-error-on-dark); }
#chenfan-core-calculator .result-disclaimer { padding: 14px var(--panel-pad) 18px; border-top: 1px solid var(--c-hair-dark); color: var(--c-muted-on-dark); font-size: 11.5px; line-height: 1.55; }

/* ---------- 4. Manufacturing CTA ---------- */
#chenfan-core-calculator .mfg-cta { background: var(--c-dark); color: var(--c-cream-text); padding: 64px 0; }
#chenfan-core-calculator .cta-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 112px); align-items: start; }
#chenfan-core-calculator .cta-copy h2 { margin-top: 14px; font-size: clamp(26px, 1.6vw + 16px, 40px); font-weight: 700; line-height: 1.1; letter-spacing: var(--track-title); overflow-wrap: anywhere; hyphens: auto; }
#chenfan-core-calculator .cta-text { max-width: 36em; margin-top: 16px; color: var(--c-text-on-dark); font-size: 15px; line-height: 1.6; }
#chenfan-core-calculator .cta-note { max-width: 36em; margin-top: 10px; color: var(--c-muted-on-dark); font-size: 13.5px; line-height: 1.6; }
#chenfan-core-calculator .cta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
#chenfan-core-calculator .cta-actions .button { min-height: 48px; }
#chenfan-core-calculator .button-cream { padding: 10px 18px; border: 1px solid var(--c-cream-btn); background: var(--c-cream-btn); color: var(--c-ink); font-size: 12px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .button-cream:hover:not(:disabled) { background: #fff; border-color: #fff; }
#chenfan-core-calculator .button-outline-dark { padding: 10px 18px; border: 1px solid var(--c-line-dark); background: transparent; color: var(--c-cream-text); font-size: 12px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .button-outline-dark:hover:not(:disabled) { border-color: #6b706e; }
#chenfan-core-calculator .button-cream:disabled, #chenfan-core-calculator .button-outline-dark:disabled { opacity: .45; }
#chenfan-core-calculator .mfg-cta .copy-status { margin-top: 12px; }
#chenfan-core-calculator .cta-specs { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--c-hair-dark); }
#chenfan-core-calculator .cta-specs li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--c-hair-dark); color: var(--c-value-on-dark); font-size: 14px; line-height: 1.45; }
#chenfan-core-calculator .cta-specs li > span { display: flex; align-items: baseline; gap: 12px; }
#chenfan-core-calculator .cta-specs li > span::before { content: ""; flex: none; width: 5px; height: 5px; margin-bottom: 2px; background: var(--c-bronze); }
#chenfan-core-calculator .cta-specs b { flex: none; color: var(--c-cream-text); font-family: var(--font-mono); font-size: 15px; font-weight: 600; }

/* ---------- 5. Manufacturing capability (compact) ---------- */
#chenfan-core-calculator .capability { padding: 56px 0 64px; }
#chenfan-core-calculator .cap-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 48px; align-items: end; }
#chenfan-core-calculator .cap-head .eyebrow { grid-column: 1 / -1; }
#chenfan-core-calculator .cap-head h2 { font-size: clamp(24px, 1.2vw + 16px, 34px); font-weight: 700; line-height: 1.12; letter-spacing: var(--track-title); }
#chenfan-core-calculator .cap-text { color: var(--c-sage); font-size: 14.5px; line-height: 1.6; }
#chenfan-core-calculator .cap-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--c-hair-cream); border-inline-start: 1px solid var(--c-hair-cream); }
#chenfan-core-calculator .cap-steps li { display: flex; align-items: baseline; gap: 12px; padding: 20px 18px; border-inline-end: 1px solid var(--c-hair-cream); border-bottom: 1px solid var(--c-hair-cream); font-size: 13px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .cap-num { flex: none; font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--c-bronze-ink); }

/* ---------- Manufacturing review dialog ---------- */
#chenfan-core-calculator .review-dialog { width: min(920px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 48px); margin: auto; padding: 0; border: 1px solid var(--c-line-dark); background: var(--c-paper); color: var(--c-ink); overflow: hidden; }
#chenfan-core-calculator .review-dialog[open] { display: flex; flex-direction: column; }
#chenfan-core-calculator .review-dialog::backdrop { background: rgb(10 12 13 / 64%); }
#chenfan-core-calculator .review-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 24px; background: var(--c-dark); color: var(--c-cream-text); }
#chenfan-core-calculator .review-head h2 { margin-top: 8px; font-size: 22px; font-weight: 700; line-height: 1.2; }
#chenfan-core-calculator .dialog-close { display: grid; place-items: center; flex: none; width: 40px; height: 40px; padding: 0; border: 1px solid var(--c-line-dark); background: transparent; color: var(--c-cream-text); font-size: 22px; line-height: 1; }
#chenfan-core-calculator .dialog-close:hover { border-color: #6b706e; }
#chenfan-core-calculator .review-body { flex: 1 1 auto; overflow-y: auto; padding: 20px 24px 8px; overscroll-behavior: contain; }
#chenfan-core-calculator .review-intro { color: var(--c-ink-2); font-size: 13.5px; line-height: 1.6; }
#chenfan-core-calculator .review-generated { margin-top: 4px; color: var(--c-sage); font-family: var(--font-mono); font-size: 11px; }
#chenfan-core-calculator .review-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-top: 18px; }
#chenfan-core-calculator .review-block { min-width: 0; margin-bottom: 18px; }
#chenfan-core-calculator .review-block h3 { margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--c-hair-cream); color: var(--c-sage); font-size: 10.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .review-block dl { margin: 0; }
#chenfan-core-calculator .review-block dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid var(--c-hair-cream-2); font-size: 13px; }
#chenfan-core-calculator .review-block dt { color: var(--c-ink-2); }
#chenfan-core-calculator .review-block dd { margin: 0; font-family: var(--font-mono); font-size: 12.5px; font-weight: 600; text-align: end; white-space: nowrap; }
#chenfan-core-calculator .review-block dd.is-missing { color: #a3a09a; font-family: var(--font-sans); font-weight: 400; }
#chenfan-core-calculator .review-results dd { color: var(--c-ink); font-size: 14px; }
#chenfan-core-calculator .review-note { padding: 8px 10px; background: var(--c-notice-soft); color: #6b5230; font-size: 12.5px; line-height: 1.5; }
#chenfan-core-calculator .review-steps { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 12px; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .review-steps th, #chenfan-core-calculator .review-steps td { padding: 4px 6px; border-bottom: 1px solid var(--c-hair-cream-2); text-align: end; }
#chenfan-core-calculator .review-steps th:first-child, #chenfan-core-calculator .review-steps td:first-child { text-align: start; color: var(--c-sage); }
#chenfan-core-calculator .review-steps thead th { color: var(--c-sage); font-family: var(--font-sans); font-size: 11px; font-weight: 700; }
#chenfan-core-calculator .review-steps tfoot td { font-weight: 700; }
#chenfan-core-calculator .review-steps-scroll { max-height: 220px; overflow-y: auto; }
#chenfan-core-calculator .review-form { margin-top: 6px; }
#chenfan-core-calculator .review-contact { margin: 0; padding: 0; border: 0; }
#chenfan-core-calculator .review-contact legend, #chenfan-core-calculator .upload-title { margin-bottom: 10px; padding: 0 0 6px; width: 100%; border-bottom: 1px solid var(--c-hair-cream); color: var(--c-sage); font-size: 10.5px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; }
#chenfan-core-calculator .review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
#chenfan-core-calculator .rfield { min-width: 0; }
#chenfan-core-calculator .rfield-wide { grid-column: 1 / -1; }
#chenfan-core-calculator .rfield label { display: block; margin-bottom: 6px; font-size: 12.5px; font-weight: 600; }
#chenfan-core-calculator .rfield .req { color: var(--c-error); }
#chenfan-core-calculator .rfield textarea { height: auto; min-height: 76px; padding: 10px 12px; resize: vertical; line-height: 1.5; }
#chenfan-core-calculator .req-legend { margin-top: 8px; color: var(--c-sage); font-size: 11.5px; }
#chenfan-core-calculator .review-upload { position: relative; margin-top: 18px; }
#chenfan-core-calculator .upload-hint { margin-bottom: 10px; color: var(--c-sage); font-size: 12px; }
#chenfan-core-calculator .upload-button { display: inline-flex; width: auto; cursor: pointer; }
#chenfan-core-calculator .file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
#chenfan-core-calculator .review-upload:focus-within .upload-button { outline: 2px solid var(--c-ink); outline-offset: 2px; }
#chenfan-core-calculator .file-list { margin: 10px 0 0; padding: 0; list-style: none; }
#chenfan-core-calculator .file-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--c-hair-cream-2); font-size: 13px; }
#chenfan-core-calculator .file-list .file-name { min-width: 0; overflow-wrap: anywhere; }
#chenfan-core-calculator .file-list .file-size { flex: none; margin-inline-start: auto; color: var(--c-sage); font-family: var(--font-mono); font-size: 11.5px; }
#chenfan-core-calculator .file-list .file-remove { flex: none; width: 30px; height: 30px; padding: 0; border: 0; background: none; color: #8d918c; font-size: 18px; }
#chenfan-core-calculator .file-list .file-remove:hover { color: var(--c-error); }
#chenfan-core-calculator .file-list .file-empty { color: #a3a09a; }
#chenfan-core-calculator .review-status { margin: 14px 0 12px; padding: 10px 12px; border-inline-start: 3px solid var(--c-bronze); background: var(--c-notice-soft); color: #5e4a2c; font-size: 13px; line-height: 1.55; }
#chenfan-core-calculator .review-status.is-success { border-color: var(--c-success); background: #e9f0ea; color: #2f5a3b; }
#chenfan-core-calculator .review-status.is-error { border-color: var(--c-error); background: var(--c-error-soft); color: #7d2f28; }
#chenfan-core-calculator .review-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--c-hair-cream); background: var(--c-paper); }
#chenfan-core-calculator .review-actions .button { min-height: 46px; }

/* ---------- Script-specific typography ---------- */
#chenfan-core-calculator:lang(th) h1, #chenfan-core-calculator:lang(ar) h1 { line-height: 1.3; }
#chenfan-core-calculator:lang(vi) h1 { line-height: 1.15; }
#chenfan-core-calculator:lang(th) { line-height: 1.6; }
#chenfan-core-calculator:lang(th) .eyebrow, #chenfan-core-calculator:lang(th) .form-section-heading, #chenfan-core-calculator:lang(th) .button-add b, #chenfan-core-calculator:lang(th) .stepper-label, #chenfan-core-calculator:lang(ar) .eyebrow, #chenfan-core-calculator:lang(ar) .form-section-heading, #chenfan-core-calculator:lang(ar) .button-add b, #chenfan-core-calculator:lang(ar) .stepper-label, #chenfan-core-calculator:lang(zh) .eyebrow, #chenfan-core-calculator:lang(zh) .form-section-heading, #chenfan-core-calculator:lang(zh) .button-add b, #chenfan-core-calculator:lang(zh) .stepper-label { font-size: 12px; }
#chenfan-core-calculator:lang(th) .button-primary, #chenfan-core-calculator:lang(ar) .button-primary, #chenfan-core-calculator:lang(zh) .button-primary, #chenfan-core-calculator:lang(th) .button-reset, #chenfan-core-calculator:lang(ar) .button-reset, #chenfan-core-calculator:lang(zh) .button-reset, #chenfan-core-calculator:lang(th) .link-button, #chenfan-core-calculator:lang(ar) .link-button, #chenfan-core-calculator:lang(zh) .link-button, #chenfan-core-calculator:lang(th) .button-outline, #chenfan-core-calculator:lang(ar) .button-outline, #chenfan-core-calculator:lang(zh) .button-outline, #chenfan-core-calculator:lang(th) .button-cream, #chenfan-core-calculator:lang(ar) .button-cream, #chenfan-core-calculator:lang(zh) .button-cream, #chenfan-core-calculator:lang(th) .button-outline-dark, #chenfan-core-calculator:lang(ar) .button-outline-dark, #chenfan-core-calculator:lang(zh) .button-outline-dark, #chenfan-core-calculator:lang(th) .button-dark, #chenfan-core-calculator:lang(ar) .button-dark, #chenfan-core-calculator:lang(zh) .button-dark { font-size: 13.5px; }
#chenfan-core-calculator:lang(th) .cap-steps li, #chenfan-core-calculator:lang(ar) .cap-steps li, #chenfan-core-calculator:lang(zh) .cap-steps li { font-size: 14px; }
#chenfan-core-calculator:lang(ar) .field label, #chenfan-core-calculator:lang(ar) .field .field-label, #chenfan-core-calculator:lang(ar) .metric-title, #chenfan-core-calculator:lang(ar) .result-status p { font-size: 14px; }
#chenfan-core-calculator:lang(ar) .breadcrumb ol, #chenfan-core-calculator:lang(th) .breadcrumb ol, #chenfan-core-calculator:lang(zh) .breadcrumb ol { font-size: 12px; }

/* ---------- Footer (replica) ---------- */










/* ---------- Responsive ---------- */
@media (min-width: 1600px) {
  #chenfan-core-calculator .calculator-grid { gap: 28px; }
  #chenfan-core-calculator .levels-scroll { max-height: 620px; }
}

/* Sticky results only where the whole panel fits in the viewport */
@media (min-width: 1200px) and (min-height: 900px) {
  #chenfan-core-calculator .results-column { position: sticky; top: calc(var(--header-h) + 20px); }
}







/* Tablet / small laptop: 01 | 02 side by side, 03 full width */
@media (max-width: 1199px) {
  #chenfan-core-calculator { --panel-pad: 20px; }
  #chenfan-core-calculator .calculator-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
  #chenfan-core-calculator .results-column { grid-column: 1 / -1; }
  #chenfan-core-calculator .results-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #chenfan-core-calculator .results-panel .panel-heading { grid-column: 1; grid-row: 1; }
  #chenfan-core-calculator .result-status { grid-column: 2; grid-row: 1; align-items: center; border-inline-start: 1px solid var(--c-hair-dark); }
  #chenfan-core-calculator .result-status > span { margin-top: 0; }
  #chenfan-core-calculator .result-context { grid-column: 1 / -1; grid-row: 2; }
  #chenfan-core-calculator .result-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #chenfan-core-calculator .metric { padding: 20px 18px; border-bottom: 0; border-inline-end: 1px solid var(--c-hair-dark); }
  #chenfan-core-calculator .metric:first-child { padding-inline-start: 0; }
  #chenfan-core-calculator .metric:last-child { padding-inline-end: 0; border-inline-end: 0; }
  #chenfan-core-calculator .metric-reading output, #chenfan-core-calculator .metric-emphasis .metric-reading output { font-size: clamp(28px, 3.2vw, 38px); }
  #chenfan-core-calculator .result-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px 14px; align-items: stretch; }
  #chenfan-core-calculator .button-reset { min-height: 52px; margin-top: 0; }
  #chenfan-core-calculator #result-hint { grid-column: 1 / -1; margin-top: 4px; }
  #chenfan-core-calculator .result-links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
  #chenfan-core-calculator .result-disclaimer { grid-column: 1 / -1; }
  #chenfan-core-calculator .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr); }
}

@media (max-width: 959px) {
  #chenfan-core-calculator .result-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #chenfan-core-calculator .metric, #chenfan-core-calculator .metric:first-child, #chenfan-core-calculator .metric:last-child { padding: 18px 0; border-inline-end: 0; border-bottom: 1px solid var(--c-hair-dark); }
  #chenfan-core-calculator .metric:nth-child(odd) { padding-inline-end: 18px; border-inline-end: 1px solid var(--c-hair-dark); }
  #chenfan-core-calculator .metric:nth-child(even) { padding-inline-start: 18px; }
  #chenfan-core-calculator .metric:nth-last-child(-n/**/+2) { border-bottom: 0; }
  #chenfan-core-calculator .hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  #chenfan-core-calculator .cta-grid { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .cap-head { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .cap-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Phone and small tablet portrait: single column */
@media (max-width: 767px) {
  #chenfan-core-calculator { --header-h: 60px; --panel-pad: 18px; }
  
  
  
  
  
  
  
  #chenfan-core-calculator .tool-hero { padding: 20px 0 36px; }
  #chenfan-core-calculator .hero-topline { padding-bottom: 24px; align-items: flex-start; }
  #chenfan-core-calculator .breadcrumb ol { font-size: 10.5px; }
  
  #chenfan-core-calculator .hero-lead { font-size: 14.5px; margin-top: 16px; }
  #chenfan-core-calculator .how-list { display: none; }
  #chenfan-core-calculator .calculator-section { padding: 22px 0 48px; }
  #chenfan-core-calculator .workspace-toolbar { display: block; margin-bottom: 18px; padding-bottom: 16px; }
  #chenfan-core-calculator .toolbar-start { flex-wrap: wrap; gap: 10px 14px; }
  #chenfan-core-calculator .load-status { margin-top: 10px; text-align: start; }
  #chenfan-core-calculator .calculator-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  #chenfan-core-calculator .panel-heading { flex-wrap: wrap; min-height: 0; padding-top: 16px; padding-bottom: 14px; }
  #chenfan-core-calculator .panel-heading h3 { font-size: 20px; }
  #chenfan-core-calculator .input-grid { column-gap: 12px; }
  /* 16px prevents iOS Safari focus zoom */
  #chenfan-core-calculator .field input, #chenfan-core-calculator .field select, #chenfan-core-calculator .levels-table input, #chenfan-core-calculator .rfield input, #chenfan-core-calculator .rfield textarea { font-size: 16px; }
  #chenfan-core-calculator .section-svg { height: 120px; }
  #chenfan-core-calculator .levels-scroll { max-height: none; overflow: visible; }
  #chenfan-core-calculator .levels-table thead { position: static; }
  #chenfan-core-calculator .levels-table thead th { font-size: 11.5px; }
  #chenfan-core-calculator .levels-table thead th:first-child { width: calc(var(--panel-pad) + 58px); }
  #chenfan-core-calculator .levels-table thead th:last-child { width: 46px; }
  #chenfan-core-calculator .levels-table input { height: 42px; }
  #chenfan-core-calculator .levels-table .level-number { padding-top: 19px; }
  #chenfan-core-calculator .remove-level { width: 36px; height: 42px; }
  #chenfan-core-calculator .results-panel { display: block; }
  #chenfan-core-calculator .result-status { border-inline-start: 0; align-items: flex-start; }
  #chenfan-core-calculator .result-status > span { margin-top: 7px; }
  #chenfan-core-calculator .result-actions { display: block; }
  #chenfan-core-calculator .button-reset { min-height: 44px; margin-top: 10px; }
  #chenfan-core-calculator .result-links { flex-direction: column; align-items: flex-start; }
  #chenfan-core-calculator .mfg-cta { padding: 44px 0; }
  #chenfan-core-calculator .cta-actions .button { width: 100%; justify-content: space-between; }
  #chenfan-core-calculator .capability { padding: 40px 0 48px; }
  #chenfan-core-calculator .review-dialog { width: 100%; height: 100%; max-height: 100dvh; max-width: 100%; border: 0; }
  #chenfan-core-calculator .review-head { padding: 16px 18px; }
  #chenfan-core-calculator .review-head h2 { font-size: 19px; }
  #chenfan-core-calculator .review-body { padding: 16px 18px 8px; }
  #chenfan-core-calculator .review-summary, #chenfan-core-calculator .review-grid { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .review-actions { padding: 12px 18px; }
  #chenfan-core-calculator .review-actions .button { flex: 1 1 100%; }
  
}

@media (max-width: 479px) {
  #chenfan-core-calculator .result-metrics { display: block; }
  #chenfan-core-calculator .metric, #chenfan-core-calculator .metric:nth-child(odd), #chenfan-core-calculator .metric:nth-child(even) { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 0; border-inline-end: 0; border-bottom: 1px solid var(--c-hair-dark); }
  #chenfan-core-calculator .metric:last-child { border-bottom: 0; }
  #chenfan-core-calculator .metric-title { flex: 1 1 auto; min-width: 0; }
  #chenfan-core-calculator .metric-reading { flex: none; margin-top: 0; padding-top: 0; }
  #chenfan-core-calculator .metric-reading output, #chenfan-core-calculator .metric-emphasis .metric-reading output { font-size: 27px; }
  #chenfan-core-calculator .metric-unit { font-size: 12px; }
  #chenfan-core-calculator .hero-topline { flex-direction: column; gap: 12px; }
  #chenfan-core-calculator .stepper-label { display: none; }
  #chenfan-core-calculator .cap-steps { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 359px) {
  #chenfan-core-calculator .input-grid { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .core-grid .field-diameter, #chenfan-core-calculator .core-grid .field-max-width { grid-column: auto; grid-row: span 3; }
  #chenfan-core-calculator .core-grid .field-note { grid-column: auto; grid-row: auto; margin-top: -10px; }
  #chenfan-core-calculator .metric-reading output, #chenfan-core-calculator .metric-emphasis .metric-reading output { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  #chenfan-core-calculator, #chenfan-core-calculator *, #chenfan-core-calculator *::before, #chenfan-core-calculator *::after { transition: none !important; scroll-behavior: auto !important; }
  #chenfan-core-calculator .result-status[data-state="loading"] > span { animation: none; opacity: 1; }
}

/* =====================================================================
   Engineering features: material comparison + calculation report.
   Shared by every supported page locale.
   ===================================================================== */
#chenfan-core-calculator .feature-status { flex-basis: 100%; color: #dcc7a4; }

/* ---------- stacking-factor suggestion (hint under the input) ---------- */
#chenfan-core-calculator .sf-hint { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
#chenfan-core-calculator .sf-hint[hidden], #chenfan-core-calculator .sf-hint [hidden] { display: none; }
#chenfan-core-calculator .sf-hint .text-button { font-size: 11px; }

/* ---------- material comparison dialog ---------- */
#chenfan-core-calculator .compare-dialog { width: min(780px, calc(100% - 32px)); }
#chenfan-core-calculator .cmp-conditions { margin-top: 16px; }
#chenfan-core-calculator .cmp-conditions h3 { padding-bottom: 6px; border-bottom: 1px solid var(--c-hair-cream); color: var(--c-sage); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
#chenfan-core-calculator .cmp-conditions dl { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
#chenfan-core-calculator .cmp-conditions dl > div { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 8px; border: 1px solid var(--c-hair-cream-2); background: var(--c-field); font-size: 12px; line-height: 1.4; }
#chenfan-core-calculator .cmp-conditions dt { color: var(--c-sage); }
#chenfan-core-calculator .cmp-conditions dd { margin: 0; font-family: var(--font-mono); font-weight: 600; white-space: nowrap; }
#chenfan-core-calculator .cmp-picker { display: grid; grid-template-columns: auto minmax(0, 340px); align-items: center; gap: 8px 14px; margin-top: 18px; }
#chenfan-core-calculator .cmp-picker label { font-size: 13.5px; font-weight: 700; }
#chenfan-core-calculator .cmp-picker select {
  width: 100%; min-height: 44px; margin: 0; padding-inline: 12px 36px; border: 1px solid var(--c-hair-cream); border-radius: 0;
  appearance: none; -webkit-appearance: none; background-color: var(--c-field); color: var(--c-ink); font: inherit; font-size: 15px; font-weight: 500;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230c1011' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 13px center; background-size: 10px 6px;
}
#chenfan-core-calculator .cmp-picker select:hover { border-color: #a9a49a; }
#chenfan-core-calculator .cmp-picker select:focus { outline: none; border-color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
#chenfan-core-calculator .cmp-message { margin: 14px 0 0; }
#chenfan-core-calculator .cmp-message p + p { margin-top: 2px; font-family: var(--font-mono); font-size: 12.5px; }
#chenfan-core-calculator .cmp-message .cmp-message-lead { font-weight: 700; }
#chenfan-core-calculator .cmp-table-wrap { margin-top: 14px; overflow-x: auto; }
#chenfan-core-calculator .cmp-table { width: 100%; min-width: 280px; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .cmp-table thead th { padding: 9px 10px; border-bottom: 1px solid var(--c-ink); background: var(--c-table-head); color: var(--c-ink-2); font-size: 12px; font-weight: 700; text-align: end; white-space: nowrap; }
#chenfan-core-calculator .cmp-table thead th:first-child { text-align: start; }
#chenfan-core-calculator .cmp-table tbody th { padding: 9px 10px; border-bottom: 1px solid var(--c-hair-cream-2); color: var(--c-ink-2); font-weight: 500; text-align: start; }
#chenfan-core-calculator .cmp-table td { padding: 9px 10px; border-bottom: 1px solid var(--c-hair-cream-2); font-family: var(--font-mono); font-size: 12.5px; font-weight: 600; text-align: end; white-space: nowrap; }
#chenfan-core-calculator .cmp-table td.is-na { color: #a3a09a; font-family: var(--font-sans); font-weight: 400; }
#chenfan-core-calculator .cmp-table tr.cmp-grade td { color: var(--c-ink); font-size: 13.5px; font-weight: 700; }
#chenfan-core-calculator .cmp-table tr.cmp-key th, #chenfan-core-calculator .cmp-table tr.cmp-key td { color: var(--c-ink); font-weight: 700; }
#chenfan-core-calculator .cmp-table tr.cmp-delta th, #chenfan-core-calculator .cmp-table tr.cmp-delta td { background: var(--c-notice-soft); color: var(--c-ink); font-weight: 700; }
#chenfan-core-calculator .cmp-table tr.cmp-delta.is-up td[data-col="compare"] { color: var(--c-error); }
#chenfan-core-calculator .cmp-table tr.cmp-delta.is-down td[data-col="compare"] { color: #2f6b43; }
#chenfan-core-calculator .cmp-note { margin: 12px 0 18px; color: var(--c-sage); font-size: 12px; line-height: 1.6; }

/* ---------- calculation report: screen preview ---------- */
#chenfan-core-calculator .cf-report { position: fixed; inset: 0; z-index: 100; overflow-y: auto; overscroll-behavior: contain; background: #d6d1c8; color: var(--c-ink); }
#chenfan-core-calculator .cf-report-bar { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 12px var(--pad); border-bottom: 1px solid var(--c-line-dark); background: var(--c-header); color: var(--c-cream-text); }
#chenfan-core-calculator .cf-report-bar-title { font-size: 14px; font-weight: 700; }
#chenfan-core-calculator .cf-report-bar-hint { margin-top: 2px; color: var(--c-muted-on-dark); font-size: 12px; line-height: 1.5; }
#chenfan-core-calculator .cf-report-bar-actions { display: flex; flex: none; gap: 10px; }
#chenfan-core-calculator .cf-report-bar .button { min-height: 42px; font-size: 13.5px; }
#chenfan-core-calculator .cf-report :focus-visible { outline: 2px solid var(--c-bronze); outline-offset: 2px; }

#chenfan-core-calculator .rp-sheet {
  box-sizing: border-box; width: 210mm; max-width: calc(100% - 32px); min-height: 297mm; margin: 24px auto 48px; padding: 14mm 14mm 12mm;
  border: 1px solid #c7c1b6; background: #fff; color: #111; font-family: var(--font-sans); font-size: 9.5pt; line-height: 1.45;
}
#chenfan-core-calculator .rp-sheet h2, #chenfan-core-calculator .rp-sheet h3, #chenfan-core-calculator .rp-sheet p, #chenfan-core-calculator .rp-sheet figure { margin: 0; }
#chenfan-core-calculator .rp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 6mm; padding-bottom: 3.5mm; border-bottom: .6pt solid #111; }
#chenfan-core-calculator .rp-brand { display: flex; align-items: center; gap: 3mm; color: #111; }
#chenfan-core-calculator .rp-mark { display: block; width: 10mm; height: auto; }
#chenfan-core-calculator .rp-word { display: block; width: 36mm; height: auto; }
#chenfan-core-calculator .rp-stamp { display: flex; gap: 2.5mm; color: #555; font-size: 8.5pt; white-space: nowrap; }
#chenfan-core-calculator .rp-stamp b { color: #111; font-family: var(--font-mono); font-weight: 600; }
#chenfan-core-calculator .rp-titleblock { padding: 5mm 0 4mm; border-bottom: 1.4pt solid #111; }
#chenfan-core-calculator .rp-title { font-size: 20pt; font-weight: 700; line-height: 1.2; letter-spacing: .04em; }
#chenfan-core-calculator .rp-source { margin-top: 1.5mm; color: #555; font-size: 9pt; }
#chenfan-core-calculator .rp-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 9mm; }
#chenfan-core-calculator .rp-cols-stack { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
#chenfan-core-calculator .rp-block { margin-top: 5mm; break-inside: avoid; page-break-inside: avoid; }
#chenfan-core-calculator .rp-block h3 { display: flex; align-items: baseline; gap: 2.5mm; padding-bottom: 1.6mm; border-bottom: .6pt solid #111; font-size: 10.5pt; font-weight: 700; }
#chenfan-core-calculator .rp-num { color: #8f7550; font-family: var(--font-mono); font-size: 8pt; font-weight: 600; }
#chenfan-core-calculator .rp-h-meta { margin-inline-start: auto; color: #333; font-family: var(--font-mono); font-size: 8.5pt; font-weight: 600; }
#chenfan-core-calculator .rp-kv { width: 100%; border-collapse: collapse; }
#chenfan-core-calculator .rp-kv th, #chenfan-core-calculator .rp-kv td { padding: 1.05mm 0; border-bottom: .4pt solid #d5d0c7; font-size: 9.3pt; line-height: 1.35; vertical-align: baseline; }
#chenfan-core-calculator .rp-kv th { color: #3a3f3d; font-weight: 400; text-align: start; }
#chenfan-core-calculator .rp-kv td { padding-inline-start: 3mm; font-family: var(--font-mono); font-weight: 600; text-align: end; white-space: nowrap; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .rp-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 5mm; margin-top: 1mm; }
#chenfan-core-calculator .rp-steps.is-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
#chenfan-core-calculator .rp-steps table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 8.8pt; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .rp-steps th { padding: 1.1mm 1.5mm; border-bottom: .6pt solid #111; background: #f1ede6; color: #444; font-family: var(--font-sans); font-size: 8pt; font-weight: 700; text-align: end; white-space: nowrap; }
#chenfan-core-calculator .rp-steps td { padding: .7mm 1.5mm; border-bottom: .4pt solid #e1dcd3; line-height: 1.3; text-align: end; }
#chenfan-core-calculator .rp-steps th:first-child, #chenfan-core-calculator .rp-steps td:first-child { text-align: start; }
#chenfan-core-calculator .rp-steps td:first-child { color: #8a8a84; }
#chenfan-core-calculator .rp-steps tr { break-inside: avoid; page-break-inside: avoid; }
#chenfan-core-calculator .rp-sum { display: flex; justify-content: space-between; gap: 4mm; margin-top: 2mm; padding: 1.4mm 1.5mm; background: #f6f3ee; font-size: 9pt; }
#chenfan-core-calculator .rp-sum b { font-family: var(--font-mono); font-weight: 700; }
#chenfan-core-calculator .rp-figure { margin-top: 2.5mm; padding: 3mm; border: .4pt solid #ddd8cf; background: #f4f1eb; }
#chenfan-core-calculator .rp-figure-art svg { display: block; width: 100%; height: 50mm; }
#chenfan-core-calculator .rp-figure figcaption { display: flex; flex-direction: column; gap: .8mm; margin-top: 2mm; color: #555; font-size: 7.8pt; line-height: 1.45; }
#chenfan-core-calculator .rp-outline { color: #111; font-family: var(--font-mono); font-size: 8.3pt; font-weight: 600; }
#chenfan-core-calculator .rp-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.5mm; border: .6pt solid #111; }
#chenfan-core-calculator .rp-result { min-width: 0; padding: 3.5mm 3.5mm 3mm; }
#chenfan-core-calculator .rp-result + .rp-result { border-inline-start: .4pt solid #cfcbc4; }
#chenfan-core-calculator .rp-result-label { color: #3a3f3d; font-size: 8.8pt; }
#chenfan-core-calculator .rp-result-value { display: flex; align-items: baseline; gap: 1.2mm; margin-top: 1.5mm; white-space: nowrap; }
#chenfan-core-calculator .rp-result-value b { font-size: 17pt; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
#chenfan-core-calculator .rp-result-value span { color: #555; font-family: var(--font-mono); font-size: 8.5pt; font-weight: 600; }
#chenfan-core-calculator .rp-result-sub { margin-top: 1mm; color: #555; font-family: var(--font-mono); font-size: 7.8pt; }
#chenfan-core-calculator .rp-notes p { margin-top: 2.2mm; color: #333; font-size: 8.8pt; line-height: 1.65; }
#chenfan-core-calculator .rp-foot { display: flex; justify-content: space-between; gap: 6mm; margin-top: 6mm; break-inside: avoid; padding-top: 2.5mm; border-top: .4pt solid #cfcbc4; color: #666; font-size: 7.5pt; line-height: 1.5; }


@media screen and (max-width: 860px) {
  #chenfan-core-calculator .rp-sheet { width: auto; max-width: none; min-height: 0; margin: 16px; padding: 22px 18px; font-size: 13px; }
  #chenfan-core-calculator .rp-cols, #chenfan-core-calculator .rp-cols-stack { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .rp-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #chenfan-core-calculator .rp-result:nth-child(3) { border-inline-start: 0; }
  #chenfan-core-calculator .rp-result:nth-child(n/**/+3) { border-top: .4pt solid #cfcbc4; }
  #chenfan-core-calculator .rp-figure-art svg { height: 150px; }
}
@media screen and (max-width: 767px) {
  #chenfan-core-calculator .cf-report-bar { flex-direction: column; align-items: stretch; padding: 10px 16px; }
  #chenfan-core-calculator .cf-report-bar-actions .button { flex: 1 1 0; }
  #chenfan-core-calculator .cmp-picker { grid-template-columns: minmax(0, 1fr); }
}
@media screen and (max-width: 520px) {
  #chenfan-core-calculator .cmp-table th, #chenfan-core-calculator .cmp-table td { padding: 8px 6px; }
  #chenfan-core-calculator .cmp-table tbody th { font-size: 12.5px; white-space: nowrap; }
  #chenfan-core-calculator .cmp-table td { font-size: 11.5px; }
  #chenfan-core-calculator .rp-steps.is-split { grid-template-columns: minmax(0, 1fr); }
  #chenfan-core-calculator .rp-head { flex-direction: column; align-items: flex-start; gap: 3mm; }
  #chenfan-core-calculator .rp-title { font-size: 20px; }
  #chenfan-core-calculator .rp-result-value b { font-size: 20px; }
  #chenfan-core-calculator .rp-foot { flex-direction: column; gap: 4px; }
}

@media screen and (max-width: 380px) {
  #chenfan-core-calculator .cmp-table tbody th { white-space: normal; }
}

/* ---------- calculation report: print / Save as PDF (A4 portrait) ---------- */



/* Scoped host integration: native page header/footer remain theme-owned. */
#chenfan-core-calculator { width: 100%; max-width: none; isolation: isolate; }
#chenfan-core-calculator .button, #chenfan-core-calculator button { text-decoration: none; box-shadow: none; }
#chenfan-core-calculator .review-dialog { text-align: start; }
#chenfan-core-calculator .review-consent { margin: 18px 0 10px; font-size: 12.5px; line-height: 1.5; }
#chenfan-core-calculator .review-consent label { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; }
#chenfan-core-calculator .review-consent input { flex: none; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--c-ink); }
#chenfan-core-calculator .review-honeypot { display: none; }
/* A baseline for browser engines lacking CSS subgrid. */
@supports not (grid-template-rows: subgrid) {
  #chenfan-core-calculator .field { grid-template-rows: auto 44px 1fr; }
}

/* Existing theme uses this ID for an unrelated full-width section. */
#chenfan-core-calculator #material-range { padding: 0; }
#chenfan-core-calculator { --header-h: var(--masthead-h, 73px); padding-block-start: var(--masthead-h, 73px); }
#chenfan-core-calculator #calculator { scroll-margin-block-start: calc(var(--masthead-h, 73px) + 16px); }
#chenfan-core-calculator[hidden], #chenfan-core-calculator[data-i18n-pending] { visibility: hidden; }
#chenfan-core-calculator[hidden] { display: none !important; }
#chenfan-core-calculator.cfc-report-active { position: relative; z-index: 2147483646; }
#chenfan-core-calculator .cf-report { z-index: 2147483646; }
#chenfan-core-calculator[dir="rtl"] .cmp-picker select { background-position: left 13px center; }
#chenfan-core-calculator[dir="rtl"] .cmp-table td, #chenfan-core-calculator[dir="rtl"] .cmp-conditions dd { direction: ltr; unicode-bidi: isolate; text-align: left; }
#chenfan-core-calculator .rp-result-value { direction: ltr; flex-wrap: wrap; }
#chenfan-core-calculator[dir="rtl"] .rp-result-value { justify-content: flex-end; }
#chenfan-core-calculator .rp-steps th { white-space: normal; overflow-wrap: anywhere; }
#chenfan-core-calculator .rp-steps th:first-child { white-space: nowrap; overflow-wrap: normal; }
#chenfan-core-calculator .rp-h-meta { flex: none; }
#chenfan-core-calculator .cf-report-bar-actions { flex-wrap: wrap; }
#chenfan-core-calculator .cf-report-bar .button { white-space: normal; }
#chenfan-core-calculator .rp-stamp { flex-wrap: wrap; white-space: normal; }
#chenfan-core-calculator .rp-sheet { page: cfc-report; }
@media screen {
  html.cf-report-open, html.cf-report-open body { overflow: hidden; }
}
@page cfc-report { size: A4 portrait; margin: 12mm 12mm 13mm; }
@page { size: A4 portrait; margin: 12mm 12mm 13mm; }
@media print {
  html.cf-report-open, html.cf-report-open body { height: auto; overflow: visible; background: #fff !important; }
  html.cf-report-open .cfc-report-ancestor > :not(.cfc-report-ancestor):not(.cf-report) { display: none !important; }
  html.cf-report-open .cfc-report-ancestor { display: block !important; position: static !important; width: auto !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  #chenfan-core-calculator .cf-report { position: static; overflow: visible; background: #fff; }
  #chenfan-core-calculator .cf-report-bar { display: none !important; }
  #chenfan-core-calculator .rp-sheet { width: auto; max-width: none; min-height: 0; margin: 0; padding: 0; border: 0; }
  #chenfan-core-calculator .rp-sheet, #chenfan-core-calculator .rp-sheet * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #chenfan-core-calculator .rp-notes { break-after: avoid; page-break-after: avoid; }
  #chenfan-core-calculator .rp-foot { break-before: avoid; page-break-before: avoid; }
}
