:root{--bg:#0f1115;--surface:#171a21;--surface-raised:#1f232c;--border:#2a2f3a;--text:#e8eaed;--text-dim:#9aa2b1;--accent:#4ade80;--warn:#fbbf24;--danger:#f87171;--radius:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:720px;min-height:100%;padding:env(safe-area-inset-top) 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}header{justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:1.1rem}.provenance{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.72rem}.provenance[data-state=relative]{border-color:color-mix(in srgb, var(--warn) 45%, transparent);color:var(--warn)}.provenance[data-state=absolute]{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent)}.viewport{aspect-ratio:3/4;border:1px solid var(--border);border-radius:var(--radius);background:#000;position:relative;overflow:hidden}.viewport video{object-fit:contain;width:100%;height:100%;display:block}.viewport[data-active=true]{cursor:crosshair}.viewport-empty{text-align:center;color:var(--text-dim);place-content:center;padding:24px;font-size:.9rem;display:grid;position:absolute;inset:0}.reticle{border:2px solid var(--accent);pointer-events:none;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;display:none;position:absolute;box-shadow:0 0 0 1px #0009}.reticle[data-visible=true]{display:block}.controls{flex-wrap:wrap;gap:8px;display:flex}button{font:inherit;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);cursor:pointer;border-radius:8px;padding:9px 14px}button:hover:not(:disabled){border-color:#3a4150}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#06210f;font-weight:600}section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 10px;font-size:.78rem;font-weight:600}.patch-list{flex-direction:column;gap:6px;display:flex}.patch-row{background:var(--surface-raised);border-radius:8px;align-items:center;gap:10px;padding:7px 9px;font-size:.88rem;display:flex}.patch-row[data-pending=true]{outline:1px solid var(--accent)}.chip{border:1px solid var(--border);background-image:linear-gradient(45deg,#333 25%,#0000 25%),linear-gradient(-45deg,#333 25%,#0000 25%);background-size:10px 10px;border-radius:6px;flex:none;width:26px;height:26px}.patch-row .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.patch-row .status{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.8rem}.readout{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.88rem;display:grid}.readout dt{color:var(--text-dim)}.readout dd{margin:0}.sample-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.sample-header .chip{width:46px;height:46px}.note{color:var(--text-dim);margin:10px 0 0;font-size:.8rem}.error{color:var(--danger);margin:0;font-size:.86rem}.warning{color:var(--warn)}.hidden{display:none}
