:root{color:#0e1d2f;background:radial-gradient(circle at 12% 8%,#d7e9ff,#eff5ff 34%,#f8fbff 70%);font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.45;--panel-bg: #ffffff;--panel-border: #d3dde9;--panel-border-strong: #b8c5d6;--accent: #004d7a;--accent-soft: #edf5ff;--accent-2: #c45818;--muted: #5b6f86;--warning: #9a6b00;--error: #8f1f1f;--ok: #0c6b3e;--shadow: 0 4px 14px rgba(19, 39, 66, .08)}*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;padding:24px}.page-header{margin-bottom:18px}.page-title{margin:0 0 4px;font-size:1.6rem;color:var(--accent);letter-spacing:-.01em}.page-subtitle{margin:0;font-size:.9rem;color:var(--muted);max-width:92ch}.layout{display:grid;grid-template-columns:minmax(380px,480px) 1fr;gap:18px;align-items:start}@media (max-width: 1100px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.section-title{margin:0 0 8px;font-size:1rem;color:#143f66;font-weight:600}.input-panel{display:flex;flex-direction:column;gap:14px}.input-panel-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.input-panel-header .actions{margin-top:0}.form-section{border:1px solid var(--panel-border);border-radius:10px;margin:0;padding:10px 12px 12px;background:#fbfdff}.form-section-title{font-size:.83rem;font-weight:600;color:var(--accent);padding:0 6px;text-transform:uppercase;letter-spacing:.04em}.form-section-caption{margin:0 0 8px;font-size:.78rem;color:var(--muted)}.form-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.form-section-grid>.span-2{grid-column:span 2}.form-subsection{grid-column:span 2;border-top:1px dashed #e1e9f3;padding-top:8px;margin-top:2px}.form-subsection-title{margin:0 0 6px;font-size:.78rem;font-weight:600;color:var(--accent)}.form-subsection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.field{display:grid;gap:4px}.field label{font-size:.79rem;color:#35516e;font-weight:500}.field-input-wrap{position:relative;display:flex;align-items:center}.field-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.74rem;color:var(--muted);pointer-events:none}.field input,.field select{width:100%;border:1px solid #b9c9dc;border-radius:8px;padding:7px 9px;background:#fff;color:#12304d;font-size:.88rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:hover,.field select:hover{border-color:#8ea8c5}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #004d7a24}.field-label-with-help{position:relative;display:inline-flex;align-items:center;gap:6px}.field-help-anchor{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #a5bdd7;border-radius:999px;background:#f0f6ff;color:#2d557f;font-size:.66rem;line-height:1;cursor:help}.field-help-popup{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,70vw);padding:8px 10px;border:1px solid #c6d8ec;border-radius:8px;background:#fff;box-shadow:0 8px 24px #13274224;color:#153955;font-size:.74rem;font-weight:400;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .15s ease,transform .15s ease;z-index:20}.field-label-with-help:hover .field-help-popup,.field-label-with-help:focus-within .field-help-popup{opacity:1;transform:translateY(0)}.actions{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid #31597c;border-radius:8px;padding:7px 12px;background:#f5f9ff;color:#10385d;font-size:.85rem;cursor:pointer;transition:background .15s ease,transform .05s ease}button:hover:not(:disabled){background:#e7f0fd}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:#0d4f7e;color:#fff;border-color:#0a3f66}button.primary:hover:not(:disabled){background:#0a4471}.error-text{color:var(--error);font-size:.76rem}.result-panel{display:flex;flex-direction:column;gap:14px}.result-panel-empty{padding:22px}.result-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.result-header .section-title{margin:0}.result-header-caption{margin:4px 0 0;font-size:.78rem;color:var(--muted)}.result-actions{display:flex;gap:8px;align-items:center}.result-error{background:#fff0f0;border:1px solid #f0bdbd;color:var(--error);padding:8px 10px;border-radius:8px;font-size:.85rem}.result-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.result-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-left:3px solid var(--accent);border-radius:10px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.result-card-ok{border-left-color:var(--ok)}.result-card-warn{border-left-color:var(--warning)}.result-card-err{border-left-color:var(--error)}.result-card-header{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start}.result-card-index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.85rem}.result-card-title{margin:0;font-size:.98rem;color:#143f66}.result-card-caption{margin:2px 0 0;font-size:.78rem;color:var(--muted)}.result-card-body{display:flex;flex-direction:column;gap:4px}.metric-row{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.86rem;min-height:24px}.metric-row-strong .metric-value{color:var(--accent);font-weight:700;font-size:.98rem}.metric-label{color:#41576f;display:inline-flex;align-items:baseline;gap:6px;flex:0 0 auto}.metric-label-text{white-space:normal}.metric-leader{flex:1 1 auto;align-self:end;min-width:16px;border-bottom:1px dotted #c2cbd6;margin-bottom:4px;height:0}.metric-hint{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:#f0f6ff;border:1px solid #b9cee3;color:#2d557f;font-size:.62rem;cursor:help}.metric-value{font-variant-numeric:tabular-nums;color:#102a44}.card-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;font-size:.82rem;line-height:1.4}.card-note-warn{background:#fff8e8;border:1px solid #efd084;color:var(--warning)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;border:1px solid;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge.ok{color:var(--ok);border-color:#8fd0ad;background:#effbf4}.badge.warn{color:var(--warning);border-color:#efd084;background:#fff8e8}.badge.err{color:var(--error);border-color:#e8a3a3;background:#fff0f0}.response-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.response-meta-extra{font-size:.84rem;color:var(--muted)}.response-chart-area{margin-top:10px;padding:10px;background:#fbfdff;border:1px solid var(--panel-border);border-radius:8px}.chart-wrap{display:flex;flex-direction:column;gap:6px}.chart-title{margin:0 0 4px;font-size:.84rem;color:var(--muted);font-weight:600}.response-chart{width:100%;height:auto;display:block}.chart-grid{stroke:#e2eaf3;stroke-width:1}.chart-grid-ref{stroke:#b8c8d8;stroke-width:1;stroke-dasharray:3 3}.chart-frame{fill:none;stroke:#b8c5d6;stroke-width:1}.chart-axis-label{font-size:10px;fill:var(--muted)}.chart-axis-label-strong{font-size:10px;fill:#2c4a66;font-weight:600}.chart-axis-title{font-size:11px;fill:#3a5777;font-weight:600}.chart-curve{fill:none;stroke-width:2}.chart-marker-line{stroke-width:1;stroke-dasharray:3 3;opacity:.7}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#2f4862;padding-top:4px}.chart-legend-row{display:inline-flex;align-items:center;gap:6px}.chart-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.chart-legend-label{font-weight:600}.chart-legend-values{font-variant-numeric:tabular-nums;color:var(--muted)}.chart-caption{margin:6px 0 0;font-size:.78rem;color:var(--muted)}.feasibility-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.feasibility-check{border:1px solid var(--panel-border);border-left:4px solid var(--panel-border-strong);border-radius:8px;padding:8px 10px;font-size:.85rem;background:#fff}.feasibility-check-pass{border-color:#b1e0c5;border-left-color:var(--ok);background:#f5fbf7}.feasibility-check-warn{border-color:#efd084;border-left-color:var(--warning);background:#fff8e8}.feasibility-check-info{border-color:#c6d8ec;border-left-color:var(--accent);background:#f4f8fd}.feasibility-check-fail{border-color:#e8a3a3;border-left-color:var(--error);background:#fdf3f3}.feasibility-check-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.feasibility-check-name{font-weight:600;color:#1f3a55}.feasibility-check-state{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}.feasibility-check-pass .feasibility-check-state{color:#fff;background:var(--ok);border-color:var(--ok)}.feasibility-check-warn .feasibility-check-state{color:#5a3f00;background:#fde29b;border-color:var(--warning)}.feasibility-check-info .feasibility-check-state{color:#fff;background:var(--accent);border-color:var(--accent)}.feasibility-check-fail .feasibility-check-state{color:#fff;background:var(--error);border-color:var(--error)}.feasibility-check-details{margin-top:3px;font-size:.81rem;color:#4a607b}.recommendations{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.86rem}.warnings{margin-top:8px;color:var(--warning)}.methodology .compact{font-size:.84rem}ul.compact{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.print-only{display:none}@media print{:root{background:#fff}body,.page{background:#fff!important}.page{padding:0}.layout{display:block}.input-panel,.page-header,.no-print{display:none!important}.print-only{display:block;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #b8c5d6}.print-header h1{margin:0;font-size:18pt;color:#00385a}.print-meta{margin-top:4px;font-size:9pt;color:#4a607b}.panel,.result-card,.result-header,.feasibility-check,.response-chart-area,.form-section{box-shadow:none!important;page-break-inside:avoid}.badge,.feasibility-check,.feasibility-check-state,.result-card,.card-note,.card-note-warn{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.feasibility-check{border-left-width:4px!important}.result-grid-cards{grid-template-columns:1fr}.result-card{margin-bottom:6px}.result-card-header,.metric-row,.feasibility-check{page-break-inside:avoid}.result-card-title{font-size:12pt}.metric-row,.feasibility-check,ul.compact li,.recommendations li{font-size:10pt}.metric-leader{border-bottom-color:#6b7d92!important}.response-chart{max-height:220px}}
