/* GÀ VÀNG: wooden two-row navigation. Row 2 emerges BELOW row 1. */
:root {
  --gv2-primary-height: 76px;
  --gv2-secondary-height: 70px;
}
#gvMenuStack,
#gvMenuStack * { box-sizing: border-box; }
html body #gvMenuStack {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: calc(-1 * var(--gv2-secondary-height)) !important;
  z-index: 100051 !important;
  transform: translateX(-50%) !important;
  width: min(100%, 510px) !important;
  max-width: 510px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  transition: bottom .4s cubic-bezier(.22,.8,.18,1) !important;
}
html body.gv-menu-2-open #gvMenuStack { bottom: 0 !important; }

/* Keep the six original buttons and their existing navigation handlers. */
html body #gvMenuStack nav.bottom-nav {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 2px !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--gv2-primary-height) !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 6px 7px 7px !important;
  background: repeating-linear-gradient(175deg, #dfaf6910 0 5px, transparent 5px 18px),
              linear-gradient(180deg,#86502d,#482819 80%) !important;
  border: none !important;
  border-top: 3px ridge #dbac68 !important;
  border-radius: 14px 14px 0 0 !important;
  box-shadow: inset 0 2px #b57b42, 0 -4px 10px #001b1294 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
  z-index: auto !important;
}
html body #gvMenuStack nav.bottom-nav .nav-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 1px !important;
  padding: 4px 1px !important;
  border: 1px solid #986035 !important;
  border-radius: 11px !important;
  background: linear-gradient(#724020,#452415) !important;
  box-shadow: inset 0 1px #ce945d88 !important;
  color: #ffeed3 !important;
  filter: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
html body #gvMenuStack nav.bottom-nav .nav-btn.selected {
  background: linear-gradient(#287b3e,#0c492b) !important;
  border: 2px solid #f4e95a !important;
  box-shadow: inset 0 1px #ddff9c,0 0 9px 2px #f6ec56b8 !important;
  color: #fff9d4 !important;
}
html body #gvMenuStack nav.bottom-nav .nav-btn > span {
  display: block !important;
  visibility: visible !important;
  color: inherit !important;
  font-size: clamp(16px,5vw,23px) !important;
  line-height: 1.07 !important;
}
html body #gvMenuStack nav.bottom-nav .nav-btn > small {
  display: block !important;
  visibility: visible !important;
  color: inherit !important;
  font-size: clamp(8px,2.25vw,10px) !important;
  font-weight: 900 !important;
  line-height: 1.14 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* Second row uses the same wood tiles, beneath the first row. */
html body #gvMenuStack .gvfd-subnav {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 4px !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--gv2-secondary-height) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 9px calc(7px + env(safe-area-inset-bottom,0px)) !important;
  background: repeating-linear-gradient(175deg,#dfaf6910 0 5px,transparent 5px 18px),
              linear-gradient(180deg,#734122,#432716) !important;
  border: 0 !important;
  border-top: 1px solid #b57b42 !important;
  border-radius: 0 0 13px 13px !important;
  box-shadow: inset 0 -2px #271609,0 -2px 5px #0004 !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: hidden !important;
  transition: none !important;
  z-index: auto !important;
  pointer-events: none !important;
}
html body.gv-menu-2-open #gvMenuStack .gvfd-subnav { pointer-events: auto !important; }
html body #gvMenuStack .gvfd-mini-btn {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 3px !important;
  margin: 0 !important;
  background: linear-gradient(#724020,#452415) !important;
  color: #ffeed3 !important;
  border: 1px solid #986035 !important;
  border-radius: 11px !important;
  box-shadow: inset 0 1px #ce945d88 !important;
  cursor: pointer !important;
  font: inherit !important;
  -webkit-tap-highlight-color: transparent;
}
html body #gvMenuStack .gvfd-mini-btn .gv2-icon {
  display: block !important;
  color: inherit !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
}
html body #gvMenuStack .gvfd-mini-btn .gv2-label {
  display: block !important;
  color: inherit !important;
  font-size: clamp(10px,2.5vw,11px) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  text-align: center !important;
}
html body #gvMenuStack .gvfd-mini-btn.gvfd-current {
  background: linear-gradient(#287b3e,#0c492b) !important;
  border: 2px solid #f4e95a !important;
  box-shadow: inset 0 1px #ddff9c,0 0 8px #f6ec5688 !important;
}
html body #gvMenuStack .gvfd-mini-btn:focus-visible,
html body #gvMenuStack .nav-btn:focus-visible,
html body #gvMenuStack #gvfdToggle:focus-visible {
  outline: 2px solid #fff18b !important;
  outline-offset: -2px !important;
}

/* Center chevron follows the WHOLE menu as it slides upward. */
html body #gvMenuStack #gvfdToggle {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: -23px !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 25px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: linear-gradient(180deg,#80502e,#522f1b) !important;
  border: 2px solid #c49357 !important;
  border-bottom: 0 !important;
  border-radius: 13px 13px 0 0 !important;
  box-shadow: 0 -3px 8px #0005,inset 0 1px #e9c28f77 !important;
  color: #ffe8ae !important;
  cursor: pointer !important;
  z-index: 3 !important;
  transition: none !important;
}
html body #gvMenuStack #gvfdToggle .gvfd-chevron {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(225deg) !important;
  margin-top: 4px !important;
  transition: transform .25s ease,margin .25s ease !important;
}
html body.gv-menu-2-open #gvMenuStack #gvfdToggle .gvfd-chevron {
  transform: rotate(45deg) !important;
  margin-top: -4px !important;
}

/* Reserve enough scroll space when expanded, except full-screen chat. */
html body:not(.gv-room-focus) #app-shell {
  padding-bottom: calc(104px + env(safe-area-inset-bottom,0px)) !important;
}
html body.gv-menu-2-open:not(.gv-room-focus) #app-shell {
  padding-bottom: calc(188px + env(safe-area-inset-bottom,0px)) !important;
}
html body.gv-room-focus #gvMenuStack { display: none !important; }

@media(max-width:365px){
  html body #gvMenuStack nav.bottom-nav {padding-left:3px!important;padding-right:3px!important;gap:0!important;}
  html body #gvMenuStack nav.bottom-nav .nav-btn {margin:0!important;padding:3px 0!important;}
  html body #gvMenuStack .gvfd-subnav {padding-left:5px!important;padding-right:5px!important;}
}
@media(prefers-reduced-motion:reduce){
  html body #gvMenuStack {transition:none!important;}
  html body #gvMenuStack #gvfdToggle .gvfd-chevron {transition:none!important;}
}
/* Avoid a flash of bare submenu markup before JavaScript builds the stack. */
html body:not(.gv-menu-2-ready) > #gvfdSubnav,
html body:not(.gv-menu-2-ready) > #gvfdToggle {display:none!important;}

/* GV_MENU_MATCH_TOP_START */
/* 12-column grid: every secondary tile spans two units, exactly 1/6 of the row.
   Three items are centered with three empty units on either side. */
html body #gvMenuStack .gvfd-subnav {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 2px !important;
  width: 100% !important;
  height: var(--gv2-primary-height) !important;
  padding: 8px 7px 7px !important;
  background: repeating-linear-gradient(175deg,#dfaf6910 0 5px, transparent 5px 18px),
              linear-gradient(180deg,#86502d,#482819 80%) !important;
  border-top: 1px solid #a87540 !important;
  border-radius: 0 0 14px 14px !important;
}
html body #gvMenuStack .gvfd-subnav > .gvfd-mini-btn {
  grid-column: span 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 1px !important;
  padding: 4px 1px !important;
  border: 1px solid #986035 !important;
  border-radius: 11px !important;
  background: linear-gradient(#724020,#452415) !important;
  box-shadow: inset 0 1px #ce945d88 !important;
  color: #ffeed3 !important;
}
html body #gvMenuStack .gvfd-subnav > .gvfd-mini-btn:first-child {
  grid-column: 4 / span 2 !important;
}
html body #gvMenuStack .gvfd-mini-btn .gv2-icon {
  font-size: clamp(16px, 5vw, 23px) !important;
  line-height: 1.07 !important;
}
html body #gvMenuStack .gvfd-mini-btn .gv2-label {
  font-size: clamp(8px, 2.25vw, 10px) !important;
  font-weight: 900 !important;
  line-height: 1.14 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}
html body #gvMenuStack .gvfd-mini-btn.gvfd-current {
  background: linear-gradient(#287b3e,#0c492b) !important;
  border: 2px solid #f4e95a !important;
  box-shadow: inset 0 1px #ddff9c, 0 0 9px 2px #f6ec56b8 !important;
}
@media(max-width:365px) {
  html body #gvMenuStack .gvfd-subnav {
    padding-left: 3px !important;
    padding-right: 3px !important;
    gap: 0 !important;
  }
  html body #gvMenuStack .gvfd-subnav > .gvfd-mini-btn {
    margin: 0 !important;
    padding: 3px 0 !important;
  }
}
/* GV_MENU_MATCH_TOP_END */

