:root{--ink:#183345;--muted:#72818b;--line:#e5eaee;--paper:#f4f6f8;--blue:#1d5271;--teal:#188c7c;--deep:#123246;--red:#b84242;--amber:#97642a;--radius:12px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5cacd4;outline-offset:3px}a{color:inherit}button{transition:background .16s,border-color .16s}h1,h2,h3,p{margin:0}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1480px;padding:17px 38px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.6px}.brand img{width:49px;height:49px;object-fit:contain}.brand small{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:.8px}.header-right{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.header-right b{font-weight:500;color:var(--blue);margin-left:22px;padding:4px 9px;border:1px solid var(--line);border-radius:4px}.privacy-dot{height:6px;width:6px;background:var(--teal);border-radius:100%}.workspace{max-width:1480px;margin:auto;padding:34px 38px 24px}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--teal);font-weight:600;margin-bottom:8px}h1{font-size:28px;letter-spacing:.8px;line-height:1.35;font-weight:650}.intro p{color:var(--muted);font-size:12px;margin-top:10px}.intro-note{border-left:1px solid #d7e0e6;padding-left:22px;display:grid;gap:5px;text-align:left}.intro-note span{font-size:10px;letter-spacing:1px;color:var(--muted)}.intro-note strong{font-size:12px;font-weight:500}.intro-note small{font-size:10px;color:var(--muted)}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.mode-tabs button{position:relative;text-align:left;display:flex;align-items:center;gap:15px;padding:19px 24px;background:transparent;border:0;border-right:1px solid var(--line);color:#596b78}.mode-tabs button:last-child{border-right:0}.mode-tabs button>span{font-size:22px;color:#c1cbd3;font-weight:300}.mode-tabs button div{font-size:15px;font-weight:650;white-space:nowrap}.mode-tabs small{display:block;font-size:11px;margin-top:3px;font-weight:400;color:var(--muted)}.mode-tabs button[aria-selected=true]{background:var(--deep);color:white}.mode-tabs button[aria-selected=true]>span{color:#6c9ea9}.mode-tabs button[aria-selected=true] small{color:#a9c0cc}.mode-tabs i{margin-left:auto;font-size:9px;font-style:normal;color:var(--teal);background:#e9f5f1;padding:3px 6px;border-radius:3px;white-space:nowrap}.mode-tabs button[aria-selected=true] i{background:#234f5a;color:#9adcce}.sample-notice{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #ece4d4;background:#fbf8f1;padding:10px 15px;border-radius:7px;margin-bottom:22px;color:#816d45;font-size:11px}.sample-notice b{font-weight:600;padding-right:12px}.sample-notice button{background:none;border:0;color:#816d45;font-size:11px;white-space:nowrap}.sample-notice.real{border-color:#d9e7e4;background:#eef5f3;color:#4f726b}.app-layout{display:grid;grid-template-columns:370px minmax(0,1fr);align-items:start;gap:22px}.parameter-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:sticky;top:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-title small{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.panel-title h2{font-size:17px;font-weight:600}.text-button{border:0;background:none;color:var(--teal);font-size:11px}.parameter-panel form{max-height:calc(100vh - 195px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c7d4dc transparent}.input-section{border-bottom:1px solid var(--line)}.input-section summary{padding:16px 22px;cursor:pointer;font-size:12px;font-weight:600;display:flex;list-style:none;align-items:center;gap:9px;user-select:none}.input-section summary::-webkit-details-marker{display:none}.input-section summary:after{content:'+';font-size:17px;font-weight:400;color:var(--muted);margin-left:auto}.input-section[open] summary:after{content:'−'}.section-number{font-size:10px;color:var(--teal);border:1px solid #dcece7;padding:0 4px;border-radius:3px}.section-body{padding:0 22px 20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 13px}.field{display:block;min-width:0}.field.wide{grid-column:1/-1}.field-label{display:flex;justify-content:space-between;gap:5px;font-size:11px;color:#526977;margin-bottom:6px}.field-label small{font-size:9px;color:#98a4ae;white-space:nowrap}.input-wrap{position:relative}.field input,.field select{width:100%;height:39px;border:1px solid #dce3e8;border-radius:6px;background:white;color:var(--ink);padding:8px 10px;outline:0;min-width:0;font-size:13px}.field select{font-size:11px;padding-right:5px}.field input:focus,.field select:focus{border-color:#529eb1;box-shadow:0 0 0 3px #eaf4f6}.field input::placeholder{font-size:10px;color:#acb7c0}.field-hint{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.6}.group-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}.source-select{width:100%;font-size:11px;color:var(--blue);border:1px solid #dce3e8;border-radius:5px;padding:7px;margin-bottom:14px;background:#f8fafb}.total-line{display:flex;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px dashed var(--line);font-size:11px}.total-line b{font-size:15px;font-weight:600;color:var(--blue)}.checkbox-line{display:flex;align-items:flex-start;font-size:10px;gap:6px;color:#617983;margin-top:12px}.checkbox-line input{margin-top:4px;accent-color:var(--teal)}.target-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.target-presets button{border:1px solid #dce7e4;background:#f5faf8;color:var(--teal);padding:7px;border-radius:5px;font-size:11px}.target-presets button.active{background:var(--teal);color:white;border-color:var(--teal)}.target-section{background:#f3f9f7}.target-section .section-number{background:#e1f1eb}.subsidy-row{display:grid;grid-template-columns:1fr 1fr 23px;align-items:end;gap:9px;margin-top:10px}.subsidy-row button{height:37px;border:0;background:transparent;color:var(--red)}.input-footer{padding:15px 22px 18px;border-top:1px solid var(--line)}.input-footer>span{font-size:9px;color:var(--muted);display:block;margin-bottom:10px}.primary-button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:6px;background:var(--blue);color:white;padding:10px 16px;width:100%;font-size:12px}.primary-button:hover{background:#163e57}.results-panel{min-width:0}.results-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 14px}.results-heading h2{font-size:18px;font-weight:600}.results-heading p{font-size:10px;color:var(--muted);margin-top:3px}.result-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.outline-button{border:1px solid #d7e1e7;background:white;color:var(--blue);padding:8px 11px;border-radius:5px;font-size:11px;white-space:nowrap}.export-button{background:var(--deep);color:white;border:1px solid var(--deep);display:flex;align-items:center;gap:6px}.export-button svg{width:13px;height:13px}.view-switch{display:inline-flex;gap:0;border:1px solid var(--line);background:white;border-radius:5px;overflow:hidden}.view-switch button{border:0;background:none;padding:6px 9px;font-size:10px;color:var(--muted)}.view-switch button.active{background:#eaf1f6;color:var(--blue)}.status-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;border-radius:7px;background:#eff6f4;border:1px solid #dcebe5;font-size:11px;margin-bottom:15px;color:#487267}.status-banner>span{margin-top:1px;font-size:12px}.status-banner.warning{background:#fbf7ed;border-color:#ede2c9;color:var(--amber)}.status-banner.danger{background:#fbf0f0;border-color:#f0d8d8;color:var(--red)}.status-banner b{font-weight:600;display:block}.status-banner small{display:block;font-size:10px;margin-top:3px;line-height:1.65}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.metrics-grid.reverse{grid-template-columns:repeat(3,1fr)}.metric{position:relative;background:white;border:1px solid var(--line);border-radius:8px;padding:19px 16px 16px;min-width:0}.metric:first-child{border-top:3px solid var(--teal);padding-top:17px}.metric-label{font-size:10px;color:var(--muted);line-height:1.6}.metric-value{font-size:26px;font-weight:550;line-height:1.25;margin:10px 0 9px;letter-spacing:-.8px;white-space:nowrap}.metric-value.text{font-size:16px;white-space:normal;letter-spacing:0;line-height:1.65}.metric-unit{font-size:9px;color:#8f9ca6}.metric small{font-size:9px;color:#8999a2;display:block;margin-top:5px}.metric.negative .metric-value{color:var(--red)}.card{border:1px solid var(--line);border-radius:var(--radius);background:white;margin-bottom:17px;padding:22px}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.card-header h3{font-size:14px;font-weight:600}.card-header p{font-size:10px;color:var(--muted);margin-top:4px}.card-header .caption{font-size:9px;color:var(--muted);white-space:nowrap}.chart-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:9px;color:var(--muted)}.chart-legend span:before{content:'';width:8px;height:8px;display:inline-block;margin-right:5px;border-radius:2px;background:var(--blue)}.chart-legend span:last-child:before{background:var(--teal);height:3px;vertical-align:middle}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:#83949f}.chart .zero{stroke:#9aaeba;stroke-width:1}.chart .grid{stroke:#e9edf0;stroke-dasharray:3 4}.chart .annual{fill:#adc6d5}.chart .initial{fill:#597e95}.chart .cumulative{stroke:var(--teal);stroke-width:2.4;fill:none}.chart .recovery{stroke:#9cccbc;stroke-dasharray:3 3}.chart-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);padding-top:7px}.table-wrap{overflow-x:auto;scrollbar-width:thin}.data-table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap;font-size:11px}.data-table th{background:#f5f8fa;font-weight:500;color:#6c7f8d;font-size:10px;padding:9px 10px}.data-table td{padding:10px;border-bottom:1px solid #edf1f3}.data-table td:first-child,.data-table th:first-child{text-align:left}.data-table tr:last-child td{border-bottom:0}.data-table .baseline-row{background:#f0f8f5}.cell-negative{color:var(--red)}.cell-positive{color:var(--teal)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px}.two-columns .card{min-width:0}.cost-bar{margin:13px 0}.cost-bar-head{display:flex;justify-content:space-between;gap:9px;font-size:10px;color:#587080}.bar-track{height:5px;border-radius:3px;background:#eef2f5;margin-top:7px;overflow:hidden}.bar-fill{height:100%;background:#698fa6;border-radius:3px}.bar-fill.teal{background:#5aa696}.bar-fill.negative{background:#c59482}.finance-summary{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}.finance-summary b{font-size:16px;font-weight:600;color:var(--teal)}.finance-summary.negative b{color:var(--red)}.break-even-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-label{font-size:9px;color:var(--muted)}.mini-value{font-size:20px;font-weight:550;margin-top:7px;line-height:1.3}.mini-unit{font-size:9px;color:#95a3ac;margin-top:4px}.inline-link{border:0;background:none;color:var(--teal);font-size:10px;padding:0;margin-top:16px}.comparison-values{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.completion-track{height:6px;background:#edf1f3;margin:17px 0 10px;border-radius:6px;overflow:hidden}.completion-track div{height:100%;background:var(--teal);border-radius:6px}.comparison-note{font-size:10px;color:var(--muted);line-height:1.7}.difference{background:#f2f8f5;padding:15px;border-radius:6px;margin-top:15px}.difference strong{font-size:16px;color:var(--teal);font-weight:550}.difference small{font-size:10px;display:block;color:var(--muted);margin-top:4px}.risk-list{margin:0;padding:0;list-style:none}.risk-list li{display:flex;gap:9px;font-size:11px;color:#627682;line-height:1.8;padding:7px 0;border-bottom:1px solid #eef2f4}.risk-list li:last-child{border-bottom:0}.risk-list li:before{content:'!';font-size:9px;color:#ac8050;border:1px solid #e4d8c6;border-radius:50%;width:14px;height:14px;line-height:13px;text-align:center;flex-shrink:0;margin-top:4px}.formula-details summary{font-size:12px;font-weight:600;cursor:pointer}.formula-content{font-size:11px;color:#6b7f8a;line-height:1.9;padding-top:15px}.formula-box{font-family:inherit;background:#f5f8fa;color:var(--blue);border:1px solid var(--line);padding:12px;margin:8px 0;border-radius:5px;font-size:11px}.formula-content a{color:var(--teal)}.empty-results{padding:48px 32px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.empty-results h2{font-size:20px;margin-bottom:10px}.empty-results p{font-size:12px;color:var(--muted)}.error-list{padding-left:20px;color:var(--red);font-size:12px;line-height:2;margin-top:17px}.scenario-assumptions{display:flex;gap:10px;align-items:center}.scenario-assumptions label{font-size:9px;color:var(--muted)}.scenario-assumptions input{width:50px;border:1px solid var(--line);padding:3px 4px;border-radius:4px;font-size:10px;color:var(--blue)}.capacity-pair{display:flex;justify-content:space-between;padding:8px 0;font-size:11px;border-bottom:1px solid var(--line)}.capacity-pair:last-child{border:0}.capacity-pair b{font-weight:550}.page-footer{display:grid;grid-template-columns:auto 1fr;gap:3px 20px;color:var(--muted);font-size:10px;border-top:1px solid #dfe6eb;margin-top:29px;padding-top:20px}.page-footer strong{grid-row:span 2;font-size:12px;color:#54717b}.page-footer small{font-size:9px}.mobile-dock{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;z-index:20;border-radius:7px;padding:11px 20px;font-size:12px;box-shadow:0 5px 24px #142b4222;opacity:0;pointer-events:none;max-width:calc(100% - 30px)}#toast.show{opacity:1}.pdf-ready{padding:12px 15px;border:1px solid #cbdfe6;background:#f1f8fa;border-radius:7px;margin-bottom:15px;font-size:11px}.pdf-ready a{color:var(--blue);font-weight:600;display:inline-block;margin-right:15px}.snapshot-meta{font-size:9px;color:var(--muted);margin-top:7px}.wide-span{grid-column:1/-1}.quick-hidden{display:none}
@media(min-width:1500px){.app-layout{grid-template-columns:400px minmax(0,1fr)}.metric-value{font-size:28px}}
@media(max-width:1180px){.workspace{padding:25px 24px}.header-inner{padding:15px 24px}.app-layout{grid-template-columns:330px minmax(0,1fr);gap:17px}.mode-tabs button{padding:17px 18px;gap:10px}.mode-tabs i{display:none}.metric-value{font-size:22px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.two-columns{grid-template-columns:1fr}.results-heading{align-items:flex-start;flex-wrap:wrap}.card{padding:18px}.metric{padding:15px}.comparison-values{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.header-inner{padding:12px 18px}.header-right>span{display:none}.header-right b{margin:0}.workspace{padding:23px 18px 60px}.intro{margin-bottom:20px}.intro-note{display:none}h1{font-size:23px}.eyebrow{font-size:9px;letter-spacing:1.4px}.intro p{font-size:11px;line-height:1.8;max-width:460px}.mode-tabs{position:sticky;top:0;z-index:10;border-radius:8px;box-shadow:0 3px 10px #18334508}.mode-tabs button{padding:14px 10px;display:block;text-align:center}.mode-tabs button>span{display:none}.mode-tabs small{font-size:8px;line-height:1.5}.mode-tabs button div{font-size:13px}.sample-notice{font-size:10px;align-items:flex-start}.sample-notice b{display:block}.app-layout{grid-template-columns:1fr;gap:24px}.parameter-panel{position:static}.parameter-panel form{max-height:none;overflow:visible}.panel-title{padding:18px 22px}.field input{font-size:16px}.field select{font-size:13px}.field-label{font-size:12px}.input-section summary{font-size:13px}.group-note{font-size:11px}.metric-value{font-size:25px}.metrics-grid.reverse{grid-template-columns:repeat(2,1fr)}.metric-unit{font-size:10px}.metrics-grid{gap:10px}.results-heading h2{font-size:19px}.results-heading p{font-size:11px}.card-header{gap:8px}.card-header h3{font-size:15px}.card-header p{font-size:11px}.data-table{font-size:11px}.page-footer{display:block;font-size:10px}.page-footer strong,.page-footer span,.page-footer small{display:block;margin-top:7px}.mobile-dock{display:block;position:fixed;bottom:0;left:0;right:0;z-index:11;padding:8px 16px max(8px,env(safe-area-inset-bottom));background:#ffffffed;border-top:1px solid var(--line)}.mobile-dock button{border:0;background:var(--deep);color:white;border-radius:6px;font-size:12px;padding:9px 18px;width:100%}.status-banner{font-size:12px}.status-banner small{font-size:11px}.break-even-values{gap:12px}.mini-value{font-size:19px}.comparison-values{grid-template-columns:repeat(2,1fr)}.formula-content{font-size:11px}#toast{bottom:74px}.result-actions{width:100%;justify-content:flex-start}.scenario-assumptions{flex-wrap:wrap}.chart-footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.input-wrap>span{position:absolute;right:9px;top:11px;font-size:9px;color:#8a9ba6;pointer-events:none;white-space:nowrap}.input-wrap:has(>span)>input{padding-right:62px}.chevron{display:none}.source-select{margin-bottom:12px}.section-body>.field{margin-bottom:14px}.status-banner{display:block}.status-banner strong{display:block;margin-bottom:3px}.status-banner p{font-size:10px;line-height:1.75}.results-heading small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.export-button{padding:8px 12px;border-radius:5px;font-size:11px}.chart{display:block;width:100%;height:auto}.chart-legend span:last-child:before{display:none}.chart-legend span:nth-child(2):before{background:var(--teal);height:3px;vertical-align:middle}.break-even-values{grid-template-columns:repeat(2,1fr)}.comparison-values>div{min-width:0}.comparison-values strong,.comparison-values b,.comparison-values small{display:block}.comparison-values small{font-size:9px;color:var(--muted);margin-top:5px}.comparison-values .mini-value{font-size:19px;overflow-wrap:anywhere}.completion-track span{display:block;height:100%;background:var(--teal);border-radius:6px}.comparison-note{padding:12px 14px;border-radius:6px;background:#f5f8fa}.comparison-note.success{color:#487267;background:#eff6f4}.comparison-note.danger{color:var(--red);background:#fbf0f0}.comparison-note.warning{color:var(--amber);background:#fbf7ed}.comparison-note p{margin-top:5px}.baseline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.capacity-status{font-size:10px;margin-top:13px;color:var(--teal)}.capacity-status.warning{color:var(--amber)}.capacity-status.danger{color:var(--red)}.capacity-pair>div{width:50%;min-width:0}.capacity-pair b{display:inline-block;margin-top:4px}.subsidy-heading{display:flex;justify-content:space-between;font-size:11px;margin-top:22px}.scenario-assumptions{margin-bottom:15px;font-size:10px;color:var(--muted);flex-wrap:wrap}.scenario-assumptions label{white-space:nowrap}.data-table small{display:block;font-size:9px;color:var(--muted)}.cost-bar-head small,.finance-summary small{font-size:9px;margin-left:4px;font-weight:400;color:var(--muted)}.pdf-ready strong,.pdf-ready small{display:block;margin-bottom:8px}.pdf-ready small{font-size:10px;margin-top:9px;color:var(--muted)}.empty-results h3{margin:12px 0}.empty-icon{font-size:26px;color:var(--teal)}.metric-value{overflow-wrap:anywhere;white-space:normal}.sample-notice.real-project{border-color:#d9e7e4;background:#eef5f3;color:#4f726b}.sample-notice.real-project button{color:#4f726b}.sales-summary .comparison-values{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.status-banner p{font-size:11px}.metric-value{font-size:23px}.card-header .caption{white-space:normal;text-align:right;max-width:48%}.sales-summary .comparison-values{grid-template-columns:repeat(2,1fr)}}
.results-panel{scroll-margin-top:20px}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.working-project{min-width:0;flex:1}.working-project strong{display:block;font-size:13px;overflow-wrap:anywhere}.working-project>span{display:block;font-size:10px;line-height:1.8;margin-top:4px;color:var(--teal)}
.project-toolbar-actions,.project-dialog-footer,.project-backup-actions,.saved-project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.project-toolbar button,.project-dialog button,.backup-import-label{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:6px;padding:8px 12px;font-size:11px;cursor:pointer}
.project-toolbar .save-project-button,.project-dialog .save-project-button{background:var(--blue);border-color:var(--blue);color:white}
#project-count{margin-left:3px;background:#edf3f6;padding:1px 5px;border-radius:4px;font-size:10px}.save-error{color:var(--red)!important}
.project-dialog{border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 70px #13334738;background:white;color:var(--ink);padding:22px;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto}
.project-dialog::backdrop{background:#132e4566}.project-library-dialog{width:min(680px,calc(100vw - 32px))}
.project-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.project-dialog h2{font-size:18px}.project-dialog-header button{font-size:20px;padding:0;width:32px;height:32px}
.project-dialog input[type=text],.project-dialog input[type=search]{width:100%;min-width:0;border:1px solid #d4dfe6;border-radius:6px;padding:10px 12px;font-size:14px;color:var(--ink);background:#fff}
.project-dialog input:focus-visible,.project-dialog button:focus-visible,.project-toolbar button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.save-name-label{display:block;font-size:12px;margin-bottom:8px}
.project-dialog .checkbox-line{font-size:12px;margin:15px 0}.project-storage-note{font-size:11px;line-height:1.9;color:var(--muted);margin:14px 0}.project-dialog-footer{justify-content:flex-end;margin-top:20px}#save-project-error{font-size:12px;line-height:1.8}
.library-error{font-size:12px;line-height:1.8;padding:12px 14px;background:#fff5f4;border:1px solid #f0d9d5;border-radius:8px;margin:12px 0}
.project-library-tools{display:flex;gap:15px;align-items:center}.project-library-tools>input{flex:1}.project-library-tools .checkbox-line{white-space:nowrap}
.saved-project-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.saved-project-row>div:first-child{min-width:0}.saved-project-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.saved-project-row p{font-size:11px;color:#69828d;margin:6px 0}.saved-project-row small{font-size:10px;color:var(--muted)}.saved-project-actions{justify-content:flex-end;flex-shrink:0}.saved-project-actions .subtle-button{border-color:transparent;color:var(--muted);padding:8px}.library-empty{padding:30px 0;font-size:12px;color:var(--muted);line-height:1.9}.project-backup-actions{margin-top:20px}.backup-import-label{position:relative;overflow:hidden}.backup-import-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.backup-import-label:focus-within{outline:2px solid var(--teal);outline-offset:2px}
@media(max-width:820px){.project-toolbar{align-items:stretch;flex-direction:column;padding:13px 15px;gap:12px}.project-toolbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.project-toolbar button{padding:9px 4px;font-size:11px}.working-project>span{font-size:11px}.project-dialog{padding:18px}.project-dialog input[type=text],.project-dialog input[type=search]{font-size:16px}.saved-project-row{align-items:flex-start;flex-direction:column;gap:10px}.saved-project-actions{justify-content:flex-start}.project-storage-note{font-size:12px}}
.field-label-row{display:flex;align-items:flex-start;gap:5px;margin-bottom:6px;min-height:22px}
.field-label-row>.field-label{margin-bottom:0;align-items:center;min-height:22px;flex:1;min-width:0;line-height:1.55}
.field-help-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #cbdce2;border-radius:50%;background:#f5f9fa;color:#557883;font-size:12px;font-weight:600;line-height:1;padding:0;cursor:help}
.field-help-button:hover,.field-help-button[aria-expanded="true"]{border-color:#168f82;background:#eef8f5;color:#168f82}
.field-help-button:focus-visible{outline:2px solid #168f82;outline-offset:3px}
.parameter-help-tooltip{position:fixed;z-index:1000;box-sizing:border-box;padding:13px 15px;border:1px solid #cddfdc;border-radius:9px;background:#fff;color:#375461;font-size:12px;line-height:1.85;box-shadow:0 6px 24px #1833451c;overflow:auto;overflow-wrap:anywhere}
.parameter-help-tooltip[hidden]{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.storage-help-note{font-size:10px;color:#637e86;line-height:1.8;margin-top:13px}
@media(max-width:820px){.field-help-button{width:26px;height:26px;flex-basis:26px;font-size:13px}.field-label-row>.field-label{min-height:26px}.parameter-help-tooltip{font-size:13px}.storage-help-note{font-size:11px}}
@media(max-width:820px){.results-panel{scroll-margin-top:83px}.chart text{font-size:21px}.chart-footer{flex-wrap:wrap}.chart-footer strong{font-size:10px}.input-wrap>span{font-size:9px}}
@media(max-width:820px){.mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-tabs button{min-width:0}.mode-tabs small{white-space:normal}.parameter-panel{scroll-margin-top:83px}}
@media(max-width:370px){.mode-tabs button{padding:13px 6px}.mode-tabs button div{font-size:12px}.mode-tabs small{font-size:8px}}
.workspace{padding-top:25px}.intro{margin-bottom:20px}h1{font-size:26px}.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px}.mode-tabs button{padding:14px 24px;justify-content:center;text-align:center}.sample-notice{margin-bottom:18px}.panel-title{padding:11px 18px;background:#fafcfc;gap:10px}.section-number{display:none}.input-section summary{padding:13px 20px}.section-body{padding:0 20px 17px}.input-note{margin-top:12px;font-size:10px;color:var(--muted)}.input-note>summary{padding:0;display:list-item;font-size:10px;font-weight:400;list-style:disclosure-closed;color:var(--muted)}.input-note[open]>summary{list-style:disclosure-open}.input-note summary:after{display:none}.input-note .fields{margin-top:14px}.input-note .group-note{margin-top:7px}.energy-section>summary{color:var(--teal)}.energy-section .checkbox-line{font-size:12px;margin:0 0 14px}.energy-assumption{font-size:10px;color:var(--amber);margin-bottom:14px}.result-detail{margin-bottom:17px;border:1px solid var(--line);border-radius:var(--radius);background:white;padding:15px 20px}.result-detail>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--blue)}.result-detail[open]>summary{margin-bottom:18px}.result-detail .card:last-child{margin-bottom:0}.result-detail .two-columns .card{margin-bottom:0}.energy-ledger{display:grid;gap:12px}.energy-ledger>div{display:flex;justify-content:space-between;gap:12px;color:#637983;font-size:12px}.energy-ledger strong{font-weight:600;white-space:nowrap;color:var(--teal)}.energy-ledger .ledger-total{border-top:1px solid var(--line);padding-top:12px;color:var(--ink);font-weight:600}.energy-ledger .ledger-total strong{color:var(--ink)}
@media(max-width:820px){.mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.mode-tabs button{padding:13px 12px}.workspace{padding-top:19px}.intro{margin-bottom:17px}h1{font-size:22px}.input-note>summary{font-size:11px}.energy-assumption{font-size:11px}.energy-ledger>div{font-size:11px}.input-section summary{font-size:13px}.section-body{padding:0 20px 18px}.result-detail{padding:15px}.energy-ledger strong{white-space:normal;text-align:right}}
