:root{color:#10243d;font-synthesis:none;text-rendering:optimizelegibility;--blue:#1667c5;--blue-dark:#0d4f9c;--blue-soft:#eef5fd;--green:#14845b;--red:#d83b45;--amber:#a86600;--ink:#10243d;--muted:#68778a;--border:#d8e0e9;--surface:#fff;--page:#f4f7fa;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f7fa;font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px;min-height:100%}body{background:var(--page);min-width:320px;min-height:100%;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:1px;outline:3px solid #1667c538}.simple-app-shell{background:var(--page);flex-direction:column;min-height:100vh;display:flex}.simple-topbar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:12px 26px;display:flex;position:sticky;top:0;box-shadow:0 3px 12px #1e37500d}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:#102c49;border-radius:9px;flex-direction:column;flex:none;justify-content:center;gap:4px;width:38px;height:38px;padding:8px 7px;display:flex}.brand-mark span{border:1px solid #fff;border-radius:3px;height:3px;display:block}.brand-mark span:nth-child(2){margin-inline:3px}.brand-block h1{color:var(--ink);letter-spacing:-.2px;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:730;line-height:1.2;display:flex}.brand-block h1 span{border-left:1px solid var(--border);color:var(--blue);letter-spacing:.3px;padding-left:10px;font-size:13px;font-weight:650}.brand-block p{color:var(--muted);margin:4px 0 0;font-size:12px}.topbar-actions{align-items:center;gap:8px;display:flex}.site-links{align-items:center;gap:5px;margin-right:4px;display:flex}.site-links a{color:var(--blue);white-space:nowrap;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:700;text-decoration:none}.site-links a:hover{background:#eaf3fd}.save-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;margin-right:5px;font-size:12px;display:inline-flex}.save-state i{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #14845b1a}.primary-button,.secondary-button,.export-button,.clear-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 13px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.primary-button{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 2px 5px #1667c529}.primary-button:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.secondary-button,.export-button{color:#29415d;background:#fff;border-color:#cbd5e0}.secondary-button:hover,.export-button:hover{background:#f7fbff;border-color:#9eb7d1}.clear-button{color:var(--red);background:#fff;border-color:#d8e0e9}.clear-button:hover{background:#fff6f6;border-color:#e5a7ab}.primary-button:active,.secondary-button:active,.export-button:active,.clear-button:active{transform:translateY(1px)}.primary-button:disabled,.export-button:disabled{opacity:.58;cursor:wait}.primary-button svg,.secondary-button svg,.export-button svg,.clear-button svg{width:17px;height:17px}.simple-main{flex-direction:column;gap:14px;width:min(1560px,100% - 40px);margin:18px auto 22px;display:flex}.project-settings{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1.15fr) 1px minmax(460px,.85fr);gap:22px;padding:17px 20px;display:grid;box-shadow:0 3px 14px #1c36520a}.setting-divider{background:#e5eaf0;width:1px}.setting-group{align-items:end;gap:12px;display:grid}.project-fields{grid-template-columns:1.25fr 1fr .7fr}.calculation-fields{grid-template-columns:.8fr 1.25fr .7fr}.setting-group label,.setting-field,.parameter-fields label,.diameter-editor label{color:#41536a;flex-direction:column;gap:6px;min-width:0;font-size:11px;font-weight:620;display:flex}.setting-field>.simple-input{flex:none}.field-label-row{justify-content:space-between;align-items:center;gap:6px;min-height:16px;display:flex}.field-label-row button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:700}.field-label-row button:hover{color:var(--blue-dark);text-decoration:underline}.simple-input{width:100%;min-width:0;height:34px;color:var(--ink);background:#fff;border:1px solid #cfd8e3;border-radius:6px;padding:0 9px;font-size:12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.simple-input:hover{border-color:#aebdcd}.simple-input:focus{border-color:#6b9fd7;box-shadow:0 0 0 3px #1667c517}.simple-input.numeric{text-align:right;font-variant-numeric:tabular-nums}.input-with-unit{grid-template-columns:1fr auto;align-items:center;display:grid}.input-with-unit .simple-input{grid-area:1/1;padding-right:42px}.input-with-unit b{color:var(--muted);pointer-events:none;grid-area:1/1;justify-self:end;padding-right:9px;font-size:11px;font-weight:500}.sample-notice{border-left:3px solid var(--blue);color:#355472;background:#edf5ff;justify-content:space-between;align-items:center;gap:16px;min-height:38px;padding:8px 13px;font-size:12px;display:flex}.sample-notice button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.public-boundary{color:#6f4b12;background:#fff8e9;border:1px solid #efcc8d;border-radius:9px;align-items:flex-start;gap:12px;padding:11px 14px;font-size:11px;line-height:1.65;display:flex}.public-boundary strong{color:#9a5b00;flex:none}.line-schematic,.line-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 3px 14px #1c365209}.section-heading,.editor-toolbar{border-bottom:1px solid #e3e8ee;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;display:flex}.section-heading h2,.editor-toolbar h2{color:var(--ink);margin:0;font-size:16px;font-weight:720}.section-heading p,.editor-toolbar p{color:var(--muted);margin:4px 0 0;font-size:11px}.compact-heading{background:#fbfcfd;padding-block:12px}.schematic-direction{color:var(--blue);white-space:nowrap;font-size:11px;font-weight:700}.schematic-track{background-color:#fff;background-image:linear-gradient(#edf2f7 1px,#0000 1px),linear-gradient(90deg,#edf2f7 1px,#0000 1px);background-size:18px 18px;flex-wrap:wrap;align-content:center;align-items:center;gap:0;min-height:146px;padding:20px 22px 16px;display:flex}.schematic-start,.schematic-end{color:#3b536c;background:#fffffff5;border:1px solid #9db2c8;border-radius:17px;align-items:center;height:34px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.schematic-step{align-items:center;display:flex}.schematic-connector{background:#7b98b4;flex:0 0 28px;width:28px;height:2px;position:relative}.schematic-connector>i{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid #7b98b4;width:0;height:0;position:absolute;top:-4px;right:-1px}.schematic-connector.final{margin:0}.schematic-component{cursor:pointer;background:#fffffff7;border:1px solid #cbd6e2;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:102px;min-height:93px;padding:8px 6px 6px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;box-shadow:0 2px 7px #2b435b12}.schematic-component:hover{border-color:#73a6da;transform:translateY(-1px);box-shadow:0 5px 12px #2b435b1c}.schematic-component.selected{border-color:var(--blue);box-shadow:0 0 0 3px #1667c51f}.schematic-component svg{fill:#e8f2fd;width:34px;height:34px;stroke:var(--blue);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.schematic-component strong{margin-top:1px;font-size:11px}.schematic-component small{color:#42556d;font-size:9px}.schematic-component em{color:var(--blue);font-size:8px;font-style:normal;font-weight:650}.branch-flow{color:var(--blue);background:#fff;border:1px solid #9fc3e7;border-radius:8px;padding:2px 5px;font-size:8px;font-weight:700;position:absolute;top:-12px;right:5px}.editor-toolbar{background:#fbfcfd}.add-actions{align-items:center;gap:8px;display:flex}.simple-table-wrap{width:100%;overflow:auto}.simple-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1360px;font-size:11px}.simple-table th{z-index:4;color:#3d4f66;text-align:center;background:#f4f7fa;border-bottom:1px solid #cfd8e2;border-right:1px solid #e2e7ed;height:48px;padding:7px 6px;font-size:11px;font-weight:700;position:sticky;top:0}.simple-table th small{color:#7c8998;font-size:9px;font-weight:500}.simple-table th:first-child{width:70px}.simple-table th:nth-child(2){width:82px}.simple-table th:nth-child(3){width:100px}.simple-table th:nth-child(4){width:118px}.simple-table th:nth-child(5){width:176px}.simple-table th:nth-child(6){width:340px}.simple-table th:nth-child(7){width:132px}.simple-table th:nth-child(8){width:126px}.simple-table th:nth-child(9){width:82px}.simple-table td{vertical-align:middle;text-align:center;font-variant-numeric:tabular-nums;background:#fff;border-bottom:1px solid #e5e9ee;border-right:1px solid #edf0f3;min-height:74px;padding:9px 8px}.simple-table tr{scroll-margin-top:90px}.simple-table tbody tr:hover td{background:#f9fbfd}.simple-table tbody tr.selected td{background:#f0f6fd;border-bottom-color:#bad2eb}.simple-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 var(--blue)}.item-code strong{color:var(--blue-dark);font-size:12px;display:block}.item-code small{color:var(--muted);margin-top:5px;font-size:8px;display:block}.type-select{text-align:center;font-weight:650}.recommendation-cell strong{color:var(--green);font-size:13px;display:block}.recommendation-cell small,.result-cell small,.loss-cell small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.35;display:block}.adopted-cell{text-align:left!important}.diameter-editor{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5px;margin-bottom:6px;display:grid}.diameter-editor:last-child{margin-bottom:0}.diameter-editor label{gap:3px;font-size:8px}.diameter-editor .simple-input{height:30px}.diameter-editor>small{color:var(--green);align-self:center;padding-top:14px;font-size:8px;font-weight:700}.restore-button{height:24px;color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0 4px;font-size:8px;font-weight:650;display:inline-flex}.restore-button svg{width:11px;height:11px}.parameter-fields{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:7px;display:flex}.parameter-fields label{text-align:left;gap:3px;width:84px;font-size:8px}.parameter-fields label:has(.wide){width:106px}.parameter-fields .simple-input{height:30px;padding-inline:6px;font-size:10px}.coefficient-editor{color:#54657a;text-align:left;background:#fbfcfe;border:1px dashed #c9d3df;border-radius:5px;min-width:90px;padding:4px 6px}.coefficient-editor summary{color:#40536a;cursor:pointer;font-size:8px;font-weight:700}.coefficient-editor .inline-check{white-space:nowrap;flex-direction:row;align-items:center;width:auto;margin:6px 0 4px;font-size:8px}.coefficient-editor .simple-input{width:82px}.row-error,.row-warning{margin:6px 0 0;font-size:8px;line-height:1.35}.row-error{color:var(--red)}.row-warning{color:var(--amber)}.result-cell strong,.loss-cell strong{font-size:13px;display:block}.loss-cell strong{color:var(--blue-dark)}.row-actions{justify-content:center;gap:4px;display:flex}.icon-button{color:#466077;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.icon-button:hover{background:#fff;border-color:#cdd8e3}.icon-button.danger:hover{color:var(--red);background:#fff6f6;border-color:#efc0c3}.icon-button svg{width:16px;height:16px}.empty-state{min-height:230px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state strong{color:#31475f;font-size:15px}.empty-state p{margin:7px 0 14px;font-size:12px}.summary-strip{border-radius:var(--radius);background:#fff;border:1px solid #ced9e4;grid-template-columns:1.05fr repeat(5,1fr);align-items:stretch;display:grid;overflow:hidden;box-shadow:0 3px 14px #1c36520a}.summary-lead,.summary-value{border-right:1px solid #dfe5ec;justify-content:center;align-items:center;gap:12px;min-height:92px;padding:14px 16px;display:flex}.summary-lead{justify-content:flex-start;padding-left:22px}.summary-icon{color:#fff;background:var(--blue);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:21px;font-weight:700;display:inline-flex}.summary-lead div{align-items:baseline;gap:6px;display:flex}.summary-lead strong{font-size:26px}.summary-lead span:last-child{color:var(--muted);font-size:11px}.summary-value{flex-direction:column;gap:6px}.summary-value>span{color:#465970;font-size:10px}.summary-value strong{color:#203b57;font-variant-numeric:tabular-nums;font-size:19px;font-weight:720}.summary-value strong small{color:var(--blue);font-size:10px;font-weight:600}.summary-value.emphasized{background:#f1f7fe;border-right:0}.summary-value.emphasized strong{color:var(--blue);font-size:25px}.calculation-note{background:#fbfcfd;border:1px solid #dce3eb;border-radius:8px;grid-template-columns:1fr 1fr;gap:18px;padding:12px 16px;display:grid}.calculation-note div{align-items:center;gap:10px;min-width:0;display:flex}.calculation-note strong{color:#31485f;white-space:nowrap;font-size:10px}.calculation-note span{color:var(--muted);font-size:10px}.ok-text{color:var(--green)!important}.warning-text{color:var(--amber)!important}.simple-footer{color:#778496;background:#fff;border-top:1px solid #dfe5eb;justify-content:center;align-items:center;gap:30px;min-height:96px;margin-top:auto;padding:12px 20px;font-size:10px;display:flex}.footer-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 20px;display:flex}.simple-footer a{color:var(--blue);text-decoration:none}.footer-qr-group{align-items:center;gap:12px;display:flex}.footer-qr-group a{color:#38516c;background:#f9fbfd;border:1px solid #d9e2ec;border-radius:8px;grid-template-columns:48px auto;align-items:center;gap:7px;padding:5px 9px 5px 5px;font-weight:700;display:grid}.footer-qr-group a:hover{background:#f1f7fe;border-color:#9fc1e3}.footer-qr-group img{object-fit:contain;background:#fff;border-radius:4px;width:48px;height:48px;display:block}.toast{z-index:100;color:#fff;background:#14263af0;border-radius:8px;padding:10px 16px;font-size:12px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 9px 28px #12263b3d}@media (width<=1120px){.simple-topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.site-links,.save-state{justify-content:flex-end;width:100%}.project-settings{grid-template-columns:1fr}.setting-divider{width:100%;height:1px}.summary-strip{grid-template-columns:repeat(3,1fr)}.summary-lead,.summary-value{border-bottom:1px solid #dfe5ec}.summary-value:nth-last-child(-n+3){border-bottom:0}}@media (width<=760px){.simple-topbar{flex-direction:column;gap:10px;padding:12px;position:static}.brand-block h1{font-size:17px}.topbar-actions{justify-content:flex-start;width:100%}.site-links{justify-content:flex-start;width:100%;overflow-x:auto}.site-links a{padding-inline:4px 10px}.save-state{justify-content:flex-start;width:auto;margin-right:auto}.simple-main{gap:10px;width:calc(100% - 20px);margin-block:10px 16px}.project-settings{gap:14px;padding:14px}.public-boundary{gap:3px;display:grid}.project-fields,.calculation-fields{grid-template-columns:1fr}.editor-toolbar,.section-heading{flex-direction:column;align-items:flex-start}.add-actions{width:100%;padding-bottom:2px;overflow-x:auto}.add-actions button{flex:none}.schematic-track{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.schematic-component{width:92px}.schematic-connector{flex-basis:22px;width:22px}.simple-table{min-width:0;display:block}.simple-table thead{display:none}.simple-table tbody{padding:8px;display:block}.simple-table tr{border:1px solid #d7e0e9;border-radius:8px;grid-template-columns:74px minmax(0,1fr);margin-bottom:10px;display:grid;overflow:hidden}.simple-table td{text-align:left;border-right:0;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:7px;min-height:0;padding:8px 10px;display:grid}.simple-table td:before{color:#66768a;font-size:9px;font-weight:700}.simple-table td:first-child:before{content:"编号"}.simple-table td:nth-child(2):before{content:"类型"}.simple-table td:nth-child(3):before{content:"本线路风量"}.simple-table td:nth-child(4):before{content:"推荐管径"}.simple-table td:nth-child(5):before{content:"采用管径"}.simple-table td:nth-child(6):before{content:"构件参数"}.simple-table td:nth-child(7):before{content:"风速"}.simple-table td:nth-child(8):before{content:"阻力"}.simple-table td:nth-child(9):before{content:"操作"}.item-code{grid-column:1/-1;text-align:center!important;background:#f3f7fb!important;grid-template-columns:1fr!important}.item-code:before{display:none}.parameter-fields{justify-content:flex-start}.diameter-editor{max-width:210px}.recommendation-cell,.result-cell,.loss-cell{text-align:left!important}.row-actions{justify-content:flex-start}.summary-strip{grid-template-columns:1fr 1fr}.summary-lead,.summary-value{min-height:80px;border-bottom:1px solid #dfe5ec!important}.summary-value:nth-last-child(-n+2){border-bottom:0!important}.summary-value:nth-child(2n){border-right:0}.calculation-note{grid-template-columns:1fr}.simple-footer{flex-wrap:wrap;gap:12px 16px}.footer-meta{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
