:root{color-scheme:light;--ink:#1d3141;--muted:#5e7482;--line:#d8e2e8;--accent:#14697a;--paper:#fff;--bg:#edf2f5;font-family:system-ui,-apple-system,sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}header{display:flex;justify-content:space-between;align-items:center;padding:22px 30px;background:#142f40;color:#fff;gap:20px}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#a5cbd9}h1{font-size:23px;margin:5px 0 0;font-weight:600}.session{display:flex;flex-direction:column;align-items:flex-end;gap:8px}#access{border:1px solid #63899a;border-radius:20px;padding:4px 12px;font-size:12px}#submitting{font-size:12px;color:#b6d7df}main{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;max-width:1760px;margin:auto;padding:20px}aside,article{min-width:0}section{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px}h2{font-size:14px;margin:0 0 13px;font-weight:650}label{display:block;font-size:12px;font-weight:550;margin-bottom:11px}small,.hint,footer{font-size:11px;font-weight:400;color:var(--muted);line-height:1.55}label small{display:block;margin:3px 0}input,select,textarea{font:inherit;color:var(--ink);width:100%;padding:8px;border:1px solid #bbcdd7;border-radius:5px;margin-top:5px;background:white}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #44a5bc;outline-offset:1px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{width:auto;margin:0}button{font:inherit;font-size:12px;background:#f7fafb;color:var(--ink);border:1px solid #bfced7;border-radius:6px;padding:8px 11px;cursor:pointer;transition:background .1s}button:hover:enabled{background:#dfeef2;border-color:var(--accent)}button:focus-visible{outline:2px solid #1488a5;outline-offset:2px}button:disabled{opacity:.42;cursor:default}aside button{width:100%;margin-bottom:7px}#load{background:var(--accent);color:white;border-color:var(--accent)}article{background:white;border:1px solid var(--line);border-radius:10px;padding:18px}#status{font-size:12px;color:var(--accent);min-height:23px}#errors{background:#fff1eb;color:#873613;border:1px solid #e9b4a1;border-radius:6px;padding:10px;margin-bottom:10px;white-space:pre-wrap;font-size:12px}.object-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}#object-title{font-size:21px;margin:0 0 6px}#object-meta,#position{font-size:12px;color:var(--muted)}.navigation{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:8px}#plot{height:530px;width:100%}.result-strip{display:flex;align-items:center;gap:18px;background:#eaf4f3;border-left:4px solid #258376;padding:13px 16px;margin:10px 0 16px}#best-type{font-size:19px}#fit-detail{font-size:12px}.decisions{padding:0;border:0}#classifications{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:9px}#classifications button{text-align:left;min-height:42px;font-size:11px}#classifications button.usable{border-color:#86b8ac;background:#eff8f4}#classifications button.reject{border-color:#c9b7aa;background:#faf6f1}details{border-top:1px solid var(--line);padding:13px 0}summary{font-size:12px;cursor:pointer;font-weight:550}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}th,td{text-align:left;padding:7px;border-bottom:1px solid var(--line)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.5;background:#f5f8fa;padding:10px;border-radius:6px}footer{border-top:1px solid var(--line);padding-top:14px;margin-top:10px}
@media(max-width:1000px){main{grid-template-columns:240px minmax(0,1fr);padding:12px;gap:12px}#classifications{grid-template-columns:repeat(3,minmax(0,1fr))}header{padding:18px}#plot{height:440px}}
@media(max-width:720px){main{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:10px}aside section:last-child{grid-column:1/-1}.session{align-items:flex-start}header{align-items:flex-start;flex-direction:column;gap:10px}h1{font-size:21px}article{padding:12px}#plot{height:380px}.result-strip{align-items:flex-start;flex-direction:column;gap:6px}}
/* Match the desktop's 10 × 10 inch PNG, without stretching the stacked rows. */
#plot{height:auto;aspect-ratio:1;max-width:1000px;min-height:420px;margin:0 auto}
