:root{--color-primary: #37352f;--color-primary-dark: #2e2e2e;--color-primary-light: #787774;--color-header: #3b82f6;--color-header-gradient-start: #3b82f6;--color-header-gradient-end: #2563eb;--color-action: #3b82f6;--color-action-hover: #2563eb;--color-action-active: #1d4ed8;--color-source: #3b82f6;--color-source-light: #dbeafe;--color-source-dark: #2563eb;--color-sink: #ef4444;--color-sink-light: #fee2e2;--color-sink-dark: #dc2626;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-neutral: #64748b;--color-neutral-light: #f1f5f9;--color-neutral-dark: #475569;--color-bg-primary: #ffffff;--color-bg-secondary: #f7f6f3;--color-bg-tertiary: #fafafa;--color-bg-gradient: #f7f6f3;--color-text-primary: #37352f;--color-text-secondary: #787774;--color-text-muted: #9b9a97;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-dark: #d1d5db;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}body{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth;background:linear-gradient(160deg,#f7f6f3,#f0eeea,#ebe9e4,#f0eeea,#f5f4f0);min-height:100vh;color:var(--color-text-primary);position:relative}body:before,body:after{display:none!important;content:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important}fieldset{border-color:#d1d5db;border-width:1px}legend{font-size:1.125rem;font-weight:600;padding:0 .5rem}legend.text-perf{color:var(--color-neutral)}.input-group{position:relative;display:flex;align-items:stretch}.input-field{padding:.625rem .875rem;width:100%;position:relative;z-index:5;transition:all var(--transition-base);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.9375rem;line-height:1.5}.input-field:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px #3b82f61a}.input-field:hover:not(:focus){border-color:var(--color-border-dark)}.input-field.error{border-color:var(--color-sink);background-color:var(--color-sink-light)}.input-field.success{border-color:var(--color-success);background-color:var(--color-success-light)}.input-unit{position:absolute;right:0;top:0;height:100%;display:flex;align-items:center;padding-right:.875rem;padding-left:.75rem;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;border-left:1px solid var(--color-border);background:var(--color-bg-secondary);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);z-index:15;pointer-events:none}.input-field-with-unit{padding-right:5rem}.input-field-with-select{padding-right:7rem}.input-unit-select{position:absolute;right:0;top:0;height:100%;border:1px solid var(--color-border-dark);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:0 .75rem;font-size:.875rem;cursor:pointer;z-index:15;transition:all var(--transition-base)}.input-unit-select:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.input-unit-select:focus{outline:none;border-color:var(--color-action);box-shadow:0 0 0 3px #3b82f61a}button{font-family:inherit;font-weight:500;letter-spacing:.01em;transition:all var(--transition-base);cursor:pointer;border:none;outline:none}button:active{transform:scale(.98)}button[type=button]#calcButton,button.bg-\[var\(--color-action\)\]{background:var(--color-action);border:none;color:var(--color-text-inverse);padding:.875rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:1rem;font-weight:500;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-base)}button[type=button]#calcButton:hover,button.bg-\[var\(--color-action\)\]:hover{background:var(--color-action-hover);box-shadow:var(--shadow-md)}button[type=button]#calcButton:active,button.bg-\[var\(--color-action\)\]:active{background:var(--color-action-active);box-shadow:var(--shadow-sm)}button[type=button]#resetButton,button.bg-gray-500{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.875rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:1rem;font-weight:500;min-height:48px;transition:all var(--transition-base)}button[type=button]#resetButton:hover,button.bg-gray-500:hover{background:var(--color-bg-secondary);border-color:var(--color-border-dark);box-shadow:var(--shadow-md)}button.bg-green-600{background:var(--color-success);border:none;color:var(--color-text-inverse);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}button.bg-green-600:hover{background:var(--color-success-dark);box-shadow:var(--shadow-md)}button.bg-red-600{background:var(--color-sink);border:none;color:var(--color-text-inverse);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}button.bg-red-600:hover{background:var(--color-sink-dark);box-shadow:var(--shadow-md)}.radio-group{display:flex;gap:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.radio-group input[type=radio]{display:none}.radio-group label{flex:1;display:inline-block;padding:.875rem 1.25rem;border:1px solid var(--color-border);border-right-width:0;cursor:pointer;transition:all var(--transition-base);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem;font-weight:500;text-align:center;min-height:44px;touch-action:manipulation;position:relative}.radio-group label:first-of-type{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);border-left-width:2px}.radio-group label:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-right-width:2px}.radio-group label:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);z-index:1;border-color:var(--color-border-dark)}.radio-group label:active{transform:translateY(0)}.radio-group input[type=radio]:checked+label{background:var(--color-action);color:var(--color-text-inverse);border-color:var(--color-action);box-shadow:var(--shadow-sm);z-index:2;font-weight:600}body.mode-source-active #inputTypeRadios label{background:var(--color-source-light)!important;border-color:var(--color-source)!important;color:var(--color-source-dark)!important}body.mode-source-active #inputTypeRadios label:hover{background:var(--color-source)!important;border-color:var(--color-source-dark)!important;color:#fff!important;z-index:1}body.mode-source-active #inputTypeRadios input[type=radio]:checked+label{background:var(--color-source)!important;border-color:var(--color-source-dark)!important;color:#fff!important;box-shadow:var(--shadow-sm);z-index:2;font-weight:600}body:not(.mode-source-active) #inputTypeRadios label{background:var(--color-sink-light)!important;border-color:var(--color-sink)!important;border-left-color:var(--color-sink)!important;border-right-color:var(--color-sink)!important;border-top-color:var(--color-sink)!important;border-bottom-color:var(--color-sink)!important;color:var(--color-sink-dark)!important}body:not(.mode-source-active) #inputTypeRadios label:first-of-type{border-left-color:var(--color-sink)!important}body:not(.mode-source-active) #inputTypeRadios label:last-of-type{border-right-color:var(--color-sink)!important}body:not(.mode-source-active) #inputTypeRadios label:hover{background:var(--color-sink)!important;border-color:var(--color-sink-dark)!important;border-left-color:var(--color-sink-dark)!important;border-right-color:var(--color-sink-dark)!important;border-top-color:var(--color-sink-dark)!important;border-bottom-color:var(--color-sink-dark)!important;color:#fff!important;z-index:1}body:not(.mode-source-active) #inputTypeRadios input[type=radio]:checked+label{background:var(--color-sink)!important;border-color:var(--color-sink-dark)!important;border-left-color:var(--color-sink-dark)!important;border-right-color:var(--color-sink-dark)!important;border-top-color:var(--color-sink-dark)!important;border-bottom-color:var(--color-sink-dark)!important;color:#fff!important;box-shadow:var(--shadow-sm)!important;z-index:2;font-weight:600}body:not(.mode-source-active) #inputTypeRadios input[type=radio]:checked+label:first-of-type{border-left-color:var(--color-sink-dark)!important}body:not(.mode-source-active) #inputTypeRadios input[type=radio]:checked+label:last-of-type{border-right-color:var(--color-sink-dark)!important}.input-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.5rem;letter-spacing:.01em}select option:disabled{background-color:#f3f4f6;color:#9ca3af}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;text-align:left;color:var(--color-text-primary);background:var(--color-bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.comparison-table thead{background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.comparison-table th{padding:1rem 1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;vertical-align:middle;border-bottom:3px solid var(--color-action);position:relative}.comparison-table th:not(:last-child):after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--color-border)}.comparison-table tbody tr{border-bottom:1px solid var(--color-border);transition:all var(--transition-fast);background:transparent}.comparison-table tbody tr:last-child{border-bottom:none}.comparison-table tbody tr:nth-child(2n){background:var(--color-bg-secondary)}.comparison-table tbody tr:hover{background:var(--color-bg-tertiary);box-shadow:var(--shadow-sm)}.comparison-table td{padding:1rem 1.25rem;vertical-align:middle;white-space:nowrap;border-right:1px solid var(--color-border)}.comparison-table td:last-child{border-right:none}.comparison-table td.param-output{font-weight:600;color:var(--color-text-primary);background:var(--color-bg-secondary)}.comparison-table td.param-qhot{font-weight:700;color:var(--color-sink-dark);font-size:1rem}.comparison-table td.param-cop{font-weight:700;color:var(--color-success-dark);font-size:1rem}.comparison-table-container{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:transparent}#calcModeRadios input#mode_source:checked+label{background:var(--color-source)!important;border-color:var(--color-source)!important;color:#fff!important;box-shadow:var(--shadow-sm)!important;font-weight:600}#calcModeRadios input#mode_sink:checked+label{background:var(--color-sink)!important;border-color:var(--color-sink)!important;color:#fff!important;box-shadow:var(--shadow-sm)!important;font-weight:600}#resultData .bg-gray-50,#resultData .bg-blue-50,#resultData .bg-red-50,#resultData .bg-white{background:var(--color-bg-primary)!important;border:1px solid var(--color-border)!important}#resultData .bg-gray-50 h3,#resultData .bg-blue-50 h3,#resultData .bg-red-50 h3{color:var(--color-text-primary)!important;font-weight:600}#resultData .text-gray-700,#resultData .text-gray-800,#resultData .text-gray-600{color:var(--color-text-primary)!important}.max-w-4xl.bg-white{background:var(--color-bg-primary)!important}#fillExampleButton{background:var(--color-source)!important;border:none!important;box-shadow:var(--shadow-md)!important}#fillExampleButton:hover{background:var(--color-source-dark)!important;box-shadow:var(--shadow-lg)!important}@media print{body{background-color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-family:Times New Roman,serif;font-size:10pt}.max-w-4xl{max-width:none;width:100%;box-shadow:none;border:none;padding:0;margin:0;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-header,footer,fieldset,fieldset:has(legend.text-source),fieldset:has(legend.text-sink),fieldset:has(legend.text-perf),#results,#resultData>div,#resultData .bg-gray-50,#resultData .bg-blue-50,#resultData .bg-red-50,#resultData .bg-white,#sourceResultGroup,#sinkResultGroup,#mvrModeBanner,#mvrResults,#mvrResults .bg-white,#selectionCriteria,#selectionCriteria .bg-white,#sourceAirParams .bg-blue-50,#sinkAirParams .bg-red-50,#comparisonSection,#comparisonTableContainer,.comparison-table,.comparison-table thead,.comparison-table tbody tr:nth-child(2n),.comparison-table tbody tr:hover,.comparison-table td.param-output,.toast,#fillExampleButton{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}footer{background:#fff!important}#results,#comparisonSection,#comparisonTableContainer,.comparison-table{background:#fff!important}.comparison-table thead{background:#eee!important}.comparison-table tbody tr:nth-child(2n){background:#f9f9f9!important}.comparison-table tbody tr:hover{background:#f9f9f9!important}.comparison-table td.param-output{background:#f5f5f5!important}.toast{background:#fff!important}#fillExampleButton{background:#3b82f6!important;border:none!important}header.bg-\[var\(--color-header\)\]{background-color:#fff!important;border-bottom:2px solid #000}header.bg-\[var\(--color-header\)\] h1{color:#000!important;font-size:18pt}body:not(.printing-single-report):not(.printing-comparison) #hpCalcForm,body:not(.printing-single-report):not(.printing-comparison) footer,body:not(.printing-single-report):not(.printing-comparison) #resultActions,body:not(.printing-single-report):not(.printing-comparison) #comparisonSection{display:none!important}body:not(.printing-single-report):not(.printing-comparison) #results{display:block!important;border-top:none;padding-top:1rem}#resultData{display:block!important}#resultMessage.bg-green-100{display:block!important;border:1px solid #ccc;background:#f9f9f9!important;color:#000!important}#resultMessage.bg-red-100,#resultMessage.bg-yellow-100{display:none!important}fieldset,#resultData>div,#resultData .bg-white{border-width:1px;border-color:#ccc;page-break-inside:avoid;background-color:#f9f9f9!important;box-shadow:none}#resultData .bg-white{background-color:#fff!important}legend,legend.text-source,legend.text-sink,legend.text-perf,#resQcold,#resQhot,#resW,#resCopActual,#resSourceSensible,#resSourceLatent,#resSourceWater,#resSinkParam1Value,#resSinkParam2Value,#resSinkParam3Value,#resSinkAirHumidPot,#resSinkAirRHOut,#resSinkEnergyEvapCap,#resSinkRHAfterHumid,#resFeasibility.text-green-600,#resFeasibility.text-red-600,h3.text-\[var\(--color-source\)\],h3.text-\[var\(--color-sink\)\],.input-label,.text-gray-700,.text-gray-800,.text-gray-600,.text-sm{color:#000!important}body.printing-single-report .max-w-4xl,body.printing-single-report #comparisonSection{display:none!important}body.printing-single-report #printReportContainer{display:block!important;width:100%;margin:0;padding:0;background-color:#fff!important;font-family:Times New Roman,serif;font-size:10pt}body.printing-single-report #printReportContainer h1{font-size:18pt;color:#000!important;text-align:center;border-bottom:2px solid #000;padding-bottom:.5rem;margin-bottom:1.5rem}body.printing-single-report #printReportContainer .report-section{page-break-inside:avoid;margin-bottom:1rem;border:1px solid #ccc;overflow:hidden}body.printing-single-report #printReportContainer .report-section h2{font-size:14pt;color:#000!important;margin:0;padding:.5rem 1rem;background-color:#eee!important;border-bottom:1px solid #ccc;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-single-report #printReportContainer .report-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}body.printing-single-report #printReportContainer dl{padding:.5rem 1rem}body.printing-single-report #printReportContainer .report-section-single dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}body.printing-single-report #printReportContainer .report-grid dl{padding:1rem;border-bottom:1px solid #eee}body.printing-single-report #printReportContainer .report-grid .report-subsection:nth-child(odd){border-right:1px solid #ccc}body.printing-single-report #printReportContainer .report-grid .report-subsection:nth-last-child(1),body.printing-single-report #printReportContainer .report-grid .report-subsection:nth-last-child(2){border-bottom:none}body.printing-single-report #printReportContainer .report-grid h3{font-size:12pt;font-weight:700;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid #eee}body.printing-single-report #printReportContainer .report-grid dl div,body.printing-single-report #printReportContainer .report-section-single dl dt,body.printing-single-report #printReportContainer .report-section-single dl dd{display:contents}body.printing-single-report #printReportContainer .report-grid dl div{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;padding:4px 0}body.printing-single-report #printReportContainer .report-grid dl div:nth-child(2n){background-color:#f9f9f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-single-report #printReportContainer dt{font-weight:400;color:#333!important;padding-right:1rem}body.printing-single-report #printReportContainer dd{font-weight:700;color:#000!important;text-align:left}body.printing-single-report #printReportContainer dd.res-qhot{color:#dc2626!important}body.printing-single-report #printReportContainer dd.res-cop,body.printing-single-report #printReportContainer dd.res-feasibility-ok{color:#16a34a!important}body.printing-single-report #printReportContainer dd.res-feasibility-fail{color:#dc2626!important}.result-note{display:none!important}body.printing-comparison #hpCalcForm,body.printing-comparison #results,body.printing-comparison footer{display:none!important}body.printing-comparison #comparisonSection{display:block!important;width:100%}body.printing-comparison #comparisonSection h2{color:#000!important;font-size:16pt;text-align:center}body.printing-comparison #comparisonSection .flex-wrap{display:block}body.printing-comparison #comparisonSection button{display:none!important}body.printing-comparison #comparisonTableContainer{overflow-x:visible;width:100%;box-shadow:none}body.printing-comparison .comparison-table{width:100%;font-size:8pt;border:1px solid #333}body.printing-comparison .comparison-table th,body.printing-comparison .comparison-table td{color:#000!important;border:1px solid #999;padding:4px;white-space:normal}body.printing-comparison .comparison-table thead{background-color:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-comparison .comparison-table tbody tr:nth-child(2n){background-color:#f9f9f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body{animation:fadeIn .5s ease-out}.max-w-4xl{animation:fadeInUp .6s ease-out .1s both}fieldset{animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}#results{animation:fadeInUp .5s ease-out}#resultData>div{animation:fadeInUp .4s ease-out;animation-fill-mode:both}#resultData>div:nth-child(1){animation-delay:.1s}#resultData>div:nth-child(2){animation-delay:.2s}#resultData>div:nth-child(3){animation-delay:.3s}#resultData>div:nth-child(4){animation-delay:.4s}#resultData>div:nth-child(5){animation-delay:.5s}#mvrModeBanner{animation:fadeInUp .5s ease-out;background:#f3f4f6!important;border:1px solid var(--color-border)!important;border-left:3px solid #7c3aed!important;box-shadow:var(--shadow-sm)}#mvrModeBanner svg{animation:spin 2s linear infinite;animation-duration:3s}#mvrResults{animation:fadeInUp .6s ease-out;margin-top:1.5rem;background:var(--color-bg-primary)!important;border:1px solid var(--color-border)!important;border-left:3px solid #7c3aed!important;box-shadow:var(--shadow-sm)}#mvrResults h3{color:var(--color-text-primary);margin-bottom:1rem;font-weight:600}#mvrResults .bg-white{background:var(--color-bg-primary)!important;border:1px solid var(--color-border)!important;transition:all var(--transition-base)}#mvrResults .bg-white:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark)!important}#mvrResults dt{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:.5rem}#mvrResults dd{color:var(--color-text-primary);font-weight:600}#mvrCompressionRatio,#mvrCompressionWork{color:#7c3aed}#mvrCOP{color:var(--color-success)}#mvrTempLift,#mvrSteamFlow{color:#7c3aed}#mvrSourcePressure{color:var(--color-source)}#mvrSinkPressure{color:var(--color-sink)}@media (max-width: 640px){body{padding:.5rem}.max-w-4xl{border-radius:var(--radius-lg);margin:0}#mvrResults .grid{grid-template-columns:1fr}.comparison-table{font-size:.75rem}.comparison-table th,.comparison-table td{padding:.75rem .5rem}.comparison-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}fieldset{padding:1rem;margin-bottom:1rem}.input-field{font-size:16px;padding:.75rem}button{min-height:48px;padding:.875rem 1.25rem;font-size:.9375rem}.header-content{padding:1rem .75rem}.header-title{font-size:1.125rem}#resultData .grid>div{padding:1rem}#resultData .grid>div dd{font-size:1.5rem}#resCopActual{font-size:2rem!important}}.error-message{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:var(--shadow-lg);min-width:300px;max-width:400px;pointer-events:auto;animation:slideInRight .3s ease-out;border-left:4px solid;display:flex;align-items:center;gap:.75rem}.toast.success{border-left-color:#16a34a}.toast.error{border-left-color:#dc2626}.toast.warning{border-left-color:#f59e0b}.toast.info{border-left-color:#2563eb}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.fade-out{animation:fadeOut .3s ease-out forwards}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}#results{animation:fadeInUp .5s ease-out;background:transparent}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#results{background:var(--color-bg-primary);border-top:1px solid var(--color-border);position:relative}#results h2{color:var(--color-text-primary);font-weight:600}#resultData>div{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-base);padding:1.5rem;margin-bottom:1rem}#resultData>div:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark)}#resultData>div h3{font-weight:600;font-size:1.125rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}#sourceResultGroup{background:var(--color-source-light);border-left:3px solid var(--color-source)}#sourceResultGroup:hover{box-shadow:var(--shadow-md);border-left-color:var(--color-source-dark)}#sinkResultGroup{background:var(--color-sink-light);border-left:3px solid var(--color-sink)}#sinkResultGroup:hover{box-shadow:var(--shadow-md);border-left-color:var(--color-sink-dark)}#resultData dl{display:grid;gap:.75rem}#resultData dl div{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border-light)}#resultData dl div:last-child{border-bottom:none}#resultData dt{color:var(--color-text-secondary);font-weight:500;font-size:.9375rem}#resultData dd{color:var(--color-text-primary);font-weight:600;font-size:1rem;text-align:right}#resultData .grid>div{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}#resultData .grid>div:hover{border-color:var(--color-border-dark);box-shadow:var(--shadow-md)}#resultData .grid>div dt{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}#resultData .grid>div dd{font-size:1.75rem;font-weight:700;line-height:1.2;margin:0}#resQcold{color:var(--color-source-dark)}#resQhot{color:var(--color-sink-dark)}#resW{color:var(--color-warning)}#resCopActual{font-size:2.5rem!important;color:var(--color-success-dark)}.progress-bar-container{background:var(--color-bg-tertiary);border-radius:var(--radius-full);height:.75rem;overflow:hidden;box-shadow:var(--shadow-inner);margin-top:.75rem}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-dark) 100%);box-shadow:0 2px 4px #10b9814d}#copProgressBar .progress-bar-fill{background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-dark) 100%)}#etaProgressBar .progress-bar-fill{background:linear-gradient(90deg,var(--color-source) 0%,var(--color-source-dark) 100%)}#selectionCriteria{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}#selectionCriteria .bg-white{background:var(--color-bg-primary)!important;border:1px solid var(--color-border)!important;transition:all var(--transition-base)}#selectionCriteria .bg-white:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark)!important}#selectionCriteria h4{display:flex;align-items:center;margin-bottom:1rem}#selectionCriteria svg{flex-shrink:0}.tooltip{position:relative;display:inline-block}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:#1f2937;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:1000;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;font-size:.75rem}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.touch-manipulation{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.result-card{transition:transform .2s,box-shadow .2s}.result-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.chart-container{position:relative;height:200px;width:100%}@media (max-width: 768px){.comparison-table{display:block;overflow-x:auto;white-space:nowrap}.comparison-table thead,.comparison-table tbody,.comparison-table tr{display:block}.comparison-table thead{display:none}.comparison-table tr{margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;background-color:#fff}.comparison-table td{display:flex;justify-content:space-between;padding:.5rem 0;border:none;white-space:normal}.comparison-table td:before{content:attr(data-label);font-weight:600;margin-right:1rem}}.field-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-right:.5rem;color:var(--color-text-secondary);flex-shrink:0}.input-label{display:flex;align-items:center}.input-label .field-icon{transition:color var(--transition-base)}.input-field:focus~.input-label .field-icon,.input-group:focus-within .field-icon{color:var(--color-action)}.section-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border) 20%,var(--color-border-dark) 50%,var(--color-border) 80%,transparent 100%);margin:2rem 0;border:none}svg{transition:transform var(--transition-base)}button:hover svg,.radio-group label:hover svg{transform:scale(1.1)}button:active svg{transform:scale(.95)}.decorative-line{position:relative;padding:1rem 0}.decorative-line:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border-light)}.decorative-line:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:.5rem;height:.5rem;background:var(--color-action);border-radius:var(--radius-full);box-shadow:0 0 0 4px var(--color-bg-secondary)}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid var(--color-action);outline-offset:2px;border-radius:var(--radius-sm)}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important}.max-w-4xl{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;position:relative;z-index:1}#hpCalcForm{padding:2rem;background:transparent}@media (max-width: 768px){#hpCalcForm{padding:1.5rem}}@media (max-width: 640px){#hpCalcForm{padding:1rem}}footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:1.5rem;text-align:center;color:var(--color-text-secondary);font-size:.8125rem;line-height:1.8;position:relative}footer p,footer span,footer a{color:var(--color-text-secondary)}footer .font-semibold{color:var(--color-text-primary)}footer p{margin:.5rem 0;max-width:800px;margin-left:auto;margin-right:auto}footer .font-semibold{color:var(--color-text-primary);font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}footer a{transition:color var(--transition-base)}footer a:hover{color:var(--color-source-dark)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.max-w-4xl,.max-w-4xl.bg-white{background:#ffffffad!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a}.app-header{background:#ffffffa6!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.5)}footer{background:#ffffffa6!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(255,255,255,.5)}fieldset,fieldset:has(legend.text-source),fieldset:has(legend.text-sink),fieldset:has(legend.text-perf){background:#fff9!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}#results{background:#ffffff8c!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}#resultData>div,#resultData .bg-gray-50,#resultData .bg-blue-50,#resultData .bg-red-50,#resultData .bg-white{background:#fff9!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}#sourceResultGroup,#sinkResultGroup,#mvrModeBanner,#mvrResults{background:#fff9!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}#mvrResults .bg-white{background:#ffffffa6!important;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}#selectionCriteria{background:#fff9!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}#selectionCriteria .bg-white,#sourceAirParams .bg-blue-50,#sinkAirParams .bg-red-50{background:#ffffffa6!important;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}#comparisonSection{background:#ffffff8c!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}#comparisonTableContainer{background:#ffffff80!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}.comparison-table{background:#fff9!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}.comparison-table thead{background:#ffffff80!important;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.comparison-table tbody tr:nth-child(2n){background:#ffffff59!important;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}.comparison-table tbody tr:hover{background:#ffffff80!important;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.comparison-table td.param-output{background:#fff6!important;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}.toast{background:#ffffffbf!important;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}#fillExampleButton{background:#3b82f6d9!important;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid rgba(255,255,255,.4)}#fillExampleButton:hover{background:#2563ebe6!important;backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%)}}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:var(--color-bg-primary);border:1px solid var(--color-border)}.error-message{color:var(--color-sink-dark);font-weight:500;padding:.5rem .75rem;background:var(--color-sink-light);border-radius:var(--radius-md);border-left:3px solid var(--color-sink);margin-top:.5rem;box-shadow:var(--shadow-sm)}select.input-field{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}select.input-field:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23f97316' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E")}textarea.input-field{resize:vertical;min-height:4rem;font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full);border:2px solid var(--color-bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral)}*{transition-property:color,background-color,border-color,transform,box-shadow;transition-duration:var(--transition-base);transition-timing-function:ease-in-out}@media print{.app-header{background:#fff!important;color:#000!important}.header-decoration{display:none!important}fieldset{border-left-width:1px!important}}.app-header{position:relative;background:var(--color-bg-primary);color:var(--color-text-primary);padding:1.5rem 1.25rem;border-bottom:1px solid var(--color-border);overflow:hidden}.app-header:before,.app-header:after{display:none}.header-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:1.5rem;max-width:100%;flex-wrap:wrap}.header-text{flex:1;min-width:0;text-align:center}.header-title{font-size:1.5rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .25rem;line-height:1.2;color:var(--color-text-primary)}.header-subtitle{font-size:.75rem;font-weight:400;margin:0;letter-spacing:.05em;text-transform:uppercase;font-family:Inter,sans-serif;color:var(--color-text-secondary)}.header-badge{flex-shrink:0}.version-badge{display:inline-block;padding:.375rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.75rem;font-weight:500;letter-spacing:.05em;color:var(--color-text-secondary);transition:all var(--transition-base)}.version-badge:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.lang-switch-btn{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!important;padding:.375rem .75rem!important;border-radius:var(--radius-full)!important;cursor:pointer;font-size:.75rem!important;font-weight:500!important;transition:all var(--transition-base)!important;letter-spacing:.05em!important}.lang-switch-btn:hover{background:var(--color-bg-tertiary)!important;border-color:var(--color-border-dark)!important;transform:scale(1.05)}.lang-switch-btn:active{transform:scale(.95)}.close-btn{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!important;padding:.375rem .5rem!important;border-radius:var(--radius-full)!important;cursor:pointer;font-size:.875rem!important;font-weight:500!important;transition:all var(--transition-base)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:32px!important;min-height:32px!important;touch-action:manipulation}.close-btn:hover{background:var(--color-sink-light)!important;border-color:var(--color-sink)!important;color:var(--color-sink)!important;transform:scale(1.05)}.close-btn:active{transform:scale(.95);background:var(--color-sink)!important;color:var(--color-text-inverse)!important}.close-btn svg{width:1.25rem;height:1.25rem}.header-decoration{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;left:-9999px!important;pointer-events:none!important}@media (max-width: 640px){.header-content{flex-direction:column;gap:1rem}.header-text{width:100%}.header-title{font-size:1.25rem}.header-subtitle{font-size:.7rem}.header-badge{order:-1}}fieldset{border:1px solid var(--color-border);border-left:3px solid var(--color-neutral);border-radius:var(--radius-lg);background:var(--color-bg-primary);box-shadow:var(--shadow-sm);position:relative;padding:1.5rem;margin-bottom:1.5rem;transition:all var(--transition-base)}fieldset:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark)}fieldset:has(legend.text-source){border-left-color:var(--color-source);border-left-width:3px;background:var(--color-bg-primary)}fieldset:has(legend.text-source):hover{border-left-color:var(--color-source-dark);box-shadow:var(--shadow-md)}fieldset:has(legend.text-source) .input-field:focus{border-color:var(--color-source);box-shadow:0 0 0 3px #3b82f61a}fieldset:has(legend.text-source) select.input-field:focus{border-color:var(--color-source);box-shadow:0 0 0 3px #3b82f61a}#sourceAirParams{background:linear-gradient(90deg,var(--color-source-light) 0%,transparent 100%);border-left:4px solid var(--color-source)!important;border-radius:var(--radius-md);padding:1rem;margin-top:.5rem}fieldset:has(legend.text-source) input.input-field:focus,fieldset:has(legend.text-source) select.input-field:focus,fieldset:has(legend.text-source) textarea.input-field:focus{border-color:var(--color-source);box-shadow:0 0 0 3px #3b82f61a}fieldset:has(legend.text-source) .input-unit-select:focus{border-color:var(--color-source);box-shadow:0 0 0 3px #3b82f61a}fieldset:has(legend.text-source) .input-label{color:var(--color-text-primary)}fieldset:has(legend.text-source) .input-label:has(+.input-group input:focus),fieldset:has(legend.text-source) .input-label:has(+.input-group select:focus){color:var(--color-source-dark);font-weight:600}fieldset:has(legend.text-source) .input-unit{color:var(--color-source-dark);font-weight:500;border-left-color:var(--color-source);background:var(--color-source-light)}fieldset:has(legend.text-sink){border-left-color:var(--color-sink);border-left-width:3px;background:var(--color-bg-primary)}fieldset:has(legend.text-sink):hover{border-left-color:var(--color-sink-dark);box-shadow:var(--shadow-md)}fieldset:has(legend.text-perf){border-left-color:var(--color-action);border-left-width:3px;background:var(--color-bg-primary)}fieldset:has(legend.text-perf):hover{border-left-color:var(--color-action-hover);box-shadow:var(--shadow-md)}legend{font-size:1rem;font-weight:600;padding:0 .75rem;color:var(--color-text-primary);background:var(--color-bg-primary);border:none;border-radius:var(--radius-sm);position:relative;z-index:1}legend.text-source{color:var(--color-source)}legend.text-sink{color:var(--color-sink)}legend.text-perf{color:var(--color-action)}
