:root{--bg:#f4f7f4;--ink:#15211f;--muted:#5f6d6b;--paper:#fff;--soft:#eaf0ec;--line:#15211f21;--shadow:0 22px 60px #15211f21;--radius:8px;--deep:#183734;--teal:#12a99a;--blue:#2d73b9;--amber:#d89221;--red:#bf4b43;--violet:#7057bd;--green:#2f9b68}[data-theme=dark]{--bg:#101614;--ink:#e8f1ed;--muted:#a3b3ae;--paper:#17201d;--soft:#1e2b27;--line:#e8f1ed26;--shadow:0 22px 60px #00000061;--deep:#d9f3ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #12a99a21, transparent 34rem), linear-gradient(135deg, #2d73b914, transparent 32rem), var(--bg);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:0;max-width:12ch;font-size:5.2rem;line-height:.93}h2{letter-spacing:0;font-size:1.7rem;line-height:1.05}h3{letter-spacing:0;font-size:1.05rem}.page{min-height:100vh}.shell,.topbar-inner{width:min(100vw - 36px,1220px);margin-inline:auto}.topbar{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper), transparent 14%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.brand{align-items:center;gap:10px;min-width:0;font-weight:900;display:inline-flex}.brand>span:last-child{gap:2px;min-width:0;line-height:1.05;display:grid}.brand strong{font-size:1rem}.brand small{color:var(--muted);font-size:.72rem;font-weight:800}.brand-mark{border-radius:var(--radius);background:linear-gradient(135deg, var(--teal), var(--blue));color:#fff;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.nav,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nav a,.button,.icon-button,.ghost-button,.segmented button{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:850;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.nav a{color:var(--muted);padding-inline:12px}.nav a:hover,.icon-button:hover,.segmented button:hover{background:color-mix(in srgb, var(--ink), transparent 93%)}.button{background:var(--deep);color:var(--paper);padding-inline:16px}[data-theme=dark] .button{color:#0f1714}.button:hover{transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:var(--paper);color:var(--ink)}.button:disabled{cursor:wait;opacity:.72}.icon-button{width:40px;color:var(--ink);background:0 0;padding:0}.ghost-button{color:var(--ink);background:0 0}.ghost-button:hover{background:color-mix(in srgb, var(--ink), transparent 93%)}.studio-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);align-items:center;gap:54px;min-height:calc(100vh - 72px);padding:48px 0 58px;display:grid}.hero-copy{gap:22px;display:grid}.eyebrow{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:950}.lead,.panel-heading p,.panel-header p,.metric-card p,.slider-control small,.save-panel p,.muted,.run-card p,.equation-stack p,.sweep-summary span{color:var(--muted);line-height:1.62}.lead{max-width:680px;font-size:1.08rem}.dryer-visual{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--paper), transparent 3%), color-mix(in srgb, var(--soft), transparent 20%)), var(--paper);box-shadow:var(--shadow);gap:14px;padding:18px;display:grid;position:relative;overflow:hidden}.dryer-top,.dryer-bottom{color:var(--muted);justify-content:space-between;gap:12px;font-size:.86rem;font-weight:850;display:flex}.dryer-top{align-items:center}.dryer-chamber{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #d8922147, transparent 48%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--teal), transparent 84%), transparent), var(--paper);min-height:420px;position:relative;overflow:hidden}.dryer-chamber:before{content:"";border:2px solid color-mix(in srgb, var(--ink), transparent 78%);border-bottom-width:14px;border-radius:40% 40% 18% 18%;position:absolute;inset:24px 25% 42px}.spray-cone{clip-path:polygon(50% 0,0 100%,100% 100%);background:linear-gradient(#12a99a61,#12a99a0a);width:190px;height:245px;position:absolute;top:34px;left:50%;transform:translate(-50%)}.droplet{background:var(--teal);opacity:.84;border-radius:999px;width:12px;height:12px;animation:2.4s linear infinite fall;position:absolute}.d1{top:16%;left:42%}.d2{animation-delay:-.6s;top:24%;left:54%}.d3{animation-delay:-1.2s;top:33%;left:35%}.d4{animation-delay:-1.7s;top:42%;left:62%}.d5{animation-delay:-2s;top:52%;left:48%}@keyframes fall{0%{opacity:0;transform:translateY(-22px)scale(.72)}18%{opacity:.82}to{opacity:0;transform:translateY(190px)scale(1.2)}}.dryer-reading{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper), transparent 4%);gap:4px;padding:14px;display:grid;position:absolute;bottom:24px;right:24px}.dryer-reading strong{font-size:1.7rem}.dryer-reading span{color:var(--muted);font-size:.8rem;font-weight:850}.dryer-visual.sticky .spray-cone,.dryer-visual.wet .spray-cone{background:linear-gradient(#d892217a,#d892210a)}.dryer-visual.thermal .spray-cone{background:linear-gradient(#bf4b4380,#bf4b430a)}.studio-toolbar{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper), transparent 4%);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px;display:flex;box-shadow:0 14px 38px #15211f14}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);grid-auto-flow:column;gap:6px;padding:4px;display:inline-grid}.segmented button{min-height:34px;color:var(--muted);background:0 0;padding-inline:12px}.segmented .active{background:var(--paper);color:var(--ink);box-shadow:0 8px 20px #15211f14}.studio-grid,.analysis-grid,.dashboard-grid{grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);align-items:start;gap:18px;padding-bottom:70px;display:grid}.control-panel,.results-panel,.heatmap-panel,.panel,.metric-card,.status-banner,.save-panel,.run-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper), transparent 4%);padding:20px;box-shadow:0 14px 38px #15211f14}.control-panel{position:sticky;top:92px}.panel-heading{gap:8px;margin-bottom:18px;display:grid}.control-stack,.modal-controls,.list,.side-stack,.form-grid{gap:12px;display:grid}.slider-control{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);gap:9px;padding:14px;display:grid}.slider-control>span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.slider-control strong{font-size:.9rem}.slider-control b{white-space:nowrap;color:var(--teal);font-size:.9rem}.slider-control input[type=range]{width:100%;accent-color:var(--teal)}.status-banner{grid-template-columns:minmax(0,1fr) minmax(180px,.4fr);align-items:center;gap:16px;margin-bottom:14px;display:grid}.status-banner h2{margin-top:6px}.risk-dial{background:var(--soft);border-radius:999px;height:14px;overflow:hidden}.risk-dial span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--amber), var(--red));height:100%;display:block}.kpi-grid,.graph-grid,.detail-grid,.mini-results{gap:12px;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.metric-card{min-width:0}.metric-card span,.mini-results small,.run-card-top span,.timestamp{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.metric-card strong,.mini-results strong{margin-top:8px;font-size:1.35rem;line-height:1.05;display:block}.metric-card p{margin-top:8px;font-size:.86rem}.metric-card.safe{border-top:4px solid var(--green)}.metric-card.warn{border-top:4px solid var(--amber)}.metric-card.danger{border-top:4px solid var(--red)}.metric-card.blue{border-top:4px solid var(--blue)}.graph-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.panel-header,.section-heading.dashboard-heading,.run-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.svg-chart{min-width:0}.svg-chart svg{width:100%;height:auto;display:block;overflow:visible}.grid-line{stroke:color-mix(in srgb, var(--ink), transparent 88%);stroke-width:1px}.line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.line.temp,.chart-legend .temp:before{stroke:var(--blue);background:var(--blue)}.line.moisture,.chart-legend .moisture:before{stroke:var(--teal);background:var(--teal)}.line.risk,.chart-legend .risk:before,.chart-legend .sticky-curve:before{stroke:var(--red);background:var(--red)}.line.sticky-curve{stroke:var(--red)}.line.product-temp,.chart-legend .product-temp:before{stroke:var(--violet);background:var(--violet)}.marker{stroke:var(--paper);stroke-width:3px}.marker.safe{fill:var(--green)}.marker.danger{fill:var(--red)}.chart-legend{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:850;display:inline-flex}.chart-legend span:before{content:"";border-radius:999px;width:10px;height:10px}.output-table{gap:10px;margin-top:14px;display:grid}.output-row{border-bottom:1px solid color-mix(in srgb, var(--ink), transparent 90%);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.output-row span{color:var(--muted)}.output-row strong{text-align:right}.warning-stack{gap:8px;margin-top:12px;display:grid}.message{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--muted);align-items:flex-start;gap:9px;padding:12px;line-height:1.5;display:flex}.message.safe{border-color:color-mix(in srgb, var(--green), transparent 58%);color:var(--green)}.message.watch,.message.wet{border-color:color-mix(in srgb, var(--amber), transparent 54%);color:var(--amber)}.message.sticky,.message.error,.message.thermal{border-color:color-mix(in srgb, var(--red), transparent 54%);color:var(--red)}.save-panel{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.field{gap:7px;display:grid}.field span,.field label,.record-actions label{color:var(--ink);font-size:.9rem;font-weight:850}.field input,.field select,.field textarea,.record-actions select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:100%;color:var(--ink);padding:11px 12px}.field textarea{resize:vertical;min-height:118px}.form-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--paper), transparent 4%);width:min(460px,100vw - 32px);box-shadow:var(--shadow);gap:18px;margin:48px auto;padding:24px;display:grid}.form-card a{color:var(--blue);text-underline-offset:3px;font-weight:900;text-decoration:underline;text-decoration-thickness:2px}.sweep-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);gap:4px;padding:14px;display:grid}.sweep-summary strong{font-size:2rem;line-height:1}.heatmap-wrap{grid-template-rows:auto 34px;grid-template-columns:38px minmax(0,1fr);gap:10px;margin-top:18px;display:grid}.heatmap-y{color:var(--muted);writing-mode:vertical-rl;place-items:center;font-size:.78rem;font-weight:850;display:grid;transform:rotate(180deg)}.heatmap{grid-auto-rows:28px;gap:3px;min-width:0;display:grid}.heat-cell{background:var(--green);outline:1px solid color-mix(in srgb, var(--paper), transparent 68%);border-radius:4px;min-width:0}.heat-cell.safe{background:var(--green)}.heat-cell.watch{background:var(--amber)}.heat-cell.wet{background:#5aa4c8}.heat-cell.sticky{background:var(--red)}.heat-cell.thermal{background:var(--violet)}.heat-cell.current{outline:3px solid var(--ink);outline-offset:-3px}.heatmap-x{color:var(--muted);text-align:center;grid-column:2;font-size:.78rem;font-weight:850}.legend{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.legend span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:850;display:inline-flex}.legend span:before{content:"";background:var(--green);border-radius:999px;width:10px;height:10px}.legend .watch:before{background:var(--amber)}.legend .wet:before{background:#5aa4c8}.legend .sticky:before{background:var(--red)}.legend .thermal:before{background:var(--violet)}.modal-backdrop{z-index:60;background:#070e0c94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:min(760px,100%);max-height:min(760px,100vh - 40px);color:var(--ink);box-shadow:var(--shadow);padding:22px;overflow:auto}.help-panel{width:min(880px,100%)}.equation-stack{gap:12px;display:grid}.equation-stack article{border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);padding:14px}.equation-stack code{border-radius:var(--radius);background:color-mix(in srgb, var(--ink), transparent 92%);color:var(--ink);white-space:nowrap;margin:10px 0;padding:12px;font-size:.86rem;display:block;overflow-x:auto}.reference-list{gap:8px;margin-top:18px;display:grid}.reference-list a{color:var(--blue);text-underline-offset:3px;font-weight:850;text-decoration:underline;text-decoration-thickness:2px}.main-section{padding:38px 0 66px}.dashboard-heading{max-width:none;margin-bottom:20px}.dashboard-heading h1{font-size:4rem;line-height:.95}.run-card-top h3{margin-top:5px}.mini-results{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.mini-results span{border-radius:var(--radius);background:var(--soft);padding:10px}.record-actions{flex-wrap:wrap;align-items:end;gap:10px;margin-top:14px;display:flex}.record-actions label{gap:6px;min-width:150px;display:grid}.pill{background:color-mix(in srgb, var(--teal), transparent 86%);min-height:28px;color:var(--teal);white-space:nowrap;border-radius:999px;align-items:center;padding-inline:10px;font-size:.8rem;font-weight:900;display:inline-flex}.pill.sticky,.pill.thermal{background:color-mix(in srgb, var(--red), transparent 86%);color:var(--red)}.mobile-backbar{display:none}@media (max-width:1040px){.studio-hero,.studio-grid,.analysis-grid,.dashboard-grid{grid-template-columns:1fr}.control-panel{position:static}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.shell,.topbar-inner{width:calc(100vw - 24px)}h1{font-size:3.3rem}.dashboard-heading h1{font-size:2.8rem}.topbar{position:static}.topbar-inner{flex-direction:column;align-items:flex-start;padding:16px 0}.nav{width:100%}.studio-hero{gap:24px;min-height:auto;padding:34px 0 38px}.dryer-chamber{min-height:320px}.studio-toolbar,.status-banner,.save-panel,.panel-header,.section-heading.dashboard-heading,.run-card-top,.output-row{display:grid}.segmented,.graph-grid,.detail-grid,.kpi-grid,.mini-results,.heatmap-wrap{grid-template-columns:1fr}.heatmap-y{display:none}.heatmap-x{grid-column:1}.heatmap{grid-auto-rows:18px}.output-row strong{text-align:left}.page-with-mobile-back .topbar{display:none}.mobile-backbar{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper), transparent 8%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:42px 1fr 42px;align-items:center;display:grid;position:sticky;top:0}.mobile-backbar button,.mobile-backbar a{border-radius:var(--radius);border:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.mobile-backbar button{background:var(--deep);color:var(--paper)}[data-theme=dark] .mobile-backbar button{color:#0f1714}.mobile-backbar a{overflow:hidden}.mobile-backbar .brand{width:36px}.mobile-backbar .brand>span:last-child{display:none}.mobile-backbar .brand-mark{width:34px;height:34px}.mobile-backbar>span{color:var(--ink);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:900;overflow:hidden}}
