*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;background:#fff;border-radius:8px;margin-bottom:2rem;padding:2rem 1rem;box-shadow:0 2px 4px #0000001a}header h1{color:#2563eb;margin-bottom:.5rem;font-size:2.5em;font-weight:700}header p{color:#6b7280;font-size:1.1em}main{gap:2rem;display:grid}.controls-section{background:#fff;border-radius:8px;padding:2rem 2rem 1rem;position:relative;box-shadow:0 2px 4px #0000001a}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.controls-grid>*{min-width:0}.control-group h3{color:#374151;margin-bottom:1rem;font-size:1.25em;font-weight:600}.input-group{margin-bottom:1rem}.input-group label{color:#374151;margin-bottom:.5rem;font-weight:500;line-height:1.2;display:block}.input-note{color:#6b7280;margin-top:.5rem;font-size:.85em}.input-note a{color:#2563eb;font-weight:500;text-decoration:none}.input-note a:hover{text-decoration:underline}.input-group select,.input-group input[type=number]{border:2px solid #e5e7eb;border-radius:6px;width:100%;padding:.75rem;font-size:1em;transition:border-color .2s}.input-group select:focus,.input-group input[type=number]:focus{border-color:#2563eb;outline:none}.toggle-label{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.unit-toggle{align-items:center;display:flex;position:relative}.unit-toggle input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#e5e7eb;border-radius:15px;width:60px;height:30px;transition:all .3s;position:relative}.slider:before{content:"";background-color:#fff;border-radius:50%;width:22px;height:22px;transition:all .3s;position:absolute;bottom:4px;left:4px}.unit-toggle input:checked+.slider{background-color:#2563eb}.unit-toggle input:checked+.slider:before{transform:translate(30px)}.unit-labels{color:#6b7280;margin-left:1rem;font-size:.9em}.unit-labels .unit-mm,.unit-toggle input:checked~.unit-labels .unit-inches{color:#374151;font-weight:600}.unit-toggle input:checked~.unit-labels .unit-mm{color:#6b7280;font-weight:400}.copy-button{color:#fff;cursor:pointer;letter-spacing:.01em;text-transform:uppercase;background:#2563eb;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-width:110px;padding:.4rem .7rem;font-size:.8em;font-weight:600;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem;box-shadow:0 2px 8px #2563eb4d}.copy-button:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.copy-button.is-copied{background:#059669;box-shadow:0 2px 8px #0596694d}.results-section{grid-template-columns:2fr 1fr;gap:2rem;display:grid}.results-section>*{min-width:0}.chart-container{background:#fff;border-radius:8px;width:100%;min-height:500px;padding:2rem;box-shadow:0 2px 4px #0000001a}.chart-container canvas{width:100%!important}.operating-point{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.operating-point h3{color:#374151;margin-bottom:1rem;font-size:1.25em;font-weight:600}.operating-point-data{background:#f3f4f6;border-left:4px solid #2563eb;border-radius:6px;padding:1.5rem}.operating-point-data h4{color:#2563eb;margin-bottom:.5rem;font-size:1.1em}.operating-point-data p{color:#374151;margin-bottom:.5rem;font-size:1.1em}.operating-point-data .cfm{color:#059669;font-weight:600}.operating-point-data .pressure{color:#dc2626;font-weight:600}.settings-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.settings-section h4{color:#374151;margin-bottom:1rem;font-size:1.1em;font-weight:600}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1em;font-weight:500;transition:background-color .2s}button:hover{background:#1d4ed8}@media (width<=980px){.controls-grid,.results-section{grid-template-columns:1fr}}@media (width<=768px){.container{padding:10px}body{font-size:.95rem}}@media (width<=420px){body{font-size:.9rem}}