:root{--bg-root: #09090b;--bg-panel: #18181b;--bg-panel-glass: rgba(24, 24, 27, .75);--bg-input: #09090b;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #52525b;--accent-primary: #22d3ee;--accent-glow: rgba(34, 211, 238, .25);--accent-active: #06b6d4;--status-success: #4ade80;--status-warn: #facc15;--status-error: #f87171;--border-subtle: rgba(255, 255, 255, .08);--border-active: rgba(34, 211, 238, .4);--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Roboto Mono", monospace;--radius-md: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-mono);background-color:var(--bg-root);background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem}.app__container{width:100%;max-width:800px;display:flex;flex-direction:column;gap:2.5rem}.app__header{text-align:left;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.logo-area h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.05em;text-transform:uppercase;display:flex;align-items:baseline;gap:.5rem}.version{font-size:.75rem;color:var(--accent-primary);background:#22d3ee1a;padding:2px 6px;border-radius:4px;letter-spacing:.05em}.app__header p{margin-top:.75rem;color:var(--text-secondary);font-size:.85rem;line-height:1.6;max-width:600px}.app__main{display:flex;flex-direction:column;gap:2rem}.panel{background:var(--bg-panel-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 4px 24px #0003;transition:border-color .2s;position:relative;overflow:hidden}.panel:hover{border-color:#ffffff26}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem}.panel h2{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-weight:600}.panel-description{color:var(--text-secondary);font-size:.85rem;margin-bottom:1.5rem}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.field{display:flex;flex-direction:column;gap:.5rem}.field-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.select-wrapper{position:relative}.select-wrapper:after{content:"▼";font-size:.6rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--accent-primary);pointer-events:none}select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);padding:.75rem 1rem;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s}select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}select:disabled{opacity:.5;cursor:not-allowed}.lift-angle-section{background:#0003;padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.value-display{font-size:1.1rem;font-weight:700;color:var(--accent-primary)}.field-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 1rem}.range-input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;margin:10px 0}.range-input::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--border-subtle);border-radius:2px}.range-input::-webkit-slider-thumb{height:20px;width:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-8px;box-shadow:0 0 10px var(--accent-glow);border:2px solid var(--bg-panel)}.slider-track-decoration{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);margin-top:.5rem}.status-badge{font-size:.7rem;padding:4px 10px;border-radius:99px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status--idle{background:var(--text-muted);color:#fff}.status--collecting,.status--acquiring{background:var(--accent-primary);color:#000;animation:pulse 2s infinite}.status--processing{background:var(--status-warn);color:#000}.status--results{background:var(--status-success);color:#000}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.metric-card{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.metric-label{font-size:.7rem;text-transform:uppercase;color:var(--text-secondary)}.metric-value-group{display:flex;align-items:baseline;gap:.25rem}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.metric-unit{font-size:.85rem;color:var(--text-muted)}.metric-subtext{font-size:.75rem;color:var(--text-secondary);margin-top:auto}.signal-meter{display:flex;gap:4px;height:24px;align-items:flex-end}.bar{flex:1;background:var(--border-subtle);border-radius:2px;transition:background-color .2s,height .2s}.bar-1{height:25%}.bar-2{height:50%}.bar-3{height:75%}.bar-4{height:100%}.signal-high .bar,.signal-medium .bar-1,.signal-medium .bar-2,.signal-medium .bar-3{background:var(--status-success)}.signal-low .bar-1,.signal-low .bar-2{background:var(--status-warn)}.signal-weak .bar-1{background:var(--status-error)}.signal-none .bar{background:var(--border-subtle)}.progress-bar{width:100%;height:4px;background:var(--border-subtle);border-radius:2px;margin-top:.5rem;overflow:hidden}.progress-fill{height:100%;background:var(--accent-primary);transition:width 1s linear}.control-area{display:flex;flex-direction:column;gap:1rem}.control-button{width:100%;padding:1rem;background:var(--text-primary);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s}.control-button:hover:not(:disabled){background:var(--accent-primary);box-shadow:0 0 15px var(--accent-glow)}.control-button--active{background:var(--bg-root);color:var(--accent-primary);border:1px solid var(--accent-primary)}.control-button--disabled{background:var(--text-muted);opacity:.5;cursor:not-allowed}.recording-dot{width:10px;height:10px;background:var(--status-error);border-radius:50%;animation:blink 1s infinite}.cancel-link{background:none;border:none;color:var(--status-error);font-family:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer;opacity:.8}.abort-banner{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#fca5a5;padding:1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.abort-icon{font-weight:700;background:#f8717133;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.result-item{background:var(--bg-panel);padding:1.5rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.result-item strong{font-size:.65rem;text-transform:uppercase;color:var(--text-secondary)}.result-value{font-size:1.5rem;font-weight:700}.unit{font-size:.8rem;color:var(--text-muted);margin-left:4px;font-weight:400}.value-good{color:var(--status-success)}.value-warn{color:var(--status-warn)}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}@media (max-width: 600px){.results-grid,.input-grid{grid-template-columns:1fr}}
