/* The ESP's semantic palette is shared by readings, statuses and chart traces.
   Cabinet curves and blue/amber light add character without recolouring data. */
:root{--bg:#F4F6F8;--surface:#FFFFFF;--alt:#E1E7ED;--text:#25313D;--muted:#667382;--line:#CCD4DC;--accent:#2F7D4E;--green:#2F7D4E;--red:#C43D49;--orange:#B66A13;--blue:#269BD8;--purple:#A78BFA;--nav:#EEF2F5;--nav-end:#E2E8ED;--nav-active:#DCE3E9;--instrument:#FFFFFF;--instrument-soft:#EDF2F6;--instrument-line:#CCD4DC;--glow-blue:#269bd82b;--glow-mint:#f0a43c1c;--soft-green:#e1f1e7;--shadow:0 16px 40px #25313d09}
:root[data-theme=dark]{--bg:#111318;--surface:#171B22;--alt:#252C36;--text:#F0F2F5;--muted:#8F9AA8;--line:#29313D;--accent:#72D29B;--green:#72D29B;--red:#FF5C5C;--orange:#F0A43C;--blue:#54C7EC;--purple:#A78BFA;--nav:#1D222B;--nav-end:#15191F;--nav-active:#2D3440;--instrument:#1D232D;--instrument-soft:#252E3B;--instrument-line:#35404D;--glow-blue:#54c7ec20;--glow-mint:#f0a43c17;--soft-green:#233b30;--shadow:0 16px 40px #00000016}
body{background:var(--bg);position:relative;overflow-x:clip}
.cabinet-curve{position:absolute;right:0;top:3vh;height:94vh;width:clamp(190px,18vw,360px);pointer-events:none;z-index:-1}
.cabinet-curve .curve-light{stop-color:#8098ac;stop-opacity:.34}.cabinet-curve .curve-edge{stop-color:#b8c9d7;stop-opacity:.04}
[data-theme=dark] .cabinet-curve .curve-light{stop-color:#d5e0e8;stop-opacity:.30}[data-theme=dark] .cabinet-curve .curve-edge{stop-color:#54c7ec;stop-opacity:.03}
.run-readout-slot{height:62px;min-height:62px;flex:0 0 62px;position:relative;overflow:hidden}
#main-run .run-readout-slot #run-selected{position:absolute;inset:4px 0 auto;min-height:0;max-height:58px;margin:0;overflow:auto;line-height:18px;padding:8px 11px;font-size:12px}
@media(max-width:1100px){.cabinet-curve{display:none}}
@media(max-width:700px){#main-run .run-readout-slot #run-selected{left:8px;right:8px;font-size:11px}}
.brand .wordmark{flex-direction:row;align-items:baseline;gap:0;white-space:nowrap;font-family:Lato,Arial,sans-serif;font-style:normal;transform:none}
.brand .wordmark strong,.brand .wordmark>span{font-size:19px;line-height:1;letter-spacing:-.8px;margin:0}
.brand .wordmark strong{font-weight:800}.brand .wordmark>span{font-weight:300;letter-spacing:-1px}
.main-nav .nav-brand{padding:16px 0 26px;margin-bottom:20px;color:var(--text)}.main-nav::after{opacity:.34;filter:none}
.main-nav{background:linear-gradient(155deg,var(--nav),var(--nav-end));border-right:1px solid var(--line)}
.main-nav a{color:var(--muted)}.main-nav a:hover{color:var(--text);background:var(--alt)}
.main-nav a[aria-current=page],.main-nav a[aria-current=page]:hover{color:var(--text);background:var(--nav-active)}
.main-nav a[aria-current=page],.main-nav a[aria-current=page]>.icon{color:var(--accent)}
.stabilizing .status,[data-theme=dark] .stabilizing .status{color:var(--blue)}
.cooling .status,[data-theme=dark] .cooling .status{color:#6FA8FF}
.finished .status{color:var(--green)}
.instrument-head .reading-label{color:var(--muted)}
.stage-number strong{color:var(--accent)}
.live-summary{background:linear-gradient(145deg,var(--instrument-soft),var(--instrument))}
.run-metrics dd{color:var(--text)}
.furnace-actions .action-icon{color:var(--accent)}
.subtle-link{color:var(--accent)}
.fleet-overview .furnace-card{border-top:2px solid color-mix(in srgb,var(--blue) 40%,var(--line))}
.signed-in main{max-width:1240px;padding:36px 34px 64px}.furnace-layout{max-width:1120px}.furnace-heading{max-width:1120px}
.instrument{overflow:visible;border-radius:0;grid-template-columns:290px minmax(0,1fr)}
.instrument-head{padding:4px 0 28px}.instrument-head .reading-label{display:block;line-height:1.5;margin-bottom:7px}.instrument-head .program-name{line-height:1.2;font-weight:500;font-size:clamp(27px,2.3vw,36px);overflow-wrap:anywhere}
.live-summary{border-radius:18px 0 0 0;padding:30px 25px 20px}.live-summary .temperature{font-size:82px;letter-spacing:-4.5px;font-variant-numeric:tabular-nums}
.main-run-chart{border-radius:0 18px 18px 0;padding:24px 22px 18px;display:flex;flex-direction:column;justify-content:center}
.main-run-chart #program-profile{height:auto;aspect-ratio:1.65;min-height:275px;max-height:385px;width:100%;flex:none}
.reading-panel .run-metrics{border-radius:0 0 0 18px;padding:0 25px 28px}.reading-panel .run-metrics>div:nth-child(3){display:none}.reading-panel .run-metrics>div:nth-child(2){grid-column:auto;grid-row:auto}
.status-focus .status{font-weight:500}.run-chart-controls h2{font-weight:500}.run-chart-footer{margin-top:8px}.run-legend{row-gap:8px}
.furnace-actions{margin-top:6px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.furnace-actions strong{font-weight:500}.recent-history{margin-top:28px}
.information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1050px}
.information-section{padding:26px 28px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.information-section h2{font-size:21px;margin:0 0 22px}.information-list{margin:0}.information-list>div{display:flex;justify-content:space-between;gap:22px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.information-list>div:last-child{border:0}.information-list dt{color:var(--muted);max-width:55%}.information-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.info-good,.selected-caption{color:var(--accent)}
.information-note{font-size:12px;line-height:1.6;color:var(--muted);margin:20px 0 0}.information-update{display:flex;align-items:center;gap:8px;color:var(--accent);margin-top:20px;font-size:14px}.information-update .icon{width:15px;height:15px}
.program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:18px;max-width:1120px}
.program-tile{display:flex;flex-direction:column;align-items:center;justify-content:space-between;aspect-ratio:1;padding:19px 16px 12px;min-width:0;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text)}
.program-tile.selected{border:2px solid var(--accent);padding:18px 15px 11px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.program-tile h2{font-size:17px;font-weight:700;text-align:center;line-height:1.3;min-height:44px;margin:0;width:100%;overflow-wrap:anywhere}
.program-tile .mini-chart{color:var(--accent);width:100%;height:auto;max-height:110px;margin:6px 0 12px}.program-tile .mini-line{stroke:currentColor}
.program-tile-metrics{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:14px;line-height:1.3;text-align:center}.program-tile-metrics strong{font-weight:700}.program-tile-state{display:block;min-height:18px;font-size:11px;color:var(--accent);margin-top:8px}
.program-profile-panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px;max-width:1000px}.program-profile-panel svg{display:block;width:100%;height:clamp(240px,30vw,385px)}
.program-profile-panel .run-plan{stroke:var(--accent);stroke-dasharray:none}.program-profile-panel .run-plan-point{fill:var(--accent)}.recipe-readout{height:34px;text-align:center;font-size:13px;color:var(--accent);padding-top:8px}.recipe-metrics{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:20px;border-top:1px solid var(--line);font-size:17px}
.program-steps{max-width:1000px;margin-top:22px;background:var(--surface);border-radius:16px;border:1px solid var(--line);overflow:hidden}.program-steps td,.program-steps th{padding:17px 20px}.program-steps th{color:var(--muted);font-weight:400}.program-steps td:first-child{color:var(--accent)}
@media(hover:hover){.program-tile:hover{border-color:var(--accent);box-shadow:var(--shadow)}}
@media(max-width:700px){.furnace-actions{grid-template-columns:1fr;gap:0}.furnace-actions a{padding:16px 0}.information-grid{grid-template-columns:1fr;gap:18px}.information-section{padding:23px 19px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.program-tile{aspect-ratio:auto;min-height:190px;padding:15px 9px 9px}.program-tile.selected{padding:14px 8px 8px}.program-tile h2{font-size:14px;min-height:38px}.program-tile .mini-chart{margin:9px 0;min-height:58px}.program-tile-metrics{font-size:12px;gap:4px}.program-tile-state{font-size:10px}.program-profile-panel{padding:19px 10px}.recipe-metrics{padding:16px 8px 0;font-size:15px}.program-steps td,.program-steps th{padding:14px 12px;font-size:12px}}
.fleet-overview .furnace-card{border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--instrument-soft));box-shadow:var(--shadow)}
.fleet-overview .furnace-card h2{font-weight:500}.fleet-overview .furnace-card .temperature{font-size:54px}.fleet-overview .furnace-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),350px))}
.graph-card,.program,.setting-list,.form-panel{background:var(--surface)}
.remote-stop{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:23px 0 13px}.remote-stop[hidden]{display:none}.remote-stop>p{font-size:13px;color:var(--muted);margin:0;max-width:470px;line-height:1.5}
button.stop-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#a93135;color:white;min-height:46px;padding:12px 21px;border:1px solid #ad383c;border-radius:12px;font-weight:500}
.stop-square{display:inline-block;width:12px;height:12px;background:currentColor;border-radius:2px}.stop-button:disabled{background:var(--alt);border-color:var(--line);color:var(--muted);cursor:not-allowed;opacity:1}
#stop-dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;width:min(480px,calc(100vw - 36px));box-shadow:0 25px 100px #0004;max-height:calc(100dvh - 40px);overflow:auto}
#stop-dialog::backdrop{background:#06060988;backdrop-filter:blur(5px)}#stop-dialog h2{font-size:26px;margin:0 0 8px}.stop-furnace-name{font-size:16px;font-weight:500}#stop-description{font-size:14px;color:var(--muted);line-height:1.6;margin:20px 0 24px}#stop-dialog .actions{gap:10px}#stop-cancel{background:var(--alt);color:var(--text)}
@media(min-width:1500px){.signed-in main{margin-left:calc(190px + (100vw - 1430px)/2);transform:none}}
@media(max-width:1100px){.signed-in main{padding:30px 24px 60px}.instrument{grid-template-columns:250px minmax(0,1fr)}.live-summary{padding:26px 20px 20px}.live-summary .temperature{font-size:71px}.main-run-chart{padding:22px 16px}.main-run-chart #program-profile{min-height:270px}.reading-panel .run-metrics{padding:0 20px 26px}}
@media(max-width:950px){.instrument{grid-template-columns:1fr}.live-summary{border-radius:18px 18px 0 0}.reading-panel .run-metrics{border-radius:0;grid-template-columns:1fr 1fr}.main-run-chart{border-radius:0 0 18px 18px;padding:22px}.main-run-chart #program-profile{aspect-ratio:1.85;max-height:350px}.brand .wordmark strong,.brand .wordmark>span{font-size:17px}}
@media(max-width:700px){.signed-in main{padding:18px 17px calc(95px + env(safe-area-inset-bottom));margin:0}.main-nav{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.instrument-head{padding:4px 1px 23px}.live-summary{padding:23px 19px 20px;grid-template-columns:minmax(0,1fr) 95px}.live-summary .temperature{font-size:clamp(52px,16vw,74px);letter-spacing:-3.5px}.reading-panel .run-metrics{padding:0 19px 23px}.main-run-chart{padding:22px 10px 14px}.main-run-chart #program-profile{height:auto;aspect-ratio:1.5;min-height:210px;max-height:290px}.remote-stop{margin:20px 0 12px;gap:10px}.remote-stop>p{flex:1;min-width:140px;font-size:12px}.topbar .brand .wordmark strong,.topbar .brand .wordmark>span{font-size:20px}.recent-history{margin-top:22px}.page-heading h1{font-size:26px}.furnace-heading h1{font-size:16px}#stop-dialog{padding:24px}#stop-dialog .actions{flex-direction:column}#stop-dialog button{width:100%}}
@media(max-width:380px){
  .live-summary{grid-template-columns:82px minmax(0,1fr);gap:17px 16px}
  .temperature-focus{grid-column:1/-1;grid-row:1}.stage-focus{grid-column:1;grid-row:2}.status-focus{grid-column:2;grid-row:2;align-self:center}
  .live-summary .temperature{font-size:66px}.status-focus .status{font-size:20px}
  .furnace-heading{gap:12px}.furnace-heading h1{font-size:14px;max-width:155px;margin:0}.page-tools{gap:10px}.page-tools .subtle-link{font-size:13px}
}
@media(prefers-reduced-motion:no-preference){
  .signed-in #content{animation:graphite-enter .5s cubic-bezier(.16,1,.3,1) both}
  .fleet-overview .furnace-card{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s}
  #stop-dialog[open]{animation:graphite-enter .3s cubic-bezier(.16,1,.3,1)}
  :root[data-ambient=on] .ambient-one{animation:graphite-drift 26s ease-in-out infinite alternate}
  :root[data-ambient=on] .ambient-two{animation:graphite-drift 34s ease-in-out infinite alternate-reverse}
  :root[data-page-hidden=true] .ambient-light{animation-play-state:paused}
  .theme-changing::view-transition-old(root){animation:graphite-fade-out .35s ease both}.theme-changing::view-transition-new(root){animation:graphite-fade-in .55s ease both}
  @keyframes graphite-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes graphite-drift{from{transform:translate3d(-3%,0,0) scale(.96)}to{transform:translate3d(5%,5%,0) scale(1.07)}}
  @keyframes graphite-fade-out{to{opacity:0}}@keyframes graphite-fade-in{from{opacity:0}}
}
