/* The real analysis workflow inside the PickleCall shell. */
.analysis-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:var(--s7);align-items:start}
.analysis-main{min-width:0}
.analysis-main h2{font-size:var(--fs-xl);margin:0 0 var(--s4)}
.analysis-upload{display:block}
.analysis-upload strong{display:block;margin-bottom:var(--s4)}
.analysis-upload input{width:100%;max-width:360px;margin:auto;background:#fff}
.analysis-main video{display:block;width:100%;max-height:560px;background:var(--green-900);border-radius:var(--r-md)}
#calibration-canvas{display:block;width:100%;height:auto;cursor:crosshair;outline:2px solid var(--green-300);border-radius:var(--r-md);touch-action:manipulation}
.analysis-status{font-size:var(--fs-sm);overflow-wrap:anywhere;min-height:1.4em;margin:var(--s4) 0}
.analysis-corners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.analysis-corners fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3);min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.analysis-corners legend{font-size:var(--fs-sm);padding:0 var(--s2)}
.analysis-corners input{width:100%;min-width:0}
.analysis-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.analysis-options label span{display:block;margin-bottom:var(--s2)}
.analysis-options select{width:100%}
#job-progress{display:block;width:100%;height:18px;accent-color:var(--green-600);margin-top:var(--s5)}
.analysis-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.analysis-stats>div{background:var(--green-50);border-radius:var(--r-md);padding:var(--s4)}
.analysis-stats dt{font-size:var(--fs-xs);color:var(--ink-500)}
.analysis-stats dd{margin:var(--s2) 0 0;color:var(--green-800);font-size:var(--fs-xl);font-weight:800}
.analysis-share{border-top:1px solid var(--line);padding-top:var(--s5)}
.analysis-list{padding-left:1.2rem;margin-bottom:0}
.analysis-list li+li{margin-top:var(--s3)}
.btn:disabled{opacity:.5;cursor:not-allowed}
[hidden]{display:none!important}
@media(max-width:900px){.analysis-layout{grid-template-columns:1fr;gap:var(--s5)}}
@media(max-width:480px){.analysis-corners,.analysis-options,.analysis-stats{grid-template-columns:1fr}.analysis-main h2{font-size:var(--fs-lg)}}
