/* dso.css - 纯血数字示波器独立样式 */
.dso-workspace { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #09090b; color: #e4e4e7; font-family: 'Segoe UI', Consolas, sans-serif; display: flex; flex-direction: column; overflow: hidden; user-select: none; z-index: 9999; }
.dso-top-bar { height: 55px; background: #18181b; border-bottom: 1px solid #3f3f46; display: flex; align-items: center; padding: 0 20px; gap: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.5); z-index: 10; }
.dso-workspace button, .dso-workspace select, .dso-workspace input { background: #27272a; color: #fff; border: 1px solid #52525b; padding: 6px 12px; border-radius: 4px; font-size: 13px; font-weight: bold; outline: none; cursor: pointer; transition: 0.1s; }
.dso-workspace button:hover { background: #3f3f46; }
.dso-btn-danger { background: #ef4444; border: none; } .dso-btn-danger:hover { background: #dc2626; }
.dso-btn-magic { background: #10b981; border: none; } .dso-btn-track { background: #f59e0b; color: #000; border: none; }
.dso-divider { width: 1px; height: 24px; background: #3f3f46; margin: 0 8px; }
.dso-body { display: flex; flex: 1; height: calc(100vh - 55px); }
.dso-sidebar { width: 340px; background: #121214; border-right: 1px solid #3f3f46; display: flex; flex-direction: column; z-index: 5; }
.dso-sidebar-header { padding: 15px; border-bottom: 1px solid #3f3f46; font-weight: bold; font-size: 14px; display: flex; justify-content: space-between; align-items: center; background: #18181b; }
.dso-trace-list { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 12px; }
.dso-trace-card { background: #1e1e20; border-left: 4px solid; border-radius: 6px; padding: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.2); }
.dso-trace-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 13px; font-weight: bold; }
.dso-trace-controls { display: flex; flex-direction: column; gap: 6px; font-size: 11px; color: #a1a1aa; }
.dso-num-input { display: flex; justify-content: space-between; align-items: center; background: #09090b; padding: 4px 8px; border-radius: 4px; border: 1px solid #3f3f46; }
.dso-num-input input[type="number"] { background: transparent; border: none; color: #fff; text-align: right; width: 70px; font-family: Consolas; padding: 0; font-size: 12px; }
.dso-btn-remove { background: none; border: none; color: #ef4444; padding: 4px; font-size: 14px; line-height: 1; }
.dso-add-box { padding: 15px; background: #18181b; border-top: 1px solid #3f3f46; display: flex; flex-direction: column; gap: 8px; }
.dso-add-box select { width: 100%; padding: 8px; }
.dso-main-view { flex: 1; display: flex; flex-direction: column; background: #000; }
.dso-canvas-box { flex: 1; position: relative; cursor: crosshair; overflow: hidden; }
.dso-canvas-box canvas { display: block; width: 100%; height: 100%; }
.dso-bottom-bar { height: 35px; background: #18181b; border-top: 1px solid #3f3f46; display: flex; align-items: center; padding: 0 20px; font-size: 13px; color: #a1a1aa; gap: 24px; font-family: Consolas; }
.dso-hl { color: #fff; font-weight: bold; }
.dso-measure { position: absolute; width: 240px; background: rgba(18,18,20,0.85); backdrop-filter: blur(8px); border: 1px solid #3f3f46; border-radius: 8px; padding: 12px; font-family: Consolas; font-size: 12px; pointer-events: none; z-index: 20; display: none; box-shadow: 0 10px 25px rgba(0,0,0,0.5); }
.dso-measure-row { display: flex; justify-content: space-between; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid #27272a; align-items: center; }