.local-banner { padding:9px 20px; text-align:center; background:var(--surface); color:var(--gold-hi); font-size:11px; letter-spacing:.04em; }
.auth-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center; padding:28px 0 40px; }
.main--stub:has(.auth-layout), .main--stub:has(.auth-panel) { display:block; }
.auth-story { position:relative; min-width:0; overflow:hidden; padding:22px 0 130px; }
.auth-story h1 { font-size:clamp(36px, 4vw, 57px); line-height:1.12; letter-spacing:-.045em; font-weight:650; }
.auth-story h1 span { color:var(--gold-hi); }
.auth-story > p:not(.eyebrow) { color:var(--muted); line-height:1.8; max-width:320px; margin:22px 0; }
.auth-perks { display:grid; gap:16px; color:var(--ink); font-size:13px; }
.auth-perks > span { display:flex; align-items:center; gap:13px; }
.auth-perks svg { color:var(--gold-hi); width:22px; }
.story-orbit { position:absolute; right:-45px; bottom:-115px; width:310px; height:310px; border:1px solid color-mix(in srgb, var(--gold) 14.9%, transparent); border-radius:50%; display:grid; place-items:center; transform:rotate(-18deg); }
.story-orbit::before, .story-orbit::after { content:''; position:absolute; inset:18px; border:1px solid color-mix(in srgb, var(--gold) 11.0%, transparent); border-radius:50%; }
.story-orbit::after { inset:38px; }
.story-orbit span { color:color-mix(in srgb, var(--gold-hi) 14.9%, transparent); font-size:75px; letter-spacing:.12em; }
.auth-panel { border:1px solid var(--line); border-radius:var(--radius); min-width:0; box-shadow:0 22px 60px color-mix(in srgb, var(--bg) 13.3%, transparent); background:var(--surface); padding:28px; }
.auth-panel h1, .auth-panel h2 { font-size:30px; line-height:1.2; letter-spacing:-.035em; margin:12px 0; overflow-wrap:anywhere; }
.auth-panel--single { width:min(100%, 510px); margin:15px auto 45px; }
.auth-panel .eyebrow { margin-top:20px; }
.auth-panel > .eyebrow:first-child { margin-top:0; }
.auth-intro { color:var(--muted); font-size:14px; line-height:1.75; margin:15px 0 25px; overflow-wrap:anywhere; }
.auth-form { display:grid; gap:10px; }
.auth-form > label { margin-top:9px; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.auth-form input:not([type="checkbox"]):not([type="hidden"]) { width:100%; min-width:0; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:4px; padding:9px 13px; font:inherit; font-size:13px; }
.auth-form input::placeholder { color:var(--muted); opacity:1; }
.field-hint, .auth-fine { color:var(--muted); font-size:12px; line-height:1.7; margin:0 0 5px; }
.auth-fine { margin:18px 0; }
.primary-button, .secondary-button { border:0; border-radius:4px; padding:9px 13px; cursor:pointer; font:inherit; font-size:13px; font-weight:650; text-decoration:none; display:flex; align-items:center; justify-content:space-between; gap:12px;  line-height:1.4; }
.primary-button { background:var(--gold); margin-top:12px;  color:var(--bg); }
.primary-button:hover { background:var(--gold-hi); }
.primary-button:disabled, .secondary-button:disabled { cursor:wait; }
.secondary-button { color:var(--ink); background:var(--line); justify-content:center; }
.text-link, .text-button { color:var(--gold-hi); font-size:13px; line-height:1.6; text-underline-offset:4px; }
.text-button { border:0; background:transparent; cursor:pointer; padding:6px 0; text-align:left; }
.coming-login { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-top:22px; margin-top:28px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.coming-login span:first-child { color:var(--ink); }
.form-error { color:var(--alarm-hi); padding:13px 15px; font-size:13px; line-height:1.65; border-radius:var(--radius); margin:18px 0; background:color-mix(in srgb, var(--alarm) 8%, var(--bg)); border:1px solid var(--alarm); }
.test-code { border:1px dashed color-mix(in srgb, var(--gold) 43.9%, transparent); background:color-mix(in srgb, var(--gold) 3.9%, transparent); border-radius:var(--radius); display:grid; gap:8px; padding:18px; margin-bottom:20px; color:var(--gold-hi); font-size:12px; }
.test-code strong { font-size:29px; letter-spacing:.2em; color:var(--gold-hi); font-family:"VLP Oswald", sans-serif; font-weight:500; font-variant-numeric:tabular-nums; }
.code-input { letter-spacing:.3em; font-variant-numeric:tabular-nums; }
.resend-form { margin-top:16px; display:grid; }
.verified-phone { font-size:12px; color:var(--mint); display:block; }
.verified-phone svg { width:16px; vertical-align:middle; margin-right:4px; }
.consents { display:grid; gap:16px; margin-top:15px; }
.check-label { display:flex; align-items:flex-start; gap:11px; line-height:1.65; font-size:12px; color:var(--ink); cursor:pointer; padding:5px 0; }
.check-label input { width:20px; height:20px; flex-shrink:0; margin:1px 0 0; accent-color:var(--gold-hi); }
.check-label a { color:var(--gold-hi); text-underline-offset:3px; }
.profile-details { display:grid; gap:8px; margin:24px 0; }
.profile-details dt { color:var(--muted); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; }
.profile-details dd { margin:0 0 12px; overflow-wrap:anywhere; }
.profile-actions { display:grid; gap:10px; margin-top:26px; }
.profile-actions .text-button { width:100%; text-align:center; }
.document-history { border-top:1px solid color-mix(in srgb, var(--line) 8.6%, transparent); margin-top:28px; padding-top:20px; font-size:13px; }
.document-history summary { cursor:pointer; }
.document-history p { display:grid; gap:6px; line-height:1.6; }
.document-history a { color:var(--gold-hi); }
.document-history span { font-size:11px; color:var(--muted); }
.document-body { line-height:1.9; color:var(--ink); }
:where(.vlp-ui.vlp-guest) .header-avatar { overflow:hidden; }
:where(.vlp-ui.vlp-guest) .header-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
:where(.vlp-ui.vlp-guest) .profile-identity { display:flex; align-items:center; gap:14px; min-width:0; padding:12px 0 20px; }
:where(.vlp-ui.vlp-guest) .profile-identity__text { min-width:0; display:grid; gap:5px; overflow-wrap:anywhere; }
:where(.vlp-ui.vlp-guest) .profile-identity__text strong { color:var(--g-ink); font-size:16px; line-height:1.3; overflow-wrap:break-word; }
:where(.vlp-ui.vlp-guest) .profile-identity__text span { color:var(--g-muted); font-variant-numeric:tabular-nums; }
:where(.vlp-ui.vlp-guest) .profile-avatar { width:64px; height:64px; border-radius:50%; object-fit:cover; flex:none; }
:where(.vlp-ui.vlp-guest) .profile-avatar--empty { display:grid; place-items:center; background:var(--g-surface-2); color:var(--g-gold-hi); border:1px solid var(--g-line); font-size:24px; }
:where(.vlp-ui.vlp-guest) .profile-name-choice { margin:0; font-size:13px; letter-spacing:normal; text-transform:none; color:var(--g-ink); }
:where(.vlp-ui.vlp-guest) .profile-form__actions { display:grid; gap:8px; margin-top:12px; }
:where(.vlp-ui.vlp-guest) .profile-form__actions .primary-button { margin-top:0; }
:where(.vlp-ui.vlp-guest) .profile-settings { display:grid; gap:8px; margin-bottom:18px; }
:where(.vlp-ui.vlp-guest) .profile-preview { width:96px; height:96px; object-fit:cover; border-radius:50%; border:1px solid var(--g-line); }
:where(.vlp-ui.vlp-guest) .profile-dialog { width:min(400px,calc(100% - 24px)); max-height:calc(100svh - 24px); overflow:auto; border:1px solid var(--g-line); border-radius:var(--g-r-card); padding:20px; background:var(--g-surface); color:var(--g-ink); font:inherit; }
:where(.vlp-ui.vlp-guest) .profile-dialog::backdrop { background:var(--g-bg); opacity:.85; }
:where(.vlp-ui.vlp-guest) .profile-dialog h2 { margin:0 0 12px; font-size:22px; }
:where(.vlp-ui.vlp-guest) .avatar-crop-dialog canvas { display:block; width:min(320px,100%); aspect-ratio:1; margin:12px auto; border-radius:var(--g-r-item); touch-action:none; }
:where(.vlp-ui.vlp-guest) .avatar-crop-dialog input[type=range] { width:100%; }
@media (pointer:coarse) { :where(.vlp-ui.vlp-guest) .profile-form input:not([type=checkbox]):not([type=hidden]) { font-size:16px; padding:10px; } }
@media (max-width: 1000px) {
.auth-layout { grid-template-columns:1fr; gap:25px; padding-top:0; max-width:510px; margin:auto; }
.auth-story { padding:0; }
.auth-story h1 { font-size:37px; }
.auth-story > p:not(.eyebrow) { margin:15px 0 0; }
.auth-perks, .story-orbit { display:none; }
.auth-panel { background:var(--surface); padding:28px; }
}
@media (max-width: 640px) {
.local-banner { font-size:10px; padding:8px 12px; }
.auth-story h1 { font-size:32px; }
.auth-story > p:not(.eyebrow) { font-size:12px; }
.auth-panel { border-radius:var(--radius); background:var(--surface); padding:28px; }
.auth-panel h1, .auth-panel h2 { font-size:26px; }
.auth-panel--single { margin-top:0; }
}

.secondary-button:hover { background:var(--surface); box-shadow:inset 0 0 0 1px var(--gold); }
.primary-button--danger:hover { background:var(--alarm-hi); }
.primary-button:disabled,.secondary-button:disabled { color:var(--muted); background:var(--line); opacity:1; }
.confirm-dialog { width:min(480px,calc(100% - 32px)); padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--ink); max-height:calc(100svh - 32px); overflow:auto; }
.confirm-dialog::backdrop { background:color-mix(in srgb,var(--bg) 80%,transparent); }
.confirm-dialog h2 { margin:0 0 16px; font-size:23px; }
.confirm-dialog p { line-height:1.6; white-space:pre-line; overflow-wrap:anywhere; }
.confirm-dialog__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.confirm-dialog__actions button { margin:0; flex:1; }
.confirm-dialog[open] { animation:dialog-enter 220ms cubic-bezier(.2,.8,.25,1); }
@keyframes dialog-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .confirm-dialog[open] { animation:none; } }
