body { margin: 0; font: 19px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #1d2733; background: #f5f7fa; }
header { text-align: center; padding: 24px 16px 0; }
h1 { font-size: 1.6em; margin: 0; }
main { max-width: 720px; margin: 24px auto; padding: 28px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px #0001; }
h2 { margin-top: 0; }
.progress { position: sticky; top: 0; height: 8px; background: #dde3ea; }
#bar { height: 100%; width: 0; background: #2f7d32; transition: width 0.4s; }
button { font: inherit; font-size: 1.05em; padding: 14px 28px; margin: 8px 8px 8px 0; border: 0; border-radius: 10px; background: #1f5fbf; color: #fff; cursor: pointer; }
button:disabled { background: #a9b4c2; cursor: not-allowed; }
button.secondary { background: #e6ebf1; color: #1d2733; }
.msg { min-height: 1.5em; font-weight: 600; }
.ok { color: #2f7d32; }
.bad { color: #b3261e; }
.cam video { width: 100%; max-width: 480px; border-radius: 10px; background: #000; transform: scaleX(-1); }
video.corner { position: fixed; right: 16px; bottom: 16px; width: 180px; border-radius: 10px; box-shadow: 0 2px 10px #0004; background: #000; transform: scaleX(-1); }
.level { height: 22px; background: #dde3ea; border-radius: 11px; overflow: hidden; }
.level div { height: 100%; width: 0; background: #2f7d32; }
.say { font-size: 1.4em; font-weight: 700; }
.paused { font-size: 1.3em; text-align: center; }
