.fc-dots{display:flex;justify-content:center;gap:1rem;margin:1.25rem 0 1.5rem}.fc-dots__dot{width:14px;height:14px;border-radius:999px;border:2px solid #cbd5e1;background:transparent;transition:background .15s ease,border-color .15s ease,transform .15s ease}.fc-dots__dot--filled{background:var(--raken-primary,#e3834b);border-color:var(--raken-primary,#e3834b);transform:scale(1.05)}.fc-dots--error .fc-dots__dot{border-color:#ef4444}.fc-dots--error .fc-dots__dot--filled{background:#ef4444;border-color:#ef4444}.fc-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;gap:.75rem;width:100%;max-width:300px;margin:0 auto;direction:ltr;unicode-bidi:isolate}.fc-keypad__key{--fc-press-x:50%;--fc-press-y:50%;position:relative;isolation:isolate;overflow:hidden;width:100%;min-width:0;min-height:64px;border-radius:16px;border:1.5px solid #d1d5db;background:#fff;color:#111827;font-size:15px;font-weight:800;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;box-shadow:0 2px 0 #e5e7eb,0 4px 10px rgba(17,24,39,.08);transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.fc-keypad__glyph{position:relative;z-index:1;display:block;pointer-events:none;transform:scale(1);transition:transform .12s ease}.fc-keypad__key:after{content:"";position:absolute;left:var(--fc-press-x);top:var(--fc-press-y);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:999px;background:rgba(255,255,255,.55);transform:scale(0);opacity:0;pointer-events:none;z-index:0}.fc-keypad__key--pressed:not(:disabled),.fc-keypad__key:active:not(:disabled){background:var(--raken-primary,#e3834b);border-color:var(--raken-primary-dark,#cf7642);color:#fff;transform:scale(.92) translateY(2px);box-shadow:inset 0 3px 8px rgba(80,32,8,.28)}.fc-keypad__key--pressed:not(:disabled) .fc-keypad__glyph,.fc-keypad__key:active:not(:disabled) .fc-keypad__glyph{transform:scale(1.18)}.fc-keypad__key--pressed:not(:disabled):after{animation:fc-key-ripple .38s ease-out}@keyframes fc-key-ripple{0%{transform:scale(0);opacity:.9}to{transform:scale(22);opacity:0}}.fc-keypad__key:disabled{opacity:.45}.fc-keypad__spacer{min-height:64px}@media (prefers-reduced-motion:reduce){.fc-keypad__glyph,.fc-keypad__key{transition:none}.fc-keypad__key--pressed:not(:disabled),.fc-keypad__key--pressed:not(:disabled) .fc-keypad__glyph,.fc-keypad__key:active:not(:disabled),.fc-keypad__key:active:not(:disabled) .fc-keypad__glyph{transform:none}.fc-keypad__key--pressed:not(:disabled):after{animation:none}}.fc-unlock{text-align:center;padding:.5rem 0 1rem}.fc-unlock__title{font-size:15px;font-weight:800;color:#111827;margin:0 0 .35rem}.fc-unlock__subtitle{font-size:.85rem;color:#6b7280;margin:0 0 .5rem}.fc-unlock__error{min-height:1.25rem;font-size:.8rem;color:#dc2626;margin-bottom:.25rem}.fc-unlock__lock{font-size:.8rem;color:#d97706;margin-bottom:.5rem}.fc-unlock__links{display:flex;flex-direction:column;gap:.65rem;margin-top:1.25rem}.fc-link{background:none;border:none;color:var(--raken-primary,#e3834b);font-size:.875rem;font-weight:700;cursor:pointer;padding:.35rem}.fc-link--muted{color:#6b7280;font-weight:600}.fc-setup-prompt{margin-top:1rem;padding:1rem;border-radius:14px;border:1px dashed #99f6e4;background:#f0fdf9;text-align:center}.fc-setup-prompt__title{font-weight:800;color:#cf7642;margin:0 0 .35rem}.fc-setup-prompt__text{font-size:.82rem;color:#374151;line-height:1.5;margin:0 0 .85rem}.fc-setup-prompt__actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.fc-settings{display:flex;flex-direction:column;gap:.85rem}.fc-settings__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.fc-settings__label{font-size:.9rem;font-weight:700;color:#111827}.fc-settings__hint{font-size:.75rem;color:#6b7280;margin-top:.15rem}.fc-toggle{position:relative;width:46px;height:26px;border-radius:999px;border:none;background:#cbd5e1;cursor:pointer;transition:background .2s}.fc-toggle--on{background:var(--raken-primary,#e3834b)}.fc-toggle__knob{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:999px;background:#fff;transition:transform .2s}.fc-toggle--on .fc-toggle__knob{transform:translateX(-20px)}