/* ============================================================
   PIXELVERSE 统一返回条  DES-B-001 v1.0
   类名前缀 pv- ，作用域隔离，禁止与游戏自有样式耦合
   ============================================================ */
:root{
  --pv-bar-h: 48px;
  --pv-bar-safe: env(safe-area-inset-top, 0px);
  --pv-bar-total: calc(var(--pv-bar-h) + var(--pv-bar-safe));
  --pv-bar-z: 1000000;
  --pv-bar-bg: rgba(42,31,61,0.96);
  --pv-cyan: #00fff7;
  --pv-text: rgba(255,255,255,0.72);
  --pv-text-dim: rgba(255,255,255,0.62);
  --pv-font-pixel: 'Press Start 2P','Courier New',monospace;
  --pv-font-term: 'VT323','Courier New',monospace;
}
@media (max-width:768px){ :root{ --pv-bar-h: 44px; } }

/* 与宿主页样式隔离：不依赖宿主的 reset */
.pv-return-bar, .pv-return-bar *{
  box-sizing: border-box; margin:0; padding:0;
  font-weight: 400; font-style: normal;
}

.pv-return-bar{
  position: fixed; top:0; left:0; right:0;
  height: var(--pv-bar-total);
  padding: var(--pv-bar-safe) 12px 0;
  z-index: var(--pv-bar-z);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: var(--pv-bar-bg);
  border-bottom: 1px solid rgba(0,255,247,0.22);
  box-shadow: 0 1px 0 rgba(0,0,0,.5), 0 2px 18px rgba(0,255,247,.06);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  user-select: none; -webkit-user-select: none;
}

.pv-return-bar__back{
  display: inline-flex; align-items: center; gap: 10px;
  height: 100%; min-height: 44px; min-width: 44px;
  padding: 0 10px; margin-left: -10px;      /* 热区外扩，视觉仍左对齐 12px */
  color: var(--pv-text); text-decoration: none;
  white-space: nowrap; flex-shrink: 0; border-radius: 6px;
  -webkit-tap-highlight-color: transparent;
  transition: color .18s ease, background .18s ease, text-shadow .18s ease;
}
.pv-return-bar__back:hover,
.pv-return-bar__back:focus-visible{
  color:#fff; background: rgba(0,255,247,.10);
  text-shadow: 0 0 10px rgba(0,255,247,.45);
}
.pv-return-bar__back:focus-visible{
  outline: 2px solid var(--pv-cyan); outline-offset: 2px;
}
.pv-return-bar__back:active{ background: rgba(0,255,247,.16); }
.pv-return-bar__back:hover .pv-return-bar__arrow{ transform: translateX(-3px); }

.pv-return-bar__arrow{
  font-family: var(--pv-font-term); font-size: 22px; line-height: 1;
  color: var(--pv-cyan); text-shadow: 0 0 8px rgba(0,255,247,.35);
  transition: transform .18s ease;
}
.pv-return-bar__logo{
  font-family: var(--pv-font-pixel);
  font-size: clamp(8px, 1.9vw, 11px);
  letter-spacing: 1.5px; line-height: 1; padding-top: 2px; /* 像素字基线补偿 */
}
.pv-return-bar__game{
  font-family: var(--pv-font-pixel);
  font-size: clamp(8px, 1.9vw, 10px);
  letter-spacing: 1.5px; color: var(--pv-text-dim);
  min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; text-align: right;
}
@media (max-width:480px){ .pv-return-bar__game{ display:none; } }

@media (prefers-reduced-motion: reduce){
  .pv-return-bar__back, .pv-return-bar__arrow{ transition: none; }
  .pv-return-bar__back:hover .pv-return-bar__arrow{ transform: none; }
}

/* ---- 高度预留工具类 ---- */
/* 模式 S：文档流页面（micro-commander 等固定居中布局，靠 body padding-top 下推） */
body.pv-has-bar{ padding-top: var(--pv-bar-total); }
/* 模式 V：满屏视口页面（根容器整体下推）
   修订：游戏根容器多以 #id{height:100vh} 定义，class 优先级（0,1,0）低于 id（1,0,0），
   故此处 height/margin-top 加 !important 方能使下推生效（DES-B-001 §4.3 补充） */
.pv-viewport-root{
  margin-top: var(--pv-bar-total) !important;
  height: calc(100vh - var(--pv-bar-total)) !important;
  height: calc(100dvh - var(--pv-bar-total)) !important;   /* 移动端地址栏伸缩 */
}

/* ---- 语言切换器避让（见 DES-B-001 §3.3 方案 A）---- */
#er-lang-wrap, #ec-lang-toggle{ top: calc(var(--pv-bar-total) + 10px) !important; }
