@font-face{font-family:'Space Mono';src:url('../fonts/SpaceMono-Regular.ttf')}@font-face{font-family:'Space Mono';src:url('../fonts/SpaceMono-Bold.ttf');font-weight:700}
:root{--paper:#f7f7f4;--ink:#050505;--line:#b8b8b1;--grid:#d5d5ce;--muted:#656560;--field:#edede8;--accent:#66ff5d;color-scheme:light;font-synthesis:none}html[data-theme=night]{--paper:#080808;--ink:#f7f7f4;--line:#41413c;--grid:#252523;--muted:#a4a49c;--field:#171716;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:12px/1.7 'Space Mono',monospace;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}[hidden]{display:none!important}a{color:inherit}h1,h2,p{font-size:inherit;margin:14px 0}h1,h2{text-transform:uppercase}button,input,select,textarea{font:inherit;border-radius:0;color:var(--ink)}button{min-height:46px;padding:10px 12px;border:1px solid var(--ink);background:var(--paper);cursor:pointer;white-space:normal}button:disabled{opacity:.4;cursor:not-allowed}button.accent{background:var(--accent);color:#050505}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:not(:disabled):active{background:var(--ink);color:var(--paper)}header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ink)}.brand{text-decoration:none;font-weight:bold;letter-spacing:.08em}.brand span{color:var(--muted);font-weight:normal;letter-spacing:0}.config-bar{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line)}.config-bar span{min-width:0;overflow-wrap:anywhere}.config-bar button{flex-shrink:0}nav{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ink)}nav button{border:0;border-right:1px solid var(--line)}nav button[aria-pressed=true]{background:var(--ink);color:var(--paper);box-shadow:inset 0 -3px var(--accent)}main{max-width:1000px;margin:0 auto}section{padding:0 16px 24px}.readout{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:12px 0}.surface{position:relative;border:1px solid var(--ink);height:45svh;min-height:260px;max-height:600px;background:var(--paper)}canvas{width:100%;height:100%;display:block;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.surface-help{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;color:var(--muted);padding:18px}.surface-help>span{border:1px solid var(--line);padding:8px 16px}.notice{border-left:3px solid var(--accent);background:var(--field);padding:10px 12px;overflow-wrap:anywhere;min-height:44px}.hint{color:var(--muted)}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.action-row button{flex:1}details{border-top:1px solid var(--line);margin:20px 0;padding-top:8px}summary{min-height:44px;cursor:pointer;display:list-item;padding:8px 0}label{display:block;margin:16px 0}input,select,textarea{display:block;width:100%;min-width:0;padding:10px;border:1px solid var(--line);background:var(--paper);min-height:46px;margin-top:6px;font-size:16px}textarea{resize:vertical}#ruler{height:18px;width:200px;max-width:100%;border-left:1px solid var(--ink);border-right:1px solid var(--ink);background:linear-gradient(var(--ink),var(--ink)) center/100% 1px no-repeat;margin:24px 0}#reference-preview svg{width:100%;height:130px}#reference-preview p{color:var(--muted)}.calibration{height:40svh;margin:16px 0}dl>div{display:flex;gap:18px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}dt{color:var(--muted)}dd{margin:0;text-align:right}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);color:var(--muted);padding:18px 16px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);max-width:calc(100vw - 32px);padding:22px}dialog p{white-space:pre-line}dialog::backdrop{background:#0006}#fatal{margin:12px 16px}#session-state,#capture-status{overflow-wrap:anywhere}
.object-photo-preview{display:block;width:112px;height:112px;object-fit:contain;border:1px solid var(--line);background:var(--field);margin:12px 0}fieldset{border:1px solid var(--line);min-width:0;margin:18px 0;padding:16px}legend{padding:0 8px}#record-feedback,#resume-session{margin:10px 16px}
@media(min-width:750px){.surface{height:55svh}.calibration{height:45svh}header,.config-bar,nav{padding-left:max(16px,calc((100vw - 1000px)/2));padding-right:max(16px,calc((100vw - 1000px)/2))}nav{padding-top:0;padding-bottom:0}}
