*{box-sizing:border-box}html,body,#root{color:#1e293b;height:100%;margin:0;font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}.app-shell{flex-direction:column;height:100%;display:flex}.app-header{color:#e2e8f0;background:#0f172a;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.app-title{align-items:center;gap:10px;display:flex}.header-actions{align-items:center;gap:12px;display:flex}.back-link{color:#cbd5e1;border:1px solid #475569;border-radius:6px;align-items:center;padding:5px 12px;font-size:13px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.back-link:hover{color:#dbeafe;border-color:#93c5fd}.help-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:50%;width:28px;height:28px;font-size:15px;font-weight:700;line-height:1}.help-btn:hover{color:#dbeafe;border-color:#93c5fd}.help-overlay{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-panel{background:#fff;border-radius:12px;flex-direction:column;width:calc(100% - 48px);max-width:760px;max-height:calc(100% - 64px);display:flex;box-shadow:0 8px 32px #00000040}.help-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.help-header h3{margin:0}.help-body{padding:6px 24px 20px;overflow-y:auto}.help-section h4{color:#1d4ed8;margin:16px 0 8px;font-size:14px}.help-section ul{margin:0;padding-left:18px}.help-section li{color:#334155;font-size:13px;line-height:1.9}.app-body{flex:1;min-height:0;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.floor-bar{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;display:flex}.floor-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:3px 12px;font-size:12px}.floor-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#2563eb;font-weight:600}.floor-btn.floor-op{color:#64748b}.floor-btn.floor-danger{color:#b91c1c;border-color:#fecaca}.floor-btn:disabled{opacity:.45;cursor:default}.floor-sep{background:#e2e8f0;width:1px;height:18px;margin:0 4px}.stage-container{background:#f6f8fa;width:100%;height:100%;position:relative;overflow:hidden}.heat-legend{z-index:10;pointer-events:none;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:8px;width:170px;padding:8px 10px;position:absolute;top:12px;right:12px;box-shadow:0 1px 4px #0f172a14}.legend-title{color:#334155;margin-bottom:6px;font-size:12px}.legend-bar{border:1px solid #0000001a;border-radius:4px;height:10px}.legend-marks{color:#334155;height:14px;margin-top:2px;font-size:10px;font-weight:600;position:relative}.legend-marks span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.sim-view-section{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:12px}.field-inline{color:#334155;flex-direction:row;align-items:center;gap:8px;font-size:13px}.status-bar-sim{color:#1d4ed8}.toolbar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:10px;width:88px;padding:8px 6px;display:flex;overflow-y:auto}.toolbar-group{flex-direction:column;gap:4px;display:flex}.toolbar-group-title{color:#94a3b8;letter-spacing:2px;-webkit-user-select:none;user-select:none;padding:0 2px 2px;font-size:10px}.toolbar-group+.toolbar-group{margin-top:6px}.tool-btn{color:#334155;cursor:pointer;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:6px 8px;font-size:13px}.tool-btn:hover:not(:disabled){background:#f0f7ff;border-color:#93c5fd}.tool-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#2563eb;font-weight:600}.tool-btn:disabled{opacity:.45;cursor:default}.material-palette .material-btn{cursor:pointer;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.material-palette .material-btn.active{background:#dbeafe;border-color:#2563eb}.material-swatch{border:1px solid #00000026;border-radius:3px;flex-shrink:0;width:14px;height:14px}.toolbar-tip{color:#94a3b8;margin-top:auto;font-size:11px;line-height:1.6}.props-panel{background:#fff;border-left:1px solid #e2e8f0;flex-shrink:0;width:240px;padding:12px;overflow-y:auto}.props-panel h3{color:#0f172a;margin:0 0 12px;font-size:14px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field-label{color:#64748b;font-size:12px}.field input,.field select{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:13px}.field input:focus,.field select:focus{border-color:#2563eb;outline:none}.field-hint{color:#94a3b8;margin:4px 0 12px;font-size:12px;line-height:1.6}.field-hint.warn{color:#dc2626}.danger-btn{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;width:100%;padding:6px;font-size:13px}.danger-btn:hover{background:#fee2e2}.status-bar{color:#475569;background:#f1f5f9;border-top:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:24px;height:32px;padding:0 16px;font-size:12px;display:flex}.status-bar-hint{color:#94a3b8;margin-left:auto}.result-section{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:12px}.result-kpis{gap:8px;margin-bottom:10px;display:flex}.kpi{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:8px 4px;display:flex}.kpi-warn{background:#fef2f2;border-color:#fecaca}.kpi-value{color:#0f172a;font-size:18px;font-weight:700}.kpi-warn .kpi-value{color:#b91c1c}.kpi-label{color:#64748b;margin-top:2px;font-size:11px}.device-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.device-table th,.device-table td{text-align:right;border-bottom:1px solid #f1f5f9;padding:4px 6px}.device-table th:first-child,.device-table td:first-child{text-align:left}.device-table th{color:#64748b;font-weight:500}.device-table .neg{color:#dc2626}.hidden-file-input{display:none}.status-bar-readout{color:#0f766e;font-weight:600}.compare-overlay{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.compare-panel{background:#fff;border-radius:12px;width:calc(100% - 48px);max-width:960px;max-height:calc(100% - 64px);padding:16px 20px;overflow-y:auto;box-shadow:0 8px 32px #00000040}.compare-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.compare-header h3{margin:0}.compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.compare-card-title{align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.compare-card-time{color:#94a3b8;font-size:11px;font-weight:400}.compare-dl{margin-left:auto;padding:2px 8px;font-size:11px}.compare-canvas{border:1px solid #e2e8f0;border-radius:8px;width:100%;display:block}.compare-card-stats{color:#475569;gap:14px;margin-top:8px;font-size:12px;display:flex}.compare-delta{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:14px;padding:10px 12px;font-size:13px}.compare-delta .pos{color:#15803d}.compare-delta .neg{color:#b91c1c}
