.subtitle{text-align:center;color:var(--text-secondary);max-width:52rem;margin:0 auto 1rem;font-size:.95rem}#input-section,#visualization-section{background:var(--surface-color);border-radius:var(--border-radius);padding:1.25rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}#input-section h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--section-label-color);margin:.75rem 0 .5rem}#input-section h2:first-child{margin-top:0}.input-group{display:flex;flex-direction:column;margin-bottom:.6rem}.input-group label{font-weight:var(--font-weight-medium);font-size:var(--font-size-small);color:var(--text-primary);margin-bottom:.3rem}.slider-container{display:flex;align-items:center;gap:.75rem}.presets{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.presets button{padding:.5rem .75rem;font-size:.85rem}.panels{display:grid;gap:1rem}.panels figure{margin:0;min-width:0}.panels canvas{width:100%;display:block;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-color)}.panels{grid-template-columns:1fr 1fr}.panels figure.wide{grid-column:1 / -1}.panels canvas.drag{cursor:grab;touch-action:none}.panels figcaption{font-size:.8rem;color:var(--text-secondary);text-align:center;margin-top:.35rem}#readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem 1rem;margin-top:1rem;font-size:.85rem;font-variant-numeric:tabular-nums}#readout .item span{display:block;color:var(--text-secondary);font-size:.75rem}#readout .item strong{font-weight:600}#readout .status{grid-column:1 / -1;padding:.5rem .75rem;border-radius:6px;font-weight:500}#readout .status.safe{background:var(--safe-bg);color:var(--safe-fg)}#readout .status.cap{background:var(--warn-bg);color:var(--warn-fg)}#readout .status.beyond{background:var(--fail-bg);color:var(--fail-fg)}@media(max-width:1024px){.main-layout{grid-template-columns:1fr}}@media(max-width:720px){.panels{grid-template-columns:1fr}}#slope-canvas{aspect-ratio:2.4 / 1}#fs-canvas{aspect-ratio:2.8 / 1}#rain{width:100%;padding:.5rem .75rem;font-size:var(--font-size-small)}
