.aiv-activity-log{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px;color:var(--jbx-muted);font-size:.86rem}.aiv-activity-log li{padding-left:20px;position:relative}.aiv-activity-log li:before{content:"";position:absolute;left:3px;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--jbx-muted)}.aiv-activity-log li.is-active{color:var(--jbx-text)}.aiv-activity-log li.is-active:before{background:var(--jbx-primary-light);box-shadow:0 0 0 5px rgba(115,87,255,.16);animation:aiv-pulse 1.1s infinite}.aiv-activity-log li.is-complete{color:var(--aiv-success)}.aiv-activity-log li.is-complete:before{display:none}.aiv-success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(67,197,138,.15);color:var(--aiv-success);font-size:1.7rem}.aiv-transitioning{opacity:.72;transition:opacity .3s ease}.jbx-btn[aria-busy="true"]:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:aiv-spin .7s linear infinite}@keyframes aiv-spin{to{transform:rotate(360deg)}}@keyframes aiv-pulse{50%{opacity:.45;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){.aiv-activity-log li.is-active:before,.jbx-btn[aria-busy="true"]:before{animation:none}.aiv-transitioning{transition:none}}

/* Authentication UX: keep the verification surface visually stable and task-focused. */
.camera-card{align-self:center}.camera-wrap{margin-inline:auto;width:100%;max-width:580px}.result:not([hidden]){margin-top:10px;padding:18px 14px 8px;border:1px solid var(--jbx-border);border-radius:14px;background:rgba(115,87,255,.07);text-align:center}.result:not([hidden]) h2{margin-top:0}.result:not([hidden]) .jbx-btn{margin-top:8px}.status{font-weight:650}.aiv-activity-log{max-height:150px;overflow:auto}.diagnostics{opacity:.86}

@media(max-width:980px){.shell{align-items:start}.camera-card{width:min(100%,620px);margin-inline:auto}.camera-wrap{height:min(54svh,480px);min-height:320px}.hero{width:min(100%,620px);margin-inline:auto}.hero h1{margin-top:18px;margin-bottom:18px}.hero .lede{max-width:none}}

@media(max-width:600px){.shell{display:flex;flex-direction:column;gap:18px}.hero{order:2}.camera-card{order:1;position:relative;padding:10px}.camera-wrap{height:min(58svh,520px);min-height:360px;max-height:520px}.guide{width:58%;height:70%}.steps{padding:14px 4px 8px}.camera-card>.jbx-btn{min-height:48px}.result:not([hidden]){position:absolute;z-index:5;left:20px;right:20px;bottom:78px;margin:0;padding:14px;background:rgba(13,16,26,.94);box-shadow:0 12px 36px rgba(0,0,0,.42);backdrop-filter:blur(10px)}.result:not([hidden]) h2{font-size:1.55rem}.result:not([hidden]) p{margin:7px 0}.hero h1{font-size:clamp(2.35rem,12vw,4rem);margin:12px 0}.hero .lede{font-size:1rem;line-height:1.5}.hero .actions{margin-top:18px}.status{margin-top:18px}.aiv-activity-log{max-height:112px}.diagnostics{margin-top:14px}}
