:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--surface-2:#eaeef3;--border:#c4cdd6;--border-strong:#94a2b0;--text:#14181d;--text-2:#465059;--muted:#5c6874;--accent:#1750b8;--valid:#1e7a46;--valid-bg:#e4f3ea;--warn:#8a5200;--warn-bg:#fcefd6;--err:#b22026;--err-bg:#fbe6e6;--info:#23617f;--info-bg:#e4f0f5;--phys:#0e7c86;--tcu:#5b3ea6;--pha:#b5701a;--sheet-face-a:var(--phys);--sheet-face-b:var(--pha);--roll-surface:var(--valid);--ghost:#7b8996;--radius:5px;--hatch:rgba(92,104,116,.12);--focus:#1d5fd6;--shadow:0 8px 28px rgba(23,35,48,.08);font-family:"Segoe UI","Malgun Gothic","맑은 고딕",system-ui,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--bg:#0e1216;--surface:#161c22;--surface-2:#1e262d;--border:#2b3641;--border-strong:#3c4a56;--text:#e9eef3;--text-2:#aebbc7;--muted:#8695a2;--accent:#5e9cff;--valid:#52c480;--valid-bg:#12301f;--warn:#f0b857;--warn-bg:#3a2a0e;--err:#ff7074;--err-bg:#3a1416;--info:#6fb8da;--info-bg:#0f2a38;--phys:#2fc3ce;--tcu:#b79bff;--pha:#e0a24e;--ghost:#b6c4d0;--hatch:rgba(233,238,243,.12);--focus:#5e9cff;--shadow:0 12px 32px rgba(0,0,0,.35)}:root[data-theme=dark] .primary-btn{background:#1750b8;border-color:#1750b8}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,summary,[tabindex]{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.num,.value,.roll-temp,.readout-value{font-family:"Cascadia Mono",Consolas,"D2Coding",monospace;font-variant-numeric:tabular-nums}.app{width:100%;min-width:0;height:100dvh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 44px;background:var(--bg)}.app-header{display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface);z-index:20}.brand{min-width:260px}.brand strong{display:block;font-size:16px;line-height:20px}.brand span{color:var(--muted);font-size:11px}.header-presets{display:flex;align-items:center;gap:8px;flex:1}.header-actions{display:flex;gap:6px}.header-badge{padding:5px 9px;border:1px solid var(--border);border-radius:999px;color:var(--muted);white-space:nowrap}.shell{width:100%;min-width:0;min-height:0;display:grid;grid-template-columns:380px minmax(0,1fr) 340px;gap:10px;padding:10px}.input-rail,.workspace,.summary-panel{min-width:0;min-height:0;border:1px solid var(--border);background:var(--surface);border-radius:7px;box-shadow:var(--shadow)}.input-rail{overflow:auto;padding:10px}.workspace{overflow:hidden;display:grid;grid-template-rows:minmax(320px,1fr) minmax(180px,30dvh)}.summary-panel{overflow:auto;padding:12px}.toolbar-btn,.primary-btn,.secondary-btn,.icon-btn{min-height:44px;border:1px solid var(--border-strong);border-radius:5px;padding:0 12px;background:var(--surface);cursor:pointer}.toolbar-btn:hover,.secondary-btn:hover,.icon-btn:hover{background:var(--surface-2)}.primary-btn{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700}.primary-btn:active,.toolbar-btn:active{transform:translateY(1px)}.icon-btn{width:44px;padding:0}.compact-select{height:44px;border:1px solid var(--border);border-radius:5px;background:var(--surface);padding:0 30px 0 9px}.rail-intro{display:flex;justify-content:space-between;align-items:start;padding:4px 2px 10px}.rail-intro h2{font-size:16px;margin:0}.rail-intro p{margin:3px 0 0;color:var(--muted);font-size:11px}.dirty-count{color:var(--accent);font-size:11px}.form-group{border-top:1px solid var(--border)}.form-group summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;list-style:none}.form-group summary::-webkit-details-marker{display:none}.form-group summary:before{content:"›";font-size:18px;transform:rotate(0);transition:transform .12s}.form-group[open] summary:before{transform:rotate(90deg)}.group-body{padding:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{min-width:0;position:relative}.field.wide{grid-column:1/-1}.field label,.field .label{display:flex;align-items:center;gap:4px;min-height:20px;color:var(--text-2);font-size:11px}.field input,.field select{width:100%;height:44px;border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:0 40px 0 9px}.field input:focus,.field select:focus{border-color:var(--focus)}.field .unit{position:absolute;right:9px;bottom:14px;color:var(--muted);font-size:11px;pointer-events:none}.field.modified{border-left:3px solid var(--accent);padding-left:5px}.field.modified label:after{content:"✎ 수정됨";color:var(--accent);font-size:10px}.field.has-error input{border-color:var(--err)}.field .field-error{display:block;margin-top:3px;color:var(--err);font-size:10px;line-height:1.35}.help{grid-column:1/-1;padding:8px 9px;border-radius:4px;background:var(--info-bg);color:var(--info);font-size:11px;line-height:1.45}.form-actions{position:sticky;bottom:-10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0;background:linear-gradient(transparent,var(--surface) 20%)}.form-actions .primary-btn{height:48px}.stale{grid-column:1/-1;color:var(--warn);font-size:11px;align-self:center}.auto-calc{display:flex;align-items:center;min-height:44px;padding-right:8px;border:1px solid var(--border);border-radius:5px;cursor:pointer}.auto-calc input{width:44px;height:44px;margin:0;accent-color:var(--accent)}.calc-trigger{display:flex;align-items:center;justify-content:center;gap:7px}.calc-trigger:disabled{cursor:wait;opacity:.82}.calc-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:calc-spin .7s linear infinite}.calc-trigger.is-calculating .calc-spinner{display:inline-block}.calc-elapsed:empty{display:none}@keyframes calc-spin{to{transform:rotate(360deg)}}.summary-panel{position:relative}.summary-panel.is-stale:after{content:"입력 변경 · 재계산 중";position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:18px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface) 88%,transparent) 9px,color-mix(in srgb,var(--warn-bg) 90%,transparent) 9px,color-mix(in srgb,var(--warn-bg) 90%,transparent) 18px);color:var(--warn);font-weight:800;pointer-events:none}.stage-root{min-height:0;position:relative;background:linear-gradient(180deg,var(--surface),var(--surface-2))}.stage-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid var(--border)}.stage-toolbar strong{display:block}.stage-toolbar span{display:block;color:var(--muted);font-size:10px}.stage-toolbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.stage-surface-key{display:flex;align-items:center;justify-content:flex-end;gap:5px 9px;min-width:0;color:var(--muted);font-size:10px}.stage-surface-key span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.stage-surface-key i{display:inline-block;width:16px;height:3px;border-radius:2px}.stage-surface-key .stage-key-a i{background:var(--sheet-face-a)}.stage-surface-key .stage-key-b i{height:2px;background:repeating-linear-gradient(90deg,var(--sheet-face-b) 0 6px,transparent 6px 9px)}.stage-surface-key .stage-key-roll i{background:var(--roll-surface)}.stage-surface-rule{display:none;white-space:nowrap;color:var(--text-2);font-style:normal;font-weight:700}.stage-flag{display:inline-block!important;margin-left:4px;padding:3px 7px;border-radius:999px;background:var(--warn-bg);color:var(--warn)!important}.machine-svg{display:block;width:100%;height:calc(100% - 58px);min-height:270px}.svg-grid{fill:url(#dots)}#dots circle{fill:var(--border-strong)}#hatch line{stroke:var(--ghost);stroke-width:2}.extruder rect,.die path{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.5}.extruder text,.die text{fill:var(--text);font-size:11px;text-anchor:middle}.roll circle{fill:var(--surface);stroke:var(--phys);stroke-width:2}.roll--downstream circle{stroke:var(--ghost);stroke-dasharray:5 4;fill:url(#hatch)}.roll text{text-anchor:middle;fill:var(--text)}.roll-id{font-weight:800;font-size:13px}.roll-temp{font-size:10px;fill:var(--roll-surface)!important}.roll-role{font-size:9px;fill:var(--muted)!important}.roll-role.side{text-anchor:start;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.sheet-face{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.sheet-face-a{stroke:var(--sheet-face-a)}.sheet-face-b{stroke:var(--sheet-face-b);stroke-dasharray:7 3}.sheet-face-contact{stroke-width:3.6;filter:url(#soft-glow)}.sheet-face-air{stroke-width:2.2;opacity:.9}.sheet-base{fill:none;stroke:var(--phys);stroke-width:4}.sheet-flow{fill:none;stroke:var(--surface);stroke-width:1.5;stroke-dasharray:12 9;animation:sheet-flow 1.2s linear infinite}.water-loop{fill:none;stroke:var(--tcu);stroke-width:2;marker-end:url(#arrow)}.water-label,.water-caption{fill:var(--tcu);font-size:9px}.causal-line{stroke:var(--border-strong);stroke-width:2;stroke-dasharray:6 5}.causal-label{fill:var(--text-2);font-size:10px;font-weight:700}.ir-probe circle{fill:none;stroke:var(--info);stroke-width:2}.ir-probe text{fill:var(--info);font-size:10px}.dimension line{stroke:var(--border-strong);stroke-width:1;marker-start:url(#arrow);marker-end:url(#arrow)}.dimension text{fill:var(--muted);font-size:10px;text-anchor:middle}.readout rect,.tcu-readout rect{fill:var(--surface);stroke:var(--border)}.readout text,.tcu-readout text{fill:var(--text-2);font-size:10px}.readout .readout-value{fill:var(--phys);font-size:13px;font-weight:700}.tcu-readout .readout-value{fill:var(--tcu);font-size:13px;font-weight:700}@keyframes sheet-flow{to{stroke-dashoffset:-22}}.chart-slot{border-top:1px solid var(--border);min-height:0;overflow:hidden;padding:10px}.chart-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--border);border-radius:5px}.summary-header{display:flex;justify-content:space-between;gap:8px;align-items:start}.summary-header h2{margin:0;font-size:15px}.status-badge{padding:5px 8px;border-radius:999px;font-weight:700}.status-badge.valid{background:var(--valid-bg);color:var(--valid)}.status-badge.error{background:var(--err-bg);color:var(--err)}.uncalibrated{margin-top:10px;padding:9px;border:1px solid var(--border);background:repeating-linear-gradient(135deg,transparent,transparent 7px,rgba(92,104,116,.08) 7px,rgba(92,104,116,.08) 11px);color:var(--text-2);border-radius:5px}.headline{padding:14px 0;border-bottom:1px solid var(--border)}.headline-label{color:var(--text-2);font-size:11px}.headline-value{margin-top:5px;color:var(--phys);font-size:24px;font-weight:800}.headline-note{margin-top:5px;color:var(--muted);font-size:11px}.execution-band{margin:12px 0;padding:10px;background:var(--surface-2);border-radius:5px}.band-track{height:8px;background:linear-gradient(90deg,var(--info),var(--pha));border-radius:999px;margin:9px 0}.tcu-line{padding:10px 0;color:var(--tcu);border-bottom:1px solid var(--border)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.mini-tile{min-height:70px;padding:8px;border:1px solid var(--border);border-radius:5px;background:var(--surface)}.mini-tile .k{display:block;color:var(--muted);font-size:10px}.mini-tile .v{display:block;margin-top:5px;font-weight:700}.raw-readout{white-space:pre-wrap;font-size:10px;color:var(--muted);max-height:180px;overflow:auto}.alert-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-top:1px solid var(--border);background:var(--surface);z-index:15}.alert-summary{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.alert-counts{display:flex;gap:6px}.alert-chip{padding:4px 8px;border-radius:999px}.alert-chip.error{background:var(--err-bg);color:var(--err)}.alert-chip.warn{background:var(--warn-bg);color:var(--warn)}.alert-chip.info{background:var(--info-bg);color:var(--info)}.mobile-tabs,.mobile-band,.mobile-calc{display:none}@media(min-width:1200px){body{position:fixed;inset:0}}@media(max-width:1199px){html,body{overflow:auto}.app{height:auto;min-height:100dvh;overflow:visible;display:block;padding-top:96px;padding-bottom:64px}.app-header{display:none}.mobile-band{position:fixed;inset:0 0 auto;display:block;height:96px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);z-index:50}.mobile-band strong{font-size:18px;color:var(--phys)}.mobile-band-row{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.mobile-tabs{position:sticky;top:96px;display:grid;grid-template-columns:repeat(3,1fr);height:48px;background:var(--surface);z-index:40;border-bottom:1px solid var(--border)}.mobile-tabs button{border:0;border-right:1px solid var(--border);background:var(--surface);min-height:48px}.mobile-tabs button.active{color:var(--accent);border-bottom:3px solid var(--accent)}.shell{display:block;padding:0}.input-rail,.workspace,.summary-panel{border:0;border-radius:0;box-shadow:none;min-height:calc(100dvh - 208px)}.workspace{display:block}.stage-root{height:600px}.chart-slot{height:360px}.summary-panel{padding:16px}.shell>[data-mobile-panel]{display:none}.shell>[data-mobile-panel].active{display:block}.alert-bar{position:static;min-height:48px}.mobile-calc{position:fixed;display:block;bottom:0;left:0;right:0;height:64px;padding:8px 16px;background:var(--surface);border-top:1px solid var(--border);z-index:50}.mobile-calc button{width:100%;height:48px}.group-body{grid-template-columns:1fr}.field.wide,.help{grid-column:1}.form-actions{display:none}}@media(max-width:420px){.input-rail,.summary-panel{width:100%;padding-left:16px;padding-right:16px}.machine-svg{height:535px}.stage-toolbar{height:64px}.stage-toolbar>div:last-child{max-width:130px}.mini-grid{grid-template-columns:1fr 1fr}.headline-value{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{html,body{overflow:visible;background:#fff}body{position:static}.app{display:block;height:auto}.app-header,.mobile-tabs,.mobile-band,.mobile-calc,.form-actions,.header-actions{display:none!important}.shell{display:block;padding:0}.input-rail,.workspace,.summary-panel{box-shadow:none;border:1px solid #999;margin:0 0 8mm;overflow:visible}.input-rail{display:none}.stage-root{height:140mm}.chart-slot{height:90mm}.alert-bar{min-height:auto;padding:8px;border:1px solid #999}.uncalibrated:after{content:"상대 경향 · 미보정";font-size:24px;color:#777}@page{size:A4 landscape;margin:12mm}}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.result-tile{min-width:0;min-height:77px;padding:8px;border:1px solid var(--border);border-radius:5px;background:var(--surface)}.result-tile.primary{grid-column:1/-1;border-left:4px solid var(--phys)}.result-tile.tcu{grid-column:1/-1;border-left:4px solid var(--tcu)}.result-k,.result-note{display:block;color:var(--muted);font-size:10px;line-height:1.35}.result-v{display:block;margin:5px 0;font-size:14px;line-height:1.2;overflow-wrap:anywhere}.result-tile.primary .result-v{font-size:21px;color:var(--phys)}.result-tile.tcu .result-v{color:var(--tcu)}.inline-badge{display:inline-block;padding:3px 5px;border-radius:4px;font-family:"Segoe UI","Malgun Gothic",sans-serif;font-size:10px}.inline-badge.info{background:var(--info-bg);color:var(--info)}.band-track{position:relative}.band-track i{position:absolute;top:-4px;width:2px;height:16px;background:var(--text);transform:translateX(-1px)}.property-note{margin:8px 0;padding:8px;border-left:3px solid var(--warn);background:var(--warn-bg);color:var(--warn);font-size:11px;line-height:1.4}.sweep-table{width:100%;margin-top:8px;border-collapse:collapse;font-size:10px}.sweep-table caption{text-align:left;padding:6px 0;font-weight:700;color:var(--text-2)}.sweep-table th,.sweep-table td{padding:6px 4px;border-top:1px solid var(--border);text-align:left}.sweep-table th{white-space:nowrap}.result-detail summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}.lever-panel,.whatif{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.lever-panel h3,.whatif h3{margin:0;font-size:13px}.lever-panel p,.whatif p{margin:4px 0 8px;color:var(--muted);font-size:10px;line-height:1.4}.lever-panel ol{margin:0;padding:0;list-style:none}.lever-panel li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--border)}.lever-panel li span,.lever-panel li small{display:block}.lever-panel li small{color:var(--muted);margin-top:2px}.whatif-mode{display:grid;grid-template-columns:1fr 1fr;gap:5px}.whatif-mode label{display:flex;align-items:center;min-height:44px;padding:0;border:1px solid var(--border);border-radius:4px}.whatif-mode input{flex:0 0 44px;width:44px;height:44px;margin:0 3px 0 0}.whatif>input[type=range]{width:100%;height:44px;margin:4px 0;accent-color:var(--accent)}.whatif-readout{display:flex;justify-content:space-between;gap:5px;font-size:10px}.whatif-boundary{display:flex;align-items:center;gap:5px;margin:8px 0;color:var(--muted);font-size:9px}.whatif-boundary i{height:8px;flex:1;border-radius:999px;background:linear-gradient(90deg,var(--warn-bg) 0 35%,var(--valid-bg) 65% 100%)}.whatif-boundary.is-infeasible i{background:linear-gradient(90deg,var(--err) 0 58%,var(--warn-bg) 58% 70%,var(--valid-bg) 70%)}.whatif .secondary-btn{width:100%}.chart-slot{padding:6px 8px}.chart-head{height:25px;display:flex;align-items:start;justify-content:space-between;gap:8px}.chart-head span{color:var(--muted);font-size:9px}.profile-chart{display:block;width:100%;height:calc(100% - 25px);min-height:150px}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis,.aux-label{fill:var(--muted);font-size:9px}.profile-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.surface-a{stroke:var(--phys)}.surface-b{stroke:var(--pha);stroke-dasharray:7 3}.core-line{stroke:var(--accent);stroke-dasharray:2 3}.mass-line{stroke:var(--text);stroke-width:2.6}.ghost{stroke:var(--ghost);stroke-width:1;stroke-dasharray:8 5;opacity:.58}.aux-line{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}.aux-목표{stroke:var(--accent);stroke-width:1.5}.curl-caption{fill:var(--warn);font-size:9px;font-weight:700}.unreachable-label{fill:var(--err);font-size:18px;font-weight:800}.duty-title,.duty-label,.duty-number{fill:var(--text-2);font-size:8px}.duty-title{font-size:9px;font-weight:700}.duty-track{fill:var(--surface-2)}.duty-value{fill:var(--phys)}.chart-crosshair{stroke:var(--text);stroke-width:1;pointer-events:none}.chart-tooltip{pointer-events:none}.chart-tooltip rect{fill:var(--surface);stroke:var(--border-strong)}.chart-tooltip text{fill:var(--text);font-size:9px}.chart-hit{cursor:crosshair}.motion-paused .sheet-flow{animation-play-state:paused}.alert-counts{align-items:center}.warning-open{min-height:44px;height:44px;padding:0 9px}.warning-dialog{width:min(720px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 28px));padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);box-shadow:0 18px 80px rgba(0,0,0,.34)}.warning-dialog::backdrop{background:rgba(3,9,15,.62)}.warning-dialog form{padding:14px}.warning-dialog header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-14px;padding:8px 0;background:var(--surface);z-index:2}.warning-dialog h2{margin:0;font-size:17px}.warning-list{display:grid;gap:7px}.warning-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--border);border-left:4px solid var(--info);border-radius:5px}.warning-item.E{border-left-color:var(--err);background:var(--err-bg)}.warning-item.W{border-left-color:var(--warn);background:var(--warn-bg)}.warning-item p{margin:3px 0 0;color:var(--text-2);font-size:11px}.warning-focus{min-width:58px}.warning-navigation-toast{position:fixed;right:16px;bottom:16px;z-index:120;width:min(420px,calc(100vw - 32px));padding:11px 13px;border:1px solid var(--info);border-left:4px solid var(--info);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none}.warning-navigation-toast.is-visible{opacity:1}.calibration-procedure{margin:12px 0}.calibration-procedure h3{margin:0 0 8px;font-size:13px}.calibration-procedure ol{margin:0;padding-left:22px}.calibration-procedure li{margin:0 0 7px;line-height:1.45}.calibration-procedure .property-note{margin-top:10px}@media(max-width:1199px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-tile.primary,.result-tile.tcu{grid-column:auto}.chart-head{height:34px}.profile-chart{height:calc(100% - 34px)}.alert-bar{padding:8px 16px;flex-wrap:wrap}.alert-summary{width:100%;white-space:normal}.alert-counts{width:100%;flex-wrap:wrap}.warning-open{margin-left:auto}}@media(max-width:420px){.result-grid{grid-template-columns:1fr}.result-tile.primary,.result-tile.tcu{grid-column:1}.whatif-readout{display:grid}.warning-item{grid-template-columns:36px 1fr}.warning-item .warning-focus{grid-column:2;width:100%}.calibration-dialog form{padding:12px}.calibration-procedure{margin-block:10px}.calibration-procedure ol{padding-left:24px;padding-right:2px}.calibration-procedure li{margin-bottom:9px;line-height:1.55}.profile-chart{min-width:720px}.chart-slot{overflow:auto}.chart-head{position:sticky;left:0;width:calc(100vw - 16px)}}.hidden{display:none!important}.composition-body{display:block}.composition-body>.field{margin-bottom:8px}.direct-density{display:grid;gap:7px;padding:8px;background:var(--surface-2);border-radius:5px}.direct-density label{display:grid;grid-template-columns:1fr 110px auto;gap:5px;align-items:center}.direct-density input,.composition-row input,.composition-row select,.composition-body textarea{min-width:0;height:44px;border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:0 8px}.composition-body textarea{width:100%;height:92px;padding:8px;resize:vertical}.composition-columns,.composition-row{display:grid;grid-template-columns:minmax(100px,2fr) 68px 64px 62px 44px;gap:4px;align-items:center}.composition-columns{padding:4px;color:var(--muted);font-size:9px}.composition-row{margin-bottom:5px}.composition-actions{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:5px;margin:8px 0}.composition-result{display:grid;gap:3px;margin-top:8px;padding:9px;border-left:3px solid var(--phys);background:var(--info-bg);color:var(--info)}.composition-result span{font-size:10px}.composition-issues p{margin:5px 0;padding:7px;border-radius:4px}.composition-issues .E{background:var(--err-bg);color:var(--err)}.composition-issues .W{background:var(--warn-bg);color:var(--warn)}.composition-issues .I{background:var(--info-bg);color:var(--info)}.io-dialog{width:min(580px,calc(100vw - 28px));padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);box-shadow:0 18px 80px rgba(0,0,0,.34)}.io-dialog::backdrop{background:rgba(3,9,15,.62)}.io-dialog form{padding:14px}.io-dialog header{display:flex;align-items:center;justify-content:space-between}.io-dialog h2{margin:0;font-size:17px}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.io-grid .primary-btn{grid-column:1/-1}.file-label{display:flex;align-items:center;justify-content:center;cursor:pointer}.file-label input{display:none}.storage-badge{padding:8px;background:var(--warn-bg);color:var(--warn);border-radius:4px}.calc-evidence{margin-top:10px;border-top:1px solid var(--border)}.calc-evidence summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700}.evidence-content{font-size:10px;line-height:1.45}.evidence-content h3{margin:10px 0 3px;font-size:11px}.evidence-content p,.evidence-content ul,.evidence-content ol{margin:3px 0;padding-left:18px}.evidence-content table{width:100%;border-collapse:collapse}.evidence-content th,.evidence-content td{padding:3px;border:1px solid var(--border);text-align:left;overflow-wrap:anywhere}.evidence-content th{width:44%}@media(max-width:1199px){#alert-bar:not(.active){display:none}.composition-panel{margin-bottom:72px}}@media(max-width:420px){.composition-columns,.composition-row{grid-template-columns:minmax(95px,1fr) 58px 60px 56px 44px}.composition-editor{overflow-x:auto}.composition-actions,.io-grid{grid-template-columns:1fr}.io-grid .primary-btn{grid-column:1}.direct-density label{grid-template-columns:1fr}.direct-density input{width:100%;height:44px}}@media print{.calc-evidence{display:block!important;break-before:page}.calc-evidence .evidence-content{display:block!important}.calc-evidence table{font-size:8pt}.whatif,.result-detail,.warning-open,.io-dialog,.warning-dialog{display:none!important}.summary-panel{break-inside:avoid}.workspace{break-inside:avoid}.chart-slot{height:75mm}.stage-root{height:110mm}.result-grid{grid-template-columns:repeat(4,1fr)}.result-tile.primary,.result-tile.tcu{grid-column:auto}}.input-rail,.workspace,.summary-panel,.toolbar-btn,.primary-btn,.secondary-btn,.icon-btn,.compact-select,.field input,.field select,.help,.auto-calc,.chart-placeholder,.uncalibrated,.execution-band,.mini-tile,.result-tile,.inline-badge,.whatif-mode label,.warning-dialog,.warning-item,.direct-density,.direct-density input,.composition-row input,.composition-row select,.composition-body textarea,.composition-issues p,.io-dialog,.storage-badge{border-radius:var(--radius)}.uncalibrated{background:repeating-linear-gradient(135deg,transparent,transparent 7px,var(--hatch) 7px,var(--hatch) 11px)}.ghost{opacity:.88}.stage-toolbar span,.roll-temp,.roll-role,.water-label,.water-caption,.causal-label,.ir-probe text,.dimension text,.readout text,.tcu-readout text,.mini-tile .k,.raw-readout,.result-k,.result-note,.inline-badge,.sweep-table,.lever-panel p,.whatif p,.whatif-readout,.whatif-boundary,.chart-head span,.chart-axis,.aux-label,.curl-caption,.duty-title,.duty-label,.duty-number,.chart-tooltip text,.composition-columns,.composition-result span,.evidence-content{font-size:11px}.result-v{font-size:16px}.result-grid>.execution-band{grid-column:1/-1;margin:0}.diagnostic-detail{margin-top:8px;border-top:1px solid var(--border)}.diagnostic-detail summary{display:flex;align-items:center;min-height:44px;color:var(--text-2);font-weight:700;cursor:pointer}.diagnostic-detail dl{display:grid;gap:6px;margin:0 0 8px}.diagnostic-detail dl>div{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--surface-2);border-radius:var(--radius)}.diagnostic-detail dt,.diagnostic-detail dd{margin:0}@media(max-width:1199px){.mobile-band{height:auto;min-height:96px}.mobile-band>div:first-child,.mobile-band-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-band-row{gap:8px}.mobile-band-row strong{flex:1}.stage-root{height:min(600px,calc(100dvh - 260px));min-height:360px}.roll-temp,.roll-role,.water-label,.water-caption,.causal-label,.ir-probe text,.dimension text,.readout text,.tcu-readout text,.chart-axis,.aux-label,.curl-caption,.duty-title,.duty-label,.duty-number,.chart-tooltip text{font-size:12px}}@media(max-width:420px){.chart-slot{background-color:var(--surface);background-image:linear-gradient(to right,var(--surface),transparent),linear-gradient(to left,var(--surface),transparent),linear-gradient(to right,rgba(0,0,0,.16),transparent),linear-gradient(to left,rgba(0,0,0,.16),transparent);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:32px 100%,32px 100%,10px 100%,10px 100%;background-attachment:local,local,scroll,scroll}}:root{--stage-bg-a:#f8fafc;--stage-bg-b:#e7edf3;--steel-hi:#f7fbfd;--steel-mid:#a8b8c4;--steel-lo:#536675;--machine-dark:#253442;--machine-side:#5f7280;--stage-glow:rgba(14,124,134,.22)}:root[data-theme=dark]{--stage-bg-a:#101820;--stage-bg-b:#0b1015;--steel-hi:#d8e5ed;--steel-mid:#718897;--steel-lo:#263945;--machine-dark:#1d2b35;--machine-side:#455b69;--stage-glow:rgba(47,195,206,.28)}.stage-root{background:var(--stage-bg-b)}.stage-toolbar{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px)}.machine-svg{padding:3px}.stage-surface{fill:url(#stage-bg)}.svg-grid{fill:url(#dots);opacity:.42}#dots circle{fill:color-mix(in srgb,var(--border-strong) 65%,transparent)}.extruder .machine-shadow{fill:rgba(0,0,0,.15);transform:translate(7px,8px)}.extruder .machine-body{fill:var(--machine-dark);stroke:var(--steel-lo);stroke-width:1.4}.extruder .machine-top{fill:var(--machine-side);stroke:var(--steel-hi);stroke-width:.8}.extruder .machine-panel{fill:color-mix(in srgb,var(--surface) 84%,var(--steel-mid));stroke:var(--steel-mid);stroke-width:1.2}.extruder .machine-neck{fill:var(--steel-lo);stroke:var(--steel-mid);stroke-width:1}.extruder text,.die text{fill:var(--text);font-weight:650}.die path{fill:url(#steel-face);stroke:var(--steel-lo);stroke-width:1.3}.roll .roll-hit{fill:transparent;stroke:none}.roll .roll-shadow{fill:rgba(0,0,0,.19);stroke:none}.roll .roll-back{fill:var(--steel-lo);stroke:var(--steel-mid);stroke-width:1.2}.roll .roll-shell{fill:var(--steel-mid);stroke:var(--steel-lo);stroke-width:1}.roll .roll-face{fill:url(#steel-face);stroke:var(--steel-lo);stroke-width:1.5}.roll--downstream .roll-face{fill:url(#steel-face);stroke:var(--ghost);stroke-dasharray:4 3}.roll .roll-thermal{fill:none;stroke:var(--roll-surface);stroke-width:3;filter:url(#soft-glow);animation:thermal-pulse 2.8s ease-in-out infinite}.roll .roll-spokes{animation:roll-spin var(--spin-s) linear infinite;animation-direction:var(--spin-dir)}.roll .roll-spokes path{fill:none;stroke:rgba(25,39,49,.48);stroke-width:1.4}.roll .roll-spokes circle{fill:var(--machine-dark);stroke:var(--steel-hi);stroke-width:1}.roll-spin-symbol{font-size:16px;font-weight:900;fill:var(--phys)!important;paint-order:stroke;stroke:var(--surface);stroke-width:3px;pointer-events:none}.roll-id{paint-order:stroke;stroke:var(--surface);stroke-width:3px}.roll-temp{paint-order:stroke;stroke:var(--surface);stroke-width:2.5px;fill:var(--roll-surface)!important}.roll-role{font-weight:650}.roll[data-sheet-contact="false"] .roll-spokes,.roll[data-spin="inactive"] .roll-spokes{animation:none;opacity:.42}.roll[data-sheet-contact="false"] .roll-thermal{animation:none;opacity:.35;stroke-dasharray:4 3}.roll-noncontact{border-color:var(--ghost)}.roll-noncontact strong{color:var(--muted)}.sheet-heat-glow{fill:none;stroke:url(#sheet-thermal-gradient);stroke-width:13;opacity:.2;filter:url(#soft-glow)}.sheet-base{stroke:url(#sheet-thermal-gradient);stroke-width:6;filter:url(#soft-glow)}.sheet-flow{stroke:rgba(255,255,255,.92);stroke-width:1.7;stroke-dasharray:14 8;animation:sheet-flow var(--flow-s) linear infinite}.flow-particle{fill:#fff;stroke:var(--phys);stroke-width:1;filter:url(#soft-glow)}.water-loop{stroke-width:2.4;stroke-dasharray:5 4;animation:coolant-flow 1.6s linear infinite}.water-pulse{fill:var(--tcu);filter:url(#soft-glow);animation:water-pulse 1.6s ease-in-out infinite}.water-caption{font-weight:650}.causal-boundary line{stroke:var(--border-strong);stroke-width:2;stroke-dasharray:4 5}.causal-boundary text{fill:var(--text-2);font-size:11px;font-weight:750}.ir-probe rect,.dimension rect{fill:transparent;stroke:none}.ir-probe circle{fill:var(--surface);stroke:var(--info)}.ir-probe circle+circle{fill:var(--info)}.dimension line{stroke:var(--border-strong);stroke-dasharray:3 3}.readout rect,.tcu-readout rect{fill:color-mix(in srgb,var(--surface) 94%,transparent);stroke:var(--border-strong)}.readout>path,.tcu-readout>path{fill:none;stroke:var(--border);stroke-width:1}.readout .readout-value,.tcu-readout .readout-value{font-size:15px}.readout-meta{fill:var(--muted)!important;font-size:10px}.process-rail>line{stroke:var(--border-strong);stroke-width:1}.process-rail circle{fill:var(--surface);stroke:var(--phys);stroke-width:2}.process-rail text{fill:var(--muted);font-size:9px;text-anchor:middle;font-weight:650}[data-segment]{transition:filter .16s,opacity .16s}[data-segment].is-linked{filter:drop-shadow(0 0 5px var(--phys)) brightness(1.08)}.motion-paused .roll-spokes,.motion-paused .water-loop,.motion-paused .water-pulse,.motion-paused .roll-thermal{animation-play-state:paused}.motion-paused .flow-particle{display:none}@keyframes roll-spin{to{transform:rotate(360deg)}}@keyframes coolant-flow{to{stroke-dashoffset:-18}}@keyframes water-pulse{50%{r:5;opacity:.45}}@keyframes thermal-pulse{50%{stroke-width:5;opacity:.62}}@media(max-width:1199px){.machine-svg{padding:0}.process-rail text{font-size:12px}.readout .readout-value,.tcu-readout .readout-value{font-size:15px}}@media(prefers-reduced-motion:reduce){.roll-spokes,.water-loop,.water-pulse,.roll-thermal{animation:none!important}.flow-particle{display:none}}@media print{.roll-spokes,.water-loop,.water-pulse,.roll-thermal{animation:none}.flow-particle{display:none}.stage-surface{fill:#fff}.svg-grid{opacity:.2}}.workspace{grid-template-rows:minmax(300px,1fr) minmax(220px,34dvh)}.chart-slot{padding:7px 9px;background:var(--surface)}.chart-head{height:58px;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.2fr);align-items:start;gap:8px}.chart-head>div:first-child strong,.chart-head>div:first-child span{display:block}.chart-head>div:first-child span{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.25}.chart-legend{display:flex;justify-content:flex-end;align-content:flex-start;flex-wrap:wrap;gap:3px 9px;color:var(--muted);font-size:9px;line-height:13px}.chart-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.chart-legend span:before{content:"";display:inline-block;width:16px;height:3px;border-radius:2px;background:var(--text)}.chart-legend .legend-a:before{background:var(--sheet-face-a)}.chart-legend .legend-b:before{height:2px;background:repeating-linear-gradient(90deg,var(--sheet-face-b) 0 6px,transparent 6px 9px)}.chart-legend .legend-mass:before{height:4px;background:var(--text)}.chart-legend .legend-roll:before{background:var(--roll-surface)}.chart-legend .legend-tcu:before{height:2px;background:repeating-linear-gradient(90deg,var(--tcu) 0 3px,transparent 3px 6px)}.chart-legend .legend-sweep:before{height:7px;background:color-mix(in srgb,var(--phys) 18%,transparent);border:1px solid color-mix(in srgb,var(--phys) 40%,transparent)}.profile-chart{height:calc(100% - 58px);min-height:155px}.profile-chart .chart-axis,.profile-chart .aux-label{font-size:14px}.profile-chart .chart-axis-title{font-size:15px;font-weight:700}.zone-band{cursor:pointer}.zone-band rect{fill:color-mix(in srgb,var(--surface-2) 80%,transparent);stroke:var(--border);stroke-width:.6}.zone-band.zone-airgap rect{fill:color-mix(in srgb,var(--info-bg) 82%,transparent)}.zone-band.zone-nip rect{fill:color-mix(in srgb,var(--pha) 14%,var(--surface))}.zone-band.zone-primary rect{fill:color-mix(in srgb,var(--phys) 16%,var(--surface))}.zone-band.zone-downstream rect{fill:color-mix(in srgb,var(--ghost) 12%,var(--surface))}.zone-band text{fill:var(--text-2);font-size:12px;font-weight:750}.zone-band.is-linked rect{stroke:var(--phys);stroke-width:2}.mass-area{fill:url(#mass-fill)}.uncertainty-area{fill:color-mix(in srgb,var(--phys) 15%,transparent);stroke:none}.sheet-gradient-area{fill:color-mix(in srgb,var(--sheet-face-b) 7%,transparent);stroke:none}.profile-line{stroke-linejoin:round;stroke-linecap:round}.surface-a{stroke:var(--sheet-face-a);stroke-width:2.6}.surface-b{stroke:var(--sheet-face-b);stroke-width:2.4;stroke-dasharray:8 4}.core-line{stroke:var(--accent);stroke-width:2;stroke-dasharray:2 4}.mass-line{stroke:var(--text);stroke-width:3.6}.roll-temperature-line{stroke:var(--roll-surface);stroke-width:4;stroke-linecap:round}.tcu-temperature-line{stroke:var(--tcu);stroke-width:2.5;stroke-dasharray:3 4}.roll-temperature-label,.tcu-temperature-label{font-size:12px;font-weight:750;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.roll-temperature-label{fill:var(--roll-surface)}.tcu-temperature-label{fill:var(--tcu)}.causal-marker{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}.causal-marker-label{fill:var(--accent);font-size:12px;font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.curl-caption{font-size:12px;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.profile-chart .duty-title{font-size:14px;font-weight:800}.profile-chart .duty-label,.profile-chart .duty-number{font-size:12px}.duty-track{fill:var(--surface-2);stroke:var(--border);stroke-width:.6}.duty-value{fill:var(--phys)}.chart-crosshair{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:3 2}.chart-tooltip{filter:drop-shadow(0 5px 9px rgba(0,0,0,.18))}.chart-tooltip rect{fill:color-mix(in srgb,var(--surface) 96%,transparent);stroke:var(--border-strong)}.chart-tooltip text{fill:var(--text);font-size:12px}.chart-hit:focus-visible{outline:none;stroke:var(--focus);stroke-width:2}@media(max-width:1199px){.chart-head{height:76px;grid-template-columns:1fr}.chart-legend{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.profile-chart{height:calc(100% - 76px)}.profile-chart .chart-axis,.profile-chart .aux-label{font-size:15px}.zone-band text{font-size:14px}.roll-temperature-label,.tcu-temperature-label,.causal-marker-label,.curl-caption{font-size:14px}}@media(max-width:420px){.stage-toolbar{height:94px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;padding-top:8px}.stage-toolbar>div:first-child span{display:none}.stage-toolbar-meta{max-width:none}.stage-surface-key{display:grid;grid-template-columns:1fr;gap:1px}.stage-surface-rule{display:block}.machine-svg{height:calc(100% - 94px)}.chart-head{position:sticky;left:0;width:calc(100vw - 18px);height:82px;background:var(--surface);z-index:3}.profile-chart{height:calc(100% - 82px)}}@media print{.chart-head{height:38px}.chart-head>div:first-child span{display:none}.chart-legend{font-size:8pt}.profile-chart{height:calc(100% - 38px)}}.language-toggle{font-weight:800;color:var(--accent);letter-spacing:.02em}.mobile-language-toggle{position:absolute;top:10px;right:12px;width:44px;height:44px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--accent);font-weight:800;cursor:pointer}@media(max-width:1199px){.mobile-band{padding-right:68px}.mobile-band>div:first-child{padding-right:4px}}@media(max-width:420px){.stage-root{height:auto;min-height:0}.machine-svg{height:77.78vw;min-height:0}}@media print{.language-toggle,.mobile-language-toggle{display:none!important}}.stage-root{display:flex;flex-direction:column}.stage-toolbar{height:auto;min-height:58px;flex:0 0 auto;flex-wrap:wrap;align-content:center;padding-block:8px}.stage-toolbar-meta,.stage-surface-key{flex-wrap:wrap}.stage-surface-key span{white-space:normal}.machine-svg{height:auto;flex:1 1 0}.layout-obstacle-layer,.stage-annotation{pointer-events:none}.layout-obstacle-proxy{fill:none;stroke:transparent;stroke-width:1}.annotation-label{font-size:10px;fill:var(--text-2);font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.annotation-leader{fill:none;stroke:var(--border-strong);stroke-width:1;vector-effect:non-scaling-stroke}:is(.annotation-water-zone,.annotation-water-caption) .annotation-label{fill:var(--tcu)}.annotation-causal .annotation-label{fill:var(--accent);font-weight:800}.annotation-ir .annotation-label{fill:var(--info)}:is(.annotation-process-rail,.annotation-dimension) .annotation-label{fill:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chart-slot{display:flex;flex-direction:column}.chart-head{height:auto;min-height:58px;flex:0 0 auto}.profile-chart{height:auto;flex:1 1 0}.roll1-temperature-line{stroke-width:3;stroke-dasharray:7 4}.roll2-temperature-line{stroke-width:4}.die-setpoint-line{stroke:var(--tcu);stroke-width:1.5;stroke-dasharray:3 4}.melt-exit-marker{fill:var(--phys);stroke:var(--surface);stroke-width:2}.latent-sensitivity-line{stroke:var(--pha);stroke-width:2;stroke-dasharray:8 4}.die-setpoint-label,.melt-exit-label,.latent-sensitivity-label{font-size:11px;font-weight:750;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.die-setpoint-label{fill:var(--tcu);font-weight:700}.melt-exit-label{fill:var(--phys)}.latent-sensitivity-label{fill:var(--pha)}.chart-legend .legend-setpoint:before{height:2px;background:repeating-linear-gradient(90deg,var(--tcu) 0 3px,transparent 3px 7px)}.chart-legend .legend-latent:before{height:2px;background:repeating-linear-gradient(90deg,var(--pha) 0 8px,transparent 8px 12px)}@media(max-width:1199px){.stage-toolbar{align-items:center}.annotation-label{font-size:11px}.chart-head{min-height:76px}.chart-legend{flex-wrap:wrap;overflow:visible}.die-setpoint-label,.melt-exit-label,.latent-sensitivity-label{font-size:12px}}@media(max-width:420px){.stage-toolbar{height:auto;min-height:94px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;padding-block:8px}.machine-svg{height:77.78vw;min-height:0;flex:none}.annotation-label{font-size:13px;stroke-width:3.5px}.chart-head{height:auto;min-height:82px}.profile-chart{height:auto;min-height:155px}.chart-legend{gap:2px 7px}}@media print{.stage-toolbar{min-height:38px}.machine-svg{flex:none;height:calc(100% - 38px)}.annotation-label{font-size:10px}.chart-head{height:auto;min-height:38px}.profile-chart{height:auto;flex:1 1 0}}.target-group{border-top:3px solid var(--accent)}.inverse-status{grid-column:1/-1;display:grid;gap:2px;padding:9px;border-left:3px solid var(--accent);background:var(--surface-2);font-size:11px}.inverse-status span{color:var(--muted)}.field input:disabled,.field select:disabled{opacity:.72;cursor:not-allowed;background:var(--surface-2)}.roll-stack-editor,.nip-stack-editor,.circuit-map{grid-column:1/-1}.roll-stack-editor,.nip-stack-editor{display:grid;gap:8px}.roll-config,.nip-config{border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--surface-2)}.roll-config>header,.nip-config>header,.roll-result-card>header{display:flex;align-items:center;justify-content:space-between;min-height:28px}.roll-config>header span,.nip-config>header span,.roll-result-card>header span{color:var(--muted);font-size:10px}.roll-config-grid,.nip-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.roll-solved{display:grid;align-content:center;min-height:64px;padding:5px 8px;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--surface)}.roll-solved span{font-size:11px;color:var(--muted)}.roll-solved strong{color:var(--accent)}.circuit-map{display:flex;flex-wrap:wrap;gap:6px}.circuit-map span{min-height:32px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.circuit-map b,.roll-circuit{color:var(--tcu)}.roll-circuit{font-size:8px;font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:2px}.checkpoint{pointer-events:none}.checkpoint circle:first-child{fill:var(--surface);stroke:var(--accent);stroke-width:2}.checkpoint circle+circle{fill:var(--accent)}.checkpoint.is-target circle:first-child{stroke:var(--warn);stroke-width:4;filter:url(#soft-glow)}.nip-marker circle{fill:var(--surface);stroke:var(--pha);stroke-width:2}.span-marker{cursor:pointer}.span-hit-line{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;vector-effect:non-scaling-stroke}.span-marker:is(:hover,:focus-visible,.is-linked) .span-hit-line{stroke:color-mix(in srgb,var(--focus) 55%,transparent);stroke-width:8}.span-marker:focus-visible{outline:none}.checkpoint-marker.is-target,.stack-exit-marker.is-target{stroke:var(--warn);stroke-width:4}.stack-exit-marker{stroke:var(--phys)}.stack-exit-label{fill:var(--phys)}.zone-band[class*="zone-nip-"] rect{fill:color-mix(in srgb,var(--pha) 14%,var(--surface))}.zone-band.zone-wrap-r2 rect{fill:color-mix(in srgb,var(--phys) 16%,var(--surface))}.zone-band[class*="zone-wrap-r"] rect{stroke-color:var(--roll-surface)}.downstream-roll-temperature-line{stroke-width:3;stroke-dasharray:7 3}.result-subheading{margin:12px 0 6px;font-size:12px;color:var(--text-2)}.checkpoint-results,.roll-results,.circuit-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.checkpoint-card,.roll-result-card,.circuit-result-card{padding:9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.checkpoint-card h4{display:flex;justify-content:space-between;gap:6px;margin:0 0 7px;color:var(--accent)}.checkpoint-card h4 span{font-size:9px;color:var(--err)}.checkpoint-card.is-diagnostic{border-color:var(--err);background:var(--err-bg)}.checkpoint-card dl,.roll-result-card dl,.circuit-result-card dl{display:grid;gap:4px;margin:0}.checkpoint-card dl>div,.roll-result-card dl>div,.circuit-result-card dl>div{display:flex;justify-content:space-between;gap:8px}.checkpoint-card dt,.checkpoint-card dd,.roll-result-card dt,.roll-result-card dd,.circuit-result-card dt,.circuit-result-card dd{margin:0;font-size:11px}.checkpoint-card dt,.roll-result-card dt,.circuit-result-card dt{color:var(--muted)}.circuit-result-card{border-left:3px solid var(--tcu)}.circuit-result-card header{display:flex;justify-content:space-between;gap:8px}.circuit-result-card header span,.circuit-result-card p{color:var(--muted);font-size:10px}.circuit-result-card p{margin:7px 0 0}@media(max-width:1199px){.roll-stack-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.checkpoint-results,.roll-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.roll-stack-editor,.checkpoint-results,.roll-results,.circuit-results{grid-template-columns:1fr}.roll-config-grid,.nip-config-grid{grid-template-columns:1fr}.roll-config .field,.nip-config .field{min-height:64px}.circuit-map span{min-height:44px}}@media print{.roll-stack-group{display:none}.checkpoint-card,.roll-result-card{break-inside:avoid}}@media(max-width:420px){.stage-toolbar{grid-template-columns:1fr;min-height:112px}.stage-toolbar>div:last-child{max-width:none}.stage-toolbar-meta{justify-content:flex-start}.stage-surface-key{display:flex;justify-content:flex-start;flex-wrap:wrap}.stage-surface-rule{flex-basis:100%}.machine-svg{height:77.78vw}}.view-tabs{display:flex;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.view-tabs button{min-height:32px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-weight:750}.view-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,.12)}.equation-panel{display:none;min-width:0;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.formula-view .shell{grid-template-columns:minmax(0,1.15fr) minmax(410px,.85fr)}.formula-view .input-rail,.formula-view .summary-panel,.formula-view .chart-slot{display:none}.formula-view .workspace{display:block}.formula-view .stage-root{height:100%}.formula-view .equation-panel{display:block}[data-segment].is-equation-selected{filter:drop-shadow(0 0 7px var(--phys)) brightness(1.12)}.equation-header{padding:14px 16px 11px;border-bottom:1px solid var(--border)}.equation-header h2{margin:0;font-size:17px}.equation-contexts{display:flex;gap:5px;padding:9px 12px;overflow-x:auto;border-bottom:1px solid var(--border)}.equation-contexts button{flex:0 0 auto;min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-2);font-size:11px}.equation-contexts button.active{border-color:var(--phys);background:var(--info-bg);color:var(--phys);font-weight:800}.equation-legend{display:flex;gap:5px 10px;flex-wrap:wrap;padding:8px 14px;color:var(--muted);font-size:9px}.equation-legend span:before{content:"";display:inline-block;width:9px;height:2px;margin-right:4px;vertical-align:middle;background:var(--border-strong)}.equation-legend .input:before{background:var(--accent)}.equation-legend .derived:before{background:var(--info)}.equation-legend .calculated:before{background:var(--phys)}.equation-legend .assumption:before{background:var(--pha)}.equation-legend .range:before{background:var(--tcu)}.equation-list{padding:0 14px 8px}.equation-card{padding:13px 0;border-top:1px solid var(--border)}.equation-card:first-child{border-top:0}.equation-math{margin:9px 0;padding:10px 11px;border-left:3px solid var(--phys);background:var(--surface-2);font:600 14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.overline{text-decoration:overline}.equation-values{display:grid;grid-template-columns:1fr 1fr;gap:1px 14px}.equation-value{display:grid;grid-template-columns:minmax(50px,.55fr) minmax(92px,1fr);align-items:baseline;padding:6px 0;border-bottom:1px dotted var(--border)}.equation-value>code{grid-row:1/3;color:var(--text-2);font-weight:800}.equation-value>strong{text-align:right;color:var(--text);font-size:12px}.equation-value>strong small{font-weight:500;color:var(--muted)}.equation-value>span{grid-column:2;text-align:right;color:var(--muted);font-size:9px}.value-kind{font-style:normal;font-weight:750}.value-kind.input{color:var(--accent)}.value-kind.derived{color:var(--info)}.value-kind.calculated{color:var(--phys)}.value-kind.assumption{color:var(--pha)}.value-kind.range{color:var(--tcu)}@media(max-width:1199px){.mobile-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.equation-panel{border:0;border-radius:0;box-shadow:none;overflow:visible}.formula-view .workspace{min-height:0}.formula-view .stage-root{height:min(520px,62dvh);min-height:360px}.formula-view .equation-panel{min-height:auto}.formula-view .mobile-calc,.formula-view .alert-bar{display:none}.formula-view .shell>[data-mobile-panel].active{display:block}.equation-header{position:sticky;top:144px;z-index:8;background:var(--surface)}}@media(max-width:520px){.equation-values{grid-template-columns:1fr}.equation-header{padding-inline:12px}.equation-header>span{display:none}.equation-list{padding-inline:12px}.formula-view .stage-root{height:auto;min-height:0}.formula-view .machine-svg{height:77.78vw;min-height:0}.equation-math{font-size:12px}}@media(prefers-reduced-motion:reduce){[data-segment],.equation-contexts button{transition:none!important}}@media(max-width:1450px) and (min-width:1200px){.brand{min-width:180px}.brand span,.header-badge{display:none}#header-material{width:200px}#header-product{width:210px}.header-presets{min-width:0}}.roll-temperature-range-band{fill:color-mix(in srgb,var(--roll-surface) 13%,transparent)}.roll-temperature-range-edge{stroke:var(--roll-surface);stroke-width:1.5;stroke-dasharray:5 3}:root{--target-r2:#2f5dd0;--target-r3:#c46a00;--target-r4:#7357c7;--target-r5:#2b8a62;--target-r6:#bd4255}.roll-target-editor{grid-column:1/-1;display:grid;gap:7px}.roll-target-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px;border:1px solid var(--border);border-left:4px solid var(--target-color);border-radius:var(--radius);background:var(--surface-2)}.roll-target-enable{grid-column:1/-1;display:flex;align-items:center;min-height:44px;gap:7px;cursor:pointer}.roll-target-enable input{width:44px;height:44px;margin:0;accent-color:var(--target-color)}.roll-target-enable b{font-size:13px}.roll-target-metric{grid-column:1/-1;margin-top:-5px;color:var(--muted);font-size:10px}.roll-target-row .field:last-child{grid-column:1/-1}.recipe-checkpoint,.recipe-roll{border-left:4px solid var(--target-color)}.recipe-checkpoint h4{color:var(--target-color)}.recipe-table-wrap{overflow-x:auto}.recipe-stage-table{min-width:580px}.recipe-summary .result-tile.error{border-color:var(--err);background:var(--err-bg)}.roll-target-marker circle:first-of-type{fill:var(--surface);stroke:var(--target-color);stroke-width:3;filter:url(#soft-glow)}.roll-target-marker circle:nth-of-type(2){fill:var(--target-color)}.roll-target-marker text{fill:var(--target-color);font-size:9px;font-weight:850;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.roll-target-marker.is-failed circle:first-of-type{stroke:var(--err)}.roll-target-marker.is-failed text{fill:var(--err)}.chart-legend .legend-target:before{height:7px;border:2px solid var(--target-r2);background:transparent}.roll-exit-target-line{stroke:var(--target-color);stroke-width:1.5;stroke-dasharray:3 3}.roll-exit-target-tick{stroke:var(--target-color);stroke-width:4;stroke-linecap:round}.roll-exit-achieved-dot{fill:var(--surface);stroke:var(--target-color);stroke-width:3}.roll-exit-achieved-dot.is-failed{stroke:var(--err)}.roll-exit-target-label{fill:var(--target-color);font-size:11px;font-weight:850;paint-order:stroke;stroke:var(--surface);stroke-width:3px}@media(max-width:640px){.roll-target-row{grid-template-columns:1fr}.roll-target-row .field,.roll-target-row .field:last-child,.roll-target-enable,.roll-target-metric{grid-column:1}.recipe-stage-table{min-width:540px}.roll-target-marker text{font-size:11px}}@media print{.roll-target-enable input{appearance:none;width:12px;height:12px;border:1px solid #555}.roll-target-row{break-inside:avoid}.roll-target-marker text,.roll-exit-target-label{stroke:#fff}}.formula-view .ir-probe{pointer-events:none}.chart-slot{container-type:inline-size;min-width:0;overflow-x:hidden;overflow-y:auto;padding:9px 11px;gap:1px;background:var(--surface)}.chart-head{position:static;width:auto;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(170px,.78fr) minmax(250px,1.22fr);align-items:start;gap:7px 12px}.chart-head-tools{min-width:0;display:flex;align-items:flex-start;justify-content:flex-end;gap:8px}.chart-head-tools .chart-legend{flex:1 1 auto}.chart-detail-toggle{flex:0 0 auto;min-height:44px;padding:0 9px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-2);cursor:pointer;font-weight:750}.chart-detail-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.chart-head>div:first-child{min-width:0}.chart-head>div:first-child strong{font-size:13px;line-height:1.25}.chart-head>div:first-child span{margin-top:2px;font-size:10px;line-height:1.3;color:var(--muted)}.chart-legend{min-width:0;display:flex;justify-content:flex-end;align-items:center;align-content:flex-start;flex-wrap:wrap;gap:3px 10px;overflow:visible;padding:0;color:var(--muted);font-size:10px;line-height:14px}.chart-legend span{display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap}.chart-legend span:before{flex:0 0 auto;width:16px}.chart-head,.chart-origin,.chart-origin-readout,.checkpoint-flow,.chart-checkpoint-flow,.chart-axis-caption,.duty-strip,.chart-duty{flex:0 0 auto}.chart-legend .legend-a:before{height:3px;background:var(--sheet-face-a)}.chart-legend .legend-b:before{height:2px;background:repeating-linear-gradient(90deg,var(--sheet-face-b) 0 3px,transparent 3px 6px)}.chart-legend .legend-mass:before{height:4px;background:var(--text)}.chart-legend .legend-roll:before{height:3px;background:repeating-linear-gradient(90deg,var(--roll-surface) 0 12px,transparent 12px 16px)}.chart-legend .legend-tcu:before{height:7px;border:1px solid var(--tcu);background:color-mix(in srgb,var(--tcu) 12%,transparent)}.chart-legend .legend-target:before{display:none}.chart-origin,.chart-origin-readout{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:6px 8px;border-left:3px solid var(--phys);border-radius:3px;background:var(--surface-2);color:var(--text-2);font-size:11px;line-height:1.35}.chart-origin strong,.chart-origin-readout strong{color:var(--text);font-size:11px}.chart-origin b,.chart-origin-readout b{font-variant-numeric:tabular-nums;color:var(--phys)}.chart-origin .die-setpoint,.chart-origin-readout .die-setpoint,.chart-origin-readout span:last-child{color:var(--tcu)}.checkpoint-flow,.chart-checkpoint-flow{min-width:0;display:flex;align-items:stretch;gap:0;padding:1px 0;overflow:hidden;list-style:none;margin:0}.checkpoint-flow-arrow{flex:0 0 18px;display:grid;place-items:center;color:var(--muted);font-size:12px}.checkpoint-flow-node,.chart-checkpoint{appearance:none;position:relative;min-width:0;flex:1 1 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px;min-height:38px;margin:0;padding:5px 7px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:var(--text-2);font:inherit;font-size:10px;line-height:1.18;text-align:left;cursor:pointer}.checkpoint-flow-node strong,.chart-checkpoint strong{min-width:0;color:var(--text);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.checkpoint-flow-node small,.chart-checkpoint small{grid-column:1/-1;color:var(--target-color,var(--accent));font-size:10px;white-space:nowrap}.checkpoint-flow-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkpoint-flow-node:is(:hover,:focus-visible,.is-linked),.chart-checkpoint:is(:hover,:focus-visible,.is-linked){z-index:2;outline:2px solid var(--focus);outline-offset:-2px;background:var(--info-bg)}.checkpoint-flow-metric{flex:0 0 auto;align-self:center;padding:0 2px 0 6px;color:var(--muted);font-size:10px;white-space:nowrap}.profile-chart{display:block;width:100%;height:auto;min-width:0;min-height:0;max-width:100%;flex:none;overflow:visible}.profile-chart text,.duty-chart text{font-family:inherit;font-size:11px}.profile-chart .chart-axis,.profile-chart .aux-label{font-size:11px}.profile-chart .chart-unit{font-size:11px;font-weight:750}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--muted);font-variant-numeric:tabular-nums}.zone-band rect{fill:color-mix(in srgb,var(--surface-2) 82%,transparent);stroke:var(--border);stroke-width:.75}.zone-band text{fill:var(--text-2);font-size:11px;font-weight:800}.zone-band.zone-airgap rect{fill:color-mix(in srgb,var(--info-bg) 84%,transparent)}.zone-band[class*="zone-nip-"] rect{fill:color-mix(in srgb,var(--pha) 13%,var(--surface))}.zone-band.zone-wrap-r2 rect,.zone-band[class*="zone-wrap-r"] rect{fill:color-mix(in srgb,var(--phys) 12%,var(--surface));stroke:color-mix(in srgb,var(--roll-surface) 65%,var(--border))}.zone-band[class*="zone-span-"] rect{fill:color-mix(in srgb,var(--ghost) 9%,var(--surface))}.zone-band:is(:hover,:focus-visible,.is-linked) rect{stroke:var(--focus);stroke-width:2}.zone-band:focus-visible{outline:none}.mass-area{fill:url(#mass-fill)}.sheet-gradient-area{fill:color-mix(in srgb,var(--sheet-face-a) 5%,var(--sheet-face-b) 7%);stroke:none}.profile-line{fill:none;vector-effect:non-scaling-stroke}.surface-a{stroke:var(--sheet-face-a);stroke-width:2.4}.surface-b{stroke:var(--sheet-face-b);stroke-width:2.3;stroke-dasharray:3 3}.core-line{stroke:var(--muted);stroke-width:1.25;stroke-dasharray:2 4;opacity:.62}.mass-line{stroke:var(--text);stroke-width:3.8}.series-label-leader{fill:none;stroke-width:1;opacity:.72}.series-label-leader.surface-a-label{stroke:var(--sheet-face-a)}.series-label-leader.surface-b-label{stroke:var(--sheet-face-b);stroke-dasharray:3 2}.series-label-leader.mass-label{stroke:var(--text)}.series-direct-label{font-size:11px;font-weight:900;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.series-direct-label.surface-a-label{fill:var(--sheet-face-a)}.series-direct-label.surface-b-label{fill:var(--sheet-face-b)}.series-direct-label.mass-label{fill:var(--text)}.roll-temperature-line{stroke:var(--roll-surface);stroke-width:3.4;stroke-dasharray:14 5;stroke-linecap:round}.roll-temperature-range-band{fill:color-mix(in srgb,var(--roll-surface) 14%,transparent);stroke:none}.roll-temperature-range-edge{stroke:var(--roll-surface);stroke-width:1.4;stroke-dasharray:5 3}.roll-temperature-label,.tcu-temperature-label{font-size:11px;font-weight:850;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.roll-temperature-label{fill:var(--roll-surface)}.tcu-temperature-label{fill:var(--tcu)}.tcu-range-band{fill:color-mix(in srgb,var(--tcu) 11%,transparent);stroke:none}.tcu-temperature-line{stroke:var(--tcu);stroke-width:1.6;stroke-dasharray:3 4}.die-setpoint-line{stroke:var(--tcu);stroke-width:1.4;stroke-dasharray:3 4}.melt-exit-marker{fill:var(--phys);stroke:var(--surface);stroke-width:2}.aux-line{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:4 4}.aux-target{stroke:var(--accent);stroke-width:1.5}.aux-leader{fill:none;stroke:var(--border-strong);stroke-width:1}.aux-label{fill:var(--muted);font-size:11px;font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.aux-label-target{fill:var(--accent);font-weight:850}.roll-exit-target-line{stroke:var(--target-color);stroke-width:1.3;stroke-dasharray:3 3}.roll-exit-target-ring{fill:var(--surface);stroke:var(--target-color);stroke-width:2.5}.roll-exit-achieved-dot{fill:var(--target-color);stroke:var(--surface);stroke-width:1.5}.roll-exit-achieved-dot.is-failed{fill:var(--err);stroke:var(--surface)}.roll-exit-target-label,.causal-marker-label{font-size:11px;font-weight:850;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.roll-exit-marker-group:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--focus))}.chart-axis-caption{margin-top:-4px;color:var(--muted);font-size:10px;line-height:1.2;text-align:center}.chart-crosshair{stroke:var(--accent);stroke-width:1.25;stroke-dasharray:3 2}.chart-tooltip{filter:drop-shadow(0 5px 9px rgba(0,0,0,.2))}.chart-tooltip rect{fill:color-mix(in srgb,var(--surface) 97%,transparent);stroke:var(--border-strong)}.chart-tooltip text{fill:var(--text);font-size:11px}.chart-hit:focus-visible{outline:none;stroke:var(--focus);stroke-width:2}.duty-strip,.chart-duty{min-width:0;padding-top:6px;border-top:1px solid var(--border)}.duty-strip-head,.chart-duty-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:3px}.duty-strip-head strong,.chart-duty-head strong{font-size:11px}.duty-strip-head span,.chart-duty-head span{color:var(--muted);font-size:9px;line-height:1.25;text-align:right}.duty-chart{display:block;width:100%;height:auto;min-width:0;max-width:100%;overflow:visible}.duty-lane:is(:hover,:focus-visible,.is-linked){outline:none;filter:drop-shadow(0 0 3px var(--focus))}.duty-track{fill:var(--surface-2);stroke:var(--border);stroke-width:.7}.duty-value{fill:var(--phys)}.duty-range{fill:color-mix(in srgb,var(--phys) 22%,transparent);stroke:var(--phys);stroke-width:1}.duty-label,.duty-number{fill:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums}.duty-label{font-weight:800}.duty-number{fill:var(--muted)}@container(max-width:679px){.chart-head{grid-template-columns:minmax(170px,.7fr) minmax(280px,1.3fr)}.chart-legend{justify-content:flex-end}.chart-head>div:first-child span{font-size:10px}.profile-chart text,.duty-chart text,.profile-chart .chart-axis,.profile-chart .aux-label{font-size:12px}.zone-band text,.series-direct-label,.roll-temperature-label,.tcu-temperature-label,.roll-exit-target-label,.causal-marker-label,.chart-tooltip text{font-size:12px}.chart-axis-caption{font-size:11px}}@container(max-width:429px){.chart-slot{padding:8px;gap:6px}.chart-head{display:block}.chart-head>div:first-child span{display:block}.chart-head-tools{display:grid;grid-template-columns:minmax(0,1fr) auto}.chart-legend{margin-top:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}.chart-legend span{overflow:hidden;text-overflow:ellipsis}.chart-detail-toggle{margin-top:5px}.chart-origin,.chart-origin-readout{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:6px 7px}.checkpoint-flow,.chart-checkpoint-flow{display:grid;grid-template-columns:1fr}.checkpoint-flow-arrow{display:none}.checkpoint-flow-node,.chart-checkpoint{width:100%;min-height:33px;padding:4px 7px}.duty-strip-head,.chart-duty-head{display:block}.duty-strip-head span,.chart-duty-head span{display:block;margin-top:1px;text-align:left}.profile-chart{width:100%;min-width:0}.chart-axis-caption{margin-top:-2px}}@media(max-width:1199px){.chart-slot{height:auto;min-height:360px}.chart-head{min-height:0}.profile-chart{height:auto;min-height:0}.chart-legend{flex-wrap:wrap;overflow:visible}}@media(max-width:420px){.chart-slot{height:auto;min-height:0;overflow:hidden;padding-bottom:76px}.chart-head{position:static;width:auto;height:auto;min-height:0}.profile-chart{width:100%;height:auto;min-width:0;min-height:0}.chart-legend{overflow:visible}}@media(min-width:1200px){.workspace{grid-template-rows:minmax(318px,1fr) minmax(318px,43dvh)}.stage-root{overflow:hidden}.machine-svg{min-height:0}}@media(prefers-reduced-motion:reduce){.checkpoint-flow-node,.chart-checkpoint,.zone-band,.duty-lane,.roll-exit-marker-group{transition:none!important}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#f3f5f7;--border:#b7c0c9;--border-strong:#737f8a;--text:#111;--text-2:#303840;--muted:#505b65;--accent:#174ea6;--phys:#006d77;--tcu:#4c2d8d;--pha:#8b4c00;--warn:#704000;--ghost:#5d6872;--sheet-face-a:#006d77;--sheet-face-b:#8b4c00;--roll-surface:#176b3a}.chart-slot{overflow:visible;padding:5px;background:#fff;color:#111}.chart-head{grid-template-columns:1fr auto}.chart-head>div:first-child span{display:none}.chart-detail-toggle{display:none}.chart-origin,.chart-origin-readout,.checkpoint-flow-node,.chart-checkpoint{background:#fff}.profile-chart,.duty-chart{width:100%;height:auto;background:#fff}.chart-tooltip,.chart-hit{display:none}}.has-measurement-guide{container:equipment / inline-size;height:auto!important;min-height:0!important;overflow:visible!important}@media(min-width:1200px){.app:not(.formula-view) .workspace:has(.has-measurement-guide){display:block;overflow:auto}}.has-measurement-guide .stage-toolbar{min-height:54px}.stage-result-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.stage-result-line>span{font-size:12px;font-weight:650}.stage-result-line strong{color:var(--roll-surface);font-size:18px;font-variant-numeric:tabular-nums}.stage-result-line small{font-size:11px;color:var(--muted)}.stage-workbench{display:grid;grid-template-columns:minmax(0,1fr) 274px;min-width:0}.stage-drawing{display:flex;flex-direction:column;min-width:0;justify-content:center}.has-measurement-guide .machine-svg{width:100%;height:360px;min-height:300px;flex:0 0 auto;padding:4px}.stage-drawing-caption{padding:5px 12px 10px;color:var(--muted);font-size:11px;line-height:1.45}.stage-drawing-caption>span{display:block;margin-top:6px}.stage-drawing-caption .stage-surface-key{justify-content:flex-start;font-size:11px}.stage-route-caption{font-size:11px;color:var(--muted);padding:7px 12px;border-top:1px solid var(--border);overflow-wrap:anywhere;background:var(--surface)}.stage-guide{padding:10px;background:var(--surface);border-left:1px solid var(--border);font-size:12px;line-height:1.5;min-width:0}.stage-guide-switch{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;background:var(--surface-2);border-radius:6px}.stage-guide button{cursor:pointer;font:inherit;color:var(--text);min-height:44px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.stage-guide-switch button{padding:4px;border:0;background:transparent;font-size:11px;font-weight:750}.stage-guide-switch button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0002}.stage-guide-points{display:flex;gap:5px;margin:9px 0;flex-wrap:wrap}.stage-guide-points button{display:flex;flex:1 1 55px;flex-direction:column;align-items:center;padding:5px 3px;gap:2px;min-width:0}.stage-guide-points b{font-size:12px;color:var(--accent)}.stage-guide-points span{font-size:11px}.stage-guide-points strong{font-size:12px;font-variant-numeric:tabular-nums}.stage-guide-points button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.stage-guide-detail>header{display:flex;align-items:center;gap:7px;margin:12px 0 6px;flex-wrap:wrap}.stage-guide-detail h3{font-size:13px;margin:0}.stage-guide-detail header span:not(.stage-point-badge){font-size:11px;color:var(--muted)}.stage-guide-detail header>strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--text)}.stage-point-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border:2px solid var(--accent);border-radius:50%;font-size:11px;font-weight:800;color:var(--accent)}.stage-point-badge.prediction{border-radius:3px;border-color:var(--text-2);color:var(--text-2)}.stage-guide p{margin:8px 0}.stage-guide-note,.stage-guide-safety{color:var(--muted);font-size:11px}.stage-guide-safety{border-top:1px solid var(--border);padding-top:9px}.stage-guide-basis{color:var(--warn);font-size:11px}.stage-guide .stage-guide-action{width:100%;text-align:left;padding:6px 9px;color:var(--accent);font-weight:750}.stage-guide button:disabled{cursor:not-allowed;opacity:.55}.stage-guide-temperatures{display:flex;gap:10px;margin:8px 0;font-size:11px}.stage-guide-temperatures>div{flex:1;min-width:0;border-top:3px solid var(--ghost);padding-top:4px}.stage-guide-temperatures dd{margin:0;font-weight:750;font-size:13px;white-space:nowrap}.stage-guide-temperatures .guide-face-a{border-color:var(--sheet-face-a)}.stage-guide-temperatures .guide-face-b{border-color:var(--sheet-face-b);border-top-style:dashed}.stage-guide button:focus-visible,.guide-pin:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.guide-pin{cursor:pointer;--pin-color:var(--accent)}.guide-pin.prediction{--pin-color:var(--text-2)}.guide-pin-leader{fill:none;stroke:var(--pin-color);stroke-width:1.2;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.guide-pin-anchor{fill:var(--surface);stroke:var(--pin-color);stroke-width:2}.guide-pin-shape{fill:var(--surface);stroke:var(--pin-color);stroke-width:1.8}.guide-pin.is-selected .guide-pin-shape{fill:var(--pin-color)}.guide-pin text{font-size:12px;font-weight:800;text-anchor:middle;fill:var(--pin-color);pointer-events:none}.guide-pin.is-selected text{fill:var(--surface)}.guide-pin-hit{fill:transparent;stroke:none}.has-measurement-guide .sheet-heat-glow{display:none}.has-measurement-guide .sheet-base{stroke:var(--sheet-face-a);filter:none;stroke-width:3}.has-measurement-guide .sheet-primary{display:none!important}.has-measurement-guide .sheet-face-pair{display:block!important}.has-measurement-guide .roll--downstream:not(.is-targeted){opacity:1!important;filter:none!important}.has-measurement-guide .sheet-face-contact{filter:none}.has-measurement-guide .roll-thermal{filter:none;animation:none;stroke-width:2}.has-measurement-guide .roll[data-roll]{filter:none!important}.sheet-width-back{fill:none;stroke:var(--steel-mid);stroke-width:1}.sheet-width-ribbon{fill:color-mix(in srgb,var(--sheet-face-a) 12%,var(--surface));stroke:var(--steel-mid);stroke-width:.5;opacity:.65;pointer-events:none}.equipment-frame{opacity:.65;pointer-events:none}.bearing-block{fill:var(--steel-lo);stroke:var(--steel-mid)}.bearing-hub{fill:var(--machine-dark);stroke:var(--steel-hi);stroke-width:2}.frame-brace{fill:none;stroke:var(--steel-mid);stroke-width:7}.equipment-anatomy .machine-foot{fill:var(--steel-lo)}.equipment-anatomy .motor-fins{fill:none;stroke:var(--steel-mid);stroke-width:2}.equipment-anatomy .heater-band,.equipment-anatomy .hopper-body{fill:url(#steel-face);stroke:var(--steel-lo);stroke-width:1}.heater-seam{fill:none;stroke:var(--steel-hi);stroke-width:1}.hopper-rim,.hopper-side,.feed-throat{fill:var(--steel-mid);stroke:var(--steel-lo);stroke-width:1}.equipment-anatomy .die-depth{fill:var(--steel-mid)}.equipment-anatomy .die-lip{fill:var(--machine-dark)}.equipment-anatomy .equipment-label{font-size:var(--stage-meta-font,11px)!important;font-weight:650;paint-order:stroke;stroke:var(--stage-bg-a);stroke-width:3px}@container equipment (max-width:780px){.stage-workbench{grid-template-columns:1fr}.stage-guide{border-left:0;border-top:1px solid var(--border)}.stage-guide-detail>header{margin-top:8px}.stage-guide-temperatures{max-width:400px}.stage-guide-detail .stage-guide-action{max-width:360px}.stage-guide-switch{max-width:440px}.stage-guide-points{max-width:540px}.has-measurement-guide .machine-svg{height:330px;min-height:260px}}@container equipment (max-width:430px){.has-measurement-guide .machine-svg{height:280px;min-height:240px}.stage-result-line{padding:8px 10px}.stage-result-line strong{font-size:17px}.stage-guide{padding:10px 12px;font-size:13px}.stage-guide-switch button,.stage-guide-points span,.stage-guide-note,.stage-guide-safety{font-size:12px}.stage-guide-detail h3{font-size:14px}.stage-guide-detail .stage-guide-action{max-width:none}.stage-guide-points button{min-height:48px}.stage-drawing-caption .stage-surface-rule{display:none}}@media print{.has-measurement-guide{break-inside:avoid}.stage-workbench{grid-template-columns:minmax(0,1fr) 270px}.stage-guide-action,.stage-guide-switch{display:none}.has-measurement-guide .machine-svg{height:80mm}.stage-guide{font-size:9pt}.stage-guide-points button{min-height:24px}.guide-pin-hit{display:none}}.has-measurement-guide .guide-pin text{font-size:var(--stage-readable-font,12px)}.stage-guide{scroll-margin-top:154px}.ui-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:9px;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.ui-mode-switch button{min-width:0;min-height:44px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-weight:750}.ui-mode-switch button:is(.active,[aria-pressed=true]){background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #0002}.simple-inputs,.simple-workflow,.quick-roll-list{min-width:0;display:grid;gap:8px}.simple-workflow>section{min-width:0;padding:8px;border:1px solid var(--border);border-left:3px solid var(--phys);border-radius:var(--radius)}.simple-workflow>section>header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.simple-workflow h3{margin:0;font-size:13px}.simple-workflow p{margin:3px 0;color:var(--muted);font-size:10px}.simple-workflow .group-body{padding-bottom:0}.simple-inputs .auto-calc.wide{grid-column:1/-1;min-height:44px}.quick-answer{min-width:0;margin:10px 0;padding:11px;border:1px solid var(--border);border-left:4px solid var(--phys);border-radius:var(--radius);background:var(--surface-2)}.quick-answer.is-infeasible{border-left-color:var(--err)}.quick-answer.is-warning{border-left-color:var(--warn)}.status-badge.warning{background:var(--warn-bg);color:var(--warn)}.quick-answer>header{display:flex;justify-content:space-between;gap:8px}.quick-answer>header .status-badge{white-space:nowrap}.quick-answer h2,.quick-answer h3{margin:0;font-size:15px}.quick-answer p{margin:4px 0;color:var(--muted);font-size:10px}.quick-answer .headline-value,.quick-answer-value{margin-top:6px;color:var(--phys);font-size:24px;font-weight:850;overflow-wrap:anywhere}.quick-answer.is-infeasible .quick-answer-value{color:var(--err)}.quick-answer.is-warning .quick-answer-value{color:var(--warn)}.quick-answer-meta{display:flex;flex-wrap:wrap;gap:4px 9px;color:var(--text-2);font-size:10px}.quick-roll-list{margin-top:8px;gap:6px}.quick-roll{--c:var(--phys);min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);gap:3px 7px;padding:8px;border:1px solid var(--border);border-left:4px solid var(--c);border-radius:4px}.quick-roll:is([data-roll=R2],.r2){--c:var(--target-r2)}.quick-roll:is([data-roll=R3],.r3){--c:var(--target-r3)}.quick-roll:is([data-roll=R4],.r4){--c:var(--target-r4)}.quick-roll>strong,.quick-roll .result-v{min-width:0;color:var(--c);overflow-wrap:anywhere}.quick-roll small,.quick-roll p,.quick-roll .result-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:10px}.engineering-details{min-width:0;margin-top:12px;border-top:1px solid var(--border)}.engineering-details>summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-2);font-weight:750;list-style:none}.engineering-details>summary:before{content:"›";font-size:18px}.engineering-details[open]>summary:before{transform:rotate(90deg)}.engineering-details[open]>summary{color:var(--accent)}.simple-fixed-target strong{min-height:44px;display:flex;align-items:center;padding:0 9px;border:1px solid var(--border);border-radius:4px;background:var(--surface)}.simple-composition-active button,.simple-target-mismatch button{width:100%;min-height:44px;margin-top:7px}@media(max-width:420px){.simple-inputs,.simple-workflow,.quick-roll-list{width:100%;max-width:100%}.quick-answer>header{display:block}.quick-answer .headline-value,.quick-answer-value{font-size:21px}}@media(max-width:340px){.ui-mode-switch button{font-size:12px}.simple-workflow>section{padding-inline:5px}.quick-roll{display:block}}@media print{.ui-mode-switch,.engineering-details>summary{display:none}.quick-answer,.quick-roll{break-inside:avoid}.engineering-details>*{display:block!important}}.machine-svg{--stage-readable-font:16px;--stage-meta-font:12px}.machine-svg .roll-id,.machine-svg .roll-temp,.machine-svg .readout text,.machine-svg .tcu-readout text,.machine-svg .die text,.machine-svg .roll-target-marker text{font-size:var(--stage-readable-font)!important}.machine-svg .annotation-label{font-size:var(--stage-meta-font)!important}.machine-svg .annotation-roll-role .annotation-label,.machine-svg .annotation-causal .annotation-label,.machine-svg .annotation-ir .annotation-label{font-size:var(--stage-readable-font)!important}.machine-svg .roll-circuit,.machine-svg .annotation-water-zone .annotation-label,.machine-svg .annotation-water-caption .annotation-label,.machine-svg .annotation-process-rail .annotation-label,.machine-svg .annotation-dimension .annotation-label{font-size:var(--stage-meta-font)!important}.sheet-primary{display:none;fill:none;stroke:var(--phys);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:url(#soft-glow)}.sheet-heat-glow,.sheet-base,.sheet-flow{stroke-linecap:round;stroke-linejoin:round}.sheet-face-pair{transition:opacity .16s ease}.roll--downstream{transition:opacity .16s ease,filter .16s ease}.app[data-ui-mode=simple] .stage-toolbar-meta:empty{display:none}.app[data-ui-mode=simple] .sheet-primary{display:block}.app[data-ui-mode=simple] .sheet-face-pair{display:none}.app[data-ui-mode=simple] .roll--downstream:not(.is-targeted){opacity:.34;filter:saturate(.45)}.app[data-ui-mode=simple] .roll--downstream:not(.is-targeted) .roll-temp,.app[data-ui-mode=simple] .roll--downstream:not(.is-targeted) .roll-circuit{display:none}.app[data-ui-mode=simple] .roll-circuit,.app[data-ui-mode=simple] .engineering-only{display:none}.app[data-ui-mode=simple] .roll[data-roll="1"],.app[data-ui-mode=simple] .roll[data-roll="2"]{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--phys) 40%,transparent))}.app[data-ui-mode=simple] .stage-toolbar{min-height:50px}@media(max-width:1199px){.machine-svg{min-height:300px}.app[data-ui-mode=simple] .stage-root{height:min(520px,62dvh)}}@media(max-width:420px){.machine-svg{min-height:0}.app[data-ui-mode=simple] .stage-root{height:auto}.app[data-ui-mode=simple] .machine-svg{height:58vw;min-height:250px}}@media(prefers-reduced-motion:reduce){.sheet-face-pair,.roll--downstream{transition:none!important}.sheet-primary{filter:none}}@media print{.machine-svg{--stage-readable-font:12px;--stage-meta-font:10px}.sheet-primary{filter:none}.roll--downstream{opacity:1!important;filter:none!important}}.equipment-tour-open{font:inherit;font-size:12px;font-weight:750;min-height:44px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:5px;color:var(--accent);background:var(--surface);cursor:pointer;margin-left:auto}.equipment-tour{width:min(1360px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 24px 90px #0007;overflow:auto;font:14px/1.5 system-ui,'Malgun Gothic',sans-serif}.equipment-tour::backdrop{background:#07121cc9;backdrop-filter:blur(4px)}.equipment-tour button{font:inherit;cursor:pointer;min-height:44px}.equipment-tour button:disabled{cursor:not-allowed;opacity:.65}.equipment-tour button:focus-visible,.equipment-tour input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.equipment-tour h2,.equipment-tour h3,.equipment-tour p{margin:0}.equipment-tour h3{font-size:14px}.tour-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px;position:sticky;top:0;z-index:3;background:var(--surface)}.tour-header h2{font-size:20px;line-height:1.3}.tour-header p{font-size:12px;color:var(--muted);margin-top:5px}.tour-header>button{font-size:26px;width:44px;flex:0 0 44px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text)}.tour-body{display:grid;grid-template-columns:minmax(0,1fr) 320px}.tour-visual{min-width:0;background:#101a21}.tour-view-tabs{display:flex;flex-wrap:wrap;padding:10px 14px;gap:6px;background:var(--surface)}.tour-view-tabs button{color:var(--text-2);background:transparent;border:0;border-radius:5px;padding:6px 12px;font-size:12px}.tour-view-tabs button[aria-pressed=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface));font-weight:800}.tour-image-box{position:relative;aspect-ratio:8/5;background:#071219;overflow:hidden}.tour-image{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}.tour-overlay-slot,.tour-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tour-image-status{position:absolute;top:44%;left:10%;right:10%;padding:15px;color:#f2f7fa;background:#10242ce8;border-radius:6px;text-align:center;font-size:13px}.tour-image-status[hidden]{display:none}.tour-data-leader{stroke:#c5d4da;stroke-width:1.5;stroke-dasharray:4 4;opacity:.75}.tour-value-pin rect{fill:#112731ed;stroke:#a4b4bc;stroke-width:1.5}.tour-value-pin text{fill:#edf6f9;font-family:system-ui,sans-serif;font-size:25px;font-weight:750}.tour-value-pin .tour-value-id{fill:#9db2bd;font-size:22px}.tour-value-pin.recommended rect{stroke:#63dcbe}.tour-value-pin.recommended .tour-value-text{fill:#78e4c5}.tour-value-pin.blocked .tour-value-text{fill:#e7c289}.tour-value-pin.range .tour-value-text{font-size:20px}.tour-value-pin.noncontact .tour-value-text{font-size:22px}.tour-motion-layer circle{fill:#f6ffff;stroke:#164f54;stroke-width:2}.tour-motion-layer [data-tour-rotor]{fill:#85e2d7}.tour-motion-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 16px;color:#a4bac5;font-size:11px;border-top:1px solid #283b44}.tour-motion-bar button{color:#dbedf5;background:#20333c;border:1px solid #465b66;border-radius:5px;padding:6px 13px;font-size:12px}.equipment-tour .tour-view-caption{color:#dfecf2;padding:10px 16px 5px;font-size:13px;min-height:52px}.equipment-tour .tour-geometry-note{color:#a8bec9;font-size:11px;padding:4px 16px 9px}.equipment-tour .tour-safety{color:#decbae;border-top:1px solid #32444e;font-size:11px;margin:0 16px;padding:10px 0 16px}.tour-controls{border-left:1px solid var(--border);padding:16px;min-width:0}.tour-target-form{padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:14px}.tour-target-form label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0;font-size:12px;font-weight:650}.tour-target-form label small{display:block;font-weight:400;color:var(--muted);font-size:11px}.tour-target-number{display:flex;align-items:center;gap:5px}.tour-target-number input{width:82px;min-height:44px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);border-radius:5px;padding:8px;font-size:17px;font-weight:700}.tour-target-form .primary-btn{width:100%;font-size:13px;padding:9px 6px}.tour-more{border:0;background:transparent;color:var(--accent);font-size:11px!important;text-align:left;padding:5px 0}.tour-form-error{font-size:12px;color:var(--err)}.tour-verdict{font-size:12px;font-weight:650;color:var(--warn);margin-bottom:10px}.tour-basis{font-size:11px;color:var(--muted);margin:5px 0 10px!important}.tour-roll-list{display:grid;gap:0}.tour-roll-list>button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;text-align:left;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--border);padding:10px 7px;background:transparent;color:var(--text);border-radius:0}.tour-roll-list>button[aria-pressed=true]{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.tour-roll-list b{font-size:15px}.tour-roll-list small{display:block;font-size:10px;color:var(--muted)}.tour-roll-list strong{font-size:18px;font-variant-numeric:tabular-nums}.tour-roll-note{grid-column:1/-1;font-size:10px;color:var(--muted)}.tour-sheet-prediction{margin-top:15px;padding:10px 0;border-top:2px solid var(--sheet-face-a);display:grid;grid-template-columns:1fr auto;font-size:12px}.tour-sheet-prediction strong{font-size:19px;color:var(--sheet-face-a)}.tour-sheet-prediction span,.tour-sheet-prediction small{grid-column:1/-1;color:var(--muted);font-size:10px}.tour-sheet-prediction small{color:var(--warn);margin-top:4px}.tour-measure-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.tour-measure-links>span{flex-basis:100%;font-size:11px;color:var(--muted)}.tour-measure-links button{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--accent);padding:5px 7px;font-size:11px}@media(max-width:1000px){.equipment-tour{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.tour-body{grid-template-columns:minmax(0,1fr) 280px}.tour-controls{padding:12px}.tour-value-pin .tour-value-text{font-size:25px}.tour-roll-list strong{font-size:16px}}@media(max-width:760px){.equipment-tour{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:8px}.tour-body{grid-template-columns:1fr}.tour-header{padding:10px 12px}.tour-header h2{font-size:16px}.tour-header p{font-size:11px}.tour-controls{border-left:0;border-top:1px solid var(--border);padding:14px}.tour-target-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tour-target-form h3,.tour-target-form .tour-more,.tour-form-error{flex-basis:100%}.tour-target-form label{flex:1 1 160px;margin:4px 0}.tour-target-form .primary-btn{flex:1 1 170px;width:auto}.tour-view-tabs{gap:2px;padding:6px}.tour-view-tabs button{padding:4px 8px;font-size:11px}.tour-data-leader,.tour-value-pin{display:none}.tour-roll-list>button{padding:11px 9px}.tour-roll-list strong{font-size:21px}.tour-roll-note{font-size:11px}.tour-roll-list small{font-size:11px}.tour-sheet-prediction small{font-size:11px}.tour-geometry-note,.tour-safety{font-size:11px!important}.tour-motion-bar{padding:7px 12px}.tour-motion-bar span{flex:1}.tour-view-caption{min-height:0!important}.equipment-tour-open{margin-left:0}}@media(prefers-reduced-motion:reduce){.equipment-tour *{transition:none!important;animation:none!important}}@media print{.equipment-tour,.equipment-tour-open{display:none!important}}.tour-value-pin .tour-value-kind{font-size:19px;font-weight:500;fill:#bacbd4}.tour-measure-pin line{stroke:#60b5ff;stroke-width:2;stroke-dasharray:7 4}.tour-measure-pin circle{fill:#f7fbff;stroke:#1873c4;stroke-width:4}.tour-measure-pin rect{fill:#12354c;stroke:#83caff;stroke-width:2}.tour-measure-pin text{fill:#e7f5ff;font:bold 29px system-ui,sans-serif}.equipment-tour .tour-measure-key{color:#bde0ff;padding:9px 16px;font-size:12px;line-height:1.5}.tour-motion-bar button[aria-pressed=true]{border-color:#83caff}.tour-roll-list small,.tour-roll-note,.tour-sheet-prediction span,.tour-sheet-prediction small{font-size:11px}.tour-roll-id{font:bold 25px system-ui,sans-serif;fill:#f0f8fc;stroke:#142832;stroke-width:5px;paint-order:stroke}@media(max-width:760px){.tour-roll-id{font-size:48px;stroke-width:8px}}.tour-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.tour-video[hidden],.tour-motion-bar button[hidden]{display:none}.tour-overlay-slot{z-index:1}.tour-image-status{z-index:2}.equipment-tour .tour-render-credit{color:#bdd0db;font-size:11px;padding:8px 16px;border-top:1px solid #283b44}.equipment-tour .tour-media-note{color:#bde0ff;font-size:12px;padding:0 16px 8px}.equipment-tour .tour-media-note:empty{display:none}@media(max-width:760px){.tour-target-form label{flex-basis:100%;font-size:13px}.tour-target-form label small{margin-top:2px}.tour-measure-pin text{font-size:40px}}.my-ai-panel{display:none;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.my-ai-view .shell{grid-template-columns:minmax(0,1fr)}.my-ai-view .input-rail,.my-ai-view .workspace,.my-ai-view .summary-panel,.my-ai-view .equation-panel{display:none}.my-ai-view .my-ai-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.my-ai-view .alert-bar,.my-ai-view .mobile-calc{display:none!important}.my-ai-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:12px 16px;border-bottom:1px solid var(--border)}.my-ai-header h2,.my-ai-chat-heading h3,.my-ai-context-heading h3{margin:0}.my-ai-header h2{font-size:17px}.my-ai-header p,.my-ai-chat-heading p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.my-ai-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.my-ai-key-badge,.my-ai-context-badge{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface-2);font:800 10px/1.1 "Cascadia Mono",Consolas,monospace;white-space:nowrap}.my-ai-key-badge[data-state=session]{border-color:var(--info);color:var(--info);background:var(--info-bg)}.my-ai-key-badge[data-state=device]{border-color:var(--valid);color:var(--valid);background:var(--valid-bg)}.my-ai-context-badge[data-state=current]{border-color:var(--valid);color:var(--valid);background:var(--valid-bg)}.my-ai-context-badge[data-state=stale]{border-color:var(--warn);color:var(--warn);background:var(--warn-bg)}.my-ai-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);min-width:0;min-height:0}.my-ai-context{min-width:0;overflow:auto;padding:16px;border-right:1px solid var(--border);background:var(--surface-2)}.my-ai-context-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.my-ai-context-heading h3{font-size:14px}.my-ai-context dl{display:grid;gap:0;margin:14px 0}.my-ai-context dl>div{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:8px;padding:9px 0;border-top:1px solid var(--border)}.my-ai-context dt,.my-ai-context dd{margin:0;font-size:11px;line-height:1.4}.my-ai-context dt{color:var(--muted)}.my-ai-context dd{text-align:right;font-weight:750;overflow-wrap:anywhere}.my-ai-context>p{margin:0;padding:10px 0;border-top:1px solid var(--border);color:var(--text-2);font-size:11px;line-height:1.55}.my-ai-context-preview{border-top:1px solid var(--border)}.my-ai-context-preview summary{display:flex;align-items:center;min-height:44px;color:var(--text-2);font-size:11px;font-weight:750;cursor:pointer}.my-ai-context-preview pre{max-height:220px;margin:0;padding:9px;overflow:auto;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:10px/1.45 "Cascadia Mono",Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.my-ai-chat{display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto;min-width:0;min-height:0}.my-ai-chat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 10px}.my-ai-chat-heading h3{font-size:15px}.my-ai-chat-heading>button{flex:0 0 auto}.my-ai-quick{display:flex;gap:7px;padding:0 16px 10px;overflow-x:auto}.my-ai-quick button{flex:0 0 auto;min-height:44px;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--accent);font-weight:750;cursor:pointer}.my-ai-quick button:hover{background:var(--surface-2)}.my-ai-log{min-height:0;overflow:auto;padding:10px 16px 18px;scrollbar-gutter:stable}.my-ai-empty{display:grid;place-items:center;min-height:100%;margin:0;color:var(--muted);text-align:center}.my-ai-message{max-width:min(760px,88%);padding:10px 12px;border-left:3px solid var(--border-strong);background:var(--surface-2)}.my-ai-message+.my-ai-message{margin-top:9px}.my-ai-message.user{margin-left:auto;border-left:0;border-right:3px solid var(--accent);background:var(--info-bg)}.my-ai-message.assistant{border-left-color:var(--phys)}.my-ai-message.notice{border-left-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.my-ai-message strong{display:block;margin-bottom:4px;font-size:10px;color:var(--muted)}.my-ai-message pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;font:inherit;font-size:13px;line-height:1.55}.my-ai-compose{padding:12px 16px 14px;border-top:1px solid var(--border);background:var(--surface)}.my-ai-question-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.my-ai-question-label label{color:var(--text-2);font-size:11px;font-weight:750}.my-ai-question-label small{color:var(--muted);font-size:10px}.my-ai-compose textarea{display:block;width:100%;min-height:84px;max-height:180px;resize:vertical;padding:10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);line-height:1.45}.my-ai-compose textarea:focus{border-color:var(--focus)}.my-ai-compose-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.my-ai-attach,.my-ai-remember{display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer}.my-ai-attach input,.my-ai-remember input{flex:0 0 44px;width:44px;height:44px;margin:0;accent-color:var(--accent)}.my-ai-attach span,.my-ai-remember span{display:grid;gap:2px}.my-ai-attach small,.my-ai-remember small{color:var(--muted);font-size:10px}.my-ai-compose-actions{display:flex;gap:7px;flex:0 0 auto}.my-ai-settings-dialog{width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);box-shadow:0 18px 80px rgba(0,0,0,.34)}.my-ai-settings-dialog::backdrop{background:rgba(3,9,15,.62)}.my-ai-settings-dialog form{padding:14px}.my-ai-settings-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.my-ai-settings-dialog h2{margin:0;font-size:17px}.my-ai-settings-grid{display:grid;gap:11px;padding-top:12px}.my-ai-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}.my-ai-setting-row>span,.my-ai-setting-field>span{color:var(--text-2);font-size:11px}.my-ai-setting-row strong{text-align:right;overflow-wrap:anywhere}.my-ai-setting-field{display:grid;gap:5px}.my-ai-setting-field select,.my-ai-key-input input{width:100%;height:44px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 9px}.my-ai-key-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.my-ai-key-input button{min-width:72px}.my-ai-key-state{display:flex;align-items:center;gap:9px;padding:9px;border-left:3px solid var(--info);background:var(--info-bg)}.my-ai-key-state p{margin:0;color:var(--text-2);font-size:11px;line-height:1.4}.my-ai-privacy{margin:0;padding:10px;border-left:3px solid var(--warn);background:var(--warn-bg);color:var(--warn);font-size:11px;line-height:1.5}.my-ai-settings-notice{min-height:18px;margin:0;color:var(--text-2);font-size:11px}.my-ai-settings-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:7px}.my-ai-settings-actions button{min-width:0}.my-ai-settings-actions button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1199px){.mobile-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-tabs button{font-size:12px}.my-ai-panel{border:0;border-radius:0;box-shadow:none;min-height:calc(100dvh - 144px)}.my-ai-view .shell>[data-mobile-panel].active{display:grid}.my-ai-header{padding-inline:16px}.my-ai-layout{grid-template-columns:1fr;overflow:visible}.my-ai-context{overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.my-ai-chat{min-height:640px}.my-ai-log{min-height:240px}.my-ai-compose{padding-bottom:calc(14px+env(safe-area-inset-bottom))}}@media(max-width:560px){.my-ai-header{align-items:flex-start}.my-ai-header p{max-width:28ch}.my-ai-header-actions{display:grid;justify-items:end}.my-ai-chat-heading{align-items:center}.my-ai-chat-heading p{display:none}.my-ai-compose-meta{align-items:stretch;flex-direction:column}.my-ai-compose-actions{display:grid;grid-template-columns:1fr 1.4fr}.my-ai-compose-actions button{width:100%}.my-ai-settings-actions{grid-template-columns:1fr}.my-ai-setting-row{align-items:flex-start;flex-direction:column;gap:4px}.my-ai-setting-row strong{text-align:left}.my-ai-message{max-width:94%}}@media print{.my-ai-panel,.my-ai-settings-dialog,[data-view="my-ai"],[data-tab="my-ai"]{display:none!important}}
