:root{--ink:#07080a;--ink-2:#101215;--card:#14161a;--card-2:#0f1114;--sunk:#1c1f24;--cream:#eef2f7;--muted:#eef2f79e;--dim:#eef2f79e;--line:#eef2f71a;--line-2:#eef2f72b;--ice:#dceaff;--ice-lift:#fff;--ice-glow:#96c8ff6b;--ok:#2ee6a8;--ok-lift:#c6ffe9;--ok-glow:#2ee6a84d;--bad:#ff4d6a;--bad-lift:#ffa3b2;--bad-glow:#ff4d6a4d;--r-card:16px;--r-sheet:30px;--box:58px;--box-h:70px;--e-out:cubic-bezier(.22,.9,.28,1);--e-in:cubic-bezier(.6,0,.9,.3)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--ink);min-height:100svh;color:var(--cream);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}.room{z-index:0;pointer-events:none;background:radial-gradient(70% 40% at 50% 0%, #96c8ff1a, transparent 68%), radial-gradient(90% 55% at 50% 110%, #2ee6a80d, transparent 64%), linear-gradient(180deg, var(--ink-2), var(--ink) 55%);position:fixed;inset:0}.room:after{content:"";opacity:.04;background-image:url(/textures/grain.png);background-size:220px;position:absolute;inset:0}.stage{z-index:1;align-content:center;justify-items:center;gap:clamp(18px,4vh,30px);min-height:100svh;padding:clamp(24px,6vh,56px) 20px;display:grid;position:relative}.masthead{text-align:center}.masthead__eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:.7rem;font-weight:500}.masthead__title{font-size:clamp(1.55rem,1.1rem2vw,2.1rem);letter-spacing:-.03em;background:linear-gradient(112deg,#8ea3ba 4%,var(--cream) 54%,#fff 98%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:8px;font-weight:700;line-height:1.06}.masthead__ver{letter-spacing:.01em;-webkit-text-fill-color:var(--ice-lift);color:var(--ice-lift);text-shadow:0 0 14px var(--ice-glow);text-transform:uppercase;vertical-align:.2em;background:0 0;margin-left:.24em;font-size:.62em;font-weight:800}.sheet{border-radius:var(--r-sheet);background:linear-gradient(168deg,var(--card),var(--card-2));border:1px solid var(--line);width:min(400px,100%);padding:22px 26px 26px;position:relative;box-shadow:inset 0 1px #ffffff0d,0 30px 70px -30px #000000e6,0 4px 18px -8px #000000b3}.sheet__grabber{background:var(--line-2);border-radius:99px;width:40px;height:4px;margin:0 auto 18px;display:block}.verify{justify-items:center;display:grid}.verify__title,.verify__sub{text-align:center;display:grid}.verify__title-in,.verify__sub-in{opacity:0;pointer-events:none;grid-area:1/1;transition:opacity .16s linear}.verify__title{letter-spacing:-.02em;font-size:1.32rem;font-weight:800}.verify__sub{max-width:30ch;color:var(--muted);margin-top:8px;font-size:.87rem;line-height:1.5}.verify__sub b{color:var(--cream);font-weight:700}.sheet[data-state=idle] [data-title=idle],.sheet[data-state=filling] [data-title=idle],.sheet[data-state=checking] [data-title=idle],.sheet[data-state=idle] [data-sub=idle],.sheet[data-state=filling] [data-sub=idle],.sheet[data-state=checking] [data-sub=idle],.sheet[data-state=verifying] [data-title=verifying],.sheet[data-state=verifying] [data-sub=verifying]{opacity:1}.sheet[data-state=idle] [data-title=idle],.sheet[data-state=idle] [data-sub=idle],.sheet[data-state=verifying] [data-title=verifying],.sheet[data-state=verifying] [data-sub=verifying],.sheet[data-state=ok] [data-title=ok],.sheet[data-state=ok] [data-sub=ok],.sheet[data-state=error] [data-title=error],.sheet[data-state=error] [data-sub=error]{transition:opacity .3s var(--e-out) .16s}.sheet[data-state=ok] [data-title=ok],.sheet[data-state=ok] [data-sub=ok],.sheet[data-state=error] [data-title=error],.sheet[data-state=error] [data-sub=error]{opacity:1}.sheet[data-state=ok] .verify__title{color:var(--ok)}.sheet[data-state=error] .verify__title{color:var(--bad)}.code-wrap{width:100%;padding-top:calc(var(--box-h) * .44);padding-bottom:calc(var(--box-h) * .16);place-items:center;margin-top:22px;display:grid;position:relative}.code{grid-area:1/1;gap:12px;display:flex}.slot{width:var(--box);height:var(--box-h);transform-origin:50% 320%;z-index:calc(var(--i) + 1);place-items:center;display:grid;position:relative;transform:translate(0,0)}.slot__face{border-radius:var(--r-card);border:1.5px solid var(--line-2);transition:border-color .28s var(--e-out), background .28s var(--e-out), box-shadow .28s var(--e-out);background:linear-gradient(170deg,#eef2f70e,#eef2f705);place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0d}.slot__sheen{z-index:5;border-radius:inherit;opacity:0;transition:opacity .3s var(--e-out);background:linear-gradient(150deg,#ffffff2e,#0000 46%);position:absolute;inset:0}.slot__win{z-index:2;border-radius:inherit;contain:paint;position:absolute;inset:0;overflow:hidden}.slot__digit{font-variant-numeric:tabular-nums;color:var(--cream);transition:color .28s var(--e-out);place-items:center;font-size:1.5rem;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.slot__glow{z-index:1;pointer-events:none;border-radius:calc(var(--r-card) + 5px);background:radial-gradient(56% 56% at 50% 50%, var(--ice-glow), transparent 72%);opacity:0;position:absolute;inset:-10%}.slot__spark{z-index:4;pointer-events:none;opacity:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.slot__arc{fill:none;stroke:var(--ice);stroke-width:2px;stroke-dasharray:.32 .68;stroke-dashoffset:1px;filter:drop-shadow(0 0 5px var(--ice-glow))}.slot__input{z-index:2;border-radius:var(--r-card);color:#0000;caret-color:#0000;width:100%;height:100%;font:inherit;text-align:center;background:0 0;border:0;outline:none;position:absolute;inset:0}.slot__input::selection{background:0 0}:is(.slot:has(.slot__input:focus-visible) .slot__face,.slot:has(.slot__input:focus) .slot__face){border-color:var(--ice);background:linear-gradient(170deg,var(--sunk),#eef2f70d);box-shadow:0 0 0 3px #96c8ff29, 0 0 22px -6px var(--ice-glow), 0 1px 0 #ffffff1a inset}.slot:has(.slot__input:focus):not([data-filled="1"]) .slot__win:after{content:"";background:var(--ice);width:2px;height:1.5rem;margin:-.75rem 0 0 -1px;animation:1.06s step-end infinite blink;position:absolute;top:50%;left:50%}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.slot[data-filled="1"] .slot__face{border-color:#eef2f74d}.sheet[data-state=checking] .slot__face,.sheet[data-state=verifying] .slot__face,.sheet[data-state=ok] .slot__face{background:linear-gradient(170deg,#262a33,#171a20);border-color:#eef2f73d;box-shadow:inset 0 1px #ffffff1f,0 12px 24px -10px #000000f2}.sheet[data-state=ok] .slot__face{border-color:var(--ok);background:linear-gradient(170deg,#123a2f,#0c2a23);transition-duration:.16s;box-shadow:0 0 28px -4px #2ee6a899,inset 0 1px #ffffff1f}.sheet[data-state=ok] .slot__sheen{opacity:1}.sheet[data-state=ok] .slot__digit{color:var(--ok-lift)}.sheet[data-state=error] .slot__face{border-color:var(--bad);background:linear-gradient(170deg,#ff4d6a24,#ff4d6a0a)}.sheet[data-state=error] .slot__digit{color:var(--bad-lift)}.sheet[data-state=error] .slot__input{caret-color:#0000}.seal{width:var(--box);height:var(--box-h);pointer-events:none;opacity:0;grid-area:1/1;position:relative}.seal__tile{border-radius:var(--r-card);transition:border-color .22s var(--e-out), background .22s var(--e-out), box-shadow .22s var(--e-out);background:linear-gradient(170deg,#262a33,#171a20);border:1.5px solid #eef2f73d;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1f,0 12px 24px -10px #000000f2}.seal__edge{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.seal__seg{stroke:var(--ice);stroke-width:3px;fill:none;stroke-dasharray:.2 .8;stroke-dashoffset:1px;opacity:0;filter:drop-shadow(0 0 6px var(--ice-glow))}.seal__full{stroke:var(--ok);stroke-width:3px;fill:none;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;filter:drop-shadow(0 0 7px #2ee6a880)}.seal__mark{width:58%;height:58%;overflow:visible}.seal__check{stroke:var(--ok);stroke-width:2.8px;fill:none;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 6px #2ee6a880)}.seal__pop{border-radius:var(--r-card);border:2px solid var(--ok);opacity:0;position:absolute;inset:0;transform:scale(.9)}.sheet[data-state=verifying] .seal__tile{box-shadow:0 0 26px -8px var(--ice-glow), 0 1px 0 #ffffff1f inset, 0 12px 24px -10px #000000f2;border-color:#eef2f74d}.sheet[data-state=ok] .seal__tile{border-color:var(--ok);background:linear-gradient(170deg,#123a2f,#0c2a23);box-shadow:0 0 30px -4px #2ee6a899,inset 0 1px #ffffff1f}.burst{pointer-events:none;grid-area:1/1;width:0;height:0;position:relative}.mote{background:var(--ok);opacity:0;border-radius:2px;width:2px;height:10px;position:absolute;top:0;left:0}.verify__err{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.verify__actions{justify-items:center;width:100%;margin-top:8px;display:grid}.verify__foot,.verify__done{transition:opacity .3s var(--e-out);grid-area:1/1}.sheet[data-state=ok] .verify__done{transition-delay:.75s}.verify__foot{color:var(--dim);align-items:center;gap:6px;font-size:.83rem;display:flex}.resend{cursor:pointer;font:inherit;color:var(--cream);background:0 0;border:0;border-radius:8px;padding:2px 4px;font-weight:700}.resend:hover:not(:disabled){color:var(--ice-lift)}.resend:disabled{color:var(--dim);cursor:default}.resend:focus-visible{outline:2px solid var(--ice);outline-offset:2px}.verify__done{opacity:0;pointer-events:none;justify-items:center;gap:14px;display:grid}.secure{color:var(--ok);align-items:center;gap:7px;font-size:.83rem;font-weight:700;display:inline-flex}.secure__icon{width:15px;height:15px}.cta{cursor:pointer;font:inherit;color:#04231b;background:var(--ok);border:0;border-radius:12px;padding:11px 26px;font-size:.9rem;font-weight:700;box-shadow:0 10px 24px -12px #2ee6a8e6}.cta:hover{filter:brightness(1.06)}.cta:focus-visible{outline:2px solid var(--ice-lift);outline-offset:3px}.sheet[data-state=ok] .verify__foot{opacity:0;pointer-events:none}.sheet[data-state=ok] .verify__done{opacity:1;pointer-events:auto}.hint{color:var(--dim);text-align:center;text-wrap:balance;font-size:.8rem;line-height:1.55}.hint__b{color:var(--cream);font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.deck-live .slot__input{color:#0000}html:not(.deck-live) .slot__input{color:var(--cream);font-size:1.5rem;font-weight:700}html:not(.deck-live) .slot__digit,html:not(.deck-live) .hint,html:not(.deck-live) .verify__done{display:none}@media (width<=420px){:root{--box:52px;--box-h:64px}.sheet{padding:20px 18px 24px}.code{gap:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.sheet[data-state=ok] .verify__done{transition-delay:0s}}
