*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#111;color:#eee;font-family:system-ui,sans-serif}body{min-height:100dvh}#app{min-height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto}.viewer{position:relative;min-height:55dvh;overflow:hidden;background:#000}video,#overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}#overlay{pointer-events:none}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.8rem 1rem;border-radius:.7rem;background:#000000b8;text-align:center;max-width:90%}.hidden{display:none!important}.panel{padding:12px 14px calc(12px + env(safe-area-inset-bottom));display:grid;gap:10px;background:#171717}.status-row,.metrics{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.metrics{font-size:.9rem;color:#ccc;justify-content:flex-start}.badge{padding:.2rem .55rem;border:1px solid #555;border-radius:999px;font-size:.8rem}label{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:.9rem}label input[type=range]{grid-column:1 / -1;width:100%}label select{grid-column:1 / -1;width:100%;font:inherit;padding:.55rem .6rem;border-radius:.6rem;border:1px solid #555;background:#222;color:#fff}label.check{grid-template-columns:auto 1fr;justify-content:start}button{font:inherit;padding:.7rem .9rem;border-radius:.6rem;border:1px solid #555;background:#222;color:#fff}.hint{margin:0;color:#aaa;font-size:.78rem;line-height:1.35}code{color:#ddd}
