/* UI-3.2. Loaded only by the guest profile; shared guest components stay opt-in. */
.vlp-ui.vlp-guest .guest-profile { display:grid; gap:16px; width:100%; }
.vlp-ui.vlp-guest .main:has(> .guest-profile) { padding-top:16px; }
.vlp-ui.vlp-guest .guest-profile .profile-identity { padding:0; gap:14px; }
.vlp-ui.vlp-guest .profile-avatar-button { position:relative; padding:0; border:0; width:64px; height:64px; flex:none; background:transparent; cursor:pointer; }
.vlp-ui.vlp-guest .guest-profile .profile-avatar { display:grid; place-items:center; width:64px; height:64px; border:1px solid var(--g-gold); background:var(--g-gold-dim); color:var(--g-gold-hi); font-size:21px; font-weight:700; }
.vlp-ui.vlp-guest .profile-avatar-change { position:absolute; bottom:-4px; left:50%; transform:translateX(-50%); border:1px solid var(--g-line); border-radius:6px; padding:2px 5px; background:var(--g-surface); color:var(--g-ink); font-size:9px; line-height:1.4; white-space:nowrap; }
.vlp-ui.vlp-guest .profile-avatar-busy { position:absolute; inset:0; border:3px solid var(--g-line); border-top-color:var(--g-gold-hi); border-radius:50%; animation:profile-spin .8s linear infinite; }
@keyframes profile-spin { to { transform:rotate(360deg); } }
.vlp-ui.vlp-guest .guest-profile .profile-identity__text { gap:0; }
.vlp-ui.vlp-guest .profile-identity__text h1 { margin:0; font-size:19px; font-weight:700; line-height:1.2; overflow-wrap:anywhere; letter-spacing:normal; }
.vlp-ui.vlp-guest .profile-identity__text p { margin:3px 0 7px; color:var(--g-muted); font-size:12.5px; line-height:1.5; font-variant-numeric:tabular-nums; }
.vlp-ui.vlp-guest .profile-identity__text .profile-venue { justify-self:start; background:var(--g-surface-2); border:1px solid var(--g-line); border-radius:10px; padding:2px 8px; font-size:9px; line-height:1.4; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.vlp-ui.vlp-guest .profile-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.vlp-ui.vlp-guest .profile-stat { background:var(--g-surface); border:1px solid var(--g-line-soft); border-radius:12px; padding:13px 10px; text-align:center; }
.vlp-ui.vlp-guest .profile-stat b { display:block; font-family:Oswald,sans-serif; font-weight:400; font-size:24px; line-height:1.1; font-variant-numeric:tabular-nums; }
.vlp-ui.vlp-guest .profile-stat span { display:block; font-size:10.5px; color:var(--g-faint); margin-top:3px; }
.vlp-ui.vlp-guest .profile-card { background:var(--g-surface); border:1px solid var(--g-line-soft); border-radius:var(--g-r-card); padding:16px; }
.vlp-ui.vlp-guest .profile-season-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.vlp-ui.vlp-guest .profile-season-heading h2 { margin:0; font-size:9.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--g-faint); }
.vlp-ui.vlp-guest .profile-season-points { font:500 24px Oswald,sans-serif; color:var(--g-gold-hi); font-variant-numeric:tabular-nums; }
.vlp-ui.vlp-guest .profile-season-name { margin:8px 0 0; font-size:14px; overflow-wrap:anywhere; }
.vlp-ui.vlp-guest .profile-season-note { margin:9px 0 0; font-size:12px; line-height:1.5; color:var(--g-muted); }
.vlp-ui.vlp-guest .profile-rows { background:var(--g-surface); border:1px solid var(--g-line-soft); border-radius:var(--g-r-card); overflow:hidden; }
.vlp-ui.vlp-guest .profile-setting-row { display:flex; align-items:center; gap:12px; width:100%; border:0; border-bottom:1px solid var(--g-line-soft); border-radius:0; padding:14px 16px; background:transparent; color:var(--g-ink); text-align:left; cursor:pointer; font:inherit; }
.vlp-ui.vlp-guest .profile-setting-row:last-child { border-bottom:0; }
.vlp-ui.vlp-guest .profile-setting-row:hover { background:var(--g-surface-2); }
.vlp-ui.vlp-guest .profile-setting-icon { flex:none; display:flex; color:var(--g-muted); }
.vlp-ui.vlp-guest .profile-setting-icon svg { width:17px; height:17px; }
.vlp-ui.vlp-guest .profile-setting-text { flex:1; min-width:0; font-size:14px; }
.vlp-ui.vlp-guest .profile-setting-text em { display:block; font-style:normal; font-size:11.5px; color:var(--g-faint); margin-top:1px; }
.vlp-ui.vlp-guest .profile-setting-chevron { color:var(--g-faint); flex:none; }
.vlp-ui.vlp-guest .profile-setting-row:focus-visible { outline:2px solid var(--g-gold-hi); outline-offset:-3px; }
.vlp-ui.vlp-guest .profile-moderation p { margin:0 0 8px; font-size:13px; color:var(--g-muted); overflow-wrap:anywhere; }
.vlp-ui.vlp-guest .profile-moderation .text-button { color:var(--g-gold-hi); padding:8px 0; font-size:13px; }
.vlp-ui.vlp-guest .profile-status { margin:0; font-size:13px; color:var(--g-muted); }
/* Shared native bottom sheet, inside the same phone column on all screens. */
.vlp-ui.vlp-guest .sheet { position:fixed; inset:auto 0 0; margin:0 auto; box-sizing:border-box; width:100%; max-width:var(--g-app-w); max-height:calc(100svh - 24px); overflow:auto; padding:18px 22px max(22px,env(safe-area-inset-bottom)); border:1px solid var(--g-line); border-radius:16px 16px 0 0; background:var(--g-surface); color:var(--g-ink); font:inherit; }
.vlp-ui.vlp-guest .sheet[open] { animation:vlp-rise .22s cubic-bezier(.2,.8,.25,1); }
.vlp-ui.vlp-guest .sheet::backdrop { background:var(--g-bg); opacity:.8; }
.vlp-ui.vlp-guest .sheet-grab { display:block; width:38px; height:4px; border-radius:2px; background:var(--g-line); margin:0 auto 18px; }
.vlp-ui.vlp-guest .sheet h2 { margin:0 0 18px; font-size:20px; line-height:1.3; }
.vlp-ui.vlp-guest .sheet p { line-height:1.5; }
.vlp-ui.vlp-guest .sheet .field-hint { color:var(--g-muted); font-size:12px; margin:6px 0 12px; }
.vlp-ui.vlp-guest .sheet-actions { display:grid; gap:8px; margin-top:18px; }
.vlp-ui.vlp-guest .sheet .primary-button,
.vlp-ui.vlp-guest .sheet .secondary-button { width:100%; margin:0; font-size:14px; min-height:44px; justify-content:center; }
.vlp-ui.vlp-guest .sheet .primary-button { color:var(--g-bg); background:var(--g-gold); border-color:var(--g-gold); }
.vlp-ui.vlp-guest .sheet .primary-button:hover { background:var(--g-gold-hi); }
.vlp-ui.vlp-guest .sheet .secondary-button { color:var(--g-ink); background:var(--g-surface-2); border-color:var(--g-line); }
.vlp-ui.vlp-guest .guest-fields { display:grid; gap:0; }
.vlp-ui.vlp-guest .guest-fields > label:not(.profile-switch) { display:block; color:var(--g-muted); font-size:12px; font-weight:400; line-height:1.5; letter-spacing:normal; text-transform:none; margin:0 0 6px; }
.vlp-ui.vlp-guest .guest-fields > input:not([type=hidden]) { box-sizing:border-box; width:100%; height:48px; padding:0 12px; border:1px solid var(--g-line); border-radius:12px; background:var(--g-bg); color:var(--g-ink); font:400 16px 'Golos Text',sans-serif; }
.vlp-ui.vlp-guest .guest-fields > input#profile-name { margin-bottom:16px; }
.vlp-ui.vlp-guest .guest-fields > input:focus { border-color:var(--g-gold); outline:0; }
.vlp-ui.vlp-guest .guest-fields > input[aria-invalid=true] { border-color:var(--g-alarm); }
.vlp-ui.vlp-guest .guest-fields > input[readonly] { color:var(--g-muted); }
.vlp-ui.vlp-guest .sheet .field-error { padding:0; margin:6px 0 12px; border:0; border-radius:0; background:transparent; color:var(--g-alarm); font-size:12px; line-height:1.5; }
.vlp-ui.vlp-guest .profile-inline-link { display:inline; padding:0; border:0; background:transparent; color:var(--g-gold-hi); text-decoration:underline; text-underline-offset:3px; font:inherit; cursor:pointer; }
.vlp-ui.vlp-guest .profile-switch { position:relative; display:flex; align-items:center; gap:12px; min-height:44px; margin:6px 0; color:var(--g-ink); font-size:13px; cursor:pointer; }
.vlp-ui.vlp-guest .profile-switch > span:first-child { flex:1; }
.vlp-ui.vlp-guest .profile-switch input { position:absolute; right:0; width:44px; height:44px; margin:0; opacity:0; cursor:pointer; }
.vlp-ui.vlp-guest .profile-switch-track { flex:none; width:40px; height:24px; border-radius:12px; background:var(--g-line); pointer-events:none; }
.vlp-ui.vlp-guest .profile-switch-track::before { content:''; display:block; width:18px; height:18px; margin:3px; border-radius:50%; background:var(--g-ink); transition:transform .14s cubic-bezier(.2,.8,.25,1); }
.vlp-ui.vlp-guest .profile-switch input:checked + .profile-switch-track { background:var(--g-gold); }
.vlp-ui.vlp-guest .profile-switch input:checked + .profile-switch-track::before { transform:translateX(16px); background:var(--g-bg); }
.vlp-ui.vlp-guest .profile-switch input:focus-visible + .profile-switch-track { outline:2px solid var(--g-gold-hi); outline-offset:4px; }
.vlp-ui.vlp-guest .profile-public-preview { font-size:12px; color:var(--g-muted); margin:0; overflow-wrap:anywhere; }
.vlp-ui.vlp-guest .profile-phone-number { font-size:20px; font-variant-numeric:tabular-nums; }
.vlp-ui.vlp-guest .profile-documents { display:grid; gap:14px; }
.vlp-ui.vlp-guest .profile-documents a { color:var(--g-gold-hi); font-size:14px; }
.vlp-ui.vlp-guest .profile-documents p { font-size:12px; color:var(--g-muted); margin:5px 0 0; font-variant-numeric:tabular-nums; }
.vlp-ui.vlp-guest .sheet.avatar-crop-dialog canvas { width:min(280px,100%); }
.vlp-ui.vlp-guest .sheet input[type=range] { accent-color:var(--g-gold); }
.vlp-ui.vlp-guest .sheet [hidden], .vlp-ui.vlp-guest .guest-profile [hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .vlp-ui.vlp-guest .sheet[open], .vlp-ui.vlp-guest .profile-avatar-busy { animation:none; } .vlp-ui.vlp-guest .profile-switch-track::before { transition:none; } }
.vlp-ui.vlp-guest .home-hall { border:1px solid var(--g-line-soft); border-radius:var(--g-r-card); background:var(--g-surface); padding:16px; }
.vlp-ui.vlp-guest .home-hall>a { display:inline-block; color:var(--g-gold-hi); font-size:22px; font-family:Oswald,sans-serif; font-variant-numeric:tabular-nums; text-decoration:none; }
.vlp-ui.vlp-guest .home-hall p { overflow-wrap:anywhere; }
