/* FaithWords v29 — tighter HUD + crisp menu and hint typography */

#themePrompt{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* Pull the gameplay HUD closer to the FaithWords title line. */
.topbar{
  min-height:48px!important;
  padding-top:2px!important;
  padding-bottom:0!important;
}
.game-card{
  margin-top:-5px!important;
}

/* Keep the opened menu in front of every gameplay layer. */
.app-shell:has(#audioMenu.open){
  position:relative!important;
  z-index:2147482998!important;
  overflow:visible!important;
}
.topbar:has(#audioMenu.open){
  position:relative!important;
  z-index:2147483000!important;
  overflow:visible!important;
  isolation:isolate;
}
#audioMenu.open{
  z-index:2147483001!important;
  transform:none!important;
}

.scene{
  position:relative!important;
  z-index:10!important;
  height:88px!important;
  min-height:88px!important;
  flex:0 0 88px!important;
  overflow:visible!important;
  pointer-events:auto!important;
}

.scene-copy{
  position:absolute!important;
  inset:0!important;
  max-width:none!important;
  padding:0!important;
  display:block!important;
  pointer-events:none!important;
}

/* HARD sits clearly below the gameplay line, larger and unobstructed. */
.scene-copy #hardBadge{
  position:absolute!important;
  left:12px!important;
  right:auto!important;
  top:55px!important;
  z-index:13!important;
  margin:0!important;
  padding:6px 11px 7px!important;
  border-width:2px!important;
  border-radius:999px!important;
  font-size:.86rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
  animation:hardPulse 1.35s ease-in-out infinite!important;
}
#hardBadge[hidden]{display:none!important;}

/* Clean board line: LEVEL → WORD PROGRESS → HINT. */
.scene>.puzzle-toolbar{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  top:0!important;
  z-index:14!important;
  width:auto!important;
  min-width:0!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:max-content max-content max-content!important;
  align-items:center!important;
  justify-content:space-between!important;
  column-gap:12px!important;
  pointer-events:auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.scene>.puzzle-toolbar>*{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  flex:none!important;
}

/* LEVEL is plain typography directly on the scenery. */
.scene>.puzzle-toolbar .level-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
  font-size:.88rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 6px rgba(24,31,32,.78)!important;
}

/* Word progress is also plain typography — no bubble. */
.scene>.puzzle-toolbar #wordProgress{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
  font-size:.82rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 6px rgba(24,31,32,.78)!important;
}

/* Hint remains the one intentional bubble on this row, but without blur. */
.scene>.puzzle-toolbar #hintButton{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 13px!important;
  border:1px solid rgba(176,145,89,.28)!important;
  border-radius:999px!important;
  background:#fffdf9!important;
  color:#5c4b3f!important;
  box-shadow:0 4px 12px rgba(30,42,43,.14)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  text-shadow:none!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  white-space:nowrap!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.scene>.puzzle-toolbar #hintCostLabel{
  display:inline!important;
  margin-left:2px!important;
  color:#6b543d!important;
  text-shadow:none!important;
}

/* Levels is now the first action inside the hamburger menu. */
.menu-levels-button{
  width:100%;
  min-height:50px;
  margin:0 0 10px;
  padding:0 14px;
  border:1px solid rgba(68,58,53,.12);
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f3eadc;
  color:#4d433d;
  box-shadow:0 3px 9px rgba(60,50,45,.07);
  font:inherit;
  font-size:.9rem;
  font-weight:950;
  cursor:pointer;
  text-shadow:none!important;
  -webkit-tap-highlight-color:transparent;
}
.menu-levels-button::after{
  content:"›";
  font-size:1.35rem;
  line-height:1;
  color:#765f50;
}
.menu-levels-button:active{transform:scale(.985);}
.menu-levels-button:focus-visible{outline:3px solid rgba(110,79,104,.26);outline-offset:2px;}

/* Crisp top Hint Points pill: solid surface, no inherited shadow/blur. */
.bonus-pill{
  background:#fffdf9!important;
  border:1px solid rgba(176,145,89,.24)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  text-shadow:none!important;
  box-shadow:0 4px 13px rgba(25,35,35,.14)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.bonus-pill span{
  color:#80602d!important;
  font-weight:950!important;
  text-shadow:none!important;
}
.bonus-pill strong{
  color:#5f4727!important;
  font-weight:950!important;
  text-shadow:none!important;
}
.bonus-pill *{
  filter:none!important;
  text-shadow:none!important;
}

/* The menu is intentionally opaque so Android does not composite its text through a blur layer. */
#audioMenu{
  background:#fffdf9!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  text-shadow:none!important;
  border-color:rgba(68,58,53,.13)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#audioMenu *,
#audioMenu button,
#audioMenu a,
#audioMenu label{
  text-shadow:none!important;
  filter:none!important;
}
#audioMenu strong{
  color:#463c37!important;
  font-weight:900!important;
}
#audioMenu .audio-row-copy span,
#audioMenu .account-copy span,
#audioMenu .menu-credit{
  color:#746862!important;
}
#audioMenu .faithwords-menu-links a{
  color:#4d433d!important;
  font-weight:850!important;
}

@media(max-width:390px){
  .topbar{min-height:46px!important;}
  .game-card{margin-top:-6px!important;}
  .scene>.puzzle-toolbar{left:10px!important;right:10px!important;column-gap:8px!important;}
  .scene>.puzzle-toolbar .level-label{font-size:.80rem!important;}
  .scene>.puzzle-toolbar #wordProgress{font-size:.74rem!important;}
  .scene>.puzzle-toolbar #hintButton{font-size:.72rem!important;padding:0 11px!important;}
  .scene-copy #hardBadge{left:10px!important;top:54px!important;font-size:.82rem!important;padding:6px 10px 7px!important;}
}

@media(max-width:350px){
  .scene>.puzzle-toolbar{left:7px!important;right:7px!important;column-gap:5px!important;}
  .scene>.puzzle-toolbar .level-label{font-size:.72rem!important;}
  .scene>.puzzle-toolbar #wordProgress{font-size:.66rem!important;}
  .scene>.puzzle-toolbar #hintButton{font-size:.66rem!important;padding:0 9px!important;}
}

@media(prefers-reduced-motion:reduce){
  .scene-copy #hardBadge{animation:none!important;}
}