:root{--bg: #fff;--surface: #f5f5f5;--text: #1a1a1a;--muted: #6b6b6b;--dim: #505050;--border: #d4d4d4;--subtle: #e8e8e8;--accent: #0057ff;--red: #dc2626;--amber: #d97706;--green: #16a34a;--cyan: #06b6d4;--font-mono: "Berkeley Mono", "JetBrains Mono", "IBM Plex Mono", "Courier Prime", monospace;color:var(--text);background:var(--bg);font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media(prefers-color-scheme:dark){:root{--bg: #0a0a0a;--surface: #141414;--text: #e5e5e5;--muted: #808080;--dim: #606060;--border: #2a2a2a;--subtle: #1a1a1a;--accent: #3b82f6}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0}body{background:var(--bg);overflow-x:hidden}button,input,select{font:inherit}.app{--page-pad: clamp(6px, 3vw, 64px);width:100%;min-height:100vh;padding:8px var(--page-pad) 36px;background:var(--bg)}.header,.status-bar{display:flex;align-items:center;gap:16px;min-height:26px;border:1px solid var(--border);background:var(--surface);color:var(--dim);padding:0 8px;font-size:10px;line-height:1;overflow-x:auto;white-space:nowrap}.header{margin-bottom:1px}.status-bar{position:fixed;right:var(--page-pad);bottom:0;left:var(--page-pad);z-index:10;border-bottom:0}.title{color:var(--text);font-size:12px;font-weight:700}.state-ok{color:var(--green)}.state-warn{color:var(--amber)}.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--dim)}.status-dot.ok{background:var(--green);box-shadow:0 0 4px var(--green)}.status-dot.warn{background:var(--amber);box-shadow:0 0 4px var(--amber)}.main{display:grid;grid-template-columns:minmax(260px,286px) minmax(0,1fr);gap:1px;align-items:start;background:var(--border)}.sidebar,.content,.input-panel,.plot-panel,.section-preview,.results-summary,.warning-panel{min-width:0;background:var(--bg)}.input-panel{position:sticky;top:8px;padding:6px}.content{display:grid;gap:1px;background:var(--border)}.top-grid{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:1px;align-items:start;background:var(--border)}.form-section,.plot-panel,.section-preview,.warning-panel{border:1px solid var(--border)}.form-section{padding:6px;margin-bottom:4px;background:var(--surface)}.form-section:last-child{margin-bottom:0}.form-section-title,.panel-heading h2,.result-label,.mini-stats th{color:var(--muted);font-size:9px;font-weight:700;line-height:1.1;letter-spacing:.08em;text-transform:uppercase}.form-section-title{margin:0 0 6px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.input-group{display:grid;gap:3px;margin-bottom:4px}.two-col .input-group{margin-bottom:0}.input-label{color:var(--muted);font-size:10px;line-height:1;text-transform:uppercase}.input-wrapper{position:relative}.input-field,.select-field{width:100%;min-width:0;height:28px;border:1px solid var(--border);border-radius:2px;background:var(--bg);color:var(--text);padding:0 6px;font-size:12px;font-variant-numeric:tabular-nums}.input-field{padding-right:42px;text-align:right}.input-field:focus,.select-field:focus{outline:1px solid var(--accent);border-color:var(--accent)}.input-field::-webkit-outer-spin-button,.input-field::-webkit-inner-spin-button{appearance:none;margin:0}.input-unit{position:absolute;right:5px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:9px;pointer-events:none;text-transform:uppercase}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:6px;border:1px solid var(--border);background:var(--border)}.segmented button{height:24px;border:0;border-radius:0;background:var(--bg);color:var(--muted);cursor:pointer;font-size:10px;font-weight:700;text-transform:uppercase}.segmented button.active{background:var(--text);color:var(--bg)}.plot-panel,.section-preview{padding:6px;background:var(--bg)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;height:20px;margin-bottom:4px;border-bottom:1px solid var(--subtle)}.panel-heading h2{margin:0}.panel-heading span{color:var(--dim);font-size:9px;white-space:nowrap}.section-svg{display:block;width:100%;aspect-ratio:1;border:1px solid var(--border);background:var(--surface)}.section-outline{fill:var(--surface);stroke:var(--text);stroke-width:.8;vector-effect:non-scaling-stroke}.bar-dot{fill:var(--red);stroke:var(--bg);stroke-width:.8;vector-effect:non-scaling-stroke}.axis-line{stroke:var(--border);stroke-width:.6;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.results-summary{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-content:start;border:1px solid var(--border);background:var(--bg)}.mini-stats{width:100%;margin-top:4px;border-collapse:collapse;table-layout:fixed;background:var(--bg)}.mini-stats th,.mini-stats td,.result-item{border:1px solid var(--border);padding:3px 6px}.mini-stats th{width:42px;text-align:left}.mini-stats td{color:var(--text);font-size:11px;text-align:right;white-space:nowrap}.result-item{min-width:0;min-height:56px}.result-label{display:block;margin-bottom:4px}.result-value{display:block;color:var(--text);font-size:18px;font-weight:400;line-height:1.08;overflow-wrap:anywhere}.result-unit{color:var(--dim);font-size:9px;font-weight:400;text-transform:uppercase}.warning-panel{display:grid;gap:2px;padding:6px 8px;color:var(--amber);background:var(--surface);font-size:11px}.warning-panel div:before{content:"WARN ";color:var(--amber);font-weight:700}.plot-container{width:100%;height:clamp(320px,44vw,406px)}@media(max-width:1120px){.main{grid-template-columns:1fr}.input-panel{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px}.form-section{margin-bottom:0}.top-grid{grid-template-columns:minmax(190px,260px) minmax(0,1fr)}.section-preview{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);gap:4px 6px;align-items:start}.section-preview .panel-heading{grid-column:1 / -1}.section-svg{max-height:220px}}@media(max-width:720px){.top-grid{grid-template-columns:1fr}.panel-heading{height:auto;min-height:20px;flex-wrap:wrap;align-items:flex-start;padding-bottom:3px}.results-summary{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}.result-item{min-height:50px}.result-value{font-size:16px}}@media(max-width:560px){.header,.status-bar{gap:10px;font-size:9px}.title{font-size:11px}.input-panel,.two-col,.section-preview{grid-template-columns:1fr}.section-svg{justify-self:center;max-width:220px;max-height:220px}.plot-container{height:clamp(300px,72vw,360px)}}
