/* DropX - Fullscreen authentication hero */
html.dx-auth-transition-lock,
body.dx-auth-transition-lock { overflow:hidden ; }

body.dx-auth-page {
    --dx-visitor-duration: 1180ms;
    --dx-hero-shift:5vh;
    margin:0;
    min-height:100vh;
    overflow:hidden;
    background:var(--auth-page-bg,#eadbc6);
    color:var(--auth-page-text,#2d261f);
}

body.dx-auth-page .dx-auth-topbar {
    position:fixed;
    inset:0 0 auto 0;
    z-index:80;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    padding:18px 26px;
    pointer-events:none;
}

.dx-auth-brand {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--auth-brand-text,#2b251f);
    text-decoration:none;
    pointer-events:auto;
    font-family:'Chakra Petch',sans-serif;
    font-weight:700;
    letter-spacing:.10em;
    filter:drop-shadow(0 5px 12px rgba(70,45,20,.12));
}

.dx-auth-brand img { width:42px; height:42px; object-fit:contain; }
.dx-auth-brand span { font-size:21px; line-height:1; }
.dx-auth-brand small {
    display:block;
    margin-top:5px;
    font:600 8px/1 'Rajdhani',sans-serif;
    letter-spacing:.34em;
    color:var(--auth-brand-muted,#8b6a3d);
}

body.dx-auth-page .theme-toggle-btn {
    pointer-events:auto;
    width:42px;
    height:42px;
    border:1px solid rgba(128,86,34,.22);
    border-radius:50%;
    background:rgba(255,255,255,.76);
    color:#80541a;
    box-shadow:0 8px 20px rgba(90,60,25,.10);
    cursor:pointer;
}

.dx-login-background {
    position:fixed;
    inset:0;
    z-index:0;
    background:var(--auth-bg-base,#e0cfb6) url('../../../assets/uploads/login/login_bg.png') center/cover no-repeat;
    transform:scale(1.03);
    animation:dxBgDrift 18s ease-in-out infinite alternate;
}

.dx-login-background::after {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 43% 50%,rgba(255,255,255,.22),transparent 43%),linear-gradient(90deg,rgba(72,49,25,.10),rgba(72,49,25,.055)),linear-gradient(90deg,rgba(248,238,223,.10),rgba(248,238,223,.015));
}

.dx-login-waves {
    position:fixed;
    inset:-15%;
    z-index:1;
    opacity:.58;
    pointer-events:none;
    background:repeating-radial-gradient(ellipse at 30% 60%,transparent 0 95px,rgba(255,255,255,.34) 96px 98px,transparent 99px 170px);
    animation:dxWaves 24s linear infinite;
}

/* A kártyák interaktív rétege. A pointer-events korábban le volt tiltva az egész blokkon. */
.dx-login-art {
    position:fixed;
    z-index:8;
    left:0;
    top:0;
    width:62%;
    height:100%;
    overflow:visible;
    pointer-events:auto ;
}

/* Minden bal oldali elem egyetlen, közös emelési értéket kap. */
:root { --dx-left-lift:5vh; }

.dx-art {
    position:absolute;
    z-index:3;
    will-change:transform,translate,filter;
    transform-style:preserve-3d;
    cursor:pointer;
    pointer-events:auto ;
    animation:dxCardFloat 6s ease-in-out infinite ;
    animation-delay:var(--dx-float-delay,0s);
    transition:filter .18s cubic-bezier(.16,1,.3,1),translate .18s cubic-bezier(.16,1,.3,1);
}

.dx-art img {
    display:block;
    width:100%;
    height:auto;
    pointer-events:none;
    user-select:none;
    filter:drop-shadow(0 18px 22px rgba(79,51,23,.16));
    transform:translate3d(var(--dx-x,0px),var(--dx-y,0px),0) rotateX(var(--dx-rot-x,0deg)) rotateY(var(--dx-rot-y,0deg)) scale(var(--dx-scale,1));
    transform-origin:center;
    will-change:transform,filter;
    position:relative;
    z-index:2;
    transition:transform .22s cubic-bezier(.16,1,.3,1),filter .22s cubic-bezier(.16,1,.3,1);
}

.dx-art::before {
    content:"";
    position:absolute;
    inset:-10%;
    border-radius:50%;
    background:conic-gradient(from 180deg,transparent 0deg,transparent 250deg,rgba(255,201,100,.0) 285deg,rgba(255,222,155,.95) 315deg,rgba(255,244,211,.30) 334deg,transparent 355deg);
    filter:blur(9px);
    opacity:0;
    transform:rotate(-20deg) scale(.82);
    pointer-events:none;
    z-index:-1;
    transition:opacity .18s ease,transform .28s cubic-bezier(.22,1,.36,1);
}

.dx-art::after {
    content:"";
    position:absolute;
    inset:12% 8%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,191,78,.28),transparent 68%);
    filter:blur(22px);
    z-index:-2;
    opacity:.42;
    pointer-events:none;
    transition:opacity .25s ease,transform .35s ease;
    animation:dxAmbientGlow 3.6s ease-in-out infinite;
    animation-delay:var(--dx-float-delay,0s);
}


.dx-art:hover,
.dx-art.is-hovered {
    z-index:30;
    filter:brightness(1.05);
}

.dx-art:hover img,
.dx-art.is-hovered img {
    --dx-scale:1.15;
    filter:drop-shadow(0 24px 30px rgba(95,57,18,.30)) drop-shadow(0 0 26px rgba(232,167,65,.55));
}

.dx-art:hover::before,
.dx-art.is-hovered::before {
    opacity:1;
    transform:rotate(24deg) scale(1.08);
    animation:dxSweepGlow .9s linear infinite;
}

.dx-art:hover::after,
.dx-art.is-hovered::after {
    opacity:1;
    transform:scale(1.18);
}

/* A bal oldali blokk: közös emelés, de minden kártya saját lebegési ritmust kap. */
.dx-art-community { width:325px; left:49%; top:calc(13.8% - var(--dx-left-lift)); transform:translateX(-50%); --dx-float-delay:-.4s; animation-duration:6.3s ; }
.dx-art-miniweb { width:298px; left:11%; top:calc(27.5% - var(--dx-left-lift)); --dx-float-delay:-1.1s; animation-duration:5.7s ; }
.dx-art-piacter { width:298px; right:11%; top:calc(27.5% - var(--dx-left-lift)); --dx-float-delay:-2.2s; animation-duration:6.5s ; }
.dx-art-webdev { width:298px; left:3%; top:calc(48.5% - var(--dx-left-lift)); --dx-float-delay:-2.8s; animation-duration:5.25s ; }
.dx-art-ai { width:298px; right:2%; top:calc(48.5% - var(--dx-left-lift)); --dx-float-delay:-3.7s; animation-duration:6.9s ; }
.dx-art-design { width:281px; left:8.2%; top:calc(68.5% - var(--dx-left-lift)); --dx-float-delay:-4.1s; animation-duration:6.1s ; }
.dx-art-support { width:281px; right:7.2%; top:calc(68.5% - var(--dx-left-lift)); --dx-float-delay:-5s; animation-duration:7.15s ; }

/* A központi DropX embléma szándékosan teljesen statikus. */
.dx-art-center {
    width:660px;
    left:50%;
    top:calc(57.5% - var(--dx-left-lift));
    transform:translate(-50%,-50%) translateZ(-120px) ;
    z-index:1;
    opacity:.98;
    cursor:default;
    animation:none ;
    pointer-events:none ;
}
.dx-art-center img {
    filter:drop-shadow(0 22px 30px rgba(75,48,19,.22));
    transform:none ;
}

/* Hoverkor szétszóródó, arany "szikra" részecskék. */
.dx-spark {
    position:absolute;
    left:var(--spark-x);
    top:var(--spark-y);
    width:var(--spark-size);
    height:var(--spark-size);
    border-radius:50%;
    pointer-events:none;
    background:radial-gradient(circle, #fff8e7 0 22%, #f4c56d 45%, rgba(196,129,34,.08) 78%);
    box-shadow:0 0 7px rgba(255,205,112,.95),0 0 15px rgba(225,157,50,.55);
    opacity:0;
    transform:translate3d(0,0,0) scale(.4) rotate(0deg);
    animation:dxSparkFall var(--spark-duration) cubic-bezier(.18,.72,.2,1) forwards;
    animation-delay:var(--spark-delay);
}
.dx-spark.back { z-index:1; }
.dx-spark.front { z-index:6; }
.dx-spark.streak {
    width:2px;
    height:var(--spark-length);
    border-radius:22px 34px 16px 29px;
    transform-origin:top center;
}

body.dx-auth-page .dx-auth-stage {
    position:relative;
    z-index:20;
    min-height:100vh;
    pointer-events:none;
}

body.dx-auth-page .dx-auth-stage .auth-container {
    pointer-events:auto;
}

body.dx-auth-page #auth {
    min-height:100vh;
    padding:0;
    margin:0;
}

body.dx-auth-page .auth-container {
    position:absolute;
    top:50%;
    right:2.8vw;
    transform:translateY(-50%);
    width:min(34vw,600px);
    max-width:none;
    height:min(780px,calc(100vh - 30px));
    max-height:calc(100vh - 30px);
    overflow:hidden auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(154,100,23,.62) rgba(154,100,23,.08);
    margin:0;
    padding:22px 28px 18px;
    box-sizing:border-box;
    border:1px solid rgba(160,112,45,.26);
    border-radius:24px;
    background:var(--auth-card-bg,rgba(250,244,235,.88));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 24px 70px rgba(82,55,25,.18),inset 0 1px 0 rgba(255,255,255,.82);
}

body.dx-auth-page .auth-container::-webkit-scrollbar { width:9px; }
body.dx-auth-page .auth-container::-webkit-scrollbar-track {
    margin:16px 0;
    border-radius:14px 24px 11px 19px;
    background:rgba(154,100,23,.08);
}
body.dx-auth-page .auth-container::-webkit-scrollbar-thumb {
    border:2px solid transparent;
    border-radius:14px 24px 11px 19px;
    background:linear-gradient(180deg,rgba(196,144,65,.92),rgba(126,80,18,.78));
    background-clip:padding-box;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
body.dx-auth-page .auth-container::-webkit-scrollbar-thumb:hover {
    background:linear-gradient(180deg,rgba(224,174,91,1),rgba(148,93,21,.92));
    background-clip:padding-box;
}

body.dx-auth-page .hud-brackets { display:none; }
body.dx-auth-page .auth-two-column-layout { grid-template-columns:1fr; gap:10px; }
body.dx-auth-page .auth-title { font-size:clamp(1.55rem,1.9vw,2.05rem); margin:0 0 10px; color:var(--auth-card-text,#2c241e); }
body.dx-auth-page .auth-title-icon { color:var(--auth-accent,#9a6417); width:27px; height:27px; }
body.dx-auth-page .auth-left-column,
body.dx-auth-page .auth-right-column { gap:8px; }
body.dx-auth-page .auth-form { gap:8px; }
body.dx-auth-page .form-group input,
body.dx-auth-page .select-input-dark { min-height:42px; border-radius:12px; }
body.dx-auth-page .remember-me-group { margin:2px 0 5px; }
body.dx-auth-page .checkbox-label { margin-bottom:0; font-size:.84rem; }
body.dx-auth-page .btn { min-height:43px; border-radius:12px; }
body.dx-auth-page .auth-switch { margin-top:3px; line-height:1.2; font-size:.80rem; }
body.dx-auth-page .google-auth-container { gap:0; }
body.dx-auth-page a.btn-google-auth,
body.dx-auth-page .btn-google-auth { min-height:46px; padding:10px 14px; border-radius:12px; }
body.dx-auth-page .auth-bottom-full-width { margin-top:7px; }
body.dx-auth-page .auth-bottom-full-width {
    margin-top:0;
}

body.dx-auth-page .auth-guide-box {
    padding:11px 14px;
    font-size:.76rem;
    line-height:1.30;
    border-radius:13px;
    border-color:rgba(154,100,23,.42);
    background:rgba(154,100,23,.035);
}
body.dx-auth-page .auth-guide-box h4 { margin-bottom:5px; font-size:.92rem; }
body.dx-auth-page .auth-guide-box p { margin-bottom:5px; }
body.dx-auth-page .auth-guide-box ul { margin-bottom:5px; }
body.dx-auth-page .auth-guide-box li { margin-bottom:2px; }

body.dx-auth-page .btn-social-disabled,
body.dx-auth-page .social-disabled-badge { display:none ; }

.dx-continue-btn {
    position:relative;
    z-index:35;
    left:auto;
    bottom:auto;
    transform:none;
    align-self:center;
    width:min(310px,100%);
    min-height:58px;
    box-sizing:border-box;
    padding:9px 18px 9px 25px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border:1px solid rgba(255,224,164,.72);
    border-radius:14px 24px 11px 19px;
    color:var(--auth-continue-text,#4d3214);
    text-decoration:none;
    background:
        radial-gradient(circle at var(--dx-btn-mx,50%) var(--dx-btn-my,50%), rgba(255,255,240,.86) 0%, rgba(255,236,179,.34) 24%, transparent 52%),
        linear-gradient(135deg,#e8c985 0%,#fff0c4 30%,#d8aa59 58%,#f1d38e 82%,#c88e36 100%);
    box-shadow:
        0 16px 34px rgba(91,57,22,.18),
        0 0 0 1px rgba(255,246,215,.82),
        0 0 24px rgba(238,196,111,.22),
        inset 0 1px 0 rgba(255,255,255,.72),
        inset 0 -7px 15px rgba(132,84,25,.10);
    overflow:hidden;
    clip-path:polygon(2.5% 10%, 7% 4%, 34% 6%, 66% 2%, 94% 9%, 98.5% 28%, 97% 73%, 92% 94%, 63% 97%, 34% 94%, 8% 97%, 2% 78%, 3.5% 42%);
    isolation:isolate;
    will-change:transform,box-shadow,filter;
    transition:transform .16s cubic-bezier(.12,.9,.22,1),box-shadow .20s cubic-bezier(.22,1,.36,1),filter .18s ease;
    animation:dxButtonFloat 4.8s ease-in-out infinite,dxButtonBreath 3.8s ease-in-out infinite;
}
.dx-continue-btn::before {
    content:"";
    position:absolute;
    z-index:1;
    top:-35%;
    bottom:-35%;
    left:-62%;
    width:46%;
    border-radius:18px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent 0%,rgba(255,245,203,.10) 18%,rgba(255,255,239,.98) 48%,rgba(255,235,164,.48) 60%,transparent 100%);
    transform:skewX(-18deg) translateX(0);
    animation:dxButtonSweep 1.45s cubic-bezier(.42,0,.58,1) infinite;
    mix-blend-mode:screen;
    filter:blur(.2px);
}
.dx-continue-btn::after {
    content:"";
    position:absolute;
    z-index:0;
    inset:-10px -16px;
    border-radius:18px 34px 13px 29px;
    border:1px solid rgba(239,192,103,.28);
    box-shadow:0 0 18px rgba(227,173,80,.24),0 0 42px rgba(227,173,80,.12);
    opacity:.82;
    animation:dxButtonAura 2.4s ease-in-out infinite;
    pointer-events:none;
}
.dx-continue-btn span,
.dx-continue-btn i { position:relative; z-index:3; }
.dx-continue-btn span { transition:transform .24s cubic-bezier(.22,1,.36,1),filter .24s ease; }
.dx-continue-btn strong { display:block; font:700 13px/1 'Chakra Petch',sans-serif; letter-spacing:.13em; text-shadow:0 1px 0 rgba(255,248,220,.45); }
.dx-continue-btn small { display:block; margin-top:4px; font:600 9px/1 'Rajdhani',sans-serif; letter-spacing:.12em; opacity:.82; transition:opacity .35s ease; }
.dx-continue-btn i { width:23px; transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s ease; filter:drop-shadow(0 0 0 rgba(255,224,151,0)); }
.dx-continue-btn:hover {
    transform:translateY(-1px);
    filter:saturate(1.08) brightness(1.10);
    box-shadow:0 18px 38px rgba(93,56,16,.20),0 0 30px rgba(239,196,112,.50),0 0 82px rgba(239,196,112,.24),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -5px 14px rgba(132,84,25,.06);
}
.dx-continue-btn:hover span { transform:none; filter:drop-shadow(0 0 8px rgba(255,232,174,.34)); }
.dx-continue-btn:hover small { opacity:1; }
.dx-continue-btn:hover i { transform:translateX(5px); filter:drop-shadow(0 0 10px rgba(255,224,151,.80)); }
.dx-continue-btn:focus-visible { outline:2px solid rgba(255,232,177,.95); outline-offset:5px; }
.dx-continue-btn:active { transform:translateY(0); filter:brightness(1.02); }
.dx-continue-btn.is-clicked { pointer-events:none; }
.dx-btn-spark {
    position:fixed;
    left:0; top:0;
    width:var(--dx-spark-size,4px);
    height:var(--dx-spark-size,4px);
    border-radius:50%;
    background:radial-gradient(circle,#fff9df 0 22%,#f5cf7b 40%,rgba(221,166,72,.85) 65%,transparent 72%);
    box-shadow:0 0 6px rgba(255,231,164,.95),0 0 15px rgba(226,170,75,.65);
    pointer-events:none;
    z-index:120;
    transform:translate3d(0,0,0) scale(.35);
    animation:dxButtonSpark var(--dx-spark-duration,720ms) cubic-bezier(.18,.75,.2,1) var(--dx-spark-delay,0ms) forwards;
}
.dx-btn-spark.streak { width:var(--dx-spark-length,16px); height:2px; border-radius:999px; }

.dx-auth-curtain {
    position:fixed;
    inset:0;
    z-index:100;
    pointer-events:none;
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.dx-auth-curtain span {
    background:linear-gradient(135deg,#cba66e,#ead8be 48%,#a8732b);
    transform:scaleX(0);
    transform-origin:left;
    box-shadow:inset 0 0 40px rgba(255,255,255,.18);
}
.dx-auth-curtain span:nth-child(2){transform-origin:right}
.dx-auth-curtain span:nth-child(3){transform-origin:left}
.dx-auth-curtain span:nth-child(4){transform-origin:right}

body.dx-auth-leaving .dx-login-background,
body.dx-auth-leaving .dx-login-waves,
body.dx-auth-leaving .dx-login-art,
body.dx-auth-leaving .dx-auth-stage,
body.dx-auth-leaving .dx-continue-btn {
    animation:dxAuthExit .72s cubic-bezier(.7,0,.2,1) forwards;
}
body.dx-auth-leaving .dx-auth-curtain { opacity:1; }
body.dx-auth-leaving .dx-auth-curtain span { animation:dxCurtainOpen .76s cubic-bezier(.7,0,.2,1) forwards; }

@keyframes dxButtonFloat { 0%,100% { margin-top:0; } 50% { margin-top:-3px; } }
@keyframes dxButtonBreath { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.035); } }
@keyframes dxButtonSweep { 0%,12% { transform:skewX(-18deg) translateX(0); opacity:0; } 22% { opacity:1; } 62%,100% { transform:skewX(-18deg) translateX(430%); opacity:0; } }
@keyframes dxButtonAura { 0%,100% { transform:scale(.99); opacity:.42; filter:blur(0); } 50% { transform:scale(1.018); opacity:.88; filter:blur(.4px); } }
@keyframes dxButtonSpark { 0% { opacity:0; transform:translate3d(0,0,0) scale(.25) rotate(0deg); } 12% { opacity:1; transform:translate3d(var(--dx-spark-x1),var(--dx-spark-y1),0) scale(1) rotate(var(--dx-spark-rot)); } 100% { opacity:0; transform:translate3d(var(--dx-spark-x2),var(--dx-spark-y2),0) scale(.05) rotate(var(--dx-spark-rot)); } }

@keyframes dxAmbientGlow {
    0%,100% { opacity:.30; transform:scale(.98); }
    50% { opacity:.62; transform:scale(1.06); }
}
@keyframes dxCardFloat {
    0%,100% { translate:0 0; }
    50% { translate:0 -15px; }
}
@keyframes dxCenterFloat {
    0%,100% { translate:0 0; }
    50% { translate:0 -7px; }
}
@keyframes dxSweepGlow {
    0% { opacity:.25; transform:rotate(-35deg) scale(.86); }
    50% { opacity:1; transform:rotate(145deg) scale(1.08); }
    100% { opacity:.25; transform:rotate(325deg) scale(.86); }
}
@keyframes dxSparkFall {
    0% { opacity:0; transform:translate3d(0,-6px,0) scale(.35) rotate(0deg); }
    12% { opacity:1; transform:translate3d(var(--spark-dx-start),var(--spark-dy-start),0) scale(1) rotate(18deg); }
    72% { opacity:.95; transform:translate3d(var(--spark-dx-mid),var(--spark-dy-mid),0) scale(.78) rotate(150deg); }
    100% { opacity:0; transform:translate3d(var(--spark-dx-end),var(--spark-dy-end),0) scale(.12) rotate(300deg); }
}
@keyframes dxAuthExit { to { opacity:0; transform:scale(.965) translateY(-10px); filter:blur(8px); } }
@keyframes dxCurtainOpen { 0%{transform:scaleX(0)} 42%{transform:scaleX(1)} 100%{transform:scaleX(0)} }
@keyframes dxBgDrift { from{transform:scale(1.03) translateX(-1.2%)} to{transform:scale(1.06) translateX(1.2%)} }
@keyframes dxWaves { from{transform:translate3d(-2%,0,0) rotate(-2deg)} to{transform:translate3d(2%,1%,0) rotate(2deg)} }

@media (max-width:1200px){
    body.dx-auth-page .auth-container { width:min(36vw,560px); right:2vw; padding:20px 22px 17px; }
    .dx-art { transform:scale(.90); }
    .dx-art-center { width:600px; }
    .dx-continue-btn { width:min(285px,100%); }
}

@media (max-width:900px){
    body.dx-auth-page { overflow:auto; }
    .dx-login-art { position:absolute; width:100%; height:calc(100% + var(--dx-hero-shift)); opacity:.72; }
    .dx-art { transform:scale(.72); }
    .dx-art-center { width:430px; top:62%; }
    .dx-art-miniweb { left:0; }
    .dx-art-piacter { right:0; }
    .dx-art-webdev { left:0; }
    .dx-art-ai { right:0; }
    .dx-art-design { left:4%; }
    .dx-art-support { right:4%; }
    body.dx-auth-page .auth-container {
        position:relative;
        top:auto;
        right:auto;
        transform:none;
        width:min(92vw,600px);
        height:auto;
        max-height:none;
        margin:78px auto 100px;
        overflow:visible;
    }
    .dx-auth-topbar { padding:14px 16px; }
    .dx-continue-btn { width:min(340px,100%); }
}

@media (max-width:600px){
    .dx-login-art { opacity:.50; }
    .dx-art { transform:scale(.58); }
    .dx-art-center { width:330px; }
    .dx-auth-brand span { font-size:18px; }
    .dx-auth-brand img { width:36px; height:36px; }
}

/* CTA luxury radiant particles: intentionally outside the button so they can bloom around its silhouette. */
.dx-btn-radiant-particle {
    position:fixed;
    left:0;
    top:0;
    width:var(--p-size,3px);
    height:var(--p-size,3px);
    border-radius:50%;
    pointer-events:none;
    z-index:140;
    background:radial-gradient(circle,#fffdf2 0 18%,#ffe5a3 42%,rgba(238,182,79,.55) 66%,transparent 76%);
    box-shadow:0 0 6px rgba(255,240,184,.95),0 0 15px rgba(225,166,67,.55),0 0 24px rgba(225,166,67,.22);
    opacity:0;
    transform:translate3d(0,0,0) scale(.2);
    animation:dxCtaRadiantParticle var(--p-duration,700ms) cubic-bezier(.16,.72,.2,1) var(--p-delay,0ms) forwards;
}
.dx-btn-radiant-particle.streak {
    width:var(--p-len,14px);
    height:2px;
    border-radius:999px;
    transform-origin:left center;
}

@keyframes dxCtaRadiantParticle {
    0% { opacity:0; transform:translate3d(0,0,0) scale(.2) rotate(-18deg); }
    12% { opacity:1; transform:translate3d(var(--p-x1),var(--p-y1),0) scale(1) rotate(0deg); }
    58% { opacity:.92; transform:translate3d(calc(var(--p-x1) * 1.5),calc(var(--p-y1) * 1.4),0) scale(.78) rotate(18deg); }
    100% { opacity:0; transform:translate3d(var(--p-x2),var(--p-y2),0) scale(.05) rotate(45deg); }
}


/* DropX visitor transition: the next page rises from below with a restrained pixel-impact edge. */
.dx-visitor-transition {
    position:fixed;
    inset:0;
    z-index:9999;
    overflow:hidden;
    pointer-events:none;
    opacity:0;
    isolation:isolate;
    background:transparent;
}

.dx-vt-riser {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:100%;
    overflow:hidden;
    transform:translate3d(0,105%,0);
    background:
        radial-gradient(circle at 50% 0%,rgba(255,247,226,.98),rgba(255,247,226,0) 30%),
        linear-gradient(180deg,rgba(247,235,213,.98),rgba(230,211,181,.98));
    box-shadow:0 -24px 70px rgba(145,98,35,.14),inset 0 1px 0 rgba(255,255,255,.88);
    will-change:transform;
}

.dx-vt-riser::before {
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 8%,rgba(255,255,255,.55),transparent 32%),
        linear-gradient(90deg,rgba(255,255,255,.08),transparent 24%,transparent 76%,rgba(255,255,255,.08));
    pointer-events:none;
}

.dx-vt-riser-sheen {
    position:absolute;
    left:-8%;
    right:-8%;
    top:-24px;
    height:80px;
    opacity:0;
    background:radial-gradient(ellipse at center,rgba(255,244,205,.72),rgba(255,244,205,0) 68%);
    filter:blur(7px);
    pointer-events:none;
}

.dx-vt-riser-edge {
    position:absolute;
    left:2%;
    right:2%;
    top:0;
    height:2px;
    opacity:0;
    background:linear-gradient(90deg,transparent 0%,rgba(239,191,94,.15) 12%,rgba(255,244,202,.98) 50%,rgba(239,191,94,.15) 88%,transparent 100%);
    box-shadow:0 0 14px rgba(244,194,94,.76),0 0 34px rgba(244,194,94,.32);
    transform-origin:center;
}

.dx-vt-riser-brand {
    position:absolute;
    left:50%;
    top:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:84px;
    height:84px;
    opacity:0;
    transform:translate(-50%, -50%) translateY(18px) scale(.94);
    border:1px solid rgba(154,100,23,.22);
    border-radius:22px;
    background:rgba(255,249,236,.34);
    box-shadow:0 18px 42px rgba(111,73,24,.12),inset 0 1px 0 rgba(255,255,255,.86);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.dx-vt-riser-brand img {
    width:52px;
    height:52px;
    object-fit:contain;
    filter:drop-shadow(0 5px 10px rgba(87,55,17,.18));
}

.dx-vt-pixel-field {
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:14px;
    pointer-events:none;
}

.dx-vt-pixel-field span {
    position:absolute;
    top:-2px;
    width:var(--pixel-size,5px);
    height:var(--pixel-size,5px);
    border-radius:1px;
    opacity:0;
    background:linear-gradient(135deg,#fff8e7,#e9b95d);
    box-shadow:0 0 7px rgba(255,224,151,.84),0 0 16px rgba(224,166,65,.46);
}

.dx-vt-pixel-field span.is-long {
    width:var(--pixel-size,6px);
    height:calc(var(--pixel-size,6px) * 2.4);
    border-radius:2px;
}

body.dx-auth-transition-lock .dx-login-art {
    filter:blur(1px);
    transition:filter .28s ease;
}

body.dx-auth-transition-lock .dx-login-background {
    transform:scale(1.025);
    filter:brightness(1.02) saturate(.96);
    transition:transform .75s cubic-bezier(.16,1,.3,1),filter .75s ease;
}

@media(max-width:700px) {
    /* MobilApp: a PC-s login háttér és bal oldali vizuális világ itt teljesen megszűnik. */
    body.dx-auth-page {
        min-height:100dvh;
        overflow:auto;
        background:var(--auth-page-bg,#eadbc6);
    }

    body.dx-auth-page .dx-login-background,
    body.dx-auth-page .dx-login-waves,
    body.dx-auth-page .dx-login-art {
        display:none;
    }

    body.dx-auth-page .dx-auth-topbar {
        position:relative;
        padding:14px 16px 8px;
        pointer-events:auto;
    }

    body.dx-auth-page .dx-auth-stage {
        position:relative;
        z-index:10;
        min-height:calc(100dvh - 74px);
        padding:8px 12px 24px;
        box-sizing:border-box;
    }

    body.dx-auth-page .auth-container {
        width:100%;
        max-width:560px;
        margin:12px auto 24px;
        border-radius:18px;
        background:var(--auth-card-bg,rgba(250,244,235,.96));
        box-shadow:0 18px 50px rgba(65,45,25,.12);
    }

    body.dx-auth-page .dx-continue-btn {
        position:relative;
        left:auto;
        bottom:auto;
        display:flex;
        width:min(340px,100%);
        max-width:100%;
        margin:0 auto;
        box-sizing:border-box;
    }
}

@media(max-width:900px) {
    .dx-vt-riser-brand {
        width:70px;
        height:70px;
        border-radius:18px;
    }

    .dx-vt-riser-brand img {
        width:44px;
        height:44px;
    }
}


/* ========================================================================== 
   AUTH THEME CONTRACT — each theme owns its authentication shell.
   ========================================================================== */
body.dx-auth-page.theme-light{
    --auth-page-bg:#eadbc6;--auth-page-text:#2d261f;--auth-bg-base:#e0cfb6;
    --auth-brand-text:#2b251f;--auth-brand-muted:#8b6a3d;--auth-card-bg:rgba(250,244,235,.90);
    --auth-card-text:#2c241e;--auth-accent:#9a6417;--auth-continue-text:#4d3214;
}
body.dx-auth-page.theme-dark{
    --auth-page-bg:#07090c;--auth-page-text:#eef2f5;--auth-bg-base:#080b0f;
    --auth-brand-text:#f1f4f6;--auth-brand-muted:#c6a45d;--auth-card-bg:rgba(13,16,20,.86);
    --auth-card-text:#eef2f5;--auth-accent:#d6a52b;--auth-continue-text:#f4e6c5;
    background:#07090c;
}
body.dx-auth-page.theme-neutral{
    --auth-page-bg:#dfe2e5;--auth-page-text:#252a30;--auth-bg-base:#d5d9dd;
    --auth-brand-text:#20252a;--auth-brand-muted:#687078;--auth-card-bg:rgba(246,247,248,.90);
    --auth-card-text:#252a30;--auth-accent:#626a72;--auth-continue-text:#252a30;
    background:#dfe2e5;
}
body.dx-auth-page.theme-dark .dx-login-background::after{
    background:radial-gradient(circle at 43% 50%,rgba(214,165,43,.10),transparent 43%),linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.20));
}
body.dx-auth-page.theme-dark .dx-login-waves{opacity:.25}
body.dx-auth-page.theme-dark .dx-art img{filter:drop-shadow(0 18px 25px rgba(0,0,0,.55)) brightness(.86) saturate(.92)}
body.dx-auth-page.theme-dark .auth-container{border-color:rgba(214,165,43,.26);box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.06)}
body.dx-auth-page.theme-dark .auth-title{color:var(--auth-card-text)}
body.dx-auth-page.theme-dark .auth-guide-box{border-color:rgba(214,165,43,.34);background:rgba(214,165,43,.045)}
body.dx-auth-page.theme-dark .dx-continue-btn{color:#f4e6c5;background:linear-gradient(135deg,#1a1710,#342914 42%,#17130c 100%);border-color:rgba(214,165,43,.55);box-shadow:0 18px 40px rgba(0,0,0,.40),0 0 28px rgba(214,165,43,.12),inset 0 1px 0 rgba(255,255,255,.08)}
body.dx-auth-page.theme-dark .dx-auth-curtain span{background:linear-gradient(135deg,#0a0d11,#242a30 48%,#a67b2c)}
body.dx-auth-page.theme-neutral .dx-login-background::after{background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.02))}
body.dx-auth-page.theme-neutral .dx-login-waves{opacity:.28}
body.dx-auth-page.theme-neutral .dx-continue-btn{background:linear-gradient(135deg,#f2f3f4,#d9dde0 50%,#b9bec3);border-color:rgba(76,84,91,.25);color:#30363b;box-shadow:0 16px 34px rgba(50,57,63,.16),inset 0 1px 0 rgba(255,255,255,.75)}
body.dx-auth-page.theme-neutral .dx-auth-curtain span{background:linear-gradient(135deg,#b8bdc2,#eef0f2 48%,#858c93)}
