:root{color:#1d2626;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f8f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.simulator-shell{color:#1e293b;background:radial-gradient(circle at 0 0,#3b82f614,#0000 34rem),linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);min-height:100vh;padding:20px}.simulator-header{text-align:center;max-width:1440px;margin:0 auto 18px}.eyebrow,.section-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.simulator-header h1{color:#4f46e5;letter-spacing:0;margin:4px 0 0;font-size:clamp(1.85rem,4vw,2.6rem);line-height:1.05}.header-note{color:#64748b;margin:8px 0 0;font-size:.94rem}.info-toggle{color:#4f46e5;border-color:#c7d2fe;border-radius:999px;min-height:30px;margin-top:10px;padding:0 14px;font-size:.78rem;font-weight:800}.info-box{color:#475569;text-align:left;background:#fff;border:1px solid #dbe4ee;border-radius:12px;max-width:760px;margin:12px auto 0;padding:16px 18px;font-size:.84rem;line-height:1.6}.simulator-grid{grid-template-columns:minmax(300px,360px) minmax(76px,90px) minmax(0,1fr);align-items:start;gap:14px;max-width:1440px;margin:0 auto;display:grid}.left-panel,.thermometer-panel,.main-panel,.chart-card,.control-card,.interpretation{min-width:0}.left-panel,.main-panel{gap:16px;display:grid}.thermometer-panel{align-self:start;min-width:0;position:sticky;top:20px}.charts-row{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:start;gap:16px;display:grid}.battery-wrap,.quick-actions,.thermometer-card,.threshold-control-card,.control-card,.chart-card,.interpretation{background:#ffffffeb;border:1px solid #dbe4ee;border-radius:14px;box-shadow:0 16px 34px #0f172a0f}.battery-wrap{align-items:center;gap:12px;padding:14px 16px;display:flex}.thermometer-card{grid-template-rows:430px auto;place-items:center;height:auto;min-height:0;padding:18px 8px 12px;display:grid}.thermometer-scale{width:66px;height:430px;min-height:0;position:relative}.thermometer-track{background:linear-gradient(#f8fafc,#eef2f7);border:2px solid #cbd5e1;border-radius:999px;width:18px;position:absolute;top:6px;bottom:28px;left:50%;overflow:hidden;transform:translate(-50%)}.thermometer-fill{border-radius:999px;min-height:3px;transition:top .16s,bottom .16s,background .16s;position:absolute;left:3px;right:3px}.thermometer-fill.positive{background:linear-gradient(#86efac,#16a34a)}.thermometer-fill.empty{background:0 0;min-height:0}.thermometer-fill.negative{background:linear-gradient(#ef4444,#fca5a5)}.thermometer-zero{z-index:2;background:#64748b;height:2px;position:absolute;left:0;right:0}.thermometer-bulb{background:#fff;border:2px solid #cbd5e1;border-radius:50%;width:34px;height:34px;position:absolute;bottom:-25px;left:50%;transform:translate(-50%)}.thermometer-tick{color:#64748b;font-size:.66rem;font-weight:800;line-height:1;position:absolute;right:46px;transform:translateY(50%)}.thermometer-tick:after{content:"";background:#cbd5e1;width:14px;height:1px;position:absolute;top:50%;left:calc(100% + 4px)}.thermometer-tick.zero{color:#142033}.thermometer-value{overflow-wrap:anywhere;text-align:center;border-top:1px solid #e2e8f0;width:100%;padding-top:12px;overflow:hidden}.thermometer-value span,.thermometer-value small{color:#64748b;font-size:.66rem;font-weight:800;line-height:1.25;display:block}.thermometer-value small span{display:block}.thermometer-value strong{margin:4px 0 3px;font-size:1.34rem;line-height:1;display:block}.thermometer-value.positive strong{color:#16a34a}.thermometer-value.negative strong{color:#dc2626}.battery-shell{background:#fff;border:2.5px solid #22c55e;border-radius:7px;width:44px;height:68px;position:relative;overflow:hidden}.battery-cap{border-radius:2px 2px 0 0;width:18px;height:5px;position:absolute;top:-3px;left:11px}.battery-fill{transition:height .16s,background .16s;position:absolute;bottom:0;left:0;right:0}.battery-value{font-size:1.4rem;font-weight:900}.battery-label{color:#64748b;margin-top:2px;font-size:.78rem;font-weight:700}.quick-actions{gap:14px;padding:14px;display:grid}button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px}button:hover{background:#f8fafc;border-color:#818cf8}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #3b82f652}.primary-reset,.scenario-button,.view-tabs button,.card-heading button{justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-weight:900;display:inline-flex}.primary-reset{color:#24478f;border-color:#b7c8ee;justify-self:start}.primary-reset.active,.scenario-button.active,.view-tabs button.active{color:#312e81;background:#eef2ff;border-color:#4f46e5}.scenario-block{gap:8px;display:grid}.scenario-block p:not(.section-label){color:#64748b;margin:0;font-size:.82rem;line-height:1.45}.scenario-button{justify-content:flex-start;width:100%}.control-card{padding:16px}.card-heading,.chart-heading,.step-table-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-heading{margin-bottom:14px}.card-heading h2,.chart-heading h2,.interpretation h2{color:#142033;letter-spacing:0;margin:0;font-size:1rem;line-height:1.2}.card-heading span,.chart-heading p{color:#64748b;margin:3px 0 0;font-size:.76rem;line-height:1.35}.card-heading.with-action{align-items:flex-start}.card-heading button{min-height:32px;padding:0 10px;font-size:.75rem}.slider-list,.vector-list{gap:14px;display:grid}.vector-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.vector-column{gap:12px;display:grid}.range-control{gap:7px;display:grid}.range-control.compact{gap:6px}.range-top{color:#1e293b;justify-content:space-between;align-items:baseline;gap:12px;font-size:.86rem;font-weight:800;display:flex}.range-control.compact .range-top{font-size:.78rem}.range-top strong{color:#142033;text-align:right;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;min-width:44px;padding:3px 7px;font-size:.78rem}.range-control input{appearance:none;cursor:pointer;border-radius:999px;width:100%;height:7px}.range-control input::-webkit-slider-thumb{appearance:none;background:#fff;border:2px solid;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #0f172a3d}.range-control input::-moz-range-thumb{background:#fff;border:2px solid;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 8px #0f172a3d}.range-control small{color:#7b8794;font-size:.72rem;line-height:1.3}.view-tabs{flex-wrap:wrap;gap:8px;display:flex}.view-tabs button{min-height:40px}.chart-card{padding:18px}.chart-heading{margin-bottom:12px}.chart-heading span{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex:none;padding:6px 10px;font-size:.76rem;font-weight:900}.chart-svg{width:100%;height:auto;min-height:280px;display:block;overflow:visible}.chart-grid line{stroke:#e8edf5;stroke-width:1px}.chart-grid text{fill:#8792a2;text-anchor:middle;font-size:12px}.chart-grid .y-tick text{text-anchor:end}.zero-line{stroke:#94a3b8;stroke-dasharray:5 5;stroke-width:1.2px}.threshold-line{stroke:#22c55e;stroke-dasharray:7 6;stroke-width:2px}.threshold-label{fill:#16a34a;font-size:12px;font-weight:800}.action-marker line{stroke:#f59e0b;stroke-width:4px;stroke-linecap:round}.action-marker circle{fill:#fff;stroke:#f59e0b;stroke-width:3px}.action-marker text{fill:#b45309;text-anchor:middle;font-size:14px;font-weight:900}.motivation-path,.zig-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.motivation-path{stroke:#2563eb;stroke-width:3.2px}.zig-path{stroke-width:2.6px}.vector-bar rect{fill:#6366f1;opacity:.34}.vector-bar text{fill:#4f46e5;text-anchor:middle;opacity:.72;font-size:10px;font-weight:800}.axis-label{fill:#64748b;text-anchor:middle;font-size:13px;font-weight:700}.legend{color:#475569;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:12px;font-size:.8rem;font-weight:800;display:flex}.legend.wrap{justify-content:flex-start}.legend span{align-items:center;gap:6px;display:inline-flex}.line,.bar{border-radius:999px;width:18px;height:4px;display:inline-block}.line.blue{background:#2563eb}.line.green{background:#22c55e}.line.dashed{background:repeating-linear-gradient(90deg,#22c55e 0 7px,#0000 7px 11px)}.bar.violet{background:#6366f16b;height:10px}.insights{grid-template-columns:minmax(220px,360px) minmax(280px,1fr);justify-content:stretch;align-items:stretch;gap:12px;display:grid}.insight-card,.threshold-control-card{border-radius:14px;padding:15px}.threshold-control-card{align-items:center;display:grid}.insight-card.green{background:#f0fdf4;border:1px solid #bbf7d0}.insight-card.blue{background:#eff6ff;border:1px solid #bfdbfe}.insight-card p{color:#475569;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}.insight-card strong{color:#142033;margin-top:3px;font-size:1.75rem;line-height:1;display:block}.insight-card span{color:#64748b;margin-top:5px;font-size:.76rem;display:block}.interpretation{padding:16px}.interpretation h2{margin-top:8px}.interpretation p:last-child{color:#475569;margin:8px 0 0;font-size:.88rem;line-height:1.6}.interpretation.warn h2{color:#b91c1c}.interpretation.good h2{color:#15803d}.interpretation.neutral h2{color:#1d4ed8}.step-table-wrap{border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow:hidden}.step-table-heading{color:#334155;background:#f8fafc;justify-content:flex-start;padding:10px 12px;font-size:.82rem;font-weight:900}.step-table{color:#334155;grid-template-columns:64px minmax(140px,1fr) 90px 100px;font-size:.78rem;display:grid;overflow-x:auto}.step-table>div:not(.step-row),.step-row span{border-top:1px solid #e2e8f0;padding:9px 10px}.step-table>div:not(.step-row){color:#64748b;background:#f8fafc;font-weight:900}.step-row{display:contents}.step-row span{min-width:0}.positive{color:#15803d;font-weight:900}.negative{color:#b91c1c;font-weight:900}@media (width<=1180px){.simulator-grid{grid-template-columns:minmax(280px,340px) minmax(72px,82px) minmax(0,1fr)}.charts-row{grid-template-columns:1fr}}@media (width<=820px){.simulator-shell{padding:14px}.simulator-header,.simulator-grid{grid-template-columns:1fr}.thermometer-panel{position:static}.thermometer-card{grid-template-rows:1fr;grid-template-columns:auto minmax(0,1fr);min-height:0;padding:16px}.thermometer-scale{height:240px;min-height:0}.thermometer-value{text-align:left;border-top:0;border-left:1px solid #e2e8f0;padding-top:0;padding-left:16px}.primary-reset,.scenario-button{width:100%}.primary-reset{justify-self:stretch}.chart-heading{flex-direction:column;align-items:flex-start}.chart-svg{min-height:230px}.vector-list,.insights{grid-template-columns:1fr}}@media (width<=520px){.simulator-shell{padding:10px}.simulator-header h1{font-size:1.75rem}.battery-wrap,.quick-actions,.control-card,.chart-card,.interpretation{border-radius:12px}.chart-card{padding:12px}.thermometer-card{grid-template-columns:1fr;justify-items:center}.thermometer-value{text-align:center;border-top:1px solid #e2e8f0;border-left:0;padding-top:12px;padding-left:0}.chart-svg{min-height:210px}.chart-grid text,.threshold-label{font-size:11px}.step-table{grid-template-columns:52px minmax(124px,1fr) 78px 88px;font-size:.72rem}}
