/* Authentication uses the homepage tokens; inputs stay 16px on phones. */
.ps-auth-page { --pa-danger:#b42335; --pa-danger-soft:#fff2f3; }
html[data-home-theme=dark] .ps-auth-page { --pa-danger:#ffa6b0; --pa-danger-soft:#352333; }
.ps-auth-page .pa-shell { padding:36px 24px 56px; background:radial-gradient(ellipse at 17% 28%,#9a7de811,transparent 44%),radial-gradient(ellipse at 85% 15%,#649bff0d,transparent 46%); }
.pa-layout { width:min(1080px,100%); margin-inline:auto; display:grid; grid-template-columns:minmax(0,480px) minmax(0,1fr); align-items:center; gap:clamp(40px,7vw,100px); }
.pa-entry { min-width:0; }
.pa-back { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-bottom:12px; font-size:12px; color:var(--ps-muted)!important; }
.pa-back:hover { color:var(--ps-blue)!important; }
.pa-card { position:relative; background:var(--ps-surface); border:1px solid var(--ps-border); border-radius:24px; padding:32px; box-shadow:0 16px 48px #203b6510; animation:pa-enter .55s cubic-bezier(.2,.8,.2,1) both; }
.pa-card::before { content:''; position:absolute; top:-1px; inset-inline:32px; height:2px; background:linear-gradient(90deg,transparent,var(--ps-blue),#9a7be8,transparent); border-radius:10px; }
.pa-card__head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.pa-mark { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--ps-border); border-radius:14px; background:var(--ps-blue-soft); color:var(--ps-blue); font-size:24px; }
.pa-brand { color:var(--ps-muted); font:700 10px/1.7 Arial,sans-serif; letter-spacing:1.7px; }
.ps-auth-page .pa-card h1 { font-size:30px; line-height:1.7; letter-spacing:-.045em; }
.pa-title-dot { color:var(--ps-blue); padding-inline-start:3px; }
.ps-auth-page .pa-lead { color:var(--ps-muted); font-size:13px; margin-top:5px; margin-bottom:24px; }
.auth-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:5px; border:1px solid var(--ps-border); border-radius:13px; background:var(--ps-bg); margin:24px 0; }
.auth-tab { display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:8px 5px; border:1px solid transparent; background:transparent; color:var(--ps-muted); border-radius:9px; font-size:12px!important; font-weight:700!important; transition:background .2s,color .2s; }
.auth-tab:hover { color:var(--ps-blue); }
.auth-tab.is-active { background:var(--ps-surface); color:var(--ps-blue); border-color:var(--ps-border); box-shadow:0 3px 9px #18355a08; }
.auth-method-panel { animation:pa-enter .25s ease-out; }
.auth-form { display:grid; gap:18px; }
.auth-field { min-width:0; }
.auth-field label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; color:var(--ps-ink); }
.auth-label-row { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; }
.auth-label-row a { color:var(--ps-blue); font-size:11px; font-weight:700; margin-bottom:8px; }
.auth-input-wrap { display:flex; align-items:center; min-height:50px; padding-inline:14px 4px; gap:10px; background:var(--ps-bg); border:1px solid var(--ps-border); border-radius:12px; transition:border-color .2s,box-shadow .2s; }
.auth-input-wrap:focus-within { border-color:var(--ps-blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--ps-blue) 12%,transparent); }
.auth-input-wrap>i { color:var(--ps-muted); font-size:18px; }
.ps-auth-page .auth-input-wrap input { width:100%; min-width:0; height:48px; padding:8px 4px 8px 10px; font:400 15px/1.6 var(--font-body); color:var(--ps-ink); background:transparent!important; border:0!important; border-radius:10px; outline:none; box-shadow:none; direction:ltr; text-align:start; }
.ps-auth-page .auth-input-wrap input:focus { box-shadow:none; outline:none; }
.auth-input-wrap input::placeholder { color:var(--ps-muted); opacity:.65; }
.auth-input-wrap:has([aria-invalid=true]) { border-color:var(--pa-danger); }
.auth-input-wrap input:autofill { border-radius:8px; }
.auth-input-wrap--phone input { letter-spacing:1px; }
.auth-input-wrap--otp input { font-size:24px!important; letter-spacing:9px; text-align:center!important; padding-inline-end:28px!important; }
.auth-password-toggle { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; color:var(--ps-muted); background:transparent; border:0; border-radius:9px; }
.auth-password-toggle:hover { color:var(--ps-blue); background:var(--ps-blue-soft); }
.auth-submit { width:100%; min-height:50px; border-radius:12px; margin-top:2px; }
.auth-submit [data-button-icon] { margin-inline-start:auto; }
.auth-button-spinner { display:none; width:16px; height:16px; border:2px solid currentColor; border-inline-end-color:transparent; border-radius:50%; animation:pa-spin .65s linear infinite; }
.auth-submit.is-loading .auth-button-spinner,.is-loading .auth-submit:disabled .auth-button-spinner { display:block; }
.auth-submit.is-loading [data-button-icon] { display:none; }
.ps-auth-page .auth-field-hint { color:var(--ps-muted); font-size:11px; line-height:1.9; margin-top:7px; }
.auth-field-error,.ps-auth-page .auth-field .errorlist { color:var(--pa-danger); font-size:12px; margin-top:7px; padding:0; list-style:none; line-height:1.9; }
.auth-alert,.auth-feedback { padding:12px 14px; border-radius:11px; font-size:12px; line-height:1.9; margin-bottom:16px; overflow-wrap:anywhere; }
.auth-alert,.auth-feedback--error { background:var(--pa-danger-soft); color:var(--pa-danger); border:1px solid color-mix(in srgb,var(--pa-danger) 22%,transparent); }
.auth-alert { display:flex; align-items:flex-start; gap:8px; }
.auth-alert>i { margin-top:5px; }.auth-alert .errorlist { padding:0; list-style:none; }
.auth-feedback--success { background:var(--ps-blue-soft); color:var(--ps-success); }
.ps-auth-page .pa-caps { color:var(--pa-danger); }
.auth-text-button,.auth-cancel-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:6px 0; border:0; background:transparent; color:var(--ps-blue)!important; font-size:12px!important; font-weight:700!important; }
.auth-text-button:hover,.auth-cancel-link:hover,.pa-signup a:hover,.auth-label-row a:hover { text-decoration:underline; }
.ps-auth-page .pa-password-help { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 8px; margin-top:8px; color:var(--ps-muted); font-size:11px; }
.pa-signup { border-top:1px solid var(--ps-border); margin-top:22px; padding-top:18px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; font-size:12px; color:var(--ps-muted); }
.pa-signup a { min-height:32px; display:inline-flex; align-items:center; gap:6px; color:var(--ps-blue); font-weight:700; }
.ps-auth-page .pa-footnote { display:flex; justify-content:center; align-items:center; gap:7px; font-size:11px; margin-top:18px; color:var(--ps-muted); text-align:center; }
.pa-footnote>i { color:var(--ps-success); font-size:16px; }
.pa-noscript { font-size:12px; margin-top:12px!important; }.pa-noscript a { text-decoration:underline; color:var(--ps-blue); }
.ps-auth-page .pa-story h2 { font-size:40px; line-height:1.8; font-weight:900; letter-spacing:-.045em; }
.pa-story h2>span { color:var(--ps-blue); }
.ps-auth-page .pa-story>p { font-size:13px; color:var(--ps-muted); margin-top:10px; }
.pa-art { position:relative; isolation:isolate; height:240px; width:100%; max-width:370px; margin:12px auto 16px; display:grid; place-items:center; }
.pa-art::before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse,#7b98f826,transparent 68%); }
.pa-art__orbit { position:absolute; width:230px; height:230px; border:1px dashed color-mix(in srgb,var(--ps-blue) 23%,transparent); border-radius:50%; animation:pa-spin 60s linear infinite; }
.pa-art__orbit--inner { width:176px; height:176px; border-style:solid; border-color:color-mix(in srgb,var(--ps-accent) 16%,transparent); }
.pa-art__core { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; width:124px; height:140px; border:1px solid var(--ps-border); border-radius:30px; background:var(--ps-surface); color:var(--ps-blue); box-shadow:0 16px 40px #245eea15; transform:rotate(-6deg); }
.pa-art__core>i { font-size:50px; }.pa-art__core>span { font:700 9px Arial,sans-serif; letter-spacing:2px; }
.pa-art__chip { position:absolute; display:flex; align-items:center; gap:9px; padding:10px 13px; background:var(--ps-surface); border:1px solid var(--ps-border); border-radius:12px; box-shadow:var(--ps-shadow); font-size:11px; font-weight:700; animation:pa-float 6s ease-in-out infinite; }
.pa-art__chip>i { font-size:18px; color:var(--ps-blue); }.pa-art__chip--order { top:25px; right:2px; }.pa-art__chip--wallet { left:0; top:104px; animation-delay:-2s; }.pa-art__chip--wallet>i { color:var(--ps-accent); }.pa-art__chip--support { bottom:15px; right:20px; animation-delay:-4s; }.pa-art__chip--support>i { color:var(--ps-success); }.pa-art__spark { position:absolute; left:48px; top:24px; color:var(--ps-accent); font-size:24px; }
.pa-benefits { padding:0; list-style:none; display:grid; gap:16px; }.pa-benefits li { display:flex; align-items:center; gap:12px; }.pa-benefits li>i { display:grid; place-items:center; width:40px; height:40px; background:var(--ps-surface); border:1px solid var(--ps-border); color:var(--ps-blue); border-radius:12px; font-size:18px; }.pa-benefits strong { display:block; font-size:12px; }.pa-benefits small { display:block; font-size:11px; color:var(--ps-muted); margin-top:2px; }
.pa-help { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; border-top:1px solid var(--ps-border); margin-top:24px; padding-top:16px; min-height:44px; color:var(--ps-muted)!important; font-size:11px; }.pa-help span { color:var(--ps-blue); display:flex; align-items:center; gap:6px; }
.auth-flow-steps { display:flex; align-items:center; gap:14px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--ps-border); }.auth-flow-steps>i { color:var(--ps-muted); font-size:10px; }.auth-flow-step { display:flex; align-items:center; gap:7px; color:var(--ps-muted); }.auth-flow-step>span { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; background:var(--ps-bg); border:1px solid var(--ps-border); font-size:12px; }.auth-flow-step small { font-size:11px; }.auth-flow-step.is-active { color:var(--ps-blue); font-weight:700; }.auth-flow-step.is-active>span { background:var(--ps-blue-soft); border-color:var(--ps-blue); }.auth-flow-step.is-complete>span { color:var(--ps-success); }
.ps-auth-page .pa-method-title { font-size:16px; margin-bottom:6px; }.ps-auth-page .pa-method-copy { color:var(--ps-muted); font-size:12px; margin-bottom:18px; }.auth-phone-value { display:inline-block; direction:ltr; color:var(--ps-ink); }.auth-code-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:10px; }.auth-secondary-actions { text-align:center; margin-top:6px; }.auth-cancel-link { font-weight:400!important; color:var(--ps-muted)!important; }
.ps-auth-page .pa-inline-note { display:flex; align-items:flex-start; gap:8px; padding:12px; margin-top:16px; border:1px solid var(--ps-border); border-radius:10px; font-size:11px; color:var(--ps-muted); }.pa-inline-note>i { margin-top:4px; color:var(--ps-blue); }
.pa-bot-link { display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; border:1px solid var(--ps-border); border-radius:11px; background:var(--ps-blue-soft); color:var(--ps-blue)!important; font-size:12px; font-weight:700; margin-bottom:20px; }.pa-bot-link:hover { border-color:var(--ps-blue); }
.pa-status { display:flex; gap:6px; align-items:center; color:var(--ps-success); font-size:12px; }
.pa-register-steps { list-style:none; margin:0 0 24px; padding:0; display:grid; gap:18px; }.pa-register-steps li { display:flex; align-items:flex-start; gap:12px; }.pa-register-steps li>span { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:var(--ps-blue-soft); color:var(--ps-blue); font-size:13px; font-weight:700; flex-shrink:0; }.pa-register-steps strong { display:block; font-size:13px; }.pa-register-steps small { display:block; color:var(--ps-muted); font-size:11px; margin-top:4px; }
.pa-register-alternative { margin-top:18px; font-size:12px; }.pa-register-alternative summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; min-height:44px; list-style:none; color:var(--ps-muted); }.pa-register-alternative summary::-webkit-details-marker { display:none; }.pa-register-alternative p { margin:12px 0 18px; color:var(--ps-muted); }.pa-register-alternative .pa-bot-link { margin-bottom:4px; }
@keyframes pa-spin { to { transform:rotate(360deg); } }
@keyframes pa-float { 50% { transform:translateY(-8px); } }
@keyframes pa-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:991px) { .pa-layout { gap:36px; grid-template-columns:minmax(0,460px) minmax(0,1fr); }.pa-card { padding:26px; }.ps-auth-page .pa-story h2 { font-size:30px; }.pa-art__chip { font-size:10px; padding:9px; }.pa-art__chip--order { right:-8px; }.pa-art__chip--wallet { left:-8px; }.pa-art__orbit { width:190px; height:210px; }.pa-art__orbit--inner { width:150px; height:165px; } }
@media(max-width:767px) { .ps-auth-page .pa-shell { padding:18px 16px 32px; }.pa-layout { display:block; max-width:480px; }.pa-back { margin-bottom:8px; }.pa-card { padding:24px; border-radius:20px; box-shadow:0 10px 35px #203b650a; }.pa-card__head { margin-bottom:16px; }.pa-mark { width:42px; height:42px; font-size:21px; border-radius:12px; }.ps-auth-page .pa-card h1 { font-size:27px; }.ps-auth-page .pa-lead { font-size:12px; margin-bottom:20px; }.auth-tabs { margin:20px 0; }.auth-form { gap:16px; }.ps-auth-page .auth-input-wrap input { font-size:16px; }.pa-story { margin-top:26px; }.pa-story>:not(.pa-help) { display:none; }.pa-help { margin-top:0; padding-top:16px; }.pa-footnote { font-size:10px!important; }.auth-label-row a { font-size:10px; }.pa-brand { font-size:9px; letter-spacing:1px; } }
@media(max-width:359px) { .ps-auth-page .pa-shell { padding-inline:12px; }.pa-card { padding:20px 16px; }.auth-tab { gap:5px; font-size:11px!important; }.ps-auth-page .pa-card h1 { font-size:25px; }.auth-flow-steps { gap:10px; }.auth-flow-step small { font-size:10px; }.pa-signup { font-size:11px; }.auth-label-row { gap:4px; } }
@media(prefers-reduced-motion:reduce) { .ps-auth-page :is(.pa-card,.auth-method-panel,.pa-art__chip,.pa-art__orbit,.auth-button-spinner) { animation:none!important; }.ps-auth-page .auth-input-wrap { transition:none; } }
