



.back-vid {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  transition: opacity 10s;
  pointer-events: none;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  background-color: black;
  overflow-y: hidden;
  overflow-x: hidden;
  z-index: -1;
}



#menu {
  opacity: 0;
  transition: opacity 1s;
}
#menu img {
  filter: drop-shadow(0 0 0.25rem black);
}
#menu p {
  text-shadow: 2px 2px 5px black;
}

.xmb-main {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 14%;
  margin-right: 0;
  color: #dadada;
  transition: margin-right 300ms, transform 300ms;
  z-index: -2;
}

.xmb-title {
  position: relative;
  flex: 0 0 auto;
  transition: transform 280ms ease, scale 300ms;
  z-index: 2;
}
.xmb-title img {
  transition: scale 200ms;
}
.xmb-title .titletext {
  margin-top: -2px;
  font-size: 18px;
}

.xmb-main > .xmb-title.xmb-column[data-section="about"] {
}
.xmb-main > .xmb-title.xmb-column[data-section="about"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .xmb-contents {
  opacity: 1;
}
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .titletext {
  margin-top: -10px;
}

.xmb-main > .xmb-title.xmb-column[data-section="education"] {
  margin-left: 80px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .titletext {
  margin-top: -2px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"].active {
  transition: all 300ms ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"].active .xmb-contents {
  opacity: 1;
}

.xmb-main > .xmb-title.xmb-column[data-section="research"] {
  margin-left: 38px;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"].active {
  margin-left: 30px;
  transition: all 300ms ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"].active .xmb-contents {
  opacity: 1;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"].active .xmb-contents {
  margin-right: 54px;
}

.xmb-main > .xmb-title.xmb-column[data-section="experience"] {
  margin-left: 65px;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active {
  margin-left: 60px;
  transition: all 300ms ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active .xmb-contents {
  opacity: 1;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active .xmb-contents {
  margin-right: 24px;
}

.xmb-main > .xmb-title.xmb-column[data-section="projects"] {
  margin-left: 55px;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"].active {
  transition: all 300ms ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"].active .xmb-contents {
  opacity: 1;
}

.xmb-main > .xmb-title.xmb-column[data-section="contacts"] {
  margin-left: 18px;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] img {
  scale: 0.8;
  opacity: 0.6;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .titletext {
  display: none;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .xmb-contents {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .abimg {
  margin-left: 0px;
  scale: 1.1;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] #about {
  position: absolute;
  margin-left: 220px !important;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .twoimg {
  margin-left: 10px;
  scale: 1.1;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] #twotext {
  position: absolute;
  margin-left: 225px !important;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active {
  margin-left: 20px;
  transition: all 300ms ease-in-out;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active img {
  scale: 1;
  opacity: 0.85;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active .titletext {
  display: inherit;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active .xmb-contents {
  opacity: 1;
}









.xmb-contents {
  position: absolute;
  top: calc(100% - 6px);
  left: 0;
  width: max-content;
  transition: opacity 300ms ease-in-out;
}
.xmb-contents p {
  font-size: 1.2rem;
}
.xmb-contents .submenu {
  display: flex;
  align-items: center;
  transition: all 250ms ease, opacity 200ms ease;
  font-size: 1.3rem;
}
.xmb-contents .submenu.one {
  margin-left: 5px;
  margin-top: 50px;
  transition: all 250ms ease, opacity 200ms ease;
}
.xmb-contents .submenu.one #about {
  position: absolute;
  margin-left: 115px;
  -webkit-animation: glow 1s ease-in-out infinite alternate;
          animation: glow 1s ease-in-out infinite alternate;
  animation: glow 1s ease-in-out infinite alternate;
  font-size: 1.5rem;
}
@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 1px #d3d3d3, 0 0 2px #acacac, 0 0 2px #b1afaf, 0 0 5px #9b9b9b;
  }
  to {
    text-shadow: 0 0 5px #dfdfdf, 0 0 8px #c9c9c9, 0 0 15px #b6b6b4, 0 0 20px #b9b9b9;
  }
}
@keyframes glow {
  from {
    text-shadow: 0 0 1px #d3d3d3, 0 0 2px #acacac, 0 0 2px #b1afaf, 0 0 5px #9b9b9b;
  }
  to {
    text-shadow: 0 0 5px #dfdfdf, 0 0 8px #c9c9c9, 0 0 15px #b6b6b4, 0 0 20px #b9b9b9;
  }
}
.xmb-contents .submenu.one img {
  z-index: 2;
}
.xmb-contents .submenu.one.inactive {
  margin-top: -250px;
  margin-bottom: 0px;
  margin-top: -270px;
  transition: all 250ms ease, opacity 200ms ease;
}
.xmb-contents .submenu.one.inactive .subtext {
  opacity: 0;
}
.xmb-contents .submenu.one.inactive 
.xmb-contents .submenu.one.inactive #about {
  -webkit-animation: none;
          animation: none;
}
.xmb-contents .submenu.one.inactive img {
  transition: scale 300ms;
  scale: 0.7;
}
.xmb-contents .submenu.two {
  transition: all 250ms ease, opacity 200ms ease;
}
.xmb-contents .submenu.two #twotext {
  font-size: 1.5rem;
  position: absolute;
  margin-left: 120px;
}
.xmb-contents .submenu.two img {
  scale: 0.7;
}
.xmb-contents .submenu.two.active {
  margin-top: 200px;
}
.xmb-contents .submenu.two.active #twotext {
  -webkit-animation: glow 1s ease-in-out infinite alternate;
          animation: glow 1s ease-in-out infinite alternate;
}
@keyframes glow {
  from {
    text-shadow: 0 0 1px #d3d3d3, 0 0 2px #acacac, 0 0 2px #b1afaf, 0 0 5px #9b9b9b;
  }
  to {
    text-shadow: 0 0 5px #dfdfdf, 0 0 8px #c9c9c9, 0 0 15px #b6b6b4, 0 0 20px #b9b9b9;
  }
}
.xmb-contents .submenu.two.active img {
  transition: scale 100ms ease-in-out;
  scale: 1;
}

.xmb-main > .xmb-title.xmb-column[data-section="about"].active .xmb-contents .submenu.one.active 
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .xmb-contents .submenu.one.inactive 

.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one {
  margin-top: 50px;
  margin-bottom: 20px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one #about {
  position: absolute;
  margin-left: 10px;
  margin-top: -20px;
  font-size: 1.5rem;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one .subtext {
  position: absolute;
  margin-left: 10px;
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 0.3px;
  color: #dadada;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one.inactive {
  margin-top: -250px;
  margin-bottom: 0px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one.inactive .subtext {
  opacity: 0;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one.inactive.gotop {
  margin-top: -350px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two #disptext {
  position: absolute;
  margin-left: 10px;
  margin-top: -20px;
  font-size: 1.5rem;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two .subtext {
  position: absolute;
  margin-left: 10px;
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 0.3px;
  color: #dadada;
  opacity: 0;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two.active {
  margin-top: 180px;
  padding-bottom: 30px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two.active #disptext {
  -webkit-animation: glow 1s ease-in-out infinite alternate;
          animation: glow 1s ease-in-out infinite alternate;
}
@keyframes glow {
  from {
    text-shadow: 0 0 1px #d3d3d3, 0 0 2px #acacac, 0 0 2px #b1afaf, 0 0 5px #9b9b9b;
  }
  to {
    text-shadow: 0 0 5px #dfdfdf, 0 0 8px #c9c9c9, 0 0 15px #b6b6b4, 0 0 20px #b9b9b9;
  }
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two.active .subtext {
  opacity: 1;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three {
  margin-top: -10px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three .subtext {
  opacity: 0;
  position: absolute;
  margin-left: 10px;
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 0.3px;
  color: #dadada;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three #systext {
  position: absolute;
  margin-left: 10px;
  margin-top: -20px;
  font-size: 1.5rem;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three img {
  scale: 0.7;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three.active {
  margin-top: 190px;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three.active img {
  scale: 1;
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three.active #systext {
  -webkit-animation: glow 1s ease-in-out infinite alternate;
          animation: glow 1s ease-in-out infinite alternate;
}
@keyframes glow {
  from {
    text-shadow: 0 0 1px #d3d3d3, 0 0 2px #acacac, 0 0 2px #b1afaf, 0 0 5px #9b9b9b;
  }
  to {
    text-shadow: 0 0 5px #dfdfdf, 0 0 8px #c9c9c9, 0 0 15px #b6b6b4, 0 0 20px #b9b9b9;
  }
}
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three.active .subtext {
  opacity: 1;
}

.xmb-main > .xmb-title.xmb-column[data-section="research"] .xmb-contents {
  margin-right: 25px !important;
}
.xmb-main > .xmb-title.xmb-column[data-section="research"] .xmb-contents .submenu.one {
  margin-left: 10px;
  padding-bottom: 20px;
}

.xmb-main > .xmb-title.xmb-column[data-section="experience"] .xmb-contents {
  margin-top: 15px;
  margin-left: 40px;
}
.xmb-main > .xmb-title.xmb-column[data-section="experience"] .xmb-contents .submenu.one {
  padding-bottom: 20px;
}

.xmb-main > .xmb-title.xmb-column[data-section="projects"] .xmb-contents {
  margin-left: 10px;
}
.xmb-main > .xmb-title.xmb-column[data-section="projects"] .xmb-contents .submenu.one {
  padding-bottom: 20px;
}

.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .xmb-contents {
  margin-top: 70px;
  margin-left: 10px;
  margin-right: 0 !important;
}
.xmb-main > .xmb-title.xmb-column[data-section="contacts"] .xmb-contents .submenu.one {
  padding-bottom: 20px;
}


/* Portfolio customizations */
body {
  opacity: 0;
  transition: opacity 450ms ease-in;
}

body.app-ready {
  opacity: 1;
}

.back-vid,
#menu {
  transition-duration: 450ms;
}

.xmb-contents .submenu {
  cursor: pointer;
}

/* Requested refinements: wider open section + 3 info levels */
.xmb-title.active .xmb-contents {
  margin-left: 28px !important;
  min-width: 520px;
}

.xmb-title.active .xmb-contents .context {
  min-width: 430px;
}

.xmb-contents .context .subtext {
  margin-top: 6px;
  font-size: 0.95rem !important;
  line-height: 1.2;
}

.xmb-contents .context .subtext2 {
  margin-top: 4px;
  font-size: 0.78rem !important;
  opacity: 0.9;
  line-height: 1.2;
}

.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu .context .subtext {
  position: absolute;
  margin-left: 10px;
  margin-top: 10px;
}

.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu .context .subtext2 {
  position: absolute;
  margin-left: 10px;
  margin-top: 28px;
  opacity: 0;
}

.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.two.active .context .subtext2,
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.three.active .context .subtext2,
.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one .context .subtext2 {
  opacity: 1;
}

.xmb-main > .xmb-title.xmb-column[data-section="education"] .xmb-contents .submenu.one.inactive .context .subtext2 {
  opacity: 0;
}

/* Fix title/subtext stacking and section horizontal alignment */
.xmb-title.active .xmb-contents {
  margin-left: 0 !important;
  transform: translateX(-26px);
  min-width: 500px;
}

.xmb-contents .submenu .context {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.xmb-contents .submenu .context .item-title,
.xmb-contents .submenu .context .subtext,
.xmb-contents .submenu .context .subtext2 {
  position: static !important;
  margin: 0 !important;
  text-align: left;
  line-height: 1.2;
}

.xmb-contents .submenu .context .item-title {
  font-size: 1.35rem;
  animation: none;
}

.xmb-contents .submenu.active .context .item-title {
  animation: glow 1s ease-in-out infinite alternate;
}

.xmb-contents .submenu .context .subtext {
  font-size: 0.95rem !important;
}

.xmb-contents .submenu .context .subtext2 {
  font-size: 0.78rem !important;
  opacity: 0.85;
}

/* Final alignment/glow fixes requested */
.xmb-title.active .xmb-contents {
  margin-left: 0 !important;
  transform: none !important;
  min-width: 460px;
}

.xmb-title.active .xmb-contents .submenu {
  margin-left: 0 !important;
}

.xmb-title.active .xmb-contents .submenu img {
  margin-left: 0 !important;
}

.xmb-title.active .xmb-contents .submenu .context {
  margin-left: 12px;
}

.xmb-contents .submenu .context .item-title {
  text-shadow: 0 0 2px #d6d6d6, 0 0 4px #bfbfbf, 0 0 8px #9f9f9f;
}

.xmb-contents .submenu.active .context .item-title {
  animation: glow 1s ease-in-out infinite alternate !important;
}

/* Left-edge visibility + left-anchored text block refinement */
.xmb-title.active .xmb-contents {
  min-width: 360px !important;
}

.xmb-title.active .xmb-contents .context {
  min-width: 0 !important;
  max-width: 520px;
  text-align: left;
  align-items: flex-start;
}

/* Final requested nudge: move leftmost section and items to the right */
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .xmb-contents {
  margin-left: 14px !important;
}

.xmb-title.active .xmb-contents .submenu {
  margin-left: 12px !important;
}

.xmb-title.active .xmb-contents .submenu .context {
  margin-left: 18px !important;
}

/* Requested final alignment: shift about area right + align item icons under section icons */
.xmb-title.active .xmb-contents .submenu {
  margin-left: 112px !important;
}

.xmb-title.active .xmb-contents .submenu .context {
  margin-left: 16px !important;
}

/* Requested update: hide subtext2 unless selected */
.xmb-contents .submenu .context .subtext2 {
  opacity: 0 !important;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
}

.xmb-contents .submenu.active .context .subtext2 {
  opacity: 0.85 !important;
  visibility: visible;
  max-height: 80px;
}


/* Widen text boxes to use the available horizontal space */
.xmb-title.active .xmb-contents .submenu .context {
  min-width: 420px;
  max-width: 560px !important;
}

/* Fix: force visible wider text box on selected item */
.xmb-title.active .xmb-contents .submenu.active .context {
  width: min(560px, 52vw) !important;
  min-width: 420px !important;
}

/* Alignment stabilization: prevent old per-section offsets from pulling active content left */
.xmb-title.active .xmb-contents {
  margin-right: 0 !important;
}

.xmb-main > .xmb-title.xmb-column[data-section="research"].active .xmb-contents,
.xmb-main > .xmb-title.xmb-column[data-section="experience"].active .xmb-contents,
.xmb-main > .xmb-title.xmb-column[data-section="projects"].active .xmb-contents,
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active .xmb-contents,
.xmb-main > .xmb-title.xmb-column[data-section="education"].active .xmb-contents,
.xmb-main > .xmb-title.xmb-column[data-section="about"].active .xmb-contents {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.xmb-title.active .xmb-contents .submenu {
  margin-left: 112px !important;
}

.xmb-title.active .xmb-contents .submenu .context {
  margin-left: 16px !important;
}


/* Final layout model: icon column aligned to selected section + wide content block */
.xmb-title.active .xmb-contents {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.xmb-title.active .xmb-contents .submenu {
  display: grid;
  grid-template-columns: 96px minmax(520px, 720px);
  column-gap: 18px;
  align-items: start;
  margin-left: 0 !important;
}

.xmb-title.active .xmb-contents .submenu img {
  width: 96px;
  height: auto;
  margin-left: 0 !important;
}

.xmb-title.active .xmb-contents .submenu .context {
  width: 100% !important;
  min-width: 520px !important;
  max-width: 720px !important;
  margin-left: 0 !important;
}

/* Runtime left-edge lock: submenu icon column snaps to selected section icon left edge */
.xmb-title.active .xmb-contents .submenu {
  transform: translateX(var(--submenu-align-shift, 0px));
}

/* 2026 UX polish fixes */
@keyframes subtleGlow {
  from {
    text-shadow: 0 0 1px rgba(224, 224, 224, 0.5), 0 0 4px rgba(180, 180, 180, 0.35);
  }
  to {
    text-shadow: 0 0 2px rgba(236, 236, 236, 0.65), 0 0 7px rgba(188, 188, 188, 0.45);
  }
}

.xmb-title.active .titletext,
.xmb-contents .submenu.active .context .item-title {
  animation: subtleGlow 1.25s ease-in-out infinite alternate !important;
}

/* Prevent submenu rows from collapsing upward and overlapping section icon */
.xmb-title.active .xmb-contents {
  margin-top: 44px !important;
}

.xmb-title.active .xmb-contents .submenu,
.xmb-title.active .xmb-contents .submenu.one,
.xmb-title.active .xmb-contents .submenu.two,
.xmb-title.active .xmb-contents .submenu.three,
.xmb-title.active .xmb-contents .submenu.four,
.xmb-title.active .xmb-contents .submenu.five {
  margin-top: 0 !important;
  padding-bottom: 14px;
}

.xmb-title.active .xmb-contents .submenu.inactive {
  margin-top: 0 !important;
  opacity: 0.58;
}

/* Contacts image-size normalization: override legacy .abimg/.submenu.two scaling */
.xmb-main > .xmb-title.xmb-column[data-section="contacts"].active .xmb-contents .submenu img {
  scale: 1 !important;
  width: 96px !important;
  height: auto;
}

/* Feature pack: menu vertical position + enterable UX + anchor coherence + PS3 helper banner */
.xmb-main {
  margin-top: 7% !important;
}

.xmb-contents a {
  color: #cfe6ff;
  text-decoration: none;
  border-bottom: 1px solid rgba(207, 230, 255, 0.35);
  transition: color 180ms ease, border-color 180ms ease, text-shadow 180ms ease;
}

.xmb-contents a:hover,
.xmb-contents a:focus-visible {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.85);
  text-shadow: 0 0 4px rgba(215, 235, 255, 0.9);
  outline: none;
}

.xmb-contents .submenu .context .item-title {
  color: #d9e1ea;
}

.xmb-contents .submenu.enterable .context .item-title::after {
  content: "  ⏎";
  font-size: 0.72em;
  opacity: 0.55;
  letter-spacing: 0.02em;
}

.xmb-contents .submenu.active .context .item-title {
  color: #f3fbff !important;
  text-shadow: 0 0 3px rgba(170, 215, 255, 0.95), 0 0 9px rgba(125, 193, 255, 0.75) !important;
}

.xmb-contents .submenu.enterable.active .context .item-title {
  color: #f3fbff !important;
}

.xmb-contents .submenu.enterable.active .context .item-title::after {
  opacity: 0.9;
}

.xmb-help-banner {
  position: fixed;
  right: 26px;
  bottom: 22px;
  z-index: 20;
  color: #e5f2ff;
  font-size: 0.92rem;
  letter-spacing: 0.03em;
  padding: 9px 14px;
  border: 1px solid rgba(198, 225, 255, 0.5);
  border-radius: 9px;
  background: linear-gradient(120deg, rgba(20, 55, 108, 0.5), rgba(9, 23, 58, 0.68));
  box-shadow: 0 0 10px rgba(51, 140, 224, 0.45), inset 0 0 12px rgba(173, 218, 255, 0.15);
  backdrop-filter: blur(3px);
}

.xmb-help-banner .hint-keys {
  color: #ffffff;
  text-shadow: 0 0 6px rgba(204, 231, 255, 0.9);
  font-weight: 700;
}

.xmb-help-banner .hint-sep {
  opacity: 0.55;
  margin: 0 8px;
}
/* Mobile UX: joystick controls + tighter layout while preserving desktop */
.mobile-joystick {
  display: none;
}

@media (max-width: 900px), (pointer: coarse) {
  body {
    min-height: 100dvh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .back-vid {
    height: 100dvh;
    min-height: 100dvh;
  }

  .xmb-help-banner {
    display: none;
  }

  #menu {
    min-height: 100dvh;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 180px);
  }

  .xmb-main {
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: max(84px, calc(env(safe-area-inset-top, 0px) + 64px)) !important;
    padding-left: 8px;
  }

  .xmb-title {
    min-width: 68px;
  }

  .xmb-title > img {
    max-width: 62px;
    height: auto;
  }

  .xmb-title .titletext {
    font-size: 0.68rem;
    margin-top: 8px;
  }

  .xmb-title.active .xmb-contents {
    min-width: 0 !important;
    width: min(calc(100vw - 164px), 142px);
    margin-top: 16px !important;
  }

  .xmb-title.active .xmb-contents .submenu {
    transform: none !important;
    grid-template-columns: 34px minmax(0, 1fr);
    column-gap: 7px;
    width: 100%;
    max-width: min(calc(100vw - 164px), 142px);
    padding-bottom: 8px;
  }

  .xmb-title.active .xmb-contents .submenu img,
  .xmb-main > .xmb-title.xmb-column[data-section="contacts"].active .xmb-contents .submenu img {
    width: 34px !important;
  }

  .xmb-title.active .xmb-contents .submenu .context {
    min-width: 0 !important;
    width: min(100%, 96px) !important;
    max-width: min(100%, 96px) !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .xmb-contents .submenu .context .item-title {
    font-size: 0.72rem;
    line-height: 1.12;
  }

  .xmb-contents .submenu .context .subtext {
    font-size: 0.56rem !important;
    line-height: 1.16;
  }

  .xmb-contents .submenu .context .subtext2 {
    font-size: 0.52rem !important;
    line-height: 1.14;
  }

  .mobile-joystick {
    position: fixed;
    right: 10px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 56px);
    width: 110px;
    height: 110px;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 5px;
    padding: 7px;
    border-radius: 18px;
    border: 1px solid rgba(206, 231, 255, 0.4);
    background: rgba(8, 22, 54, 0.6);
    backdrop-filter: blur(5px);
    box-shadow: 0 0 12px rgba(104, 175, 255, 0.35);
  }

  .joy-btn {
    appearance: none;
    border: 0;
    border-radius: 9px;
    background: rgba(208, 230, 255, 0.16);
    color: #f5fbff;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 0 5px rgba(200, 230, 255, 0.75);
    touch-action: manipulation;
  }

  .joy-btn:active {
    background: rgba(208, 230, 255, 0.35);
    transform: scale(0.96);
  }

  .joy-up {
    grid-column: 2;
    grid-row: 1;
  }

  .joy-left {
    grid-column: 1;
    grid-row: 2;
  }

  .joy-center {
    grid-column: 2;
    grid-row: 2;
  }

  .joy-right {
    grid-column: 3;
    grid-row: 2;
  }

  .joy-down {
    grid-column: 2;
    grid-row: 3;
  }
}
