:root{
    --vw-bg:#e9eef3;
    --vw-card:#fff;
    --vw-text:#24313d;
    --vw-muted:#6f7c88;
    --vw-dark:#1d2d3a;
    --vw-dark-2:#10202d;
    --vw-orange:#ff7a1a;
    --vw-orange-dark:#d95d05;
    --vw-border:#dce4eb;
    --vw-danger:#b42318;
    --vw-success:#067647;
    --vw-shadow:0 24px 70px rgba(22,38,52,.16)
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
    margin:0;
    direction:rtl;
    font-family:Arial,"Segoe UI",sans-serif;
    color:var(--vw-text);
    background:
        radial-gradient(circle at 14% 12%,rgba(255,122,26,.13),transparent 30%),
        radial-gradient(circle at 88% 18%,rgba(55,91,117,.18),transparent 32%),
        linear-gradient(135deg,#f5f8fa 0%,#e8eef3 48%,#f7f9fb 100%);
}
a{color:inherit}
.vw-auth-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}
.vw-auth-topbar{
    min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:12px clamp(18px,4vw,54px);background:linear-gradient(135deg,var(--vw-dark),var(--vw-dark-2));
    color:#fff;box-shadow:0 8px 28px rgba(15,31,44,.22)
}
.vw-auth-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;font-size:20px}
.vw-auth-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--vw-orange),#ff9b55);box-shadow:0 8px 20px rgba(255,122,26,.28)}
.vw-auth-toplinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.vw-auth-toplinks a{color:#e9f0f5;text-decoration:none;font-size:14px;font-weight:800;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14)}
.vw-auth-main{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:42px 0 58px;display:grid;place-items:center}
.vw-auth-card{
    width:min(980px,100%);display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;
    background:rgba(255,255,255,.95);border:1px solid rgba(208,220,230,.92);border-radius:30px;box-shadow:var(--vw-shadow)
}
.vw-auth-hero{position:relative;overflow:hidden;padding:46px 42px;background:linear-gradient(145deg,#263b4b,#142431);color:#fff}
.vw-auth-hero:before,.vw-auth-hero:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.vw-auth-hero:before{width:250px;height:250px;right:-92px;top:-88px;background:rgba(255,122,26,.20)}
.vw-auth-hero:after{width:290px;height:290px;left:-120px;bottom:-130px;background:rgba(255,255,255,.07)}
.vw-auth-hero>*{position:relative;z-index:1}
.vw-auth-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:900}
.vw-auth-hero h1{margin:22px 0 12px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.04em}
.vw-auth-hero p{margin:0;color:#d4dee6;font-size:16px;line-height:1.85;font-weight:650}
.vw-auth-feature-list{display:grid;gap:11px;margin-top:28px}
.vw-auth-feature{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-weight:800}
.vw-auth-form-side{padding:42px 38px;display:grid;align-content:center}
.vw-auth-form-side.wide{align-content:start}
.vw-auth-title{margin:0 0 7px;font-size:28px;line-height:1.25;font-weight:900}
.vw-auth-subtitle{margin:0 0 24px;color:var(--vw-muted);line-height:1.7;font-weight:650}
.vw-alert{margin:0 0 16px;padding:13px 15px;border-radius:14px;border:1px solid;font-weight:750;line-height:1.55}
.vw-alert.error{background:#fff1f0;border-color:#f3b7b2;color:var(--vw-danger)}
.vw-alert.success{background:#ecfdf3;border-color:#a9e8c4;color:var(--vw-success)}
.vw-alert.info{background:#eff8ff;border-color:#b8d9f5;color:#175b8b}
.vw-field{display:grid;gap:8px;margin-bottom:15px}
.vw-field label{font-weight:900;font-size:14px;color:#334554}
.vw-field input,.vw-field select{
    width:100%;min-height:50px;border:1px solid var(--vw-border);border-radius:15px;padding:12px 14px;background:#fff;
    color:var(--vw-text);font:inherit;font-weight:700;outline:none;transition:.18s ease
}
.vw-field input:focus,.vw-field select:focus{border-color:rgba(255,122,26,.8);box-shadow:0 0 0 4px rgba(255,122,26,.12)}
.vw-field small{color:var(--vw-muted);line-height:1.5}
.vw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vw-avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.vw-avatar-option{position:relative}
.vw-avatar-option input{position:absolute;opacity:0;pointer-events:none}
.vw-avatar-card{display:grid;place-items:center;min-height:118px;border:2px solid var(--vw-border);border-radius:17px;background:#f8fafc;cursor:pointer;transition:.18s ease;overflow:hidden}
.vw-avatar-card img{width:68px;height:98px;object-fit:none;object-position:0 0;image-rendering:auto}
.vw-avatar-option input:checked+.vw-avatar-card{border-color:var(--vw-orange);background:#fff5ed;box-shadow:0 0 0 4px rgba(255,122,26,.11)}
.vw-submit{width:100%;min-height:52px;border:0;border-radius:16px;padding:13px 18px;background:linear-gradient(135deg,var(--vw-orange),var(--vw-orange-dark));color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(217,93,5,.24);transition:.18s ease}
.vw-submit:hover{transform:translateY(-1px);filter:brightness(1.03)}
.vw-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.vw-auth-links{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px;color:#526473;font-size:14px;font-weight:800}
.vw-auth-links a{color:#b6530b;text-decoration:none}
.vw-profile-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--vw-border);border-radius:17px;background:#f8fafc;margin-bottom:18px}
.vw-profile-preview img{width:62px;height:62px;border-radius:18px;object-fit:cover;border:2px solid #fff;box-shadow:0 5px 14px rgba(30,46,60,.15)}
.vw-profile-preview strong{display:block;margin-bottom:4px}
.vw-profile-preview span{color:var(--vw-muted);font-size:13px}
.vw-inline-note{padding:12px 14px;border-radius:14px;background:#fff7ef;color:#8d4c18;border:1px solid #ffd7b5;font-size:13px;line-height:1.65;font-weight:700}
.vw-code-link{direction:ltr;text-align:left;word-break:break-all;font-size:12px;color:#366687;background:#f6f8fa;border-radius:12px;padding:10px;margin-top:12px}
@media(max-width:860px){.vw-auth-card{grid-template-columns:1fr}.vw-auth-hero{padding:32px 25px}.vw-auth-form-side{padding:32px 24px}.vw-auth-main{padding-top:24px}.vw-avatar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vw-auth-topbar{padding:10px 14px}.vw-auth-toplinks{display:none}.vw-auth-main{width:min(100% - 18px,1120px)}.vw-auth-card{border-radius:22px}.vw-grid-2{grid-template-columns:1fr}.vw-auth-form-side{padding:27px 18px}.vw-auth-hero{padding:28px 20px}.vw-auth-title{font-size:24px}}
.vw-avatar-sprite{width:64px;height:98px;background-repeat:no-repeat;background-position:0 0}
.vw-verification-steps{display:grid;gap:16px}
.vw-verification-step{padding:18px;border:1px solid var(--vw-border);border-radius:18px;background:#fff}
.vw-verification-step.is-current{border-color:#ffc392;box-shadow:0 0 0 4px rgba(255,122,26,.08)}
.vw-verification-step.is-complete{background:#f0fbf5;border-color:#b7e7cc}
.vw-verification-step.is-locked{background:#f7f9fb;opacity:.86}
.vw-verification-step-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}
.vw-verification-step-head strong{display:block;font-size:16px}
.vw-verification-step-head small{display:block;color:var(--vw-muted);margin-top:3px;direction:ltr;text-align:right}
.vw-verification-number{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#253746;color:#fff;font-weight:900}
.vw-verification-step.is-complete .vw-verification-number{background:#14804a}
.vw-status-pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}
.vw-status-pill.success{background:#dff7e9;color:#087443}
.vw-status-pill.pending{background:#fff1e5;color:#ad530d}
.vw-status-pill.locked{background:#e8edf1;color:#657480}
.vw-resend-form{margin-top:10px;text-align:center}
.vw-link-button{border:0;background:transparent;color:#b6530b;font:inherit;font-size:13px;font-weight:900;cursor:pointer;padding:7px 10px}
.vw-account-security{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid var(--vw-border);border-radius:18px;background:#f8fafc}
.vw-account-security h3{margin:0 0 2px;font-size:17px}
.vw-security-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e6ecf1}
.vw-security-row:last-child{border-bottom:0}
.vw-security-row span{color:var(--vw-muted);font-size:13px;font-weight:700}
.vw-security-row strong{font-size:13px}
@media(max-width:560px){.vw-verification-step-head{grid-template-columns:auto 1fr}.vw-status-pill{grid-column:2;justify-self:start}.vw-verification-step{padding:15px}}

/* VirtualWorld v4.2.3.4 — verification access levels and editable destinations */
.vw-access-summary{display:grid;gap:4px;margin:0 0 20px;padding:15px 16px;border:1px solid #d7e2ea;border-radius:16px;background:#f7fafc}
.vw-access-summary strong{font-size:16px;font-weight:950}
.vw-access-summary span{color:var(--vw-muted);font-size:13px;font-weight:700}
.vw-access-summary.access-spectator{background:#fff7ed;border-color:#fed7aa;color:#8a4310}
.vw-access-summary.access-social{background:#eff8ff;border-color:#b8d9f5;color:#175b8b}
.vw-access-summary.access-full{background:#ecfdf3;border-color:#a9e8c4;color:#067647}
.vw-verification-steps{display:grid;gap:14px;margin-bottom:18px}
.vw-verification-step{padding:16px;border:1px solid var(--vw-border);border-radius:18px;background:#fff}
.vw-verification-step.is-complete{background:#f2fbf6;border-color:#b9e8cc}
.vw-verification-step-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:14px}
.vw-verification-step-head>div{min-width:0;display:grid;gap:3px}
.vw-verification-step-head strong{font-size:15px;font-weight:950}
.vw-verification-step-head small{overflow:hidden;color:var(--vw-muted);text-overflow:ellipsis;white-space:nowrap}
.vw-verification-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf2f6;color:#334554;font-weight:950}
.is-complete .vw-verification-number{background:#dff6e9;color:#067647}
.vw-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:900}
.vw-status-pill.success{background:#dff6e9;color:#067647}.vw-status-pill.pending{background:#fff0e5;color:#a64b0c}
.vw-edit-destination{margin:0 0 14px;padding:10px 12px;border:1px dashed #cad6df;border-radius:13px;background:#f8fafc}
.vw-edit-destination summary{cursor:pointer;color:#a64b0c;font-size:13px;font-weight:900}
.vw-edit-destination form{margin-top:12px}
.vw-submit.secondary{background:#334b5d;box-shadow:none}
.vw-resend-form{text-align:center;margin-top:11px}
.vw-link-button{border:0;background:transparent;color:#b6530b;font:inherit;font-size:13px;font-weight:900;cursor:pointer;text-decoration:underline}
.vw-account-security{display:grid;gap:10px;margin:0 0 22px;padding:16px;border:1px solid var(--vw-border);border-radius:18px;background:#f8fafc}
.vw-account-security h3{margin:0 0 3px;font-size:18px}
.vw-security-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e6edf2}
.vw-security-row:last-of-type{border-bottom:0}.vw-security-row>div{display:grid;gap:2px}.vw-security-row span{color:var(--vw-muted);font-size:12px}
@media(max-width:560px){.vw-verification-step-head{grid-template-columns:auto 1fr}.vw-verification-step-head>.vw-status-pill{grid-column:2;justify-self:start}.vw-security-row{align-items:flex-start}}


/* VirtualWorld v4.2.3.4 — verification level explanation */
.vw-verification-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 18px}
.vw-verification-level{display:grid;gap:5px;padding:11px 12px;border:1px solid var(--vw-border);border-radius:14px;background:#f8fafc;color:#526473}
.vw-verification-level strong{color:#263746;font-size:13px;font-weight:950}
.vw-verification-level span{font-size:11px;font-weight:700;line-height:1.5}
.vw-verification-level.is-current{border-color:#ffb274;background:#fff7ed;box-shadow:0 0 0 3px rgba(255,122,26,.08)}
@media(max-width:760px){.vw-verification-levels{grid-template-columns:1fr}.vw-verification-level{padding:10px 11px}}

/* VirtualWorld v4.2.9.2 — clear login actions and persistent Guest entry */
.vw-login-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}
.vw-auth-action-btn{display:grid;place-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--vw-border);border-radius:14px;background:#f7fafc;color:#334554;text-decoration:none;font-weight:900;transition:.18s ease}
.vw-auth-action-btn:hover{border-color:#bdcbd6;background:#fff;transform:translateY(-1px)}
.vw-login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#8a98a5;font-size:12px;font-weight:900}
.vw-login-divider:before,.vw-login-divider:after{content:"";height:1px;background:#dfe7ed;flex:1}
.vw-guest-submit{background:linear-gradient(135deg,#34566f,#203b50);box-shadow:0 14px 30px rgba(32,59,80,.2)}
.vw-guest-entry-help{margin:10px 4px 0;text-align:center;color:var(--vw-muted);font-size:13px;line-height:1.55;font-weight:700}
.vw-guest-save-note{margin-bottom:18px;background:#eff8ff;border-color:#b8d9f5;color:#175b8b}
@media(max-width:420px){.vw-login-secondary-actions{grid-template-columns:1fr}}

/* VirtualWorld v4.2.11.1 — Auth Portal, Terms and Guest protection */
.vw-auth-body--portal{
    min-height:100vh;
    background-color:#111d2a;
    background-image:url('../img/auth-worlds-bg.png');
    background-image:image-set(
        url('../img/auth-worlds-bg.webp') type('image/webp'),
        url('../img/auth-worlds-bg.png') type('image/png')
    );
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed;
}
.vw-auth-body--portal:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(3,11,19,.52) 0,rgba(3,11,19,.12) 18%,rgba(3,11,19,.08) 72%,rgba(3,11,19,.48) 100%),
        radial-gradient(ellipse at center,rgba(12,21,34,.18) 0,rgba(12,21,34,.06) 40%,rgba(12,21,34,.18) 72%,rgba(5,10,18,.42) 100%);
}
.vw-auth-body--portal .vw-auth-shell{position:relative;z-index:1}
.vw-auth-body--portal .vw-auth-topbar{
    min-height:62px;
    background:linear-gradient(135deg,rgba(20,39,54,.94),rgba(10,25,38,.92));
    border-bottom:1px solid rgba(255,255,255,.12);
    box-shadow:0 12px 36px rgba(0,0,0,.28);
    backdrop-filter:blur(14px);
}
.vw-auth-body--portal .vw-auth-main{
    width:min(1160px,calc(100% - 32px));
    min-height:calc(100vh - 62px);
    padding:36px 0 54px;
}
.vw-auth-body--portal .vw-auth-card{
    width:min(920px,100%);
    grid-template-columns:minmax(315px,.88fr) minmax(390px,1.12fr);
    border:1px solid rgba(255,255,255,.44);
    border-radius:30px;
    background:rgba(250,252,254,.96);
    box-shadow:0 30px 90px rgba(2,9,16,.42),0 0 0 1px rgba(255,255,255,.12) inset;
    backdrop-filter:blur(14px);
}
.vw-auth-body--portal.vw-auth-page--register .vw-auth-card,
.vw-auth-body--portal.vw-auth-page--complete-account .vw-auth-card,
.vw-auth-body--portal.vw-auth-page--terms-accept .vw-auth-card,
.vw-auth-body--portal.vw-auth-page--legal-terms .vw-auth-card{
    width:min(1080px,100%);
    grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr);
}
.vw-auth-body--portal .vw-auth-hero{
    padding:44px 38px;
    background:
        radial-gradient(circle at 92% 3%,rgba(255,122,26,.28),transparent 34%),
        linear-gradient(145deg,rgba(35,62,82,.98),rgba(13,31,46,.98));
    border-left:1px solid rgba(255,255,255,.1);
}
.vw-auth-body--portal .vw-auth-hero h1{font-size:clamp(2.15rem,4.2vw,3.65rem);margin-top:25px}
.vw-auth-body--portal .vw-auth-hero p{color:#e0e9f0}
.vw-auth-body--portal .vw-auth-feature{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.13)}
.vw-auth-body--portal .vw-auth-form-side{padding:40px 38px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,254,.97))}
.vw-auth-body--portal .vw-auth-title{font-size:30px;letter-spacing:-.02em}
.vw-auth-body--portal .vw-auth-subtitle{margin-bottom:20px}
.vw-auth-body--portal .vw-field input,
.vw-auth-body--portal .vw-field select{
    min-height:52px;
    border-color:#d6e0e8;
    background:rgba(255,255,255,.98);
    box-shadow:0 2px 0 rgba(20,37,52,.02) inset;
}
.vw-auth-body--portal .vw-submit{min-height:54px;border-radius:16px}
.vw-auth-body--portal .vw-auth-action-btn{background:rgba(247,250,252,.96)}

.vw-form-section{
    margin:0 0 18px;
    padding:18px;
    border:1px solid #dce6ed;
    border-radius:19px;
    background:#fbfcfd;
    box-shadow:0 8px 22px rgba(32,50,65,.04);
}
.vw-form-section:last-of-type{margin-bottom:20px}
.vw-form-section-head{display:flex;align-items:center;gap:10px;margin:0 0 15px}
.vw-form-section-head .vw-form-section-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef4f8;font-size:17px}
.vw-form-section-head h3{margin:0;font-size:17px;font-weight:950;color:#263746}
.vw-form-section-head p{margin:2px 0 0;color:var(--vw-muted);font-size:12px;font-weight:700}
.vw-form-section .vw-field:last-child{margin-bottom:0}

.vw-terms-preview{
    max-height:150px;
    overflow:auto;
    margin:0 0 14px;
    padding:14px 16px;
    border:1px solid #d7e2ea;
    border-radius:15px;
    background:#fff;
    color:#465968;
    font-size:13px;
    line-height:1.75;
    scrollbar-width:thin;
}
.vw-terms-preview p{margin:0 0 9px}
.vw-terms-preview p:last-child{margin-bottom:0}
.vw-terms-preview strong{color:#263746}
.vw-terms-full-link{display:inline-flex;align-items:center;gap:6px;margin:0 0 13px;color:#a84d0c;text-decoration:none;font-size:13px;font-weight:900}
.vw-terms-full-link:hover{text-decoration:underline}
.vw-checkbox-row{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px 13px;
    border:1px solid #dce5ec;
    border-radius:14px;
    background:#f8fafc;
    color:#344756;
    font-size:13px;
    line-height:1.65;
    font-weight:750;
    cursor:pointer;
}
.vw-checkbox-row input[type="checkbox"]{width:19px;height:19px;min-width:19px;margin:2px 0 0;accent-color:#f46f0b;cursor:pointer}
.vw-checkbox-row a{color:#a64b0c;font-weight:900}
.vw-guest-terms{margin:0 0 12px}
.vw-guest-avatar-choice{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 12px;padding:0;border:0}
.vw-guest-avatar-choice legend{width:100%;margin:0 0 7px;text-align:center;color:#526675;font-size:12px;font-weight:900}
.vw-guest-avatar-choice label{position:relative;cursor:pointer}
.vw-guest-avatar-choice input{position:absolute;opacity:0;pointer-events:none}
.vw-guest-avatar-choice span{display:block;min-width:78px;padding:8px 13px;border:1px solid #d6e1e8;border-radius:999px;background:#fff;color:#334b5d;text-align:center;font-size:13px;font-weight:900;transition:.16s ease}
.vw-guest-avatar-choice input:checked+span{border-color:#ff7a1a;background:#fff2e8;color:#a94e0b;box-shadow:0 0 0 3px rgba(255,122,26,.12)}
.vw-guest-avatar-choice input:focus-visible+span{outline:3px solid rgba(42,117,167,.25);outline-offset:2px}
.vw-guest-entry-box{margin-top:4px;padding:15px;border:1px solid #dce6ed;border-radius:17px;background:#f7fafc}
.vw-guest-entry-box .vw-guest-entry-help{margin-top:10px}

.vw-legal-document{display:grid;gap:18px}
.vw-legal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.vw-legal-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf4f8;color:#35546a;font-size:12px;font-weight:900}
.vw-legal-section{padding:17px 18px;border:1px solid #dde6ed;border-radius:17px;background:#fff}
.vw-legal-section h2{margin:0 0 9px;font-size:19px;color:#233746}
.vw-legal-section p{margin:0 0 9px;color:#506270;line-height:1.8;font-size:14px}
.vw-legal-section p:last-child{margin-bottom:0}
.vw-legal-section ul{margin:0;padding-right:21px;color:#506270;line-height:1.8;font-size:14px}
.vw-legal-contact{display:grid;gap:9px;margin-top:12px}
.vw-legal-contact a{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dce6ed;border-radius:13px;background:#f8fafc;text-decoration:none;font-weight:850}
.vw-terms-accept-actions{display:grid;gap:12px;margin-top:16px}

@media(max-width:900px){
    .vw-auth-body--portal{background-attachment:scroll;background-position:center top}
    .vw-auth-body--portal .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--complete-account .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--terms-accept .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--legal-terms .vw-auth-card{grid-template-columns:1fr;width:min(700px,100%)}
    .vw-auth-body--portal .vw-auth-hero{padding:28px 26px;border-left:0;border-bottom:1px solid rgba(255,255,255,.1)}
    .vw-auth-body--portal .vw-auth-hero h1{font-size:clamp(2rem,7vw,2.9rem);margin:17px 0 9px}
    .vw-auth-body--portal .vw-auth-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
    .vw-auth-body--portal .vw-auth-feature{padding:9px 10px;font-size:12px;line-height:1.45}
}
@media(max-width:620px){
    .vw-auth-body--portal .vw-auth-main{width:min(100% - 16px,1160px);padding:18px 0 32px}
    .vw-auth-body--portal .vw-auth-card{border-radius:23px}
    .vw-auth-body--portal .vw-auth-form-side{padding:26px 18px}
    .vw-auth-body--portal .vw-auth-feature-list{grid-template-columns:1fr}
    .vw-auth-body--portal .vw-auth-feature:nth-child(n+3){display:none}
    .vw-form-section{padding:14px;margin-bottom:14px}
    .vw-terms-preview{max-height:132px}
    .vw-auth-body--portal .vw-auth-title{font-size:25px}
}

/* VirtualWorld v4.2.11.1.1 — Auth visual polish and 18+ policy */
.vw-auth-mobile-hero-media{display:none}
.vw-auth-hero-content{position:relative;z-index:1}

/* Keep the navigation outside the artwork: the world background now starts below the topbar. */
.vw-auth-body--portal{
    min-height:100dvh;
    background:#080f18;
    background-image:none;
}
.vw-auth-body--portal:before{display:none}
.vw-auth-body--portal .vw-auth-shell{min-height:100dvh}
.vw-auth-body--portal .vw-auth-topbar{position:relative;z-index:3}
.vw-auth-body--portal .vw-auth-main{
    position:relative;
    isolation:isolate;
    width:100%;
    min-height:calc(100dvh - 64px);
    margin:0;
    padding:36px 16px 54px;
    background-color:#101925;
    background-image:url('../img/auth-worlds-bg.png');
    background-image:image-set(
        url('../img/auth-worlds-bg.webp') type('image/webp'),
        url('../img/auth-worlds-bg.png') type('image/png')
    );
    background-position:center top;
    background-size:cover;
    background-repeat:no-repeat;
}
.vw-auth-body--portal .vw-auth-main:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(3,9,17,.26) 0,rgba(3,9,17,.08) 22%,rgba(3,9,17,.12) 72%,rgba(3,9,17,.48) 100%),
        radial-gradient(ellipse at center,rgba(10,18,31,.06) 0,rgba(10,18,31,.04) 46%,rgba(3,8,15,.34) 100%);
}
.vw-auth-body--portal .vw-auth-card{position:relative;z-index:1}

@media(max-width:900px){
    .vw-auth-body--portal .vw-auth-main{
        background-position:center top;
        background-attachment:scroll;
    }
}

@media(max-width:620px){
    .vw-auth-body--portal .vw-auth-main{
        width:100%;
        min-height:calc(100dvh - 60px);
        padding:14px 12px 34px;
        place-items:start center;
        background-size:auto 760px;
        background-position:center top;
        background-color:#070c13;
    }
    .vw-auth-body--portal .vw-auth-main:before{
        background:linear-gradient(180deg,rgba(2,7,13,.20) 0,rgba(2,7,13,.34) 520px,rgba(2,7,13,.82) 760px,#070c13 100%);
    }
    .vw-auth-body--portal .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--complete-account .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--terms-accept .vw-auth-card,
    .vw-auth-body--portal.vw-auth-page--legal-terms .vw-auth-card{
        display:block;
        width:min(100%,520px);
        overflow:visible;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
    }
    .vw-auth-body--portal .vw-auth-hero{
        min-height:0;
        padding:0;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.45);
        border-radius:24px;
        background:#111827;
        box-shadow:0 22px 58px rgba(0,0,0,.38);
    }
    .vw-auth-body--portal .vw-auth-hero:before,
    .vw-auth-body--portal .vw-auth-hero:after{display:none}
    .vw-auth-body--portal .vw-auth-mobile-hero-media{display:block}
    .vw-auth-body--portal .vw-auth-mobile-hero-media img{
        display:block;
        width:100%;
        height:auto;
        aspect-ratio:561/701;
        object-fit:cover;
        object-position:center center;
    }
    .vw-auth-body--portal .vw-auth-hero-content{display:none}
    .vw-auth-body--portal .vw-auth-form-side{
        position:relative;
        z-index:2;
        margin-top:10px;
        padding:28px 18px 30px;
        border:1px solid rgba(220,228,235,.94);
        border-radius:24px;
        background:linear-gradient(180deg,#fff 0,#fbfcfe 100%);
        box-shadow:0 24px 65px rgba(0,0,0,.34);
    }
    .vw-auth-body--portal .vw-auth-title{font-size:25px}
}

@media(max-width:390px){
    .vw-auth-body--portal .vw-auth-main{padding-right:8px;padding-left:8px}
    .vw-auth-body--portal .vw-auth-form-side{padding-right:15px;padding-left:15px}
}

/* VirtualWorld v4.2.11.1.3 — Register wizard, live availability and stable register background */
.vw-register-steps,
.vw-register-progress,
.vw-register-step-actions{display:none}
.vw-register-wizard.is-enhanced .vw-register-steps{display:grid}
.vw-register-wizard.is-enhanced .vw-register-progress{display:block}
.vw-register-wizard.is-enhanced .vw-register-step-actions{display:flex}
.vw-register-wizard.is-enhanced .vw-register-step[hidden]{display:none!important}

.vw-register-steps{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0 0 10px;
}
.vw-register-step-tab{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:45px;
    padding:8px 9px;
    border:1px solid #d8e3eb;
    border-radius:13px;
    background:#f7fafc;
    color:#647684;
    font:inherit;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.vw-register-step-tab span{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    flex:0 0 25px;
    border-radius:9px;
    background:#e7eef3;
    color:#536776;
    font-size:12px;
}
.vw-register-step-tab:hover:not(:disabled){transform:translateY(-1px);border-color:#f3b27e}
.vw-register-step-tab.is-active{border-color:#ff9a50;background:#fff5ed;color:#9a4305;box-shadow:0 0 0 3px rgba(255,122,26,.08)}
.vw-register-step-tab.is-active span{background:linear-gradient(135deg,var(--vw-orange),var(--vw-orange-dark));color:#fff}
.vw-register-step-tab.is-complete:not(.is-active){border-color:#a9dec2;background:#f0fbf5;color:#17623b}
.vw-register-step-tab.is-complete:not(.is-active) span{background:#1d8b55;color:#fff}
.vw-register-step-tab:disabled{cursor:not-allowed;opacity:.58}
.vw-register-progress{height:5px;margin:0 5px 18px;border-radius:999px;background:#e8eef3;overflow:hidden}
.vw-register-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9b55,var(--vw-orange-dark));transition:width .24s ease}

.vw-register-wizard.is-enhanced .vw-register-step{margin-bottom:0;animation:vwRegisterStepIn .2s ease both}
@keyframes vwRegisterStepIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
.vw-register-field-grid{align-items:start}
.vw-register-field-grid .vw-field{align-self:start;align-content:start;margin-bottom:0}
.vw-register-field-grid .vw-field label{min-height:21px}
.vw-register-field-grid .vw-field small{display:block;min-height:40px}
.vw-field--full{margin-top:14px}
.vw-availability-status{display:block;min-height:22px;margin-top:-2px;font-size:12px;line-height:1.45;font-weight:850}
.vw-availability-status.is-checking{color:#446a86}
.vw-availability-status.is-available{color:#087443}
.vw-availability-status.is-unavailable,
.vw-availability-status.is-invalid{color:var(--vw-danger)}
.vw-availability-status.is-fallback{color:#92600d}
.vw-field input.is-invalid,
.vw-checkbox-row input.is-invalid{
    border-color:#dc5a50!important;
    box-shadow:0 0 0 4px rgba(180,35,24,.1)!important;
}
.vw-step-error{display:none;margin:12px 0 0;padding:10px 12px;border:1px solid #f3b7b2;border-radius:12px;background:#fff1f0;color:var(--vw-danger);font-size:13px;line-height:1.55;font-weight:800}
.vw-step-error.is-visible{display:block}
.vw-register-step-actions{align-items:center;justify-content:space-between;gap:11px;margin-top:17px}
.vw-register-step-actions--single{justify-content:flex-start}
.vw-wizard-btn{
    min-height:48px;
    min-width:126px;
    padding:11px 17px;
    border:1px solid #d7e1e8;
    border-radius:14px;
    background:#f5f8fa;
    color:#344b5d;
    font:inherit;
    font-weight:900;
    cursor:pointer;
    transition:.18s ease;
}
.vw-wizard-btn:hover:not(:disabled){transform:translateY(-1px);background:#eef4f7}
.vw-wizard-btn:disabled{opacity:.6;cursor:wait;transform:none}
.vw-wizard-btn--primary{margin-inline-start:auto;border-color:transparent;background:linear-gradient(135deg,var(--vw-orange),var(--vw-orange-dark));color:#fff;box-shadow:0 10px 24px rgba(217,93,5,.2)}
.vw-register-final-submit{width:auto;flex:1;margin:0}
.vw-register-summary{display:grid;gap:4px;margin:15px 0 0;padding:13px 14px;border:1px solid #cfe2d8;border-radius:14px;background:#f1faf5;color:#28543d}
.vw-register-summary strong{font-size:14px}
.vw-register-summary span{font-size:12px;line-height:1.55;color:#557263}
.vw-terms-preview--register{max-height:220px}

/* The registration artwork is tied to the viewport, not to the height of the active form step. */
@media(min-width:621px){
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-shell{position:relative;isolation:isolate;background:#101925}
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-shell:before{
        content:"";
        position:fixed;
        z-index:0;
        top:62px;
        right:0;
        bottom:0;
        left:0;
        pointer-events:none;
        background-color:#101925;
        background-image:url('../img/auth-worlds-bg.png');
        background-image:image-set(
            url('../img/auth-worlds-bg.webp') type('image/webp'),
            url('../img/auth-worlds-bg.png') type('image/png')
        );
        background-position:center top;
        background-size:cover;
        background-repeat:no-repeat;
    }
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-topbar{position:relative;z-index:3}
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-main{
        position:relative;
        z-index:1;
        min-height:calc(100dvh - 62px);
        padding-top:30px;
        padding-bottom:42px;
        background:transparent;
    }
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-main:before{
        position:fixed;
        top:62px;
        bottom:0;
        height:auto;
        background:
            linear-gradient(180deg,rgba(3,9,17,.25),rgba(3,9,17,.10) 28%,rgba(3,9,17,.14) 75%,rgba(3,9,17,.48)),
            radial-gradient(ellipse at center,rgba(10,18,31,.02),rgba(3,8,15,.33));
    }
}

@media(min-width:901px){
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-card{
        width:min(1050px,calc(100% - 18px));
        grid-template-columns:minmax(292px,.72fr) minmax(550px,1.28fr);
    }
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-form-side{padding:30px 32px}
}

@media(max-width:760px){
    .vw-register-step-tab{gap:4px;padding:7px 5px;font-size:11px}
    .vw-register-step-tab span{width:23px;height:23px;flex-basis:23px}
    .vw-register-field-grid .vw-field small{min-height:0}
}
@media(max-width:620px){
    .vw-auth-body--portal.vw-auth-page--register .vw-auth-main{background-size:auto 760px;background-position:center top}
    .vw-register-steps{gap:5px}
    .vw-register-step-tab{display:grid;justify-items:center;gap:3px;min-height:54px;border-radius:12px}
    .vw-register-step-tab strong{font-size:10px}
    .vw-register-progress{margin-bottom:14px}
    .vw-register-step-actions{flex-direction:column-reverse;align-items:stretch}
    .vw-register-step-actions--single{flex-direction:column}
    .vw-wizard-btn,.vw-register-final-submit{width:100%;min-width:0}
    .vw-form-section-head{align-items:flex-start}
    .vw-terms-preview--register{max-height:190px}
    .vw-register-wizard.is-enhanced .vw-form-section{min-height:0}
}

/* VirtualWorld v4.2.11.1.4 — Public About page and Mobile Welcome */
.vw-mobile-about-card{display:none}
.vw-login-form-card{min-width:0}

.vw-auth-body--portal.vw-auth-page--about .vw-auth-card{
    width:min(1100px,100%);
    grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr);
}
.vw-auth-body--portal.vw-auth-page--about .vw-auth-form-side{
    padding:34px 34px 38px;
}
.vw-about-document{display:grid;gap:18px}
.vw-about-lead,
.vw-about-section,
.vw-about-safety,
.vw-about-cta{
    border:1px solid #dce6ed;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(32,50,65,.05);
}
.vw-about-lead{padding:20px 21px;background:linear-gradient(145deg,#f9fbfd,#f1f6f9)}
.vw-about-lead h2,
.vw-about-section h2,
.vw-about-safety h2,
.vw-about-cta h2{margin:4px 0 8px;color:#263746;font-size:21px;line-height:1.35}
.vw-about-lead p,
.vw-about-safety p{margin:0;color:#536675;font-size:14px;line-height:1.8;font-weight:650}
.vw-about-section{padding:19px}
.vw-about-section-head{margin-bottom:14px}
.vw-about-section-label{display:block;color:#a64b0c;font-size:12px;font-weight:950;letter-spacing:.01em}
.vw-about-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.vw-about-feature-card{
    position:relative;
    min-width:0;
    padding:15px 15px 15px 17px;
    border:1px solid #e0e8ee;
    border-radius:16px;
    background:#fbfcfd;
    overflow:hidden;
}
.vw-about-feature-card:before{
    content:"";
    position:absolute;
    top:14px;
    right:0;
    width:4px;
    height:31px;
    border-radius:4px 0 0 4px;
    background:linear-gradient(180deg,var(--vw-orange),#ffae72);
}
.vw-about-feature-card h3{margin:0 0 6px;color:#2b3d4b;font-size:15px}
.vw-about-feature-card p{margin:0;color:#617280;font-size:12.5px;line-height:1.65;font-weight:650}
.vw-about-world-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.vw-about-world{
    position:relative;
    min-width:0;
    padding:14px 12px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:15px;
    color:#fff;
    overflow:hidden;
    isolation:isolate;
}
.vw-about-world:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(145deg,rgba(26,40,54,.98),rgba(16,28,41,.98));
}
.vw-about-world:after{
    content:"";
    position:absolute;
    z-index:-1;
    width:90px;
    height:90px;
    left:-35px;
    top:-45px;
    border-radius:50%;
    opacity:.5;
    filter:blur(2px);
}
.vw-about-world--clubs:after{background:#a329ff}
.vw-about-world--dating:after{background:#ff3f9d}
.vw-about-world--offices:after{background:#318dff}
.vw-about-world--shops:after{background:#ff922f}
.vw-about-world h3{margin:0 0 6px;font-size:15px}
.vw-about-world p{margin:0;color:#dbe5ec;font-size:12px;line-height:1.55;font-weight:650}
.vw-about-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;counter-reset:vw-about-step;margin:0;padding:0;list-style:none}
.vw-about-steps li{
    counter-increment:vw-about-step;
    position:relative;
    min-width:0;
    padding:43px 13px 13px;
    border:1px solid #e0e8ee;
    border-radius:15px;
    background:#fbfcfd;
}
.vw-about-steps li:before{
    content:counter(vw-about-step);
    position:absolute;
    top:11px;
    right:12px;
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:9px;
    background:#223b4e;
    color:#fff;
    font-size:12px;
    font-weight:950;
}
.vw-about-steps strong{display:block;margin-bottom:5px;color:#2e4252;font-size:13px;line-height:1.45}
.vw-about-steps span{display:block;color:#657784;font-size:12px;line-height:1.55;font-weight:650}
.vw-about-safety{padding:18px 20px;background:linear-gradient(145deg,#f3f8fb,#edf4f8)}
.vw-about-safety a{display:inline-flex;margin-top:10px;color:#9e4508;text-decoration:none;font-size:13px;font-weight:950}
.vw-about-safety a:hover{text-decoration:underline}
.vw-about-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px;background:linear-gradient(145deg,#fff8f1,#fff)}
.vw-about-cta h2{margin-bottom:0}
.vw-about-actions{display:flex;gap:9px;align-items:center;flex:0 0 auto}
.vw-about-actions .vw-submit,
.vw-about-actions .vw-auth-action-btn{
    width:auto;
    min-width:134px;
    min-height:46px;
    margin:0;
    padding:11px 16px;
    text-decoration:none;
}
.vw-about-primary-action{display:grid;place-items:center}

/* Keep long public About content on the same stable desktop artwork scale as the login page. */
@media(min-width:621px){
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-shell{position:relative;isolation:isolate;background:#101925}
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-shell:before{
        content:"";
        position:fixed;
        z-index:0;
        top:62px;
        right:0;
        bottom:0;
        left:0;
        pointer-events:none;
        background-color:#101925;
        background-image:url('../img/auth-worlds-bg.png');
        background-image:image-set(
            url('../img/auth-worlds-bg.webp') type('image/webp'),
            url('../img/auth-worlds-bg.png') type('image/png')
        );
        background-position:center top;
        background-size:cover;
        background-repeat:no-repeat;
    }
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-topbar{position:relative;z-index:3}
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-main{
        position:relative;
        z-index:1;
        min-height:calc(100dvh - 62px);
        padding-top:30px;
        padding-bottom:42px;
        background:transparent;
    }
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-main:before{
        position:fixed;
        top:62px;
        bottom:0;
        height:auto;
        background:
            linear-gradient(180deg,rgba(3,9,17,.25),rgba(3,9,17,.10) 28%,rgba(3,9,17,.14) 75%,rgba(3,9,17,.48)),
            radial-gradient(ellipse at center,rgba(10,18,31,.02),rgba(3,8,15,.33));
    }
}

@media(max-width:900px){
    .vw-auth-body--portal.vw-auth-page--about .vw-auth-card{grid-template-columns:1fr;width:min(700px,100%)}
    .vw-about-world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
    /* A compact public navigation remains visible on mobile. */
    .vw-auth-body--portal .vw-auth-topbar{
        min-height:0;
        padding:9px 12px 10px;
        flex-wrap:wrap;
        justify-content:center;
        gap:7px;
    }
    .vw-auth-body--portal .vw-auth-brand{justify-content:center}
    .vw-auth-body--portal .vw-auth-toplinks{
        display:flex;
        width:100%;
        justify-content:center;
        gap:8px;
        flex-wrap:nowrap;
    }
    .vw-auth-body--portal .vw-auth-toplinks a{display:none}
    .vw-auth-body--portal .vw-auth-toplinks a.vw-public-info-link{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:34px;
        padding:6px 13px;
        border-color:rgba(255,255,255,.17);
        background:rgba(255,255,255,.04);
        font-size:12px;
        white-space:nowrap;
    }

    /* Mobile login becomes: artwork, concise About card, then the unchanged login form. */
    .vw-auth-body--portal.vw-auth-page--login .vw-auth-form-side{
        margin-top:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    .vw-auth-page--login .vw-mobile-about-card{
        display:block;
        position:relative;
        z-index:3;
        margin-top:10px;
        padding:22px 19px 20px;
        border:1px solid rgba(220,228,235,.96);
        border-radius:24px;
        background:linear-gradient(180deg,#fff 0,#fbfcfe 100%);
        box-shadow:0 22px 58px rgba(0,0,0,.30);
    }
    .vw-mobile-about-eyebrow{display:block;margin-bottom:5px;color:#a64b0c;font-size:12px;font-weight:950}
    .vw-mobile-about-card h2{margin:0 0 8px;color:#263746;font-size:23px;line-height:1.3}
    .vw-mobile-about-card p{margin:0;color:#657684;font-size:13.5px;line-height:1.75;font-weight:650}
    .vw-mobile-about-highlights{display:grid;gap:8px;margin:15px 0 13px;padding:0;list-style:none}
    .vw-mobile-about-highlights li{
        position:relative;
        padding:9px 15px 9px 10px;
        border:1px solid #e1e8ed;
        border-radius:13px;
        background:#f8fafc;
        color:#3f5362;
        font-size:12.5px;
        line-height:1.5;
        font-weight:800;
    }
    .vw-mobile-about-highlights li:before{
        content:"";
        position:absolute;
        right:0;
        top:10px;
        bottom:10px;
        width:3px;
        border-radius:3px 0 0 3px;
        background:linear-gradient(180deg,var(--vw-orange),#ffb174);
    }
    .vw-mobile-about-link{display:inline-flex;color:#9e4508;text-decoration:none;font-size:13px;font-weight:950}
    .vw-mobile-about-link:hover{text-decoration:underline}
    .vw-auth-page--login .vw-login-form-card{
        margin-top:12px;
        padding:27px 18px 30px;
        border:1px solid rgba(220,228,235,.96);
        border-radius:24px;
        background:linear-gradient(180deg,#fff 0,#fbfcfe 100%);
        box-shadow:0 24px 65px rgba(0,0,0,.32);
    }
    .vw-auth-page--login .vw-auth-form-side>.vw-alert{
        margin:12px 0 0;
        border-radius:16px;
        box-shadow:0 14px 36px rgba(0,0,0,.18);
    }

    .vw-auth-body--portal.vw-auth-page--about .vw-auth-form-side{padding:26px 18px 30px}
    .vw-about-feature-grid,
    .vw-about-world-grid,
    .vw-about-steps{grid-template-columns:1fr}
    .vw-about-lead,
    .vw-about-section,
    .vw-about-safety,
    .vw-about-cta{border-radius:17px}
    .vw-about-lead,
    .vw-about-section,
    .vw-about-safety{padding:16px}
    .vw-about-feature-card{padding:14px 14px 14px 16px}
    .vw-about-cta{display:grid;padding:17px}
    .vw-about-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .vw-about-actions .vw-submit,
    .vw-about-actions .vw-auth-action-btn{width:100%;min-width:0}
}

@media(max-width:390px){
    .vw-auth-body--portal .vw-auth-toplinks a.vw-public-info-link{padding-right:11px;padding-left:11px}
    .vw-mobile-about-card h2{font-size:21px}
    .vw-about-actions{grid-template-columns:1fr}
}

/* VirtualWorld v4.2.11.2 — soft world capacity on the Login portal */
.vw-world-capacity-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:4px 16px;
    margin:0 0 20px;
    padding:14px 16px;
    border:1px solid #cfe0e9;
    border-radius:17px;
    background:linear-gradient(145deg,#f8fbfd,#eef5f8);
    box-shadow:0 9px 24px rgba(32,52,68,.06);
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.vw-world-capacity-heading{
    display:flex;
    align-items:center;
    gap:8px;
    color:#465d6d;
    font-size:13px;
    font-weight:900;
}
.vw-world-capacity-dot{
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-radius:999px;
    background:#1d965e;
    box-shadow:0 0 0 5px rgba(29,150,94,.11);
}
.vw-world-capacity-numbers{
    grid-row:1 / span 2;
    grid-column:2;
    color:#263746;
    font-size:25px;
    line-height:1;
    letter-spacing:-.03em;
    white-space:nowrap;
}
.vw-world-capacity-message{
    margin:0;
    color:#667987;
    font-size:12.5px;
    line-height:1.55;
    font-weight:700;
}
.vw-world-capacity-card.is-near{border-color:#efd4a1;background:linear-gradient(145deg,#fffaf0,#fff4de)}
.vw-world-capacity-card.is-near .vw-world-capacity-dot{background:#d68a12;box-shadow:0 0 0 5px rgba(214,138,18,.12)}
.vw-world-capacity-card.is-full{border-color:#edb8b2;background:linear-gradient(145deg,#fff8f7,#fff0ee);box-shadow:0 9px 24px rgba(180,35,24,.07)}
.vw-world-capacity-card.is-full .vw-world-capacity-dot{background:#c13b31;box-shadow:0 0 0 5px rgba(193,59,49,.12)}
.vw-world-capacity-card.is-full .vw-world-capacity-message{color:#913229}
.vw-world-capacity-card.is-unavailable{border-color:#dce4e9;background:#f7f9fa}
.vw-world-capacity-card.is-unavailable .vw-world-capacity-dot{background:#8a98a2;box-shadow:0 0 0 5px rgba(91,107,119,.1)}

@media(max-width:620px){
    .vw-world-capacity-card{margin-bottom:17px;padding:13px 14px;gap:3px 10px}
    .vw-world-capacity-numbers{font-size:21px}
    .vw-world-capacity-message{font-size:12px}
}


/* VirtualWorld v4.2.12.3 — masked password links, WhatsApp support and Cookies notice */
.vw-direct-room-notice{
    margin:0 0 16px;
    padding:13px 15px;
    border:1px solid #b9d9ed;
    border-radius:15px;
    background:linear-gradient(145deg,#f3faff,#eaf5fb);
}
.vw-direct-room-notice span{display:block;color:#477087;font-size:12px;font-weight:900}
.vw-direct-room-notice strong{display:block;margin-top:2px;color:#173f59;font-size:18px;line-height:1.35}
.vw-direct-room-notice p{margin:4px 0 0;color:#587184;font-size:12.5px;line-height:1.55;font-weight:700}


/* v4.2.12.3 — Login WhatsApp support */
.vw-login-whatsapp-btn {
    width: 100%;
    min-height: 46px;
    margin: 12px 0 0;
    padding: 10px 16px;
    border-radius: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: #128c4a;
    border: 1px solid #0f7c41;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(18, 140, 74, 0.2);
    transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.vw-login-whatsapp-btn:hover,
.vw-login-whatsapp-btn:focus-visible {
    background: #0f7c41;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 9px 22px rgba(18, 140, 74, 0.26);
}
.vw-login-whatsapp-btn svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    fill: currentColor;
}

/* v4.2.12.3 — Essential Cookies notice */
.vw-cookie-notice[hidden] {
    display: none !important;
}
.vw-cookie-notice {
    position: fixed;
    z-index: 1200;
    inset-inline-start: max(18px, env(safe-area-inset-left));
    bottom: max(18px, env(safe-area-inset-bottom));
    width: min(430px, calc(100vw - 36px));
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 15px;
    direction: rtl;
    border: 1px solid rgba(20, 43, 72, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .98);
    color: #17304d;
    box-shadow: 0 18px 50px rgba(14, 30, 53, .22);
    backdrop-filter: blur(12px);
}
.vw-cookie-notice-copy {
    min-width: 0;
    flex: 1 1 auto;
}
.vw-cookie-notice-copy strong {
    display: block;
    margin-bottom: 3px;
    font-size: 15px;
    font-weight: 900;
}
.vw-cookie-notice-copy p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #51647a;
}
.vw-cookie-notice-actions {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
}
.vw-cookie-notice-actions button {
    min-width: 82px;
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 10px;
    background: #1769e0;
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.vw-cookie-notice-actions button:hover,
.vw-cookie-notice-actions button:focus-visible {
    background: #0e58c6;
}
.vw-cookie-notice-actions a {
    color: #365b86;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 640px) {
    .vw-cookie-notice {
        inset-inline: max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right));
        bottom: max(10px, env(safe-area-inset-bottom));
        width: auto;
        padding: 14px;
        align-items: flex-start;
        gap: 12px;
    }
    .vw-cookie-notice-copy p {
        font-size: 12.5px;
    }
    .vw-cookie-notice-actions button {
        min-width: 74px;
    }
}

@media (max-width: 430px) {
    .vw-cookie-notice {
        flex-direction: column;
    }
    .vw-cookie-notice-actions {
        width: 100%;
        flex-direction: row;
        align-items: center;
    }
    .vw-cookie-notice-actions button {
        flex: 1 1 auto;
    }
    .vw-cookie-notice-actions a {
        flex: 0 0 auto;
        padding: 8px 4px;
    }
}

/* VirtualWorld v4.2.18.3 — personal social email preferences */
.vw-email-preferences{display:grid;gap:12px;margin:20px 0;padding:17px;border:1px solid var(--vw-border);border-radius:18px;background:#f8fafc}
.vw-email-preferences-head h3{margin:0;color:#263746;font-size:18px;font-weight:950}
.vw-email-preferences-head p{margin:5px 0 0;color:var(--vw-muted);font-size:12px;font-weight:700;line-height:1.55}
.vw-email-preference{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:12px 13px;border:1px solid #dfe7ed;border-radius:14px;background:#fff;cursor:pointer}
.vw-email-preference input{width:19px;height:19px;margin:2px 0 0;accent-color:#ff7a1a}
.vw-email-preference span{display:grid;gap:3px}
.vw-email-preference strong{color:#263746;font-size:14px;font-weight:950}
.vw-email-preference small{color:var(--vw-muted);font-size:11px;font-weight:700;line-height:1.5}
.vw-email-preference-master{border-color:#ffc38f;background:#fff8f1}
.vw-email-preference-children{display:grid;gap:9px;transition:opacity .18s ease,filter .18s ease}
.vw-email-preference-children.is-master-off{opacity:.55;filter:saturate(.75)}
@media(max-width:560px){.vw-email-preferences{padding:14px}.vw-email-preference{padding:11px}}

