:root{--ink: #111417;--ink-soft: #33393f;--page: #ffffff;--panel: #f2f4f6;--line: #9aa3ab;--ok: #0f5c2e;--warn: #7a4a00;--stop: #9b1c1c;--action: #14427a;--target: 60px;--body: 19px}*{box-sizing:border-box}[hidden]{display:none}html,body{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--body);line-height:1.5;font-weight:500;-webkit-text-size-adjust:100%}#app{max-width:560px;margin:0 auto;padding:16px 16px 48px}h1{font-size:26px;font-weight:800;margin:0 0 4px}h2{font-size:21px;font-weight:800;margin:28px 0 10px}p{margin:0 0 14px}.step{display:none}.step.active{display:block}.stepbar{display:flex;gap:6px;margin-bottom:18px}.stepbar div{flex:1;height:8px;background:var(--line);border-radius:4px}.stepbar div.done{background:var(--action)}button{display:block;width:100%;min-height:var(--target);margin:12px 0;padding:12px 16px;font-size:20px;font-weight:800;font-family:inherit;color:var(--page);background:var(--action);border:3px solid var(--action);border-radius:10px;cursor:pointer}button.secondary{color:var(--action);background:var(--page)}button.danger{color:var(--page);background:var(--stop);border-color:var(--stop)}button:disabled{color:#fff;background:#5c666f;border-color:#5c666f;cursor:default}button:focus-visible{outline:4px solid var(--warn);outline-offset:3px}.panel{background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:14px;margin-bottom:16px}.status{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;border:3px solid;margin-bottom:12px;font-weight:700}.status .mark{font-size:24px;line-height:1.2}.status.ok{color:var(--ok);border-color:var(--ok);background:#e7f3ec}.status.warn{color:var(--warn);border-color:var(--warn);background:#fbf0dd}.status.stop{color:var(--stop);border-color:var(--stop);background:#fbe9e9}.queue-banner{position:sticky;top:0;z-index:10;margin:-16px -16px 16px;padding:14px 16px;font-size:20px;font-weight:800;color:var(--page);text-align:center}.queue-banner.safe{background:var(--ok)}.queue-banner.holding{background:var(--stop)}.queue-banner.parked{background:var(--warn);color:var(--ink)}.rows{width:100%}.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:2px solid var(--line)}.row:last-child{border-bottom:0}.row .label{color:var(--ink-soft);font-weight:600}.row .value{font-weight:800;text-align:right;font-variant-numeric:tabular-nums}video,img.preview{width:100%;border:3px solid var(--ink);border-radius:10px;background:#000;display:block}.viewfinder-warning{margin-top:10px;padding:12px;border:3px solid var(--warn);border-radius:10px;background:#fbf0dd;color:var(--warn);font-weight:800}.caution{border:3px dashed var(--warn);border-radius:10px;padding:12px;margin-bottom:16px;color:var(--warn);font-weight:700;font-size:17px}.log{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:500;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft);max-height:200px;overflow-y:auto}textarea{display:block;width:100%;box-sizing:border-box;margin:12px 0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.5;color:var(--ink);background:var(--page);border:3px solid var(--line);border-radius:10px;resize:vertical}textarea:focus-visible{outline:4px solid var(--warn);outline-offset:3px}.value-wrap{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;word-break:break-all;text-align:right}.media-list{display:flex;flex-direction:column;gap:16px;margin:12px 0}.media-item{margin:0;padding:12px;border:3px solid var(--line);border-radius:10px;background:var(--panel)}.media-item img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#000;border-radius:6px}.media-item figcaption{margin-top:12px}.evidence{margin-top:12px}.evidence-image{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#000;border-radius:6px;margin:12px 0}
