/* Account entry components: homepage tokens and existing card assets, loaded by login and registration. */
.login-page{background:radial-gradient(ellipse at 20% 60%,#164f4326,transparent 56%),var(--color-background);color:var(--color-text);overflow:hidden}
.login-shell{width:min(1160px,calc(100% - 96px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:84px;align-items:center;padding-block:52px 54px;min-height:740px}
.login-page :is(h1,h2,p){margin:0}
.login-page svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.login-page a{ text-decoration:none}
.login-page :is(a,button,input):focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
.login-intro{min-width:0;position:relative}
.login-page .login-kicker{font-size:10px;font-weight:700;line-height:1.6;letter-spacing:1.65px;color:var(--color-primary)}
.login-intro>.login-kicker{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.login-kicker>span{width:21px;height:2px;background:currentColor;flex-shrink:0}
.login-page h1{font-size:clamp(58px,6.2vw,88px);line-height:1.01;font-weight:850;letter-spacing:-4.8px}
.login-page h1 em{color:var(--color-primary);font-style:normal}
.login-page .login-lead{color:var(--color-text-secondary);font-size:15px;line-height:1.75;margin-top:22px}
.login-scene{height:283px;position:relative;margin:6px -14px 0;isolation:isolate}
.login-table{position:absolute;inset:75px 0 16px;transform:rotate(-11deg);border-radius:50%;padding:10px;background:linear-gradient(165deg,#53614a,#202c25 40%,#131d18 70%,#43543b);box-shadow:0 7px 0 #080e0b,0 22px 28px #0004}
.login-felt{position:relative;height:100%;border-radius:50%;border:1px solid #abbf8342;background:radial-gradient(ellipse at 40% 35%,#22604d,var(--brand-felt,var(--color-felt)) 70%);box-shadow:inset 0 0 32px #07170e99}
.login-felt:before{content:"";position:absolute;inset:12px;border:1px dashed #d1e2c224;border-radius:50%}
.login-table-word{position:absolute;right:30px;top:57px;font-size:12px;font-weight:800;letter-spacing:2px;color:#d4e9cc42}
.login-hand{position:absolute;inset:0;pointer-events:none}
.login-card{position:absolute;top:27px;left:25%;width:131px;height:auto;border-radius:7px;box-shadow:0 16px 22px #0005;transform-origin:50% 85%}
.login-card-back{transform:translateX(47px) rotate(17deg)}
.login-card-front{transform:translateX(-18px) rotate(-14deg);top:38px}
.login-chips{position:absolute;width:151px;height:auto;left:0;bottom:13px;transform:rotate(-8deg)}
.login-dealer{position:absolute;right:57px;bottom:35px;display:grid;place-items:center;width:29px;height:24px;border:2px solid #cccfc0;border-radius:50%;background:#eff1e6;color:#24352a;font-size:12px;font-weight:800;transform:rotate(-11deg);box-shadow:0 3px 0 #788578}
.login-scene-caption{position:absolute;right:10px;bottom:-8px;font-size:7px;letter-spacing:1.5px;color:#82958a}
.login-formats{display:flex;align-items:center;gap:23px;margin-top:34px;padding-top:20px;border-top:1px solid var(--color-border)}
.login-formats a{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--color-text-secondary);font-size:11px;font-weight:550}
.login-formats svg{color:var(--color-primary);width:17px;height:17px}
.login-formats a:hover{color:var(--color-text)}
.login-access{min-width:0}
.login-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:10px;color:var(--color-text-secondary);font-size:11px}
.login-back svg{width:16px;height:16px}
.login-back:hover{color:var(--color-primary)}
.login-card-panel{position:relative;background:linear-gradient(145deg,#1d2723 0%,var(--color-surface) 42%);border:1px solid #3b493f;border-radius:18px;padding:32px;box-shadow:0 20px 50px #0002}
.login-card-panel:before{content:"";position:absolute;top:-1px;left:34px;right:34px;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.65}
.login-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.login-panel-heading .login-kicker{font-size:9px;letter-spacing:1.4px}
.login-entry-mark{display:grid;place-items:center;width:33px;height:33px;background:#d7f75b0a;color:var(--color-primary);border:1px solid #d7f75b26;border-radius:9px;transform:rotate(6deg)}
.login-page h2{font-size:35px;line-height:1.08;letter-spacing:-1.25px;font-weight:750}
.login-page .login-description{font-size:12px;line-height:1.7;color:var(--color-text-secondary);margin-top:12px}
.login-form{display:flex;flex-direction:column;gap:20px;margin-top:27px}
.login-field{min-width:0}
.login-field label{display:block;color:var(--color-text);font-size:12px;font-weight:600;line-height:1.5}
.login-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.login-label-row a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:3px;padding-block:8px;margin-block:-9px}
.login-label-row a:hover{color:var(--color-primary)}
.login-input-wrap{position:relative;margin-top:9px}
.login-input-wrap>svg{position:absolute;left:16px;top:17px;z-index:1;width:18px;height:18px;color:#7f9188;pointer-events:none}
.login-input-wrap input{display:block;min-width:0;width:100%;min-height:54px;padding:15px 45px 15px 45px;border:1px solid #3c4846;border-radius:8px;background:#0d1313;color:var(--color-text);font:400 16px/1.4 Inter,sans-serif;caret-color:var(--color-primary);color-scheme:dark}
.login-input-wrap input::placeholder{color:#7f8d87;font-size:13px;opacity:1}
.login-input-wrap input:focus{border-color:var(--color-primary);background:#111b18}
.login-input-wrap:focus-within>svg{color:var(--color-primary)}
.login-input-wrap input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 100px #15221b inset;caret-color:var(--color-primary)}
.login-password-toggle{position:absolute;right:3px;top:4px;width:44px;height:46px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:#a3b3aa;cursor:pointer}
.login-password-toggle[hidden]{display:none}
.login-password-toggle:hover,.login-password-toggle[aria-pressed=true]{color:var(--color-primary);background:#d7f75b0a}
.login-password-toggle svg{width:19px;height:19px}
.login-eye-slash{display:none}
.login-password-toggle[aria-pressed=true] .login-eye-slash{display:block}
.login-submit{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:54px;width:100%;padding:15px 19px;margin-top:2px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-primary);color:var(--color-ink);font:750 13px/1.4 Inter,sans-serif;cursor:pointer;box-shadow:0 3px 0 #71882f}
.login-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.login-submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #71882f}
.login-submit:disabled{cursor:wait;opacity:.8}
.login-submit-spinner{display:none;width:17px;height:17px;border:2px solid #15211b44;border-top-color:var(--color-ink);border-radius:50%}
.login-form[data-submitting] .login-submit>svg{display:none}
.login-form[data-submitting] .login-submit-spinner{display:block}
.login-page .login-submit-status{color:var(--color-text-secondary);font-size:11px;line-height:1.6}
.login-submit-status:empty{display:none}
.login-signup{border-top:1px solid var(--color-border);margin-top:26px;padding-top:22px;text-align:center}
.login-page .login-signup p{font-size:11px;color:var(--color-text-secondary);margin-bottom:10px}
.login-signup a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:45px;border:1px solid #425048;border-radius:7px;color:var(--color-text);font-size:12px;font-weight:600;background:#ffffff03}
.login-signup a:hover{border-color:var(--color-primary);background:#d7f75b08;color:var(--color-primary)}
.login-signup svg{width:16px;height:16px}
.login-assistance{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;font-size:10px;color:var(--color-text-secondary)}
.login-assistance>span{display:flex;align-items:center;gap:7px}
.login-assistance svg{width:16px;height:16px;color:#8da18f}
.login-assistance a{min-height:44px;display:flex;align-items:center;color:var(--color-text);text-decoration:underline;text-underline-offset:3px}
.login-assistance a:hover{color:var(--color-primary)}
.login-page .login-responsibility{display:flex;align-items:center;justify-content:center;gap:8px;color:#84938b;font-size:9px;line-height:1.6;margin-top:2px}
.login-responsibility>span{display:grid;place-items:center;border:1px solid #46594b;border-radius:50%;width:23px;height:23px;flex-shrink:0;font-size:8px}
.login-card-panel :is(.notice,.form-errors){margin:20px 0 0;border-radius:7px;overflow-wrap:anywhere}
@media(min-width:1600px){.login-shell{min-height:780px}}
@media(max-width:1100px){.login-shell{width:calc(100% - 64px);gap:44px;padding-block:32px 42px}.login-page h1{font-size:68px;letter-spacing:-3.7px}.login-card-panel{padding:27px}.login-formats{gap:14px}.login-formats a{font-size:10px;gap:6px}.login-scene{height:260px}.login-card{width:119px;left:22%}.login-chips{width:132px}.login-table-word{right:20px;top:43px;font-size:10px}.login-dealer{right:35px;bottom:30px}.login-page h2{font-size:32px}}
@media(max-width:850px) and (min-width:701px){.login-shell{width:calc(100% - 40px);gap:26px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.login-page h1{font-size:54px;letter-spacing:-3px}.login-intro>.login-kicker{font-size:8px;letter-spacing:1px}.login-page .login-lead{font-size:13px}.login-card-panel{padding:24px}.login-scene{height:226px;margin-inline:-9px}.login-card{width:103px;left:20%}.login-chips{width:110px;bottom:4px}.login-table{inset:76px 0 16px;padding:8px}.login-table-word{display:none}.login-dealer{right:23px;bottom:24px;width:23px;height:19px;font-size:10px}.login-scene-caption{font-size:6px;letter-spacing:1px;right:0}.login-formats{gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:12px}.login-formats a{font-size:10px}.login-formats svg{width:15px;height:15px}.login-page h2{font-size:29px}.login-assistance{gap:3px 7px}.login-page .login-description{font-size:11px}}
@media(max-width:700px){.login-shell{width:min(440px,calc(100% - 40px));display:flex;flex-direction:column;gap:0;padding-block:28px 32px;min-height:0}.login-intro{width:100%;padding:0 0 21px;min-height:142px}.login-intro>.login-kicker{font-size:8px;letter-spacing:1.1px;margin-bottom:11px;gap:7px}.login-kicker>span{width:15px}.login-page h1{font-size:44px;line-height:1.02;letter-spacing:-2px;position:relative;z-index:2}.login-page .login-lead,.login-formats,.login-table,.login-dealer,.login-scene-caption{display:none}.login-scene{position:absolute;right:-2px;bottom:18px;width:125px;height:109px;margin:0;pointer-events:none}.login-card{width:61px;left:28px;top:8px;border-radius:4px;box-shadow:0 8px 14px #0005}.login-card-back{transform:translateX(21px) rotate(17deg)}.login-card-front{transform:translateX(-9px) rotate(-14deg);top:16px}.login-chips{width:68px;left:-14px;bottom:-5px}.login-access{width:100%}.login-back{margin:0 0 10px;font-size:11px;min-height:44px}.login-card-panel{padding:25px 24px;border-radius:14px}.login-panel-heading{margin-bottom:11px}.login-panel-heading .login-kicker{font-size:8px}.login-entry-mark{width:29px;height:29px}.login-page h2{font-size:30px;line-height:1.1}.login-page h2 br{display:none}.login-page .login-description{font-size:11px;margin-top:9px}.login-form{margin-top:24px;gap:19px}.login-label-row a{font-size:11px}.login-signup{margin-top:24px;padding-top:20px}.login-assistance{margin-top:12px}.login-page .login-responsibility{font-size:9px}.login-input-wrap input{font-size:16px}}
@media(max-width:359px){.login-shell{width:calc(100% - 28px);padding-top:23px}.login-page h1{font-size:39px;letter-spacing:-1.8px}.login-intro{min-height:132px;padding-bottom:17px}.login-intro>.login-kicker{font-size:7px;letter-spacing:.8px}.login-scene{right:-4px;transform:scale(.85);transform-origin:right bottom}.login-card-panel{padding:23px 18px}.login-page h2{font-size:26px}.login-panel-heading .login-kicker{letter-spacing:1px}.login-label-row a{font-size:11px}.login-page .login-responsibility{font-size:8px}}
@media(prefers-reduced-motion:no-preference){
 .login-intro,.login-access{animation:login-arrive .5s ease-out both}.login-access{animation-delay:80ms}
 .login-card{animation:login-card-arrive .7s cubic-bezier(.18,.7,.25,1) .12s both}.login-card-back{animation-delay:.22s}.login-chips{animation:login-arrive .65s ease-out .28s both}
 .login-page :is(.login-submit,.login-signup a,.login-password-toggle,.login-input-wrap input){transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s}
 .login-submit>svg,.login-back>svg{transition:transform .18s}.login-submit:hover>svg{transform:translateX(3px)}.login-back:hover>svg{transform:translateX(-3px)}
 .login-form[data-submitting] .login-submit-spinner{animation:login-spin .75s linear infinite}
 @keyframes login-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
 @keyframes login-card-arrive{from{opacity:0;translate:0 28px;rotate:7deg}to{opacity:1;translate:0 0;rotate:0deg}}
 @keyframes login-spin{to{transform:rotate(360deg)}}
}
@media(prefers-reduced-motion:reduce){.login-page *,.login-page *:before,.login-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
