body.capture-page{min-height:0;height:100vh;height:100dvh;overflow:hidden;background:#0d1310}.capture-shell{width:min(780px,100%);height:100vh;height:100dvh;margin:0 auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:#edf5ef}.capture-shell .camera-stage{display:flex;flex-direction:column;height:100%;min-height:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none}.capture-toolbar{flex:0 0 auto;padding:10px 12px;background:#141d18}.capture-menu{display:flex;align-items:center;gap:8px;margin-bottom:8px}.capture-menu .segmented{flex:1;background:#25312a}.capture-menu .segment-button{min-height:36px;padding:6px;color:#b6c6bc}.capture-menu .segment-button.active{color:#12271b;background:#dcefe2}.capture-shell .stage-tool-button{flex:0 0 auto;width:36px;height:36px;text-decoration:none}.capture-shell .overlay-row{align-items:center}.capture-shell .overlay-chip{min-width:0;border:0;background:transparent;padding:0;font-size:12px}.capture-shell .overlay-chip svg{flex-shrink:0;width:16px;height:16px}.capture-shell .stage-tools{gap:6px}.viewfinder{position:relative;flex:1 1 0;min-height:0;overflow:hidden;background:#080d0a}.capture-shell .camera-stage video{min-height:0;object-fit:contain}.capture-shell .face-guide{width:min(54%,300px);max-height:76%;top:48%}.capture-shell .placeholder-title{font-size:18px}.capture-shell .placeholder-copy{line-height:1.8;font-size:12px}.capture-shell .debug-overlay{position:absolute;top:8px;left:8px;z-index:2;pointer-events:none;font-size:10px}.capture-guidance{position:absolute;bottom:12px;left:12px;right:12px;pointer-events:none}.capture-shell .step-strip{display:flex;justify-content:center;margin:0 0 8px;gap:6px}.capture-shell .step-item{min-height:0;padding:5px 9px;background:#20362ddd;color:#d5e6dc}.capture-shell .step-item.done{background:#19724ddd}.capture-shell .step-item.active{background:#e0f0e7;color:#134a34}.capture-shell .action-banner{font-size:15px;padding:9px 14px}.capture-dock{flex:0 0 auto;padding:12px 16px;background:#17231c;max-height:49%;overflow-y:auto}.capture-shell .button{min-height:42px}.capture-shell .button-primary{background:#d9efdf;color:#133b24}.capture-shell .button-primary:hover:not(:disabled){background:#bde3c9}.capture-shell .button-secondary{background:#29392f;border-color:#506357;color:#ecf5ee}.capture-shell .button-danger{background:#7c302d;border-color:#a45550;color:#fff0ee}.start-controls{display:grid;gap:9px;text-align:center}.operation-summary{color:#d4e5d9;font-size:13px}.capture-disclaimer{color:#9fb3a7;font-size:10px}.capture-shell .commitment-box{margin:0;padding:0;border:0;background:transparent}.commitment-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;margin-bottom:9px}.capture-shell .block-label{margin:0;color:#a9c5b4;font-size:11px;font-weight:500}.code-label{color:#a9c5b4;font-size:11px}.capture-shell .random-code{display:inline;margin:0 0 0 4px;color:#ecf9ee;font-size:17px;letter-spacing:1px}.reading-prompter{display:none;flex-direction:column;position:absolute;z-index:3;top:12px;left:12px;right:12px;padding:12px 14px;max-height:46%;overflow:hidden;border:1px solid #76938566;border-radius:10px;background:#101d17e8}.reading-prompter .commitment-heading{flex:0 0 auto}.capture-shell #commitment-text{min-height:0;margin:0;color:#fff8e6;font-size:clamp(17px,2.6vw,21px);line-height:1.65;max-height:min(6.6em,24dvh);overflow-y:auto;overscroll-behavior:contain}.capture-shell .camera-stage[data-phase=CAPTURE_READY] .reading-prompter,.capture-shell .camera-stage[data-phase=RECORDING] .reading-prompter{display:flex}.capture-shell .camera-stage[data-phase=CAPTURE_READY] .debug-overlay,.capture-shell .camera-stage[data-phase=RECORDING] .debug-overlay{inset:auto 8px 8px auto}.recognition-details{margin-top:5px;color:#a9b9af;font-size:11px}.recognition-details summary{cursor:pointer;padding:4px 0}.recognition-details p{margin:4px 0;font-size:11px;line-height:1.5}.capture-shell .session-meta{display:none}.reading-hint{display:block;margin-top:8px;color:#a9c5b4;font-size:11px}.reading-char{transition:color .18s ease,background-color .18s ease}.reading-char.read-confirmed{color:#80edaf;background:#29613a66}.reading-char.read-tentative{color:#ffe49b;background:#876a273d}.reading-progress{margin-top:7px;color:#bce7cd;font-size:12px;line-height:1.5}.recognized-text{margin-top:3px;color:#a9b9af;font-size:11px;line-height:1.45;max-height:3em;overflow-y:auto;overflow-wrap:anywhere}.speech-consent{display:flex;align-items:flex-start;gap:6px;margin-top:9px;color:#c0d0c6;font-size:11px;line-height:1.5}.speech-consent input{flex-shrink:0;margin:2px 0;accent-color:#70d4a5}.capture-shell .recording-panel{margin:9px 0 0;padding-top:9px;border-top:1px solid #304438}.capture-shell .recording-panel.visible{display:flex;align-items:center;justify-content:space-between;gap:10px}.capture-shell .recording-head{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:0;margin:0;color:#bed2c5;font-size:11px}.capture-shell .timer{color:#eef8ef;font-size:23px;font-variant-numeric:tabular-nums}.capture-shell .recording-buttons{flex-wrap:nowrap}.capture-shell .recording-buttons .button{min-height:40px;padding:8px 13px}.capture-shell #preview-actions{flex-wrap:nowrap}.capture-shell #preview-actions .button{flex:1}.capture-shell .camera-stage .preview-video{z-index:4;margin:0;max-height:none;border-radius:0;transform:none;background:#080d0a}.capture-shell .result-panel{padding:0;border:0;background:transparent;color:#eef7f1}.capture-shell .metric-grid{gap:6px;margin-top:9px}.capture-shell .metric{background:#26382d;padding:7px 9px}.capture-shell .metric-label{color:#aac1b2}.capture-shell .metric-value{margin-top:3px;font-size:12px}.capture-shell .error-box{margin:0 0 10px}.capture-shell .camera-stage:not([data-phase=IDLE]):not([data-phase=ERROR]):not([data-phase=RESULT]) .start-controls{display:none}.capture-shell .camera-stage:not([data-phase=CAPTURE_READY]):not([data-phase=RECORDING]):not([data-phase=PREVIEW]) #commitment-section,.capture-shell .camera-stage:not([data-phase=CAPTURE_READY]):not([data-phase=RECORDING]) #recording-panel{display:none}.capture-shell .camera-stage[data-phase=RECORDING] .speech-consent,.capture-shell .camera-stage[data-phase=PREVIEW] .speech-consent,.capture-shell .camera-stage[data-phase=PREVIEW] #commitment-text,.capture-shell .camera-stage[data-phase=PREVIEW] .commitment-heading,.capture-shell .camera-stage[data-phase=PREVIEW] .reading-hint{display:none}.capture-shell .camera-stage[data-phase=PREVIEW] #preview-actions{margin-top:10px}.capture-shell .camera-stage:not([data-phase=LIVENESS_RUNNING]) .capture-guidance{display:none}.capture-shell .camera-stage[data-phase=RECORDING] #record-button,.capture-shell .camera-stage:not([data-phase=RECORDING]) #stop-record-button{display:none}.capture-shell .camera-stage[data-phase=RECORDING] .timer{color:#ffb0a6}.capture-shell .camera-stage[data-phase=RESULT] .start-controls{margin-top:10px}.capture-shell .camera-stage[data-phase=RESULT] .operation-summary,.capture-shell .camera-stage[data-phase=RESULT] .capture-disclaimer{display:none}.capture-shell .camera-stage[data-phase=CAPTURE_READY] .face-guide,.capture-shell .camera-stage[data-phase=RECORDING] .face-guide{opacity:0}.capture-settings{width:min(420px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:20px;color:#1c2421;border:1px solid #d9ded9;border-radius:12px;overflow-y:auto}.capture-settings::backdrop{background:#030805bb}.settings-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.settings-heading h2{margin:0;font-size:20px}.capture-settings .field{margin-top:14px}.capture-settings .field input,.capture-settings .field select{font-size:16px}.settings-meta{font-size:12px;color:#68736e;line-height:1.6}.capture-settings #camera-permission{display:block}.capture-settings #done-settings{width:100%;margin-top:16px}.capture-settings .button-primary{color:#fff;background:#19724d}.capture-shell button:focus-visible,.capture-shell a:focus-visible{outline:2px solid #70d4a5;outline-offset:2px}@media (max-height: 640px){.capture-toolbar{padding:6px 10px}.capture-menu{margin-bottom:4px}.capture-dock{padding:9px 12px}.reading-prompter{top:8px;left:8px;right:8px;padding:8px 10px;max-height:60%}.capture-shell #commitment-text{font-size:16px;line-height:1.5}.capture-shell .recording-panel{margin-top:5px;padding-top:5px}}@media (min-width: 600px) and (max-height: 520px){.capture-shell .camera-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);grid-template-rows:auto minmax(0,1fr)}.capture-toolbar{grid-column:1 / -1}.capture-dock{max-height:100%}}.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.portal-brand{font-size:17px;font-weight:700;letter-spacing:.04em}.portal-brand span{font-size:12px;color:#b4c9bc;font-weight:400;margin-left:6px}#member-name{display:block;margin-top:4px;color:#a9c5b4;font-size:11px}.verification-steps{display:flex;gap:5px;list-style:none;padding:0;margin:0 0 10px}.verification-steps li{flex:1;padding:8px 3px;color:#91a599;font-size:11px;text-align:center;border-radius:6px;background:#243128}.verification-steps li span{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:4px;border:1px solid currentColor;border-radius:50%}.verification-steps .active{background:#d9efdf;color:#173d27}.verification-steps .done{color:#8de6b0}.portal-dialog{width:min(460px,calc(100% - 28px));max-height:calc(100dvh - 30px);padding:24px;border:1px solid #d5dfd8;border-radius:18px;background:#f8faf7;color:#213a2d;overflow-y:auto}.portal-dialog::backdrop{background:#07140ed9}.portal-dialog h2{font-size:24px;margin:10px 0 12px}.dialog-eyebrow{font-size:11px;color:#67796e;letter-spacing:.08em}.dialog-description,.dialog-footnote{font-size:13px;color:#647569;line-height:1.7}.dialog-footnote{margin-bottom:0;font-size:11px;text-align:center}.portal-dialog .field{margin-top:16px}.portal-dialog input:not([type=checkbox]){font-size:16px;background:#fff}.portal-dialog .button-primary{color:#fff;background:#226344;width:100%}.portal-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;margin:18px 0 12px}.portal-check input{margin-top:4px;accent-color:#226344}.dialog-error{color:#a43832;font-size:12px;line-height:1.5}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.agreement-dialog[open]{display:flex;flex-direction:column;height:min(700px,calc(100dvh - 30px));overflow:hidden}.agreement-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;background:#fff;border:1px solid #dce4dd;border-radius:8px;font-size:14px;line-height:1.85;overflow-wrap:anywhere}.agreement-body p{margin:0 0 12px}.agreement-body pre{white-space:pre-wrap}.agreement-actions,.dialog-top,.agreement-dialog h2{flex-shrink:0}.records-dialog{width:min(540px,calc(100% - 28px))}.personal-record{padding:16px 0;border-bottom:1px solid #d9e2da;font-size:14px}.personal-record span{float:right;font-size:12px}.personal-record p{color:#6a7b70;font-size:12px;line-height:1.7;margin-bottom:0}.record-pass{color:#237548}#records-more{width:100%;margin-top:16px}#result-copy{font-size:13px;color:#aac5b4}@media (max-height: 640px){.portal-heading{margin-bottom:6px}.verification-steps{margin-bottom:5px}.verification-steps li{padding:5px 2px}.portal-dialog{padding:18px}}
