:root{--fk-blue:#283583;--fk-red:#ed211a;--fk-ink:#202b47;--fk-muted:#65718a;--fk-line:#dce1ef;--fk-pale:#f3f5fb}
body{background:var(--fk-pale);color:var(--fk-ink)}.brand-logo{width:176px;height:auto;object-fit:contain;flex-shrink:0}header{border-bottom:3px solid var(--fk-blue);padding-bottom:24px}header>div{flex:1}.eyebrow{color:var(--fk-blue)}.source,.version{color:var(--fk-blue);border-color:var(--fk-line)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--fk-blue);outline-offset:3px}.primary{background:var(--fk-blue);border-color:var(--fk-blue);color:#fff}.primary:hover{background:#1b276a}button:hover{background:#edf0fa}.controls input{accent-color:var(--fk-blue)}footer a{color:var(--fk-blue)}.model-card:hover:not(:disabled){border-color:var(--fk-blue)}.model-status,.card-arrow{color:var(--fk-blue)}button#change-model{color:var(--fk-blue);border-color:var(--fk-line)}iframe{background:var(--fk-pale)}#hover{background:#283583ef}
/* The overlay stays in the original model frame. Its content scrolls; close and layer navigation stay visible. */
.stage:has(.modal:not([hidden])){height:1100px}.modal{inset:10px;border:1px solid var(--fk-line);border-top:4px solid var(--fk-red);box-shadow:0 18px 70px #182c4f36;background:white}.cycle-context{background:var(--fk-pale);color:var(--fk-muted);padding:7px 24px;font-size:10px;flex-shrink:0}.modal-head{padding:14px 22px;flex-shrink:0;gap:20px}.modal-head>div{flex:1;min-width:0}.modal-logo{width:138px;height:auto}.modal-head h2{font-size:22px}.modal-head .eyebrow{margin-bottom:4px}.close{background:var(--fk-pale);border:1px solid var(--fk-line);border-radius:50%;width:40px;height:40px;font-size:28px;color:var(--fk-blue)}.cycle-count{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--fk-blue);color:white;padding:11px 24px;font-size:13px;flex-shrink:0}.cycle-count strong{font-size:15px;letter-spacing:.05em}.cycle-count span{opacity:.88}.steps{padding:12px 22px;border-bottom:1px solid var(--fk-line);border-top:0;flex-shrink:0;gap:7px;background:white}.stage .steps button{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:68px;color:var(--fk-muted);border-color:var(--fk-line);padding:10px}.steps small{font-size:10px;font-weight:650;letter-spacing:.035em}.stage .steps button span{font-size:12px;color:var(--fk-blue);font-weight:700}.steps button[aria-pressed=true]{background:var(--fk-blue);color:#fff;border-color:var(--fk-blue);box-shadow:inset 0 -4px var(--fk-red)}.stage .steps button[aria-pressed=true] span{color:#fff}.modal-scroll{overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable;min-height:0;flex:1}.ral-toolbar{padding:15px 22px;background:#fafbfe}.ral-field label{color:var(--fk-blue);font-weight:600}.ral-field input,.ral-field select{border-color:var(--fk-line);color:var(--fk-ink)}.ral-presets button[aria-pressed=true]{border-color:var(--fk-blue);background:#e9edf9}.modal-content{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;padding:22px;min-height:520px;flex:none;align-items:start}.part-scene{height:520px;min-height:380px;background:white;border:1px solid var(--fk-line);border-radius:12px;overflow:hidden}.part-scene #part-view{inset:0 0 44px}.part-bottom{background:#f8f9fc;border-top:1px solid var(--fk-line);padding:8px 12px;color:var(--fk-muted);height:44px}.part-bottom button{padding:1px 10px;line-height:24px}.modal aside{display:block;overflow:visible;padding:0}.product-heading{display:flex;gap:8px;justify-content:space-between;align-items:stretch;margin-bottom:14px}.layer-number{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;background:var(--fk-blue);color:#fff;border-radius:7px;font-size:12px;font-weight:650;white-space:nowrap}.layer-number b{font-size:22px;line-height:1}.series-badge{display:flex;flex-direction:column;justify-content:center;padding:6px 14px;background:#fff0ef;color:#a7201c;border-radius:7px;font-size:10px;letter-spacing:.08em}.series-badge b{font-size:24px;line-height:1.1;letter-spacing:0;font-variant-numeric:tabular-nums}.modal aside h3{color:var(--fk-blue);font-size:27px;font-weight:750;line-height:1.12;margin:7px 0 10px;letter-spacing:-.025em;overflow-wrap:anywhere}.modal aside .step-label{color:var(--fk-muted);font-size:10px}.modal aside #material-info{font-size:12px;color:var(--fk-muted);line-height:1.55;margin:0 0 8px}.thickness{color:var(--fk-blue);font-size:23px;font-weight:650;margin:9px 0 12px}.product-packaging{display:flex;align-items:center;gap:16px;padding:14px 12px;border:1px solid var(--fk-line);border-radius:10px;background:#fff;margin-bottom:10px}.product-packaging img{width:80px;height:112px;object-fit:contain;flex-shrink:0}.product-packaging>div{min-width:0}.pack-kicker{display:block;font-size:9px;color:var(--fk-muted);font-weight:700;letter-spacing:.045em;margin-bottom:5px}.product-packaging strong{display:block;font-size:12px;color:var(--fk-blue)}.pack-sizes{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.pack-sizes span{background:var(--fk-blue);color:#fff;padding:4px 7px;border-radius:4px;font-size:12px;font-weight:650;white-space:nowrap}.product-packaging small{display:block;color:var(--fk-muted);font-size:9px;line-height:1.4}.technical-jump{display:flex;width:100%;justify-content:space-between;align-items:center;font-size:12px;font-weight:650;border:1px solid var(--fk-blue);color:var(--fk-blue);background:#eef1fb;border-radius:8px;padding:12px;margin-bottom:19px;text-align:left}.technical-jump span{font-size:19px}.section-label{color:var(--fk-blue);font-size:10px;font-weight:650;margin-bottom:8px}.layer{font-size:10px;padding:0 10px}.layer.base{height:36px}.layer.top{height:44px}.layer.clear{height:24px}.layer.steel{height:22px}.layer.current{box-shadow:inset 4px 0 var(--fk-red)}.modal aside p.section-note{font-size:10px;color:var(--fk-muted);margin-top:9px}.modal aside p.total{font-size:13px;color:var(--fk-blue);margin-bottom:0}.modal aside .identity-note{color:var(--fk-muted);font-size:13px;line-height:1.6;margin:15px 0}.prep-number{background:#e9edf7;color:var(--fk-blue)}
/* TDS layout: clear section ribbons, original column headings and row values. */
.technical-details{margin:0 22px 24px;scroll-margin-top:12px;color:var(--fk-ink)}.technical-details .tds-accordion{margin:0;padding:0;border:1px solid var(--fk-line);border-radius:10px;overflow:hidden;scroll-margin-top:14px}.technical-details summary{display:flex;align-items:center;gap:15px;list-style:none;padding:19px 20px;margin:0;background:var(--fk-blue);color:#fff;font-size:14px;min-height:83px;border-left:5px solid var(--fk-red)}.technical-details summary::-webkit-details-marker{display:none}.technical-details summary strong{display:block;font-size:15px;letter-spacing:.055em;line-height:1.4}.technical-details summary small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#e0e5ff}.technical-details summary span{color:inherit;margin:0;font-size:inherit}.tds-icon{font-size:31px!important;line-height:1}.accordion-action{display:flex;align-items:center;gap:14px;margin-left:auto!important;flex-shrink:0}.technical-details .accordion-action span{font-size:11px;border:1px solid #ffffff65;padding:6px 10px;border-radius:5px}.accordion-action b{font-size:24px;transition:transform .18s}.tds-accordion[open] .accordion-action b{transform:rotate(180deg)}.tds-accordion:not([open]) .when-open,.tds-accordion[open] .when-closed{display:none}.tds-body{padding:22px;background:white}.tds-document{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--fk-line);padding-bottom:15px}.tds-document strong{display:block;color:var(--fk-blue);font-size:13px}.tds-document span{display:block;font-size:11px;color:var(--fk-muted);margin-top:5px}.technical-details a{color:var(--fk-blue);font-size:12px;text-underline-offset:3px}.tds-document a{font-weight:650;border:1px solid var(--fk-line);padding:10px 12px;border-radius:6px;text-decoration:none;white-space:nowrap}.tds-intro{font-size:11px;line-height:1.7;color:var(--fk-muted);margin:16px 0 22px}.tds-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.tds-section{min-width:0}.tds-section h4{font-size:12px;text-transform:uppercase;font-style:italic;font-weight:750;line-height:1.5;color:var(--fk-blue);margin:0 0 9px;border-top:2px solid var(--fk-blue);padding:9px 10px;background:#eef0f6}.tds-wide{grid-column:1/-1}.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.technical-details table{border-collapse:collapse;width:100%;font-size:11px;line-height:1.55;text-align:left}.technical-details thead th{color:var(--fk-blue);font-size:10px;font-weight:750;text-transform:uppercase;background:#f1f2f5;border-bottom:1px solid var(--fk-blue);padding:10px}.technical-details tbody th,.technical-details td{vertical-align:top;padding:10px;border-bottom:1px solid #e4e7f0;min-width:85px}.technical-details tbody th{font-weight:650;color:var(--fk-blue);width:31%;background:#f9fafc}.tds-wide tbody th{width:auto}.technical-details td{color:#3f4960;overflow-wrap:anywhere}.technical-details tbody tr:last-child>*{border-bottom:0}.technical-details table th:not(:first-child),.technical-details table td{font-variant-numeric:tabular-nums}.tds-notes{font-size:11px;line-height:1.7;padding-left:22px;margin:10px 0 0;color:#46526a}.tds-notes li{padding:3px 0}.tds-pdf-end{display:inline-block;margin-top:22px}.technical-empty{padding:18px 20px;background:var(--fk-pale);border:1px dashed #bcc5df;border-radius:8px;font-size:12px;color:var(--fk-muted);line-height:1.6}.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}
@media(max-width:1000px){.brand-logo{width:140px}.modal-content{grid-template-columns:minmax(0,1fr) 290px;gap:18px;padding:18px}.part-scene{height:530px}.layer-number{padding:8px;font-size:11px;gap:4px}.series-badge{padding:6px 10px}.modal aside h3{font-size:24px}.stage:has(.modal:not([hidden])){height:1140px}.stage .steps button span{font-size:11px}.steps small{font-size:9px}.technical-details{margin:0 18px 20px}}
@media(max-width:700px){header{flex-wrap:wrap;gap:18px}.brand-logo{width:145px}.source{display:none}header>div{flex-basis:100%}.modal-head{padding:12px;gap:12px}.modal-logo{width:100px}.modal-head h2{font-size:18px}.cycle-context{padding:7px 12px}.cycle-count{padding:10px 12px;font-size:10px}.cycle-count strong{font-size:11px}.steps{padding:9px 10px;gap:4px;overflow-x:auto}.stage .steps button{min-width:100px;min-height:62px;padding:8px;text-align:left;align-items:flex-start;flex:1}.steps small{font-size:8px}.stage .steps button span{font-size:10px}.ral-toolbar{padding:12px}.modal-content{display:flex;flex-direction:column;padding:12px;gap:18px;min-height:0}.part-scene{width:100%;height:330px;min-height:330px;flex:none}.modal aside{display:block;width:100%;padding:0}.modal aside h3{font-size:27px}.product-heading{justify-content:flex-start;gap:12px}.layer-number{font-size:12px;padding:8px 12px}.series-badge{flex-direction:row;gap:10px;align-items:center}.series-badge b{font-size:23px}.product-packaging{max-width:none}.product-packaging img{width:85px;height:105px}.pack-kicker{font-size:10px}.product-packaging strong{font-size:14px}.product-packaging small{font-size:10px}.technical-details{margin:0 12px 16px}.technical-details summary{padding:16px 12px;gap:10px}.technical-details summary strong{font-size:12px}.technical-details summary small{font-size:10px}.tds-icon{display:none}.technical-details .accordion-action span{display:none}.accordion-action{gap:0}.tds-body{padding:12px}.tds-grid{grid-template-columns:1fr;gap:18px}.tds-wide{grid-column:1}.tds-document{align-items:flex-start;flex-direction:column;gap:12px}.tds-wide table{min-width:600px}.tds-wide table:has(th:nth-child(2):last-child){min-width:0}.stage:has(.modal:not([hidden])){height:1150px}.modal{inset:5px}.ral-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.layer.base{height:36px}.layer.top{height:44px}.layer.clear{height:24px}.modal aside p.total{font-size:13px}.section-label{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.technical-details details.tds-accordion[open]{max-height:none;overflow:hidden}
.modal-logo,.brand-logo{background:#fff;border-radius:3px;padding:3px}
/* v1.3 — material inspection on the actual component. */
.surface-toolbar{position:absolute;z-index:2;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.surface-toolbar button{pointer-events:auto;background:#ffffffec;border:1px solid var(--fk-line);padding:8px 10px;font-size:11px;box-shadow:0 2px 9px #2835830a}.surface-toolbar button[aria-pressed=true]{background:var(--fk-blue);border-color:var(--fk-blue);color:white}.part-scene #part-view{inset:48px 0 44px}.coverage{padding:13px;background:#f5f6fb;border:1px solid var(--fk-line);border-radius:8px;margin:12px 0}.coverage h4{margin:0 0 9px;font-size:11px;color:var(--fk-blue)}.coverage-item{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.5;padding:4px 0}.coverage-item span{flex:1}.coverage-item b{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.coverage-chip{width:15px;height:15px;display:block;flex-shrink:0;border:1px solid #24335433;border-radius:3px}.surface-0{background:linear-gradient(100deg,#717b82,#d0d9df,#84949d)}.surface-1{background:#81888a}.surface-2{background:#7d8288}.surface-3{background:#c9ceca}.surface-4{background:var(--part-color,#2d782f)}.surface-5{background:linear-gradient(130deg,var(--part-color,#2d782f) 0%,#ffffff 40%,var(--part-color,#2d782f) 60%,#e7f3f9)}.coverage #coverage-note{margin:8px 0 0;font-size:10px;color:var(--fk-muted);line-height:1.5}.layer.clear-final{height:23px;background:linear-gradient(110deg,#b8ccd5,#f8fcff,#b8ccd5);color:#24334a;border:1px solid #aebfc8}.demo-number{color:var(--fk-blue);background:#eaf0fa;border:1px dashed var(--fk-blue)}.render-reference{font-size:12px;line-height:1.6;padding:13px;border-left:3px solid var(--fk-red);background:#fff4f3;color:#7b322e;margin:0 0 20px}.demo-step{border-style:dashed!important}.steps{overflow-x:auto}.stage .steps button{min-width:115px}.modal-content{grid-template-columns:minmax(0,1fr) 340px}.part-scene{height:620px}.section-label{margin-top:16px}.stage:has(.modal:not([hidden])){height:1190px}@media(max-width:1000px){.modal-content{grid-template-columns:minmax(0,1fr) 300px}.surface-toolbar{gap:4px}.surface-toolbar button{font-size:10px;padding:7px}.part-scene #part-view{top:82px}}@media(max-width:700px){.modal-content{display:flex}.part-scene{height:390px;min-height:390px}.part-scene #part-view{top:54px}.surface-toolbar button{font-size:10px;padding:8px}.stage .steps button{min-width:112px}.cycle-count span{font-size:9px}.coverage-item{font-size:11px}.stage:has(.modal:not([hidden])){height:1180px}}@media(max-width:380px){.part-scene #part-view{top:88px}}

/* v1.31: five visible material phases; the two S104 primers share one preview zone. */
.surface-3{background:var(--part-color,#2d782f)}.surface-4{background:linear-gradient(130deg,var(--part-color,#2d782f) 0%,#ffffff 40%,var(--part-color,#2d782f) 60%,#e7f3f9)}
.primer-reference{margin:0 0 13px;padding:10px;background:#f3f5fb;border:1px solid var(--fk-line);border-radius:7px}.primer-reference label{display:block;font-size:11px;color:var(--fk-blue);font-weight:650;margin-bottom:6px}.primer-reference select{width:100%;font:inherit;font-size:12px;background:white;border:1px solid var(--fk-line);padding:8px;border-radius:5px;color:var(--fk-blue)}

.micro-section{position:absolute;z-index:2;right:10px;bottom:54px;width:min(330px,calc(100% - 20px));padding:12px;background:#fffffff2;border:1px solid var(--fk-line);border-radius:9px;box-shadow:0 5px 20px #14213e18;pointer-events:none}.micro-section strong{font-size:11px;color:var(--fk-blue)}.micro-section svg{width:100%;height:auto;display:block;margin-top:8px}.micro-section text{font:10px system-ui;fill:#283752}.micro-section p{font-size:9px;line-height:1.5;margin:3px 0 0;color:var(--fk-muted)}.part-scene #part-view{top:85px}@media(max-width:700px){.surface-toolbar{gap:4px}.surface-toolbar button{padding:7px 8px}.part-scene #part-view{top:82px}.micro-section{width:245px;padding:9px}.micro-section strong{font-size:10px}}
