:root{--bg: #0f1115;--panel: #171a21;--line: #262b35;--text: #e6e8ec;--muted: #8b93a3;--ok: #3fb950;--warn: #d29922;--error: #f85149;--accent: #4c8dff;font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.debug-only{display:none!important}body.debug .debug-only{display:revert!important}body.debug .pill.debug-only{display:inline-block!important}.screen{display:grid;place-items:center;min-height:100dvh;padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.screen[hidden]{display:none}.screen__inner{max-width:30rem;text-align:center}.screen__inner h1{font-size:1.4rem;margin:0 0 .75rem}.screen__inner p{color:var(--muted);line-height:1.5;margin:0 0 1rem}.screen__hint{font-size:.9rem}.screen__list{text-align:left;color:var(--muted);line-height:1.6;margin:0 0 1.5rem;padding-left:1.1rem;font-size:.9rem}.btn--primary{font-size:1rem;padding:.75rem 1.75rem;min-height:44px;width:100%;max-width:18rem}.diag-btn{position:fixed;right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));z-index:50;min-height:40px;padding:.5rem .9rem;font-size:.8rem;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:999px;cursor:pointer}.build-stamp{position:fixed;left:max(.75rem,env(safe-area-inset-left));bottom:max(.5rem,env(safe-area-inset-bottom));z-index:50;font-size:.65rem;color:var(--line);pointer-events:none;font-variant-numeric:tabular-nums}.bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));border-bottom:1px solid var(--line)}.bar h1{font-size:1rem;margin:0;font-weight:600}.bar .btn{margin-left:auto}.btn{background:var(--accent);border:0;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;padding:.4rem 1rem}.pill{border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.2rem .6rem;background:var(--line);color:var(--muted)}.pill--present{background:#3fb95029;color:var(--ok)}.pill--absent-pending{background:#d2992229;color:var(--warn)}.pill--absent{background:#d2992247;color:var(--warn)}.pill--timed-out,.pill--camera-error{background:#f851492e;color:var(--error)}.metric{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem;align-items:start}@media(min-width:900px){body.debug .layout{grid-template-columns:minmax(0,1fr) 360px}}.video-wrap{position:relative;max-width:1050px;aspect-ratio:5 / 3;background:#000;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-inline:auto}@media(max-width:700px){.video-wrap{aspect-ratio:3 / 4}}.video-wrap video,.video-wrap canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prompt{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.25rem;background:#0f1115db;backdrop-filter:blur(3px)}.prompt[hidden]{display:none}.prompt h2{margin:0;font-size:1.25rem}.prompt p{margin:0;color:var(--muted)}.prompt .countdown{color:var(--warn);font-variant-numeric:tabular-nums;margin-top:.5rem}.prompt--ended{background:#0f1115f2}.banner{margin-top:.75rem;padding:.6rem .8rem;border:1px solid var(--warn);border-radius:8px;color:var(--warn);font-size:.85rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem;max-height:calc(100vh - 6rem);overflow-y:auto}.panel h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .5rem}.panel h2:first-child{margin-top:0}.control{display:grid;grid-template-columns:1fr auto;gap:.15rem .5rem;align-items:center;margin-bottom:.5rem;font-size:.78rem}.control__label{color:var(--muted)}.control__value{font-variant-numeric:tabular-nums}.control input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--accent)}.event-log{list-style:none;margin:0;padding:0;font-size:.75rem;max-height:260px;overflow-y:auto}.event{display:grid;grid-template-columns:3.2rem auto;gap:.4rem;padding:.25rem 0;border-bottom:1px solid var(--line)}.event time{color:var(--muted);font-variant-numeric:tabular-nums}.event code{color:var(--text)}.event__detail{grid-column:2;color:var(--muted);word-break:break-all}.event--warn code{color:var(--warn)}.event--error code{color:var(--error)}.summary{background:#0b0d11;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.72rem;margin:0;padding:.6rem;overflow-x:auto}
