:root{color:#20201d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f3ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#2f6f74;border:1px solid #2f5f68;border-radius:6px;min-height:2.5rem;padding:.55rem .8rem}button:hover:not(:disabled){background:#255b60}button:disabled{cursor:not-allowed;opacity:.45}select,input{color:#20201d;background:#fff;border:1px solid #bbb5aa;border-radius:6px;width:100%;min-height:2.35rem;padding:.45rem .55rem}.app-shell{width:min(1240px,100vw - 32px);margin:0 auto;padding:24px 0 32px}.topbar{border-bottom:1px solid #d6d0c5;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:18px;display:flex}.eyebrow{color:#8b4e28;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(1.4rem,4vw,2.1rem);line-height:1.12}h2{font-size:1rem}.readback-label{text-align:center;background:#fff;border:1px solid #b9b1a4;border-radius:6px;min-width:min(100%,320px);padding:.6rem .75rem;font-weight:700}.readback-label--candidate{color:#164d52;border-color:#2f6f74}.readback-label--unknown{color:#614c28;border-color:#9d8e76}.readback-label--suspected{color:#84292d;border-color:#a63d40}.layout{grid-template-columns:minmax(280px,420px) 1fr;gap:18px;padding-top:18px;display:grid}.controls-panel,.status-panel,.log-panel{background:#fffdfa;border:1px solid #d6d0c5;border-radius:8px;padding:16px}.controls-panel{align-self:start}.button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-grid label{gap:5px;min-width:0;display:grid}.field-grid label:first-child,.field-grid label:nth-child(2),.field-grid label:last-child{grid-column:1/-1}label span,.status-grid span,.metrics-grid span{color:#686156;font-size:.78rem;font-weight:700}.status-panel{gap:16px;display:grid}.status-grid,.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.status-grid div,.metrics-grid div{background:#fff;border:1px solid #e2ddd5;border-radius:6px;min-width:0;padding:.65rem}.status-grid strong,.metrics-grid strong{overflow-wrap:anywhere;min-width:0;margin-top:.25rem;font-size:.92rem;display:block}.log-panel{grid-column:1/-1;padding:0;overflow:hidden}.log-header{border-bottom:1px solid #e2ddd5;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.log-header button{min-height:2rem;padding:.3rem .7rem}#logOutput{color:#e8eee8;white-space:pre-wrap;background:#1f2521;min-height:220px;max-height:420px;margin:0;padding:14px 16px;font-size:.86rem;line-height:1.45;overflow:auto}@media (width<=860px){.topbar,.layout{grid-template-columns:1fr;display:grid}.status-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.app-shell{width:min(100% - 20px,1240px);padding-top:14px}.button-row,.field-grid,.status-grid,.metrics-grid{grid-template-columns:1fr}}
