.fp-page{min-height:100dvh;background:var(--trace-cream);color:var(--trace-ink);font-family:var(--font-hanken),system-ui,sans-serif;font-size:16px;overflow-x:clip}html[data-splash=on] .fp-page *,html[data-splash=out] .fp-page *{animation-play-state:paused}.fp-frame{position:relative;display:flex;flex-direction:column;min-height:100dvh;max-width:480px;margin:0 auto;background:var(--trace-surface);animation:fp-push-in .35s cubic-bezier(.2,.8,.2,1) both}.fp-page[data-leaving] .fp-frame{animation:fp-push-out .35s cubic-bezier(.4,0,.6,1) both}@media (min-width:520px){.fp-frame{box-shadow:0 0 0 1px var(--trace-border)}}@keyframes fp-push-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes fp-push-out{0%{transform:translateX(0)}to{transform:translateX(100%)}}.fp-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:var(--trace-surface)}.fp-back,.fp-back-spacer{flex-shrink:0;width:44px;height:44px}.fp-back{display:inline-grid;place-items:center;border:0;border-radius:999px;background:var(--trace-cream);color:var(--trace-ink);cursor:pointer;transition:transform .12s ease}.fp-back:active{transform:scale(.94)}.fp-progress{display:grid;flex:1;grid-template-columns:repeat(3,1fr);gap:6px}.fp-segment{position:relative;height:6px;overflow:hidden;border-radius:999px;background:var(--trace-border)}.fp-segment-fill{position:absolute;inset:0;border-radius:inherit;background:var(--trace-green);transform:scaleX(0);transform-origin:left center;transition:transform .3s ease-out}.fp-segment[data-filled] .fp-segment-fill{transform:scaleX(1)}.fp-stage{position:relative;display:flex;flex:1;flex-direction:column;overflow-x:clip}.fp-ghost{position:absolute;inset:0 0 auto;pointer-events:none}.fp-step{display:flex;flex:1;flex-direction:column;padding:16px max(24px,env(safe-area-inset-right)) max(24px,calc(env(safe-area-inset-bottom) + 16px)) max(24px,env(safe-area-inset-left))}.fp-step[data-phase=in][data-dir=avant]{animation:fp-in-right .3s cubic-bezier(.2,.8,.2,1) both}.fp-step[data-phase=in][data-dir=arriere]{animation:fp-in-left .3s cubic-bezier(.2,.8,.2,1) both}.fp-step[data-phase=out][data-dir=avant]{animation:fp-out-left .3s ease-in both}.fp-step[data-phase=out][data-dir=arriere]{animation:fp-out-right .3s ease-in both}.fp-step[data-phase=out] *,.fp-step[data-phase=out] :after,.fp-step[data-phase=out] :before{animation:none!important;transition:none!important}@keyframes fp-in-right{0%{opacity:0;transform:translateX(48px)}to{opacity:1;transform:translateX(0)}}@keyframes fp-in-left{0%{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:translateX(0)}}@keyframes fp-out-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-48px)}}@keyframes fp-out-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(48px)}}.fp-content{display:flex;flex:1;flex-direction:column;gap:12px}.fp-content[data-shake]{animation:ta-shake .3s ease-in-out}.fp-rise{animation:ta-rise .4s ease-out calc(.14s + var(--i, 0) * 60ms) both}.fp-icon-wrap{display:flex;margin:16px 0 8px}.fp-title{margin:0;font-size:28px;line-height:1.15;font-family:var(--font-display);font-weight:600;letter-spacing:-.03em}.fp-subtitle{margin:0 0 8px;font-size:15px;line-height:1.45;color:var(--trace-ink-soft)}.fp-email{color:var(--trace-ink);font-weight:600;overflow-wrap:anywhere}.fp-center{margin:0;text-align:center}.fp-link-button{padding:0;border:0;background:none;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.fp-link-button:disabled{opacity:.5;cursor:default}.fp-inline-link{display:inline;min-height:0;padding:12px 4px;margin:-12px -4px}.fp-hint{min-height:20px;margin:10px 0 0;text-align:center;font-size:14px;line-height:1.4;color:var(--trace-ink-soft);overflow-wrap:anywhere}.fp-hint[data-error]{color:var(--trace-error)}.fp-footer{margin:auto 0 0;padding-top:16px;text-align:center;font-size:15px;color:var(--trace-ink-soft)}.fp-footer .ta-link{display:inline-flex}.fp-note{margin:4px 0 0;text-align:center;font-size:13px;line-height:1.45;color:var(--trace-ink-soft)}.fp-icon{position:relative;display:inline-grid;place-items:center;width:56px;height:56px;color:var(--trace-ink)}.fp-icon svg{overflow:visible}.fp-q{position:absolute;top:-6px;font-size:16px;font-family:var(--font-display);font-weight:600;line-height:1;color:var(--trace-green);opacity:0;animation:fp-q-float 1.6s ease-out infinite}.fp-q-1{right:-10px}.fp-q-2{right:6px;top:-14px;font-size:13px;animation-delay:.2s}@keyframes fp-q-float{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-12px)}}.fp-envelope-body,.fp-letter-paper{fill:var(--trace-surface)}.fp-letter-paper{stroke-width:1.4}.fp-letter-dot{fill:var(--trace-green-dot);stroke:none;opacity:0;transform-box:fill-box;transform-origin:center}.fp-letter{transform:translateY(6px);opacity:0}.fp-flap-open{opacity:0;transform-origin:12px 5px}.fp-icon-envelope[data-open] .fp-flap-closed{opacity:0;transition:opacity .1s ease}.fp-icon-envelope[data-open] .fp-flap-open{opacity:1;animation:fp-flap .18s ease-out both}.fp-icon-envelope[data-open] .fp-letter{opacity:1;transform:translateY(-10px);animation:fp-letter-out .26s cubic-bezier(.2,.9,.3,1.2) 80ms both}.fp-icon-envelope[data-open] .fp-letter-dot{opacity:1;animation:fp-dot-in .12s ease-out calc(.22s + var(--i) * 30ms) both}@keyframes fp-flap{0%{opacity:0;transform:scaleY(-.4)}}@keyframes fp-letter-out{0%{opacity:0;transform:translateY(6px)}}@keyframes fp-dot-in{0%{opacity:0;transform:scale(0)}}.fp-badge{position:absolute;top:6px;right:1px;width:12px;height:12px;border:2px solid var(--trace-surface);border-radius:50%;background:var(--trace-error-border);animation:fp-badge-in .3s cubic-bezier(.2,.9,.3,1.4) .5s both,fp-badge-pulse 1.4s ease-in-out .8s infinite}.fp-icon-envelope[data-open] .fp-badge{transform:scale(0);opacity:0;animation:fp-badge-out .15s ease-in both}@keyframes fp-badge-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes fp-badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgb(180 83 42/.45)}50%{transform:scale(1.12);box-shadow:0 0 0 6px rgb(180 83 42/0)}}@keyframes fp-badge-out{0%{transform:scale(1);opacity:1}}.fp-spark{position:absolute;top:-4px;left:-6px;fill:var(--trace-green-dot);animation:fp-twinkle 1.6s ease-in-out infinite}@keyframes fp-twinkle{0%,to{opacity:.25;transform:scale(.6) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(45deg)}}.fp-sending path{stroke:var(--trace-on-green);stroke-width:6;stroke-linecap:round;stroke-dasharray:1;animation:fp-sending-draw .9s ease-in-out infinite}.fp-sending circle{fill:var(--trace-on-green);animation:fp-sending-dot .9s ease-in-out infinite}.fp-sending circle:nth-of-type(2){animation-delay:.15s}.fp-sending circle:nth-of-type(3){animation-delay:.3s}@keyframes fp-sending-draw{0%{stroke-dashoffset:1}70%,to{stroke-dashoffset:0}}@keyframes fp-sending-dot{0%,to{opacity:.35}50%{opacity:1}}.fp-otp{display:grid;grid-template-columns:repeat(6,minmax(0,52px));justify-content:center;gap:clamp(6px,2.2vw,10px);margin-top:4px}.fp-otp[data-state=faux]{animation:ta-shake .3s ease-in-out}.fp-otp-cell{position:relative;height:60px;border:1.5px solid var(--trace-border-strong);border-radius:14px;background:var(--trace-surface);transition:border-color .15s ease,background-color .2s ease,box-shadow .15s ease}.fp-otp-cell[data-filled]{border-color:var(--trace-ink)}.fp-otp-cell:focus-within{border-color:var(--trace-green);box-shadow:0 0 0 4px var(--trace-focus-halo)}.fp-otp[data-state=faux] .fp-otp-cell{border-color:var(--trace-error-border);background:var(--trace-error-soft);color:var(--trace-error)}.fp-otp[data-state=juste] .fp-otp-cell{border-color:var(--trace-green);background:var(--trace-green);color:var(--trace-on-green);transition-delay:calc(var(--i, 0) * 40ms)}.fp-otp[data-state=bloque] .fp-otp-cell,.fp-otp[data-state=expire] .fp-otp-cell{background:var(--trace-cream)}.fp-otp-input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;color:transparent;caret-color:var(--trace-green);text-align:center;font:inherit;font-size:24px;outline:none}.fp-otp-input:disabled{cursor:default}.fp-otp-input::selection{background:transparent}.fp-otp-digit{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;animation:fp-pop .18s cubic-bezier(.2,.9,.3,1.3) both}@keyframes fp-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.fp-otp-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:24px;margin:12px 0 0;font-size:14px;color:var(--trace-ink-soft)}.fp-verified{font-weight:600;color:var(--trace-green);animation:ta-rise .2s ease-out both}.fp-mini-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--trace-border);border-top-color:var(--trace-green);animation:ta-spin .7s linear infinite}.fp-otp-error{margin:4px 0 0;text-align:center;font-size:14px;color:var(--trace-error);animation:ta-rise .2s ease-out both}.fp-resend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 6px;margin:0;font-size:15px;color:var(--trace-ink-soft)}.fp-resend,.fp-resend .fp-link-button{min-height:44px}.fp-countdown{font-variant-numeric:tabular-nums;color:var(--trace-ink)}.fp-strength{margin:10px 4px 0}.fp-strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.fp-strength-bar{position:relative;height:6px;overflow:hidden;border-radius:999px;background:var(--trace-border)}.fp-strength-fill{position:absolute;inset:0;border-radius:inherit;background:var(--fp-strength-color,var(--trace-border));transform:scaleX(0);transform-origin:left center;transition:transform .25s ease-out calc(var(--i, 0) * 50ms),background-color .2s ease}.fp-strength-bar[data-on] .fp-strength-fill{transform:scaleX(1)}.fp-strength[data-score="1"]{--fp-strength-color:var(--trace-error-border)}.fp-strength[data-score="2"]{--fp-strength-color:var(--trace-orange)}.fp-strength[data-score="3"]{--fp-strength-color:var(--trace-green-dot)}.fp-strength[data-score="4"]{--fp-strength-color:var(--trace-green)}.fp-strength-label{margin:6px 0 0;font-size:13px;color:var(--trace-ink-soft)}.fp-criteria{display:grid;gap:8px;margin:4px 0 0;padding:0 4px;list-style:none}.fp-criterion{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--trace-ink-soft);transition:color .15s ease}.fp-criterion[data-ok]{color:var(--trace-ink)}.fp-criterion-mark{display:inline-grid;place-items:center;flex-shrink:0;width:20px;height:20px;border:1.5px solid var(--trace-label-bar);border-radius:50%;color:var(--trace-on-green)}.fp-criterion[data-ok] .fp-criterion-mark{border-color:var(--trace-green);background:var(--trace-green);animation:fp-pop .22s cubic-bezier(.2,.9,.3,1.4) both}.fp-submit:disabled{opacity:.5}.fp-content-success{align-items:stretch;justify-content:center;text-align:center}.fp-success-wrap{display:grid;place-items:center;height:170px}.fp-success{position:relative}.fp-success,.fp-success-circle{display:grid;place-items:center;width:96px;height:96px}.fp-success-circle{border-radius:50%;background:var(--trace-green);box-shadow:none;color:var(--trace-on-green);animation:fp-success-pop .52s cubic-bezier(.2,.9,.3,1) both}.fp-success-circle path{stroke-dasharray:1;stroke-dashoffset:1;animation:ta-check-draw .3s ease-out .38s both}@keyframes fp-success-pop{0%{transform:scale(0)}60%{transform:scale(1.12)}80%{transform:scale(.96)}to{transform:scale(1)}}.fp-particle{position:absolute;top:50%;left:50%;opacity:0;background:var(--trace-green);animation:fp-burst .6s cubic-bezier(.2,.8,.3,1) .26s both}.fp-particle[data-kind=line]{width:3px;height:12px;margin:-6px 0 0 -1.5px;border-radius:2px}.fp-particle[data-kind=dot]{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%}.fp-particle[data-tone=clair]{background:var(--trace-green-light)}.fp-particle[data-tone=ambre]{background:var(--trace-amber)}@keyframes fp-burst{0%{opacity:1;transform:rotate(var(--a)) translateY(-40px) scale(.6)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-78px) scale(1)}}.fp-toast{position:fixed;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));z-index:3;max-width:calc(100vw - 32px);margin:0;padding:12px 18px;border-radius:999px;background:var(--trace-ink);color:var(--trace-on-green);font-size:14px;font-weight:600;text-align:center;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.fp-toast[data-visible]{opacity:1;transform:translate(-50%)}.fp-toast:empty{padding:0}@media (prefers-reduced-motion:reduce){.fp-page .fp-frame,.fp-page .fp-otp-digit,.fp-page .fp-otp-error,.fp-page .fp-rise,.fp-page .fp-step[data-phase=in],.fp-page .fp-verified{animation:fp-fade .2s ease both!important}.fp-page .fp-step[data-phase=out],.fp-page[data-leaving] .fp-frame{animation:fp-fade-out .15s ease both!important}.fp-page .fp-success-circle{animation:fp-fade .25s ease both!important}.fp-page .fp-success-circle path{stroke-dashoffset:0}.fp-page .fp-icon-envelope[data-open] .fp-flap-open,.fp-page .fp-icon-envelope[data-open] .fp-letter,.fp-page .fp-icon-envelope[data-open] .fp-letter-dot{animation:fp-fade .2s ease both!important}.fp-page .fp-icon-envelope[data-open] .fp-letter{transform:translateY(-10px)}.fp-page .fp-particle,.fp-page .fp-q{display:none}.fp-page .fp-segment-fill,.fp-page .fp-strength-fill{transition:opacity .2s ease!important}}@keyframes fp-fade{0%{opacity:0}to{opacity:1}}@keyframes fp-fade-out{0%{opacity:1}to{opacity:0}}