/* V6.269 is the final visual authority for all current tower states.
   Mechanics remain owned by the existing tower engine. */

#tower .vT-wrap{
  width:min(100%,820px)!important;
  margin:0 auto!important;
  padding:8px 8px 22px!important;
}

/* ---------- HEADER / GLOBAL ---------- */
#tower .v6259-head{
  position:relative!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:48px 1fr 48px!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 8px!important;
  padding:8px 10px!important;
  border:2px solid #8b672f!important;
  border-radius:16px!important;
  background:
    linear-gradient(180deg,rgba(99,54,24,.98),rgba(45,24,12,.99))!important;
  box-shadow:inset 0 0 0 1px #2d190d,0 8px 20px #0009!important;
}
#tower .v6259-head h2{
  margin:0!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(18px,4.8vw,25px)!important;
  line-height:1.05!important;
  color:#f2d998!important;
  text-shadow:0 2px 0 #2c190b,0 0 8px #000!important;
  letter-spacing:.015em!important;
}
#tower .v6259-head span{
  display:block!important;
  margin-top:4px!important;
  font-size:9px!important;
  line-height:1.25!important;
  color:#e1dfd2!important;
}
#tower .v6259-round{
  width:45px!important;height:45px!important;
  border:2px solid #91723b!important;
  border-radius:50%!important;
  background:#35200f!important;
  color:#e8cf8f!important;
  font-size:21px!important;
  box-shadow:0 4px 12px #0009!important;
}

/* ---------- RUN HP ---------- */
#tower .v6259-runline{
  min-height:42px!important;
  margin:0 2px 9px!important;
  padding:7px 10px!important;
  border:1px solid #76512b!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#4a2913,#29160b)!important;
  display:grid!important;
  grid-template-columns:auto minmax(80px,1fr) auto auto!important;
  align-items:center!important;
  gap:8px!important;
}
#tower .v6259-runline span,
#tower .v6259-runline b,
#tower .v6259-runline em{font-size:10px!important}
#tower .v6259-runline em{font-style:normal!important;color:#9ddd70!important}

/* ---------- LOBBY ---------- */
#tower .v6259-lobby{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr)!important;
  gap:9px!important;
  min-height:350px!important;
  margin:0!important;
}
#tower .v6259-tower-picture{
  min-height:350px!important;
  height:100%!important;
  border:2px solid #72542a!important;
  border-radius:17px!important;
  background-position:center bottom!important;
  background-size:cover!important;
  box-shadow:inset 0 0 30px #0007,0 8px 22px #0008!important;
}
#tower .v6259-lobby-card{
  margin:0!important;
  padding:12px 10px!important;
  border:2px solid #76512b!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 50% 0,rgba(211,145,63,.09),transparent 36%),
    linear-gradient(180deg,#4a2913,#29160b)!important;
}
#tower .v6259-lobby-card>small{
  font-size:8px!important;letter-spacing:.12em!important;color:#9aa995!important
}
#tower .v6259-lobby-card>strong{
  display:block!important;
  margin:2px 0 7px!important;
  font-size:36px!important;
  color:#f0d176!important;
  line-height:1!important;
}
#tower .v6259-lobby-row{
  min-height:31px!important;
  font-size:9px!important;
}
#tower .v6267-recover-inline{
  min-height:46px!important;
  margin:7px 0!important;
}
#tower .v6259-lobby-card .v6259-main-btn{
  min-height:49px!important;
  margin-top:8px!important;
  font-size:11px!important;
}
#tower .v6269-lobby-nav{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:10px 0!important;
}
#tower .v6269-lobby-nav .vT-btn{min-height:46px!important}

#tower .v6269-lobby-rank-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  margin:0 0 10px!important;
}
#tower .v6269-lobby-rank-card{
  min-width:0!important;
  overflow:hidden!important;
  padding:10px!important;
  border:1px solid #76512b!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#4a2913,#29160b)!important;
  box-shadow:inset 0 0 18px #0005!important;
}
#tower .v6269-lobby-rank-card.event{
  border-color:#58496c!important;
  background:linear-gradient(180deg,#16101b,#09080c)!important;
}
#tower .v6269-lobby-rank-card.event.active{
  border-color:#9b6fc1!important;
  box-shadow:0 0 18px rgba(163,99,211,.13),inset 0 0 18px #0005!important;
}
#tower .v6269-lobby-rank-card header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;
  margin-bottom:7px!important;
}
#tower .v6269-lobby-rank-card header small{
  display:block!important;font-size:6.5px!important;letter-spacing:.12em!important;color:#8e9c8d!important
}
#tower .v6269-lobby-rank-card header b{font-size:10px!important}
#tower .v6269-lobby-rank-card header button{
  border:1px solid #76512b!important;border-radius:8px!important;
  padding:5px 8px!important;background:#3d2210!important;color:#d7e5d1!important;font-size:8px!important
}
#tower .v6269-own-rank,
#tower .v6269-event-state{
  display:flex!important;justify-content:space-between!important;gap:8px!important;align-items:center!important;
  min-height:34px!important;margin-bottom:6px!important;padding:6px 7px!important;
  border:1px solid #76512b!important;border-radius:9px!important;background:#35200f!important;
  font-size:7.4px!important;
}
#tower .v6269-own-rank b,
#tower .v6269-event-state b{font-size:7.8px!important;color:#e9d089!important}
#tower .v6269-event-state{display:block!important}
#tower .v6269-event-state span{display:block!important;margin-top:3px!important;color:#a8b2a6!important}
#tower .v6269-event-state.active{border-color:#6f5284!important}
#tower .v6269-lobby-leader{
  max-height:245px!important;
  overflow:hidden!important;
}
#tower .v6269-lobby-leader .vT-leader-row:nth-child(n+6){display:none!important}
#tower .v6269-lobby-leader .vT-leader-row{
  min-height:39px!important;
  padding:6px!important;
}
#tower .v6269-lobby-leader .vT-player b,
#tower .v6269-lobby-leader .vT-score b{font-size:8px!important}
#tower .v6269-lobby-leader .vT-player span,
#tower .v6269-lobby-leader .vT-score span{font-size:6.2px!important}

/* ---------- DOOR ROUTE ---------- */
#tower .v6263-door-stage{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
}
#tower .v6263-door-picture{
  width:100%!important;
  height:auto!important;
  aspect-ratio:405 / 200!important;
  background-position:center!important;
  background-size:100% 100%,100% 100%!important;
}
#tower .v6263-door-ui-layer{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:-14px!important;
  padding:0 7px!important;
}
#tower .v6263-door-ui,
#tower .v6263-door-ui.side-0,
#tower .v6263-door-ui.side-1{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:auto!important;transform:none!important
}
#tower .v6263-door-ui.solo{
  grid-column:1/-1!important;
  justify-self:center!important;
  width:min(68%,290px)!important;
}
#tower .v6263-mutation-panel{
  margin-top:8px!important;padding:8px!important
}
#tower .v6263-mutation-panel .v6259-buffs{
  grid-template-columns:repeat(6,minmax(0,1fr))!important
}

/* ---------- PREP ---------- */
#tower .v6259-prep{
  position:relative!important;
  height:clamp(330px,48dvh,470px)!important;
  min-height:330px!important;
  max-height:470px!important;
  margin:0!important;
  overflow:hidden!important;
  border:2px solid #5e4828!important;
  border-radius:17px!important;
  background:#241208!important;
  box-shadow:inset 0 0 32px #0008,0 8px 22px #0008!important;
}
#tower .v6259-prep-bg{
  position:absolute!important;inset:0!important;
  background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;
  filter:saturate(.95) brightness(.78)!important;
}
#tower .v6259-prep:after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 45%,rgba(0,0,0,.44))!important;
}
#tower .v6259-prep-enemy{
  position:absolute!important;
  z-index:2!important;
  left:50%!important;right:auto!important;top:auto!important;bottom:7%!important;
  width:auto!important;height:auto!important;
  max-width:58%!important;max-height:64%!important;
  object-fit:contain!important;
  transform:translateX(-50%)!important;
  mix-blend-mode:screen!important;
  -webkit-mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 56%,rgba(0,0,0,.82) 72%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 72% 76% at 50% 50%,#000 56%,rgba(0,0,0,.82) 72%,transparent 100%)!important;
  filter:drop-shadow(0 12px 12px #000d) saturate(1.12) contrast(1.06)!important;
}
#tower .v6259-prep.boss .v6259-prep-enemy{max-width:66%!important;max-height:70%!important}
#tower .v6259-enemy-tag{
  z-index:4!important;top:12px!important;right:10px!important;
  width:auto!important;max-width:45%!important;
  padding:9px 11px!important;
  border:1px solid #516248!important;border-radius:12px!important;
  background:rgba(55,30,14,.92)!important;
}
#tower .v6259-enemy-tag b{font-size:11px!important}
#tower .v6259-enemy-tag span{font-size:7.5px!important}
#tower .v6259-speech{z-index:4!important}
#tower .v6259-fight-main{
  width:min(72%,420px)!important;
  min-height:52px!important;
  margin:9px auto!important;
  display:block!important;
  font-size:12px!important;
}
#tower .v6259-reward-preview{
  min-height:52px!important;
  margin:0 0 8px!important;
}
#tower .v6259-risk-more{margin-top:7px!important}

/* ---------- BATTLE ---------- */
#tower .v6259-battle{
  position:relative!important;
  height:clamp(430px,60dvh,610px)!important;
  min-height:430px!important;
  max-height:610px!important;
  margin:0!important;
  overflow:hidden!important;
  border:2px solid #654b27!important;
  border-radius:17px!important;
}
#tower .v6259-battle-bg{
  position:absolute!important;inset:0!important;
  background-size:cover!important;background-position:center!important;
  filter:brightness(.72) saturate(.95)!important;
}
#tower .v6259-battle-progress{
  top:10px!important;left:23%!important;right:23%!important
}
#tower .v6259-fighter{
  position:absolute!important;
  top:auto!important;
  bottom:105px!important;
  width:42%!important;
  height:54%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
#tower .v6259-fighter.player{left:2%!important}
#tower .v6259-fighter.enemy{right:2%!important}
#tower .v6259-fighter img{
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 12px 10px #000c)!important;
}
#tower .v6259-fighter.enemy img{
  mix-blend-mode:screen!important;
  -webkit-mask-image:radial-gradient(ellipse 75% 80% at 50% 52%,#000 60%,rgba(0,0,0,.82) 75%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 75% 80% at 50% 52%,#000 60%,rgba(0,0,0,.82) 75%,transparent 100%)!important;
  filter:drop-shadow(0 12px 10px #000d) saturate(1.12) contrast(1.06)!important;
}
#tower .v6259-fighter .vT-fighter-name{
  width:100%!important;
  margin-top:-2px!important;
  padding:4px 5px!important;
  border:1px solid #42503d!important;
  border-radius:8px!important;
  background:rgba(5,10,7,.87)!important;
  font-size:8px!important;
}
#tower .v6259-hud{
  bottom:10px!important;
  width:46%!important;
  min-height:72px!important;
  padding:8px!important;
}
#tower .v6259-hud.player{left:2%!important}
#tower .v6259-hud.enemy{right:2%!important}
#tower .v6259-battle-log{
  min-height:58px!important;
  max-height:85px!important;
  margin:8px 0 0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  font-size:9px!important;
}

/* ---------- GROW / LAB / MERCHANT / SECRET / MYSTERY ---------- */
#tower .v6260-grow-scene,
#tower .v6259-lab-scene,
#tower .v6259-merchant-scene,
#tower .v6269-secret-scene,
#tower .v6269-mystery-scene{
  position:relative!important;
  height:clamp(210px,31dvh,300px)!important;
  min-height:210px!important;
  max-height:300px!important;
  margin:0 0 9px!important;
  overflow:hidden!important;
  border:2px solid #5d4b2d!important;
  border-radius:16px!important;
  background:#2d190c!important;
  box-shadow:inset 0 0 26px #0008!important;
}
#tower .v6259-lab-art,
#tower .v6259-merchant-art,
#tower .v6260-grow-art{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  background-size:cover!important;background-position:center!important;
  filter:brightness(.80) saturate(.95)!important;
}
#tower .v6269-secret-scene .v6260-grow-art{filter:brightness(.58) saturate(.86)!important}
#tower .v6269-scene-tag,
#tower .v6260-scene-tag{
  position:absolute!important;left:10px!important;top:10px!important;z-index:3!important;
  padding:6px 9px!important;border:1px solid #637055!important;border-radius:9px!important;
  background:rgba(55,30,14,.92)!important;color:#e8d596!important;font-size:8px!important;font-weight:1000!important
}
#tower .v6269-secret-copy,
#tower .v6260-grow-copy{
  position:absolute!important;left:10px!important;right:10px!important;bottom:10px!important;z-index:3!important;
  padding:8px 10px!important;border:1px solid #465443!important;border-radius:10px!important;
  background:rgba(47,25,12,.90)!important;color:#dce6d8!important;font-size:9px!important;line-height:1.4!important
}
#tower .v6269-mystery-scene{
  display:grid!important;place-items:center!important;
  background:
   radial-gradient(circle at 50% 42%,rgba(149,85,194,.32),transparent 28%),
   radial-gradient(circle at 50% 70%,rgba(65,145,82,.16),transparent 38%),
   linear-gradient(180deg,#121019,#050807)!important;
}
#tower .v6269-mystery-glow{
  font-family:Georgia,serif!important;
  font-size:120px!important;
  line-height:1!important;
  color:#d8b7ee!important;
  text-shadow:0 0 22px #a26fd2,0 10px 14px #000!important;
}
#tower .v6259-mutation-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
#tower .v6259-mut{
  min-width:0!important;
  padding:10px 8px!important;
  border-radius:13px!important;
}
#tower .v6259-mut-icon{font-size:30px!important}
#tower .v6259-mut h4{font-size:10px!important}
#tower .v6259-mut p{font-size:8px!important;line-height:1.35!important;min-height:43px!important}
#tower .v6259-mut .vT-btn{min-height:40px!important;font-size:8.5px!important}
#tower .v6259-shop-list{
  display:grid!important;
  gap:8px!important;
}
#tower .v6259-shop-list>div{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) minmax(92px,auto)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:70px!important;
  padding:9px!important;
  border-radius:13px!important;
}
#tower .v6259-shop-list i{font-size:28px!important}
#tower .v6259-shop-list section b{font-size:10px!important}
#tower .v6259-shop-list section span{font-size:8px!important;line-height:1.35!important}
#tower .v6259-shop-list .vT-btn{min-height:39px!important;font-size:8.5px!important}

/* ---------- RESULTS / CHECKPOINT ---------- */
#tower .v6259-result,
#tower .v6259-panel{
  padding:13px!important;
  border:1px solid #76512b!important;
  border-radius:16px!important;
  background:
   radial-gradient(circle at 50% 0,rgba(211,145,63,.08),transparent 35%),
   linear-gradient(180deg,#4a2913,#29160b)!important;
}
#tower .v6259-result-icon{
  font-size:46px!important;
  filter:drop-shadow(0 8px 8px #0009)!important;
}
#tower .v6259-result h2{font-size:18px!important}
#tower .v6259-result p{font-size:9px!important;line-height:1.5!important}
#tower .v6259-result-grid{
  gap:7px!important;
}
#tower .v6259-result-grid>div{
  min-width:0!important;
  padding:9px 6px!important;
  border-radius:11px!important;
}
#tower .v6259-result-grid small{font-size:6.7px!important}
#tower .v6259-result-grid b{font-size:12px!important}
#tower .v6259-check-actions{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important
}
#tower .v6259-check-actions .vT-btn{min-height:48px!important}

/* ---------- RANK / META ---------- */
#tower .vT-leader-row{
  min-height:50px!important;
  padding:8px!important;
}
#tower .vT-player b,#tower .vT-score b{font-size:10px!important}
#tower .vT-player span,#tower .vT-score span{font-size:7.2px!important}
#tower .vT-upgrades{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important
}

/* ---------- MOBILE ---------- */
@media(max-width:520px){
 #tower .vT-wrap{padding:6px 6px 18px!important}
 #tower .v6259-head{grid-template-columns:44px 1fr 44px!important;padding:7px 8px!important}
 #tower .v6259-round{width:41px!important;height:41px!important}
 #tower .v6259-head h2{font-size:18px!important}
 #tower .v6259-head span{font-size:7.6px!important}

 #tower .v6259-lobby{
   grid-template-columns:55% 45%!important;
   gap:6px!important;
   min-height:325px!important;
 }
 #tower .v6259-tower-picture{min-height:325px!important}
 #tower .v6259-lobby-card{padding:9px 7px!important}
 #tower .v6259-lobby-card>strong{font-size:30px!important}
 #tower .v6259-lobby-row{font-size:7.5px!important;min-height:28px!important}
 #tower .v6267-recovery-note{font-size:6.6px!important}
 #tower .v6267-recover-inline{font-size:7.5px!important}
 #tower .v6259-lobby-card .v6259-main-btn{font-size:9px!important;min-height:45px!important}
 #tower .v6269-lobby-rank-grid{grid-template-columns:1fr!important}
 #tower .v6269-lobby-leader{max-height:210px!important}

 #tower .v6263-door-ui-layer{gap:5px!important;padding:0 5px!important;margin-top:-11px!important}
 #tower .v6263-door-copy{min-height:61px!important;padding:7px 5px!important}
 #tower .v6263-door-copy b{font-size:9px!important}
 #tower .v6263-door-copy span{font-size:6.5px!important}
 #tower .v6263-door-ui .vT-btn{min-height:40px!important;font-size:8px!important}

 #tower .v6259-prep{
   height:clamp(300px,43dvh,390px)!important;
   min-height:300px!important;
   max-height:390px!important;
 }
 #tower .v6259-prep-enemy{max-width:72%!important;max-height:70%!important;bottom:2%!important;object-position:center bottom!important}
 #tower .v6259-prep.boss .v6259-prep-enemy{max-width:78%!important;max-height:75%!important}
 #tower .v6259-enemy-tag{max-width:48%!important;padding:7px 8px!important}
 #tower .v6259-enemy-tag b{font-size:9.5px!important}
 #tower .v6259-fight-main{width:78%!important;min-height:48px!important;font-size:10px!important}

 #tower .v6259-battle{
   height:clamp(390px,55dvh,520px)!important;
   min-height:390px!important;
   max-height:520px!important;
 }
 #tower .v6259-fighter{bottom:96px!important;height:51%!important}
 #tower .v6259-hud{min-height:66px!important;padding:6px!important}
 #tower .v6259-hud .vT-hpline{font-size:7px!important}
 #tower .v6259-battle-log{min-height:50px!important;font-size:8px!important}

 #tower .v6260-grow-scene,
 #tower .v6259-lab-scene,
 #tower .v6259-merchant-scene,
 #tower .v6269-secret-scene,
 #tower .v6269-mystery-scene{
   height:220px!important;min-height:220px!important;max-height:220px!important
 }
 #tower .v6259-mutation-grid{
   grid-template-columns:1fr!important;
 }
 #tower .v6259-mut{
   display:grid!important;
   grid-template-columns:52px minmax(0,1fr) auto!important;
   grid-template-areas:"icon title btn" "icon desc btn"!important;
   align-items:center!important;
   gap:3px 8px!important;
   min-height:82px!important;
 }
 #tower .v6259-mut-icon{grid-area:icon!important;font-size:30px!important}
 #tower .v6259-mut h4{grid-area:title!important;margin:0!important}
 #tower .v6259-mut p{grid-area:desc!important;min-height:0!important;margin:2px 0 0!important}
 #tower .v6259-mut .vT-btn{grid-area:btn!important;min-width:90px!important}

 #tower .v6259-shop-list>div{
   grid-template-columns:40px minmax(0,1fr) 90px!important;
   min-height:68px!important;
 }
 #tower .v6259-shop-list i{font-size:25px!important}
 #tower .v6259-shop-list section b{font-size:9px!important}
 #tower .v6259-shop-list section span{font-size:7.2px!important}

 #tower .v6259-check-actions{grid-template-columns:1fr!important}
 #tower .vT-upgrades{grid-template-columns:1fr!important}
}

@media(max-width:360px){
 #tower .v6259-lobby{grid-template-columns:52% 48%!important}
 #tower .v6259-prep{height:290px!important;min-height:290px!important}
 #tower .v6259-battle{height:380px!important;min-height:380px!important}
 #tower .v6259-shop-list>div{grid-template-columns:36px minmax(0,1fr) 82px!important}
 #tower .v6259-mut .vT-btn{min-width:82px!important}
}
