
/* Abyssal Rebuild v1: diegetic Descent Gate + specimen collection.
   Pure CSS visuals by design: no per-frame JS and no network traffic. */

body.abyss-rebuild-ready #menuScreen{
  --abyss-accent:#5aecd8;
  --abyss-danger:#ff3d63;
  --abyss-violet:#7a58f0;
}
body.abyss-rebuild-ready #menuScreen .menu-content{
  width:min(530px,48vw);
  position:relative;
  z-index:6;
}
body.abyss-rebuild-ready #menuScreen #playBtn,
body.abyss-rebuild-ready #menuScreen .online-cta{display:flex !important}

.abyss-gate{
  position:absolute;z-index:5;right:clamp(34px,5.4vw,110px);top:50%;
  width:min(38vw,520px);height:min(76vh,720px);transform:translateY(-48%);
  display:flex;align-items:center;justify-content:center;isolation:isolate;pointer-events:none;
}
.abyss-gate::before{
  content:"";position:absolute;inset:2% 2% 0;
  border-radius:50% 47% 45% 55% / 34% 40% 60% 66%;
  background:
    radial-gradient(ellipse at 49% 58%,rgba(3,8,16,.98) 0 28%,rgba(4,12,21,.96) 38%,rgba(8,24,35,.72) 52%,transparent 72%),
    radial-gradient(ellipse at 50% 46%,rgba(62,255,224,.12),transparent 52%);
  filter:drop-shadow(0 0 38px rgba(0,0,0,.8));
  animation:abyssGateBreath 7s ease-in-out infinite;opacity:.98;
}
.abyss-gate::after{
  content:"";position:absolute;inset:10% 12% 7%;border-radius:50%;
  background:
    radial-gradient(circle at 50% 58%,rgba(255,48,91,.15) 0 1.1%,transparent 1.8%),
    radial-gradient(ellipse at 50% 48%,transparent 0 36%,rgba(68,255,229,.06) 44%,transparent 57%);
  box-shadow:inset 0 0 90px rgba(0,0,0,.92),0 0 70px rgba(61,232,217,.08);
  animation:abyssGatePulse 5.4s ease-in-out infinite;
}
.abyss-gate-rim{
  position:absolute;inset:0;border-radius:47% 53% 49% 51% / 34% 43% 57% 66%;
  background:conic-gradient(from 198deg at 50% 50%,transparent 0 8%,rgba(79,122,134,.25) 10%,transparent 13% 20%,rgba(30,68,78,.4) 23%,transparent 27% 46%,rgba(97,59,115,.24) 49%,transparent 53% 70%,rgba(28,82,86,.28) 75%,transparent 82% 100%);
  filter:blur(1px) drop-shadow(0 16px 32px rgba(0,0,0,.8));opacity:.78;animation:abyssRimDrift 18s linear infinite;
}
.abyss-gate-depth{
  position:absolute;inset:13% 16% 9%;overflow:hidden;border-radius:48% 52% 50% 50% / 38% 38% 62% 62%;
  background:linear-gradient(to bottom,rgba(25,77,84,.16),rgba(1,4,10,.97) 45%,#010209 100%);
  box-shadow:inset 0 0 56px #000;
}
.abyss-gate-depth::before,.abyss-gate-depth::after{
  content:"";position:absolute;width:2px;height:56%;top:-20%;
  background:linear-gradient(to bottom,transparent,rgba(92,255,234,.38),transparent);
  opacity:.4;animation:abyssFall 4.8s linear infinite;
}
.abyss-gate-depth::before{left:35%;animation-delay:-1.2s}
.abyss-gate-depth::after{left:68%;height:72%;animation-duration:6.4s;animation-delay:-3.8s}
.abyss-gate-eye{
  position:absolute;left:50%;bottom:23%;width:34px;height:8px;transform:translateX(-50%) scale(.85);
  border-radius:50%;background:radial-gradient(ellipse,#ffe9de 0 8%,#ff244f 22%,rgba(255,28,72,.1) 58%,transparent 72%);
  filter:blur(.3px) drop-shadow(0 0 13px rgba(255,35,77,.7));opacity:0;animation:abyssEyeWatch 12s ease-in-out infinite;
}
.abyss-gate-content{
  position:relative;z-index:3;width:min(76%,360px);text-align:center;pointer-events:auto;margin-top:8%;
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}
.abyss-gate-kicker{display:block;color:#8bf8ea;font-size:10px;font-weight:800;letter-spacing:.24em;margin-bottom:9px}
.abyss-gate-content strong{
  display:block;color:#f4fbfb;font-family:"Cinzel",serif;font-size:clamp(22px,2.15vw,34px);letter-spacing:.06em;line-height:1.05;
}
.abyss-gate-content p{margin:10px auto 15px;max-width:300px;color:#9bb9c2;font-size:12px;line-height:1.55}
.abyss-gate-button{
  width:100%;min-height:52px;border:1px solid rgba(101,255,233,.42);border-radius:3px;
  background:linear-gradient(180deg,rgba(10,38,46,.92),rgba(4,16,23,.94));color:#eafffb;
  font-family:"Cinzel",serif;font-weight:800;letter-spacing:.12em;cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.36),inset 0 0 24px rgba(65,255,226,.05);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.abyss-gate-button:hover,.abyss-gate-button:focus-visible{
  transform:translateY(-2px);border-color:rgba(119,255,237,.8);
  box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 24px rgba(72,255,228,.13);outline:none;
}
.abyss-descent-panel{
  position:fixed;z-index:5000;inset:0;display:grid;place-items:center;padding:20px;
  background:radial-gradient(circle at 50% 45%,rgba(6,24,34,.76),rgba(0,4,10,.96) 66%);backdrop-filter:blur(9px);
}
.abyss-descent-panel[hidden]{display:none !important}
.abyss-descent-dialog{
  position:relative;width:min(860px,94vw);padding:clamp(24px,4vw,46px);
  border:1px solid rgba(102,255,235,.18);
  background:radial-gradient(circle at 50% -30%,rgba(62,218,205,.11),transparent 44%),linear-gradient(180deg,rgba(6,18,27,.98),rgba(2,7,13,.99));
  box-shadow:0 32px 100px rgba(0,0,0,.72),inset 0 0 80px rgba(0,0,0,.28);
}
.abyss-descent-dialog::before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.035);pointer-events:none}
.abyss-descent-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:0;background:transparent;color:#8fa7af;font-size:27px;cursor:pointer}
.abyss-descent-header{text-align:center;margin-bottom:28px}
.abyss-descent-header small{color:#7ce9dc;letter-spacing:.24em;font-weight:800;font-size:10px}
.abyss-descent-header h2{margin:8px 0 5px;font-family:"Cinzel",serif;font-size:clamp(30px,5vw,54px);color:#eef9f8;letter-spacing:.08em}
.abyss-descent-header p{margin:0;color:#829ca6;font-size:13px}
.abyss-descent-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.abyss-descent-choice{
  min-height:210px;padding:24px;text-align:left;border:1px solid rgba(117,236,224,.16);border-radius:4px;
  background:linear-gradient(145deg,rgba(14,34,44,.80),rgba(4,12,20,.93));color:#eef8f7;cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.abyss-descent-choice:hover,.abyss-descent-choice:focus-visible{
  transform:translateY(-3px);border-color:rgba(105,255,234,.54);background:linear-gradient(145deg,rgba(18,51,58,.9),rgba(5,13,20,.96));outline:none;
}
.abyss-descent-choice[data-mode="group"]{border-color:rgba(169,101,255,.17);background:linear-gradient(145deg,rgba(31,21,48,.82),rgba(6,10,20,.94))}
.abyss-choice-icon{display:block;font-size:28px;margin-bottom:24px;opacity:.8}
.abyss-descent-choice strong{display:block;font-family:"Cinzel",serif;font-size:20px;letter-spacing:.08em;margin-bottom:8px}
.abyss-descent-choice em{display:block;color:#89a8b1;font-size:13px;line-height:1.55;font-style:normal}
.abyss-descent-choice small{display:block;color:#617780;font-size:10px;letter-spacing:.14em;margin-top:18px;text-transform:uppercase}

.abyss-specimen-intro{
  margin:8px 0 18px;padding:14px 16px;border-left:2px solid rgba(103,255,233,.55);
  background:linear-gradient(90deg,rgba(28,78,82,.15),transparent);color:#8daab3;font-size:12px;line-height:1.55;
}
.abyss-skin-filters{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 18px}
.abyss-skin-filter{
  border:1px solid rgba(118,184,191,.18);background:rgba(4,15,22,.72);color:#7e9ba5;border-radius:999px;
  padding:8px 11px;font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer;
}
.abyss-skin-filter.active{color:#cffff8;border-color:rgba(101,255,233,.46);background:rgba(29,89,88,.24)}
.skin-card[data-abyss-tier]{position:relative;overflow:hidden}
.skin-card[data-abyss-tier]::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid transparent;opacity:.75}
.skin-card[data-abyss-tier="surface"]::after{border-color:rgba(90,187,210,.12)}
.skin-card[data-abyss-tier="deep"]::after{border-color:rgba(115,88,200,.16)}
.skin-card[data-abyss-tier="abyssal"]::after{border-color:rgba(255,66,105,.14)}
.skin-card[data-abyss-tier="relic"]::after{border-color:rgba(201,117,255,.23);box-shadow:inset 0 0 28px rgba(95,28,114,.08)}
.abyss-specimen-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:9px 0 8px}
.abyss-specimen-badge{
  display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border:1px solid rgba(107,255,235,.18);
  color:#91b6bd;background:rgba(3,12,18,.62);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
}
.abyss-specimen-badge.relic{color:#d9b5ff;border-color:rgba(195,112,255,.28)}
.abyss-specimen-badge.abyssal{color:#ff93aa;border-color:rgba(255,76,113,.24)}
.abyss-specimen-lore{color:#6f8992 !important;font-size:10px !important;line-height:1.45 !important;margin-top:2px !important}
.skin-card.abyss-filtered-out{display:none !important}
.skin-card[hidden]{display:none!important}
#marineSearch{margin:12px 0;width:100%;min-height:44px}
.skin-card>p,.skin-card .skin-ability{font-family:system-ui,sans-serif;font-variant:normal;text-transform:none;letter-spacing:normal;line-height:1.5}
.room-empty{padding:22px;border:1px solid rgba(88,214,207,.24);background:rgba(2,17,28,.72);color:#8fc8ca;text-align:center;letter-spacing:.1em;line-height:1.6}
.room-row.rift-room{border-color:rgba(95,218,211,.35);box-shadow:inset 3px 0 rgba(95,218,211,.35)}

@keyframes abyssGateBreath{0%,100%{transform:scale(.985,.99);filter:drop-shadow(0 0 34px rgba(0,0,0,.82))}50%{transform:scale(1.015,1.025);filter:drop-shadow(0 0 52px rgba(0,0,0,.92))}}
@keyframes abyssGatePulse{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.9;transform:scale(1.025)}}
@keyframes abyssRimDrift{to{transform:rotate(360deg)}}
@keyframes abyssFall{0%{transform:translateY(-60%);opacity:0}20%{opacity:.45}100%{transform:translateY(210%);opacity:0}}
@keyframes abyssEyeWatch{0%,66%,78%,100%{opacity:0;transform:translateX(-50%) scale(.6)}69%,74%{opacity:.76;transform:translateX(-50%) scale(1)}}

@media (max-width:900px){
  body.abyss-rebuild-ready #menuScreen .menu-content{width:auto;max-width:none}
  .abyss-gate{position:relative;right:auto;top:auto;transform:none;width:min(100%,520px);height:390px;margin:8px auto 20px;order:2}
  .abyss-gate-content{width:min(70%,330px);margin-top:8%}
  .abyss-descent-choices{grid-template-columns:1fr}
  .abyss-descent-choice{min-height:148px}
}
@media (max-width:560px){
  .abyss-gate{height:310px;margin-top:-8px}
  .abyss-gate-content strong{font-size:20px}
  .abyss-gate-content p{font-size:11px;margin:7px auto 11px}
  .abyss-gate-button{min-height:46px;font-size:11px}
  .abyss-descent-dialog{padding:28px 16px 18px}
  .abyss-descent-choice{min-height:136px;padding:18px}
  .abyss-choice-icon{margin-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .abyss-gate::before,.abyss-gate::after,.abyss-gate-rim,.abyss-gate-depth::before,.abyss-gate-depth::after,.abyss-gate-eye{animation:none !important}
  .abyss-gate-eye{display:none}
}


/* Expedition risk/reward checkpoint */
.abyss-depth-meter{
  position:absolute;
  right:0;
  top:94px;
  min-width:146px;
  padding:10px 12px;
  border:1px solid rgba(101,255,233,.16);
  background:linear-gradient(145deg,rgba(4,14,22,.82),rgba(6,22,30,.76));
  text-align:right;
  pointer-events:none;
}
.abyss-depth-meter[hidden]{display:none !important}
.abyss-depth-meter small{display:block;color:#6f8f98;font-size:8px;letter-spacing:.15em}
.abyss-depth-meter strong{display:block;color:#dffcf8;font-family:"Cinzel",serif;font-size:17px;letter-spacing:.08em;margin-top:3px}
.abyss-depth-meter span{display:block;color:#72e9dc;font-size:8px;font-weight:800;letter-spacing:.12em;margin-top:4px}

.abyss-checkpoint-panel{
  position:fixed;z-index:5100;inset:0;display:grid;place-items:center;padding:20px;
  background:radial-gradient(circle at 50% 36%,rgba(11,43,47,.76),rgba(0,4,9,.95) 70%);
  backdrop-filter:blur(8px);
}
.abyss-checkpoint-panel[hidden]{display:none !important}
.abyss-checkpoint-card{
  width:min(760px,94vw);
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(107,255,236,.22);
  background:
    radial-gradient(circle at 50% -30%,rgba(88,255,229,.11),transparent 46%),
    linear-gradient(160deg,rgba(7,24,31,.99),rgba(2,9,15,.99));
  box-shadow:0 28px 100px rgba(0,0,0,.72),inset 0 0 60px rgba(0,0,0,.25);
}
.abyss-checkpoint-signal{display:block;text-align:center;color:#7df3e5;font-size:9px;font-weight:900;letter-spacing:.22em}
.abyss-checkpoint-card h2{
  margin:10px 0 8px;text-align:center;color:#edf9f8;font-family:"Cinzel",serif;
  font-size:clamp(28px,5vw,48px);letter-spacing:.07em;
}
.abyss-checkpoint-card>p{text-align:center;color:#859ea7;font-size:12px;margin:0 0 24px}
.abyss-checkpoint-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;
}
.abyss-checkpoint-stats>div{
  padding:14px 12px;border:1px solid rgba(112,192,196,.12);background:rgba(4,15,22,.68);
}
.abyss-checkpoint-stats small{display:block;color:#607c86;font-size:8px;letter-spacing:.12em;margin-bottom:5px}
.abyss-checkpoint-stats strong{display:block;color:#dffaf6;font-size:12px;letter-spacing:.04em}
.abyss-checkpoint-actions{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}
.abyss-checkpoint-actions button{
  min-height:94px;padding:16px 18px;text-align:left;border-radius:3px;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.abyss-checkpoint-actions button strong{display:block;font-family:"Cinzel",serif;font-size:14px;letter-spacing:.08em;margin-bottom:7px}
.abyss-checkpoint-actions button span{display:block;font-size:10px;line-height:1.45}
.abyss-checkpoint-descend{
  border:1px solid rgba(255,75,108,.28);
  background:linear-gradient(145deg,rgba(52,13,24,.72),rgba(13,8,16,.88));
  color:#ffdce4;
}
.abyss-checkpoint-descend span{color:#c38694}
.abyss-checkpoint-extract{
  border:1px solid rgba(92,244,220,.28);
  background:linear-gradient(145deg,rgba(11,51,50,.72),rgba(6,20,25,.9));
  color:#dffff9;
}
.abyss-checkpoint-extract span{color:#7ba9a7}
.abyss-checkpoint-actions button:hover,
.abyss-checkpoint-actions button:focus-visible{transform:translateY(-2px);outline:none}
.abyss-checkpoint-descend:hover,.abyss-checkpoint-descend:focus-visible{border-color:rgba(255,82,115,.62)}
.abyss-checkpoint-extract:hover,.abyss-checkpoint-extract:focus-visible{border-color:rgba(100,255,232,.65)}

@media (max-width:700px){
  .abyss-depth-meter{top:82px;right:10px;min-width:125px;padding:8px 10px}
  .abyss-checkpoint-stats{grid-template-columns:1fr}
  .abyss-checkpoint-actions{grid-template-columns:1fr}
  .abyss-checkpoint-actions button{min-height:78px}
}


/* Depth zones + rare events. Gameplay visuals stay compositor-friendly:
   opacity/gradients only, no backdrop filters and no per-frame DOM writes. */
.abyss-depth-meter small{
  max-width:190px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.abyss-event-atmosphere{
  position:fixed;
  z-index:17;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.14)),
    radial-gradient(circle at 82% 72%,rgba(113,255,232,.08),transparent 38%);
  mix-blend-mode:screen;
  animation:abyssEventAtmosphere 5.8s ease-in-out infinite alternate;
}
.abyss-event-atmosphere[hidden]{display:none!important}
body:not(.game-active) .abyss-event-atmosphere,body:not(.game-active) .abyss-event-banner{display:none!important}

.abyss-event-banner{
  position:fixed;
  z-index:120;
  top:max(78px,calc(env(safe-area-inset-top) + 70px));
  left:50%;
  width:min(470px,calc(100vw - 32px));
  transform:translateX(-50%);
  padding:10px 14px 11px;
  border:1px solid rgba(112,245,231,.22);
  background:linear-gradient(180deg,rgba(4,14,22,.95),rgba(3,9,16,.95));
  box-shadow:0 12px 32px rgba(0,0,0,.38);
  text-align:center;
  pointer-events:none;
  animation:abyssEventBannerIn .42s ease both;
}
.abyss-event-banner[hidden]{display:none!important}
.abyss-event-banner small{
  display:block;
  color:#6c8a93;
  font-size:8px;
  font-weight:900;
  letter-spacing:.18em;
}
.abyss-event-banner strong{
  display:block;
  margin-top:4px;
  color:#dffbf7;
  font-family:"Cinzel",serif;
  font-size:13px;
  letter-spacing:.09em;
}
.abyss-event-banner span{
  display:block;
  margin-top:3px;
  color:#8ca5ad;
  font-size:9px;
  line-height:1.35;
}

body.abyss-event-predator_migration .abyss-event-atmosphere{
  background:
    linear-gradient(180deg,rgba(255,39,77,.018),rgba(37,0,8,.12)),
    radial-gradient(circle at 78% 62%,rgba(255,55,86,.12),transparent 42%);
}
body.abyss-event-predator_migration .abyss-event-banner{
  border-color:rgba(255,103,128,.34);
  box-shadow:0 12px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,116,137,.06);
}
body.abyss-event-predator_migration .abyss-event-banner strong{color:#ff91a4}

body.abyss-event-black_current .abyss-event-atmosphere{
  background:
    linear-gradient(180deg,rgba(27,7,53,.04),rgba(5,1,13,.20)),
    radial-gradient(circle at 20% 74%,rgba(158,105,255,.13),transparent 44%);
}
body.abyss-event-black_current .abyss-event-banner{
  border-color:rgba(177,127,255,.34);
  box-shadow:0 12px 32px rgba(0,0,0,.42),inset 0 1px rgba(180,132,255,.06);
}
body.abyss-event-black_current .abyss-event-banner strong{color:#c6a7ff}

body.abyss-event-resonance_bloom .abyss-event-atmosphere{
  background:
    linear-gradient(180deg,rgba(61,255,211,.018),rgba(0,40,35,.11)),
    radial-gradient(circle at 74% 72%,rgba(76,255,215,.14),transparent 43%);
}
body.abyss-event-resonance_bloom .abyss-event-banner{
  border-color:rgba(96,248,218,.34);
  box-shadow:0 12px 32px rgba(0,0,0,.38),inset 0 1px rgba(102,255,225,.06);
}
body.abyss-event-resonance_bloom .abyss-event-banner strong{color:#7df5df}

@keyframes abyssEventAtmosphere{
  from{opacity:.30}
  to{opacity:.48}
}
@keyframes abyssEventBannerIn{
  from{opacity:0;transform:translate(-50%,-8px)}
  to{opacity:1;transform:translate(-50%,0)}
}

@media (max-width:700px){
  .abyss-event-banner{
    top:max(52px,calc(env(safe-area-inset-top) + 48px));
    width:min(390px,calc(100vw - 20px));
    padding:8px 10px 9px;
  }
  .abyss-event-banner span{font-size:8px}
  .abyss-depth-meter small{max-width:140px}
}

@media (prefers-reduced-motion:reduce){
  .abyss-event-atmosphere,.abyss-event-banner{animation:none!important}
}


/* Contextual cave portal action: one UI element, no frame-by-frame layout animation. */
.abyss-map-interact{
  position:absolute;
  z-index:95;
  left:50%;
  bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));
  transform:translateX(-50%);
  min-width:210px;
  min-height:44px;
  padding:10px 18px;
  border:1px solid rgba(103,244,229,.46);
  border-radius:5px;
  background:linear-gradient(180deg,rgba(6,29,35,.94),rgba(3,12,18,.96));
  color:#ddfffa;
  box-shadow:0 12px 34px rgba(0,0,0,.46),inset 0 0 22px rgba(70,255,226,.045);
  font-family:"Cinzel",serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-align:center;
  cursor:pointer;
}
.abyss-map-interact[hidden]{display:none!important}
.abyss-map-interact[data-kind="descent"]{
  color:#d8efff;
  border-color:rgba(91,183,255,.58);
  box-shadow:0 12px 34px rgba(0,0,0,.48),0 0 20px rgba(62,162,255,.10);
}
.abyss-map-interact[data-kind="surface"]{
  color:#dffff8;
  border-color:rgba(104,255,222,.62);
}
.abyss-map-interact:hover,.abyss-map-interact:focus-visible{
  transform:translate(-50%,-2px);
  outline:none;
  border-color:rgba(166,255,244,.88);
}
@media(max-width:700px){
  .abyss-map-interact{
    bottom:max(104px,calc(env(safe-area-inset-bottom) + 96px));
    width:min(240px,58vw);
    min-width:0;
    min-height:48px;
    padding:9px 12px;
    font-size:10px;
  }
}

body:not(.game-active) .abyss-map-interact{display:none!important}

/* Ocean sinkhole: a broad flooded limestone rim surrounding a dark shaft. */
body.abyss-rebuild-ready #menuScreen{background:#041220 url('ocean-entry.svg') center/cover no-repeat;overflow-y:auto}
.abyss-gate{height:min(58vw,540px);pointer-events:auto;cursor:pointer}
.abyss-gate::before{inset:16% 0 12%;border-radius:48% 52% 46% 54%;background:radial-gradient(ellipse,#010914 40%,#062232 48%,#176477 52%,#399a9b 54%,#174d5b 58%,#0a3545 66%,transparent 70%);animation:none;transform:rotate(-9deg)}
.abyss-gate::after{inset:26% 12% 23%;border-radius:50%;background:repeating-conic-gradient(from 20deg,#26667844 0deg 2deg,transparent 3deg 14deg);box-shadow:inset 0 22px 28px #248a9944,inset 0 -55px 55px #000c;animation:none}
.abyss-gate-depth{inset:29% 17% 27%;border-radius:50%;background:radial-gradient(ellipse at 50% 5%,#0c354a,#010711 70%)}
.abyss-gate-rim,.abyss-gate-eye{display:none}
.abyss-gate-content{margin-top:4%;width:76%}
.abyss-gate-kicker,.abyss-gate-content p{display:none}
.abyss-gate-content strong{font-size:clamp(18px,2.4vw,30px);letter-spacing:.15em}
.abyss-gate-button{background:transparent;border-color:#7ed6df66;margin-top:18px}
.abyss-gate:hover::before{filter:drop-shadow(0 0 26px #33d4df44)}
.abyss-gate::before,.abyss-gate::after,.abyss-gate-depth{display:none}
body.abyss-rebuild-ready #menuScreen .menu-fauna{display:none}
body.abyss-rebuild-ready #menuScreen .menu-content{background:linear-gradient(90deg,#041220d9,#04122055);padding:24px;border-radius:8px}
.abyss-gate{right:4%;width:48%;top:52%}
.abyss-gate-content strong{font-size:clamp(18px,2vw,26px)}
.abyss-gate-button{background:#04122088;min-height:48px}
.abyss-depth-meter{position:relative;top:auto!important;right:auto!important;max-width:none!important;margin-top:10px;text-align:left}
.abyss-descent-panel,.abyss-checkpoint-panel{overflow-y:auto}
.abyss-descent-dialog,.abyss-checkpoint-card{max-height:calc(100dvh - 40px);overflow-y:auto}
body:not(.game-active) .abyss-depth-meter{display:none!important}
.abyss-event-banner{top:auto;bottom:160px;max-width: min(360px,80vw)}
@media(max-width:900px){
 .abyss-gate{height:340px;flex-shrink:0;margin:16px auto}
 body.abyss-rebuild-ready #menuScreen .menu-content{width:100%;max-width:540px}
 .abyss-depth-meter{top:150px;right:8px;min-width:0;max-width:130px}
 .abyss-depth-meter small{max-width:110px}
 .abyss-event-banner{bottom:210px}
}
