.face[data-v-8dc384ff]{flex-direction:column;align-items:center;gap:12px;display:flex}h2[data-v-8dc384ff]{font-family:var(--font-display);align-self:stretch;margin:0;font-size:24px;font-weight:500}.intro[data-v-8dc384ff]{color:var(--text-secondary);align-self:stretch;margin-bottom:2px;font-size:14px;line-height:1.5}.frame[data-v-8dc384ff]{--tone:var(--ink-blue-600);border:1px solid var(--border-strong);background:var(--surface-sunken);border-radius:3px;width:240px;height:300px;position:relative;overflow:hidden}.frame.t-ok[data-v-8dc384ff]{--tone:var(--success)}.frame.t-warn[data-v-8dc384ff]{--tone:var(--warning)}.frame.t-bad[data-v-8dc384ff]{--tone:var(--danger)}video[data-v-8dc384ff]{object-fit:cover;filter:sepia(.15);width:100%;height:100%;transform:scaleX(-1)}.shade[data-v-8dc384ff]{pointer-events:none;border-radius:50%;width:160px;height:210px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 400px #fcfbf899}.guide[data-v-8dc384ff]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.outline[data-v-8dc384ff]{fill:none;stroke:var(--tone);stroke-width:2px;stroke-dasharray:6 5;transition:stroke var(--duration-base) var(--ease-standard)}.t-ok .outline[data-v-8dc384ff]{stroke-dasharray:none}.fill[data-v-8dc384ff]{fill:none;stroke:var(--success);stroke-width:5px;stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset .25s linear}.turn[data-v-8dc384ff]{width:34px;height:34px;color:var(--ink-blue-600);animation:nudge-8dc384ff 1s var(--ease-standard) infinite;margin-top:-30px;position:absolute;top:50%}.turn svg[data-v-8dc384ff]{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.turn.left[data-v-8dc384ff]{left:6px}.turn.right[data-v-8dc384ff]{animation-name:nudge-r-8dc384ff;right:6px;transform:scaleX(-1)}@keyframes nudge-8dc384ff{0%,to{translate:0}50%{translate:-6px}}@keyframes nudge-r-8dc384ff{0%,to{translate:0}50%{translate:6px}}.timer[data-v-8dc384ff]{border-radius:var(--radius-pill);background:var(--surface-card);border:1px solid var(--border-default);font-family:var(--font-mono);color:var(--warning);padding:2px 8px;font-size:13px;position:absolute;top:8px;right:8px}.timer.low[data-v-8dc384ff]{color:var(--danger);border-color:var(--danger)}.nocam[data-v-8dc384ff]{text-align:center;font-family:var(--font-hand);color:var(--text-secondary);font-size:15px;position:absolute;bottom:10px;left:0;right:0}.steps[data-v-8dc384ff]{gap:4px;width:240px;display:flex}.steps i[data-v-8dc384ff]{background:var(--line-300);border-radius:2px;flex:1;height:4px;transition:background .3s}.steps i.done[data-v-8dc384ff]{background:var(--ink-blue-600)}.steps i.now[data-v-8dc384ff]{background:var(--ink-blue-100);box-shadow:inset 0 0 0 1px var(--ink-blue-600)}.prompt[data-v-8dc384ff]{font-family:var(--font-display);text-align:center;font-size:20px;line-height:1.3}.prompt.bad[data-v-8dc384ff]{color:var(--danger);max-width:300px;font-size:17px}.prompt.ok[data-v-8dc384ff]{color:var(--success)}.status[data-v-8dc384ff]{--tone:var(--ink-blue-600);border-radius:var(--radius-pill);background:var(--surface-card);border:1px solid var(--border-default);max-width:300px;color:var(--text-primary);align-items:center;gap:8px;padding:6px 12px;font-size:13.5px;line-height:1.4;transition:border-color .2s,background .2s;display:flex}.status.t-ok[data-v-8dc384ff]{--tone:var(--success);background:var(--success-soft);border-color:#0000}.status.t-warn[data-v-8dc384ff]{--tone:var(--warning);background:var(--warning-soft);border-color:#0000}.status.t-bad[data-v-8dc384ff]{--tone:var(--danger);background:var(--danger-soft);border-color:#0000}.dot[data-v-8dc384ff]{background:var(--tone);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-8dc384ff}@keyframes pulse-8dc384ff{0%,to{opacity:1}50%{opacity:.35}}.meta[data-v-8dc384ff]{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin-top:-4px}.meta[data-v-8dc384ff]:lang(bn),.timer[data-v-8dc384ff]:lang(bn){word-spacing:-.25em}@media (prefers-reduced-motion:reduce){.turn[data-v-8dc384ff],.dot[data-v-8dc384ff]{animation:none}.fill[data-v-8dc384ff]{transition:none}}
