*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;font:18px/1.4 system-ui,sans-serif;background:#14213d;color:#fff;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
main{height:100%;display:flex;flex-direction:column;gap:14px}
#lg{justify-content:center;padding:24px;max-width:420px;margin:auto}#lg p{font-size:1.25rem}
h1{margin:0 0 8px;font-size:2rem}label{display:grid;gap:6px}
input{font:inherit;padding:14px;border-radius:10px;border:2px solid #fca311;background:#fff;color:#14213d;width:100%}
button{font:inherit;font-weight:700;padding:14px 18px;border:0;border-radius:10px;background:#fca311;color:#14213d;min-height:48px}
header{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;align-items:center}#st{font-size:.85rem;opacity:.9}#st.w{color:#fca311}
#cam{flex:1;min-height:0;position:relative;background:#000}video{width:100%;height:100%;object-fit:cover}video.mir{transform:scaleX(-1)}
#cm{position:absolute;inset:auto 0 50% 0;text-align:center;margin:0;padding:0 20px}
footer{display:flex;gap:8px;padding:10px 14px}footer button{flex:1;font-size:.95rem}
#res{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;z-index:9}
#res.ok{background:#15803d}#res.bad{background:#b91c1c}#t1{font-size:clamp(2rem,9vw,4.5rem);line-height:1.1}#t2{font-size:1.3rem}
dialog{width:min(560px,94vw);max-height:88dvh;border:0;border-radius:14px;padding:16px;background:#14213d;color:#fff}
dialog::backdrop{background:#000a}#rs{display:grid;gap:8px;margin:12px 0}#rs button{text-align:left;background:#fff;color:#14213d}
#err{color:#fca311;min-height:1.4em;margin:0}
