:root{--flonk-lime-50: #fbfdef;--flonk-lime-100: #f4f7dc;--flonk-lime-200: #f2f5cc;--flonk-lime-300: #f1fd81;--flonk-lime-400: #eaf37e;--flonk-lime-500: #e2ec68;--flonk-lime-600: #b6cd3c;--flonk-lime-700: #7f8c33;--flonk-lime-800: #6f7d2a;--flonk-lime-900: #5c661c;--flonk-lime-electric: #e3fb04;--flonk-teal-400: #5ec0ba;--flonk-ink-950: #000000;--flonk-ink-900: #0b0b0b;--flonk-ink-850: #0c0c0c;--flonk-ink-800: #121212;--flonk-ink-700: #151515;--flonk-ink-600: #1a1a1a;--flonk-ink-500: #202020;--flonk-ink-dim: #5d5d5d;--flonk-ink-soft: #646464;--flonk-gray-400: #8f8f8f;--flonk-gray-300: #b0b0b0;--flonk-gray-200: #c6c6c6;--flonk-gray-150: #d5d5d5;--flonk-gray-100: #e9ebee;--flonk-gray-75: #f4f4f2;--flonk-gray-50: #fbfcf3;--flonk-white: #ffffff;--flonk-green-700: #2f7d32;--flonk-green-300: #7bc47f;--flonk-green-200: #bcd9bd;--flonk-green-50: #eef6ee;--flonk-green-900: #324733;--flonk-green-950: #1f271f;--flonk-amber-700: #9a5b00;--flonk-amber-300: #e0a962;--flonk-amber-200: #e8cfa6;--flonk-amber-50: #fdf3e6;--flonk-amber-900: #503f2a;--flonk-amber-950: #2b241c;--flonk-red-700: #b3261e;--flonk-red-300: #f2837c;--flonk-red-200: #eec0bd;--flonk-red-50: #fdeceb;--flonk-red-900: #553432;--flonk-red-950: #2d201f;--flonk-blue-700: #0b5f9e;--flonk-blue-300: #79b8e8;--flonk-blue-200: #b8d5ea;--flonk-blue-50: #eaf3fa;--flonk-blue-900: #314452;--flonk-blue-950: #1e262c;--flonk-shadow-rgb: 17 17 17;--flonk-shadow-deep-rgb: 0 0 0;--flonk-white-a12: rgb(255 255 255 / .12);--flonk-white-a18: rgb(255 255 255 / .18);--flonk-white-a42: rgb(255 255 255 / .42);--flonk-white-a06: rgb(255 255 255 / .06);--flonk-white-a92: rgb(255 255 255 / .92);--flonk-black-a46: rgb(0 0 0 / .46);--flonk-black-a56: rgb(12 12 12 / .56);--flonk-black-a72: rgb(0 0 0 / .72)}:root{--family-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--family-mono: ui-monospace, SFMono-Regular, "Roboto Mono", Menlo, monospace;--ease: cubic-bezier(.2, .7, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--d-micro: .15s;--d-base: .2s;--d-slow: .4s;--d-reveal: .8s;--space-gutter: 24px;--modal-w: 520px;--modal-h: 660px;--doc-frame-radius: 14px;--doc-frame-border: 2px;--viewport-border: 8px;--capture-scrim: var(--flonk-black-a46);--capture-edge: var(--flonk-white-a92);--wm-tint: var(--flonk-white-a06);--type-display: 3.875rem;--lh-display: 4.3125rem;--type-h1: 3rem;--lh-h1: 3.375rem;--type-h2: 2rem;--lh-h2: 2.75rem;--type-h3: 1.5rem;--lh-h3: 2.125rem;--type-title: 1.25rem;--lh-title: 1.75rem;--type-body: 1rem;--lh-body: 1.5rem;--type-sm: .875rem;--lh-sm: 1.25rem;--type-eyebrow: .875rem;--lh-eyebrow: 1.375rem;--type-xs: .75rem;--lh-xs: 1.125rem;--type-label: .6875rem;--lh-label: 1rem;--ls-tight: -.02em;--ls-eyebrow: -.01em;--ls-label: .06em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--r-control: 10px;--r-field: 12px;--r-card: 16px;--r-stage: 20px;--r-frame: 28px;--r-pill: 999px;--elev-xs: 0 1px 2px rgb(var(--flonk-shadow-rgb) / .05);--elev-sm: 0 .78px .78px rgb(var(--flonk-shadow-rgb) / .04), 0 2.35px 2.35px rgb(var(--flonk-shadow-rgb) / .03);--elev-md: 0 4.7px 3.13px rgb(var(--flonk-shadow-rgb) / .02), 0 8.62px 3.13px rgb(var(--flonk-shadow-rgb) / .01), 0 25.07px 18.8px -9.4px rgb(var(--flonk-shadow-rgb) / .06);--elev-lg: 0 24px 48px -16px rgb(var(--flonk-shadow-rgb) / .18), 0 2px 8px rgb(var(--flonk-shadow-rgb) / .06);--elev-brand: 0 0 0 1px color-mix(in oklab, var(--brand) 50%, transparent), 0 8px 24px -8px color-mix(in oklab, var(--brand) 45%, transparent);--motion-ease: cubic-bezier(.2, .7, .3, 1);--motion-ease-out: cubic-bezier(0, 0, .2, 1);--motion-micro: .15s;--motion-base: .2s;--motion-slow: .4s;--motion-reveal: .8s;--w-modal: 520px;--h-modal: 660px;--w-content: 1120px;--gutter: 24px}:root,:root[data-theme=light],.theme-light{color-scheme:light;--bg: var(--flonk-white);--surface: var(--flonk-white);--surface-sunken: var(--flonk-gray-50);--surface-raised: var(--flonk-white);--surface-inverse: var(--flonk-ink-500);--scrim: var(--flonk-black-a56);--text: var(--flonk-ink-500);--text-muted: var(--flonk-ink-dim);--text-subtle: var(--flonk-ink-soft);--text-inverse: var(--flonk-white);--border: var(--flonk-gray-75);--border-strong: var(--flonk-gray-100);--border-field: var(--flonk-gray-400);--brand: var(--flonk-lime-500);--brand-fg: var(--flonk-ink-950);--brand-hover: color-mix(in oklab, var(--brand) 95%, var(--flonk-white));--brand-active: color-mix(in oklab, var(--brand) 95%, var(--flonk-ink-950));--brand-subtle: color-mix(in oklab, var(--brand) 14%, var(--surface));--focus-ring: var(--flonk-lime-700);--success: var(--flonk-green-700);--success-bg: var(--flonk-green-50);--success-border: var(--flonk-green-200);--warning: var(--flonk-amber-700);--warning-bg: var(--flonk-amber-50);--warning-border: var(--flonk-amber-200);--danger: var(--flonk-red-700);--danger-bg: var(--flonk-red-50);--danger-border: var(--flonk-red-200);--info: var(--flonk-blue-700);--info-bg: var(--flonk-blue-50);--info-border: var(--flonk-blue-200);--danger-fg: var(--flonk-white)}:root[data-theme=dark],.theme-dark{color-scheme:dark;--bg: var(--flonk-ink-950);--surface: var(--flonk-ink-800);--surface-sunken: var(--flonk-ink-900);--surface-raised: var(--flonk-ink-700);--surface-inverse: var(--flonk-white);--scrim: var(--flonk-black-a72);--text: var(--flonk-white);--text-muted: var(--flonk-gray-200);--text-subtle: var(--flonk-gray-400);--text-inverse: var(--flonk-ink-500);--border: var(--flonk-white-a12);--border-strong: var(--flonk-white-a18);--border-field: var(--flonk-white-a42);--brand-subtle: color-mix(in oklab, var(--brand) 14%, var(--surface));--focus-ring: var(--flonk-lime-400);--success: var(--flonk-green-300);--success-bg: var(--flonk-green-950);--success-border: var(--flonk-green-900);--warning: var(--flonk-amber-300);--warning-bg: var(--flonk-amber-950);--warning-border: var(--flonk-amber-900);--danger: var(--flonk-red-300);--danger-bg: var(--flonk-red-950);--danger-border: var(--flonk-red-900);--info: var(--flonk-blue-300);--info-bg: var(--flonk-blue-950);--info-border: var(--flonk-blue-900);--danger-fg: var(--flonk-ink-950);--elev-lg: 0 24px 48px -16px rgb(var(--flonk-shadow-deep-rgb) / .6), 0 2px 8px rgb(var(--flonk-shadow-deep-rgb) / .4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: var(--flonk-ink-950);--surface: var(--flonk-ink-800);--surface-sunken: var(--flonk-ink-900);--surface-raised: var(--flonk-ink-700);--surface-inverse: var(--flonk-white);--scrim: var(--flonk-black-a72);--text: var(--flonk-white);--text-muted: var(--flonk-gray-200);--text-subtle: var(--flonk-gray-400);--text-inverse: var(--flonk-ink-500);--border: var(--flonk-white-a12);--border-strong: var(--flonk-white-a18);--border-field: var(--flonk-white-a42);--brand-subtle: color-mix(in oklab, var(--brand) 14%, var(--surface));--focus-ring: var(--flonk-lime-400);--success: var(--flonk-green-300);--success-bg: var(--flonk-green-950);--success-border: var(--flonk-green-900);--warning: var(--flonk-amber-300);--warning-bg: var(--flonk-amber-950);--warning-border: var(--flonk-amber-900);--danger: var(--flonk-red-300);--danger-bg: var(--flonk-red-950);--danger-border: var(--flonk-red-900);--info: var(--flonk-blue-300);--info-bg: var(--flonk-blue-950);--info-border: var(--flonk-blue-900);--danger-fg: var(--flonk-ink-950);--elev-lg: 0 24px 48px -16px rgb(var(--flonk-shadow-deep-rgb) / .6), 0 2px 8px rgb(var(--flonk-shadow-deep-rgb) / .4)}}@media(prefers-reduced-motion:reduce){:root{--motion-micro: 1ms;--motion-base: 1ms;--motion-slow: 1ms;--motion-reveal: 1ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--family-body);font-size:var(--type-body);line-height:var(--lh-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;letter-spacing:var(--ls-tight);font-weight:600;line-height:1.15}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}img,svg,video{display:block;max-width:100%}:where(a){color:var(--text);text-underline-offset:3px}:where(a,button,input,select,textarea,[tabindex],summary):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-control)}:where(a,button,input,select,textarea,[tabindex]):focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:fixed;top:16px;left:16px;z-index:60;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.t-h1{font-size:var(--type-h1);line-height:var(--lh-h1)}.t-h2{font-size:var(--type-h2);line-height:var(--lh-h2)}.t-h3{font-size:var(--type-h3);line-height:var(--lh-h3)}.t-title{font-size:var(--type-title);line-height:var(--lh-title);font-weight:600}.t-body{font-size:var(--type-body);line-height:var(--lh-body)}.t-sm{font-size:var(--type-sm);line-height:var(--lh-body)}.t-xs{font-size:var(--type-xs);line-height:var(--lh-xs)}.t-label{font-size:var(--type-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:600}.t-muted{color:var(--text-muted)}.t-subtle{color:var(--text-subtle)}.t-mono{font-family:var(--family-mono);font-variant-numeric:tabular-nums}.tabular{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-control);border:1px solid transparent;font-size:var(--type-body);font-weight:600;letter-spacing:-.01em;cursor:pointer;background:none;transition:background var(--d-micro) var(--ease),border-color var(--d-micro) var(--ease),transform var(--d-micro) var(--ease),box-shadow var(--d-micro) var(--ease);white-space:nowrap;text-decoration:none}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-sm{min-height:44px;padding:0 16px;font-size:var(--type-sm)}.btn-lg{min-height:56px;padding:0 28px}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--brand-fg);box-shadow:var(--elev-xs)}.btn-primary:hover{background:var(--brand-hover);box-shadow:var(--elev-brand)}.btn-primary:active{background:var(--brand-active)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-field)}.btn-secondary:hover{background:var(--surface-sunken)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-sunken);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:0 10px;border-radius:var(--r-pill);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--d-micro) var(--ease),color var(--d-micro) var(--ease)}.icon-btn:hover{background:var(--surface-sunken);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--elev-sm)}.card-flat{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:none}.hairline{height:1px;background:var(--border);border:0;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:var(--type-sm);font-weight:500;color:var(--text)}.input{display:block;width:100%;min-height:48px;padding:0 14px;border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);color:var(--text);transition:border-color var(--d-micro) var(--ease),box-shadow var(--d-micro) var(--ease)}.input::placeholder{color:var(--text-subtle)}.input:hover{border-color:var(--text-subtle)}.input[aria-invalid=true],.input-invalid{border-color:var(--danger)}.hint{font-size:var(--type-sm);color:var(--text-muted)}.error-text{font-size:var(--type-sm);color:var(--danger)}.field-label{display:block;margin-bottom:6px;font-size:var(--type-sm);font-weight:500;color:var(--text)}.field-hint{margin-top:6px;font-size:var(--type-sm);color:var(--text-muted)}.field-error{display:flex;gap:6px;margin-top:6px;font-size:var(--type-sm);color:var(--danger)}select.input{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);font-size:var(--type-sm);font-weight:500;border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--text-muted)}.chip-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.chip-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.chip-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.chip-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.chip-brand{background:var(--brand-subtle);border-color:var(--brand);color:var(--text)}.alert{display:flex;gap:12px;padding:14px 16px;border-radius:var(--r-field);border:1px solid var(--border-strong);background:var(--surface-sunken);font-size:var(--type-sm);line-height:var(--lh-body)}.alert-success{background:var(--success-bg);border-color:var(--success-border)}.alert-warning{background:var(--warning-bg);border-color:var(--warning-border)}.alert-danger{background:var(--danger-bg);border-color:var(--danger-border)}.alert-info{background:var(--info-bg);border-color:var(--info-border)}.progress{height:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.progress>i{display:block;height:100%;background:var(--brand);border-radius:inherit;transition:width var(--d-slow) var(--ease)}.steps{display:flex;align-items:center;gap:10px}.step-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-pill);font-size:var(--type-xs);font-weight:600;background:var(--surface-sunken);color:var(--text-subtle);border:1px solid var(--border-strong)}.step-dot[data-state=current]{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}.step-dot[data-state=done]{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}.spinner-sm{width:15px;height:15px;border-width:2px;border-color:#0000002e;border-top-color:currentColor}@keyframes spin{to{transform:rotate(360deg)}}.btn[data-busy]{pointer-events:none}.cam-boot{position:absolute;inset:0;z-index:3;display:flex;gap:10px;flex-direction:column;align-items:center;justify-content:center;background:var(--flonk-ink-900);color:#ffffffdb;transition:opacity .25s var(--ease)}.camera-stage[data-boot="0"] .cam-boot{opacity:0;pointer-events:none;visibility:hidden}.skeleton{background:linear-gradient(90deg,var(--surface-sunken),var(--border),var(--surface-sunken));background-size:200% 100%;animation:sk 1.4s var(--ease) infinite;border-radius:var(--r-field)}@keyframes sk{to{background-position:-200% 0}}.flow-shell{position:relative;display:flex;flex-direction:column;background:var(--surface);width:100%;height:100dvh;overflow:hidden}@media(min-width:768px){.flow-shell{width:var(--modal-w);height:var(--modal-h);border-radius:var(--r-frame);box-shadow:var(--elev-lg);border:1px solid var(--border)}}.flow-header{display:flex;align-items:center;gap:12px;padding:16px var(--space-gutter);min-height:68px;flex:none}.flow-body{flex:1;overflow-y:auto;padding:8px var(--space-gutter) 24px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}.flow-footer{flex:none;padding:16px var(--space-gutter);padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:10px}.flow-legal{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 12px;padding:10px var(--space-gutter);padding-bottom:max(10px,env(safe-area-inset-bottom));background:var(--surface-sunken);font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-subtle)}.flow-footer+.flow-legal{padding-top:0;background:var(--surface)}.embed-shell{background:transparent;box-shadow:none;border:0;border-radius:0;height:auto}.tip{display:flex;gap:12px;padding:10px 0;font-size:var(--type-sm);line-height:var(--lh-body);color:var(--text-muted)}.tip-mark{flex:none;margin-top:2px;color:var(--text-subtle)}.camera-stage{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r-stage);overflow:hidden;background:var(--flonk-ink-900);display:grid;place-items:center}.camera-stage[data-shape=portrait]{aspect-ratio:3/4}.camera-guide{position:absolute;inset:0;pointer-events:none}.capture-feedback{display:flex;align-items:center;gap:8px;justify-content:center;min-height:var(--lh-body);font-size:var(--type-sm);color:var(--text-muted)}.camera-placeholder{background:var(--surface-sunken);background-image:repeating-linear-gradient(45deg,var(--border) 0 12px,transparent 12px 24px)}.trust-strip{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--type-xs);color:var(--text-subtle)}.mode-watermark{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden;display:flex;align-items:center;justify-content:center}.mode-watermark:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,var(--wm-tint) 0 10px,transparent 10px 30px)}.wm-test{--wm-tint:rgb(154 91 0/.07)}.wm-preview{--wm-tint:rgb(11 95 158/.07)}:root{--doc-frame-radius:14px;--doc-frame-border:2px;--viewport-border:8px;--screen-margin:16px;--capture-scrim:rgb(0 0 0/.46);--capture-edge:rgb(255 255 255/.92)}.capture-viewport{position:absolute;inset:0;z-index:2;pointer-events:none;border:var(--viewport-border) solid var(--surface);border-radius:var(--r-stage)}.capture-frame{position:absolute;left:50%;top:50%;translate:-50% -50%;width:82%;aspect-ratio:1.586;border-radius:var(--doc-frame-radius);border:var(--doc-frame-border) solid var(--capture-edge);box-shadow:0 0 0 9999px var(--capture-scrim);transition:border-color var(--d-base) var(--ease),box-shadow var(--d-base) var(--ease)}.capture-frame[data-shape=portrait]{width:64%;aspect-ratio:3/4;border-radius:48% 48% 44% 44%/40% 40% 56% 56%}.capture-frame:before{content:"";position:absolute;inset:-7px;pointer-events:none;border:3px solid var(--capture-edge);border-radius:calc(var(--doc-frame-radius) + 7px);-webkit-mask-image:linear-gradient(90deg,#000 0 22%,transparent 22% 78%,#000 78%),linear-gradient(180deg,#000 0 24%,transparent 24% 76%,#000 76%);mask-image:linear-gradient(90deg,#000 0 22%,transparent 22% 78%,#000 78%),linear-gradient(180deg,#000 0 24%,transparent 24% 76%,#000 76%);-webkit-mask-composite:source-in;mask-composite:intersect;transition:border-color var(--d-base) var(--ease)}.capture-frame[data-shape=portrait]:before{display:none}.capture-frame[data-quality=warn]{--capture-edge:var(--warning)}.capture-frame[data-quality=ready]{--capture-edge:var(--success)}.capture-feedback{transition:color var(--d-base) var(--ease)}.capture-feedback[data-tone=warn]{color:var(--warning);font-weight:600}.capture-feedback[data-tone=ready]{color:var(--success);font-weight:600}.capture-feedback .fb-mark{flex:none;display:grid;place-items:center;width:18px;height:18px}.pulse{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-subtle)}@media(prefers-reduced-motion:no-preference){.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--brand);animation:pulse-ring 2.4s var(--ease) infinite}}@keyframes pulse-ring{0%{transform:scale(.6);opacity:.9}70%,to{transform:scale(1.9);opacity:0}}.wait-stages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.wait-stage{position:relative;display:flex;gap:14px;padding:0 0 16px;align-items:flex-start}.wait-stage:last-child{padding-bottom:0}.wait-stage:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:2px;border-radius:1px;background:var(--border-strong)}.wait-stage[data-state=done]:not(:last-child):before{background:var(--success-border)}.wait-mark{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-subtle)}.wait-stage[data-state=done] .wait-mark{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.wait-stage[data-state=active] .wait-mark{border-color:var(--brand);background:var(--brand-subtle);color:var(--text)}.wait-text{min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:1px}.wait-text b{font-size:var(--type-sm);font-weight:600;line-height:var(--lh-body)}.wait-stage[data-state=pending] .wait-text b{font-weight:500;color:var(--text-subtle)}.wait-text span{font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-muted)}.wait-track{height:3px;margin-top:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.wait-track>i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width var(--d-slow) var(--ease)}@media(prefers-reduced-motion:no-preference){.wait-track[data-indeterminate]>i{width:38%;animation:wait-slide 1.9s var(--ease) infinite}}@keyframes wait-slide{0%{transform:translate(-110%)}to{transform:translate(300%)}}.next-step{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-field);background:var(--surface-sunken);border:1px solid var(--border);font-size:var(--type-sm);line-height:var(--lh-body)}.next-step .ns-mark{flex:none;margin-top:1px;color:var(--text-subtle)}.next-step b{display:block;font-weight:600}.next-step span{color:var(--text-muted)}.fixes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.fix{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--r-field);border:1px solid var(--border-strong);background:var(--surface)}.fix-head{display:flex;align-items:flex-start;gap:10px}.fix-mark{flex:none;margin-top:2px}.fix-title{flex:1;min-width:0;font-size:var(--type-sm);line-height:var(--lh-body);font-weight:600}.fix-do{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface-sunken);font-size:var(--type-sm);line-height:var(--lh-body);color:var(--text-muted)}.fix-do b{color:var(--text);font-weight:600}.fix-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--type-xs);color:var(--text-subtle)}.fix[data-retry=no]{border-color:var(--danger-border)}.fix[data-retry=yes]{border-color:var(--warning-border)}.detect{display:flex;gap:14px;align-items:center;padding:14px;border-radius:var(--r-card);border:1px solid var(--border-strong);background:var(--surface)}.detect-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.correct{display:flex;flex-direction:column;gap:8px}.correct-row{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border-field);background:var(--surface);color:var(--text);font-size:var(--type-sm);font-weight:500;cursor:pointer;transition:background var(--d-micro) var(--ease),border-color var(--d-micro) var(--ease)}.chip-btn:hover{background:var(--surface-sunken);border-color:var(--text-subtle)}.chip-btn[aria-pressed=true]{background:var(--brand-subtle);border-color:var(--brand);font-weight:600}.disclose{border:1px solid var(--border);border-radius:var(--r-field);background:var(--surface);overflow:hidden}.disclose>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-size:var(--type-sm);font-weight:600;cursor:pointer;list-style:none}.disclose>summary::-webkit-details-marker{display:none}.disclose>summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;rotate:45deg;translate:0 -2px;transition:rotate var(--d-micro) var(--ease)}.disclose[open]>summary:after{rotate:-135deg;translate:0 2px}.disclose-body{padding:0 14px 14px;font-size:var(--type-sm);line-height:var(--lh-body);color:var(--text-muted);display:flex;flex-direction:column;gap:8px}.flow-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}.flow-legal a:hover{color:var(--text)}.wmark{display:flex;justify-content:center;color:var(--flonk-lime-700);margin:4px 0 2px}:root[data-theme=dark] .wmark,.theme-dark .wmark{color:var(--brand)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .wmark{color:var(--brand)}}.wsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.wsteps>li{display:flex;gap:14px;position:relative;padding-bottom:18px}.wsteps>li.is-last{padding-bottom:0}.wsteps>li:not(.is-last):before{content:"";position:absolute;left:13px;top:32px;bottom:2px;width:1.5px;background:var(--border-strong)}.wstep-n{flex:none;width:27px;height:27px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-fg);font-size:var(--type-sm);font-weight:600;line-height:1}.wstep-t{display:flex;flex-direction:column;gap:2px;min-width:0}.wstep-h{font-weight:600}.wintro{display:flex;align-items:center;gap:16px}.verify-mark[data-size=xs]{--vm-size: 62px;--vm-bracket: 2px;--vm-arm: 30%}.wlinks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px}.wlink{background:none;border:0;padding:6px 2px;cursor:pointer;font-size:var(--type-sm);font-weight:500;color:var(--text-muted);text-decoration:none}.wlink:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.wagree{text-align:center;margin-top:2px}[data-step="face.capture"] .flow-body,[data-step="document.capture"] .flow-body,[data-step="vault.liveness"] .flow-body{overflow:hidden;gap:12px}[data-step="face.capture"] .camera-stage,[data-step="vault.liveness"] .camera-stage{flex:1 1 auto;aspect-ratio:auto;min-height:200px}[data-step="document.capture"] .camera-stage{flex:0 1 auto;aspect-ratio:4/3;max-height:100%;min-height:180px}.cam-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.capture-guide-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cg-oval{transition:stroke .25s var(--ease)}.cg-arc{transition:stroke-dashoffset .3s linear,opacity .25s var(--ease)}.cg-bracket{transition:stroke .25s var(--ease)}@media(prefers-reduced-motion:no-preference){.camera-stage[data-fb=idle] .cg-bracket{animation:cg-breathe 2s var(--ease) infinite}@keyframes cg-breathe{0%,to{opacity:.55}50%{opacity:.9}}}.cg-beam{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cg-beam>i{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(to bottom,#fff0,#ffffff38 45%,#ffffff80,#ffffff38 55%,#fff0);filter:blur(.5px);will-change:transform,opacity}.camera-stage[data-fb=ok] .cg-beam{display:none}@media(prefers-reduced-motion:no-preference){.cg-beam>i{animation:cg-scan 2.4s cubic-bezier(.45,0,.55,1) infinite}@keyframes cg-scan{0%{transform:translateY(-100%);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(455%);opacity:0}}}@media(prefers-reduced-motion:reduce){.cg-beam{display:none}}.cg-aura{position:absolute;border-radius:50%;opacity:0;box-shadow:0 0 22px 4px #ffffff38,inset 0 0 18px 2px #ffffff1a;pointer-events:none}.camera-stage[data-fb=ok] .cg-aura{opacity:1}@media(prefers-reduced-motion:no-preference){.camera-stage[data-fb=ok] .cg-aura{animation:cg-aura 2.4s var(--ease) infinite}@keyframes cg-aura{0%,to{opacity:.55}50%{opacity:1}}}.cap-modes{display:flex;gap:6px;justify-content:center}.cap-mode{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border-field);background:var(--surface);color:var(--text-muted);font-size:var(--type-sm);font-weight:500;cursor:pointer}.cap-mode[aria-pressed=true]{background:var(--brand-subtle);color:var(--text);border-color:var(--brand)}.cap-mode small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.cam-readout{display:block;text-align:center;min-height:var(--lh-xs);line-height:1.5;font-family:var(--family-mono);font-size:var(--type-xs);color:var(--text-subtle)}.cam-readout b{font-weight:500;color:var(--text-muted)}.auto-bar{position:absolute;left:12%;right:12%;bottom:14px;height:4px;border-radius:999px;background:#ffffff47;overflow:hidden;opacity:0;transition:opacity var(--d-micro) var(--ease);pointer-events:none}.camera-stage[data-auto=arming] .auto-bar{opacity:1}.auto-bar>i{display:block;height:100%;width:0;border-radius:inherit;background:var(--brand);transition:width .12s linear}.switch-row.is-disabled{opacity:.55}.switch-row.is-disabled label{cursor:not-allowed}.soon{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:var(--r-pill);background:var(--surface-sunken);border:1px solid var(--border-strong);color:var(--text-subtle);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}.flip-cue{display:flex;align-items:center;gap:12px;text-align:left}.flip-cue p{margin:0}.flip-cue b{display:block;font-weight:600}.flip-mark{display:block;width:72px;flex:none}.flip-mark .doc-svg{width:72px}.handoff-lead{display:flex;align-items:center;gap:10px;margin:0}.pulse-idle{background:var(--border-strong)}.pulse-idle:after{display:none}.handoff-stages{margin-top:2px}.shell-boot{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:var(--surface);transition:opacity var(--d-base) var(--ease)}.flow-shell[data-booting="0"] .shell-boot{opacity:0;visibility:hidden;pointer-events:none}.handoff-live{display:flex;flex-direction:column;gap:12px}.handoff-live[data-live="1"]{padding:14px;border:1px solid var(--border-strong);border-radius:var(--r-card);background:var(--surface-sunken)}.handoff-count{margin-left:auto;font-variant-numeric:tabular-nums}.handoff-bar{height:3px;border-radius:var(--r-pill);background:var(--border-strong);overflow:hidden}.handoff-bar>i{display:block;height:100%;background:var(--brand);width:0;transition:width var(--d-slow) var(--ease)}.idcard-scene{--idcard-w: min(420px, 100%);--idcard-r: 16px;--idcard-tilt-x: 7deg;--idcard-tilt-y: -13deg;--idcard-depth: 1400px;--card-face-1: color-mix(in srgb, var(--flonk-gray-75) 55%, var(--flonk-white));--card-face-2: color-mix(in srgb, var(--flonk-gray-100) 62%, var(--flonk-white));--card-face-3: color-mix(in srgb, var(--flonk-gray-150) 58%, var(--flonk-white));--card-ink: var(--flonk-ink-500);--card-ink-2: var(--flonk-ink-dim);--card-hair: color-mix(in srgb, var(--flonk-ink-500) 22%, transparent);--card-rule: color-mix(in srgb, var(--flonk-ink-500) 16%, transparent);--card-print: color-mix(in srgb, var(--flonk-ink-500) 26%, transparent);--card-edge: color-mix(in srgb, var(--flonk-ink-500) 26%, transparent);--card-guilloche-c: color-mix(in srgb, var(--card-cool) 46%, color-mix(in srgb, var(--flonk-ink-500) 30%, transparent));--card-spec: color-mix(in srgb, var(--flonk-white) 92%, transparent);--card-shade: color-mix(in srgb, var(--flonk-ink-950) 11%, transparent);--card-lift: 0 36px 60px -28px color-mix(in srgb, var(--flonk-ink-950) 46%, transparent), 0 10px 22px -10px color-mix(in srgb, var(--flonk-ink-950) 22%, transparent), 0 1px 0 0 color-mix(in srgb, var(--flonk-white) 70%, transparent) inset;--card-ground: color-mix(in srgb, var(--flonk-ink-950) 26%, transparent);--card-tint: var(--brand);--card-metal: var(--brand);--card-cool: var(--flonk-teal-400);--card-glow: color-mix(in srgb, var(--brand) 11%, transparent);--card-guilloche-o: .52;--card-diffraction-o: .38;--card-sheen-o: .95;position:relative;width:100%;display:flex;align-items:center;justify-content:center;perspective:var(--idcard-depth);padding:16px 0 26px;isolation:isolate}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .idcard-scene{--card-face-1: color-mix(in srgb, var(--flonk-white) 11%, var(--flonk-ink-700));--card-face-2: color-mix(in srgb, var(--flonk-white) 5%, var(--flonk-ink-800));--card-face-3: var(--flonk-ink-850);--card-ink: var(--flonk-white);--card-ink-2: var(--flonk-gray-300);--card-hair: color-mix(in srgb, var(--flonk-white) 17%, transparent);--card-rule: color-mix(in srgb, var(--flonk-white) 11%, transparent);--card-print: color-mix(in srgb, var(--flonk-white) 12%, transparent);--card-edge: color-mix(in srgb, var(--flonk-white) 17%, transparent);--card-spec: color-mix(in srgb, var(--flonk-white) 34%, transparent);--card-shade: color-mix(in srgb, var(--flonk-ink-950) 48%, transparent);--card-lift: 0 40px 70px -30px color-mix(in srgb, var(--flonk-ink-950) 82%, transparent), 0 4px 12px -6px color-mix(in srgb, var(--flonk-ink-950) 60%, transparent);--card-ground: color-mix(in srgb, var(--flonk-ink-950) 68%, transparent);--card-glow: color-mix(in srgb, var(--brand) 18%, transparent);--card-guilloche-c: color-mix(in srgb, var(--card-cool) 40%, color-mix(in srgb, var(--flonk-white) 16%, transparent));--card-guilloche-o: .3;--card-diffraction-o: .3;--card-sheen-o: .65}}:root[data-theme=dark] .idcard-scene,.theme-dark .idcard-scene{--card-face-1: color-mix(in srgb, var(--flonk-white) 11%, var(--flonk-ink-700));--card-face-2: color-mix(in srgb, var(--flonk-white) 5%, var(--flonk-ink-800));--card-face-3: var(--flonk-ink-850);--card-ink: var(--flonk-white);--card-ink-2: var(--flonk-gray-300);--card-hair: color-mix(in srgb, var(--flonk-white) 17%, transparent);--card-rule: color-mix(in srgb, var(--flonk-white) 11%, transparent);--card-print: color-mix(in srgb, var(--flonk-white) 12%, transparent);--card-edge: color-mix(in srgb, var(--flonk-white) 17%, transparent);--card-spec: color-mix(in srgb, var(--flonk-white) 34%, transparent);--card-shade: color-mix(in srgb, var(--flonk-ink-950) 48%, transparent);--card-lift: 0 40px 70px -30px color-mix(in srgb, var(--flonk-ink-950) 82%, transparent), 0 4px 12px -6px color-mix(in srgb, var(--flonk-ink-950) 60%, transparent);--card-ground: color-mix(in srgb, var(--flonk-ink-950) 68%, transparent);--card-glow: color-mix(in srgb, var(--brand) 18%, transparent);--card-guilloche-c: color-mix(in srgb, var(--card-cool) 40%, color-mix(in srgb, var(--flonk-white) 16%, transparent));--card-guilloche-o: .3;--card-diffraction-o: .3;--card-sheen-o: .65}.idcard-scene:before{content:"";position:absolute;z-index:-2;top:50%;left:50%;width:108%;aspect-ratio:1;transform:translate(-50%,-54%);border-radius:50%;background:radial-gradient(circle,var(--card-glow),transparent 62%);filter:blur(26px);pointer-events:none}.idcard-scene:after{content:"";position:absolute;z-index:-1;bottom:8px;left:50%;width:62%;height:7%;transform:translate(-50%) rotate(-1.5deg);border-radius:50%;background:radial-gradient(ellipse,var(--card-ground),transparent 72%);filter:blur(11px);pointer-events:none}.idcard-scene[data-glow=off]:before,.idcard-scene[data-ground=off]:after{display:none}.idcard{position:relative;container-type:inline-size;width:var(--idcard-w);aspect-ratio:var(--idcard-ar, 1.586) / 1;border-radius:var(--idcard-r);transform-style:preserve-3d;transform:rotateX(var(--idcard-tilt-x)) rotateY(var(--idcard-tilt-y));transition:transform var(--d-slow) var(--ease);background:linear-gradient(218deg,var(--card-face-1),var(--card-face-2) 52%,var(--card-face-3));box-shadow:inset 0 1px 0 var(--card-spec),inset 0 -1px 0 var(--card-shade),var(--card-lift)}.idcard-scene[data-flat]{perspective:none;padding:10px 0 16px}.idcard-scene[data-flat] .idcard{transform:none}.idcard-scene[data-flat]:before{opacity:.55}.idcard[data-variant=front],.idcard[data-variant=back],.idcard[data-variant=generic]{--idcard-ar: 1.586}.idcard[data-variant=passport]{--idcard-ar: 1.42;--idcard-r: 12px}.idcard[data-variant=back]{--fields-x: 6%;--fields-y: 26%;--fields-r: 40%;--sig-b: 34%}.idcard[data-variant=passport]{--portrait-x: 10%;--portrait-y: 26%;--portrait-w: 23%;--fields-x: 38%;--fields-y: 22%;--mrz-b: 4%}.idcard-plate{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.idcard-guilloche{position:absolute;inset:0;border-radius:inherit;opacity:var(--card-guilloche-o);background-image:repeating-radial-gradient(circle at 72% 46%,transparent 0 3.2px,var(--card-guilloche-c) 3.2px 3.7px),repeating-conic-gradient(from 14deg at 72% 46%,transparent 0 5.4deg,var(--card-guilloche-c) 5.4deg 6deg),repeating-radial-gradient(circle at 12% 86%,transparent 0 4.4px,var(--card-guilloche-c) 4.4px 4.9px);-webkit-mask-image:radial-gradient(circle at 72% 46%,#000 0 12%,transparent 34%),radial-gradient(circle at 72% 46%,#000 0 9%,transparent 26%),radial-gradient(circle at 12% 86%,#000 0 8%,transparent 24%);mask-image:radial-gradient(circle at 72% 46%,#000 0 12%,transparent 34%),radial-gradient(circle at 72% 46%,#000 0 9%,transparent 26%),radial-gradient(circle at 12% 86%,#000 0 8%,transparent 24%)}.idcard-diffraction{position:absolute;inset:-10%;border-radius:inherit;opacity:var(--card-diffraction-o);mix-blend-mode:soft-light;background-image:repeating-linear-gradient(102deg,color-mix(in srgb,var(--card-cool) 40%,transparent) 0 4px,color-mix(in srgb,var(--card-tint) 44%,transparent) 4px 8px,transparent 8px 20px);-webkit-mask-image:linear-gradient(102deg,transparent 38%,#000 49%,#000 53%,transparent 64%);mask-image:linear-gradient(102deg,transparent 38%,#000 49%,#000 53%,transparent 64%)}.idcard-sheen{position:absolute;inset:0;border-radius:inherit;opacity:var(--card-sheen-o);mix-blend-mode:soft-light;background-image:radial-gradient(44% 64% at var(--mx, 33%) var(--my, 16%),var(--card-spec),color-mix(in srgb,var(--card-spec) 22%,transparent) 44%,transparent 72%),linear-gradient(104deg,transparent 37%,color-mix(in srgb,var(--card-spec) 52%,transparent) 50%,transparent 63%)}.idcard-edge{position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(138deg,color-mix(in srgb,var(--card-tint) 62%,transparent) 0%,color-mix(in srgb,var(--card-spec) 70%,transparent) 22%,var(--card-edge) 48%,var(--card-edge) 66%,color-mix(in srgb,var(--card-cool) 52%,transparent) 100%);-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);mask-composite:exclude}.idcard[data-variant=passport] .idcard-plate:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4.5%;background:linear-gradient(90deg,var(--card-shade),transparent),repeating-linear-gradient(180deg,var(--card-hair) 0 4px,transparent 4px 11px)}.idcard-specimen{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%) rotate(-14deg) translateZ(2px);font-size:4.8cqi;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:color-mix(in srgb,var(--card-ink) 7%,transparent);white-space:nowrap;pointer-events:none}.idcard-issuer{position:absolute;left:6%;top:7.5%;display:flex;align-items:center;gap:2.2cqi;transform:translateZ(14px)}.idcard-issuer-mark{flex:none;display:grid;place-items:center;width:7.4cqi;height:7.4cqi;border-radius:2cqi;background:color-mix(in srgb,var(--card-tint) 20%,transparent);border:1px solid color-mix(in srgb,var(--card-tint) 46%,transparent);color:var(--card-ink)}.idcard-issuer-mark svg{width:58%;height:58%}.idcard-issuer-tx{display:flex;flex-direction:column;gap:.5cqi;line-height:1.05}.idcard-issuer-tx b{font-size:3.3cqi;font-weight:600;letter-spacing:var(--ls-tight);color:var(--card-ink)}.idcard-issuer-tx span{font-size:1.9cqi;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--card-ink-2)}.idcard-doctype{position:absolute;right:19%;top:8.5%;text-align:right;transform:translateZ(11px)}.idcard-doctype b{display:block;font-size:2.7cqi;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--card-ink)}.idcard-doctype span{display:block;margin-top:.6cqi;font-size:1.7cqi;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--card-ink-2)}.idcard-holo{position:absolute;right:5.5%;top:7%;width:11.5%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;transform:translateZ(24px);background:conic-gradient(from 158deg,var(--card-cool),color-mix(in srgb,var(--card-spec) 80%,var(--card-cool)) 22%,var(--card-tint) 44%,color-mix(in srgb,var(--card-cool) 70%,var(--card-tint)) 70%,var(--card-cool));opacity:.78;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-spec) 70%,transparent),0 2px 10px -3px color-mix(in srgb,var(--flonk-ink-950) 40%,transparent)}.idcard-holo:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 34% 30%,color-mix(in srgb,var(--flonk-white) 62%,transparent),transparent 56%)}.idcard-holo svg{position:relative;width:50%;height:50%;color:var(--card-ink);opacity:.6;mix-blend-mode:soft-light}.idcard-portrait{position:absolute;left:var(--portrait-x, 6%);top:var(--portrait-y, 26%);width:var(--portrait-w, 20%);aspect-ratio:.78;border-radius:2.2cqi;overflow:hidden;transform:translateZ(18px);border:1px solid var(--card-edge);background-image:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--card-ink) 26%,transparent) 0 21%,transparent 22%),radial-gradient(ellipse 62% 44% at 50% 104%,color-mix(in srgb,var(--card-ink) 26%,transparent) 0 62%,transparent 64%),radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--card-cool) 34%,transparent) .9px,transparent 1.3px),linear-gradient(180deg,color-mix(in srgb,var(--card-cool) 12%,transparent),color-mix(in srgb,var(--card-tint) 8%,transparent));background-size:auto,auto,5px 5px,auto;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-spec) 55%,transparent)}.idcard-portrait:after{content:"";position:absolute;left:0;right:0;top:-10%;height:2px;background:var(--card-cool);box-shadow:0 0 8px var(--card-cool);opacity:0}.idcard-chip{position:absolute;left:var(--chip-x, 6%);top:var(--chip-y, 72%);display:flex;align-items:center;gap:2.4cqi;transform:translateZ(16px)}.idcard-chip-ic{position:relative;width:9cqi;aspect-ratio:1.3;border-radius:1.4cqi;background:linear-gradient(142deg,color-mix(in srgb,var(--card-metal) 30%,var(--card-spec)),color-mix(in srgb,var(--card-metal) 62%,var(--flonk-gray-200)) 46%,color-mix(in srgb,var(--card-metal) 40%,var(--flonk-ink-dim)));box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--card-ink) 34%,transparent),0 1px 2px color-mix(in srgb,var(--flonk-ink-950) 22%,transparent)}.idcard-chip-ic:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:linear-gradient(90deg,transparent 30%,color-mix(in srgb,var(--card-ink) 42%,transparent) 30% 32%,transparent 32%),linear-gradient(90deg,transparent 68%,color-mix(in srgb,var(--card-ink) 42%,transparent) 68% 70%,transparent 70%),linear-gradient(180deg,transparent 46%,color-mix(in srgb,var(--card-ink) 42%,transparent) 46% 49%,transparent 49%)}.idcard-chip-ic:after{content:"";position:absolute;inset:22%;border-radius:.6cqi;border:.5px solid color-mix(in srgb,var(--card-ink) 42%,transparent)}.idcard-nfc{position:relative;width:5cqi;aspect-ratio:1;color:var(--card-ink-2);opacity:.8}.idcard-nfc,.idcard-nfc:before,.idcard-nfc:after{border:.9cqi solid transparent;border-right-color:currentColor;border-radius:50%}.idcard-nfc:before,.idcard-nfc:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.idcard-nfc:before{width:66%;height:66%}.idcard-nfc:after{width:34%;height:34%}.idcard-fields{position:absolute;left:var(--fields-x, 32%);top:var(--fields-y, 22%);right:var(--fields-r, 6%);display:flex;flex-direction:column;gap:1.6cqi;transform:translateZ(10px)}.idcard-frow{display:flex;gap:6cqi}.idcard-field{display:flex;flex-direction:column;gap:.5cqi;min-width:0}.idcard-k{font-size:1.75cqi;line-height:1.2;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--card-ink-2);white-space:nowrap}.idcard-v{font-size:3.1cqi;line-height:1.1;font-weight:600;letter-spacing:.01em;color:var(--card-ink);white-space:nowrap}.idcard-v.is-sm{font-size:2.5cqi;font-weight:600;color:var(--card-ink-2)}.idcard-v.is-mono{font-family:var(--family-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.idcard-bars{position:absolute;left:32%;top:28%;right:6%;display:flex;flex-direction:column;gap:2.6cqi;transform:translateZ(10px)}.idcard-bar{height:1.6cqi;border-radius:var(--r-pill);background:var(--card-hair)}.idcard-bar.is-lead{height:2.4cqi;background:var(--card-rule)}.idcard-mrz{position:absolute;left:0;right:0;bottom:var(--mrz-b, 5%);padding:1.8cqi 6%;background:linear-gradient(180deg,transparent,var(--card-rule) 22%,var(--card-rule) 78%,transparent);font-family:var(--family-mono);font-size:2.7cqi;line-height:1.5;letter-spacing:.1em;color:color-mix(in srgb,var(--card-ink) 78%,transparent);white-space:nowrap;overflow:hidden;transform:translateZ(6px)}.idcard-mrz>span{display:block}.idcard-signature{position:absolute;right:6%;bottom:var(--sig-b, 26%);width:30%;height:9%;border-bottom:1px solid var(--card-hair);border-radius:1cqi 1cqi 0 0;transform:translateZ(12px);background:repeating-linear-gradient(74deg,var(--card-print) 0 1px,transparent 1px 5px)}.idcard-micro{position:absolute;left:6%;right:6%;bottom:var(--micro-b, 2.5%);font-size:1.15cqi;letter-spacing:.16em;color:color-mix(in srgb,var(--card-ink) 30%,transparent);white-space:nowrap;overflow:hidden;transform:translateZ(5px)}.idcard-stamp{position:absolute;right:6%;bottom:8%;display:inline-flex;align-items:center;gap:1.6cqi;padding:1.4cqi 3cqi 1.4cqi 1.6cqi;border-radius:var(--r-pill);transform:translateZ(28px);font-size:2.2cqi;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--card-ink);background:color-mix(in srgb,var(--card-face-1) 82%,transparent);border:1px solid color-mix(in srgb,var(--card-tint) 40%,transparent);box-shadow:0 2px 8px -3px color-mix(in srgb,var(--flonk-ink-950) 30%,transparent)}.idcard-stamp i{flex:none;display:grid;place-items:center;width:4.4cqi;height:4.4cqi;border-radius:50%;background:var(--brand);color:var(--brand-fg)}.idcard-stamp i svg{width:62%;height:62%}.idcard[data-state=verified]{--card-tint: var(--success)}.idcard[data-state=verified] .idcard-stamp{border-color:color-mix(in srgb,var(--success) 46%,transparent)}.idcard[data-state=verified] .idcard-stamp i{background:var(--success);color:var(--flonk-white)}.idcard[data-state=rejected]{--card-tint: var(--danger);--card-diffraction-o: .18}.idcard[data-state=rejected] .idcard-plate{filter:grayscale(.5)}.idcard[data-state=rejected] .idcard-stamp{border-color:color-mix(in srgb,var(--danger) 46%,transparent)}.idcard[data-state=rejected] .idcard-stamp i{background:var(--danger);color:var(--flonk-white)}.idcard[data-state=scanning]{--card-tint: var(--card-cool)}.idcard[data-state=scanning] .idcard-portrait:after{opacity:.85;top:46%}.idcard[data-state=pending]{--card-diffraction-o: .1;--card-guilloche-o: .3}.idcard[data-state=pending] .idcard-holo{opacity:.3}@media(prefers-reduced-motion:no-preference){.idcard-scene[data-float] .idcard{animation:idcard-float 7s ease-in-out infinite}.idcard-holo{animation:idcard-holo 7s ease-in-out infinite}.idcard[data-state=scanning] .idcard-portrait:after{opacity:.9;animation:idcard-scan 2.6s var(--ease) infinite}.idcard[data-state=scanning] .idcard-plate:before{content:"";position:absolute;left:0;right:0;height:34%;top:-40%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--card-cool) 14%,transparent) 44%,color-mix(in srgb,var(--card-cool) 62%,transparent) 50%,color-mix(in srgb,var(--card-cool) 14%,transparent) 56%,transparent);animation:idcard-sweep 3.6s var(--ease) infinite}.idcard-scene[data-parallax] .idcard{transition:transform .12s linear}}@keyframes idcard-float{0%,to{translate:0 0}50%{translate:0 -7px}}@keyframes idcard-holo{0%,to{filter:saturate(.85) hue-rotate(0deg)}50%{filter:saturate(1.06) hue-rotate(-34deg)}}@keyframes idcard-scan{0%{top:-10%}60%,to{top:106%}}@keyframes idcard-sweep{0%{top:-40%}58%,to{top:118%}}.verify-mark{--vm-size: 112px;--vm-bracket: 3px;--vm-arm: 27%;position:relative;width:var(--vm-size);height:var(--vm-size);margin-inline:auto;flex:none;isolation:isolate;--vm-line: var(--focus-ring)}.verify-mark[data-size=sm]{--vm-size: 84px;--vm-bracket: 2.5px}:root[data-theme=dark] .verify-mark,.theme-dark .verify-mark{--vm-line: var(--brand)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .verify-mark{--vm-line: var(--brand)}}.verify-mark:before{content:"";position:absolute;z-index:0;left:50%;top:52%;width:156%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 14%,transparent) 0%,transparent 64%);filter:blur(16px);pointer-events:none}.vm-frame{position:absolute;z-index:2;inset:0;background:linear-gradient(var(--vm-line) 0 0) 0 0 / var(--vm-bracket) var(--vm-arm) no-repeat,linear-gradient(var(--vm-line) 0 0) 0 0 / var(--vm-arm) var(--vm-bracket) no-repeat,linear-gradient(var(--vm-line) 0 0) 100% 0 / var(--vm-bracket) var(--vm-arm) no-repeat,linear-gradient(var(--vm-line) 0 0) 100% 0 / var(--vm-arm) var(--vm-bracket) no-repeat,linear-gradient(var(--vm-line) 0 0) 0 100% / var(--vm-bracket) var(--vm-arm) no-repeat,linear-gradient(var(--vm-line) 0 0) 0 100% / var(--vm-arm) var(--vm-bracket) no-repeat,linear-gradient(var(--vm-line) 0 0) 100% 100% / var(--vm-bracket) var(--vm-arm) no-repeat,linear-gradient(var(--vm-line) 0 0) 100% 100% / var(--vm-arm) var(--vm-bracket) no-repeat;border-radius:20px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 99%,#000 100%);mask-image:radial-gradient(circle at 50% 50%,#000 99% 100%)}.vm-face{position:absolute;z-index:1;left:50%;top:50%;width:42%;transform:translate(-50%,-46%);aspect-ratio:.86;color:color-mix(in srgb,var(--flonk-ink-500) 46%,transparent)}:root[data-theme=dark] .vm-face,.theme-dark .vm-face{color:color-mix(in srgb,var(--flonk-white) 62%,transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .vm-face{color:color-mix(in srgb,var(--flonk-white) 62%,transparent)}}.vm-face:before,.vm-face:after{content:"";position:absolute;left:50%;transform:translate(-50%);background:currentColor}.vm-face:before{top:0;width:52%;aspect-ratio:1;border-radius:50%}.vm-face:after{bottom:0;width:100%;height:42%;border-radius:50% 50% 8px 8px}.vm-scan{position:absolute;z-index:3;inset:12% 8%;overflow:hidden;pointer-events:none}.vm-scan:before{content:"";position:absolute;left:0;right:0;top:46%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--flonk-teal-400) 85%,transparent) 22%,color-mix(in srgb,var(--brand) 92%,transparent) 78%,transparent);opacity:.55}@media(prefers-reduced-motion:no-preference){.vm-scan:before{animation:vm-scan 4.2s var(--ease) .6s infinite}@keyframes vm-scan{0%,8%{top:8%;opacity:0}18%{opacity:.75}72%{opacity:.75}82%,to{top:88%;opacity:0}}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--family-body)}.wrap{max-width:1240px;margin:0 auto;padding:0 24px 96px}.site-header{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}.site-header .row{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:16px}.site-nav{margin-left:auto;display:flex;gap:2px;align-items:center}.site-nav a{padding:8px 12px;border-radius:var(--r-control);font-size:var(--type-sm);color:var(--text-muted);text-decoration:none}.site-nav a:hover{background:var(--surface-sunken);color:var(--text)}@media(max-width:860px){.site-nav a:not(.btn){display:none}}.brand-lockup{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);font-weight:600;letter-spacing:var(--ls-tight)}.brand-mark{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:8px;background:var(--brand);color:var(--brand-fg)}.brand-mark svg{width:17px;height:17px}.brand-lockup-dot{color:var(--text-muted)}.brand-lockup-tag{padding:1px 7px;border-radius:var(--r-pill);background:var(--surface-sunken);border:1px solid var(--border-strong);font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-subtle)}.brand-eyebrow{margin:0;font-size:var(--type-eyebrow);line-height:var(--lh-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;font-weight:600;color:var(--text-subtle)}.layout{display:grid;grid-template-columns:1fr;gap:28px;padding-top:32px}@media(min-width:1060px){.layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start}}main,.layout>*,.hero>*{min-width:0}.hero{position:relative;display:grid;gap:28px;padding:40px 36px 36px;border-radius:var(--r-frame);border:1px solid var(--border);background:var(--surface);box-shadow:var(--elev-md);overflow:hidden}@media(min-width:720px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}}@media(max-width:520px){.hero{padding:28px 20px 24px}.wrap{padding:0 16px 72px}}.hero h1{font-size:clamp(1.875rem,3.4vw,2.75rem);line-height:1.06;max-width:16ch;letter-spacing:-.03em;margin:14px 0 0}.hero .lede{margin-top:16px;max-width:48ch}.hero .cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero-art{display:grid;place-items:center}.hero-art .idcard-scene{--idcard-w: min(360px, 88%)}.proto-note{display:flex;gap:10px;margin:26px 0 0;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r-field);background:var(--surface-sunken)}.proto-note b{font-weight:600}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border);border-radius:var(--r-card);overflow:hidden;border:1px solid var(--border);margin:0}.facts>div{background:var(--surface);padding:14px 16px}.facts dt{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);font-weight:600}.facts dd{margin:4px 0 0;font-size:var(--type-title);font-weight:600;letter-spacing:-.02em}.section{margin-top:32px}.section>h2{font-size:var(--type-h3);line-height:var(--lh-h3);letter-spacing:-.02em;margin:0}.section>p.sub{margin:6px 0 0;max-width:60ch}.steps-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:1px;background:var(--border);border-radius:var(--r-card);overflow:hidden;border:1px solid var(--border)}.steps-list li{background:var(--surface);padding:18px 20px;display:flex;gap:16px}.steps-list b.n{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--surface-sunken);border:1px solid var(--border-strong);color:var(--text-muted);font-size:var(--type-xs)}.steps-list li[data-here="1"]{background:var(--surface-sunken)}.steps-list li[data-here="1"] b.n{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.here-tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--r-pill);background:var(--brand-subtle);border:1px solid var(--border-strong);font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:600;color:var(--text-muted);vertical-align:2px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border-strong);font-size:var(--type-xs);color:var(--text-muted);background:var(--surface)}.integrator{display:grid;gap:20px;margin-top:16px;padding:20px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}@media(min-width:640px){.integrator{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}}.integrator p{margin:0}.integrator-proof{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--r-field);background:var(--surface-sunken);border:1px solid var(--border)}.powered-by{display:inline-flex;align-items:center;gap:7px;font-size:var(--type-xs);color:var(--text-muted)}.powered-by-mark{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:var(--focus-ring);color:var(--surface)}.powered-by-mark svg{width:12px;height:12px}.powered-by b{color:var(--text)}.panel{position:sticky;top:74px;display:flex;flex-direction:column;gap:16px}.panel-card{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--elev-sm);overflow:hidden}.panel-head{padding:16px 18px 14px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:var(--type-body);letter-spacing:-.01em;margin:0}.panel-head p{margin:4px 0 0}.tabs{display:flex;gap:2px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-sunken);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:1 0 auto;min-height:36px;padding:0 12px;border-radius:var(--r-control);border:1px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--type-sm);font-weight:500;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab[aria-selected=true]{background:var(--surface);color:var(--text);border-color:var(--border-strong);font-weight:600;box-shadow:var(--elev-xs)}.tabpanel{padding:16px 18px 18px}.tabpanel[hidden]{display:none}.ctrl{display:flex;flex-direction:column;gap:6px}.ctrl+.ctrl{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.ctrl>span.lbl,.ctrl>label{font-size:var(--type-sm);font-weight:600}.ctrl>p.note{font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-subtle);margin:0}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg label{flex:1 1 auto;position:relative}.seg input{position:absolute;opacity:0;pointer-events:none}.seg span{display:block;text-align:center;padding:9px 10px;min-height:40px;border:1px solid var(--border-field);border-radius:var(--r-control);font-size:var(--type-sm);cursor:pointer;white-space:nowrap}.seg input:checked+span{background:var(--text);color:var(--text-inverse);border-color:var(--text)}.seg input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.switch-row:first-of-type{border-top:0}.switch-row label{font-size:var(--type-sm)}.switch-row input{width:20px;height:20px;accent-color:var(--focus-ring)}select.input,input.input{width:100%}.swatches{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.swatch{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-field);cursor:pointer;padding:0}.swatch[aria-pressed=true]{outline:2px solid var(--focus-ring);outline-offset:2px}.color-row{display:flex;gap:8px;align-items:center}.color-row input[type=color]{width:52px;height:48px;padding:4px;border-radius:var(--r-field);border:1px solid var(--border-field);background:var(--surface);cursor:pointer}.brand-preview{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:var(--r-field);background:var(--surface-sunken);border:1px solid var(--border);flex-wrap:wrap}.brand-preview .swatch-cta{min-height:34px;padding:0 14px;border-radius:var(--r-control);display:grid;place-items:center;font-size:var(--type-sm);font-weight:600}.brand-preview .swatch-ring{width:22px;height:22px;border-radius:50%;border:2px solid var(--focus-ring);flex:none}.brand-verdict{flex:1 1 100%;margin:0}.brand-verdict[data-ok=false]{color:var(--danger)}.panel-foot{padding:14px 18px 18px;border-top:1px solid var(--border);background:var(--surface-sunken);display:flex;flex-direction:column;gap:8px}.console{display:flex;flex-direction:column;min-height:220px;max-height:42vh}.console-head{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border)}.console-head h2{margin:0;font-size:var(--type-sm)}.console-log{flex:1;overflow-y:auto;margin:0;padding:8px 0;list-style:none;font-family:var(--family-mono);font-size:11.5px;line-height:1.45}.console-log li{padding:4px 18px;border-left:3px solid transparent;display:grid;grid-template-columns:52px 1fr;gap:8px}.console-log li time{color:var(--text-subtle)}.console-log li b{font-weight:600}.console-log li[data-dir=iframe→host]{border-left-color:var(--info)}.console-log li[data-dir=host→iframe]{border-left-color:var(--success)}.console-log li[data-dir=sdk]{border-left-color:var(--border-strong)}.console-log li[data-dir=ws]{border-left-color:var(--brand)}.console-log li[data-level=warn]{background:var(--warning-bg)}.console-log pre{margin:2px 0 0;white-space:pre-wrap;word-break:break-word;color:var(--text-muted)}.console-empty{padding:12px 18px;color:var(--text-subtle);font-size:var(--type-xs)}#inline-host{display:none;border:1px dashed var(--border-field);border-radius:var(--r-card);padding:12px;background:var(--surface);max-width:100%}#inline-host.active{display:block}.size-row{display:flex;gap:8px}.size-field{flex:1;display:flex;flex-direction:column;gap:4px}#inline-size .seg{margin-top:8px}#inline-size .seg .btn{flex:1 1 auto}#inline-size[data-inactive=true]{opacity:.55}.phone-row{display:flex;gap:14px;align-items:flex-start}.phone-qr{flex:none;width:116px;height:116px;border-radius:var(--r-field);border:1px solid var(--border-strong);background:var(--flonk-white);padding:4px;display:grid;place-items:center}.phone-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}.phone-meta p{margin:0;word-break:break-all}.phone-actions{display:flex;gap:8px;flex-wrap:wrap}.measured{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.measured code{font-family:var(--family-mono);font-size:var(--type-xs)}.footer-note{margin-top:40px;max-width:72ch}.fk-need{margin:16px 0 0;font-size:var(--type-sm);line-height:var(--lh-sm);color:var(--text-subtle)}.fk-agree{margin:2px 0 0;font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-subtle);text-align:center}.fk-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px}.fk-legal a{padding:6px 2px;font-size:var(--type-sm);font-weight:500;color:var(--text-muted);text-decoration:none}.fk-legal a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.fk-shell[data-step=consent] .fk-check{padding:10px 12px;color:var(--text);line-height:var(--lh-sm)}.fk-shell[data-step=consent] .fk-foot:not(:has(.fk-why)):after{content:"";display:block;height:var(--lh-body);order:1}.fk-shell[data-step=consent] .fk-foot .fk-legal{order:2}.fk-doc-mark{padding:6px 0 14px}.fk-doc-svg{display:block;width:var(--fk-doc-svg-w, 196px);height:auto;margin-inline:auto;color:color-mix(in srgb,var(--text) 42%,transparent)}.fk-doc-svg .fk-doc-accent{color:var(--brand)}.fk-doc-svg .fk-doc-ink{color:color-mix(in srgb,var(--text) 78%,transparent)}:root[data-theme=dark] .fk-doc-svg{color:color-mix(in srgb,var(--text) 46%,transparent)}:root[data-theme=dark] .fk-doc-svg .fk-doc-ink{color:var(--text)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fk-doc-svg{color:color-mix(in srgb,var(--text) 46%,transparent)}:root:not([data-theme=light]) .fk-doc-svg .fk-doc-ink{color:var(--text)}}@media(max-height:600px),(max-width:340px){.fk-doc-svg{width:var(--fk-doc-svg-w, 156px)}}[data-step="document.capture"] .fk-guide-edge{stroke:var(--flonk-white)}[data-step="document.capture"] .fk-stage[data-fb=warn] .fk-guide-edge{stroke:var(--warning)}[data-step="document.capture"] .fk-picker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;padding:16px;border:1px dashed var(--border-field);border-radius:var(--r-field);background:var(--surface-sunken);text-align:center;position:relative;margin-top:28px}[data-step="document.capture"] .fk-picker:hover{border-color:var(--text-subtle)}[data-step="document.capture"] .fk-picker:before{content:"";position:absolute;left:0;right:0;top:-15px;height:1px;background:var(--border-strong)}.fk-preview{display:block;width:auto;height:auto;max-width:100%;max-height:52vh;margin:0 auto 16px;border-radius:var(--r-card)}.fk-detect{display:flex;gap:14px;align-items:center;padding:14px;border-radius:var(--r-card);border:1px solid var(--border-strong);background:var(--surface)}.fk-detect-label{margin:0;font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.fk-detect-conf{margin:0;font-size:var(--type-xs);color:var(--text-muted)}.fk-illus-sm{flex:none;width:104px}.fk-illus-sm .idcard-scene{--idcard-w: 100%;padding:2px 0 6px}.fk-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border-field);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--type-sm);font-weight:500;cursor:pointer;transition:background var(--d-micro) var(--ease),border-color var(--d-micro) var(--ease)}.fk-chip:hover{background:var(--surface-sunken);border-color:var(--text-subtle)}.fk-chip[aria-pressed=true]{background:var(--brand-subtle);border-color:var(--brand);font-weight:600}.fk-preview-grid{display:grid;grid-template-columns:1fr;gap:10px}.fk-preview-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:var(--r-field);background:var(--surface)}.fk-preview-thumb{flex:none;border-radius:8px;overflow:hidden;background:var(--flonk-ink-900);display:grid;place-items:center;min-width:78px;min-height:58px}.fk-preview-thumb img{display:block;width:auto;height:auto;max-width:128px;max-height:128px}.fk-preview-thumb[data-shape=portrait]{border-radius:var(--r-field);min-width:110px;min-height:110px}.fk-preview-thumb[data-shape=portrait] img{max-width:150px;max-height:200px}.fk-preview-meta{flex:1;min-width:0}.fk-preview-name{margin:0;font-size:var(--type-sm);font-weight:600}.fk-preview-conf{margin:0;font-size:var(--type-xs);color:var(--text-muted)}.fk-shell[data-step="face.capture"] .fk-body{display:flex;flex-direction:column;gap:12px;overflow:hidden}.fk-shell[data-step="face.capture"] .fk-body>*{flex:none}.fk-shell[data-step="face.capture"] .fk-stage[data-shape=oval]{flex:1 1 auto;aspect-ratio:auto;min-height:200px;margin-bottom:0}.fk-stage[data-shape=oval] .fk-video{transform:scaleX(-1)}.fk-face-guide{position:relative;display:grid;place-items:center;padding:10px 0 16px;isolation:isolate}.fk-face-oval{width:116px;aspect-ratio:3 / 4;border-radius:48% 48% 44% 44%/40% 40% 56% 56%;border:2px solid var(--border-field);background:radial-gradient(circle at 50% 34%,var(--border-strong) 0 26%,transparent 27%),radial-gradient(ellipse 60% 46% at 50% 108%,var(--border-strong) 0 60%,transparent 62%),var(--surface-sunken)}.fk-face-guide i{position:absolute;width:18px;height:18px;border:2px solid var(--brand)}.fk-face-guide i:nth-child(2){left:calc(50% - 74px);top:22px;border-right:0;border-bottom:0;border-radius:5px 0 0}.fk-face-guide i:nth-child(3){left:calc(50% + 56px);top:22px;border-left:0;border-bottom:0;border-radius:0 5px 0 0}.fk-face-guide i:nth-child(4){left:calc(50% - 74px);bottom:26px;border-right:0;border-top:0;border-radius:0 0 0 5px}.fk-face-guide i:nth-child(5){left:calc(50% + 56px);bottom:26px;border-left:0;border-top:0;border-radius:0 0 5px}.fk-shell[data-step="face.review"] .fk-preview{width:auto;max-width:150px;max-height:200px;margin-inline:auto;border-radius:var(--r-field)}.fk-shell:is([data-step=success],[data-step=action_required],[data-step=manual_review],[data-step=rejected],[data-step=expired],[data-step=error]){--fk-outcome: var(--text-subtle);--fk-outcome-bg: var(--surface-sunken);--fk-outcome-border: var(--border-strong)}.fk-shell[data-tone=success]{--fk-outcome: var(--success);--fk-outcome-bg: var(--success-bg);--fk-outcome-border: var(--success-border)}.fk-shell[data-tone=warning]{--fk-outcome: var(--warning);--fk-outcome-bg: var(--warning-bg);--fk-outcome-border: var(--warning-border)}.fk-shell[data-tone=danger]{--fk-outcome: var(--danger);--fk-outcome-bg: var(--danger-bg);--fk-outcome-border: var(--danger-border)}.fk-outcome-mark{width:56px;height:56px;margin:4px auto 0;border-radius:50%;display:grid;place-items:center;color:var(--fk-outcome);background:var(--fk-outcome-bg);border:1px solid var(--fk-outcome-border)}.fk-outcome-mark.fk-glow{position:relative;isolation:isolate}.fk-outcome-mark.fk-glow:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:92%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 18%,transparent),transparent 62%);filter:blur(16px);pointer-events:none}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps{gap:10px;margin-top:16px}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps>li{padding:14px;gap:10px;align-items:flex-start;border-radius:var(--r-field);border:1px solid var(--fk-outcome-border);background:var(--surface)}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps>li:not(.is-last):before{content:none}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps-n{background:var(--fk-outcome-bg);color:var(--fk-outcome);border:1px solid var(--fk-outcome-border)}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps-b{margin-top:6px;padding:10px 12px;border-radius:10px;background:var(--surface-sunken);color:var(--text-muted)}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected]) .fk-steps-b:empty{display:none}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected],[data-step=error]) .fk-points{margin-top:12px;gap:4px}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected],[data-step=error]) .fk-points li{padding-left:0;color:var(--text-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--type-xs, var(--type-sm));direction:ltr;unicode-bidi:isolate}.fk-shell:is([data-step=action_required],[data-step=manual_review],[data-step=rejected],[data-step=error]) .fk-points li:before{content:none}.fk-shell:is([data-step=success],[data-step=expired]) .fk-body{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:12px}.fk-progress-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 0}.fk-progress-meta>span{font-size:var(--type-sm);line-height:var(--lh-sm);color:var(--text-muted);margin:0}.fk-progress-meta .fk-elapsed{font-family:var(--family-mono);font-variant-numeric:tabular-nums}.fk-wait{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column}.fk-wait-stage{position:relative;display:flex;gap:14px;padding:0 0 16px;align-items:flex-start}.fk-wait-stage:last-child{padding-bottom:0}.fk-wait-stage:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:2px;border-radius:1px;background:var(--border-strong)}.fk-wait-stage[data-state=done]:not(:last-child):before{background:var(--success-border)}.fk-wait-mark{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-subtle)}.fk-wait-stage[data-state=done] .fk-wait-mark{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.fk-wait-stage[data-state=active] .fk-wait-mark{border-color:var(--brand);background:var(--brand-subtle);color:var(--text)}.fk-wait-mark svg{width:14px;height:14px}.fk-wait-text{min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:1px}.fk-wait-text b{font-size:var(--type-sm);line-height:var(--lh-sm);font-weight:var(--weight-semibold)}.fk-wait-stage[data-state=pending] .fk-wait-text b{font-weight:var(--weight-medium);color:var(--text-subtle)}.fk-wait-text>span{font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-muted)}.fk-wait-track{height:3px;margin-top:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.fk-wait-track>i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width var(--motion-slow) var(--motion-ease)}@media(prefers-reduced-motion:no-preference){.fk-wait-track[data-indeterminate]>i{width:38%;animation:fk-wait-slide 1.9s var(--motion-ease) infinite}}@media(prefers-reduced-motion:reduce){.fk-wait-track[data-indeterminate]>i{width:100%;opacity:.45}}@keyframes fk-wait-slide{0%{transform:translate(-110%)}to{transform:translate(300%)}}.fk-escalation{margin:12px 0 0;font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-subtle)}.fk-escalation[hidden]{display:none}.fk-next-step{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:12px 14px;border-radius:var(--r-field);background:var(--surface-sunken);border:1px solid var(--border);font-size:var(--type-sm);line-height:var(--lh-sm)}.fk-next-step .fk-next-step-mark{flex:none;margin-top:1px;color:var(--text-subtle)}.fk-next-step .fk-next-step-mark svg{width:16px;height:16px;display:block}.fk-next-step b{display:block;font-weight:var(--weight-semibold)}.fk-next-step span span,.fk-next-step>span>span{color:var(--text-muted)}.fk-listening{display:flex;align-items:center;gap:10px;margin:16px 0 0;font-size:var(--type-sm);line-height:var(--lh-sm);color:var(--text-muted)}.fk-listening .fk-pulse{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-subtle)}@media(prefers-reduced-motion:no-preference){.fk-listening .fk-pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--brand);animation:fk-listen-pulse 2.4s var(--motion-ease) infinite}}@keyframes fk-listen-pulse{0%{transform:scale(.6);opacity:.9}70%,to{transform:scale(1.9);opacity:0}}.fk-listening[data-state=down] .fk-pulse{background:var(--border-strong);box-shadow:none}.fk-listening[data-state=down] .fk-pulse:after{display:none}.fk-qr-copy{width:100%;max-width:200px}.fk-qr[data-connected]{border-color:var(--border-strong);background:var(--surface-sunken)}.fk-qr-status{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;font-size:var(--type-sm);color:var(--text-muted)}.fk-qr-status:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-subtle)}@media(prefers-reduced-motion:no-preference){.fk-qr-status:before{animation:fk-pulse-ring 2.4s var(--ease) infinite}}@keyframes fk-pulse-ring{0%{box-shadow:0 0 0 0 var(--brand-subtle)}70%,to{box-shadow:0 0 0 9px transparent}}.fk-shell[data-step="handoff.done"] .fk-tips{background:var(--success-bg);border:1px solid var(--success-border)}.fk-shell[data-step="handoff.done"] .fk-tips li{color:var(--text)}.fk-shell[data-step="handoff.done"] .fk-tips li svg{color:var(--success)}.fk-handoff{display:flex;flex-direction:column;gap:12px}.fk-handoff[data-live]{padding:14px;border:1px solid var(--border-strong);border-radius:var(--r-card);background:var(--surface-sunken)}.fk-handoff-lead{display:flex;align-items:center;gap:10px;margin:0;font-size:var(--type-sm)}.fk-handoff .fk-pulse{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:var(--border-strong)}.fk-handoff[data-live] .fk-pulse{background:var(--brand);box-shadow:0 0 0 4px var(--brand-subtle)}@media(prefers-reduced-motion:no-preference){.fk-handoff[data-live] .fk-pulse{animation:fk-handoff-pulse 2.4s var(--ease) infinite}}@keyframes fk-handoff-pulse{0%{box-shadow:0 0 0 0 var(--brand-subtle)}70%,to{box-shadow:0 0 0 9px transparent}}.fk-handoff-count{margin-left:auto;font-size:var(--type-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums}.fk-handoff-bar{height:3px;border-radius:var(--r-pill);background:var(--border-strong);overflow:hidden}.fk-handoff-bar>i{display:block;width:0;height:100%;background:var(--brand);transition:width var(--motion-slow) var(--ease)}.fk-handoff-stages{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column}.fk-handoff-stages>li{position:relative;display:flex;gap:14px;align-items:flex-start;padding:0 0 16px}.fk-handoff-stages>li:last-child{padding-bottom:0}.fk-handoff-stages>li:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:2px;border-radius:1px;background:var(--border-strong)}.fk-handoff-stages>li[data-state=done]:not(:last-child):before{background:var(--success-border)}.fk-handoff-mark{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface);border:1px solid var(--border-field);color:var(--text-subtle)}.fk-handoff-stages>li[data-state=done] .fk-handoff-mark{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.fk-handoff-stages>li[data-state=active] .fk-handoff-mark{background:var(--brand-subtle);border-color:var(--brand);color:var(--text)}.fk-handoff-text{min-width:0;display:flex;flex-direction:column;gap:2px;padding-top:1px}.fk-handoff-text b{font-size:var(--type-sm);font-weight:var(--weight-semibold);line-height:var(--lh-sm)}.fk-handoff-text span{font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-muted)}.fk-handoff-stages>li[data-state=pending] .fk-handoff-text b{font-weight:var(--weight-normal);color:var(--text-subtle)}.fk-shell{position:relative}.fk-trust{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0 8px;margin:0;font-size:var(--type-xs);line-height:var(--lh-body);color:var(--text-subtle)}.fk-trust-lock{flex:none}.fk-trust-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fk-clock{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}.fk-clock[data-urgent]{color:var(--warning);font-weight:600}.fk-legal-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;font-size:var(--type-xs);line-height:var(--lh-xs);color:var(--text-subtle)}.fk-controller{min-width:0}.fk-controller a{color:inherit;text-underline-offset:2px}.fk-attribution{display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap;color:inherit;font-weight:400;text-decoration:none}.fk-attribution-mark{flex:none;display:block;width:12px;height:12px;color:inherit}.fk-attribution-mark svg{width:100%;height:100%;display:block}.fk-attribution b{font-weight:600;color:var(--text-muted)}.fk-attribution[data-compact] .fk-attribution-label{display:none}.fk-mode{margin:calc(var(--space-gutter) * -1) calc(var(--space-gutter) * -1) 0;padding:6px 12px;text-align:center;background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--warning-border);font-size:var(--type-xs);line-height:var(--lh-body);font-weight:600;letter-spacing:.02em}.fk-boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:var(--type-sm);line-height:var(--lh-sm);transition:opacity var(--d-base, .2s) var(--ease, ease)}.fk-boot[data-clear]{opacity:0;visibility:hidden;pointer-events:none}.fk-boot[data-over=camera]{z-index:3;background:var(--flonk-ink-950);color:color-mix(in srgb,var(--flonk-white) 86%,transparent)}.fk-boot[data-over=shell]{z-index:8;background:var(--surface);color:var(--text-subtle);border-radius:inherit}.fk-boot-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:fk-spin .7s linear infinite}.fk-boot-note{max-width:22ch;text-align:center}@media(prefers-reduced-motion:reduce){.fk-boot-spinner{animation-duration:3s}.fk-boot{transition:none}}.fk-shell{box-sizing:border-box;position:relative;display:flex;flex-direction:column;min-height:100%;max-height:100dvh;min-height:0;flex:1;width:100%;max-width:520px;margin:0 auto;padding:var(--space-gutter);gap:20px;background:var(--surface);color:var(--text);font-family:var(--family-body)}.fk-shell *,.fk-shell *:before,.fk-shell *:after{box-sizing:border-box}.fk-body>*{margin-top:0;margin-bottom:0;flex:none}.fk-step{margin:0;font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}.fk-title{margin:4px 0 0;font-size:var(--type-title);line-height:1.2;letter-spacing:var(--ls-tight)}.fk-title:focus{outline:none}.fk-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.fk-shell[data-step="document.capture"] .fk-body,.fk-shell[data-step="face.capture"] .fk-body{display:flex;flex-direction:column;gap:12px;overflow:hidden}.fk-shell[data-step="document.capture"] .fk-body>*,.fk-shell[data-step="face.capture"] .fk-body>*{flex:none}.fk-shell[data-step="face.capture"] .fk-stage{flex:1 1 auto;margin-bottom:0}.fk-shell[data-step="document.capture"] .fk-stage{flex:0 1 auto;margin-bottom:0}.fk-lede{color:var(--text-muted);line-height:var(--lh-body)}.fk-points{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}.fk-points li{padding-left:22px;position:relative;color:var(--text-muted);font-size:var(--type-sm)}.fk-points li:before{content:"";position:absolute;left:4px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--brand)}.fk-stage{position:relative;width:100%;overflow:hidden;border-radius:var(--r-card);background:var(--flonk-ink-950);margin-bottom:16px}.fk-stage[data-shape=card]{aspect-ratio:4 / 3;max-height:100%;min-height:180px}.fk-stage[data-shape=oval]{flex:1 1 auto;aspect-ratio:auto;min-height:200px}.fk-video{width:100%;height:100%;object-fit:cover;display:block}.fk-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fk-correct{margin:6px 0 0;font-size:var(--type-xs);color:var(--text-muted);line-height:var(--lh-body)}.fk-link{padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.fk-detect{display:block;padding:12px;border-radius:var(--r-card);border:1px solid var(--border-strong);background:var(--surface)}.fk-detect-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fk-detect-label{margin:0;font-size:var(--type-xs);color:var(--text-subtle)}.fk-detect-type{margin:0;font-size:var(--type-title);font-weight:600}.fk-cue{display:flex;align-items:center;gap:12px;text-align:left}.fk-cue p{margin:0}.fk-cue b{display:block;font-weight:600}.fk-cue-body{color:var(--text-muted)}.fk-cue-mark{display:block;width:72px;flex:none}.fk-cue-mark svg{width:72px;height:auto}.fk-analysing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0a0e148c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2}.fk-analysing__ring{animation:fk-spin .9s linear infinite}.fk-analysing__text{margin:0;max-width:80%;text-align:center;font-size:14px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:#ffffffeb}@media(prefers-reduced-motion:reduce){.fk-analysing__ring{animation-duration:3s}}.fk-guide{position:absolute;inset:0;width:100%;height:100%}.fk-guide-edge{fill:none;stroke:var(--capture-edge);stroke-width:3;filter:drop-shadow(0 0 2px var(--flonk-ink-950))}.fk-stage[data-feedback=warn] .fk-guide-edge{stroke:var(--warning)}.fk-guide-veil{fill:var(--scrim)}.fk-notice{margin:0 0 16px;padding:12px 14px;border-radius:var(--r-field);font-size:var(--type-sm);line-height:var(--lh-body);border:1px solid}.fk-notice[data-tone=warning]{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border)}.fk-notice[data-tone=danger]{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border)}.fk-foot{display:grid;gap:10px}.fk-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px solid transparent;border-radius:var(--r-field);font:inherit;font-weight:600;cursor:pointer}.fk-btn>svg{flex:none}.fk-btn--primary{background:var(--brand);color:var(--brand-fg);border-color:color-mix(in oklab,var(--brand) 62%,var(--text))}.fk-btn--primary:hover{background:var(--brand-hover)}.fk-btn--primary:active{background:var(--brand-active)}.fk-btn--secondary{background:var(--surface-sunken);color:var(--text);border-color:var(--border-field)}.fk-btn--ghost{background:transparent;color:var(--text-muted)}.fk-btn[aria-disabled=true]{background:var(--surface-sunken);color:var(--text-muted);border-color:var(--border-field);cursor:not-allowed}.fk-btn[aria-disabled=true]:hover{background:var(--surface-sunken)}.fk-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.fk-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border-field);border-radius:var(--r-field);color:var(--text-muted);font-size:var(--type-sm);line-height:var(--lh-body);cursor:pointer}.fk-check input{margin:2px 0 0;width:20px;height:20px;accent-color:var(--brand);flex:none}.fk-why{margin:0;min-height:1.2em;font-size:var(--type-xs);color:var(--text-muted);text-align:center}.fk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.fk-qr{display:grid;justify-items:center;gap:14px;padding:20px;border:1px solid var(--border-field);border-radius:var(--r-card);background:var(--surface-sunken)}.fk-qr-code{padding:12px;background:#fff;border-radius:var(--r-control);line-height:0}.fk-qr-code svg{display:block}.fk-spinner{width:24px;height:24px;margin:8px auto;border-radius:50%;border:2px solid var(--border-field);border-top-color:var(--brand);animation:fk-spin 1s linear infinite}.fk-spinner--sm{width:16px;height:16px;margin:0;border-width:2px}.fk-spinner--inline{width:1em;height:1em;margin:0 .5em 0 0;border-width:2px;border-top-color:currentColor;vertical-align:-.125em;display:inline-block}@keyframes fk-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.fk-spinner{animation-duration:3s}}.fk-picker{display:block;padding:20px;border:2px dashed var(--border-field);border-radius:var(--r-card);text-align:center;color:var(--text-muted);font-size:var(--type-sm);cursor:pointer}.fk-picker:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.fk-picker input{position:absolute;width:1px;height:1px;opacity:0}.fk-guide-hold{fill:none;stroke:var(--color-brand, var(--brand));stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke-dasharray .18s linear}.fk-coach{position:absolute;left:50%;bottom:12px;transform:translate(-50%);margin:0;padding:6px 14px;max-width:88%;border-radius:999px;background:#0c10149e;color:#fff;font-size:var(--type-sm);text-align:center;pointer-events:none}.fk-code{display:flex;flex-direction:column;gap:8px}.fk-code-label{font-size:var(--type-sm);font-weight:500;color:var(--text-muted)}.fk-code-input{font-family:var(--family-mono, ui-monospace, monospace);font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:.32em;text-align:center;text-indent:.32em;padding:12px 14px;color:var(--text);background:var(--surface, transparent);border:1px solid var(--border-field);border-radius:var(--r-field, var(--r-card))}.fk-code-input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.fk-code-input:disabled{opacity:.6}.fk-code-hint{margin:0;font-size:var(--type-sm);color:var(--text-muted)}.fk-code-actions{display:flex;flex-direction:column;gap:8px}.fk-preview{display:block;width:auto;height:auto;max-width:100%;max-height:52vh;border-radius:var(--r-card);margin:0 auto 16px}.fk-track{height:2px;background:var(--border);flex:none;margin:-24px -24px 0}.fk-track>i{display:block;height:100%;background:var(--brand);transition:width .32s cubic-bezier(.2,.8,.2,1)}@media(prefers-reduced-motion:reduce){.fk-track>i{transition:none}}.fk-mark{position:relative;width:84px;height:84px;margin:4px auto 20px;color:var(--focus-ring);isolation:isolate}.fk-mark:before{content:"";position:absolute;z-index:0;left:50%;top:52%;width:156%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 14%,transparent) 0%,transparent 64%)}.fk-mark>svg{position:relative;z-index:1}:root[data-theme=dark] .fk-mark{color:var(--brand)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .fk-mark{color:var(--brand)}}.fk-steps{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column}.fk-steps>li{display:flex;gap:14px;position:relative;padding-bottom:18px}.fk-steps>li.is-last{padding-bottom:0}.fk-steps>li:not(.is-last):before{content:"";position:absolute;left:13px;top:32px;bottom:2px;width:1.5px;background:var(--border-strong)}.fk-steps-n{flex:none;width:27px;height:27px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:var(--brand-fg);font-size:var(--type-sm);font-weight:600;line-height:1}.fk-steps-t{display:flex;flex-direction:column;gap:2px;min-width:0}.fk-steps-h{font-weight:600}.fk-steps-b{font-size:var(--type-sm);color:var(--text-muted);line-height:var(--lh-body)}.fk-tips{list-style:none;margin:20px 0 0;border:1px solid var(--border);padding:16px;background:var(--surface-sunken);border-radius:var(--r-card);display:flex;flex-direction:column;gap:10px}.fk-tips li{display:flex;gap:10px;align-items:flex-start;font-size:var(--type-sm);line-height:var(--lh-body);color:var(--text)}.fk-tips li svg{flex:none;margin-top:2px;color:var(--text-subtle)}.fk-intro{display:flex;align-items:center;gap:16px}.fk-intro .fk-mark{width:62px;height:62px;margin:0;flex:none}.fk-intro .fk-lede{margin:0}.fk-need{margin:16px 0 0;font-size:var(--type-sm);color:var(--text-subtle);line-height:var(--lh-body)}.fk-agree{margin:0;font-size:var(--type-xs);color:var(--text-subtle);text-align:center;line-height:var(--lh-body)}.fk-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}.fk-legal a{font-size:var(--type-xs);color:var(--text-muted);text-underline-offset:3px;padding:6px 0}.fk-legal a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fk-head{display:flex;align-items:flex-start;gap:8px}.fk-head-text{flex:1;min-width:0}.fk-icon-btn{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-muted);font-size:22px;line-height:1;border-radius:var(--r-field);cursor:pointer}.fk-icon-btn:hover{background:var(--surface-sunken);color:var(--text)}.fk-icon-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.fk-icon-spacer{width:44px;height:44px;flex:none}.fk-legal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border);font-size:var(--type-xs);color:var(--text-subtle)}.fk-legal-bar p{margin:0}.fk-powered{font-weight:600;color:var(--text-muted)}@media(max-width:420px){.fk-shell{--space-gutter: 16px}}.fk-disclose{margin:16px 0 0;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.fk-disclose>summary{padding:14px 16px;font-size:var(--type-sm);font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.fk-disclose>summary::-webkit-details-marker{display:none}.fk-disclose>summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--d-micro) var(--ease)}.fk-disclose[open]>summary:after{transform:rotate(-135deg) translate(-2px,-2px)}@media(prefers-reduced-motion:reduce){.fk-disclose>summary:after{transition:none}}.fk-disclose>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.fk-disclose-body{padding:0 16px 14px;display:grid;gap:8px}.fk-disclose-body p{margin:0;font-size:var(--type-sm);line-height:var(--lh-body);color:var(--text-muted)}.fk-footnote{margin:14px 0 0;font-size:var(--type-xs);line-height:var(--lh-body);color:var(--text-subtle)}.fk-preview-grid{display:grid;gap:8px}.fk-preview-card{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--border-field);border-radius:var(--r-field);background:var(--surface)}.fk-preview-thumb{flex:none;display:grid;place-items:center;min-width:78px;min-height:58px;border-radius:8px;overflow:hidden;background:var(--ink-900, #0b0f14)}.fk-preview-thumb[data-empty]{background:var(--surface-muted, var(--surface));color:var(--text-muted)}.fk-preview-missing{display:block;padding:8px;font-size:var(--type-xs);line-height:var(--lh-xs);text-align:center}.fk-preview-card .fk-preview{margin:0;max-width:104px;max-height:104px;border-radius:0}.fk-preview-card[data-portrait] .fk-preview{max-width:150px;max-height:200px}.fk-preview-card[data-portrait] .fk-preview-thumb{min-width:110px;min-height:110px}.fk-preview-thumb{padding:0;border:0;cursor:zoom-in;appearance:none}.fk-preview-thumb:disabled{cursor:default}.fk-viewer{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:16px;border:0;display:grid;place-items:center;background:#0a0e14eb;color:inherit;cursor:zoom-out}.fk-viewer::backdrop{background:transparent}.fk-viewer img{cursor:default;max-width:100%;max-height:100%;border-radius:var(--r-card);object-fit:contain}.fk-viewer-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:20px;line-height:1;cursor:pointer}.fk-preview-meta{flex:1;min-width:0;font-size:var(--type-sm);font-weight:600}.fk-btn--sm{min-height:36px;padding:0 12px;font-size:var(--type-sm)}
