/* vNext component layer. Scoped so the legacy presentation remains intact. */
html[data-vnext-ui="true"] body {
  background:
    radial-gradient(circle at 82% 4%, rgba(83, 55, 105, .16), transparent 32rem),
    linear-gradient(180deg, #090b11 0, var(--ui-bg-canvas) 38rem);
}
html[data-vnext-ui="true"].vnext-battle-main-active,
html[data-vnext-ui="true"].vnext-battle-main-active body { overflow-y:auto; }

.vnext-ui-setting input { width: 22px; height: 22px; accent-color: var(--ui-accent-archive-strong); }

html[data-vnext-ui="true"] #battlefield { display: none !important; }
html[data-vnext-ui="false"] #vnext-battle-shell { display: none !important; }
html:not([data-vnext-ui="true"]) .vnext-only-nav { display:none !important; }

.vnext-battle-shell {
  --vnext-gold: #a88c58;
  --vnext-gold-soft: rgba(185, 154, 98, .15);
  --vnext-purple: #81609d;
  --vnext-red: #a03c48;
  --lc-card-bg: #0d1118;
  --lc-card-bg-raised: #121620;
  --lc-border-gold: rgba(168, 140, 88, .3);
  --lc-accent-purple: #81609d;
  --lc-hp: #a03c48;
  --lc-shield: #4f7d91;
  --lc-gauge-empty: #292c32;
  --lc-card-gap: 7px;
  --lc-card-radius: 3px;
  --lc-portrait-width-pc: 120px;
  --lc-portrait-width-mobile: clamp(104px, 29vw, 112px);
  --lc-progress-height: 9px;
  --lc-text-small: 12px;
  --lc-text-medium: 13px;
  --lc-name-mobile: 17px;
  display: grid;
  gap: 10px;
  width: min(100%, 920px);
  margin: 0 auto;
  padding: 10px 10px calc(88px + env(safe-area-inset-bottom));
  border: 0;
  background: #07090e;
  color: var(--ui-text-primary);
  font: var(--font-size-body)/1.5 var(--font-body);
}

.vnext-command-header,
.vnext-captain-stage,
.vnext-enemy-battlefield,
.vnext-enemy-situation {
  border: 1px solid rgba(185, 154, 98, .2);
  background: linear-gradient(145deg, rgba(24, 27, 35, .96), rgba(12, 14, 20, .98));
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

.vnext-command-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-top: 2px solid var(--vnext-gold);
}
.vnext-command-header p,
.vnext-command-header h1 { margin: 0; }
.vnext-command-kicker { display:none; color: var(--vnext-gold); font: 700 11px/1.2 var(--font-numeric); letter-spacing: .16em; text-transform: uppercase; }
.vnext-command-title { font: 700 clamp(17px, 3.8vw, 23px)/1.25 var(--font-display); }
.vnext-command-meta { margin-top:3px!important; color:#d2b47c; font-size: var(--lc-text-small); }
.vnext-pause-button {
  min-width: 48px; min-height: 48px; padding: 0 14px;
  border: 1px solid var(--ui-border-strong); border-radius: 2px;
  background: var(--ui-bg-elevated); color: var(--ui-text-primary);
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  font-weight: 700;
}
.vnext-pause-button svg { width: 18px; height: 18px; fill: currentColor; }
.vnext-command-actions { display:grid; grid-template-columns:repeat(3,minmax(64px,1fr)); align-items:center; gap:6px; }
.vnext-ui-mode-button { position:absolute; width:1px; height:1px; min-width:0; min-height:0; padding:0; border:0; overflow:hidden; clip:rect(0 0 0 0); }
.vnext-ui-restore { position:fixed; z-index:850; right:12px; bottom:calc(78px + env(safe-area-inset-bottom)); min-height:44px; padding:8px 12px; border:1px solid var(--ui-accent-archive-strong); background:var(--ui-bg-elevated); color:var(--ui-text-primary); box-shadow:0 8px 24px #000; }

.vnext-captain-stage { overflow: clip; }
.vnext-captain-hero { display: grid; grid-template-columns: minmax(116px, 38%) minmax(0, 1fr); min-height: 230px; }
.vnext-captain-portrait { position: relative; min-height: 230px; overflow: hidden; background: #08090d; }
.vnext-captain-portrait::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent, rgba(9,10,15,.92)); pointer-events:none; }
.vnext-captain-portrait img { width:100%; height:100%; min-height:230px; object-fit:cover; object-position:50% 10%; display:block; }
.vnext-captain-copy { padding: 16px 13px; min-width:0; }
.vnext-captain-copy h2 { margin:0; font:700 clamp(20px,6vw,30px)/1.2 var(--font-display); }
.vnext-captain-copy > p { margin: 3px 0 10px; color: var(--ui-text-secondary); font-size:12px; }
.vnext-badge-row { display:flex; gap:5px; flex-wrap:wrap; margin:8px 0 12px; }
.vnext-badge { display:inline-flex; align-items:center; min-height:28px; padding:3px 8px; border:1px solid var(--ui-border-strong); background:rgba(255,255,255,.025); color:var(--ui-text-secondary); font-size:12px; border-radius:999px; }
.vnext-badge.is-gestation { border-color:rgba(137,112,157,.6); color:#c9b1dc; background:rgba(109,88,127,.16); }
.vnext-badge.is-warning { border-color:rgba(195,74,85,.58); color:#e59aa0; }
.vnext-command-stat { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; padding-top:10px; border-top:1px solid var(--ui-border-subtle); }
.vnext-command-stat span { color:var(--ui-text-secondary); font-size:12px; }
.vnext-command-stat strong { font:700 20px/1 var(--font-numeric); color:var(--vnext-gold); }
.vnext-gestation-summary { margin-top:12px; padding:10px; border-left:2px solid var(--vnext-purple); background:rgba(109,88,127,.1); }
.vnext-gestation-summary button { width:100%; min-height:44px; padding:0; border:0; background:transparent; color:inherit; text-align:left; }
.vnext-gestation-summary strong { display:block; font-size:13px; }
.vnext-gestation-summary small { color:var(--ui-text-secondary); }

.vnext-company-list { display:grid; gap:1px; border-top:1px solid var(--ui-border-subtle); background:var(--ui-border-subtle); }
.vnext-company-row { padding:12px; background:rgba(15,17,23,.98); display:grid; gap:8px; }
.vnext-company-head { width:100%; min-height:44px; padding:0; border:0; background:transparent; color:inherit; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; text-align:left; }
.vnext-company-head h3 { margin:0; font-size:14px; }
.vnext-company-head p { margin:1px 0 0; color:var(--ui-text-secondary); font-size:12px; }
.vnext-company-count { font:700 15px/1.3 var(--font-numeric); color:var(--vnext-gold); }
.vnext-vitals { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:6px; align-items:center; font-size:var(--lc-text-small); color:var(--ui-text-subdued); }
.vnext-vital-icon svg { width:16px; height:16px; display:block; }
.vnext-vital-track { height:var(--lc-progress-height); border:1px solid #292d34; background:#22252b; overflow:hidden; }
.vnext-vital-fill { display:block; height:100%; min-width:0; transition:width 240ms ease; }
.vnext-vital-fill.hp { background:var(--lc-hp); }
.vnext-vital-fill.hp.warning { background:#ad7b36; }
.vnext-vital-fill.hp.critical { background:#c94a52; }
.vnext-vital-fill.shield { background:var(--lc-shield); }
.vnext-traits { display:flex; flex-wrap:wrap; gap:5px; }
.vnext-trait { font-size:12px; color:var(--ui-text-secondary); }
.vnext-trait::before { content:""; display:inline-block; width:5px; height:5px; margin-right:5px; border:1px solid var(--vnext-gold); transform:rotate(45deg); vertical-align:1px; }

.vnext-enemy-battlefield { overflow:hidden; border-top:0; }
.vnext-enemy-battlefield > header { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 14px; }
.vnext-enemy-battlefield h2,.vnext-enemy-battlefield p { margin:0; }
.vnext-section-kicker { color:#d0878e; font:700 11px/1.2 var(--font-numeric); letter-spacing:.15em; }
.vnext-enemy-count { min-width:52px; padding:5px 9px; border:1px solid rgba(167,69,78,.5); color:#e4a2a7; text-align:center; font:700 13px/1.4 var(--font-numeric); }
.vnext-enemy-status-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--ui-border-subtle); border-top:1px solid var(--ui-border-subtle); }
.vnext-enemy-status-card { min-width:0; min-height:132px; padding:0; border:0; background:#11141a; color:inherit; display:grid; grid-template-columns:78px minmax(0,1fr); text-align:left; }
.vnext-enemy-status-card.is-defeated { filter:saturate(.35); opacity:.68; }
.vnext-enemy-image { min-height:132px; position:relative; display:grid; place-items:center; overflow:hidden; background:#080a0e; }
.vnext-enemy-image img { width:100%; height:100%; object-fit:cover; }
.vnext-image-fallback { width:34px; height:34px; border:1px solid var(--ui-border-strong); background:linear-gradient(135deg,transparent 45%,rgba(185,154,98,.28) 46% 54%,transparent 55%); }
.vnext-image-fallback[hidden] { display:none; }
.vnext-enemy-copy { min-width:0; padding:10px; display:grid; align-content:start; gap:5px; }
.vnext-enemy-heading { display:flex; gap:6px; justify-content:space-between; align-items:start; }
.vnext-enemy-heading strong { min-width:0; font-size:13px; line-height:1.3; overflow-wrap:anywhere; }
.vnext-enemy-flags,.vnext-enemy-tags { display:flex; flex-wrap:wrap; gap:4px; }
.vnext-enemy-flags span,.vnext-enemy-tags span,.vnext-reaction-chip { padding:2px 6px; border:1px solid var(--ui-border-subtle); background:rgba(255,255,255,.025); color:var(--ui-text-secondary); font-size:12px; }
.vnext-enemy-flags span { border-color:rgba(167,69,78,.5); color:#e4a2a7; }
.vnext-enemy-role { color:var(--ui-text-secondary); font-size:12px; }
.vnext-enemy-vitals { display:grid; gap:4px; }
.vnext-enemy-status-card .vnext-vitals { grid-template-columns:15px minmax(0,1fr) 35px; }
.vnext-enemy-status-card .vnext-vital-value { font-size:12px; }
.vnext-intel-analysis { border-top:1px solid var(--ui-border-subtle); }
.vnext-intel-analysis > summary,.vnext-information-section > summary { min-height:48px; padding:10px 13px; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:10px; cursor:pointer; font-weight:700; }
.vnext-intel-analysis > summary::-webkit-details-marker,.vnext-information-section > summary::-webkit-details-marker { display:none; }
.vnext-intel-analysis summary svg,.vnext-information-section summary svg { width:18px; height:18px; color:var(--vnext-gold); transition:transform 200ms ease; }
.vnext-intel-analysis[open] summary svg,.vnext-information-section[open] summary svg { transform:rotate(180deg); }
.vnext-enemy-intel-list { display:grid; gap:1px; background:var(--ui-border-subtle); border-top:1px solid var(--ui-border-subtle); }
.vnext-enemy-intel-list button { min-height:58px; padding:10px 12px; border:0; background:#11141a; color:inherit; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; text-align:left; }
.vnext-enemy-intel-list strong { display:block; }
.vnext-enemy-intel-list small { color:var(--ui-text-secondary); font-size:12px; }
.vnext-enemy-value { color:var(--vnext-gold); font-size:12px; }
.vnext-versus { height:24px; display:grid; place-items:center; position:relative; color:var(--vnext-gold); font:700 12px/1 var(--font-numeric); letter-spacing:.16em; }
.vnext-versus::before { content:""; position:absolute; inset:50% 0 auto; border-top:1px solid rgba(185,154,98,.25); }
.vnext-versus span { position:relative; padding:0 12px; background:var(--ui-bg-canvas,#090b11); }
.vnext-company-vitals { display:grid; gap:5px; }
.vnext-information-section { border-top:1px solid var(--ui-border-subtle); background:rgba(7,9,13,.55); }
.vnext-reaction-statuses { display:flex; flex-wrap:wrap; gap:6px; padding:0 13px; }
.vnext-reaction-chip.is-defeated,.vnext-reaction-chip.is-shield-broken,.vnext-reaction-chip.is-danger { border-color:rgba(167,69,78,.55); color:#e4a2a7; }
.vnext-reaction-text,.vnext-body-stage,.vnext-body-narrative { margin:0; padding:10px 13px 14px; color:var(--ui-text-secondary); font-size:13px; line-height:1.7; }
.vnext-body-stage { padding-bottom:8px; color:#c9b1dc; }
.vnext-body-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:0 12px 10px; }
.vnext-body-image { min-width:0; min-height:44px; padding:0 0 8px; border:1px solid var(--ui-border-subtle); background:#101219; color:inherit; text-align:left; overflow:hidden; }
.vnext-body-image-frame { display:block; height:116px; background:#080a0e; overflow:hidden; }
.vnext-body-image img { width:100%; height:100%; object-fit:cover; display:block; }
.vnext-body-image strong,.vnext-body-image small { display:block; padding:5px 8px 0; }
.vnext-body-image strong { font-size:13px; }
.vnext-body-image small { min-height:34px; color:var(--ui-text-secondary); font-size:12px; line-height:1.35; }
.vnext-body-slots { margin:0 12px; padding:9px 9px 9px 28px; border-left:2px solid var(--vnext-purple); background:rgba(118,91,143,.1); color:var(--ui-text-secondary); font-size:12px; }
.vnext-battle-log { margin:0; padding:0 13px 14px 32px; color:var(--ui-text-secondary); font-size:12px; }
.vnext-battle-log li + li { margin-top:6px; }

.vnext-intel { overflow:hidden; }
.vnext-intel > summary { list-style:none; min-height:56px; padding:11px 13px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; cursor:pointer; }
.vnext-intel > summary::-webkit-details-marker { display:none; }
.vnext-intel-title strong { display:block; font:700 15px/1.3 var(--font-display); }
.vnext-intel-title small { color:var(--ui-text-secondary); font-size:var(--lc-text-small); }
.vnext-intel > summary::after { content:"⌄"; color:var(--vnext-gold); font-size:20px; transform-origin:center; transition:transform 200ms ease; }
.vnext-intel[open] > summary::after { transform:rotate(180deg); }
.vnext-enemy-list { display:grid; gap:1px; border-top:1px solid var(--ui-border-subtle); background:var(--ui-border-subtle); }
.vnext-enemy-row { width:100%; min-height:58px; padding:10px 12px; border:0; background:#11141a; color:inherit; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; text-align:left; }
.vnext-enemy-row strong { display:block; }
.vnext-enemy-row small { color:var(--ui-text-secondary); }
.vnext-notice {
  min-height:44px; padding:10px 13px; border:1px solid rgba(185,154,98,.2); border-left:3px solid var(--vnext-red);
  background:linear-gradient(145deg,rgba(24,27,35,.96),rgba(12,14,20,.98)); color:var(--ui-text-secondary);
  box-shadow:0 14px 34px rgba(0,0,0,.28); font-size:12px;
}

.vnext-modal { width:min(92vw,560px); max-height:min(84dvh,760px); padding:0; border:1px solid rgba(185,154,98,.4); border-radius:2px; background:#11141b; color:var(--ui-text-primary); box-shadow:0 28px 80px #000; }
.vnext-modal::backdrop { background:rgba(3,4,7,.82); backdrop-filter:blur(3px); }
.vnext-modal-card { padding:18px 18px calc(18px + env(safe-area-inset-bottom)); overflow:auto; max-height:min(84dvh,760px); }
.vnext-modal-head { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:10px; align-items:start; padding-bottom:12px; border-bottom:1px solid var(--ui-border-subtle); }
.vnext-modal-head p,.vnext-modal-head h2 { margin:0; }
.vnext-modal-head p { color:var(--vnext-gold); font:11px/1.3 var(--font-numeric); letter-spacing:.16em; }
.vnext-modal-head h2 { font:700 22px/1.3 var(--font-display); }
.vnext-modal-close { width:44px; height:44px; border:1px solid var(--ui-border-strong); background:transparent; color:inherit; font-size:22px; }
.vnext-modal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.vnext-modal-stat { padding:10px; border:1px solid var(--ui-border-subtle); background:rgba(255,255,255,.025); }
.vnext-modal-stat dt { color:var(--ui-text-subdued); font-size:12px; }
.vnext-modal-stat dd { margin:4px 0 0; font-weight:700; }
.vnext-slot-card { margin-top:10px; padding:12px; border:1px solid var(--ui-border-subtle); border-left:3px solid var(--vnext-purple); }
.vnext-slot-card h3,.vnext-slot-card p { margin:0 0 6px; }
.vnext-slot-card progress { width:100%; accent-color:var(--vnext-purple); }

html[data-vnext-ui="true"] .breeding-vault-screen,
html[data-vnext-ui="true"] .egg-vault-screen { max-width:1120px; margin-inline:auto; }
html[data-vnext-ui="true"] .breeding-vault-heading { border-top:2px solid var(--vnext-gold,#b99a62); background:linear-gradient(135deg,#1a1d25,#0e1016); }
html[data-vnext-ui="true"] .breeding-vault-card { border-radius:2px; border-color:rgba(185,154,98,.22); background:linear-gradient(145deg,rgba(25,28,36,.98),rgba(13,15,21,.98)); box-shadow:0 12px 28px rgba(0,0,0,.24); }
html[data-vnext-ui="true"] .breeding-vault-card[data-rarity="rare"],
html[data-vnext-ui="true"] .breeding-vault-card[data-rarity="exceptional"] { border-top-color:#c9aa70; }
html[data-vnext-ui="true"] .breeding-vault-tabs { overflow-x:auto; scrollbar-width:thin; }
html[data-vnext-ui="true"] .breeding-vault-filters select,
html[data-vnext-ui="true"] .breeding-vault-filters input,
html[data-vnext-ui="true"] .reproduction-contract-card select,
html[data-vnext-ui="true"] .reproduction-contract-card input {
  min-height:44px;
  border:1px solid rgba(185,154,98,.28);
  border-radius:2px;
  background:#11141b;
  color:var(--ui-text-primary);
  color-scheme:dark;
}
html[data-vnext-ui="true"] .egg-hatch-card { border-radius:2px; border-color:rgba(185,154,98,.5); background:radial-gradient(circle at 50% 38%,rgba(109,88,127,.22),transparent 38%),#0d0f15; }
html[data-vnext-ui="true"] .egg-hatch-dialog {
  inset:8px;
  max-width:min(680px,calc(100vw - 16px));
  max-height:calc(100dvh - 16px);
  margin:auto;
  overflow:hidden;
}
html[data-vnext-ui="true"] .egg-hatch-card {
  max-height:calc(100dvh - 18px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
html[data-vnext-ui="true"] .egg-hatch-result-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
html[data-vnext-ui="true"] .egg-hatch-result-actions button { flex:1 1 150px; min-height:44px; }
html[data-vnext-ui="true"] .reproduction-material-disclosure { padding:10px; border:1px solid var(--ui-border-subtle); background:rgba(109,88,127,.07); }
html[data-vnext-ui="true"] .reproduction-material-disclosure summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--ui-text-secondary); }
html[data-vnext-ui="true"] .reproduction-material-disclosure label { display:grid; gap:6px; }

html[data-vnext-ui="true"] .pc-primary-nav [data-primary-nav="report"],
html[data-vnext-ui="true"] .pc-primary-nav [data-primary-nav="egg-vault"],
html[data-vnext-ui="true"] .mobile-primary-nav [data-primary-nav="report"],
html[data-vnext-ui="true"] .mobile-primary-nav [data-primary-nav="egg-vault"] { display:none; }
html[data-vnext-ui="true"] #mobile-bottom-nav {
  grid-template-columns:repeat(5,minmax(0,1fr));
}
html[data-vnext-ui="true"] #mobile-bottom-nav [data-mobile-nav="report"],
html[data-vnext-ui="true"] #mobile-bottom-nav [data-mobile-nav="army"],
html[data-vnext-ui="true"] #mobile-bottom-nav [data-mobile-nav="medical"] { display:none; }
html[data-vnext-ui="true"] #mobile-bottom-nav [data-mobile-nav="breeding-vault"] { display:flex; }

/* Product navigation: one restrained command rail for the five mobile destinations. */
@media (max-width:760px) {
  html[data-vnext-ui="true"] #mobile-bottom-nav {
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:calc(68px + env(safe-area-inset-bottom));
    min-height:calc(68px + env(safe-area-inset-bottom));
    padding:5px 4px env(safe-area-inset-bottom);
    border:0;
    border-top:1px solid rgba(178,147,87,.52);
    border-radius:0;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    background:linear-gradient(180deg,rgba(14,16,25,.985),rgba(7,9,16,.995));
    box-shadow:0 -10px 28px rgba(0,0,0,.48);
    transform:none;
    overflow:visible;
  }
  html[data-vnext-ui="true"] body.expedition-running #mobile-bottom-nav {
    display:grid!important;
  }
  html[data-vnext-ui="true"] body.expedition-running .battle-control-bar {
    bottom:calc(72px + env(safe-area-inset-bottom));
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav::before {
    content:"";
    position:absolute;
    right:0;
    bottom:100%;
    left:0;
    height:12px;
    background:linear-gradient(to top,rgba(6,8,14,.42),transparent);
    pointer-events:none;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button {
    position:relative;
    display:flex;
    min-width:0;
    min-height:58px;
    padding:5px 2px 4px;
    border:1px solid transparent;
    border-radius:4px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    color:#b9a983;
    background:transparent;
    box-shadow:none;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button + button::before {
    content:"";
    position:absolute;
    top:8px;
    bottom:8px;
    left:-1px;
    width:1px;
    background:linear-gradient(transparent,rgba(167,137,80,.36),transparent);
    pointer-events:none;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button .ui-icon {
    width:23px;
    height:23px;
    color:#b8a573;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button b {
    display:block;
    width:100%;
    min-width:0;
    overflow:visible;
    color:#ddd1b6;
    font-size:12px;
    font-weight:650;
    line-height:1.15;
    letter-spacing:.01em;
    text-align:center;
    text-overflow:clip;
    white-space:nowrap;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button[aria-current="page"] {
    border-color:transparent;
    color:#f0e8d5;
    background:radial-gradient(ellipse at 50% 82%,rgba(129,96,157,.26),transparent 66%);
    box-shadow:none;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button[aria-current="page"]::after {
    content:"";
    position:absolute;
    top:2px;
    left:50%;
    width:20px;
    height:2px;
    border-radius:2px;
    background:#b9a1c7;
    transform:translateX(-50%);
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button[aria-current="page"] .ui-icon {
    color:#e5d0a0;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav button:focus-visible {
    outline:2px solid #d4b56f;
    outline-offset:-3px;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav #mobile-more-badge,
  html[data-vnext-ui="true"] #mobile-bottom-nav #mobile-egg-vault-badge {
    position:absolute;
    top:3px;
    right:4px;
    display:grid;
    min-width:19px;
    max-width:30px;
    height:19px;
    padding:0 4px;
    border:1px solid rgba(229,195,136,.38);
    border-radius:10px;
    place-items:center;
    color:#fff1d6;
    background:#8a3e36;
    box-shadow:0 1px 5px rgba(0,0,0,.55);
    font:700 11px/1 var(--font-numeric,Arial,sans-serif);
    font-style:normal;
    white-space:nowrap;
  }
  html[data-vnext-ui="true"] #mobile-bottom-nav #mobile-more-badge[hidden],
  html[data-vnext-ui="true"] #mobile-bottom-nav #mobile-egg-vault-badge[hidden] {
    display:none;
  }
}

@media (min-width: 761px) {
  .vnext-battle-shell { grid-template-columns:1fr; padding:18px 18px 40px; }
  .vnext-captain-hero { grid-template-columns:250px minmax(0,1fr); min-height:340px; }
  .vnext-captain-portrait,.vnext-captain-portrait img { min-height:340px; }
  .vnext-company-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vnext-enemy-status-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .vnext-enemy-status-card { grid-template-columns:96px minmax(0,1fr); }
  .vnext-body-images { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .vnext-body-image-frame { height:150px; }
  html[data-vnext-ui="true"] .pc-primary-nav { max-width:760px; margin-inline:auto; }
}

@media (max-width: 380px) {
  .vnext-battle-shell { padding-inline:7px; gap:8px; }
  .vnext-captain-hero { grid-template-columns:108px minmax(0,1fr); }
  .vnext-captain-copy { padding:12px 9px; }
  .vnext-captain-tab { grid-template-columns:34px minmax(0,1fr); padding:5px; }
  .vnext-captain-tab img { width:34px; height:40px; }
  .vnext-modal-card { padding:13px; }
  html[data-vnext-ui="true"] .egg-hatch-visual { min-height:170px; }
  .vnext-enemy-status-card { grid-template-columns:64px minmax(0,1fr); }
  .vnext-enemy-image { min-height:132px; }
  .vnext-enemy-copy { padding:8px 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .vnext-vital-fill,.vnext-intel > summary::after { transition:none; }
}

/* 2026-08 mock-aligned battle command layout --------------------------- */
.vnext-command-location { min-width:0; padding-left:32px; position:relative; overflow:hidden; }
.vnext-command-location::before {
  content:""; position:absolute; left:0; top:50%; width:23px; height:23px;
  border:1px solid var(--vnext-gold); transform:translateY(-50%) rotate(45deg);
  opacity:.72;
}
.vnext-command-action {
  min-width:44px; min-height:44px; padding:5px 7px; border:0;
  background:transparent; color:var(--ui-text-primary);
  display:grid; place-items:center; gap:3px; font:700 12px/1.15 var(--font-body);
}
.vnext-command-action:hover,.vnext-command-action:focus-visible { background:rgba(185,154,98,.08); }
.vnext-command-action svg { width:20px; height:20px; }
.vnext-action-label-short { display:none; }
.vnext-enemy-situation {
  height:210px; min-height:210px; position:relative; overflow:hidden; border:1px solid rgba(168,140,88,.38); border-top:2px solid var(--vnext-gold);
  display:grid; grid-template-rows:56px minmax(0,1fr); background:#0b0e14; box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.vnext-enemy-situation .vnext-command-header { min-height:0; border:0; border-bottom:1px solid rgba(185,154,98,.22); box-shadow:none; }
.vnext-enemy-situation-body { min-height:0; position:relative; overflow:hidden; }
.vnext-normal-encounter,.vnext-boss-encounter { height:100%; min-height:0; }
.vnext-normal-encounter { padding:3px 12px 5px; display:grid; grid-template-rows:19px 27px minmax(0,1fr); gap:1px; }
.vnext-normal-encounter[hidden],.vnext-boss-encounter[hidden] { display:none; }
.vnext-invasion-row { min-width:0; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.vnext-invasion-row > div { min-width:0; display:flex; align-items:baseline; gap:8px; }
.vnext-invasion-label,.vnext-current-enemy-label,.vnext-boss-minions > small { color:#a69f92; font-size:12px; letter-spacing:.03em; }
.vnext-invasion-floor { color:#e7ddc7; font:700 15px/1.2 var(--font-display); white-space:nowrap; }
.vnext-battle-sequence { color:#c4a865; font:700 12px/1 var(--font-numeric); }
.vnext-invasion-track { min-width:0; height:27px; margin:0; padding:0 4px; list-style:none; display:flex; align-items:start; justify-content:space-between; }
.vnext-invasion-track li { position:relative; flex:1; display:grid; justify-items:center; color:#656871; font:600 10px/1.1 var(--font-numeric); }
.vnext-invasion-track li::before { content:""; position:absolute; z-index:0; top:5px; right:50%; left:-50%; border-top:1px solid #353840; }
.vnext-invasion-track li:first-child::before { display:none; }
.vnext-invasion-track i { position:relative; z-index:1; width:10px; height:10px; border:1px solid #50535b; background:#101319; transform:rotate(45deg); }
.vnext-invasion-track small { margin-top:4px; font:inherit; }
.vnext-invasion-track .is-cleared i { border-color:#8f774d; background:#5e4e31; }
.vnext-invasion-track .is-current { color:#d8c8aa; }
.vnext-invasion-track .is-current i { border-color:#b99bc8; background:#81609d; box-shadow:0 0 8px rgba(129,96,157,.5); }
.vnext-current-enemies { min-height:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; }
.vnext-normal-encounter.is-empty .vnext-current-enemies { grid-template-columns:minmax(0,1fr); place-items:center; }
.vnext-normal-encounter.is-empty .vnext-current-enemy-label { color:#827d73; font-size:13px; }
.vnext-enemy-icon-list { min-width:0; height:100%; display:flex; justify-content:center; align-items:center; gap:clamp(12px,5vw,30px); }
.vnext-enemy-icon-card,.vnext-minion-icon { min-width:0; padding:0; border:0; background:transparent; color:#e5dcc8; display:grid; justify-items:center; gap:2px; }
.vnext-enemy-icon-card { width:76px; }
.vnext-enemy-icon-card.is-defeated,.vnext-minion-icon.is-defeated { opacity:.45; filter:saturate(.35); }
.vnext-enemy-icon-image { position:relative; width:54px; height:54px; overflow:visible; border:1px solid rgba(168,140,88,.42); border-radius:50%; background:#080a0e; display:grid; place-items:center; box-shadow:0 5px 14px rgba(0,0,0,.4); }
.vnext-enemy-icon-image img { width:100%; height:100%; border-radius:inherit; object-fit:cover; }
.vnext-enemy-icon-image .vnext-image-fallback { width:22px; height:22px; }
.vnext-enemy-icon-card strong { max-width:76px; overflow:hidden; color:#d0c7b7; font-size:12px; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
.vnext-enemy-icon-list[data-enemy-count="1"] .vnext-enemy-icon-card { width:220px; grid-template-columns:92px minmax(0,1fr); align-items:center; justify-items:start; gap:10px; text-align:left; }
.vnext-enemy-icon-list[data-enemy-count="1"] .vnext-enemy-icon-image { width:92px; height:92px; }
.vnext-enemy-icon-list[data-enemy-count="1"] .vnext-enemy-icon-card strong { max-width:116px; font-size:13px; line-height:1.25; white-space:normal; }
.vnext-enemy-icon-list[data-enemy-count="2"] .vnext-enemy-icon-image { width:66px; height:66px; }
.vnext-enemy-icon-list[data-enemy-count="3"] .vnext-enemy-icon-image,
.vnext-enemy-icon-list[data-enemy-count="4"] .vnext-enemy-icon-image { width:52px; height:52px; }
.vnext-rare-marker { position:absolute; top:-3px; right:-3px; width:10px; height:10px; border:1px solid #e1c985; background:#8c7040; transform:rotate(45deg); }
.vnext-boss-encounter { padding:6px 12px; display:grid; grid-template-columns:minmax(0,1fr) 116px; gap:10px; background:radial-gradient(circle at 20% 46%,rgba(129,96,157,.18),transparent 38%); }
.vnext-boss-card { min-width:0; padding:0; border:0; background:transparent; color:inherit; display:grid; grid-template-columns:116px minmax(0,1fr); gap:12px; text-align:left; }
.vnext-boss-image { min-height:0; position:relative; overflow:hidden; border:1px solid rgba(129,96,157,.72); background:#080a0e; display:grid; place-items:center; box-shadow:0 0 18px rgba(105,70,132,.24); }
.vnext-boss-image img { width:100%; height:100%; object-fit:cover; }
.vnext-boss-copy { min-width:0; display:grid; align-content:center; gap:3px; }
.vnext-boss-kicker { color:#b99bc8; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.vnext-boss-name { overflow:hidden; font:700 20px/1.2 var(--font-display); text-overflow:ellipsis; white-space:nowrap; }
.vnext-boss-hp,.vnext-boss-break { display:block; }
.vnext-boss-hp .vnext-vitals,.vnext-boss-break .vnext-vitals { grid-template-columns:42px minmax(0,1fr) 38px; }
.vnext-boss-hp .vnext-vital-icon,.vnext-boss-break .vnext-vital-icon { font-size:0; }
.vnext-boss-hp .vnext-vital-icon::after { content:"HP"; font-size:12px; }
.vnext-boss-break .vnext-vital-icon::after { content:"BREAK"; font-size:10px; }
.vnext-boss-minions { min-width:0; display:grid; grid-template-rows:auto minmax(0,1fr); align-items:center; }
.vnext-boss-minion-list { min-width:0; display:flex; align-items:center; justify-content:center; gap:7px; }
.vnext-minion-icon { width:34px; }
.vnext-minion-icon .vnext-enemy-icon-image { width:34px; height:34px; }
.vnext-minion-icon strong { display:none; }
.vnext-enemy-feature-button {
  width:100%; min-height:152px; padding:10px; border:0; background:#10131a; color:inherit;
  display:grid; grid-template-columns:132px minmax(0,1fr); gap:14px; text-align:left;
}
.vnext-enemy-feature .vnext-enemy-image { min-height:132px; border:1px solid rgba(118,91,143,.55); }
.vnext-enemy-feature .vnext-enemy-copy { align-content:center; padding:2px 4px; gap:8px; }
.vnext-enemy-feature .vnext-enemy-heading strong { font:700 clamp(18px,4vw,24px)/1.3 var(--font-display); }
.vnext-enemy-feature .vnext-enemy-vitals { max-width:520px; }
.vnext-enemy-feature .vnext-vitals { grid-template-columns:64px minmax(0,1fr) 52px; }
.vnext-enemy-feature .vnext-vital-icon { font-size:0; }
.vnext-enemy-feature .vnext-vital-icon::after { color:var(--ui-text-subdued); font:var(--lc-text-small)/1 var(--font-numeric); }
.vnext-enemy-feature .vnext-vitals:first-child .vnext-vital-icon::after { content:"HP"; }
.vnext-enemy-feature .vnext-vitals:last-child .vnext-vital-icon::after { content:"SHIELD"; }
.vnext-enemy-secondary-list {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--lc-card-gap);
  padding:var(--lc-card-gap); border-top:1px solid var(--ui-border-subtle); background:#090b10;
}
.vnext-enemy-secondary-list[hidden] { display:none; }
.vnext-enemy-secondary-card {
  min-width:0; min-height:116px; padding:10px; border:1px solid var(--lc-border-gold); border-radius:var(--lc-card-radius);
  background:var(--lc-card-bg); color:inherit; display:grid; align-content:start; gap:7px; text-align:left;
}
.vnext-enemy-secondary-card.is-defeated { filter:saturate(.35); opacity:.68; }
.vnext-enemy-secondary-heading { display:grid; gap:2px; min-width:0; }
.vnext-enemy-secondary-heading strong { min-width:0; font:700 17px/1.25 var(--font-display); overflow-wrap:anywhere; }
.vnext-enemy-secondary-heading small { color:var(--ui-text-secondary); font-size:var(--lc-text-small); }
.vnext-enemy-secondary-vitals { display:grid; gap:4px; }
.vnext-enemy-secondary-vitals .vnext-vitals { grid-template-columns:48px minmax(0,1fr) 38px; }
.vnext-enemy-secondary-vitals .vnext-vital-icon { font-size:0; }
.vnext-enemy-secondary-vitals .vnext-vital-icon::after { color:var(--ui-text-subdued); font:var(--lc-text-small)/1 var(--font-numeric); }
.vnext-enemy-secondary-vitals .vnext-vitals:first-child .vnext-vital-icon::after { content:"HP"; }
.vnext-enemy-secondary-vitals .vnext-vitals:last-child .vnext-vital-icon::after { content:"SHIELD"; }
.vnext-enemy-secondary-tags { display:flex; flex-wrap:wrap; gap:4px; }
.vnext-enemy-secondary-tags span { padding:2px 6px; border:1px solid rgba(167,69,78,.5); color:#e4a2a7; font-size:var(--lc-text-small); }
.vnext-intel-analysis > summary { color:var(--ui-text-secondary); }

.vnext-captain-list { display:grid; gap:var(--lc-card-gap); }
.vnext-captain-card {
  min-width:0; min-height:148px; border:1px solid rgba(168,140,88,.28); border-radius:var(--lc-card-radius);
  background:#0d1118;
  display:grid; grid-template-columns:var(--lc-portrait-width-pc) minmax(0,1fr); overflow:hidden;
}
.vnext-captain-card.is-selected { border-color:rgba(168,140,88,.34); box-shadow:inset 3px 0 rgba(129,96,157,.72); }
.vnext-captain-card-portrait { position:relative; min-width:0; min-height:148px; margin:0; padding:0; border:0; overflow:hidden; background:#07090d; }
.vnext-captain-card-portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 62%,rgba(13,17,24,.78) 100%),linear-gradient(0deg,rgba(7,9,14,.24),transparent 52%); box-shadow:inset -8px 0 16px rgba(7,9,14,.28); pointer-events:none; }
.vnext-captain-card-portrait img { position:absolute; inset:0; width:100%; height:100%; min-height:0; display:block; object-fit:cover; object-position:var(--portrait-position,50% 14%); filter:saturate(.9) contrast(1.08) brightness(.86) sepia(.03); }
.vnext-captain-card-copy { min-width:0; padding:7px 10px; display:grid; grid-template-rows:auto minmax(0,1fr); gap:3px; }
.vnext-captain-card-copy > header { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.vnext-captain-card-copy h2 { margin:0; font:700 19px/1.2 var(--font-display); }
.vnext-captain-statuses { min-height:44px; margin:-6px -4px -8px 0; display:flex; justify-content:flex-end; gap:0; }
.vnext-main-status { width:44px; height:44px; padding:8px; border:0; border-radius:0; background:transparent; color:#c9add8; display:grid; place-items:center; }
.vnext-main-status.is-danger,.vnext-main-status.is-defeated,.vnext-main-status.is-incapacitated { color:#df8e96; }
.vnext-main-status > svg { width:26px; height:26px; }
.vnext-egg-status-icon { width:27px; height:27px; overflow:visible; }
.vnext-egg-status-icon path:first-child { fill:rgba(133,101,157,.22); stroke:currentColor; stroke-width:1.4; }
.vnext-egg-status-icon circle { fill:#d7ba76; opacity:.92; }
.vnext-egg-status-icon path:last-child { fill:none; stroke:currentColor; stroke-width:1; opacity:.28; }
.vnext-egg-status-icon.is-core path:first-child,.vnext-egg-status-icon.is-germ path:first-child { stroke-dasharray:2 2; }
.vnext-egg-status-icon.is-complete path:first-child { fill:rgba(176,147,88,.24); stroke:#d5b86f; }
.vnext-egg-secondary,.vnext-egg-thorn { fill:none; stroke:currentColor; stroke-width:1.4; opacity:.82; }
.vnext-egg-status-icon.is-enemy { color:#c77d8a; }
.vnext-captain-companies { min-height:0; display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); }
.vnext-company-summary { min-width:0; min-height:0; padding:3px 0 4px; border:0; background:transparent; color:inherit; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 9px; align-content:center; text-align:left; }
.vnext-company-summary + .vnext-company-summary { border-top:1px solid rgba(168,140,88,.14); }
.vnext-company-summary.is-defeated { opacity:.58; filter:saturate(.4); }
.vnext-company-summary-head { min-width:0; display:block; }
.vnext-company-summary-head strong { display:block; overflow:hidden; font-size:14px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.vnext-company-manpower { color:#d8c8a9; font:700 14px/1.2 var(--font-numeric); font-variant-numeric:tabular-nums; display:inline-flex; align-items:center; justify-content:flex-end; gap:4px; }
.vnext-company-manpower b { font:inherit; }
.vnext-company-manpower-icon,.vnext-durability-icon { width:15px; height:15px; color:#a88c58; display:grid; place-items:center; }
.vnext-company-manpower-icon svg,.vnext-durability-icon svg { width:15px; height:15px; }
.vnext-company-summary.is-manpower-warning .vnext-company-manpower { color:#c4a45c; }
.vnext-company-summary.is-manpower-critical .vnext-company-manpower { color:#d16670; }
.vnext-company-summary.is-manpower-critical .vnext-company-manpower-icon { color:#d16670; }
.vnext-company-danger-marker { display:none; width:0; height:0; border-right:4px solid transparent; border-bottom:7px solid currentColor; border-left:4px solid transparent; }
.vnext-company-summary.is-manpower-critical .vnext-company-danger-marker { display:block; }
.vnext-durability { grid-column:1/-1; align-self:end; display:grid; grid-template-columns:15px minmax(0,1fr); align-items:center; gap:5px; }
.vnext-durability-track { --shield-share:0%; height:9px; border:0; background:var(--lc-gauge-empty); display:grid; grid-template-columns:minmax(0,1fr) var(--shield-share); overflow:hidden; }
.vnext-hp-zone,.vnext-shield-zone { min-width:0; height:100%; background:var(--lc-gauge-empty); }
.vnext-hp-zone i,.vnext-shield-zone i { display:block; height:100%; }
.vnext-hp-zone i { background:var(--lc-hp); }
.vnext-durability.is-critical .vnext-hp-zone i { background:#c74a57; }
.vnext-shield-zone { border-left:0 solid rgba(255,255,255,.28); }
.vnext-durability.has-shield .vnext-shield-zone { border-left-width:1px; }
.vnext-shield-zone i { background:var(--lc-shield); }

.vnext-notice-list { position:absolute; z-index:4; top:56px; right:8px; left:8px; height:30px; pointer-events:none; border:1px solid rgba(168,140,88,.18); background:rgba(10,13,19,.92); box-shadow:0 5px 14px rgba(0,0,0,.3); }
.vnext-notice-list[hidden] { display:none; }
.vnext-notice-row { height:30px; padding:3px 9px; display:grid; grid-template-columns:14px minmax(0,1fr); gap:7px; align-items:center; color:#b8b0a2; font-size:12px; }
.vnext-notice-row > span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vnext-notice-bell { width:12px; height:12px; border:1px solid var(--vnext-gold); border-radius:50%; color:transparent; }
.vnext-captain-detail-body { display:grid; gap:12px; }
.vnext-detail-section { padding-top:12px; }
.vnext-detail-section + .vnext-detail-section { border-top:1px solid var(--ui-border-subtle); }
.vnext-detail-section h3 { margin:0 0 9px; color:var(--vnext-gold); }
.vnext-detail-section p { color:var(--ui-text-secondary); line-height:1.7; }

.vnext-pause-dialog {
  width:min(560px,calc(100vw - 40px)); max-height:min(82dvh,680px); box-sizing:border-box;
  padding:0; border:1px solid rgba(185,154,98,.72); border-radius:8px;
  color:var(--ui-text-primary); background:#0d1018;
  box-shadow:0 28px 90px rgba(0,0,0,.82),inset 0 0 0 1px rgba(118,91,143,.2);
}
.vnext-pause-dialog::backdrop { background:rgba(3,5,10,.82); backdrop-filter:blur(2px); }
.vnext-pause-dialog-card { padding:24px; display:grid; gap:20px; }
.vnext-pause-dialog-card header { text-align:center; }
.vnext-pause-dialog-kicker { margin:0 0 5px; color:var(--vnext-gold); font:700 11px/1.3 var(--font-body); letter-spacing:.18em; }
.vnext-pause-dialog-card h2 { margin:0; color:#eee3c9; font:700 25px/1.35 var(--font-display); }
.vnext-pause-dialog-description { margin:8px 0 0; color:var(--ui-text-secondary); font-size:13px; line-height:1.6; }
.vnext-pause-dialog-actions { display:grid; gap:10px; }
.vnext-pause-dialog-actions button { width:100%; min-height:48px; padding:10px 16px; border-radius:3px; font-size:14px; font-weight:700; }
.vnext-pause-resume { border:1px solid #d8b96f; color:#17130c; background:linear-gradient(#d7bc7b,#ae8b46); box-shadow:inset 0 1px rgba(255,255,255,.24); }
.vnext-pause-stop { border:1px solid rgba(185,154,98,.52); color:#e5dcc8; background:#171a23; }
.vnext-pause-retreat { border:1px solid rgba(176,113,67,.72); color:#ebc7a9; background:rgba(103,58,35,.28); }
.vnext-pause-surrender { border:1px solid rgba(155,70,68,.82); color:#edbeb9; background:rgba(92,35,39,.34); }
.vnext-pause-dialog-actions button:focus-visible { outline:2px solid #e1c77e; outline-offset:2px; }
.vnext-pause-dialog-actions button:disabled { opacity:.58; cursor:default; }

@media (min-width:761px) {
  html[data-vnext-ui="true"].vnext-battle-main-active .battle-control-bar { display:none!important; }
  html[data-vnext-ui="true"] #mobile-bottom-nav { display:none!important; }
  html[data-vnext-ui="true"].vnext-battle-main-active .game-header > .header-legion,
  html[data-vnext-ui="true"].vnext-battle-main-active .header-expedition > :not(.header-route-settings) { display:none!important; }
  html[data-vnext-ui="true"].vnext-battle-main-active .game-header > .header-expedition { display:contents; }
  html[data-vnext-ui="true"].vnext-battle-main-active .header-route-settings:not([data-mobile-open="true"]),
  html[data-vnext-ui="true"].vnext-battle-main-active #expedition-status-panel:not([data-mobile-open="true"]) { display:none!important; }
  html[data-vnext-ui="true"].vnext-battle-main-active .header-route-settings[data-mobile-open="true"],
  html[data-vnext-ui="true"].vnext-battle-main-active #expedition-status-panel[data-mobile-open="true"] {
    position:fixed; z-index:820; top:50%; left:50%; right:auto; bottom:auto;
    display:grid!important; width:min(760px,calc(100vw - 32px)); max-height:min(76dvh,620px);
    overflow:auto; padding:18px; border:1px solid rgba(185,154,98,.5);
    background:#14161c; box-shadow:0 24px 70px rgba(0,0,0,.72); transform:translate(-50%,-50%);
  }
  html[data-vnext-ui="true"].vnext-battle-main-active #expedition-status-panel[data-mobile-open="true"] {
    grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
  }
  html[data-vnext-ui="true"].vnext-battle-main-active .game-header {
    min-height:0; padding-block:8px; grid-template-columns:minmax(0,1fr);
  }
  html[data-vnext-ui="true"].vnext-battle-main-active .pc-primary-nav {
    grid-column:1; width:min(100%,920px); margin-inline:auto;
  }
  html[data-vnext-ui="true"].vnext-battle-main-active #next-objective { display:none!important; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-battle-shell { gap:8px; padding-top:10px; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-command-header { min-height:0; padding:6px 10px; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-command-action { min-height:44px; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-enemy-feature-button {
    grid-template-columns:132px minmax(0,1fr); min-height:112px; padding:7px 10px; gap:10px;
  }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-enemy-feature .vnext-enemy-image { min-height:96px; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-intel-analysis summary { min-height:38px; padding-block:6px; }
  html[data-vnext-ui="true"].vnext-battle-main-active .vnext-versus { min-height:26px; padding-block:0; }
  .vnext-captain-card { height:148px; min-height:0; grid-template-columns:var(--lc-portrait-width-pc) minmax(0,1fr); }
  .vnext-captain-card-portrait { height:148px; min-height:0; }
}

@media (max-width:760px) {
  html[data-vnext-ui="true"] .game-header .header-legion,
  html[data-vnext-ui="true"] .game-header .mobile-expedition-summary,
  html[data-vnext-ui="true"] .game-header .mobile-header-action,
  html[data-vnext-ui="true"] .game-header .header-location,
  html[data-vnext-ui="true"] .game-header .display-settings-button,
  html[data-vnext-ui="true"] .game-header .battle-status,
  html[data-vnext-ui="true"] .game-header .expedition-toggle-button { display:none!important; }
  html[data-vnext-ui="true"] .game-header { min-height:0; padding:0; border:0; background:transparent; }
  html[data-vnext-ui="true"].vnext-battle-main-active #next-objective { width:calc(100% - 12px); min-height:40px; max-height:44px; margin:4px 6px; padding:5px 10px; border-radius:3px; white-space:nowrap; overflow:hidden; }
  html[data-vnext-ui="true"].vnext-battle-main-active #next-objective strong { min-width:0; overflow:hidden; font-size:12px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
  .vnext-battle-shell { padding:6px 6px calc(84px + env(safe-area-inset-bottom)); }
  .vnext-command-header { align-items:stretch; }
  .vnext-command-actions { grid-template-columns:86px 44px 44px; }
  .vnext-command-action { min-width:44px; min-height:44px; padding-inline:4px; font-size:12px; }
  .vnext-enemy-situation { height:192px; min-height:192px; grid-template-rows:55px minmax(0,1fr); }
  .vnext-captain-card { height:146px; min-height:146px; grid-template-columns:var(--lc-portrait-width-mobile) minmax(0,1fr); }
  .vnext-captain-card-portrait { height:146px; min-height:146px; }
  .vnext-notice-list { top:55px; right:6px; left:6px; }
}

@media (max-width:430px) {
  .vnext-command-header { grid-template-columns:minmax(0,1fr) 174px; gap:5px; padding-inline:6px; }
  .vnext-command-actions { grid-template-columns:82px 44px 44px; gap:0; }
  .vnext-command-action { min-width:0; min-height:52px; padding:3px 1px; white-space:nowrap; font-size:12px; }
  .vnext-command-action span { white-space:nowrap; }
  .vnext-action-label-full { display:none; }
  .vnext-action-label-short { display:inline; }
  .vnext-command-action svg { width:19px; height:19px; }
  .vnext-command-location { min-height:42px; display:grid; align-content:center; padding-left:26px; }
  .vnext-command-location::before { width:18px; height:18px; }
  .vnext-command-title { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vnext-command-meta { max-width:100%; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .vnext-normal-encounter { padding-inline:8px; }
  .vnext-current-enemy-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .vnext-normal-encounter.is-empty .vnext-current-enemy-label { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
  .vnext-current-enemies { grid-template-columns:minmax(0,1fr); }
  .vnext-enemy-icon-list { gap:clamp(10px,7vw,26px); }
  .vnext-boss-encounter { grid-template-columns:minmax(0,1fr) 82px; gap:7px; padding-inline:8px; }
  .vnext-boss-card { grid-template-columns:88px minmax(0,1fr); gap:8px; }
  .vnext-boss-name { font-size:17px; }
  .vnext-boss-minion-list { gap:3px; }
  .vnext-minion-icon .vnext-enemy-icon-image { width:26px; height:26px; }
  .vnext-captain-card-copy { padding:7px 9px; gap:2px; }
  .vnext-captain-card-copy h2 { font-size:var(--lc-name-mobile); }
  .vnext-captain-companies { gap:0; }
  .vnext-company-summary { min-height:0; padding:2px 0 3px; }
  .vnext-company-summary-head strong { font-size:13px; }
}

@media (max-width:360px) {
  .vnext-battle-shell { --lc-portrait-width-mobile:104px; }
  .vnext-command-header { grid-template-columns:minmax(0,1fr) 166px; }
  .vnext-command-actions { grid-template-columns:76px 44px 44px; }
  .vnext-enemy-icon-list[data-enemy-count="1"] .vnext-enemy-icon-card { width:198px; grid-template-columns:88px minmax(0,1fr); }
  .vnext-enemy-icon-list[data-enemy-count="1"] .vnext-enemy-icon-image { width:88px; height:88px; }
  .vnext-captain-card { height:144px; min-height:144px; }
  .vnext-captain-card-portrait { height:144px; min-height:144px; }
  .vnext-captain-card-copy { padding-inline:7px; }
  .vnext-company-summary-head strong { font-size:13px; }
  .vnext-company-manpower { font-size:13px; }
}
