/* LEGEND: Roads of Ashmere v0.9.x - Realm Portal title polish
   CSS-only visual layer. No save data, routing, or gameplay logic changes. */

.title-card,
.title-menu-panel,
.game-menu-btn{
  transform-style:preserve-3d;
}

.title-card:after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  pointer-events:none;
  border-radius:26px;
  background:
    linear-gradient(135deg,rgba(255,211,105,.10),transparent 28%,rgba(125,255,173,.045) 62%,transparent),
    radial-gradient(circle at 78% 16%,rgba(255,211,105,.10),transparent 24%);
  opacity:.75;
  mix-blend-mode:screen;
}

.title-menu-panel:before{
  content:"";
  position:absolute;
  inset:10px;
  z-index:0;
  pointer-events:none;
  border-radius:20px;
  border:1px solid rgba(255,211,105,.08);
  background:
    radial-gradient(circle at 50% 0%,rgba(255,211,105,.12),transparent 38%),
    linear-gradient(180deg,rgba(255,211,105,.035),transparent 42%);
  opacity:.85;
}

.title-menu-panel > *{
  position:relative;
  z-index:1;
}

.game-menu-btn{
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease,
    filter .16s ease;
}

.game-menu-btn:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent,rgba(255,211,105,.11),transparent),
    radial-gradient(circle at 12% 50%,rgba(255,211,105,.12),transparent 34%);
  opacity:0;
  transform:translateX(-18%);
  transition:opacity .18s ease,transform .18s ease;
}

.game-menu-btn:hover:before,
.game-menu-btn:focus-visible:before{
  opacity:1;
  transform:translateX(0);
}

.game-menu-btn:hover .game-menu-icon,
.game-menu-btn:focus-visible .game-menu-icon{
  border-color:rgba(255,211,105,.52);
  box-shadow:0 0 18px rgba(255,211,105,.14), inset 0 0 18px rgba(255,211,105,.06);
}

.game-menu-btn.primary{
  box-shadow:0 16px 34px rgba(120,76,20,.24), inset 0 1px 0 rgba(255,255,255,.28)!important;
}

.game-menu-btn.primary:hover,
.game-menu-btn.primary:focus-visible{
  filter:saturate(1.04) brightness(1.03);
  box-shadow:0 0 0 3px rgba(255,211,105,.16),0 20px 44px rgba(120,76,20,.32),inset 0 1px 0 rgba(255,255,255,.32)!important;
}

.game-menu-btn:active{
  transform:translateY(1px) scale(.992);
}

.title-status-card,
.title-feature-card,
.title-status-stat{
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.title-status-card:hover,
.title-feature-card:hover{
  border-color:rgba(255,211,105,.24);
  box-shadow:0 14px 36px rgba(0,0,0,.22),inset 0 0 24px rgba(255,211,105,.04);
}

/* Opening gate screen */
.title-gate-wrap{
  min-height:100svh;
  place-items:center;
  cursor:pointer;
}

.title-gate-wrap:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,211,105,.15),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.76)),
    var(--title-bg-image);
  background-size:cover;
  background-position:center;
  filter:saturate(.92) contrast(1.05);
}

.title-gate-card{
  position:relative;
  z-index:2;
  width:min(760px,calc(100% - 28px));
  min-height:520px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:12px;
  text-align:center;
  color:var(--legend-text);
  border:1px solid rgba(255,211,105,.30);
  border-radius:32px;
  background:linear-gradient(180deg,rgba(5,8,6,.72),rgba(0,0,0,.48));
  box-shadow:0 46px 110px rgba(0,0,0,.72),inset 0 0 70px rgba(255,211,105,.045);
  padding:clamp(24px,5vw,52px);
  overflow:hidden;
  backdrop-filter:blur(8px);
}

.title-gate-card:before{
  content:"";
  position:absolute;
  inset:14px;
  z-index:0;
  pointer-events:none;
  border:1px solid rgba(255,211,105,.12);
  border-radius:24px;
  background:radial-gradient(circle at 50% 18%,rgba(255,211,105,.11),transparent 34%);
}

.title-gate-card > *{
  position:relative;
  z-index:1;
}

.title-gate-emblem{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,211,105,.25);
  border-radius:28px;
  background:rgba(0,0,0,.30);
  box-shadow:0 18px 42px rgba(0,0,0,.46),inset 0 0 30px rgba(255,211,105,.05);
}

.title-gate-emblem img{
  width:72px;
  height:72px;
  object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.68));
}

.title-gate-kicker{
  margin:8px 0 0;
  color:var(--legend-gold);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.76rem;
  font-weight:1000;
}

.title-gate-copy{
  max-width:560px;
  margin:0;
  color:#dcebe1;
  line-height:1.55;
  font-size:1.05rem;
}

.title-gate-prompt{
  margin-top:18px;
  border:1px solid rgba(255,211,105,.42);
  border-radius:999px;
  background:rgba(255,211,105,.10);
  color:#fff2c2;
  padding:12px 18px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  animation:titlePromptPulse 1.9s ease-in-out infinite;
}

.title-gate-prompt:hover,
.title-gate-prompt:focus-visible{
  outline:none;
  border-color:rgba(255,211,105,.72);
  box-shadow:0 0 0 3px rgba(255,211,105,.12),0 0 28px rgba(255,211,105,.12);
}

.title-rumor{
  margin:12px 0 0;
  color:#c8d7ce;
  font-style:italic;
  line-height:1.45;
}

@keyframes titlePromptPulse{
  0%,100%{opacity:.72;transform:translateY(0)}
  50%{opacity:1;transform:translateY(-1px)}
}

.title-is-opening{
  pointer-events:none;
  animation:titleOpenFade .36s ease forwards;
}

.title-transition-notice{
  position:fixed;
  inset:auto 18px 26px;
  z-index:20;
  width:max-content;
  max-width:calc(100% - 36px);
  margin:auto;
  border:1px solid rgba(255,211,105,.34);
  border-radius:999px;
  background:rgba(3,6,4,.86);
  color:#fff2c2;
  box-shadow:0 18px 44px rgba(0,0,0,.45),inset 0 0 24px rgba(255,211,105,.04);
  padding:12px 18px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:1000;
}

@keyframes titleOpenFade{
  to{filter:brightness(.72);opacity:.72;transform:scale(.995)}
}

/* Account/Profile v0.9.x polish - keeps local traveler/profile logic untouched. */
.account09x{
  background:
    radial-gradient(circle at 16% 8%,rgba(255,211,105,.12),transparent 28%),
    radial-gradient(circle at 86% 82%,rgba(125,255,173,.075),transparent 34%),
    linear-gradient(180deg,#030604,#060907 52%,#020302)!important;
}

.account09x-hero:before{
  background:
    linear-gradient(90deg,rgba(2,4,3,.94),rgba(2,4,3,.50),rgba(2,4,3,.92)),
    url('../assets/title/title_bg_ashmere_road_v1.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
}

.account09x-hero,
.account09x-panel{
  isolation:isolate;
}

.account09x-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(12,19,14,.90),rgba(1,3,2,.46))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.34),inset 0 0 34px rgba(255,211,105,.035)!important;
}

.account09x-panel:before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  pointer-events:none;
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(255,211,105,.06),transparent 34%,rgba(125,255,173,.03)),
    repeating-linear-gradient(90deg,rgba(255,211,105,.018) 0 1px,transparent 1px 70px);
}

.account09x-panel > *{
  position:relative;
  z-index:1;
}

.account09x-stat,
.account09x-readiness div,
.account09x-slot{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.account09x-stat:hover,
.account09x-readiness div:hover{
  border-color:rgba(255,211,105,.24);
  box-shadow:inset 0 0 20px rgba(255,211,105,.035);
}

.account09x-field input{
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.account09x-field input:focus{
  background:rgba(0,0,0,.48)!important;
  box-shadow:0 0 0 3px rgba(255,211,105,.12),0 0 24px rgba(255,211,105,.08)!important;
}

.account09x-btn,
.account09x-slot{
  overflow:hidden;
  position:relative;
}

.account09x-btn{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}

.account09x-btn:hover:not(:disabled),
.account09x-btn:focus-visible:not(:disabled){
  outline:none;
  box-shadow:0 0 0 3px rgba(255,211,105,.10),0 14px 30px rgba(0,0,0,.24);
}

.account09x-btn.primary:hover,
.account09x-btn.primary:focus-visible{
  filter:saturate(1.04) brightness(1.03);
  box-shadow:0 0 0 3px rgba(255,211,105,.14),0 18px 36px rgba(120,76,20,.26)!important;
}

.account09x-btn:active:not(:disabled),
.account09x-slot:active:not(.account09x-disabled){
  transform:translateY(1px) scale(.992);
}

button.account09x-slot:hover:not(.account09x-disabled),
button.account09x-slot:focus-visible:not(.account09x-disabled){
  outline:none;
  border-color:rgba(255,211,105,.58);
  box-shadow:0 0 0 3px rgba(255,211,105,.10),0 14px 34px rgba(0,0,0,.24),inset 0 0 24px rgba(255,211,105,.035);
}

.account09x-success{
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 0 22px rgba(125,255,173,.04);
}

@media(max-width:620px){
  .title-gate-card{min-height:430px;border-radius:24px}
  .title-gate-prompt{font-size:.68rem;line-height:1.35}
}

@media(prefers-reduced-motion:reduce){
  .game-menu-btn,
  .game-menu-btn:before,
  .title-status-card,
  .title-feature-card,
  .title-status-stat,
  .account09x-stat,
  .account09x-readiness div,
  .account09x-slot,
  .account09x-field input,
  .account09x-btn{
    transition:none!important;
  }
  .title-gate-prompt,
  .title-is-opening{
    animation:none!important;
  }
}
