#authScreen{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  z-index:200000;
  overflow:auto;
  background:#090706;
}

#authScreen:not(.active){
  display:none !important;
}

body.auth-active{
  overflow:hidden !important;
}

.arenaLoadingOverlay{
  position:fixed;
  inset:0;
  z-index:400000;
  display:none;
  place-items:center;
  box-sizing:border-box;
  padding:28px;
  overflow:hidden;
  color:#e4c98e;
  background:
    radial-gradient(circle at 50% 44%,rgba(91,72,35,.2),transparent 30%),
    radial-gradient(circle at 50% 100%,rgba(67,72,35,.12),transparent 45%),
    linear-gradient(145deg,#07100d 0%,#020605 48%,#0b0d08 100%);
}

.arenaLoadingOverlay::before,
.arenaLoadingOverlay::after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.arenaLoadingOverlay::before{
  inset:8px;
  border:1px solid rgba(154,111,47,.62);
  box-shadow:inset 0 0 46px rgba(0,0,0,.86),0 0 0 1px rgba(35,25,13,.9);
}

.arenaLoadingOverlay::after{
  left:50%;
  top:50%;
  width:min(560px,72vw);
  height:min(560px,72vw);
  border:1px solid rgba(170,126,55,.08);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 90px rgba(170,126,55,.05),inset 0 0 90px rgba(170,126,55,.04);
}

.arenaLoadingOverlay.active{
  display:grid;
}

.arenaLoadingContent{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  text-align:center;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.82));
}

.arenaLoadingContent strong{
  color:#e9cc8d;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-size:clamp(18px,2vw,25px);
  font-weight:600;
  letter-spacing:.08em;
}

.arenaLoadingContent > span{
  color:#8f7446;
  font-family:"Cinzel","Trajan Pro",Georgia,serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.34em;
}

.arenaLoadingEmblem{
  width:106px;
  height:118px;
  display:grid;
  place-items:center;
  border:1px solid rgba(164,121,52,.18);
  border-radius:50%;
  background:radial-gradient(circle,rgba(137,99,42,.12),transparent 68%);
}

.arenaLoadingHourglass{
  position:relative;
  width:58px;
  height:78px;
  display:block;
  box-sizing:border-box;
  border-top:6px solid #c8953b;
  border-bottom:6px solid #c8953b;
  border-radius:7px;
  animation:arenaHourglassTurn 2.2s ease-in-out infinite;
}

.arenaLoadingHourglass::before{
  content:"";
  position:absolute;
  inset:7px 8px;
  clip-path:polygon(0 0,100% 0,60% 45%,60% 55%,100% 100%,0 100%,40% 55%,40% 45%);
  border-left:2px solid rgba(225,190,116,.72);
  border-right:2px solid rgba(225,190,116,.72);
  background:
    linear-gradient(165deg,rgba(242,201,111,.85) 0 22%,transparent 23% 72%,rgba(190,133,43,.9) 73% 100%);
  filter:drop-shadow(0 0 5px rgba(201,149,57,.28));
}

.arenaLoadingHourglass::after{
  content:"";
  position:absolute;
  left:50%;
  top:34px;
  width:3px;
  height:17px;
  border-radius:2px;
  background:linear-gradient(#f0c56e,#9b6726);
  transform:translateX(-50%);
  animation:arenaSandFlow 1.1s ease-in-out infinite;
}

@keyframes arenaHourglassTurn{
  0%,68%{transform:rotate(0deg)}
  84%,100%{transform:rotate(180deg)}
}

@keyframes arenaSandFlow{
  0%,100%{opacity:.25;transform:translateX(-50%) scaleY(.25);transform-origin:top}
  45%{opacity:1;transform:translateX(-50%) scaleY(1);transform-origin:top}
}

@media (prefers-reduced-motion:reduce){
  .arenaLoadingHourglass,
  .arenaLoadingHourglass::after{animation:none}
}

body.auth-active > .screen:not(#authScreen),
body.auth-active #hud,
body.auth-active #dfMenu,
body.auth-active #globalLeftMenu,
body.auth-active #leftHudMenu,
body.auth-active #oaiResponsiveMenuToggle,
body.auth-active #btnOpenSettingsFixed,
body.auth-active #btnOpenSettingsReal,
body.auth-active #oaiMainStageFrameV304,
body.auth-active #cityClickBlocker{
  display:none !important;
  pointer-events:none !important;
}

body.auth-active #authScreen{
  display:block !important;
  pointer-events:auto !important;
}

.authBackdrop{
  min-height:100%;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  padding:clamp(20px,4vw,64px);
  background:
    radial-gradient(circle at 72% 34%,rgba(186,87,35,.16),transparent 34%),
    linear-gradient(90deg,rgba(7,5,4,.42),rgba(7,5,4,.8)),
    url("../img/city_square_v305.png") center/cover no-repeat;
}

.authShell{
  width:min(1080px,100%);
  min-height:min(680px,calc(100dvh - 80px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  overflow:hidden;
  border:1px solid rgba(228,184,95,.62);
  border-radius:18px;
  background:rgba(15,10,8,.9);
  box-shadow:
    0 32px 80px rgba(0,0,0,.72),
    0 0 0 1px rgba(67,24,16,.92),
    inset 0 1px rgba(255,239,192,.08);
}

.authIntro{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-sizing:border-box;
  padding:clamp(38px,6vw,74px);
  color:#f4e6c3;
  background:
    linear-gradient(180deg,rgba(12,8,7,.08),rgba(12,8,7,.82)),
    radial-gradient(circle at 45% 25%,rgba(228,144,59,.12),transparent 38%);
}

.authEyebrow{
  width:max-content;
  margin-bottom:16px;
  padding:7px 13px;
  border:1px solid rgba(226,180,91,.55);
  border-radius:999px;
  color:#f0c66f;
  background:rgba(20,10,7,.55);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
}

.authIntro h1{
  max-width:570px;
  margin:0;
  color:#fff2c8;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,5.3vw,68px);
  line-height:.98;
  text-shadow:0 4px 20px rgba(0,0,0,.75);
}

.authIntro > p{
  max-width:560px;
  margin:24px 0 32px;
  color:#d2c09f;
  font-size:16px;
  line-height:1.65;
}

.authFeatureList{
  display:grid;
  gap:12px;
}

.authFeatureList div{
  display:flex;
  align-items:center;
  gap:11px;
  color:#e5d6b7;
  font-size:14px;
}

.authFeatureList span{
  color:#d79f46;
  font-size:11px;
}

.authCard{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:clamp(28px,4.5vw,58px);
  border-left:1px solid rgba(216,165,79,.26);
  background:
    linear-gradient(180deg,rgba(49,20,15,.94),rgba(18,10,9,.98)),
    url("../img/ui/left_menu_burgundy_texture_v2.png") center/cover no-repeat;
}

.authLoading,
.authPanel{
  width:min(390px,100%);
}

.authLoading{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#eed8aa;
  text-align:center;
}

.authSpinner{
  width:42px;
  height:42px;
  box-sizing:border-box;
  border:3px solid rgba(229,190,112,.2);
  border-top-color:#e2b55d;
  border-radius:50%;
  animation:authSpin .8s linear infinite;
}

@keyframes authSpin{
  to{ transform:rotate(360deg); }
}

.authPanel[hidden],
.authLoading[hidden],
.authForm[hidden],
.authSessionBar[hidden]{
  display:none !important;
}

.authTabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  margin-bottom:30px;
  padding:5px;
  border:1px solid rgba(211,165,82,.26);
  border-radius:12px;
  background:rgba(7,5,4,.46);
}

.authModeTab{
  min-height:44px;
  border:1px solid transparent;
  border-radius:8px;
  color:#a99675;
  background:transparent;
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}

.authModeTab:hover{
  color:#f2deb3;
}

.authModeTab.active{
  border-color:rgba(230,188,101,.58);
  color:#fff0c6;
  background:linear-gradient(180deg,rgba(117,43,27,.74),rgba(58,18,15,.86));
  box-shadow:inset 0 1px rgba(255,239,190,.1);
}

.authForm{
  display:flex;
  flex-direction:column;
}

.authFormHeading{
  margin-bottom:22px;
}

.authFormHeading h2{
  margin:0 0 7px;
  color:#f8e7bd;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
}

.authFormHeading p{
  margin:0;
  color:#a99475;
  font-size:13px;
  line-height:1.5;
}

.authForm label{
  margin:0 0 7px;
  color:#dac9a7;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}

.authForm input{
  width:100%;
  height:48px;
  box-sizing:border-box;
  margin:0 0 17px;
  padding:0 14px;
  border:1px solid rgba(189,143,69,.42);
  border-radius:9px;
  outline:none;
  color:#fff1cf;
  background:rgba(8,6,5,.72);
  box-shadow:inset 0 2px 8px rgba(0,0,0,.36);
  font:inherit;
  font-size:15px;
  transition:border-color .16s ease,box-shadow .16s ease;
}

.authForm input:focus{
  border-color:#e1b45d;
  box-shadow:0 0 0 3px rgba(225,180,93,.13),inset 0 2px 8px rgba(0,0,0,.36);
}

.authForm input[aria-invalid="true"]{
  border-color:#d96c5a;
  box-shadow:0 0 0 3px rgba(217,108,90,.12);
}

.authFieldHint{
  margin:-10px 0 15px;
  color:#8f7e63;
  font-size:11px;
  line-height:1.4;
}

.authSubmit{
  width:100%;
  min-height:48px;
  border-radius:9px;
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}

.authSubmit{
  margin-top:4px;
  border:1px solid #e0b35d;
  color:#fff3cf;
  background:
    linear-gradient(180deg,rgba(132,48,29,.92),rgba(67,19,15,.98)),
    url("../img/ui/left_menu_burgundy_texture_v2.png") center/cover;
  box-shadow:inset 0 1px rgba(255,240,194,.19),0 8px 20px rgba(0,0,0,.3);
}

.authSubmit:hover:not(:disabled){
  filter:brightness(1.1);
}

.authSubmit:disabled,
.authModeTab:disabled{
  cursor:wait;
  opacity:.62;
}

.authMessage{
  min-height:20px;
  margin-top:14px;
  color:#e6c277;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

.authMessage[data-state="error"]{
  color:#ff9e8e;
}

.authMessage[data-state="success"]{
  color:#9ed6a3;
}

.authSessionBar{
  width:min(720px,calc(100% - 32px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-sizing:border-box;
  margin:14px auto 4px;
  padding:10px 12px 10px 16px;
  border:1px solid rgba(217,174,88,.44);
  border-radius:10px;
  color:#d8c7a4;
  background:rgba(17,10,8,.78);
  font-size:12px;
}

.authSessionBar b{
  color:#f2d58f;
}

.authSessionBar button{
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(214,165,76,.5);
  border-radius:7px;
  color:#e6d1a7;
  background:linear-gradient(180deg,rgba(83,30,22,.82),rgba(40,14,12,.9));
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.authSessionBar button:hover{
  color:#fff0c8;
  border-color:#d9ad58;
}

@media (max-width:820px){
  .authBackdrop{
    place-items:start center;
    padding:18px;
  }

  .authShell{
    min-height:0;
    grid-template-columns:1fr;
  }

  .authIntro{
    padding:32px 28px;
  }

  .authIntro h1{
    font-size:clamp(34px,11vw,52px);
  }

  .authIntro > p{
    margin:17px 0 0;
    font-size:14px;
  }

  .authFeatureList{
    display:none;
  }

  .authCard{
    padding:30px 24px 34px;
    border-top:1px solid rgba(216,165,79,.26);
    border-left:0;
  }
}

/* Nalvarym login presentation v505 */
body.auth-active #authScreen{
  background:#050508 !important;
}

body.auth-active .authBackdrop{
  min-height:100dvh !important;
  padding:clamp(18px,3vw,42px) !important;
  background:
    radial-gradient(circle at 50% 46%,rgba(63,28,78,.08),transparent 34%),
    linear-gradient(90deg,rgba(2,3,7,.12),rgba(2,2,5,.34) 46%,rgba(4,2,7,.2)),
    url("../img/ui/auth/nalvarym_login_background_v1.png") center/cover no-repeat !important;
}

body.auth-active .authShell{
  position:relative !important;
  width:min(1210px,calc(100vw - 48px)) !important;
  height:min(820px,calc(100dvh - 48px)) !important;
  min-height:620px !important;
  grid-template-columns:minmax(0,53%) minmax(390px,47%) !important;
  overflow:hidden !important;
  border:1px solid #82622f !important;
  border-radius:0 !important;
  background:rgba(4,4,7,.96) !important;
  box-shadow:
    0 30px 70px rgba(0,0,0,.88),
    0 0 0 4px rgba(3,3,5,.92),
    0 0 0 5px rgba(113,78,38,.48),
    inset 0 0 45px rgba(0,0,0,.72) !important;
}

body.auth-active .authShell::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:5;
  border:1px solid rgba(137,97,45,.24);
  pointer-events:none;
}

body.auth-active .authShell::after{
  content:"◆";
  position:absolute;
  top:-15px;
  left:53%;
  z-index:8;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  transform:translateX(-50%) rotate(45deg);
  border:1px solid #967039;
  color:#9d4fc2;
  background:#160e1d;
  box-shadow:inset 0 0 0 3px #070509,0 0 12px rgba(139,55,184,.55);
  font-size:16px;
}

body.auth-active .authIntro{
  position:relative !important;
  z-index:2 !important;
  justify-content:center !important;
  align-items:center !important;
  padding:34px 48px 30px !important;
  border-right:1px solid rgba(121,83,41,.5) !important;
  color:#e5d0a3 !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 50% 25%,rgba(89,32,111,.13),transparent 34%),
    linear-gradient(180deg,rgba(2,3,6,.6),rgba(2,3,5,.92)) !important;
}

body.auth-active .authBrand{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:-8px 0 4px;
}

body.auth-active .authLogoImage{
  width:min(590px,94%);
  max-height:286px;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 9px 14px #000) drop-shadow(0 0 16px rgba(117,40,148,.22));
}

body.auth-active .authOnlineTag{
  min-width:205px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  box-sizing:border-box;
  margin-top:-25px;
  border-top:1px solid rgba(177,129,58,.68);
  border-bottom:1px solid rgba(177,129,58,.68);
  color:#c9a76d;
  background:rgba(6,5,7,.82);
  font-family:"Cinzel",Georgia,serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}

body.auth-active .authOnlineTag span{color:#7f4a98;font-size:9px;}

body.auth-active .authIntro h1{
  margin:8px 0 0 !important;
  color:#dcc397 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:clamp(35px,3.5vw,54px) !important;
  font-weight:600 !important;
  line-height:1.02 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  text-shadow:0 4px 8px #000 !important;
}

body.auth-active .authIntro > p{
  margin:17px 0 20px !important;
  color:#c1aa82 !important;
  font-family:Georgia,serif !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

body.auth-active .authFeatureList{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:11px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(113,80,39,.38) !important;
}

body.auth-active .authFeatureList > div{
  min-width:0 !important;
  flex-direction:column !important;
  gap:8px !important;
  color:#bda273 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:10px !important;
  line-height:1.35 !important;
  text-transform:uppercase !important;
}

body.auth-active .authFeatureList .authFeatureIcon{
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #805e31 !important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) !important;
  color:#c59b54 !important;
  background:radial-gradient(circle,#2b2116,#080709 70%) !important;
  box-shadow:inset 0 0 12px #000 !important;
  font-size:25px !important;
  text-shadow:0 2px 3px #000 !important;
}

body.auth-active .authCard{
  position:relative !important;
  z-index:2 !important;
  align-items:center !important;
  padding:42px 48px 34px !important;
  overflow:auto !important;
  border-left:0 !important;
  background:
    radial-gradient(circle at 50% 24%,rgba(103,34,131,.1),transparent 34%),
    linear-gradient(180deg,rgba(15,9,19,.97),rgba(5,5,8,.99)),
    url("../img/ui/left_menu_burgundy_texture_v2.png") center/cover !important;
}

body.auth-active .authLoading,
body.auth-active .authPanel{
  width:min(440px,100%) !important;
}

body.auth-active .authTabs{
  height:54px !important;
  gap:0 !important;
  margin:0 0 42px !important;
  padding:0 !important;
  border:1px solid rgba(105,78,49,.58) !important;
  border-radius:4px !important;
  background:rgba(3,3,6,.76) !important;
  box-shadow:inset 0 0 12px #000 !important;
}

body.auth-active .authModeTab{
  min-height:52px !important;
  border:0 !important;
  border-radius:2px !important;
  color:#a89472 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:14px !important;
  text-transform:uppercase !important;
}

body.auth-active .authModeTab.active{
  border:1px solid #9150ad !important;
  color:#eadcbf !important;
  background:linear-gradient(180deg,rgba(76,27,93,.9),rgba(31,13,42,.96)) !important;
  box-shadow:inset 0 0 14px rgba(166,66,206,.25),0 0 10px rgba(144,55,183,.35) !important;
}

body.auth-active .authFormHeading{
  margin-bottom:32px !important;
  text-align:center !important;
}

body.auth-active .authFormHeading h2{
  margin:0 0 15px !important;
  color:#dbc092 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:28px !important;
  font-weight:600 !important;
  letter-spacing:.025em !important;
  text-transform:uppercase !important;
}

body.auth-active .authFormHeading h2 span{
  margin:0 10px;
  color:#73408a;
  font-size:10px;
  vertical-align:middle;
}

body.auth-active .authFormHeading p{
  color:#b19d7b !important;
  font-family:Georgia,serif !important;
  font-size:14px !important;
}

body.auth-active .authForm > label:not(.authRemember){
  margin:0 0 8px !important;
  color:#c2a777 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:11px !important;
  text-transform:uppercase !important;
}

body.auth-active .authInputWrap{
  width:100%;
  height:52px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  box-sizing:border-box;
  margin:0 0 20px;
  border:1px solid rgba(111,88,61,.65);
  border-radius:5px;
  color:#887456;
  background:rgba(2,3,5,.78);
  box-shadow:inset 0 2px 10px rgba(0,0,0,.68);
}

body.auth-active .authInputWrap:focus-within{
  border-color:#8c50a8;
  box-shadow:inset 0 2px 10px rgba(0,0,0,.68),0 0 0 2px rgba(125,56,151,.12),0 0 10px rgba(125,56,151,.18);
}

body.auth-active .authInputWrap > span{
  display:grid;
  place-items:center;
  font-size:19px;
}

body.auth-active .authInputWrap input{
  width:100% !important;
  height:50px !important;
  margin:0 !important;
  padding:0 14px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  color:#e7d4ae !important;
  background:transparent !important;
  box-shadow:none !important;
  font-family:Georgia,serif !important;
  font-size:15px !important;
}

body.auth-active .authInputWrap input::placeholder{color:#716654 !important;opacity:1 !important;}
body.auth-active .authInputWrap input:focus{outline:none !important;box-shadow:none !important;}

body.auth-active .authRemember{
  width:max-content;
  display:flex;
  align-items:center;
  gap:9px;
  margin:-2px 0 20px;
  color:#af966a;
  font-family:"Cinzel",Georgia,serif;
  font-size:10px;
  text-transform:uppercase;
  cursor:pointer;
}

body.auth-active .authRemember input{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  opacity:0 !important;
}

body.auth-active .authRemember > span{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid #695336;
  background:#050507;
  box-shadow:inset 0 0 5px #000;
}

body.auth-active .authRemember input:checked + span::after{content:"◆";color:#9856b3;font-size:10px;}

body.auth-active .authFieldHint{
  margin:-14px 0 16px !important;
  color:#746853 !important;
}

body.auth-active .authSubmit{
  position:relative !important;
  min-height:58px !important;
  margin-top:1px !important;
  overflow:hidden !important;
  border:1px solid #9e6c38 !important;
  border-radius:2px !important;
  color:#f0d7a8 !important;
  background:linear-gradient(180deg,#6e247f,#2b0e38 58%,#17081e) !important;
  box-shadow:inset 0 0 0 3px #0c0710,inset 0 0 15px rgba(188,79,217,.27),0 4px 12px #000 !important;
  font-family:"Cinzel",Georgia,serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}

/* Nalvarym privacy notice v507 */
body.auth-privacy-open{
  overflow:hidden !important;
}

body.auth-active .authPrivacyConsent{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  margin:-2px 0 15px;
  color:#aa9a79;
  font-family:Georgia,serif;
  font-size:12px;
  line-height:1.4;
}

body.auth-active .authPrivacyConsent label{
  display:flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
}

body.auth-active .authPrivacyConsent input{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
}

body.auth-active .authPrivacyCheckbox{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  border:1px solid #756039;
  background:#030906;
  box-shadow:inset 0 0 6px #000;
}

body.auth-active .authPrivacyConsent input:focus-visible + .authPrivacyCheckbox{
  outline:2px solid #b58b43;
  outline-offset:2px;
}

body.auth-active .authPrivacyConsent input:checked + .authPrivacyCheckbox::after{
  content:"◆";
  color:#8cb061;
  font-size:10px;
}

body.auth-active .authPrivacyConsent input[aria-invalid="true"] + .authPrivacyCheckbox{
  border-color:#d15c4b;
  box-shadow:0 0 0 2px rgba(209,92,75,.16),inset 0 0 6px #000;
}

body.auth-active .authPrivacyLink{
  width:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  color:#c7a85e !important;
  background:none !important;
  box-shadow:none !important;
  font:inherit !important;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

body.auth-active .authPrivacyLink:hover,
body.auth-active .authPrivacyLink:focus-visible{
  color:#f0d69b !important;
}

body.auth-active #authRegisterSubmit:disabled{
  cursor:not-allowed !important;
  filter:saturate(.35) brightness(.6) !important;
  opacity:.72 !important;
}

.authPrivacyModal{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  padding:clamp(14px,3vw,38px);
  background:rgba(0,4,2,.82);
  backdrop-filter:blur(5px);
}

.authPrivacyModal[hidden]{display:none !important;}

.authPrivacyDialog{
  width:min(760px,calc(100vw - 28px));
  max-height:min(780px,calc(100dvh - 28px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid #8f6c32;
  color:#c8b793;
  background:
    radial-gradient(circle at 50% 0,rgba(47,89,59,.18),transparent 42%),
    linear-gradient(180deg,#07130d,#030a07 72%,#020704);
  box-shadow:0 28px 70px rgba(0,0,0,.9),0 0 0 4px #020704,0 0 0 5px rgba(126,91,40,.5),inset 0 0 38px rgba(0,0,0,.58);
}

.authPrivacyHeader{
  min-height:76px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
  padding:0 18px 0 30px;
  border-bottom:1px solid rgba(161,119,52,.45);
  background:linear-gradient(180deg,rgba(17,43,27,.9),rgba(5,18,11,.95));
}

.authPrivacyHeader > div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
}

.authPrivacyHeader h2{
  margin:0;
  color:#e0c58f;
  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(20px,3vw,30px);
  font-weight:600;
  letter-spacing:.035em;
  text-align:center;
  text-transform:uppercase;
}

.authPrivacyHeader > div > span{color:#8ca55f;font-size:10px;}

.authPrivacyClose{
  width:42px;
  height:42px;
  border:1px solid #956c30;
  color:#f0d69a;
  background:linear-gradient(#173b24,#071b10);
  box-shadow:inset 0 0 0 2px #030a06;
  font:30px/1 Georgia,serif;
  cursor:pointer;
}

.authPrivacyScroll{
  overflow-y:auto;
  padding:26px clamp(24px,5vw,46px) 30px;
  scrollbar-color:#8c6a32 #061008;
  scrollbar-width:thin;
  outline:none;
}

.authPrivacyScroll::-webkit-scrollbar{width:10px;}
.authPrivacyScroll::-webkit-scrollbar-track{background:#061008;}
.authPrivacyScroll::-webkit-scrollbar-thumb{border:2px solid #061008;background:#8c6a32;}

.authPrivacyLead{
  margin:0 0 24px;
  padding:14px 16px;
  border-left:3px solid #8fa45f;
  color:#ddcba5;
  background:rgba(24,57,35,.34);
  font-size:15px;
  line-height:1.55;
}

.authPrivacyScroll section{
  padding:0 0 18px;
  margin:0 0 18px;
  border-bottom:1px solid rgba(145,108,50,.22);
}

.authPrivacyScroll h3{
  margin:0 0 9px;
  color:#d6b773;
  font-family:"Cinzel",Georgia,serif;
  font-size:15px;
  font-weight:600;
  text-transform:uppercase;
}

.authPrivacyScroll p,
.authPrivacyScroll li{
  font-family:Georgia,serif;
  font-size:14px;
  line-height:1.62;
}

.authPrivacyScroll p{margin:0 0 9px;}
.authPrivacyScroll ul{margin:0;padding-left:22px;}
.authPrivacyVersion{color:#80745e;font-size:12px !important;text-align:right;}

.authPrivacyFooter{
  display:flex;
  justify-content:center;
  padding:16px 24px;
  border-top:1px solid rgba(161,119,52,.4);
  background:#030906;
}

.authPrivacyAcknowledge{
  min-width:230px;
  min-height:48px;
  border:1px solid #9c7738;
  color:#ecd29a;
  background:linear-gradient(180deg,#194b2b,#0a2a17);
  box-shadow:inset 0 0 0 2px #031008;
  font-family:"Cinzel",Georgia,serif;
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
}

@media(max-width:760px){
  .authPrivacyModal{padding:8px;}
  .authPrivacyDialog{width:100%;max-height:calc(100dvh - 16px);}
  .authPrivacyHeader{min-height:64px;padding:0 12px 0 18px;}
  .authPrivacyHeader > div{gap:7px;}
  .authPrivacyScroll{padding:20px 20px 24px;}
  .authPrivacyClose{width:38px;height:38px;}
}

body.auth-active .authSubmit::before,
body.auth-active .authSubmit::after{
  content:"◆";
  position:absolute;
  top:50%;
  color:#d09d4f;
  transform:translateY(-50%);
  font-size:11px;
}
body.auth-active .authSubmit::before{left:14px;}
body.auth-active .authSubmit::after{right:14px;}

body.auth-active .authMessage{margin-top:11px !important;}

body.auth-active .authLegend{
  margin-top:20px;
  color:#927c5d;
  font-family:Georgia,serif;
  font-size:12px;
  text-align:center;
}
body.auth-active .authLegend span{margin:0 7px;color:#603675;font-size:8px;}

@media(max-width:980px){
  body.auth-active .authShell{
    grid-template-columns:minmax(0,48%) minmax(390px,52%) !important;
  }
  body.auth-active .authShell::after{left:48% !important;}
  body.auth-active .authIntro{padding:28px 26px 25px !important;}
  body.auth-active .authLogoImage{width:100% !important;}
  body.auth-active .authFeatureList{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.auth-active .authFeatureList > div:nth-child(n+3){display:none !important;}
  body.auth-active .authCard{padding:34px 30px 28px !important;}
}

@media(max-width:760px){
  body.auth-active{overflow:auto !important;}
  body.auth-active .authBackdrop{place-items:start center !important;padding:0 !important;}
  body.auth-active .authShell{
    width:100% !important;
    height:auto !important;
    min-height:100dvh !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
    border:0 !important;
  }
  body.auth-active .authShell::before,
  body.auth-active .authShell::after{display:none !important;}
  body.auth-active .authIntro{
    min-height:310px !important;
    padding:20px 22px 22px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(121,83,41,.5) !important;
  }
  body.auth-active .authLogoImage{width:min(430px,88vw) !important;max-height:180px !important;}
  body.auth-active .authOnlineTag{height:28px !important;margin-top:-18px !important;font-size:11px !important;}
  body.auth-active .authIntro h1{font-size:31px !important;}
  body.auth-active .authIntro > p{margin-bottom:0 !important;font-size:13px !important;}
  body.auth-active .authFeatureList{display:none !important;}
  body.auth-active .authCard{min-height:500px !important;padding:30px 22px 38px !important;}
}

@media(max-height:720px) and (min-width:761px){
  body.auth-active .authShell{min-height:0 !important;height:calc(100dvh - 24px) !important;}
  body.auth-active .authBackdrop{padding:12px !important;}
  body.auth-active .authIntro{padding-top:20px !important;padding-bottom:18px !important;}
  body.auth-active .authLogoImage{max-height:210px !important;}
  body.auth-active .authOnlineTag{height:30px !important;margin-top:-19px !important;font-size:12px !important;}
  body.auth-active .authIntro h1{font-size:36px !important;}
  body.auth-active .authIntro > p{margin:10px 0 13px !important;font-size:13px !important;}
  body.auth-active .authFeatureList{padding-top:11px !important;}
  body.auth-active .authFeatureList .authFeatureIcon{width:44px !important;height:44px !important;font-size:20px !important;}
  body.auth-active .authCard{padding-top:24px !important;padding-bottom:20px !important;}
  body.auth-active .authTabs{margin-bottom:24px !important;}
  body.auth-active .authFormHeading{margin-bottom:20px !important;}
  body.auth-active .authInputWrap{height:48px !important;margin-bottom:13px !important;}
  body.auth-active .authInputWrap input{height:46px !important;}
  body.auth-active .authRemember{margin-bottom:12px !important;}
  body.auth-active .authSubmit{min-height:52px !important;}
  body.auth-active .authLegend{margin-top:12px !important;}
}

@media (max-width:430px){
  .authBackdrop{
    padding:0;
    background:#120b08;
  }

  .authShell{
    width:100%;
    min-height:100dvh;
    border:0;
    border-radius:0;
  }

  .authIntro{
    padding:26px 21px 22px;
  }

  .authEyebrow{
    margin-bottom:11px;
  }

  .authIntro h1{
    font-size:36px;
  }

  .authIntro > p{
    margin-top:13px;
    line-height:1.5;
  }

  .authCard{
    align-items:flex-start;
    padding:26px 20px 32px;
  }

  .authFormHeading h2{
    font-size:26px;
  }

  .authSessionBar{
    align-items:flex-start;
    flex-direction:column;
  }

  .authSessionBar button{
    width:100%;
  }
}

/* Nalvarym unified dark-green palette v506 */
body.auth-active #authScreen{
  background:#020705 !important;
}

body.auth-active .authBackdrop{
  background:
    radial-gradient(circle at 50% 42%,rgba(24,64,43,.18),transparent 40%),
    linear-gradient(90deg,rgba(1,8,5,.76),rgba(3,12,8,.84) 48%,rgba(2,9,6,.78)),
    url("../img/ui/auth/nalvarym_login_background_v1.png") center/cover no-repeat !important;
}

body.auth-active .authShell{
  background:#030a07 !important;
  box-shadow:
    0 30px 70px rgba(0,0,0,.88),
    0 0 0 4px rgba(2,7,5,.94),
    0 0 0 5px rgba(113,78,38,.48),
    inset 0 0 45px rgba(0,0,0,.72) !important;
}

body.auth-active .authShell::after{
  top:-19px;
  color:#88a85d;
  background:#07120c;
  box-shadow:inset 0 0 0 3px #020604,0 0 12px rgba(91,129,63,.42);
}

body.auth-active .authIntro{
  background:
    radial-gradient(circle at 50% 25%,rgba(43,78,52,.16),transparent 36%),
    linear-gradient(180deg,rgba(2,8,5,.72),rgba(1,6,4,.97)) !important;
}

body.auth-active .authLogoImage{
  transform:translateY(-21px);
  filter:drop-shadow(0 9px 14px #000) drop-shadow(0 0 14px rgba(70,102,49,.18));
}

body.auth-active .authOnlineTag span,
body.auth-active .authFormHeading h2 span,
body.auth-active .authLegend span{
  color:#789a52;
}

body.auth-active .authFeatureList .authFeatureIcon{
  background:radial-gradient(circle,#182418,#040806 72%) !important;
}

body.auth-active .authCard{
  background:
    radial-gradient(circle at 50% 24%,rgba(36,73,48,.15),transparent 36%),
    linear-gradient(180deg,rgba(5,15,10,.98),rgba(2,8,5,.99)) !important;
}

body.auth-active .authModeTab.active{
  border-color:#8e7138 !important;
  color:#eadcbf !important;
  background:linear-gradient(180deg,rgba(23,61,37,.96),rgba(7,28,17,.98)) !important;
  box-shadow:inset 0 0 14px rgba(98,141,77,.2),0 0 10px rgba(63,101,48,.23) !important;
}

body.auth-active .authInputWrap:focus-within{
  border-color:#8e7138;
  box-shadow:inset 0 2px 10px rgba(0,0,0,.68),0 0 0 2px rgba(89,119,63,.1),0 0 10px rgba(63,101,48,.2);
}

body.auth-active .authRemember input:checked + span::after{
  color:#7da259;
}

body.auth-active .authSubmit{
  border-color:#a47d38 !important;
  background:linear-gradient(180deg,#194b2b,#0b2d19 58%,#061b0f) !important;
  box-shadow:inset 0 0 0 3px #031007,inset 0 0 15px rgba(101,144,75,.22),0 4px 12px #000 !important;
}

@media (prefers-reduced-motion:reduce){
  .authSpinner{
    animation-duration:1.8s;
  }

  .authModeTab,
  .authForm input{
    transition:none;
  }
}
