html{-webkit-overflow-scrolling:touch;min-height:100%}body,#root,#root__layout{flex-direction:column;flex:auto;height:auto;min-height:100%;display:flex}img{vertical-align:middle;max-width:100%}ul{margin:0;padding:0;list-style-type:none}input[type=number]{-moz-appearance:textfield;appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.notistack-MuiContent{width:fit-content;max-width:calc(100vw - 32px);min-width:0!important}[data-fp-theme=dark]{--fp-bg-overlay:#050412e6;--fp-bg-modal:#131128;--fp-bg-info:#120e28cc;--fp-bg-panel:#100c2499;--fp-bg-input:#080616bf;--fp-bg-candidate:#0f0c22a6;--fp-bg-debug:#8b5cf608;--fp-bg-section:#1a1630;--fp-bg-section-header:#ffffff05;--fp-bg-element:#ffffff0e;--fp-bg-element-hover:#ffffff1c;--fp-bg-status:#8b5cf60d;--fp-bg-option:#131128;--fp-text:#e2deff;--fp-text-sub:#9b8fd4;--fp-text-muted:#a78bfa8c;--fp-text-label:#7470a0;--fp-text-heading:#f5f3ff;--fp-text-body:#cdc7f0;--fp-text-dim:#7a72b8;--fp-text-meta:#a096d8;--fp-text-name:#9b8fd4;--fp-text-counter:#8b7ec8;--fp-text-hint:#c4bcf0;--fp-text-hint-body:#9b8fd4;--fp-text-chips-empty:#6a629a;--fp-accent:#a78bfa;--fp-accent-bg:#8b5cf61a;--fp-accent-bg-hover:#8b5cf626;--fp-accent-alt:#634fdc1f;--fp-accent-purple:#c084fc;--fp-accent-purple-bg:#c084fc1a;--fp-accent-purple-border:#c084fc47;--fp-accent-purple-text:#ddd6fe;--fp-success:#4ade80;--fp-success-bg:#4ade800f;--fp-success-border:#4ade803d;--fp-success-icon-bg:#4ade801f;--fp-success-score:#4ade80;--fp-error:#f87171;--fp-error-bg:#f871710f;--fp-error-border:#f8717147;--fp-error-icon-bg:#f871711f;--fp-error-title:#fca5a5;--fp-error-text:#f87171d9;--fp-error-reasons:#f87171b3;--fp-warning:#fbbf24;--fp-warning-bg:#fbbf240f;--fp-warning-border:#fbbf2442;--fp-border:#8b5cf624;--fp-border-strong:#8b5cf633;--fp-border-input:#8b5cf638;--fp-border-light:#ffffff12;--fp-border-section:#ffffff17;--fp-border-sep:#8b5cf614;--fp-border-debug:#8b5cf61a;--fp-border-meta:#8b5cf621;--fp-border-meta-row:#8b5cf612;--fp-border-chip:#8b5cf659;--fp-border-counter:#8b5cf62e;--fp-border-hint:#8b5cf652;--fp-border-candidate:#4ade8033;--fp-border-kv:#8b5cf612;--fp-border-version:#8b5cf62e;--fp-modal-shadow:0 0 60px #8b5cf614, 0 40px 80px #000000b8;--fp-device-glow:0 0 6px #a78bfa;--fp-sensor-bg:#080616eb;--fp-sensor-border:#8b5cf638;--fp-sensor-grid-dot:#8b5cf612;--fp-sensor-corner:#8b5cf694;--fp-sensor-scanline-bg:linear-gradient(90deg, transparent, #8b5cf6a6 40%, #a78bfae6 50%, #8b5cf6a6 60%, transparent);--fp-sensor-scanline-shadow:0 0 10px 2px #8b5cf64d;--fp-sensor-submit-scanline-bg:linear-gradient(90deg, transparent, #c084fce6 50%, transparent);--fp-sensor-submit-scanline-shadow:0 0 12px 3px #c084fc52;--fp-sensor-submit-corner:#c084fcad;--fp-sensor-validating-scanline-bg:linear-gradient(90deg, transparent, #fbbf24cc 50%, transparent);--fp-sensor-validating-scanline-shadow:0 0 10px 2px #fbbf244d;--fp-sensor-validating-corner:#fbbf249e;--fp-hand-canvas-bg:radial-gradient(circle at 50% 30%, #8b5cf61a, transparent 38%), linear-gradient(180deg, #0c091cf7, #120e26e6);--fp-hand-canvas-grid:#8b5cf60a;--fp-hand-canvas-highlight:#ffffff08;--fp-hand-canvas-shadow:0 24px 48px #00000038;--fp-hand-skin:#d9b09a;--fp-hand-outline:#2f170b;--fp-hand-nail:#442618e6;--fp-hand-fill-hover:#8b5cf633;--fp-hand-fill-selected:#8b5cf65c;--fp-hand-fill-disabled:#0000008c;--fp-hand-pulse:#8b5cf6a6;--fp-hand-pulse-shadow:#8b5cf647;--fp-toggle-bg:#8b5cf617;--fp-toggle-border:#8b5cf63d;--fp-toggle-track:#8b5cf647;--fp-toggle-track-active:#8b5cf6;--fp-toggle-thumb:#080616eb;--fp-toggle-thumb-active:#131128;--fp-toggle-icon:#a78bfa}[data-fp-theme=light]{--fp-bg-overlay:#001c2485;--fp-bg-modal:#fff;--fp-bg-info:#ecfdfafa;--fp-bg-panel:#f0fdfae6;--fp-bg-input:#fff;--fp-bg-candidate:#f8fffdf7;--fp-bg-debug:#0d948808;--fp-bg-section:#f0fdf9;--fp-bg-section-header:#00000006;--fp-bg-element:#0000000a;--fp-bg-element-hover:#00000012;--fp-bg-status:#0d94880d;--fp-bg-option:#fff;--fp-text:#0f2926;--fp-text-sub:#1f5c58;--fp-text-muted:#0d9488;--fp-text-label:#6b7280;--fp-text-heading:#0a1f1d;--fp-text-body:#1e3834;--fp-text-dim:#4a8a84;--fp-text-meta:#1f5c58;--fp-text-name:#0d9488;--fp-text-counter:#0d9488;--fp-text-hint:#0a4d47;--fp-text-hint-body:#1f5c58;--fp-text-chips-empty:#6b7280;--fp-accent:#0d9488;--fp-accent-bg:#0d948812;--fp-accent-bg-hover:#0d948821;--fp-accent-alt:#0d94880d;--fp-accent-purple:#0f766e;--fp-accent-purple-bg:#0f766e14;--fp-accent-purple-border:#0f766e47;--fp-accent-purple-text:#0f766e;--fp-success:#059669;--fp-success-bg:#0596690f;--fp-success-border:#05966947;--fp-success-icon-bg:#0596691a;--fp-success-score:#059669;--fp-error:#dc2626;--fp-error-bg:#dc26260d;--fp-error-border:#dc26263d;--fp-error-icon-bg:#dc262617;--fp-error-title:#b91c1c;--fp-error-text:#b91c1cd9;--fp-error-reasons:#b91c1cbf;--fp-warning:#b45309;--fp-warning-bg:#b453090f;--fp-warning-border:#b4530947;--fp-border:#0d948829;--fp-border-strong:#0d948838;--fp-border-input:#0d94883d;--fp-border-light:#00000012;--fp-border-section:#00000017;--fp-border-sep:#0000000e;--fp-border-debug:#0d94881f;--fp-border-meta:#0d948826;--fp-border-meta-row:#0d948812;--fp-border-chip:#0d948857;--fp-border-counter:#0d948833;--fp-border-hint:#0d94884d;--fp-border-candidate:#0596693d;--fp-border-kv:#0000000e;--fp-border-version:#0d948833;--fp-modal-shadow:0 4px 32px #0d94881a, 0 20px 48px #00000012;--fp-device-glow:none;--fp-sensor-bg:linear-gradient(180deg, #fffffff7, #ecfdfafa);--fp-sensor-border:#0d948838;--fp-sensor-grid-dot:#0d948812;--fp-sensor-corner:#0d948885;--fp-sensor-scanline-bg:linear-gradient(90deg, transparent, #0d948885 40%, #0d9488c7 50%, #0d948885 60%, transparent);--fp-sensor-scanline-shadow:0 0 10px 2px #0d94882e;--fp-sensor-submit-scanline-bg:linear-gradient(90deg, transparent, #059669b3 50%, transparent);--fp-sensor-submit-scanline-shadow:0 0 12px 3px #05966933;--fp-sensor-submit-corner:#0596698c;--fp-sensor-validating-scanline-bg:linear-gradient(90deg, transparent, #f59e0bb3 50%, transparent);--fp-sensor-validating-scanline-shadow:0 0 10px 2px #f59e0b2e;--fp-sensor-validating-corner:#f59e0b8c;--fp-hand-canvas-bg:radial-gradient(circle at 50% 30%, #0d948814, transparent 38%), linear-gradient(180deg, #fffffff7, #ecfdfaf5);--fp-hand-canvas-grid:#0d94880d;--fp-hand-canvas-highlight:#ffffffe6;--fp-hand-canvas-shadow:0 16px 30px #0d948812;--fp-hand-skin:#efc7ad;--fp-hand-outline:#6b4c3b;--fp-hand-nail:#89624de6;--fp-hand-fill-hover:#0d948821;--fp-hand-fill-selected:#0d94883b;--fp-hand-fill-disabled:#00000029;--fp-hand-pulse:#0d948880;--fp-hand-pulse-shadow:#0d948833;--fp-toggle-bg:#0d948812;--fp-toggle-border:#0d948838;--fp-toggle-track:#0d948838;--fp-toggle-track-active:#0d9488;--fp-toggle-thumb:#fff;--fp-toggle-thumb-active:#fff;--fp-toggle-icon:#0d9488}.fp-theme-toggle{background:var(--fp-toggle-bg);border:1px solid var(--fp-toggle-border);cursor:pointer;color:var(--fp-toggle-icon);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.fp-theme-toggle:hover{background:var(--fp-accent-bg)}.fp-theme-toggle-track{background:var(--fp-toggle-track);border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.fp-theme-toggle-track--on{background:var(--fp-toggle-track-active)}.fp-theme-toggle-thumb{background:var(--fp-toggle-thumb);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.fp-theme-toggle-thumb--on{background:var(--fp-toggle-thumb-active);transform:translate(16px)}.fp-theme-toggle-icon{font-size:15px;line-height:1}[data-fp-theme=light] .fp-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#001c247a}[data-fp-theme=light] .fp-modal-panel{background:#fff;border-color:#0d948833;box-shadow:0 4px 32px #0d948817,0 20px 48px #00000012}[data-fp-theme=light] .fp-modal-panel--split{--fp-info-bg:#ecfdfafa;--fp-info-fg:#0f2926;--fp-info-fg-muted:#0d9488;--fp-info-icon-bg:#0d948814;--fp-info-sep:#0d948824;--fp-info-badge-bg:#0d948812;--fp-info-border:#0d94882e;--fp-info-card-bg:#f8fffdf7;--fp-info-card-border:#0d948824;--fp-info-accent:#0d9488}[data-fp-theme=light] .fp-modal-side--info{color:#0f2926;background:#ecfdfafa;border-inline-end-color:#0d94882e}[data-fp-theme=light] .fp-modal-side--info:before{background:radial-gradient(circle,#0d948812 0%,#0000 70%)}[data-fp-theme=light] .fp-modal-side--info:after{background:radial-gradient(circle,#0f766e0d 0%,#0000 72%)}[data-fp-theme=light] .fp-modal-header{border-bottom-color:#0000000f}[data-fp-theme=light] .fp-modal-title{color:#0a1f1d}[data-fp-theme=light] .fp-modal-subtitle{color:#6b7280}[data-fp-theme=light] .fp-modal-close-btn{color:#6b7280;border-color:#00000017}[data-fp-theme=light] .fp-modal-close-btn:hover{color:#0d9488;background:#0d948812}[data-fp-theme=light] .fp-modal-capture-img{border-color:#0d94884d;box-shadow:0 0 24px #0d948814}[data-fp-theme=light] .fp-modal-device-row{color:#6b7280}[data-fp-theme=light] .fp-modal-device-dot{box-shadow:none;background:#0d9488}[data-fp-theme=light] .fp-modal-device-name{color:#0f766e}[data-fp-theme=light] .fp-modal-device-version{color:#0f766e;background:#0d948812;border-color:#0d948833}[data-fp-theme=light] .fp-modal-failure-card{background:#dc26260d;border-color:#dc26263d}[data-fp-theme=light] .fp-modal-failure-icon-wrap{background:#dc262617}[data-fp-theme=light] .fp-modal-failure-icon{color:#dc2626}[data-fp-theme=light] .fp-modal-failure-title{color:#b91c1c}[data-fp-theme=light] .fp-modal-failure-message{color:#b91c1cd9}[data-fp-theme=light] .fp-modal-failure-reasons{color:#b91c1cbf}[data-fp-theme=light] .fp-modal-failure-hint{color:#dc2626}[data-fp-theme=light] .fp-modal-failure-hint--exhausted{color:#6b7280}[data-fp-theme=light] .fp-modal-success-card{background:#0596690d;border-color:#0596693d}[data-fp-theme=light] .fp-modal-success-icon-wrap{background:#0596691a}[data-fp-theme=light] .fp-modal-success-icon,[data-fp-theme=light] .fp-modal-success-title{color:#059669}[data-fp-theme=light] .fp-modal-success-title--warn{color:#b45309}[data-fp-theme=light] .fp-modal-kv-row{color:#0f766e;border-bottom-color:#0000000e}[data-fp-theme=light] .fp-modal-kv-row span{color:#475569}[data-fp-theme=light] .fp-modal-kv-row strong{color:#1f5c58}[data-fp-theme=light] .fp-candidate-card{background:#f8fffdf7;border-color:#0596693d}[data-fp-theme=light] .fp-candidate-rank{color:#0d9488}[data-fp-theme=light] .fp-candidate-name{color:#0f2926}[data-fp-theme=light] .fp-candidate-id{color:#6b7280}[data-fp-theme=light] .fp-candidate-score-value{color:#059669}[data-fp-theme=light] .fp-candidate-score-label{color:#6b7280}[data-fp-theme=light] .fp-modal-footer{border-top-color:#0000000f}[data-fp-theme=light] .fp-modal-btn--cancel{color:#6b7280;border-color:#0000001c}[data-fp-theme=light] .fp-modal-btn--cancel:hover:not(:disabled){color:#0d9488;background:#0d948812;border-color:#0d948833}[data-fp-theme=light] .fp-modal-btn--retry{color:#dc2626;background:#dc26260f;border-color:#dc262647}[data-fp-theme=light] .fp-modal-btn--retry:hover:not(:disabled){background:#dc26261a}[data-fp-theme=light] .fp-modal-btn--done{color:#0d9488;background:#0d94881a;border-color:#0d94884d}[data-fp-theme=light] .fp-modal-btn--done:hover:not(:disabled){background:#0d948826;box-shadow:0 0 18px #0d94881f}[data-fp-theme=light] .fp-modal-context-strip{background:#ecfdfacc;border-bottom-color:#0000000e}[data-fp-theme=light] .fp-modal-context-item{color:#0f766e;background:#0d94880f;border-color:#0d948833}[data-fp-theme=light] .fp-modal-context-label{color:#475569}[data-fp-theme=light] .fp-modal-context-sep{color:#94a3b8}[data-fp-theme=light] .fp-modal-context-value{color:#1f5c58}[data-fp-theme=light] .fp-modal-mode-dot{box-shadow:none}[data-fp-theme=light] .fp-modal-info-row:before{background:linear-gradient(90deg,#0d94882e,#0000)}[data-fp-theme=light] .fp-status-wrapper{background:#0d94880d;border-color:#0d94882e}[data-fp-theme=light] .fp-status-badge--idle{color:#6b7280;background:#0000000a}[data-fp-theme=light] .fp-status-badge--initializing,[data-fp-theme=light] .fp-status-badge--capturing{color:#0d9488;background:#0d948817}[data-fp-theme=light] .fp-status-badge--validating{color:#0f766e;background:#0d948812}[data-fp-theme=light] .fp-status-badge--submitting{color:#0d9488;background:#0d948817}[data-fp-theme=light] .fp-status-badge--success{color:#059669;background:#0596691a}[data-fp-theme=light] .fp-status-badge--failed{color:#dc2626;background:#dc26261a}[data-fp-theme=light] .fp-status-badge--cancelled,[data-fp-theme=light] .fp-status-badge--cleanup{color:#6b7280;background:#0000000a}[data-fp-theme=light] .fp-status-attempts{color:#94a3b8}[data-fp-theme=light] .fp-status-attempts span{color:#0d9488}[data-fp-theme=light] .fp-debug-container{border-top-color:#0d94881f}[data-fp-theme=light] .fp-debug-toggle{color:#94a3b8}[data-fp-theme=light] .fp-debug-toggle:hover{color:#0d9488}[data-fp-theme=light] .fp-debug-list{background:#0d948808;border-color:#0d948824}[data-fp-theme=light] .fp-debug-dt{color:#6b7280}[data-fp-theme=light] .fp-debug-dd{color:#1f5c58}[data-fp-theme=light] .fp-debug-mono{color:#0d9488}[data-fp-theme=light] .fp-debug-error{color:#dc2626}[data-fp-theme=light] .fp-meta-title{color:#0d9488}[data-fp-theme=light] .fp-meta-table{border-color:#0d948829}[data-fp-theme=light] .fp-meta-table th{color:#0d9488;background:#ecfdfaf5;border-bottom-color:#0d948829}[data-fp-theme=light] .fp-meta-table td{border-bottom-color:#0d948812}[data-fp-theme=light] .fp-meta-row--pass{background:#f8fffdd9}[data-fp-theme=light] .fp-meta-row--failed{background:#dc26260a}[data-fp-theme=light] .fp-meta-name{color:#475569}[data-fp-theme=light] .fp-meta-value{color:#0f2926}[data-fp-theme=light] .fp-meta-pass{color:#059669}[data-fp-theme=light] .fp-meta-fail{color:#dc2626}[data-fp-theme=light] .fp-finger-hint{color:#6b7280}[data-fp-theme=light] .fp-click-hint-box{background:#fffffffa;border-color:#0d948847;box-shadow:0 4px 16px #00000012,0 0 0 1px #0d948812}[data-fp-theme=light] .fp-click-hint-arrow{border-top-color:#0d948842}[data-fp-theme=light] .fp-click-hint-title{color:#0f2926}[data-fp-theme=light] .fp-click-hint-body{color:#6b7280}[data-fp-theme=light] .fp-click-hint-close{color:#94a3b8}[data-fp-theme=light] .fp-click-hint-close:hover{color:#0d9488;background:#0d948812}[data-fp-theme=light] .fp-finger-hand-title,[data-fp-theme=light] .fp-hand-hint{color:#0d9488}[data-fp-theme=light] .fp-finger-chips-empty{color:#94a3b8}[data-fp-theme=light] .fp-finger-chip{color:#0d9488;background:#0d948814;border-color:#0d94884d}[data-fp-theme=light] .fp-finger-chip-remove{color:#0d9488b3}[data-fp-theme=light] .fp-finger-chip-remove:hover{background:#0d94881f}[data-fp-theme=light] .fp-finger-counter{color:#6b7280}[data-fp-theme=light] .fp-finger-counter-badge{color:#475569;background:#ecfdfae6;border-color:#0d94882e}[data-fp-theme=light] .fp-finger-counter-badge--full{color:#0d9488;background:#0d94881a;border-color:#0d948861}[data-fp-theme=light] .fp-finger-thumb-warning{color:#92400e;background:#b453090d;border-color:#b4530947}[data-fp-theme=light] .fp-settings-page{color:#1e3834}[data-fp-theme=light] .fp-settings-page-title{color:#0a1f1d}[data-fp-theme=light] .fp-settings-page-subtitle{color:#6b7280}[data-fp-theme=light] .fp-settings-section{background:#fff;border-color:#00000017}[data-fp-theme=light] .fp-settings-section-header{background:#00000003;border-bottom-color:#0000000e}[data-fp-theme=light] .fp-settings-section-title{color:#1e3834}[data-fp-theme=light] .fp-settings-label{color:#6b7280}[data-fp-theme=light] .fp-settings-input{color:#0a1f1d;background:#fff;border-color:#00000024}[data-fp-theme=light] .fp-settings-input:focus{background:#0d94880a;border-color:#0d9488}[data-fp-theme=light] .fp-settings-btn--secondary{color:#1e3834;background:#0000000a;border-color:#0000001c}[data-fp-theme=light] .fp-settings-btn--secondary:hover:not(:disabled){background:#00000014}[data-fp-theme=light] .fp-settings-rules-version{color:#0d9488;background:#0d948814;border-color:#0d94883d}[data-fp-theme=light] .fp-device-load-btn{color:#1e3834;background:#0000000a;border-color:#00000021}[data-fp-theme=light] .fp-device-load-btn:hover:not(:disabled){background:#00000012}[data-fp-theme=light] .fp-device-select{color:#0a1f1d;background:#fff;border-color:#00000021}[data-fp-theme=light] .fp-device-select:focus{border-color:#0d9488}[data-fp-theme=light] .fp-device-no-devices{color:#6b7280}[data-fp-theme=light] .fp-device-error{color:#dc2626}[data-fp-theme=light] .fp-device-selected{color:#6b7280}[data-fp-theme=light] .fp-device-selected strong{color:#1e3834}[data-fp-theme] .fp-modal-panel,[data-fp-theme] .fp-settings-section,[data-fp-theme] .fp-tx-table-card,[data-fp-theme] .fp-tx-detail-drawer,[data-fp-theme] .fp-fingerprint-image{border-radius:var(--fp-radius-lg,12px)}[data-fp-theme] .fp-modal-btn,[data-fp-theme] .fp-settings-btn,[data-fp-theme] .fp-tx-btn,[data-fp-theme] .fp-tx-icon-btn,[data-fp-theme] .fp-theme-toggle,[data-fp-theme] .fp-finger-chip,[data-fp-theme] .fp-status-badge{border-radius:var(--fp-radius-sm,8px)}[data-fp-theme=light] .fp-modal-panel,[data-fp-theme=light] .fp-settings-section,[data-fp-theme=light] .fp-tx-table-card,[data-fp-theme=light] .fp-tx-detail-drawer{background:var(--fp-bg-section);border-color:var(--fp-border-section);color:var(--fp-text-body)}[data-fp-theme=light] .fp-modal-title,[data-fp-theme=light] .fp-settings-page-title,[data-fp-theme=light] .fp-settings-section-title,[data-fp-theme=light] .fp-tx-title,[data-fp-theme=light] .fp-tx-detail-header h2,[data-fp-theme=light] .fp-candidate-name{color:var(--fp-text-heading)}[data-fp-theme=light] .fp-modal-subtitle,[data-fp-theme=light] .fp-settings-page-subtitle,[data-fp-theme=light] .fp-settings-label,[data-fp-theme=light] .fp-tx-subtitle,[data-fp-theme=light] .fp-tx-muted-text,[data-fp-theme=light] .fp-candidate-id{color:var(--fp-text-label)}[data-fp-theme=light] .fp-modal-close-btn,[data-fp-theme=light] .fp-settings-btn--secondary,[data-fp-theme=light] .fp-device-load-btn,[data-fp-theme=light] .fp-tx-icon-btn{background:var(--fp-bg-element);border-color:var(--fp-border-section);color:var(--fp-text-body)}[data-fp-theme=light] .fp-modal-close-btn:hover,[data-fp-theme=light] .fp-settings-btn--secondary:hover:not(:disabled),[data-fp-theme=light] .fp-device-load-btn:hover:not(:disabled),[data-fp-theme=light] .fp-tx-icon-btn:hover:not(:disabled){background:var(--fp-accent-bg);border-color:var(--fp-accent);color:var(--fp-accent)}[data-fp-theme=light] .fp-settings-input,[data-fp-theme=light] .fp-device-select,[data-fp-theme=light] .fp-tx-filter-field input{background:var(--fp-bg-input);border-color:var(--fp-border-input);color:var(--fp-text-body)}[data-fp-theme=light] .fp-settings-input:focus,[data-fp-theme=light] .fp-device-select:focus,[data-fp-theme=light] .fp-tx-filter-field input:focus{border-color:var(--fp-accent);background:var(--fp-accent-bg)}[data-fp-theme=light] .fp-modal-btn--done,[data-fp-theme=light] .fp-settings-btn--primary,[data-fp-theme=light] .fp-tx-btn--primary{background:var(--fp-accent);border-color:var(--fp-accent);color:#fff}[data-fp-theme=light] .fp-modal-btn--done:hover:not(:disabled),[data-fp-theme=light] .fp-settings-btn--primary:hover:not(:disabled),[data-fp-theme=light] .fp-tx-btn--primary:hover:not(:disabled){background:var(--fp-accent-purple);border-color:var(--fp-accent-purple)}[data-fp-theme=light] .fp-settings-rules-version,[data-fp-theme=light] .fp-device-selected strong,[data-fp-theme=light] .fp-modal-device-name,[data-fp-theme=light] .fp-modal-device-version,[data-fp-theme=light] .fp-meta-title,[data-fp-theme=light] .fp-finger-hand-title,[data-fp-theme=light] .fp-hand-hint,[data-fp-theme=light] .fp-candidate-rank,[data-fp-theme=light] .fp-debug-mono{color:var(--fp-accent)}[data-fp-theme=light] .fp-settings-rules-version,[data-fp-theme=light] .fp-modal-device-version,[data-fp-theme=light] .fp-finger-chip{background:var(--fp-accent-bg);border-color:var(--fp-border-chip)}[data-fp-theme=light] .fp-modal-success-card,[data-fp-theme=light] .fp-status-badge--success,[data-fp-theme=light] .fp-tx-status--success{background:var(--fp-success-bg);border-color:var(--fp-success-border);color:var(--fp-success)}[data-fp-theme=light] .fp-modal-failure-card,[data-fp-theme=light] .fp-status-badge--failed,[data-fp-theme=light] .fp-tx-status--danger{background:var(--fp-error-bg);border-color:var(--fp-error-border);color:var(--fp-error-title)}[data-fp-theme] .fp-modal-panel{background:var(--fp-bg-modal);border-color:var(--fp-border);box-shadow:var(--fp-modal-shadow)}[data-fp-theme] .fp-modal-panel--split{--fp-info-bg:var(--fp-bg-info);--fp-info-fg:var(--fp-text);--fp-info-fg-muted:var(--fp-text-muted);--fp-info-icon-bg:var(--fp-accent-bg);--fp-info-sep:var(--fp-border-sep);--fp-info-badge-bg:var(--fp-badge-bg);--fp-info-border:var(--fp-border);--fp-info-card-bg:var(--fp-bg-candidate);--fp-info-card-border:var(--fp-border-section);--fp-info-accent:var(--fp-accent)}[data-fp-theme] .fp-modal-close-btn,[data-fp-theme] .fp-modal-btn--cancel,[data-fp-theme] .fp-theme-toggle{background:var(--fp-bg-element);border-color:var(--fp-border-section);color:var(--fp-text-label)}[data-fp-theme] .fp-modal-close-btn:hover,[data-fp-theme] .fp-modal-btn--cancel:hover:not(:disabled),[data-fp-theme] .fp-theme-toggle:hover{background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border);color:var(--fp-accent)}[data-fp-theme] .fp-modal-btn--primary,[data-fp-theme] .fp-modal-btn--done,[data-fp-theme] .fp-settings-btn--primary,[data-fp-theme] .fp-tx-btn--primary{background:var(--fp-accent);border-color:var(--fp-accent);color:var(--fp-accent-text)}[data-fp-theme] .fp-modal-btn--primary:hover:not(:disabled),[data-fp-theme] .fp-modal-btn--done:hover:not(:disabled),[data-fp-theme] .fp-settings-btn--primary:hover:not(:disabled),[data-fp-theme] .fp-tx-btn--primary:hover:not(:disabled){background:var(--fp-accent-hover);border-color:var(--fp-accent-hover);color:var(--fp-accent-text);box-shadow:0 0 0 3px var(--fp-focus-ring)}[data-fp-theme] .fp-modal-btn--primary:active:not(:disabled),[data-fp-theme] .fp-modal-btn--done:active:not(:disabled),[data-fp-theme] .fp-settings-btn--primary:active:not(:disabled),[data-fp-theme] .fp-tx-btn--primary:active:not(:disabled){background:var(--fp-accent-active);border-color:var(--fp-accent-active)}[data-fp-theme] .fp-modal-btn--retry{background:var(--fp-error-bg);border-color:var(--fp-error-border);color:var(--fp-error-title)}[data-fp-theme] .fp-modal-btn--retry:hover:not(:disabled){background:var(--fp-error-icon-bg)}[data-fp-theme] .fp-candidate-card{background:var(--fp-bg-candidate);border-color:var(--fp-border-candidate)}[data-fp-theme] .fp-candidate-card--selectable:hover,[data-fp-theme] .fp-candidate-card--selectable:focus-visible{background:var(--fp-selected-bg);border-color:var(--fp-selected-border);box-shadow:0 0 0 3px var(--fp-focus-ring)}[data-fp-theme] .fp-candidate-card--selectable:active{background:var(--fp-accent-bg-hover)}[data-fp-theme] .fp-candidate-select-label,[data-fp-theme] .fp-modal-mode-badge,[data-fp-theme] .fp-modal-context-item,[data-fp-theme] .fp-settings-rules-version,[data-fp-theme] .fp-finger-chip,[data-fp-theme] .fp-tx-status--info,[data-fp-theme] .fp-tx-metric--info{background:var(--fp-badge-bg);border-color:var(--fp-badge-border);color:var(--fp-badge-text)}[data-fp-theme] .fp-modal-mode-reduced-badge,[data-fp-theme] .fp-modal-profile-toggle,[data-fp-theme] .fp-finger-thumb-warning{background:var(--fp-warning-bg);border-color:var(--fp-warning-border);color:var(--fp-warning-text)}[data-fp-theme] .fp-modal-profile-toggle__input:checked~.fp-modal-profile-toggle__track{background:var(--fp-warning-bg);border-color:var(--fp-warning-border)}[data-fp-theme] .fp-modal-profile-toggle__input:checked~.fp-modal-profile-toggle__track:after{background:var(--fp-warning)}[data-fp-theme] .fp-modal-profile-toggle__label{color:var(--fp-warning-text)}[data-fp-theme] .fp-modal-success-card,[data-fp-theme] .fp-tx-status--success,[data-fp-theme] .fp-tx-metric--success{background:var(--fp-success-bg);border-color:var(--fp-success-border);color:var(--fp-success-text)}[data-fp-theme] .fp-modal-failure-card,[data-fp-theme] .fp-tx-status--danger,[data-fp-theme] .fp-tx-metric--danger{background:var(--fp-error-bg);border-color:var(--fp-error-border);color:var(--fp-error-title)}.fp-status-wrapper{background:var(--fp-bg-status);border:1px solid var(--fp-border-counter);border-radius:8px;align-items:center;gap:10px;padding:8px 14px;display:flex}.fp-status-badge{letter-spacing:.03em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.fp-status-badge--idle{background:var(--fp-neutral-bg);color:var(--fp-neutral-text)}.fp-status-badge--initializing,.fp-status-badge--capturing{background:var(--fp-badge-bg);color:var(--fp-badge-text)}.fp-status-badge--validating{background:var(--fp-warning-bg);color:var(--fp-warning-text)}.fp-status-badge--submitting{background:var(--fp-info-bg);color:var(--fp-info-text)}.fp-status-badge--success{background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-status-badge--failed{background:var(--fp-error-bg);color:var(--fp-error-title)}.fp-status-badge--cancelled,.fp-status-badge--cleanup{background:var(--fp-neutral-bg);color:var(--fp-neutral-text)}.fp-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.fp-status-dot--pulse{animation:1.2s ease-in-out infinite fp-status-pulse}@keyframes fp-status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.fp-status-attempts{color:var(--fp-text-label);margin-inline-start:auto;font-size:12px}.fp-status-attempts span{color:var(--fp-accent);font-weight:600}.fp-debug-container{border-top:1px solid var(--fp-border-sep);margin-top:8px;padding-top:8px}.fp-debug-toggle{color:var(--fp-text-dim);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 0;font-size:12px;text-decoration:underline;transition:color .15s}.fp-debug-toggle:hover{color:var(--fp-accent)}.fp-debug-list{background:var(--fp-bg-panel);border:1px solid var(--fp-border-sep);border-radius:8px;grid-template-columns:max-content 1fr;gap:4px 16px;margin:8px 0 0;padding:10px 12px;font-size:12px;display:grid}.fp-debug-dt{color:var(--fp-text-dim);white-space:nowrap;font-weight:600}.fp-debug-dd{color:var(--fp-text-muted);word-break:break-all;margin:0}.fp-debug-mono{color:var(--fp-accent);font-family:monospace;font-size:11px}.fp-debug-error{color:var(--fp-error);font-weight:500}.fp-modal-overlay{z-index:9999;background:var(--fp-bg-overlay,#050412e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fp-modal-panel{background:var(--fp-bg-modal,#131128);border:1px solid var(--fp-border,#8b5cf624);width:100%;max-width:620px;max-height:94vh;box-shadow:var(--fp-modal-shadow,0 0 60px #8b5cf614, 0 40px 80px #000000b8);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.fp-modal-panel--split{--fp-info-width:260px;--fp-info-bg:#120e28cc;--fp-info-fg:#e2deff;--fp-info-fg-muted:#a78bfa8c;--fp-info-icon-bg:#8b5cf61a;--fp-info-sep:#8b5cf614;--fp-info-badge-bg:#8b5cf614;--fp-info-border:#8b5cf624;--fp-info-card-bg:#0f0c22a6;--fp-info-card-border:#8b5cf61a;--fp-info-accent:#a78bfa;flex-direction:row;align-items:stretch;max-width:900px;overflow:hidden}.fp-modal-side{flex-direction:column;min-height:0;display:flex}.fp-modal-side--info{width:var(--fp-info-width);background:var(--fp-info-bg);color:var(--fp-info-fg);border-inline-end:1px solid var(--fp-info-border);border-radius:18px 0 0 18px;flex-direction:column;flex-shrink:0;align-items:stretch;padding:18px 14px 16px;display:flex;position:relative;overflow:hidden}.fp-modal-side--info:before,.fp-modal-side--info:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.fp-modal-side--info:before{top:-86px;background:radial-gradient(circle,#8b5cf61f 0%,#0000 70%);width:180px;height:180px;inset-inline-end:-64px}.fp-modal-side--info:after{bottom:-84px;background:radial-gradient(circle,#634fdc1a 0%,#0000 72%);width:160px;height:160px;inset-inline-start:-52px}.fp-modal-side--capture{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.fp-modal-header{border-bottom:1px solid var(--fp-border-sep,#8b5cf614);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.fp-modal-title{color:var(--fp-text-heading,#f5f3ff);margin:0 0 3px;font-size:17px;font-weight:700;line-height:1.3}.fp-modal-subtitle{color:var(--fp-text-sub);margin:0;font-size:13px}.fp-modal-close-btn{border:1px solid var(--fp-border-light,#ffffff12);width:30px;height:30px;color:var(--fp-text-sub);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.fp-modal-close-btn:hover{background:var(--fp-accent-bg,#8b5cf61a);color:var(--fp-accent,#a78bfa)}.fp-modal-body{scrollbar-width:none;flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.fp-modal-body::-webkit-scrollbar{width:0;height:0}.fp-modal-visual{justify-content:center;align-items:center;padding:12px 0 4px;display:flex;position:relative}.fp-modal-svg-icon{width:140px;height:140px}.fp-sensor-placeholder{background:var(--fp-sensor-bg);border:1.5px solid var(--fp-sensor-border);border-radius:16px;justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative;overflow:hidden}.fp-sensor-grid{background-image:radial-gradient(circle, var(--fp-sensor-grid-dot) 1px, transparent 1px);background-size:12px 12px;position:absolute;inset:0}.fp-sensor-corner{border-color:var(--fp-sensor-corner);border-style:solid;width:14px;height:14px;position:absolute}.fp-sensor-corner--tl{border-width:2px 0 0 2px;border-radius:3px 0 0;top:8px;left:8px}.fp-sensor-corner--tr{border-width:2px 2px 0 0;border-radius:0 3px 0 0;top:8px;right:8px}.fp-sensor-corner--bl{border-width:0 0 2px 2px;border-radius:0 0 0 3px;bottom:8px;left:8px}.fp-sensor-corner--br{border-width:0 2px 2px 0;border-radius:0 0 3px;bottom:8px;right:8px}.fp-sensor-scanline{background:var(--fp-sensor-scanline-bg);height:2px;box-shadow:var(--fp-sensor-scanline-shadow);animation:1.8s ease-in-out infinite fp-scan;position:absolute;left:0;right:0}@keyframes fp-scan{0%{opacity:.4;top:12%}20%{opacity:1}80%{opacity:1}to{opacity:.4;top:85%}}.fp-sensor-placeholder--submitting .fp-sensor-scanline{background:var(--fp-sensor-submit-scanline-bg);height:3px;box-shadow:var(--fp-sensor-submit-scanline-shadow);animation:.9s ease-in-out infinite fp-submit-pulse}@keyframes fp-submit-pulse{0%,to{opacity:.3;top:50%;transform:scaleX(.6)}50%{opacity:1;top:50%;transform:scaleX(1)}}.fp-sensor-placeholder--submitting .fp-sensor-corner{border-color:var(--fp-sensor-submit-corner);animation:.9s ease-in-out infinite fp-corner-blink}@keyframes fp-corner-blink{0%,to{opacity:.4}50%{opacity:1}}.fp-sensor-placeholder--validating .fp-sensor-scanline{background:var(--fp-sensor-validating-scanline-bg);box-shadow:var(--fp-sensor-validating-scanline-shadow);animation:.7s ease-in-out infinite fp-scan}.fp-sensor-placeholder--validating .fp-sensor-corner{border-color:var(--fp-sensor-validating-corner)}.fp-modal-capture-img{object-fit:contain;border:1.5px solid var(--fp-border-chip,#8b5cf659);width:160px;height:160px;box-shadow:0 0 28px var(--fp-accent-bg-hover,#8b5cf626);background:#fff;border-radius:12px;margin:0 auto;padding:10px;animation:.35s ease-out fp-img-reveal;display:block}.fp-modal-visual--compact{padding:4px 0 2px}.fp-modal-visual--compact .fp-modal-capture-img,.fp-modal-visual--compact .fp-sensor-placeholder{width:110px;height:110px}.fp-modal-visual--compact .fp-modal-svg-icon{width:100px;height:100px}@keyframes fp-img-reveal{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.fp-modal-device-row{color:var(--fp-text-sub);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.fp-modal-device-dot{background:var(--fp-accent,#a78bfa);width:6px;height:6px;box-shadow:var(--fp-device-glow,0 0 6px #a78bfa);border-radius:50%;flex-shrink:0}.fp-modal-device-name{color:var(--fp-text-name);font-weight:500}.fp-modal-device-version{background:var(--fp-accent-bg,#8b5cf61a);border:1px solid var(--fp-border-version,#8b5cf62e);color:var(--fp-text-counter);border-radius:4px;padding:1px 6px;font-size:11px}.fp-modal-failure-card{background:var(--fp-error-bg,#f871710f);border:1px solid var(--fp-error-border,#f8717147);border-radius:10px;gap:12px;padding:14px 16px;display:flex}.fp-modal-failure-icon-wrap{background:var(--fp-error-icon-bg,#f871711f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.fp-modal-failure-icon{color:var(--fp-error,#f87171);font-size:14px;font-weight:700}.fp-modal-failure-body{flex:1;min-width:0}.fp-modal-failure-title{color:var(--fp-error-title,#fca5a5);margin-bottom:4px;font-size:14px;font-weight:600}.fp-modal-failure-message{color:var(--fp-error-text,#f87171d9);margin:0 0 6px;font-size:13px;line-height:1.4}.fp-modal-failure-reasons{color:var(--fp-error-reasons,#f87171b3);margin:6px 0;padding-inline-start:16px;font-size:12px;line-height:1.6}.fp-modal-failure-hint{color:var(--fp-error,#f87171);font-size:12px;font-weight:500}.fp-modal-failure-hint--exhausted{color:var(--fp-text-sub)}.fp-modal-next-finger-card{background:var(--fp-accent-bg,#8b5cf61a);border:1px solid var(--fp-border-hint,#8b5cf652);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.fp-modal-captured-strip{border-bottom:1px solid var(--fp-border-sep,#8b5cf614);flex-flow:wrap;justify-content:center;gap:10px;padding-bottom:10px;display:flex}.fp-modal-captured-strip--persistent{background:var(--fp-bg-status,#8b5cf60d);border:1px solid var(--fp-border-hint,#8b5cf652);border-radius:10px;gap:16px;padding:12px 0 14px}.fp-modal-captured-thumb{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.fp-modal-captured-thumb-img{object-fit:cover;border:2px solid var(--fp-success-border,#4ade803d);background:#00000040;border-radius:8px;width:80px;height:90px}.fp-modal-captured-thumb-label{color:var(--fp-text-sub);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:11px;overflow:hidden}.fp-modal-captured-thumb-score{color:var(--fp-success-score,#4ade80);font-size:11px;font-weight:700}.fp-modal-captured-thumb-check{background:var(--fp-success,#4ade80);color:#0a1f0d;top:4px;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;inset-inline-end:4px}.fp-modal-next-finger-progress{color:var(--fp-text-sub);align-items:center;gap:4px;font-size:12px;display:flex}.fp-modal-next-finger-count{color:var(--fp-accent);font-size:14px;font-weight:700}.fp-modal-next-finger-done{color:var(--fp-success,#4ade80);align-items:center;gap:8px;font-size:13px;display:flex}.fp-modal-next-finger-check{font-size:15px;font-weight:700}.fp-modal-next-finger-cta{color:var(--fp-text);border-top:1px solid var(--fp-border-sep,#8b5cf614);align-items:center;gap:8px;padding-top:4px;font-size:14px;font-weight:600;display:flex}.fp-modal-next-finger-arrow{color:var(--fp-accent);font-size:16px}.fp-modal-btn--primary{background:var(--fp-accent,#a78bfa);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px 18px;font-size:14px;font-weight:700;transition:opacity .15s}.fp-modal-btn--primary:hover:not(:disabled){opacity:.88}.fp-modal-success-card{background:var(--fp-success-bg,#4ade800f);border:1px solid var(--fp-success-border,#4ade803d);border-radius:10px;gap:12px;padding:14px 16px;display:flex}.fp-modal-success-icon-wrap{background:var(--fp-success-icon-bg,#4ade801f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.fp-modal-success-icon{color:var(--fp-success,#4ade80);font-size:14px;font-weight:700}.fp-modal-success-body{flex:1;min-width:0}.fp-modal-success-title{color:var(--fp-success,#4ade80);margin-bottom:8px;font-size:14px;font-weight:600}.fp-modal-success-title--warn{color:var(--fp-warning,#fbbf24)}.fp-modal-kv-row{color:var(--fp-text-name);border-bottom:1px solid var(--fp-border-kv,#8b5cf612);justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.fp-modal-kv-row:last-child{border-bottom:none}.fp-modal-kv-row span{color:var(--fp-text-dim)}.fp-modal-kv-row strong{color:var(--fp-text-meta)}.fp-modal-kv-row--mono strong{font-family:monospace;font-size:12px}.fp-modal-truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:200px;display:inline-block;overflow:hidden}.fp-modal-candidates{flex-direction:column;gap:6px;margin-top:6px;display:flex}.fp-candidate-card{background:var(--fp-bg-candidate,#0f0c22a6);border:1px solid var(--fp-border-candidate,#4ade8033);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.fp-candidate-rank{color:var(--fp-accent,#a78bfa);min-width:24px;font-size:11px;font-weight:700}.fp-candidate-info{flex:1;min-width:0}.fp-candidate-name{color:var(--fp-text-heading,#f5f3ff);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.fp-candidate-id{color:var(--fp-text-dim);font-size:11px}.fp-candidate-score{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.fp-candidate-score-value{color:var(--fp-success-score,#4ade80);font-size:14px;font-weight:700}.fp-candidate-score-label{color:var(--fp-text-sub);font-size:10px}.fp-candidate-card--selectable{cursor:pointer;border-color:var(--fp-border-chip,#8b5cf659);outline:none;transition:background .14s,border-color .14s,box-shadow .14s}.fp-candidate-card--selectable:hover,.fp-candidate-card--selectable:focus-visible{background:var(--fp-accent-bg,#8b5cf61a);border-color:var(--fp-accent,#a78bfa);box-shadow:0 0 12px var(--fp-accent-bg-hover,#8b5cf626)}.fp-candidate-card--selectable:active{background:var(--fp-accent-bg-hover,#8b5cf626)}.fp-candidate-select-label{color:var(--fp-accent,#a78bfa);white-space:nowrap;border:1px solid var(--fp-border-chip,#8b5cf659);border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:700;transition:background .12s}.fp-candidate-card--selectable:hover .fp-candidate-select-label{background:var(--fp-accent-bg,#8b5cf61a)}.fp-mr-fingerprint-strip{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:12px;display:flex}.fp-mr-fingerprint-item{flex-direction:column;align-items:center;gap:4px;margin:0;display:flex}.fp-mr-fingerprint-img{width:110px;height:110px;margin:0}.fp-mr-fingerprint-caption{color:var(--fp-text-dim,#e2e8f099);font-size:11px}.fp-mr-meta-strip{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.fp-mr-meta-chip{border:1px solid #0000;border-radius:20px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.fp-mr-meta-chip--ok{color:#4ade80;background:#22c55e1a;border-color:#22c55e4d}.fp-mr-meta-chip--warn{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2447}.fp-mr-meta-chip--info{color:#818cf8;background:#6366f11a;border-color:#6366f14d}.fp-manual-review-banner{background:var(--fp-warning-bg,#fbbf240f);border:1px solid var(--fp-warning-border,#fbbf2442);color:var(--fp-warning,#fbbf24);border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.fp-manual-review-banner--ok{color:#4ade80;background:#22c55e12;border-color:#22c55e47}.fp-manual-review-icon{flex-shrink:0;margin-top:1px;font-size:15px}.fp-manual-review-list{scrollbar-width:thin;scrollbar-color:var(--fp-accent-bg-hover,#8b5cf626) transparent;flex-direction:column;gap:8px;max-height:340px;padding-inline-end:2px;display:flex;overflow-y:auto}.fp-enroll-consent-card{background:var(--fp-warning-bg,#fbbf240f);border:1px solid var(--fp-warning-border,#fbbf2442);border-radius:10px;gap:12px;padding:14px 16px;display:flex}.fp-enroll-consent-icon-wrap{background:var(--fp-warning-bg,#fbbf240f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.fp-enroll-consent-icon{color:var(--fp-warning,#fbbf24);font-size:15px;font-weight:800}.fp-enroll-consent-body{flex:1;min-width:0}.fp-enroll-consent-title{color:var(--fp-warning,#fbbf24);margin-bottom:5px;font-size:14px;font-weight:700}.fp-enroll-consent-message,.fp-enroll-consent-reason{color:var(--fp-warning,#fbbf24);opacity:.86;margin:0;font-size:13px;line-height:1.5}.fp-enroll-consent-reason{color:var(--fp-text-name);opacity:1;margin-top:8px}.fp-enroll-consent-details{background:var(--fp-bg-panel,#100c2499);border:1px solid var(--fp-border-sep,#8b5cf614);border-radius:10px;padding:10px 12px}.fp-mr-label{letter-spacing:.04em;min-width:38px;color:var(--fp-text-sub);opacity:.7;margin-inline-start:4px;font-size:10px;font-weight:700;display:inline-block}.fp-candidate-id--subtle{opacity:.55;font-size:10px}.fp-modal-footer{border-top:1px solid var(--fp-border-sep,#8b5cf614);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.fp-modal-btn{cursor:pointer;letter-spacing:.02em;border:1px solid #0000;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.fp-modal-btn:disabled{opacity:.35;cursor:not-allowed}.fp-modal-btn--cancel{color:var(--fp-text-sub);border-color:var(--fp-border-light,#ffffff12);background:0 0}.fp-modal-btn--cancel:hover:not(:disabled){background:var(--fp-accent-bg,#8b5cf61a);color:var(--fp-accent);border-color:var(--fp-border,#8b5cf624)}.fp-modal-btn--retry{background:var(--fp-error-bg,#f871710f);color:var(--fp-error,#f87171);border-color:var(--fp-error-border,#f8717147)}.fp-modal-btn--retry:hover:not(:disabled){background:var(--fp-error-icon-bg,#f871711f)}.fp-modal-btn--done{background:var(--fp-accent-bg,#8b5cf61a);color:var(--fp-accent,#a78bfa);border-color:var(--fp-border-chip,#8b5cf659)}.fp-modal-btn--done:hover:not(:disabled){background:var(--fp-accent-bg-hover,#8b5cf626);box-shadow:0 0 18px var(--fp-accent-bg-hover,#8b5cf626)}.fp-modal-context-strip{border-bottom:1px solid var(--fp-border-sep,#8b5cf614);background:var(--fp-bg-panel,#100c2499);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 24px 10px;display:flex}.fp-modal-mode-badge{letter-spacing:.04em;text-transform:none;color:var(--fp-info-fg);background:var(--fp-info-badge-bg);border:1px solid var(--fp-info-border);z-index:1;border-radius:10px;flex-shrink:0;justify-content:flex-start;align-self:stretch;align-items:center;gap:7px;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:700;display:flex;position:relative}.fp-modal-mode-dot{background:var(--fp-info-accent);width:7px;height:7px;box-shadow:0 0 8px var(--fp-info-accent);border-radius:50%;flex-shrink:0}.fp-modal-info-rows{scrollbar-width:none;z-index:1;flex-direction:column;flex:1;gap:7px;width:100%;min-height:0;display:flex;position:relative;overflow-y:auto}.fp-modal-info-rows::-webkit-scrollbar{width:0;height:0}.fp-modal-info-row{background:var(--fp-info-card-bg);border:1px solid var(--fp-info-card-border);border-radius:10px;flex-shrink:0;align-items:flex-start;gap:10px;padding:9px 10px;display:flex;position:relative;overflow:hidden}.fp-modal-info-row:before{content:"";background:linear-gradient(90deg, var(--fp-accent-bg-hover,#8b5cf626), transparent);top:0;height:1px;position:absolute;inset-inline:0}.fp-modal-info-icon{background:var(--fp-info-icon-bg);border:1px solid var(--fp-info-border);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;line-height:1;display:inline-flex}.fp-modal-info-text{flex-direction:column;gap:1px;min-width:0;display:flex}.fp-modal-info-label{color:var(--fp-info-fg-muted);text-transform:uppercase;letter-spacing:.09em;font-size:9.5px;font-weight:600}.fp-modal-info-value{color:var(--fp-info-fg);font-size:12px;font-weight:600;line-height:1.35}.fp-modal-profile-toggle{background:var(--fp-warning-bg,#fbbf240f);border:1px solid var(--fp-warning-border,#fbbf2442);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;margin-top:8px;padding:10px 14px;transition:background .18s;display:flex}.fp-modal-profile-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.fp-modal-profile-toggle__input{opacity:0;width:0;height:0;position:absolute}.fp-modal-profile-toggle__track{border:1px solid var(--fp-warning-border,#fbbf2442);background:#ffffff1a;border-radius:10px;flex-shrink:0;width:38px;height:20px;transition:background .2s,border-color .2s;position:relative}.fp-modal-profile-toggle__track:after{content:"";top:2px;background:#fff6;border-radius:50%;width:14px;height:14px;transition:inset-inline-start .2s,background .2s;position:absolute;inset-inline-start:2px}.fp-modal-profile-toggle__input:checked~.fp-modal-profile-toggle__track{background:var(--fp-warning-bg,#fbbf240f);border-color:var(--fp-warning,#fbbf24)}.fp-modal-profile-toggle__input:checked~.fp-modal-profile-toggle__track:after{background:var(--fp-warning,#fbbf24);inset-inline-start:calc(100% - 16px)}.fp-modal-profile-toggle__label{color:var(--fp-warning,#fbbf24);font-size:13px;font-weight:500;line-height:1.3}.fp-modal-mode-reduced-badge{color:var(--fp-warning,#fbbf24);background:var(--fp-warning-bg,#fbbf240f);border:1px solid var(--fp-warning-border,#fbbf2442);border-radius:20px;align-self:flex-start;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.fp-modal-dev-badge{letter-spacing:.02em;color:var(--fp-danger,#f45);background:var(--fp-danger-bg,#ff445514);border:1px solid var(--fp-danger-border,#ff445547);border-radius:8px;align-self:flex-start;align-items:center;gap:6px;margin-bottom:12px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.fp-modal-context-item{background:var(--fp-accent-bg,#8b5cf61a);border:1px solid var(--fp-border-sep,#8b5cf614);color:var(--fp-text-name);border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;line-height:1.5;display:inline-flex}.fp-modal-context-label{color:var(--fp-text-dim);font-size:11px;font-weight:500}.fp-modal-context-sep{color:var(--fp-text-chips-empty);font-size:10px}.fp-modal-context-value{color:var(--fp-text-meta);font-weight:600}@media (width<=680px){.fp-modal-panel--split{flex-direction:column;max-width:440px}.fp-modal-side--info{border-radius:18px 18px 0 0;width:100%;padding:12px 16px 10px;overflow:hidden}.fp-modal-mode-badge{margin-bottom:10px}.fp-modal-info-rows{flex-flow:wrap;gap:6px;overflow-y:visible}.fp-modal-info-row{border-radius:9px;flex:0 auto;gap:7px;min-width:120px;padding:8px 9px}.fp-modal-info-icon{border-radius:6px;width:26px;height:26px;font-size:13px}}@media (width<=520px){.fp-modal-panel{border-radius:14px}.fp-modal-header{padding:16px 18px 12px}.fp-modal-body{padding:16px 18px}.fp-modal-footer{padding:12px 18px 16px}.fp-modal-title{font-size:16px}.fp-modal-capture-img{width:130px;height:130px}}.fp-finger-selector{flex-direction:column;align-items:center;gap:14px;width:100%;padding:6px 0 8px;display:flex}.fp-finger-hint{color:var(--fp-text-sub);text-align:center;letter-spacing:.01em;margin:0;font-size:13px}.fp-hands-outer{flex-direction:column;align-items:center;gap:0;width:100%;display:flex}.fp-click-hint{flex-direction:column;align-items:center;gap:0;width:100%;animation:.35s fp-hint-in;display:flex}@keyframes fp-hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fp-click-hint-box{background:var(--fp-bg-modal);border:1px solid var(--fp-border-hint);box-sizing:border-box;width:100%;box-shadow:var(--fp-modal-shadow);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.fp-click-hint-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--fp-border-hint);order:999;width:0;height:0}.fp-click-hint-icon{flex-shrink:0;font-size:15px}.fp-click-hint-text{flex:1;min-width:0}.fp-click-hint-title{color:var(--fp-text-hint);margin-bottom:1px;font-size:12px;font-weight:600}.fp-click-hint-body{color:var(--fp-text-hint-body);font-size:11px}.fp-click-hint-close{color:var(--fp-text-chips-empty);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:12px;line-height:1;transition:color .15s,background .15s}.fp-click-hint-close:hover{color:var(--fp-accent);background:var(--fp-accent-bg)}.fp-finger-hands{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.fp-finger-hand-labels{box-sizing:border-box;justify-content:space-between;width:min(100%,640px);padding:0 10px;display:flex}.fp-finger-hand-title{color:var(--fp-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.fp-hands-canvas{background:var(--fp-hand-canvas-bg);border:1px solid var(--fp-border);width:min(100%,640px);box-shadow:inset 0 1px 0 var(--fp-hand-canvas-highlight), var(--fp-hand-canvas-shadow);border-radius:18px;padding:14px 12px 8px;position:relative;overflow:hidden}.fp-hands-canvas:before{content:"";pointer-events:none;background-image:linear-gradient(var(--fp-hand-canvas-grid) 1px, transparent 1px), linear-gradient(90deg, var(--fp-hand-canvas-grid) 1px, transparent 1px);background-size:36px 36px;position:absolute;inset:0}.fp-hands-svg{z-index:1;width:100%;height:auto;max-height:260px;display:block;position:relative}.fp-hands-pulse{pointer-events:none;z-index:2;border:1.5px solid var(--fp-hand-pulse);box-shadow:inset 0 0 24px var(--fp-hand-pulse-shadow);border-radius:18px;animation:2.4s ease-in-out infinite fp-hand-breathe;position:absolute;inset:0}@keyframes fp-hand-breathe{0%,to{opacity:0}50%{opacity:1}}.fp-hand-hint{min-height:16px;color:var(--fp-accent);text-align:center;letter-spacing:.04em;white-space:nowrap;opacity:.9;pointer-events:none;direction:rtl;font-size:11px;font-weight:700;line-height:1.4}@media (width<=720px){.fp-finger-hand-labels{width:100%;padding:0 4px}.fp-hands-canvas{width:100%;padding:12px 8px 6px}}.fp-finger-chips{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;min-height:26px;display:flex}.fp-finger-chips-empty{color:var(--fp-text-chips-empty);align-self:center;font-size:12px;font-style:italic}.fp-finger-chip{background:var(--fp-accent-bg);border:1px solid var(--fp-border-chip);color:var(--fp-accent);border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 6px;font-size:12px;font-weight:600;display:inline-flex}.fp-finger-chip-remove{cursor:pointer;color:var(--fp-accent);background:0 0;border:none;border-radius:50%;align-items:center;padding:0 2px;font-size:14px;line-height:1;transition:background .12s;display:flex}.fp-finger-chip-remove:hover{background:var(--fp-accent-bg-hover)}.fp-finger-counter{color:var(--fp-text-sub);text-align:center;font-size:12px}.fp-finger-counter-badge{background:var(--fp-bg-panel);border:1px solid var(--fp-border-counter);color:var(--fp-text-counter);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;transition:background .15s,color .15s;display:inline-block}.fp-finger-counter-badge--full{background:var(--fp-accent-bg);border-color:var(--fp-border-chip);color:var(--fp-accent)}.fp-finger-thumb-warning{background:var(--fp-warning-bg);border:1px solid var(--fp-warning-border);width:100%;color:var(--fp-warning);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;animation:.2s fp-warning-in;display:flex}@keyframes fp-warning-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fp-finger-thumb-warning-icon{flex-shrink:0;font-size:14px}.fp-optional-finger-toggle{background:var(--fp-toggle-bg);border:1px solid var(--fp-toggle-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 13px;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.fp-optional-finger-toggle:has(input:checked){background:var(--fp-selected-bg);border-color:var(--fp-selected-border);box-shadow:0 0 0 1px var(--fp-selected-border)}.fp-optional-finger-toggle:hover{background:var(--fp-accent-bg-hover);border-color:var(--fp-border-strong)}.fp-optional-finger-toggle__input{opacity:0;width:0;height:0;position:absolute}.fp-optional-finger-toggle__track{background:var(--fp-toggle-track);border-radius:999px;flex-shrink:0;width:34px;height:18px;transition:background .2s;position:relative}.fp-optional-finger-toggle__track:after{content:"";background:var(--fp-toggle-thumb);top:3px;border-radius:50%;width:12px;height:12px;transition:inset-inline-start .2s,background .2s;position:absolute;inset-inline-start:2px}.fp-optional-finger-toggle__input:checked~.fp-optional-finger-toggle__track{background:var(--fp-toggle-track-active)}.fp-optional-finger-toggle__input:checked~.fp-optional-finger-toggle__track:after{background:var(--fp-toggle-thumb-active);inset-inline-start:calc(100% - 14px)}.fp-optional-finger-toggle__label{color:var(--fp-text-sub);flex:1;font-size:12px;font-weight:500;transition:color .2s,font-weight .2s}.fp-optional-finger-toggle:has(input:checked) .fp-optional-finger-toggle__label{color:var(--fp-text);font-weight:600}.fp-finger-actions{justify-content:center;gap:10px;width:100%;margin-top:2px;display:flex}.fp-meta-container{margin-top:4px}.fp-meta-title{color:var(--fp-text-dim);text-transform:uppercase;letter-spacing:.09em;margin:0 0 6px;font-size:10.5px;font-weight:600}.fp-meta-table{border-collapse:collapse;border:1px solid var(--fp-border);border-radius:8px;width:100%;font-size:12px;overflow:hidden}.fp-meta-table th{text-align:start;background:var(--fp-bg-panel);color:var(--fp-text-dim);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--fp-border);padding:5px 9px;font-size:10.5px;font-weight:600}.fp-meta-table td{border-bottom:1px solid var(--fp-border-sep);vertical-align:middle;padding:5px 9px}.fp-meta-table tr:last-child td{border-bottom:none}.fp-meta-row--pass{background:var(--fp-bg-candidate)}.fp-meta-row--failed{background:var(--fp-error-bg)}.fp-meta-name{color:var(--fp-text-label)}.fp-meta-value{color:var(--fp-text-body);font-family:monospace}.fp-meta-status{white-space:nowrap}.fp-meta-pass{color:var(--fp-success);font-size:12px;font-weight:600}.fp-meta-threshold{white-space:nowrap}.fp-meta-threshold-value{font-family:monospace;font-size:12px;font-weight:600}.fp-meta-threshold-value--ok{color:var(--fp-success,#4ade80)}.fp-meta-threshold-value--fail{color:var(--fp-error,#f87171)}.fp-meta-threshold-none{color:var(--fp-text-dim);font-size:12px}.fp-meta-fail{color:var(--fp-error);cursor:help;font-size:12px;font-weight:600}.fp-device-container{flex-direction:column;gap:8px;display:flex}.fp-device-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fp-device-load-btn{border-radius:var(--fp-radius-sm,6px);border:1px solid var(--fp-border-section);background:var(--fp-bg-element);color:var(--fp-text-body);cursor:pointer;white-space:nowrap;padding:7px 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s}.fp-device-load-btn:hover:not(:disabled){background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border);color:var(--fp-accent)}.fp-device-load-btn:disabled{opacity:.5;cursor:not-allowed}.fp-device-select{border-radius:var(--fp-radius-sm,6px);border:1px solid var(--fp-border-input);background:var(--fp-bg-input);min-width:200px;color:var(--fp-text-body);outline:none;flex:1;padding:7px 10px;font-size:13px}.fp-device-select:focus{border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-device-no-devices{color:var(--fp-text-label);font-size:13px}.fp-device-error{color:var(--fp-error-title);margin:0;font-size:12px}.fp-device-selected{color:var(--fp-text-label);margin:0;font-size:12px}.fp-device-selected strong{color:var(--fp-text-heading)}.fp-settings-page{max-width:680px;color:var(--fp-text-body);margin:0 auto;padding:32px 24px;font-family:system-ui,sans-serif}.fp-settings-page-title{color:var(--fp-text-heading);margin:0 0 4px;font-size:24px;font-weight:700}.fp-settings-page-subtitle{color:var(--fp-text-label);margin:0 0 32px;font-size:14px}.fp-settings-section{background:var(--fp-bg-section);border:1px solid var(--fp-border-section);border-radius:var(--fp-radius-lg,12px);margin-bottom:20px;overflow:hidden}.fp-settings-section-header{border-bottom:1px solid var(--fp-border-sep);background:var(--fp-bg-section-header);padding:16px 20px}.fp-settings-section-title{color:var(--fp-text-heading);margin:0;font-size:14px;font-weight:600}.fp-settings-section-body{gap:var(--fp-density-gap,14px);flex-direction:column;padding:20px;display:flex}.fp-settings-field{flex-direction:column;gap:5px;display:flex}.fp-settings-field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=480px){.fp-settings-field-row{grid-template-columns:1fr}}.fp-settings-label{color:var(--fp-text-label);letter-spacing:.04em;font-size:12px;font-weight:600}.fp-settings-input{border-radius:var(--fp-radius-sm,7px);border:1px solid var(--fp-border-input);background:var(--fp-bg-input);color:var(--fp-text-body);outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}.fp-settings-input:focus{border-color:var(--fp-accent);background:var(--fp-accent-bg);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-settings-input--error{border-color:var(--fp-error)}.fp-settings-field-error{color:var(--fp-error-title);font-size:12px}.fp-settings-action-row{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.fp-settings-btn{border-radius:var(--fp-radius-sm,7px);cursor:pointer;border:none;padding:8px 16px;font-size:13px;font-weight:500;transition:background .15s,opacity .15s}.fp-settings-btn:disabled{opacity:.5;cursor:not-allowed}.fp-settings-btn--secondary{background:var(--fp-bg-element);color:var(--fp-text-body);border:1px solid var(--fp-border-section)}.fp-settings-btn--secondary:hover:not(:disabled){background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border);color:var(--fp-accent)}.fp-settings-btn--primary{background:var(--fp-accent);color:var(--fp-accent-text)}.fp-settings-btn--primary:hover:not(:disabled){background:var(--fp-accent-hover)}.fp-settings-btn--success{background:var(--fp-success);color:var(--fp-accent-text)}.fp-settings-btn--success:hover:not(:disabled){background:var(--fp-success-text)}.fp-settings-test-result{border-radius:8px;margin-top:4px;padding:10px 14px;font-size:13px;line-height:1.5}.fp-settings-test-result--ok{background:var(--fp-success-bg);color:var(--fp-success-text);border:1px solid var(--fp-success-border)}.fp-settings-test-result--err{background:var(--fp-error-bg);color:var(--fp-error-title);border:1px solid var(--fp-error-border)}.fp-settings-rules-list{grid-template-columns:1fr;gap:8px;margin-top:10px;display:grid}.fp-settings-rule-item{border:1px solid var(--fp-border-sep);border-radius:var(--fp-radius-sm,7px);background:var(--fp-bg-element);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.fp-settings-rule-label{color:var(--fp-text-label);font-size:12px}.fp-settings-rule-value{color:var(--fp-text-heading);text-align:left;font-size:12px;font-weight:600}.fp-settings-save-banner{text-align:center;border-radius:8px;padding:12px 16px;font-size:13px}.fp-settings-save-banner--ok{background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-settings-save-banner--err{background:var(--fp-error-bg);color:var(--fp-error-title)}.fp-project-info{background:var(--fp-bg-element);border:1px solid var(--fp-border-section);border-radius:var(--fp-radius-md,10px);flex-direction:column;gap:12px;margin-top:14px;padding:16px;display:flex}.fp-project-info-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.fp-project-info-row{grid-template-columns:1fr}}.fp-project-info-value{color:var(--fp-text);word-break:break-all;font-size:14px}.fp-project-info-id{color:var(--fp-text-label);font-family:monospace;font-size:11px}.fp-project-subsection-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fp-text-label);border-bottom:1px solid var(--fp-border-sep);margin-top:4px;padding-bottom:4px;font-size:12px;font-weight:700}.fp-project-status-badge{border-radius:999px;align-items:center;width:fit-content;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.fp-project-status-badge--active{background:var(--fp-success-bg);color:var(--fp-success-text);border:1px solid var(--fp-success-border)}.fp-project-status-badge--inactive{background:var(--fp-error-bg);color:var(--fp-error-title);border:1px solid var(--fp-error-border)}.fp-project-bool-badge{border-radius:999px;align-items:center;width:fit-content;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.fp-project-bool-badge--yes{background:var(--fp-badge-bg);color:var(--fp-badge-text);border:1px solid var(--fp-badge-border)}.fp-project-bool-badge--no{background:var(--fp-neutral-bg);color:var(--fp-neutral-text);border:1px solid var(--fp-neutral-border)}.fp-project-tags{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.fp-project-tag{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.fp-project-tag--mandatory{background:var(--fp-badge-bg);color:var(--fp-badge-text);border:1px solid var(--fp-badge-border)}.fp-project-tag--optional{background:var(--fp-neutral-bg);color:var(--fp-neutral-text);border:1px solid var(--fp-neutral-border)}.fp-project-tag--role{background:var(--fp-warning-bg);color:var(--fp-warning-text);border:1px solid var(--fp-warning-border)}.fp-auth-page{width:100%;color:var(--fp-text-body);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.fp-auth-header,.fp-auth-section-head,.fp-auth-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.fp-auth-header{align-items:flex-start;margin-bottom:18px}.fp-auth-header h1{color:var(--fp-text-heading);margin:0 0 4px;font-size:22px;line-height:1.2}.fp-auth-header p{color:var(--fp-text-label);margin:0;font-size:13px}.fp-auth-mode{border:1px solid var(--fp-border-chip);background:var(--fp-bg-element);min-height:30px;color:var(--fp-text-label);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.fp-auth-mode--apiKey,.fp-auth-mode--bearer{border-color:var(--fp-success-border);background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-auth-mode--none{border-color:var(--fp-warning-border);background:var(--fp-warning-bg);color:var(--fp-warning-text)}.fp-auth-banner{border-radius:10px;margin-bottom:14px;padding:11px 13px;font-size:13px;line-height:1.45}.fp-auth-banner--ok{border:1px solid var(--fp-success-border);background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-auth-banner--err{border:1px solid var(--fp-error-border);background:var(--fp-error-bg);color:var(--fp-error-title)}.fp-auth-section{border:1px solid var(--fp-border-section);background:var(--fp-bg-section);border-radius:12px;margin-bottom:16px;padding:16px}.fp-auth-section-head{margin-bottom:14px}.fp-auth-section-head h2{color:var(--fp-text-heading);margin:0;font-size:15px;line-height:1.2}.fp-auth-subtle{color:var(--fp-text-label);font-size:12px;font-weight:650}.fp-auth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.fp-auth-field{flex-direction:column;gap:6px;min-width:0;display:flex}.fp-auth-field span,.fp-auth-check span{color:var(--fp-text-label);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.fp-auth-field input{border:1px solid var(--fp-border-input);background:var(--fp-bg-input);width:100%;min-width:0;height:38px;color:var(--fp-text-body);font:inherit;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.fp-auth-field input:focus{border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-auth-check{align-self:end;align-items:center;gap:8px;min-height:38px;display:flex}.fp-auth-check input{width:16px;height:16px;accent-color:var(--fp-accent)}.fp-auth-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:14px}.fp-auth-btn,.fp-auth-segment-btn,.fp-auth-client-pill{border:1px solid var(--fp-border-section);background:var(--fp-bg-element);color:var(--fp-text-body);cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.fp-auth-btn{min-height:34px;font:inherit;border-radius:8px;padding:0 14px;font-size:13px;font-weight:700}.fp-auth-btn:hover:not(:disabled),.fp-auth-segment-btn:hover:not(:disabled),.fp-auth-client-pill:hover:not(:disabled){background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border);color:var(--fp-accent)}.fp-auth-btn:disabled{opacity:.55;cursor:not-allowed}.fp-auth-btn--primary{background:var(--fp-accent);border-color:var(--fp-accent);color:var(--fp-accent-text)}.fp-auth-btn--primary:hover:not(:disabled){background:var(--fp-accent-hover);border-color:var(--fp-accent-hover);color:var(--fp-accent-text);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-auth-btn--danger{border-color:var(--fp-error-border);background:var(--fp-error-bg);color:var(--fp-error-title)}.fp-auth-segment{border:1px solid var(--fp-border-section);background:var(--fp-bg-element);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(100%,420px);padding:4px;display:inline-grid}.fp-auth-segment-btn{min-height:32px;font:inherit;border-radius:7px;font-size:12px;font-weight:800}.fp-auth-segment-btn--active{border-color:var(--fp-accent);background:var(--fp-accent-bg);color:var(--fp-accent)}.fp-auth-client-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.fp-auth-client-pill{max-width:220px;min-height:48px;font:inherit;text-align:start;border-radius:9px;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 10px;display:inline-flex}.fp-auth-client-pill strong{color:var(--fp-text-heading);word-break:break-all;font-size:12px}.fp-auth-client-pill span{color:var(--fp-text-label);font-size:11px}.fp-auth-secret-panel{border:1px solid var(--fp-warning-border);background:var(--fp-warning-bg);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:14px;padding:12px;display:flex}.fp-auth-secret-panel div:first-child{gap:6px;min-width:0;display:grid}.fp-auth-secret-panel span{color:var(--fp-warning-text);text-transform:uppercase;font-size:11px;font-weight:800}.fp-auth-secret-panel code,.fp-auth-table code{word-break:break-all;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:12px}.fp-auth-secret-panel code{color:var(--fp-text-heading)}.fp-auth-table-wrap{border:1px solid var(--fp-border-section);border-radius:10px;margin-top:14px;overflow-x:auto}.fp-auth-table{border-collapse:collapse;width:100%;font-size:13px}.fp-auth-table thead{background:var(--fp-bg-section-header)}.fp-auth-table th,.fp-auth-table td{border-bottom:1px solid var(--fp-border-sep);text-align:start;vertical-align:top;padding:11px 12px}.fp-auth-table th{color:var(--fp-text-label);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:800}.fp-auth-table td{color:var(--fp-text-body)}.fp-auth-table td:first-child,.fp-auth-table td:nth-child(5){gap:3px;display:grid}.fp-auth-table td:first-child span,.fp-auth-table td:nth-child(5) span{color:var(--fp-text-label);font-size:12px}.fp-auth-empty{text-align:center!important;color:var(--fp-text-label)!important;padding:28px 12px!important}.fp-auth-status{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.fp-auth-status--on{border:1px solid var(--fp-success-border);background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-auth-status--off{border:1px solid var(--fp-neutral-border);background:var(--fp-neutral-bg);color:var(--fp-neutral-text)}@media (width<=720px){.fp-auth-header,.fp-auth-section-head,.fp-auth-secret-panel{flex-direction:column;align-items:stretch}.fp-auth-grid,.fp-auth-segment{grid-template-columns:1fr}}.fp-tx-page{width:100%;color:var(--fp-text-body);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.fp-tx-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.fp-tx-title{color:var(--fp-text-heading);margin:0 0 4px;font-size:22px;line-height:1.2}.fp-tx-subtitle{color:var(--fp-text-label);margin:0;font-size:13px}.fp-tx-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fp-tx-count{border:1px solid var(--fp-border-section);height:32px;color:var(--fp-text-label);background:var(--fp-bg-section);border-radius:8px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.fp-tx-btn,.fp-tx-icon-btn{border:1px solid var(--fp-border-section);background:var(--fp-bg-element);color:var(--fp-text-body);cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.fp-tx-btn{min-height:34px;font:inherit;border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}.fp-tx-icon-btn{border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.fp-tx-btn:hover:not(:disabled),.fp-tx-icon-btn:hover:not(:disabled){background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border);color:var(--fp-accent)}.fp-tx-btn:disabled,.fp-tx-icon-btn:disabled{opacity:.55;cursor:not-allowed}.fp-tx-btn--primary{background:var(--fp-accent);border-color:var(--fp-accent);color:var(--fp-accent-text)}.fp-tx-btn--primary:hover:not(:disabled){background:var(--fp-accent-hover);border-color:var(--fp-accent-hover);color:var(--fp-accent-text);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-tx-btn--ghost{background:0 0}.fp-tx-spin{animation:.8s linear infinite fp-tx-spin}@keyframes fp-tx-spin{to{transform:rotate(360deg)}}.fp-tx-filter-panel{border:1px solid var(--fp-border-section);background:var(--fp-bg-section);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:16px;padding:16px;display:grid}.fp-tx-filter-field{flex-direction:column;gap:6px;display:flex}.fp-tx-filter-field span{color:var(--fp-text-label);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.fp-tx-filter-field input{border:1px solid var(--fp-border-input);background:var(--fp-bg-input);width:100%;min-width:0;height:36px;color:var(--fp-text-body);font:inherit;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.fp-tx-filter-field input:focus{border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-focus-ring)}.fp-tx-filter-actions{align-items:center;gap:8px;display:flex}.fp-tx-error-banner{border:1px solid var(--fp-error-border);background:var(--fp-error-bg);color:var(--fp-error-title);border-radius:10px;margin-bottom:14px;padding:11px 13px;font-size:13px;line-height:1.45}.fp-tx-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.fp-tx-table-card{border:1px solid var(--fp-border-section);background:var(--fp-bg-section);border-radius:12px;overflow:hidden}.fp-tx-detail-overlay{z-index:8888;background:var(--fp-bg-overlay,#050412d9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fp-tx-detail-modal{border:1px solid var(--fp-border-section);background:var(--fp-bg-section);width:100%;max-width:740px;max-height:90vh;box-shadow:var(--fp-modal-shadow);border-radius:16px;flex-direction:column;animation:.2s ease-out fp-tx-modal-in;display:flex;overflow:hidden}@keyframes fp-tx-modal-in{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.fp-tx-table-wrapper{overflow-x:auto}.fp-tx-table{border-collapse:collapse;width:100%;font-size:13px}.fp-tx-table thead{background:var(--fp-bg-section-header)}.fp-tx-table th,.fp-tx-table td{border-bottom:1px solid var(--fp-border-sep);text-align:start;vertical-align:middle;padding:12px 14px}.fp-tx-table th{color:var(--fp-text-label);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:800}.fp-tx-row{transition:background .12s}.fp-tx-row:hover,.fp-tx-row--selected{background:var(--fp-selected-bg)}.fp-tx-row--selected td:first-child{border-inline-start:3px solid var(--fp-accent);padding-inline-start:11px}.fp-tx-link-cell{max-width:260px;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:inline-flex}.fp-tx-link-cell strong,.fp-tx-main-text{color:var(--fp-text-heading);font-weight:650}.fp-tx-link-cell span,.fp-tx-muted-text{color:var(--fp-text-label);font-size:12px}.fp-tx-code{color:var(--fp-text-dim);word-break:break-all;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:12px}.fp-tx-date{color:var(--fp-text-label);white-space:nowrap;font-size:12px}.fp-tx-status{border:1px solid var(--fp-border-chip);background:var(--fp-bg-element);min-height:24px;color:var(--fp-text-body);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.fp-tx-status--success{border-color:var(--fp-success-border);background:var(--fp-success-bg);color:var(--fp-success-text)}.fp-tx-status--info{border-color:var(--fp-info-border);background:var(--fp-info-bg);color:var(--fp-info-text)}.fp-tx-status--danger{border-color:var(--fp-error-border);background:var(--fp-error-bg);color:var(--fp-error-title)}.fp-tx-skeleton-row td{padding:15px 14px}.fp-tx-skeleton{background:linear-gradient(90deg, var(--fp-bg-element), var(--fp-bg-element-hover), var(--fp-bg-element));background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s ease-in-out infinite fp-tx-shimmer;display:block}@keyframes fp-tx-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fp-tx-empty{text-align:center;color:var(--fp-text-label);padding:44px 20px}.fp-tx-empty p{color:var(--fp-text-heading);margin:0 0 4px;font-weight:700}.fp-tx-empty--small{border:1px dashed var(--fp-border-section);border-radius:10px;padding:20px}.fp-tx-pagination{border-top:1px solid var(--fp-border-sep);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:12px 16px;display:flex}.fp-tx-page-btn{border:1px solid var(--fp-border-section);background:var(--fp-bg-element);min-width:32px;height:32px;color:var(--fp-text-body);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.fp-tx-page-btn:hover:not(:disabled){background:var(--fp-bg-element-hover);border-color:var(--fp-selected-border)}.fp-tx-page-btn--active{background:var(--fp-accent);border-color:var(--fp-accent);color:#fff;cursor:default}.fp-tx-page-btn:disabled{opacity:.4;cursor:not-allowed}.fp-tx-page-ellipsis{width:32px;height:32px;color:var(--fp-text-label);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.fp-tx-detail-drawer{flex-direction:column;display:flex}.fp-tx-detail-header{border-bottom:1px solid var(--fp-border-sep);background:var(--fp-bg-section-header);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.fp-tx-detail-header h2{color:var(--fp-text-heading);word-break:break-word;margin:3px 0 4px;font-size:18px}.fp-tx-detail-header p{color:var(--fp-text-label);margin:0;font-size:13px}.fp-tx-kicker,.fp-tx-section-title{color:var(--fp-accent);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.fp-tx-detail-loading{color:var(--fp-text-label);align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.fp-tx-detail-scroll{flex:1;padding:16px;overflow-y:auto}.fp-tx-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.fp-tx-metric{border:1px solid var(--fp-border-section);background:var(--fp-bg-element);border-radius:10px;min-width:0;padding:12px}.fp-tx-metric span{color:var(--fp-text-label);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.fp-tx-metric strong{color:var(--fp-text-heading);word-break:break-word;font-size:15px}.fp-tx-metric--success{border-color:var(--fp-success-border);background:var(--fp-success-bg)}.fp-tx-metric--danger{border-color:var(--fp-error-border);background:var(--fp-error-bg)}.fp-tx-metric--info{border-color:var(--fp-info-border);background:var(--fp-info-bg)}.fp-tx-detail-section{border-top:1px solid var(--fp-border-sep);padding:14px 0}.fp-tx-detail-section:first-of-type{border-top:0;padding-top:0}.fp-tx-detail-rows,.fp-tx-request-meta{gap:8px;margin-top:10px;display:grid}.fp-tx-detail-row{grid-template-columns:minmax(110px,.42fr) minmax(0,1fr);align-items:start;gap:10px;display:grid}.fp-tx-detail-row span{color:var(--fp-text-label);font-size:12px;font-weight:650}.fp-tx-detail-row strong{color:var(--fp-text-body);font-size:12px;line-height:1.45}.fp-tx-request-list{gap:12px;margin-top:12px;display:grid}.fp-tx-request-card{border:1px solid var(--fp-border-section);background:var(--fp-bg-section-header);border-radius:12px;overflow:hidden}.fp-tx-request-head{border-bottom:1px solid var(--fp-border-sep);justify-content:space-between;align-items:flex-start;gap:12px;padding:13px 14px;display:flex}.fp-tx-request-head h3{color:var(--fp-text-heading);word-break:break-all;margin:4px 0 0;font-size:13px}.fp-tx-request-meta{margin:0;padding:12px 14px}.fp-tx-timeline{gap:0;padding:4px 14px 14px;display:grid}.fp-tx-timeline-event{grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px 0;display:grid;position:relative}.fp-tx-timeline-event:not(:last-child):before{content:"";background:var(--fp-border-sep);inset-inline-start:5px;width:1px;position:absolute;top:22px;bottom:-4px}.fp-tx-timeline-dot{z-index:1;border:2px solid var(--fp-border-chip);background:var(--fp-bg-section);border-radius:999px;width:11px;height:11px;margin-top:4px;position:relative}.fp-tx-timeline-dot--success{border-color:var(--fp-success)}.fp-tx-timeline-dot--info{border-color:var(--fp-accent)}.fp-tx-timeline-dot--danger{border-color:var(--fp-error)}.fp-tx-timeline-title{color:var(--fp-text-heading);justify-content:space-between;gap:10px;font-size:12px;display:flex}.fp-tx-timeline-title span{color:var(--fp-text-label);flex-shrink:0;font-size:11px}.fp-tx-timeline-event p{color:var(--fp-text-label);margin:4px 0 0;font-size:12px;line-height:1.45}.fp-tx-timeline-meta{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.fp-tx-timeline-meta span{background:var(--fp-neutral-bg);color:var(--fp-neutral-text);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.fp-tx-timeline-error{color:var(--fp-error-title)!important}[dir=rtl] .fp-tx-page-btn svg{transform:scaleX(-1)}@media (width<=900px){.fp-tx-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-tx-filter-actions{grid-column:1/-1}}@media (width<=640px){.fp-tx-header{flex-direction:column}.fp-tx-header-actions{justify-content:flex-start}.fp-tx-filter-panel,.fp-tx-summary-grid{grid-template-columns:1fr}.fp-tx-detail-row{grid-template-columns:1fr;gap:3px}}.fp-fingerprint-image{border-radius:var(--fp-radius-sm,6px);background-color:var(--fp-bg-section);border:1px solid var(--fp-border-section);justify-content:center;align-items:center;min-width:80px;min-height:80px;display:inline-flex;position:relative;overflow:hidden}.fp-fingerprint-image__img{object-fit:contain;width:100%;height:100%;display:block}.fp-fingerprint-image[data-state=loading]{opacity:.7}.fp-fingerprint-image__spinner{border:3px solid var(--fp-border-section);border-top-color:var(--fp-accent);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite fp-spin;display:block}@keyframes fp-spin{to{transform:rotate(360deg)}}.fp-fingerprint-image[data-state=error]{background:var(--fp-error-bg);border-color:var(--fp-error-border);flex-direction:column;gap:10px}.fp-fingerprint-image__error{max-width:min(220px,100% - 24px);color:var(--fp-error-title);text-align:center;word-break:break-word;padding:10px;font-size:.76rem;font-weight:600;line-height:1.45}.fp-fingerprint-image__reload{border:1px solid var(--fp-selected-border);background:var(--fp-bg-section);width:38px;height:38px;color:var(--fp-accent);cursor:pointer;opacity:0;border-radius:999px;justify-content:center;align-items:center;font-size:22px;font-weight:700;line-height:1;transition:opacity .16s,transform .16s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%,8px)scale(.96);box-shadow:0 10px 24px #00000047}.fp-fingerprint-image__reload:after{content:"";position:absolute;inset:-10px}.fp-fingerprint-image__reload-icon{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .16s}.fp-fingerprint-image[data-state=error]:hover .fp-fingerprint-image__reload,.fp-fingerprint-image[data-state=error]:focus-within .fp-fingerprint-image__reload{opacity:1;transform:translate(-50%)scale(1)}.fp-fingerprint-image__reload:hover,.fp-fingerprint-image__reload:focus-visible{background:var(--fp-accent-bg-hover);border-color:var(--fp-accent);box-shadow:0 0 0 3px var(--fp-focus-ring), 0 12px 26px #00000052;outline:none}.fp-fingerprint-image__reload:hover .fp-fingerprint-image__reload-icon,.fp-fingerprint-image__reload:focus-visible .fp-fingerprint-image__reload-icon{transform:rotate(45deg)}
