/* R68 · recovery camera UI only; capability detection and camera lifecycle belong to account/scanner. */
.recovery-scan-entry {display:grid;gap:8px;min-width:0;margin:12px 0;}
.recovery-scan-entry>.recovery-scan-open {display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;margin:0;padding:10px 14px;border:1px solid #a7f0fd33;border-radius:12px;background:linear-gradient(115deg,#fee4d30a,#a7f0fd0d),#1b2429;color:#deeaee;font:inherit;font-size:13px;font-weight:550;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;}
.recovery-scan-open>:is(svg,.icon) {display:block;flex:0 0 20px;width:20px;height:20px;color:inherit;}
.recovery-scan-entry>.account-note {min-width:0;margin:0;color:#91a2ac;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.recovery-scanner {display:grid;gap:12px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:12px 0;padding:12px;border:1px solid #ffffff12;border-radius:16px;background:#171e23;color:#dce7ec;}
.recovery-scanner .recovery-camera-frame {position:relative;display:grid;place-items:center;box-sizing:border-box;width:100%;max-width:420px;min-width:0;aspect-ratio:1;max-height:clamp(180px,52vh,420px);max-height:clamp(180px,52dvh,420px);margin:0 auto;overflow:hidden;isolation:isolate;border:1px solid transparent;border-radius:16px;background:linear-gradient(#10181d,#10181d) padding-box,linear-gradient(125deg,#fee4d380,#a7f0fd80) border-box;}
.recovery-scanner .recovery-camera-video {display:block;box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;max-height:inherit;aspect-ratio:1;object-fit:contain;background:#10181d;}
.recovery-scanner .recovery-camera-guide {position:absolute;left:50%;top:50%;width:68%;max-width:min(280px,34vh);max-width:min(280px,34dvh);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #d5e6ec1f;border-radius:10px;background:linear-gradient(#fee4d3b3,#fee4d3b3) left top/22px 2px no-repeat,linear-gradient(#fee4d3b3,#fee4d3b3) left top/2px 22px no-repeat,linear-gradient(#a7f0fdb3,#a7f0fdb3) right top/22px 2px no-repeat,linear-gradient(#a7f0fdb3,#a7f0fdb3) right top/2px 22px no-repeat,linear-gradient(#fee4d3b3,#fee4d3b3) left bottom/22px 2px no-repeat,linear-gradient(#fee4d3b3,#fee4d3b3) left bottom/2px 22px no-repeat,linear-gradient(#a7f0fdb3,#a7f0fdb3) right bottom/22px 2px no-repeat,linear-gradient(#a7f0fdb3,#a7f0fdb3) right bottom/2px 22px no-repeat;pointer-events:none;user-select:none;}
.recovery-scanner .recovery-scan-status {min-width:0;margin:0;color:#b3c6d0;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.recovery-scanner .recovery-scan-status:empty {display:none;}
.recovery-scanner .recovery-scan-actions {display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.recovery-scan-actions>button {display:flex;flex:1 1 132px;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #a7f0fd2b;border-radius:11px;background:#263238;color:#deeaee;font:inherit;font-size:13px;font-weight:500;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;}
.recovery-scan-actions>button[data-account=stopRecoveryScan] {border-color:#ffffff1a;background:transparent;color:#b9c7cf;}
:is(.recovery-scan-entry,.recovery-scanner) button:not(:disabled):not([aria-disabled=true]):hover {border-color:#a7f0fd80;}
:is(.recovery-scan-entry,.recovery-scanner) button:focus-visible {outline:2px solid #a7dce9;outline-offset:3px;}
:is(.recovery-scan-entry,.recovery-scanner) button:is(:disabled,[aria-disabled=true]) {opacity:.5;cursor:not-allowed;}
/* Explicit hidden wins over all grid/flex declarations, including the capture file input. */
.recovery-scan-entry[hidden],.recovery-scan-entry [hidden],.recovery-scanner[hidden],.recovery-scanner [hidden],input.recovery-camera-file {display:none!important;}
@media(prefers-reduced-motion:reduce) {
 .recovery-scan-entry,.recovery-scan-entry *,.recovery-scanner,.recovery-scanner * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Private recovery pass · only the site's own credential markup, never reference codes. */
.recovery-pass {box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:12px 0;padding:clamp(14px,3vw,24px);border:1px solid #d4ad6259;border-radius:20px;background:radial-gradient(ellipse at 85% 0,#9b73381a,transparent 58%),linear-gradient(140deg,#19181a,#0f1012);box-shadow:0 10px 28px #00000026;color:#f1e9db;}
.recovery-pass>header {display:grid;gap:7px;min-width:0;margin:0;}
.recovery-pass .recovery-pass-eyebrow {display:block;color:#c7ab73;font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.12em;overflow-wrap:anywhere;}
.recovery-pass>header h2 {min-width:0;margin:0;color:#f3eadb;font-size:clamp(20px,2vw,25px);font-weight:650;line-height:1.45;letter-spacing:-.02em;overflow-wrap:anywhere;}
.recovery-pass>header p {min-width:0;margin:0;color:#a99f8d;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.recovery-pass .recovery-pass-card {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;margin-top:18px;}
.recovery-pass .recovery-pass-qr {display:grid;place-items:center;box-sizing:border-box;justify-self:center;width:min(100%,216px);min-width:0;aspect-ratio:1;padding:12px;border:1px solid #eadfc9;border-radius:14px;background:#fffaf0;}
.recovery-pass .recovery-pass-qr>canvas#privateRecoveryQR {display:block;width:100%!important;max-width:100%;height:auto!important;min-width:0;margin:0;image-rendering:pixelated;}
.recovery-pass .recovery-pass-codes {display:grid;align-content:start;gap:10px;min-width:0;}
.recovery-pass .recovery-pass-codes>div {box-sizing:border-box;min-width:0;padding:12px 14px;border:1px solid #e8dcc7;border-radius:12px;background:#f7f1e6;color:#65543c;}
.recovery-pass .recovery-pass-codes small {display:block;min-width:0;margin:0 0 5px;color:#867253;font-size:11px;line-height:1.6;overflow-wrap:anywhere;}
.recovery-pass .recovery-pass-codes code {display:block;box-sizing:border-box;min-width:0;max-width:100%;margin:0;color:#3c3a34;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;line-height:1.8;letter-spacing:.035em;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;user-select:all;}
.recovery-pass .recovery-pass-codes code#recoverySecretKey {color:#8a6229;}
.recovery-pass .recovery-pass-warning {min-width:0;margin:16px 0 12px;color:#c9b88f;font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.recovery-pass .recovery-pass-actions {display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;}
.recovery-pass .recovery-pass-actions>button {display:flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;margin:0;padding:11px 14px;border:1px solid #ffffff1a!important;border-radius:12px;background:#29292c!important;color:#eee7dc!important;box-shadow:none!important;text-shadow:none!important;font:inherit;font-size:13px;font-weight:600;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;}
.recovery-pass .recovery-pass-actions>button[data-account=saveRecovery] {border-color:#f1d18b80!important;background:linear-gradient(110deg,#f0d393,#d6ae60 68%,#e5c17b)!important;color:#302516!important;box-shadow:inset 0 1px #fff0cb80!important;}
.recovery-pass .recovery-pass-actions>button>* {color:inherit!important;}
.recovery-pass .recovery-pass-actions>button:focus-visible {outline:2px solid #e7c784!important;outline-offset:3px;}
.recovery-pass .recovery-pass-actions>button:is(:disabled,[aria-disabled=true]) {opacity:.5;cursor:not-allowed;}
.recovery-pass #credentialStatus {min-width:0;min-height:18px;margin:10px 0 0;color:#c7b89b;font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
.recovery-pass[hidden],.recovery-pass [hidden] {display:none!important;}
@media(min-width:640px) {
 .recovery-pass .recovery-pass-card {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:16px;}
 .recovery-pass .recovery-pass-qr {justify-self:start;}
 .recovery-pass .recovery-pass-actions {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(prefers-reduced-motion:reduce) {.recovery-pass,.recovery-pass * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
