:root{--f-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-head: "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: #f6f6f3;--panel: #ffffff;--plot-bg: #ffffff;--ink: #1b2130;--ink-2: #3c4456;--muted: #6a7182;--faint: #9aa0ad;--border: #e2e2dc;--border-2: #d2d3cc;--chip: #f1f1ed;--accent: #2c66c7;--accent-ink: #ffffff;--accent-soft: #e6eefb;--focus: #2c66c7;--line: #262b36;--grid: rgba(27, 33, 48, .07);--label-halo: rgba(255, 255, 255, .75);--shadow: 0 10px 30px rgba(20, 24, 33, .14), 0 2px 6px rgba(20, 24, 33, .08);--ph-L: #f6d9ae;--ph-delta: #bfe3c8;--ph-gamma: #f4b6a6;--ph-alpha: #bacff0;--ph-cem: #cfb7ea;--ph-pearlite: #a9b5df;--ph-ledeburite: #d9a9c4;--ph-L-ink: #9a5b0b;--ph-delta-ink: #1f7a43;--ph-gamma-ink: #b23a24;--ph-alpha-ink: #2c5fb3;--ph-cem-ink: #6b3fa6;--c-peritectic: #2c74c9;--c-eutectic: #c76a1c;--c-eutectoid: #c43c30;--curie: #7a5aa8;--ht-anneal: #2f8a5b;--ht-normal: #2c66c7;--ht-harden: #c43c30;--ht-sphero: #8a5a1c;--ht-stress: #6a7182;color-scheme:light}:root[data-theme=dark]{--bg: #101318;--panel: #161a21;--plot-bg: #12161c;--ink: #e7e9ee;--ink-2: #c3c8d2;--muted: #959cab;--faint: #6b7282;--border: #272c35;--border-2: #343a45;--chip: #1e232c;--accent: #6d9cf0;--accent-ink: #0d1117;--accent-soft: #1d2a42;--focus: #8fb4ff;--line: #e3e6ec;--grid: rgba(231, 233, 238, .07);--label-halo: rgba(18, 22, 28, .7);--shadow: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--ph-L: #6a5431;--ph-delta: #2c5a3e;--ph-gamma: #713a31;--ph-alpha: #2c466d;--ph-cem: #533e72;--ph-pearlite: #3d4a73;--ph-ledeburite: #6a3d58;--ph-L-ink: #f2c27a;--ph-delta-ink: #8fd9a8;--ph-gamma-ink: #f59c87;--ph-alpha-ink: #93b6f2;--ph-cem-ink: #c3a3f0;--c-peritectic: #6aa6f0;--c-eutectic: #f0a35e;--c-eutectoid: #f07c70;--curie: #b79be0;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #101318;--panel: #161a21;--plot-bg: #12161c;--ink: #e7e9ee;--ink-2: #c3c8d2;--muted: #959cab;--faint: #6b7282;--border: #272c35;--border-2: #343a45;--chip: #1e232c;--accent: #6d9cf0;--accent-ink: #0d1117;--accent-soft: #1d2a42;--focus: #8fb4ff;--line: #e3e6ec;--grid: rgba(231, 233, 238, .07);--label-halo: rgba(18, 22, 28, .7);--shadow: 0 12px 32px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .4);--ph-L: #6a5431;--ph-delta: #2c5a3e;--ph-gamma: #713a31;--ph-alpha: #2c466d;--ph-cem: #533e72;--ph-pearlite: #3d4a73;--ph-ledeburite: #6a3d58;--ph-L-ink: #f2c27a;--ph-delta-ink: #8fd9a8;--ph-gamma-ink: #f59c87;--ph-alpha-ink: #93b6f2;--ph-cem-ink: #c3a3f0;--c-peritectic: #6aa6f0;--c-eutectic: #f0a35e;--c-eutectoid: #f07c70;--curie: #b79be0;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--f-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.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}.mono{font-family:var(--f-mono)}#root{min-height:100%}.app{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh}.embed-nav{display:block}.app.has-embed-nav{height:calc(100dvh - 26px)}.top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 22px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{min-width:0;margin-right:auto}.brand h1{margin:0;font:600 22px/1.15 var(--f-head);letter-spacing:-.01em}.brand p{margin:3px 0 0;font-size:13px;color:var(--muted)}.seg{display:inline-flex;border:1px solid var(--border-2);border-radius:10px;padding:3px;background:var(--chip);gap:2px}.seg button{border:0;background:transparent;padding:6px 13px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--ink-2);min-height:34px;white-space:nowrap}.seg button:hover{color:var(--ink);background:color-mix(in srgb,var(--panel) 60%,transparent)}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--ink);color:var(--panel)}.seg--sm button{padding:4px 10px;font-size:12.5px;min-height:30px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border-2);border-radius:10px;background:var(--panel);color:var(--ink-2)}.icon-btn:hover{color:var(--ink);border-color:var(--ink-2)}.icon-btn svg{width:18px;height:18px}.main{display:grid;grid-template-columns:minmax(0,1fr) clamp(360px,33vw,500px);min-height:0}.stage{display:flex;flex-direction:column;min-width:0;min-height:0;padding:10px 18px 12px;gap:8px}.toolbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-size:13px;color:var(--muted)}.toolbar .tb-group{display:inline-flex;align-items:center;gap:8px}.toolbar label.check{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--ink-2);min-height:30px}.toolbar input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.dg-wrap{position:relative;flex:1 1 auto;min-height:280px;display:flex}.dg-wrap>svg{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.dg-wrap:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:8px}.panel{border-left:1px solid var(--border);background:var(--panel);overflow-y:auto;min-height:0;overscroll-behavior:contain}.panel-inner{padding:22px 26px 40px}.bottom{display:flex;flex-direction:column;gap:8px}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font-size:12.5px;color:var(--muted)}.legend .sw{display:inline-block;width:18px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:7px;border:1px solid var(--border-2)}.legend .sw-one{background:var(--ph-gamma)}.legend .sw-two{background:repeating-linear-gradient(45deg,var(--ph-alpha) 0 3px,var(--ph-gamma) 3px 6px)}.legend .sw-inv{background:transparent;border:2.5px solid var(--c-eutectoid);border-radius:50%;width:13px;height:13px}.legend .sw-curie{background:transparent;border:0;border-top:2px dashed var(--curie);height:0;width:20px;vertical-align:3px;border-radius:0}.legend .hint{margin-left:auto}.apps{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.apps-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}.app-chip{display:inline-flex;align-items:baseline;gap:7px;padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--chip);font-size:12.5px;color:var(--ink-2);min-height:30px}.app-chip b{font:600 11.5px var(--f-mono);color:var(--accent)}.app-chip:hover,.app-chip:focus-visible,.app-chip.is-active{border-color:var(--accent);color:var(--ink)}.data-note{font-size:11.5px;color:var(--muted);margin:0}.dg-bg{fill:var(--plot-bg)}.fld{stroke:none;transition:opacity .25s ease,filter .2s ease}.f-L{fill:var(--ph-L)}.f-delta{fill:var(--ph-delta)}.f-gamma{fill:var(--ph-gamma)}.f-alpha{fill:var(--ph-alpha)}.f-L_delta{fill:url(#pat-L_delta)}.f-delta_gamma{fill:url(#pat-delta_gamma)}.f-L_gamma{fill:url(#pat-L_gamma)}.f-L_cem{fill:url(#pat-L_cem)}.f-gamma_cem{fill:url(#pat-gamma_cem)}.f-alpha_gamma{fill:url(#pat-alpha_gamma)}.f-alpha_cem{fill:url(#pat-alpha_cem)}.pf-L{fill:var(--ph-L)}.pf-delta{fill:var(--ph-delta)}.pf-gamma{fill:var(--ph-gamma)}.pf-alpha{fill:var(--ph-alpha)}.pf-cem{fill:var(--ph-cem)}.fld.is-hover{filter:saturate(1.35) brightness(1.03)}.fld.is-sel{filter:saturate(1.4)}.fld.is-dim{opacity:.4}.dg-grid line{stroke:var(--grid);stroke-width:1}.ln{fill:none;stroke:var(--line);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.ln-iso{stroke-width:2.2}.ln-curie{stroke:var(--curie);stroke-dasharray:6 4;stroke-width:1.5}.ln.is-sel{stroke:var(--accent);stroke-width:3.2}.ln-steel-ci{stroke:var(--line);stroke-opacity:.25;stroke-dasharray:2 4;stroke-width:1}.micro-div{stroke:var(--line);stroke-opacity:.55;stroke-dasharray:4 3;stroke-width:1.2}.micro-hover{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:1.6}.dg-band{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-opacity:.5;stroke-dasharray:3 3}.dg-frame{fill:none;stroke:var(--line);stroke-width:1.4;pointer-events:none}.flabel-sym{font-family:var(--f-head);font-weight:600;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;stroke-linejoin:round}.flabel-name{font:500 11px var(--f-sans);fill:var(--ink-2);text-anchor:middle;paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;stroke-linejoin:round}.flabel{transition:opacity .25s;pointer-events:none}.flabel.is-dim{opacity:.35}.dg-labels.is-hidden{opacity:0}.lnlabel{font:italic 500 11px var(--f-sans);fill:var(--ink-2);paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;pointer-events:none}.lnlabel.ll-a{font:600 11.5px var(--f-mono);font-style:normal;fill:var(--accent)}.lnlabel.ll-curie{font:500 10.5px var(--f-mono);font-style:normal;fill:var(--curie)}.pt-sq{fill:var(--line)}.pt-letter{font:600 11px var(--f-mono);fill:var(--ink-2);paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;pointer-events:none}.pt-ring{fill:var(--plot-bg);stroke-width:2.6}.pt-core{stroke:none}.pt-peritectic .pt-ring{stroke:var(--c-peritectic)}.pt-peritectic .pt-core{fill:var(--c-peritectic)}.pt-eutectic .pt-ring{stroke:var(--c-eutectic)}.pt-eutectic .pt-core{fill:var(--c-eutectic)}.pt-eutectoid .pt-ring{stroke:var(--c-eutectoid)}.pt-eutectoid .pt-core{fill:var(--c-eutectoid)}.pt.is-active .pt-ring{stroke-width:3.6}.pt.is-active .pt-sq,.pt.is-active .pt-letter{fill:var(--accent)}.dg-axis line{stroke:var(--line);stroke-width:1}.dg-axis text{font:400 11px var(--f-mono);fill:var(--muted)}.dg-axis .is-key text{font-weight:700;fill:var(--ink)}.dg-axis .ax-a{fill:var(--accent)!important;font-weight:600!important;font-size:10.5px}.dg-axis .ax-cap{font:400 10px var(--f-sans)!important;fill:var(--muted)!important}.ax-title{font:500 13px var(--f-sans)!important;fill:var(--ink-2)!important}.ax-break{fill:none;stroke:var(--line);stroke-width:1.3}.cls-br path{fill:none;stroke:var(--faint);stroke-width:1}.cls-br text{font:italic 400 11.5px var(--f-sans);fill:var(--muted)}.dg-cross line{stroke:var(--ink);stroke-opacity:.35;stroke-dasharray:3 3;stroke-width:1;pointer-events:none}.dg-readout rect{fill:var(--ink)}.dg-readout text{font:600 11px var(--f-mono);fill:var(--panel)}.tie-arm{stroke-width:3.2;stroke-linecap:round}.arm-alpha{stroke:var(--ph-alpha-ink)}.arm-gamma{stroke:var(--ph-gamma-ink)}.arm-delta{stroke:var(--ph-delta-ink)}.arm-L{stroke:var(--ph-L-ink)}.arm-cem{stroke:var(--ph-cem-ink)}.tie-end{stroke:var(--plot-bg);stroke-width:1.5}.te-alpha{fill:var(--ph-alpha-ink)}.te-gamma{fill:var(--ph-gamma-ink)}.te-delta{fill:var(--ph-delta-ink)}.te-L{fill:var(--ph-L-ink)}.te-cem{fill:var(--ph-cem-ink)}.pin-halo{fill:var(--accent);fill-opacity:.18;stroke:var(--accent);stroke-width:1.5}.pin-dot{fill:var(--accent);stroke:var(--plot-bg);stroke-width:1.5}.cool-track{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:4 4;stroke-opacity:.6}.cool-done{stroke:var(--accent);stroke-width:2.5}.cool-ev{fill:var(--plot-bg);stroke:var(--accent);stroke-width:1.6}.cool-ev--invariant{stroke:var(--c-eutectoid);stroke-width:2.2}.cool-ev.is-past{fill:var(--accent)}.cm-halo{fill:var(--accent);fill-opacity:.22}.cm-dot{fill:var(--accent);stroke:var(--plot-bg);stroke-width:2}.dg--cooling{cursor:crosshair}.dg.hit-point,.dg.hit-line{cursor:pointer}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.ht path{fill-opacity:.22;stroke-width:1.2;stroke-opacity:.9}.ht-label{font:600 10.5px var(--f-sans);fill:var(--ink);paint-order:stroke;stroke:var(--label-halo);stroke-width:3px;pointer-events:none}.ht-annealing path{fill:var(--ht-anneal);stroke:var(--ht-anneal)}.ht-normalising path{fill:var(--ht-normal);stroke:var(--ht-normal)}.ht-hardening path{fill:var(--ht-harden);stroke:var(--ht-harden)}.ht-spheroidising path{fill:var(--ht-sphero);stroke:var(--ht-sphero)}.ht-stress path{fill:var(--ht-stress);stroke:var(--ht-stress)}.hc{position:fixed;z-index:50;width:300px;max-width:calc(100vw - 24px);pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:13px 15px 12px;font-size:13px;line-height:1.45}.hc-head{display:flex;align-items:center;gap:9px;margin-bottom:5px}.hc-head h3{margin:0;font:600 15.5px/1.25 var(--f-head)}.hc-sw{display:inline-block;vertical-align:-1px;width:14px;height:14px;border-radius:4px;flex:0 0 auto;border:1px solid rgba(0,0,0,.08)}.hc p{margin:0 0 8px;color:var(--ink-2)}.hc-at{font:600 11px var(--f-mono);color:var(--muted);margin:8px 0 6px;padding-top:8px;border-top:1px solid var(--border)}.hc-foot{margin-top:9px;font-weight:600;color:var(--accent);font-size:12.5px}.hc-note{font-size:11.5px;color:var(--muted);margin-top:6px}.pbars{display:flex;flex-direction:column;gap:6px}.pbar{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline;font-size:12.5px}.pbar-name{color:var(--ink);font-weight:500;display:flex;align-items:center;gap:6px;min-width:0}.pbar-name small{color:var(--muted);font:500 11px var(--f-mono)}.pbar-val{font:600 12px var(--f-mono);color:var(--ink)}.pbar-track{grid-column:1 / -1;height:6px;border-radius:4px;background:var(--chip);overflow:hidden}.pbar-fill{height:100%;border-radius:4px;transition:width .2s ease}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;display:inline-block}.bg-L{background:var(--ph-L-ink)}.bg-delta{background:var(--ph-delta-ink)}.bg-gamma{background:var(--ph-gamma-ink)}.bg-alpha{background:var(--ph-alpha-ink)}.bg-cem{background:var(--ph-cem-ink)}.bg-pearlite{background:repeating-linear-gradient(90deg,var(--ph-alpha-ink) 0 3px,var(--ph-cem-ink) 3px 4px)}.bg-ledeburite{background:radial-gradient(circle at 30% 40%,var(--ph-pearlite) 0 22%,transparent 23%),radial-gradient(circle at 70% 65%,var(--ph-pearlite) 0 18%,transparent 19%),var(--ph-cem-ink)}.sw-L{background:var(--ph-L)}.sw-delta{background:var(--ph-delta)}.sw-gamma{background:var(--ph-gamma)}.sw-alpha{background:var(--ph-alpha)}.sw-cem{background:var(--ph-cem)}.sw-two{background:repeating-linear-gradient(45deg,var(--a) 0 3px,var(--b) 3px 6px)}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.eyebrow .sw{width:13px;height:13px;border-radius:4px}.panel h2{margin:0 0 12px;font:600 28px/1.15 var(--f-head);letter-spacing:-.015em}.panel h3{font:600 13px var(--f-sans);letter-spacing:.08em;text-transform:uppercase;margin:26px 0 10px;display:flex;align-items:center;gap:9px}.panel h3:before{content:"";width:3px;height:15px;border-radius:2px;background:var(--accent)}.panel p{margin:0 0 12px;color:var(--ink-2)}.lead{font-size:16.5px;color:var(--ink-2);line-height:1.55}.formula{display:inline-block;font:600 20px var(--f-mono);padding:8px 16px;border-radius:10px;margin:2px 0 14px;background:color-mix(in srgb,var(--c, var(--accent)) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--c, var(--accent)) 35%,var(--panel))}.back{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--ink-2);padding:6px 0;margin:0 0 14px;font-size:14px}.back:hover{color:var(--accent)}.facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:6px 0 4px}.fact{padding:11px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0}.fact:nth-child(2n){border-right:0}.fact:nth-last-child(-n+2){border-bottom:0}.fact:last-child:nth-child(odd){grid-column:1 / -1;border-right:0}.fact dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.fact dd{margin:0;font-size:14px;color:var(--ink)}.card{border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--panel)}.card+.card{margin-top:12px}.lever{background:color-mix(in srgb,var(--accent) 5%,var(--panel));border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.lever h4{margin:0 0 8px;font:600 14px var(--f-sans)}.lever table{width:100%;border-collapse:collapse;font-size:13px;margin:6px 0 10px}.lever th{text-align:left;font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 6px 4px 0}.lever td{padding:5px 6px 5px 0;border-top:1px solid var(--border)}.lever td.num{font-family:var(--f-mono)}.calc{font:500 12.5px/1.7 var(--f-mono);color:var(--ink-2);background:var(--chip);border-radius:8px;padding:9px 11px;overflow-x:auto}.calc>div+div{margin-top:4px}.calc span{white-space:nowrap}.calc b{color:var(--ink)}.muted{color:var(--muted)}.small{font-size:12.5px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-2);border-radius:999px;background:var(--chip);padding:4px 11px;font-size:13px;color:var(--ink-2);min-height:32px}.chip:hover,.chip:focus-visible{border-color:var(--accent);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid var(--border-2);background:var(--panel);font-weight:600;font-size:14px;color:var(--ink)}.btn:hover{border-color:var(--ink-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn svg{width:16px;height:16px}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.browse{display:flex;flex-direction:column;gap:14px}.browse h4{margin:0 0 7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}.prose p{line-height:1.62}.prose ul{margin:0 0 12px;padding-left:20px;color:var(--ink-2)}.prose li{margin:3px 0}.tip{border-left:3px solid var(--accent);background:var(--accent-soft);padding:10px 14px;border-radius:0 10px 10px 0;color:var(--ink);font-size:14px}.vis{border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:10px}.vis svg{display:block;width:100%;height:auto}.vis+.vis{margin-top:10px}.vis figure,figure.vis{margin:0}.vis figcaption{margin-top:6px}.micro-fig{max-width:220px;margin:0 auto}.micro-gb{stroke:var(--line);stroke-opacity:.55;stroke-width:.9;stroke-linejoin:round}.micro-rim{fill:none;stroke:var(--border-2);stroke-width:2}.cc{cursor:pointer}.cc-grid{stroke:var(--grid)}.cc-tick{font:500 10px var(--f-mono);fill:var(--muted)}.cc-line{fill:none;stroke:var(--ink-2);stroke-width:1.6;stroke-linejoin:round}.cc-arrest{stroke-width:3.2;stroke-linecap:round}.cc-label{font:600 10px var(--f-mono);fill:var(--ink)}.cc-dot{fill:var(--accent);stroke:var(--plot-bg);stroke-width:1.5}.lat svg{max-width:260px;margin:0 auto}.lat-edge{stroke:var(--ink-2);stroke-width:1.4}.lat-edge.is-back{stroke-dasharray:4 3;stroke-opacity:.6}.lat-atom{stroke:var(--plot-bg);stroke-width:1.5}.lat-c{fill:var(--ink);stroke:var(--plot-bg);stroke-width:1.2}.readouts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;overflow:hidden}.readouts>div{padding:10px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.readouts>div:nth-child(2n){border-right:0}.readouts>div.wide{grid-column:1 / -1;border-right:0;border-bottom:0}.readouts dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.readouts dd{margin:2px 0 0;font:600 22px var(--f-mono)}.readouts dd.field{font:600 18px var(--f-head)}.comp-input{display:flex;align-items:center;gap:10px;margin:8px 0}.comp-input input[type=range]{flex:1;accent-color:var(--accent);min-width:0}.comp-input input[type=number]{width:88px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-2);background:var(--panel);font:600 14px var(--f-mono)}.seq{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.seq li button{width:100%;display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:none;border-radius:9px;padding:7px 10px;font-size:13.5px;color:var(--ink-2)}.seq li button:hover{background:var(--chip)}.seq li.is-current button{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--ink)}.seq li.is-past button{color:var(--ink)}.seq li.is-future button{opacity:.55}.seq .t{font:600 13px var(--f-mono);color:var(--ink)}.seq .rx{font:600 11.5px var(--f-mono);border:1px solid var(--border-2);border-radius:7px;padding:2px 7px;color:var(--accent);white-space:nowrap}.seq .rx.rx-eutectoid{color:var(--c-eutectoid)}.seq .rx.rx-eutectic{color:var(--c-eutectic)}.seq .rx.rx-peritectic{color:var(--c-peritectic)}.seq .ev{grid-column:2 / -1;font-size:12px;color:var(--muted);margin-top:-2px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.case-strip{display:block;height:26px;padding:4px 12px;background:#2b3242;color:#fff;text-decoration:none;font:500 12px/18px var(--f-sans);text-align:center;letter-spacing:.01em}.case-strip:before{content:"\2190";margin-right:6px;opacity:.85}.case-strip:hover span{text-decoration:underline;text-underline-offset:2px}@media (max-width: 1080px){.main{grid-template-columns:minmax(0,1fr) 360px}.panel-inner{padding:18px 18px 36px}.panel h2{font-size:24px}}@media (max-width: 900px){.app,.app.has-embed-nav{height:auto;min-height:100dvh;grid-template-rows:auto auto}.top{padding:10px 16px;gap:10px}.brand h1{font-size:19px}.main{grid-template-columns:1fr}.stage{padding:8px 10px 10px}.dg-wrap{flex:none;min-height:0;aspect-ratio:1000 / 664}.panel{border-left:0;border-top:1px solid var(--border);overflow:visible}.legend .hint{margin-left:0}.hc{display:none}}@media (max-width: 520px){.seg button{padding:6px 9px;font-size:13px}.facts,.readouts,.grid2{grid-template-columns:1fr}.fact{border-right:0!important}.fact:nth-last-child(2){border-bottom:1px solid var(--border)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.kb-dot{fill:none;stroke:var(--focus);stroke-width:2}.back svg{width:18px;height:18px;flex:0 0 auto}.linkish{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--faint)}.linkish:hover{color:var(--accent);text-decoration-color:currentColor}.pbar-sub{grid-column:1 / -1;font:500 11px var(--f-mono);color:var(--muted);margin:-3px 0 1px 15px}.grid2 h3{font-size:12px;letter-spacing:.06em}.ln-cd{stroke-dasharray:6 3}.ln-stable{fill:none;stroke:var(--ink-2);stroke-width:1.4;stroke-dasharray:2 4;stroke-linecap:round;opacity:.9}.ln-stable-iso{stroke-dasharray:2 4}.pt-stable circle{fill:var(--ink-2)}.pt-stable text,.lnlabel.ll-stable{font:600 10.5px var(--f-mono);fill:var(--ink-2);font-style:normal;paint-order:stroke;stroke:var(--label-halo);stroke-width:3px}.strip-bg{fill:var(--plot-bg)}.strip-frame{fill:none;stroke:var(--line);stroke-width:1}.strip-l{stroke:var(--plot-bg);stroke-width:.6}.sl-ferrite,.sl-proeutectoid_ferrite{fill:var(--ph-alpha)}.sl-pearlite{fill:var(--ph-pearlite)}.sl-secondary_cementite,.sl-tertiary_cementite{fill:var(--ph-cem)}.sl-primary_cementite{fill:var(--ph-cem-ink);opacity:.75}.sl-transformed_ledeburite{fill:var(--ph-ledeburite)}.strip-t{font:600 11px var(--f-mono);fill:var(--ink);pointer-events:none;paint-order:stroke;stroke:var(--label-halo);stroke-width:3px}.strip-cap{font:500 10.5px var(--f-sans);fill:var(--muted)}.strip-cur{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 2}@media print{.top .seg,.top .icon-btn,.toolbar,.apps,.legend .hint,.case-strip,.back,.hc{display:none!important}.app,.app.has-embed-nav{height:auto;display:block}.main{display:block}.stage{padding:0}.dg-wrap{height:640px;flex:none}.panel{border:0;overflow:visible}body{background:#fff}}.ht.is-hover path{fill-opacity:.38;stroke-width:2}@media (max-width: 640px){.main{grid-template-columns:minmax(0,1fr)}.toolbar .tb-group{max-width:100%;min-width:0}.toolbar .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.toolbar .seg::-webkit-scrollbar{display:none}.top .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.apps-title{width:100%}}.tb-opts{display:contents}.tb-more-btn{display:none;border:1px solid var(--border-2);background:var(--panel);border-radius:8px;padding:4px 10px;min-height:32px;font-size:13px;color:var(--ink-2)}@media (max-width: 640px){.tb-more-btn{display:inline-flex;align-items:center;gap:6px}.tb-opts{display:none}.tb-opts.is-open{display:flex;flex-wrap:wrap;gap:4px 14px;width:100%}.top{gap:10px}.brand{flex:1 1 0;min-width:0}.brand h1{font-size:18px}.brand p{font-size:12px}.top .seg-modes{order:3;flex:1 1 100%}.top .seg-modes button{flex:1 1 0;padding:6px 4px}.icon-btn{width:34px;height:34px}.dg-wrap{aspect-ratio:1 / 1.02}}.seq li.is-hidden button{opacity:.75;font-style:italic;cursor:default}.seq li.is-hidden .t{color:var(--muted)}.ln.is-reacting{stroke:var(--c-eutectoid);animation:react-pulse 1s ease-in-out infinite}@keyframes react-pulse{50%{stroke-opacity:.45}}
