/* v20 component only. No global website typography selectors. */
body{background:transparent}button{transition:background .16s,border-color .16s}button:active{transform:translateY(1px)}
.pipeline{width:100%;border-radius:21px}.pipeline button{white-space:normal}
.pipeline .setting button{margin-top:4px}.pipeline .setting-slider+button{width:100%;margin-top:8px}
.pipeline .scan:focus-within{outline:2px solid #bde7c6;outline-offset:-2px}
.pipeline .file-label{white-space:nowrap}
body.compact .pipeline{padding:11px;border-radius:18px}
body.compact .pip-grid{grid-template-columns:minmax(0,1fr) minmax(170px,210px);gap:9px}
body.compact .settings{display:flex;flex-direction:column;gap:7px}
body.compact .setting,body.compact .stage-info{padding:10px}
body.compact .setting p{margin:6px 0;font-size:10px}
body.compact .scan{height:330px;min-height:245px}
body.compact .toolbar{align-items:flex-start}
body.compact .toolbar .buttons{gap:4px}
body.compact .toolbar button{font-size:10px;padding:5px 7px}
body.compact .toolbar>span{display:none}
body.compact .stages{gap:5px;margin:9px 0}
body.compact .stages button{padding:8px 3px;font-size:10px}
body.compact .stage-info p{font-size:10px}
body.compact .pip-foot{align-items:flex-start}
@media(max-width:650px){body.compact .pip-grid{grid-template-columns:1fr}body.compact .settings{display:grid;grid-template-columns:1fr 1fr}body.compact .stage-info,body.compact .legend{grid-column:span 2}body.compact .scan{height:min(80vw,370px)}}
@media(max-width:460px){body.compact .settings{grid-template-columns:1fr}body.compact .stage-info,body.compact .legend{grid-column:auto}body.compact .pip-top{flex-wrap:wrap}body.compact .scan{height:300px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}
