:root{--bg:#fff;--fg:#000;--mut:#545454;--fill:#eee;--fill2:#e2e2e2;--line:#eee;--ok:#05944f;--err:#e11900;--warn:#ffc043;--blue:#276ef1;--sheet:#fff;--scrim:rgba(0,0,0,.5);color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body.lock{--bg:#000;--fg:#fff;--mut:#a6a6a6;--fill:#1f1f1f;--fill2:#333;--line:#262626;color-scheme:dark}
*{box-sizing:border-box;margin:0;font-family:"Poppins",sans-serif}
[hidden]{display:none!important}
html{scroll-padding-top:env(safe-area-inset-top,0px)}html,body{min-height:100%}
body{background:var(--bg);color:var(--fg);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
svg{width:22px;height:22px;flex:none}
.shell{min-height:100vh;min-height:100dvh;display:flex}.brand{display:none}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
header{height:64px;display:flex;align-items:center;flex:none}
.hin{width:100%;max-width:520px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:12px}
.rd{width:40px;height:40px;border-radius:50%;background:var(--fill);border:0;color:var(--fg);display:grid;place-items:center;cursor:pointer;flex:none;font-weight:600;font-size:16px;transition:background .15s}
.rd:hover{background:var(--fill2)}
.logo{font-weight:700;letter-spacing:-.02em;font-size:20px}.sp{flex:1}
.route{display:flex;flex:1;gap:4px;padding:0 4px}.nd{display:none}
.sg{flex:1;height:4px;background:var(--fill2);border-radius:2px;position:relative;overflow:hidden}
.sg u{position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(var(--f,0));transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.stage{flex:1;display:flex;width:100%;max-width:520px;margin:0 auto;padding:0 16px}
.scr{display:none;flex:1;flex-direction:column;padding:8px 0 16px;width:100%}
.scr.show{display:flex;animation:in .28s cubic-bezier(.2,.7,.2,1)}
@keyframes in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.kick{display:none}
h1{font-size:clamp(26px,7vw,32px);line-height:1.2;font-weight:600;letter-spacing:-.025em;margin:12px 0 8px}
h1.big{font-size:clamp(34px,9vw,40px);margin:18px 0 8px}
h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}
.sub{color:var(--mut);margin-bottom:24px;font-size:15px;line-height:1.5}
.foot{margin-top:auto;padding-top:16px;position:sticky;bottom:0;background:var(--bg);display:flex;flex-direction:column}
.btn{width:100%;height:52px;border-radius:8px;border:0;font-weight:500;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--fg);color:var(--bg);transition:transform .1s,background .15s}
.btn:active{transform:scale(.98)}
.btn.sec{background:var(--fill);color:var(--fg)}.btn.sec:hover{background:var(--fill2)}
.btn:disabled{background:var(--fill);color:#afafaf;cursor:not-allowed;transform:none}
.btn+.btn{margin-top:10px}
.btn.nx{width:auto;align-self:flex-end;border-radius:999px;padding:0 22px;height:48px}.btn.nx svg{width:20px;height:20px}
.link{background:none;border:0;color:var(--fg);font-weight:500;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;text-align:left}
.pill{background:var(--fill);border:0;border-radius:999px;padding:10px 18px;font-weight:500;font-size:14px;color:var(--fg);cursor:pointer;align-self:flex-start;margin:4px 0}.pill:disabled{color:var(--mut);cursor:default}
.note{font-size:13px;color:var(--mut);margin-top:16px;line-height:1.6}.note .link{font-size:13px;display:inline;padding:0}
.fld{position:relative;display:flex;align-items:center;height:58px;border-radius:8px;background:var(--fill);border:2px solid transparent;padding:0 16px;margin-bottom:10px;transition:border-color .15s}
.fld:focus-within{border-color:var(--fg);background:var(--bg)}.fld.bad{border-color:var(--err)}
.fld input{flex:1;height:100%;padding-top:16px;border:0;outline:0;background:none;font-size:16px;color:var(--fg);min-width:0}
.fld label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--mut);font-size:16px;pointer-events:none;transition:all .15s}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label{top:9px;transform:none;font-size:12px;font-weight:500}
.fld .shw{background:none;border:0;color:var(--fg);font-weight:500;font-size:14px;cursor:pointer;padding:6px 0 6px 10px}
.err{color:var(--err);font-size:13px;min-height:20px;font-weight:500;margin-bottom:4px}
.meter{display:flex;gap:4px;margin:4px 0 6px}.meter i{flex:1;height:4px;border-radius:2px;background:var(--fill2);transition:.25s}
.mt{display:flex;justify-content:space-between;font-size:13px;color:var(--mut);margin-bottom:14px}.mt b{font-weight:600;color:var(--fg)}
.rules{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.rules li{font-size:13px;color:var(--mut);display:flex;gap:8px;align-items:center}
.rules li:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--fill2);flex:none;transition:.2s}
.rules li.ok{color:var(--fg)}.rules li.ok:before{background:var(--ok);border-color:var(--ok);box-shadow:inset 0 0 0 3px var(--bg)}
.or{display:flex;align-items:center;gap:14px;color:var(--mut);font-size:13px;margin:16px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--fill2)}
.opt{display:flex;align-items:center;gap:14px;padding:14px 0;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;background:none;color:var(--fg);text-align:left;font-size:16px}
.opt .ic,.row .ic{width:48px;height:48px;border-radius:50%;background:var(--fill);display:grid;place-items:center;flex:none;font-weight:600}
.opt b,.row b{display:block;font-weight:500;font-size:16px;line-height:1.35}.opt small,.row small{color:var(--mut);font-size:14px;display:block;line-height:1.4}
.chk{margin-left:auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--fill2);flex:none;display:grid;place-items:center;transition:.15s}
.chk svg{width:14px;height:14px;stroke-width:3.2;opacity:0;color:var(--bg)}
.opt.sel .chk{background:var(--fg);border-color:var(--fg)}.opt.sel .chk svg{opacity:1}
.opt[aria-disabled="true"]{opacity:.55;cursor:default}
.tag{margin-left:auto;font-size:12px;font-weight:600;background:var(--fill);padding:4px 10px;border-radius:999px;flex:none}.tag.g{background:#e6f4ec;color:var(--ok)}
.row{display:flex;align-items:center;gap:14px;padding:12px 0;border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;background:none;color:var(--fg);text-align:left;font-size:16px}
.row:hover{background:var(--fill)}.row .ic{width:44px;height:44px}
.phone{display:flex;gap:10px}.phone .fld{flex:1}
.cc{background:var(--fill);border-radius:8px;height:58px;padding:0 14px;border:0;color:var(--fg);font-weight:500;font-size:16px;cursor:pointer;display:flex;align-items:center;gap:8px}.cc:hover{background:var(--fill2)}
.otp{display:flex;gap:8px;margin:4px 0 10px}
.otp input{flex:1;min-width:0;height:60px;text-align:center;font-weight:600;font-size:24px;border-radius:8px;border:2px solid transparent;background:var(--fill);color:var(--fg);outline:0;transition:.15s}
.otp input:focus{border-color:var(--fg);background:var(--bg)}
.otp.bad input{border-color:var(--err);animation:sh .35s}.otp.ok input{border-color:var(--ok)}
@keyframes sh{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--fill);border-radius:999px;padding:7px 14px 7px 10px;font-size:13px;font-weight:500;margin-bottom:6px;align-self:flex-start}.chip svg{width:18px;height:18px;color:var(--ok);stroke-width:3}
.tick{width:72px;height:72px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin:10px 0 4px}
.tick svg{width:36px;height:36px;stroke-width:3}.tick path{stroke-dasharray:30;stroke-dashoffset:30;animation:dw2 .6s .3s forwards}
@keyframes dw2{to{stroke-dashoffset:0}}
.rcpt{border:1px solid var(--line);border-radius:12px;padding:2px 16px;margin-bottom:18px}
.kv{display:flex;justify-content:space-between;gap:14px;padding:13px 0;font-size:14px;border-bottom:1px solid var(--line)}.kv:last-child{border:0}
.kv span:first-child{color:var(--mut)}.kv span:last-child{font-weight:500;text-align:right;word-break:break-all}
.lb{font-size:16px;font-weight:600;margin:0 0 4px}
#wB{background:var(--fill);border-radius:12px;padding:2px 16px}
.ben{display:flex;gap:12px;padding:12px 0;align-items:center;font-size:14px;border-bottom:1px solid var(--fill2)}.ben:last-child{border:0}
.ben i{width:26px;height:26px;border-radius:50%;background:var(--ok);display:grid;place-items:center;flex:none;color:#fff}.ben svg{width:14px;height:14px;stroke-width:3.2}
.spin{width:18px;height:18px;border-radius:50%;border:3px solid rgba(128,128,128,.4);border-top-color:currentColor;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.avl{width:88px;height:88px;border-radius:50%;background:var(--fill);display:grid;place-items:center;margin:0 auto 14px;font-size:34px;font-weight:600}
.avl.d{background:var(--fg);color:var(--bg)}
#sin2 h1{text-align:center}
.wm{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.wm b{font-size:clamp(40px,13vw,56px);font-weight:700;letter-spacing:-.04em}.wm span{color:var(--mut);font-size:15px}
.lbtn{width:100%;margin-top:auto}
.sheetwrap{position:fixed;inset:0;background:var(--scrim);display:none;align-items:flex-end;justify-content:center;z-index:30}.sheetwrap.show{display:flex}
.sheet{background:var(--sheet);color:var(--fg);width:100%;max-width:520px;border-radius:16px 16px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));max-height:88%;overflow:auto;animation:up .26s cubic-bezier(.2,.8,.2,1)}
body.lock .sheet{--bg:#fff;--fg:#000;--mut:#545454;--fill:#eee;--fill2:#e2e2e2;--line:#eee;--sheet:#fff}
@keyframes up{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
.grab{width:36px;height:4px;border-radius:2px;background:var(--fill2);margin:0 auto 18px}
.fid{width:72px;height:72px;border-radius:50%;background:var(--fill);display:grid;place-items:center;margin:8px auto 16px}.fid svg{width:34px;height:34px}
.fid.ok{background:var(--ok);color:#fff}.fid.ok svg{stroke-width:3}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:#000;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;z-index:40;animation:in .25s;white-space:nowrap}
button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.ft{display:none}
body.lock header,body.lock .ft{display:none!important}
body.lock .stage{max-width:none;padding:0 16px}
body.lock #entry{min-height:100vh;min-height:100dvh;padding:0 0 28px}
body.lock .foot{background:none}
@media (min-width:900px){
 header{height:72px}.hin{max-width:1120px;padding:0 32px}
 .stage{padding:0 24px;max-width:480px}.scr{flex:1;padding:16px 0 24px}.foot{position:static;background:none}
 header .logo{display:none}
 .ft{display:flex;gap:18px;justify-content:center;padding:16px;font-size:12px;color:var(--mut)}.ft button{background:none;border:0;color:var(--mut);font-size:12px;cursor:pointer;text-decoration:underline}
 .sheetwrap{align-items:center}.sheet{border-radius:16px;max-width:440px}.grab{display:none}
 body.lock .stage{padding:0 24px}body.lock .lbtn{max-width:420px;margin-left:auto;margin-right:auto}
}
@media (prefers-color-scheme:dark){:root{--bg:#000;--fg:#fff;--mut:#a6a6a6;--fill:#1f1f1f;--fill2:#333;--line:#262626;--ok:#1fc16b;--err:#ff6b5a;--sheet:#1a1a1a;color-scheme:dark}.btn:disabled{color:#666}.tag.g{background:#12301f}}

@media (max-width:380px){.rules{grid-template-columns:1fr}.otp input{height:54px;font-size:21px}}
/* premium motion */
.fl{width:28px;height:28px;border-radius:50%;overflow:hidden;display:inline-block;flex:none;box-shadow:inset 0 0 0 1px rgba(128,128,128,.3);line-height:0}.fl svg{width:100%;height:100%;display:block}
#ccTxt{display:flex;align-items:center;gap:8px}.row .fl{width:32px;height:32px}
.fs{position:relative;width:112px;height:112px;margin:6px auto 20px;display:grid;place-items:center;color:var(--fg)}
.fs svg{width:48px;height:48px;stroke-width:1.6;animation:breath 2s ease-in-out infinite}
.fs i{position:absolute;width:28px;height:28px;border:3px solid var(--fg);transition:border-color .3s}
.fs .c1{left:0;top:0;border-right:0;border-bottom:0;border-radius:14px 0 0 0}.fs .c2{right:0;top:0;border-left:0;border-bottom:0;border-radius:0 14px 0 0}
.fs .c3{left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 14px}.fs .c4{right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 14px 0}
.fs b{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--fg);box-shadow:0 0 14px 2px rgba(128,128,128,.6);animation:scan 1.5s ease-in-out infinite alternate}
.fs.ok i{border-color:var(--ok)}.fs.ok b,.fs.bad b{display:none}.fs.ok svg{color:var(--ok);stroke-width:3;animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}
.fs.bad i{border-color:var(--err)}.fs.bad svg{color:var(--err);animation:none}
@keyframes scan{from{top:16%}to{top:82%}}@keyframes breath{50%{transform:scale(1.07);opacity:.7}}

.gs{animation:rise .5s cubic-bezier(.16,1,.3,1) both}.gc{text-align:center}.gs .note.gc{margin-top:8px}
.gl{display:grid;place-items:center;margin:4px 0 14px}.gl svg{width:36px;height:36px}
.gsp{display:grid;place-items:center;padding:14px 0 26px;color:var(--mut)}.gsp .spin{width:26px;height:26px}
.av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:500;flex:none}
.gchip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:4px 14px 4px 4px;margin:0 auto 18px;width:max-content;max-width:100%;font-size:14px}
.perm{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.perm i{width:36px;height:36px;border-radius:50%;background:var(--fill);display:grid;place-items:center;flex:none}.perm svg{width:18px;height:18px}
.qr{background:#fff;border-radius:20px;padding:14px;width:max-content;margin:4px auto 16px;border:1px solid var(--line)}
.qr img,.qr canvas{display:block;width:176px;height:176px}.qr canvas{display:none!important}
.pill.kk{display:flex;align-items:center;gap:10px;margin:0 auto;font-family:"Poppins",sans-serif;letter-spacing:.06em;align-self:center}.pill.kk svg{width:16px;height:16px}
.sheet .otp input{height:54px;font-size:21px}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 6px}
.codes code{background:var(--fill);border-radius:12px;padding:12px 8px;text-align:center;font-family:"Poppins",sans-serif;font-size:14px;letter-spacing:.04em;animation:rise .6s cubic-bezier(.16,1,.3,1) both}
.codes code:nth-child(2n){animation-delay:.06s}.codes code:nth-child(3){animation-delay:.12s}.codes code:nth-child(5){animation-delay:.16s}.codes code:nth-child(7){animation-delay:.2s}
.opt.sel .chk svg{opacity:1}

#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:none;opacity:0;transform:scale(1.08);transition:opacity 2.2s ease,transform 3s cubic-bezier(.16,1,.3,1)}
body.lock #gl{display:block}body.lock #gl.on{opacity:1;transform:none}
.shell{position:relative;z-index:1}
#sk{position:fixed;inset:0;z-index:0;pointer-events:none;display:none;overflow:hidden}body.lock #sk{display:block}
.spk{position:absolute;width:14px;height:14px;opacity:0;animation:tw var(--d,4s) ease-in-out var(--l,0s) infinite}
.spk::before,.spk::after{content:"";position:absolute;left:50%;top:50%;background:linear-gradient(90deg,transparent,rgba(255,226,200,.95),transparent);width:100%;height:1px;transform:translate(-50%,-50%)}
.spk::after{transform:translate(-50%,-50%) rotate(90deg)}
@keyframes tw{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}
#cur{position:fixed;left:0;top:0;width:60px;height:60px;margin:-30px 0 0 -30px;z-index:0;pointer-events:none;display:none;border-radius:50%;background:radial-gradient(circle,rgba(255,170,120,.22),transparent 65%);mix-blend-mode:screen}
body.lock #cur{display:block}
body.lock .wm span{background:linear-gradient(100deg,#8a8a8a 20%,#fff 45%,#ffd2b0 52%,#8a8a8a 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 5s ease-in-out 1.6s infinite}
@keyframes shim{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
body.lock .wm .mk{filter:drop-shadow(0 0 18px rgba(255,140,90,.45))}
#entry .btn.sec{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);color:#fff}
#entry .btn.sec:hover{background:rgba(255,255,255,.18)}
#entry .btn:not(.sec){box-shadow:0 0 0 0 rgba(255,150,100,.0);animation:halo 3.2s ease-in-out 2s infinite}
@keyframes halo{0%,100%{box-shadow:0 0 0 0 rgba(255,150,100,0)}50%{box-shadow:0 0 36px 2px rgba(255,150,100,.35)}}

.btn.sec:not(:disabled):hover{box-shadow:none;transform:translateY(-1px)}
@media (prefers-color-scheme:light){body:not(.lock) .btn.sec{background:#f6f6f6}body:not(.lock) .btn.sec:hover{background:#efefef}}
body.lock .sheet .btn.sec{background:#f6f6f6}body.lock .sheet .btn.sec:hover{background:#efefef}
.btn{border-radius:16px}.fld,.cc{border-radius:16px}.otp input{border-radius:16px}.rcpt,#wB{border-radius:20px}.toast{border-radius:14px}.sheet{border-radius:28px 28px 0 0}
@media (min-width:900px){.sheet{border-radius:28px}}
@keyframes rise{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@keyframes letter{from{opacity:0;transform:translateY(45%) scale(.9);filter:blur(14px)}to{opacity:1;transform:none;filter:none}}
@keyframes drift{from{transform:translate3d(-4%,-3%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.12)}}
@keyframes fade{from{opacity:0}}
@keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
@keyframes tin{from{opacity:0;transform:translate(-50%,24px) scale(.95)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes ready{0%{transform:scale(.96)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
.scr.show{animation:none}
.scr.show>*{animation:rise .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0)*70ms)}
.scr.show>:nth-child(2){--i:1}.scr.show>:nth-child(3){--i:2}.scr.show>:nth-child(4){--i:3}.scr.show>:nth-child(5){--i:4}.scr.show>:nth-child(6){--i:5}.scr.show>:nth-child(7){--i:6}.scr.show>:nth-child(8){--i:7}.scr.show>:nth-child(9){--i:8}
.scr.show .opt{animation:rise .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.2s + var(--j,0)*80ms)}
.opt:nth-child(2){--j:1}.opt:nth-child(3){--j:2}.opt:nth-child(4){--j:3}
.rcpt .kv,.ben{animation:rise .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.45s + var(--j,0)*80ms)}
.kv:nth-child(2),.ben:nth-child(2){--j:1}.kv:nth-child(3){--j:2}.kv:nth-child(4){--j:3}.kv:nth-child(5){--j:4}
@keyframes logoin{from{opacity:0;filter:blur(14px);transform:scale(.94);clip-path:inset(0 100% 0 0)}to{opacity:1;filter:none;transform:none;clip-path:inset(0 0 0 0)}}
.wm img{width:min(78vw,340px);height:auto;animation:logoin 1.3s cubic-bezier(.16,1,.3,1) .2s both}
@keyframes mkin{0%{opacity:0;transform:scale(.5) rotate(-60deg)}100%{opacity:1;transform:none}}
.wm .mk{width:68px;height:68px;margin-bottom:18px;animation:mkin 1s cubic-bezier(.34,1.3,.64,1) both}
.logo img{display:block;height:18px;width:auto;filter:invert(1)}
@media (prefers-color-scheme:dark){.logo img{filter:none}}
.wm b{font-weight:600}.wm b i{display:inline-block;font-style:normal;animation:letter 1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--k)*60ms + 200ms)}
.btn{transition:transform .25s cubic-bezier(.16,1,.3,1),background .3s,color .3s,box-shadow .3s}
.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2)}.btn:not(:disabled):active{transform:scale(.97)}
.btn:not(:disabled):not(.sec){position:relative;overflow:hidden}
.btn:not(:disabled):not(.sec)::after{content:"";position:absolute;top:0;bottom:0;width:50%;left:-70%;background:linear-gradient(100deg,transparent,rgba(130,130,130,.35),transparent);transform:skewX(-20deg);transition:left .8s cubic-bezier(.16,1,.3,1)}
.btn:not(:disabled):not(.sec):hover::after{left:140%}
.btn.go:not(:disabled){animation:ready .55s cubic-bezier(.34,1.56,.64,1)}
.btn.nx svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}.btn.nx:hover svg{transform:translateX(5px)}
.rd{transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}.rd:hover{transform:scale(1.08)}.rd:active{transform:scale(.9)}
.fld{transition:border-color .2s,box-shadow .3s,background .2s}.fld:focus-within{box-shadow:0 0 0 5px rgba(128,128,128,.16)}.fld.bad{box-shadow:0 0 0 5px rgba(225,25,0,.12)}
.fld label{transition:all .35s cubic-bezier(.16,1,.3,1)}
.otp input:focus{transform:translateY(-3px) scale(1.04);box-shadow:0 8px 20px rgba(0,0,0,.14)}
.sg u{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.opt .ic,.row .ic{transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .3s,color .3s}
.opt:hover .ic,.row:hover .ic{transform:scale(1.08) rotate(-4deg)}.opt:active{transform:scale(.985)}
.opt{transition:transform .2s,background .2s}.row,.opt{border-radius:18px;border-bottom:0;padding:12px 14px;margin:2px 0;width:100%}.opt{padding:14px}
.row{transition:background .2s,transform .25s cubic-bezier(.16,1,.3,1)}.row:hover,.opt:hover{background:var(--fill)}.row:active{transform:scale(.985)}
.row:hover .ic,.opt:hover .ic{background:var(--bg)}.opt.sel{background:var(--fill)}.opt.sel .ic{background:var(--fg)}
.scr .opt,.scr .row{margin-left:-14px;margin-right:-14px;width:calc(100% + 28px)}
.link{border-radius:10px;padding:8px 10px;margin-left:-10px;transition:background .2s}.link:hover{background:var(--fill)}.note .link{padding:2px 6px;margin:0 -2px}
.pill,.shw,.tag{border-radius:999px}.shw{padding:6px 12px;margin-right:-8px;transition:background .2s}.shw:hover{background:var(--fill2)}
.chk{transition:background .2s,border-color .2s}
.opt.sel .ic{background:var(--fg);color:var(--bg)}.opt.sel .chk{animation:pop .45s cubic-bezier(.34,1.56,.64,1)}
.rules li.ok:before{animation:pop .4s cubic-bezier(.34,1.56,.64,1)}
.meter i{transition:background .4s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.scr.show>.tick{position:relative;animation:pop .8s cubic-bezier(.34,1.56,.64,1) both}
.tick::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ok);animation:ring 1.8s ease-out .8s infinite}
.avl.d{animation:pop .7s cubic-bezier(.34,1.56,.64,1) both}
.fid{animation:pop .6s cubic-bezier(.34,1.56,.64,1) both}
.sheetwrap.show{animation:fade .3s both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sheet{animation:sheetup .6s cubic-bezier(.16,1,.3,1)}
@media (min-width:900px){.sheet{animation:rise .5s cubic-bezier(.16,1,.3,1)}}
.toast{animation:tin .5s cubic-bezier(.34,1.56,.64,1)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Accessibility and real request states; original geometry and motion stay intact. */
.hjco-auth-page,.hjco-auth-page body{width:100%;min-width:0;margin:0!important}.hjco-auth-page .shell{width:100%;min-height:100vh;min-height:100dvh}
.btn[aria-busy="true"]{cursor:wait}.sheet[role="dialog"]:focus{outline:0}.toast{max-width:calc(100vw - 32px);white-space:normal;text-align:center}.hjco-error{color:var(--err);font-size:13px;line-height:1.55;margin:8px 0 12px}.codes code{overflow-wrap:anywhere}.hjco-native{display:block;text-align:center;margin:12px 0}.hjco-phone-fallback{margin-top:4px}.sheet .note a{color:inherit}button:disabled{cursor:not-allowed}

/* Let the supplied phone row shrink inside narrow viewports. */
.hjco-auth-page .phone .fld{min-width:0}
