:root {
  --terms-blue:#1f63d8;
  --terms-blue-2:#174f9f;
  --terms-ink:#13243b;
  --terms-muted:#66758a;
  --terms-line:rgba(31,65,109,.13);
  --terms-panel:#f6f9fe;
  --terms-warm:#d75b40;
  --terms-green:#2f805a;
}
body.engineering-terms-page{background:linear-gradient(180deg,#f8fafc 0,#fff 42%,#f7faff 100%);color:var(--terms-ink)}
.terms-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.terms-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:58px;align-items:center;padding:76px 0 52px}
.terms-hero h1{max-width:760px;margin:8px 0 18px;font-size:clamp(2.65rem,6vw,5.5rem);line-height:.96;letter-spacing:-.055em}.terms-hero h1 span{color:var(--terms-blue)}
.terms-hero p{max-width:760px;color:#53657b;font-size:1.06rem;line-height:1.7}
.terms-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.terms-primary,.terms-secondary{display:inline-flex;align-items:center;padding:11px 15px;border-radius:11px;font-weight:760;text-decoration:none}.terms-primary{background:var(--terms-blue);color:#fff;box-shadow:0 10px 28px rgba(31,99,216,.22)}.terms-secondary{border:1px solid rgba(31,99,216,.2);color:#1f5dc7;background:#fff}
.terms-hero-graph{min-height:340px;border:1px solid rgba(31,99,216,.14);border-radius:28px;background:radial-gradient(circle at 70% 20%,rgba(54,122,235,.13),transparent 38%),linear-gradient(145deg,#fff,#eff5ff);box-shadow:0 24px 70px rgba(36,65,110,.1);overflow:hidden;padding:16px}.hero-stress-svg{width:100%;height:100%}.hero-grid,.chart-grid{fill:none;stroke:#dce6f3;stroke-width:1}.hero-grid{stroke:#d9e5f3}.hero-curve,.data-curve{fill:none;stroke:var(--terms-blue);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.hero-area{fill:url(#heroArea);stroke:none}.hero-stress-svg text{font-size:12px;fill:#285da8;font-weight:800;letter-spacing:.06em}.axis-label{font-size:11px!important;fill:#74849a!important;font-weight:650!important;letter-spacing:.02em!important}.axis-y{writing-mode:vertical-rl}.curve-dot{fill:var(--terms-blue);stroke:#fff;stroke-width:4;filter:drop-shadow(0 2px 4px rgba(22,73,149,.28))}
.terms-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:58px}.terms-principles article{padding:18px 19px;border:1px solid var(--terms-line);border-radius:16px;background:rgba(255,255,255,.88)}.terms-principles b{font-size:.73rem;letter-spacing:.08em;color:#1e5dc8}.terms-principles p{margin:7px 0 0;color:#65758a;font-size:.88rem;line-height:1.48}
.term-browser{padding:34px 0 80px}.term-browser-heading{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-bottom:20px}.term-browser-heading h2{margin:5px 0 0;font-size:clamp(1.9rem,4vw,3.4rem);letter-spacing:-.035em}.term-browser-heading>p{max-width:520px;color:#68788c;line-height:1.55}
.term-tabs{display:flex;gap:8px;overflow:auto;padding:5px 0 18px;scrollbar-width:thin}.term-tabs button{flex:0 0 auto;border:1px solid rgba(31,99,216,.16);background:#fff;color:#456078;padding:10px 14px;border-radius:999px;font-weight:760;cursor:pointer}.term-tabs button.active{background:var(--terms-blue);color:#fff;border-color:var(--terms-blue);box-shadow:0 8px 20px rgba(31,99,216,.2)}.term-tabs button:focus-visible{outline:3px solid rgba(31,99,216,.25);outline-offset:2px}
.term-panel{display:grid;gap:14px}.term-panel[hidden]{display:none}
.term-card,.lab-card{scroll-margin-top:100px;border:1px solid var(--terms-line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 16px 45px rgba(26,53,91,.055)}.term-card:target,.lab-card:target{outline:2px solid rgba(31,99,216,.42);box-shadow:0 18px 52px rgba(31,99,216,.13)}
.term-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:24px;min-height:280px;padding:24px}.term-copy>span,.lab-heading>div:first-child>span{font-size:.69rem;font-weight:850;letter-spacing:.12em;color:var(--terms-blue)}.term-copy h3{margin:6px 0 10px;font-size:1.55rem}.term-copy>p{margin:0;color:#53657b;line-height:1.62}.term-copy a{display:inline-block;margin-top:12px;color:#1f5fcf;font-weight:750;text-decoration:none}.term-copy code,.lab-formula{display:inline-block;margin-top:13px;padding:8px 10px;border-radius:8px;background:#edf4ff;color:#174f9f;font-weight:700}.term-why{margin-top:16px;padding:12px 14px;border-left:3px solid rgba(31,99,216,.55);background:#f8fbff;border-radius:0 9px 9px 0}.term-why b{font-size:.76rem}.term-why p{margin:4px 0 0;color:#66778c;font-size:.86rem;line-height:1.48}
.term-visual{position:relative;min-height:230px;border:1px solid rgba(31,99,216,.1);border-radius:18px;background:linear-gradient(145deg,#f8fbff,#eef4ff);overflow:hidden}.term-visual svg{width:100%;height:100%;min-height:230px}.simple-svg svg text,.term-visual svg text{font-family:inherit;fill:#526781;font-size:13px;font-weight:650}.svg-note{font-size:12px!important;fill:#718197!important}.mass-dots circle{fill:#4380e4}.mass-dots.light{opacity:.5}.simple-svg rect,.simple-svg path{vector-effect:non-scaling-stroke}
.lab-card{padding:26px;background:linear-gradient(145deg,#fff,#f3f7fd);border-color:rgba(31,99,216,.2)}.lab-heading{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start;margin-bottom:20px}.lab-heading h3{margin:6px 0 9px;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.025em}.lab-heading p{margin:0;color:#596b80;line-height:1.55}.lab-status{padding:13px 14px;border:1px solid rgba(31,99,216,.16);border-radius:14px;background:#fff}.lab-status small{display:block;color:#718198;font-size:.65rem;font-weight:850;letter-spacing:.1em}.lab-status strong{display:block;margin-top:4px;color:#1e5ecb;font-size:1rem}.lab-status span{display:block;margin-top:4px;color:#68788c;font-size:.8rem;line-height:1.4}.lab-figure{border:1px solid rgba(31,99,216,.11);border-radius:18px;background:#fff;overflow:hidden}.lab-figure svg{display:block;width:100%;height:auto}.figure-caption{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px;padding:10px 12px;border-top:1px solid #e5ebf2;background:#fbfcfe;font-size:.72rem}.figure-caption span{color:#7a8798}.figure-caption strong{color:#1f5fc7}.lab-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid rgba(31,99,216,.11);border-radius:14px;background:rgba(255,255,255,.82)}.demo-button{border:1px solid #1f63d8;border-radius:9px;background:#1f63d8;color:#fff;padding:9px 13px;font-weight:780;cursor:pointer}.demo-button.secondary{background:#fff;color:#1f5fc7;border-color:#b8cbed}.demo-button:focus-visible{outline:3px solid rgba(31,99,216,.25);outline-offset:2px}.lab-controls label{display:flex;align-items:center;gap:10px;flex:1;min-width:240px;color:#5e7188;font-size:.75rem;font-weight:720}.lab-controls input[type="range"]{width:100%;accent-color:var(--terms-blue)}.lab-controls output{min-width:42px;color:#1e5dc8;font-size:.75rem;font-weight:800}.control-note{color:#6f7e91;font-size:.76rem}.lab-note{margin-top:14px}.graph-caveat{padding:9px 12px;border-top:1px solid #e7edf5;background:#fbfcff;color:#768599;font-size:.72rem;line-height:1.4}
.tensile-lab-grid,.creep-lab-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:14px}.machine-column{fill:#d7e0ec}.machine-grip{fill:#8295ad}.tensile-machine g path{stroke:#65798f;stroke-width:3}.dogbone-shape{fill:#3777dd;stroke:#205ebf;stroke-width:2}.gauge-mark{stroke:#163f77;stroke-width:2}.load-arrow{fill:none;stroke:#1f63d8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.tensile-machine text{fill:#5f7186;font-size:12px;font-weight:800}.fracture-marks path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.elastic-guide{fill:none;stroke:#87a8d7;stroke-width:2;stroke-dasharray:7 7}.curve-landmarks line{stroke:#d47c69;stroke-width:1.5;stroke-dasharray:5 5}.curve-landmarks circle{fill:#fff;stroke:#d25e48;stroke-width:3}.curve-landmarks text{fill:#b64d39;font-size:12px;font-weight:850}.phase-label{fill:#5f75a0!important;font-size:10px!important;font-weight:850!important;letter-spacing:.07em!important}
.functional-part-demo{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:center;margin-top:14px;padding:16px 18px;border:1px solid rgba(31,99,216,.11);border-radius:18px;background:#fff}.functional-part-copy small{display:block;color:#1e5fc8;font-size:.67rem;font-weight:850;letter-spacing:.09em}.functional-part-copy strong{display:block;margin-top:5px;font-size:1rem}.functional-part-copy p{margin:6px 0 0;color:#69798d;font-size:.8rem;line-height:1.45}.functional-part-demo svg{width:100%;height:auto}.wall-block{fill:#8c9eb4}.wall-hatch{fill:none;stroke:#6f8298;stroke-width:4}.bracket-baseline{fill:none;stroke:#c5d2e2;stroke-width:14;stroke-linecap:round}.bracket-beam{fill:none;stroke:#3777dd;stroke-width:16;stroke-linecap:round}.bracket-residual{fill:none;stroke:#d8644c;stroke-width:4;stroke-dasharray:8 7;stroke-linecap:round}.bracket-load{stroke:#1f63d8;stroke-width:4}.residual-label{fill:#6c7d91;font-size:12px;font-weight:700}
.creep-reference{fill:none;stroke:#cad5e3;stroke-width:13;stroke-dasharray:8 7}.creep-beam{fill:none;stroke:#3978dd;stroke-width:16;stroke-linecap:round}.creep-load-arrow{stroke:#1f63d8;stroke-width:4}.creep-weight{fill:#758aa4}.creep-hanger{stroke:#62768d;stroke-width:3}.creep-lab-card svg text{fill:#5f7187;font-size:12px;font-weight:750}.creep-stage-line{stroke:#ccd8e7;stroke-width:1.5;stroke-dasharray:6 7}
.impact-rig{border:1px solid rgba(31,99,216,.11);border-radius:18px;background:#fff;overflow:hidden}.impact-rig svg{display:block;width:100%;height:auto}.impact-frame{fill:none;stroke:#ccd8e5;stroke-width:12;stroke-linecap:round}.impact-pivot{fill:#6f849e}.pendulum-arm{stroke:#61758e;stroke-width:10;stroke-linecap:round}.pendulum-hammer{fill:#294f7e;stroke:#173c67;stroke-width:2}.anvil{fill:#8497ad}.charpy-bar,.fragment{fill:#3d79db;stroke:#235fbf;stroke-width:2}.charpy-notch{fill:none;stroke:#f5f8fc;stroke-width:5;stroke-linejoin:round}.energy-arc{fill:none;stroke:#b9c9dc;stroke-width:3;stroke-dasharray:8 7}.energy-arc.exit{stroke:#6e9ce2}.impact-rig text{fill:#61758d;font-size:13px;font-weight:750}.energy-label{font-size:12px!important}.impact-energy{fill:#1f5fc7!important;font-size:14px!important;font-weight:850!important}
.layer-rig{border:1px solid rgba(31,99,216,.11);border-radius:18px;background:#fff;overflow:hidden}.layer-rig svg{display:block;width:100%;height:auto}.rig-title{fill:#1f5fc7;font-size:13px;font-weight:900;letter-spacing:.07em;text-anchor:middle}.coupon-outline{fill:#f3f7fd;stroke:#cbd8e8;stroke-width:2}.xy-rig rect:not(.coupon-outline),.z-rig rect:not(.coupon-outline){fill:#3d7ade}.layer-load{stroke:#1f63d8;stroke-width:4}.interface-crack{fill:none;stroke:#d65d47;stroke-width:5;stroke-linecap:round;opacity:0}.layer-rig text:not(.rig-title){fill:#65788f;font-size:12px;font-weight:700}.lab-formula{margin-top:14px}
.terminology-panel{display:grid;align-content:center;gap:10px;padding:18px}.terminology-panel>div{padding:12px;border:1px solid #dce6f2;border-radius:12px;background:#fff}.terminology-panel strong{display:block;color:#1e5fc7}.terminology-panel p{margin:4px 0 0;color:#69798d;font-size:.82rem;line-height:1.42}
.stress-thick,.stress-thin{fill:#3f7dde}.svg-arrow,.return-arrow,.impact-arrow-mini,.raster-load-arrow,.anis-arrow{fill:none;stroke:#1f63d8;stroke-width:4}.measure-bar{stroke:#3f7dde;stroke-width:22;stroke-linecap:round}.measure-bar.muted{stroke:#aebed1}.dimension-line{stroke:#6b7d92;stroke-width:2}.beam-ghost{fill:none;stroke:#b8c6d8;stroke-width:13;stroke-dasharray:6 6}.elastic-beam{fill:none;stroke:#3f7dde;stroke-width:15;stroke-linecap:round}.return-arrow{stroke:#2f805a;stroke-width:3}.plastic-loaded{fill:none;stroke:#3f7dde;stroke-width:15;stroke-linecap:round}.plastic-residual{fill:none;stroke:#d65d47;stroke-width:7;stroke-linecap:round}.dogbone-mini{fill:#3f7dde}.dogbone-mini.muted{fill:#aebdd0}.chart-axis{fill:none;stroke:#8192a8;stroke-width:2}.modulus-stiff,.modulus-soft{fill:none;stroke-width:5;stroke-linecap:round}.modulus-stiff{stroke:#1f63d8}.modulus-soft{stroke:#75a0e2}.same-stress{stroke:#b4c5d8;stroke-width:2;stroke-dasharray:6 5}.intersect{stroke:#fff;stroke-width:3}.intersect.stiff{fill:#1f63d8}.intersect.soft{fill:#75a0e2}.toughness-area{fill:rgba(31,99,216,.18)}.toughness-curve{fill:none;stroke:#2e70da;stroke-width:5;stroke-linecap:round}
.relaxation-rig rect{fill:#8a9db3}.relax-sample{stroke:#3e7ddd;stroke-width:16;stroke-linecap:round}.fixed-dimension{fill:none;stroke:#6f8298;stroke-width:2}.force-arrow{fill:none;stroke:#1f63d8;stroke-width:4}.force-arrow.small{opacity:.45}.fatigue-beam{fill:none;stroke:#3978dd;stroke-width:15;stroke-linecap:round}.fatigue-crack{fill:none;stroke:#d45b45;stroke-width:5;stroke-linecap:round}.fatigue-arrow{fill:none;stroke:#1f63d8;stroke-width:4}.fatigue-rig text{fill:#63768c;font-size:13px;font-weight:700}
.impact-bar{fill:#3e7ddd}.v-notch{fill:none;stroke:#edf4ff;stroke-width:5}.indenter-svg{fill:#71849b}.hardness-block,.vicat-block{fill:#3f7dde}.indent-mark{fill:none;stroke:#d7e3f2;stroke-width:5}.temperature-scale{display:grid;place-items:center;padding:34px}.temp-track{position:relative;width:88%;height:42px;border-radius:999px;background:linear-gradient(90deg,#3b6cb8,#72a0e8 48%,#f3b16c 52%,#db6047);box-shadow:inset 0 0 0 1px rgba(20,52,93,.1)}.temp-track span{position:absolute;top:52px;color:#64768b;font-size:.75rem;font-weight:750}.cold-zone{left:0}.warm-zone{right:0}.tg-marker{position:absolute;left:49%;top:-15px;width:2px;height:72px;background:#fff;box-shadow:0 0 0 1px rgba(25,62,111,.2)}.tg-marker:after{content:"Tg range";position:absolute;left:-29px;top:-25px;width:62px;color:#1f5fc8;font-size:.68rem;font-weight:850;font-style:normal}.hdt-support{fill:#8396ac}.hdt-beam-svg{fill:none;stroke:#3f7dde;stroke-width:16;stroke-linecap:round}.hdt-load-svg{stroke:#6e8299;stroke-width:9;stroke-linecap:round}.heat-lines{fill:none;stroke:#e97d5d;stroke-width:4;stroke-linecap:round}.vicat-needle{fill:#667b93}.penetration{fill:#dbe7f7}.cte-cold-svg,.cte-hot-svg{stroke-linecap:round}.cte-cold-svg{stroke:#91acd2;stroke-width:20}.cte-hot-svg{stroke:#3f7dde;stroke-width:20}.dry-block{fill:#6f93c8}.wet-block{fill:#3f7dde}.water-drop-svg{fill:#65a6ed}.anis-box,.raster-box{fill:#f1f6fd;stroke:#c6d6e8;stroke-width:2}.anis-roads,.raster-lines{fill:none;stroke:#3f7dde;stroke-width:13;stroke-linecap:round}.anis-arrow,.raster-load-arrow{stroke:#1f63d8;stroke-width:4}.infill-shell-svg{fill:#f1f6fd;stroke:#3f7dde;stroke-width:10}.infill-pattern-svg{fill:none;stroke:#6e9ce3;stroke-width:4}.part-flat,.part-upright{fill:#3f7dde}.build-lines{fill:none;stroke:#8ab0eb;stroke-width:3}
.terms-reference{padding:58px 0 88px;border-top:1px solid rgba(30,62,102,.1)}.terms-reference h2{margin:6px 0 22px;font-size:clamp(1.8rem,4vw,3rem)}.reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.reference-grid article{padding:18px;border:1px solid var(--terms-line);border-radius:15px;background:white}.reference-grid b{color:#1e5fcf}.reference-grid p{margin:6px 0 0;color:#66768a;font-size:.87rem;line-height:1.5}.reference-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.reference-links a{padding:7px 9px;border:1px solid rgba(31,99,216,.14);border-radius:999px;background:#eef4ff;color:#205ec7;text-decoration:none;font-size:.73rem;font-weight:700}.terms-source-note{margin-top:14px;padding:13px 15px;border:1px solid #d8e4f1;border-radius:12px;background:#f8fbff;color:#6a7b8f;font-size:.78rem;line-height:1.5}
@media(max-width:1000px){.tensile-lab-grid,.creep-lab-grid{grid-template-columns:1fr}.functional-part-demo{grid-template-columns:1fr}.reference-grid{grid-template-columns:1fr 1fr}.terms-principles{grid-template-columns:1fr}.terms-hero{grid-template-columns:1fr;gap:24px;padding-top:50px}.terms-hero-graph{min-height:280px}.lab-heading{grid-template-columns:1fr}.lab-status{max-width:none}}
@media(max-width:880px){.term-browser-heading{display:block}.term-card{grid-template-columns:1fr}.term-visual{min-height:220px}.terms-wrap{width:min(100% - 24px,1180px)}}
@media(max-width:600px){.terms-hero h1{font-size:2.7rem}.term-card,.lab-card{padding:17px}.term-tabs{margin-right:-12px}.terms-hero-actions>a{width:100%;justify-content:center}.lab-controls{align-items:stretch}.lab-controls label{width:100%;min-width:0;flex-basis:100%;display:grid}.figure-caption{grid-template-columns:auto 1fr}.reference-grid{grid-template-columns:1fr}.functional-part-demo{padding:12px}.lab-heading h3{font-size:1.55rem}}
/* Charpy rework: show the pendulum swing plane separately from the specimen orientation. */
.impact-rig-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.98fr);gap:14px;padding:14px;background:linear-gradient(145deg,#fbfdff,#eef5ff)}
.impact-machine-view,.impact-orientation-view{border:1px solid rgba(31,99,216,.10);border-radius:15px;background:#fff;overflow:hidden}
.impact-machine-view svg,.impact-orientation-view svg{width:100%;height:auto;display:block}
.impact-centerline{fill:none;stroke:#c6d3e2;stroke-width:2;stroke-dasharray:7 7}
.anvil-side,.support-block{fill:#8497ad;stroke:#657a94;stroke-width:2}
.charpy-cross-section,.charpy-top,.charpy-front,.charpy-end{fill:#3d79db;stroke:#235fbf;stroke-width:2}
.charpy-top{fill:#6d9ce7}.charpy-end{fill:#2d68c6}
.charpy-notch-side,.charpy-notch-perspective{fill:#fff;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.striking-edge{fill:none;stroke:#f5f8fc;stroke-width:5;stroke-linecap:round}
.striker-arrow,.notch-away-arrow{fill:none;stroke:#1f63d8;stroke-width:4;stroke-linecap:round}
.orientation-heading{padding:14px 16px 0}.orientation-heading small{display:block;color:#1f63d8;font-size:.66rem;font-weight:900;letter-spacing:.12em}.orientation-heading strong{display:block;margin-top:4px;font-size:.92rem;color:#243a56}
.orientation-note{margin:0 16px 16px;padding:11px 12px;border-left:3px solid #1f63d8;background:#f7faff;border-radius:0 8px 8px 0;color:#62748a;font-size:.78rem;line-height:1.45}
.impact-label{fill:#61758d!important;font-size:12px!important;font-weight:750!important}.impact-label.strong{fill:#1d5fc9!important;font-weight:900!important}.specimen-label{fill:#61758d;font-size:11px;font-weight:750}.specimen-callout{fill:none;stroke:#8ea2bb;stroke-width:1.5;stroke-dasharray:4 4}
@media(max-width:900px){.impact-rig-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.demo-button[data-action="play"]{display:none}}
