/* VORI Auth — same dark, soft-edged surface language as the marketplace. */
body{background:#080a0f}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 18% -10%,rgba(var(--navbar-accent-rgb,59,130,246),.10),transparent 34%),radial-gradient(circle at 82% 5%,rgba(139,92,246,.065),transparent 30%),linear-gradient(180deg,#0a0c12,#07090d 58%,#080a0e)}
.auth-surface{--auth-accent:var(--navbar-accent-rgb,59,130,246);position:relative;isolation:isolate}
.auth-surface::before{content:"";position:absolute;inset:3rem 7% auto;height:22rem;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,rgba(var(--auth-accent),.08),transparent 68%);filter:blur(22px)}
.auth-brand{display:inline-flex;align-items:center;gap:.62rem;color:rgba(255,255,255,.92);font-size:.76rem;font-weight:900;letter-spacing:-.01em}
.auth-brand__mark{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid rgba(255,255,255,.07);border-radius:.7rem;background:rgba(255,255,255,.025);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.auth-brand__mark img{width:1.15rem;height:1.15rem;object-fit:contain}
.auth-panel{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.065)!important;border-radius:1.15rem!important;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008)),rgba(14,16,22,.88)!important;box-shadow:0 28px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.018)!important;backdrop-filter:blur(22px)}
.auth-panel::before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--auth-accent),.48),transparent);opacity:.85}
.auth-kicker{display:inline-flex;align-items:center;gap:.45rem;color:rgb(var(--auth-accent));font-size:.62rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.auth-title{margin-top:.55rem;color:#fff;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:950;line-height:1.05;letter-spacing:-.045em}
.auth-copy{margin-top:.65rem;color:rgba(205,208,220,.52);font-size:.78rem;font-weight:600;line-height:1.7}
.auth-field{display:block}
.auth-field>span,.auth-label{display:block;margin-bottom:.42rem;color:rgba(214,216,226,.62);font-size:.62rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.auth-input{width:100%;min-height:3rem;border:1px solid rgba(255,255,255,.065);border-radius:.78rem;background:rgba(6,8,12,.64);padding:.72rem .9rem;color:#fff;font-size:.78rem;font-weight:700;outline:none;transition:border-color .17s ease,background .17s ease,box-shadow .17s ease}
.auth-input::placeholder{color:rgba(185,190,204,.27)}
.auth-input:focus{border-color:rgba(var(--auth-accent),.38);background:rgba(8,10,15,.82);box-shadow:0 0 0 3px rgba(var(--auth-accent),.055)}
.auth-code-input{font-variant-numeric:tabular-nums;letter-spacing:.42em;text-align:center;font-size:1.35rem;font-weight:950;padding-left:1.3rem}
.auth-primary{display:inline-flex;min-height:2.9rem;width:100%;align-items:center;justify-content:center;gap:.5rem;border:1px solid rgba(var(--auth-accent),.38);border-radius:.76rem;background:linear-gradient(135deg,rgba(var(--auth-accent),.96),rgba(var(--auth-accent),.78));padding:.66rem 1rem;color:#fff;font-size:.74rem;font-weight:950;box-shadow:0 13px 34px rgba(var(--auth-accent),.12);transition:transform .17s ease,filter .17s ease,box-shadow .17s ease}
.auth-primary:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 17px 40px rgba(var(--auth-accent),.17)}
.auth-secondary{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:.45rem;border:1px solid rgba(255,255,255,.06);border-radius:.7rem;background:rgba(255,255,255,.018);padding:.55rem .8rem;color:rgba(225,227,235,.68);font-size:.68rem;font-weight:850;transition:.16s ease}
.auth-secondary:hover{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff}
.auth-note{display:flex;gap:.65rem;align-items:flex-start;border:1px solid rgba(255,255,255,.05);border-radius:.78rem;background:rgba(255,255,255,.012);padding:.75rem .85rem;color:rgba(195,199,212,.44);font-size:.64rem;font-weight:650;line-height:1.55}
.auth-note i{margin-top:.08rem;color:rgb(var(--auth-accent))}
.auth-oauth-grid a{border-radius:.76rem!important;min-height:2.9rem!important;box-shadow:none!important}
/* Softly normalize the existing login/register cards without changing flow logic. */
.auth-surface [class*="rounded-[2rem]"]{border-radius:1.15rem!important}
.auth-surface .shadow-glow,.auth-surface .shadow-pc{box-shadow:0 24px 70px rgba(0,0,0,.24)!important}
.auth-surface .bg-pc-surface\/90,.auth-surface .bg-pc-surface\/80{background:rgba(14,16,22,.86)!important}
.auth-surface input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.auth-surface textarea,.auth-surface select{border-radius:.78rem!important;background:rgba(6,8,12,.64)!important}
@media(max-width:700px){.auth-surface{padding-top:1.2rem!important;padding-bottom:2.5rem!important}.auth-panel{border-radius:1rem!important}}
@media(prefers-reduced-motion:reduce){.auth-surface *, .auth-surface *::before,.auth-surface *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
