/* These two pages use a device viewport. Scope overrides to avoid changing
   legacy fixed-width pages. Important rules override the shared theme only. */
.responsive-battlelog { --battlelog-side-gap: 16px; font-size: 16px; }
/* Body cards and both partner banners share one width at every viewport. */
.responsive-battlelog > main,
.responsive-battlelog > .pdcaStoreFooter {
  width: min(calc(100% - var(--battlelog-side-gap) * 2), 860px);
  max-width: 860px;
  margin-inline: auto;
}
.responsive-battlelog main { padding: 24px 0; }
.responsive-battlelog h1 { font-size: clamp(30px, 6vw, 48px) !important; line-height: 1.15 !important; margin-bottom: 20px; }
.responsive-battlelog button, .responsive-battlelog input, .responsive-battlelog select { min-width: 0; }
.responsive-battlelog :is(button, a, select, input):focus-visible { outline: 3px solid #f0ca80; outline-offset: 3px; }
.responsive-battlelog .card { padding: 20px; margin-bottom: 16px; }
.responsive-battlelog .status { font-size: 14px; min-height: 0; padding: 12px; overflow-wrap: anywhere; }
.responsive-battlelog .home { width: 48px !important; min-width: 48px !important; height: 48px !important; min-height: 48px !important; font-size: 24px !important; }


/* Profile identity above, two concise rows of records below. */
.battlelog-page .accountSummary { grid-template-columns: 88px minmax(0, 1fr); gap: 14px !important; }
.battlelog-page .accountSummary > div { min-width: 0; }
.battlelog-page .summaryAvatar { width: 88px !important; height: 100px !important; }
.battlelog-page .summaryHead { margin: 0; }
.battlelog-page .summaryHead > div:first-child { min-width: 0; }
.battlelog-page .summaryName { font-size: 26px; overflow-wrap: anywhere; }
.battlelog-page .summaryTitleLine { gap: 8px; }
.battlelog-page .summaryMeta, .battlelog-page .walletText { font-size: 14px; margin-top: 5px; }
.battlelog-page .rankPill { font-size: 14px; }
.battlelog-page .summaryStats { grid-column: 1 / -1; margin: 0; }
.battlelog-page .summaryStat { font-size: 15px; padding: 12px; line-height: 1.7; letter-spacing: -.03em; }
.battlelog-page .summaryStat .statLine { white-space: normal; overflow: visible; text-overflow: clip; }
.battlelog-page .statCombat, .battlelog-page .statMissions { display: inline-block; }
.battlelog-page .statLabel { font-weight: 850; }
.battlelog-page .statMissions { color: #c9d4df; margin-left: 8px; }
.battlelog-page .summaryStat .statLine + .statLine { margin-top: 8px; padding-top: 8px; border-top: 1px solid #ffffff18; }
.battlelog-page .profileGear { width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; font-size: 22px !important; }
.battlelog-page .menu a, .battlelog-page button { min-height: 56px; font-size: 20px; padding: 12px; }
.battlelog-page .menuBox { padding: 16px; margin-top: 14px; }
.battlelog-page .menuTitle { font-size: 17px !important; }
.battlelog-page .authBox h2 { font-size: 24px !important; }
.battlelog-page .authBox p { font-size: 14px; }
.battlelog-page .authBox input { font-size: 18px; padding: 12px; min-height: 48px; }
.battlelog-page .modalBackdrop { padding: 16px; align-items: center; }
.battlelog-page .modalPanel { width: min(690px, 100%); max-height: calc(100dvh - 32px); }
.battlelog-page .receiptHead { flex-wrap: wrap; font-size: 16px; }
.battlelog-page .receiptClose { width: auto; min-height: 44px; font-size: 16px; }
.battlelog-page .receiptPaper { min-height: 180px; overflow-wrap: anywhere; }

/* Compact action -> target -> send flow; keep all six actions in a 2-column grid. */
.network-page .top { margin-bottom: 16px; }
.network-page .top h1 { margin: 0; }
.network-page #sessionTitle { font-size: 14px; overflow-wrap: anywhere; }
.network-page #controlCard { --record-action-height: 76px; }
.network-page #controlCard .action-grid { gap: 12px; padding: 0; }
.network-page #controlCard .action-grid > * { font-size: 22px !important; padding: 12px; line-height: 1.3; text-align: center; }
.network-page #controlCard #targetSelect { min-height: 56px !important; font-size: 18px; margin-top: 0; padding: 12px; }
.network-page #controlCard #requestBtn { width: 100%; min-height: 60px !important; margin-top: 12px; font-size: 20px; }
.network-page #recordTypeHelp { margin: 14px 0 10px; font-size: 14px; }
.network-page #requestFeedback { font-size: 14px; }
.network-page .request-controls { gap: 12px; margin: 0; }
.network-page #receivedToggle, .network-page #sentToggle { min-height: 56px; padding: 12px; font-size: 18px; }
.network-page .request-badge { min-width: 28px; height: 28px; top: -9px; right: -7px; font-size: 14px; padding: 0 6px; border-width: 2px; }
.network-page .rank-bar { grid-template-columns: minmax(0, 1fr) 52px; gap: 8px; }
.network-page .rank-bar #rankLine.rank-line { min-height: 72px !important; padding: 10px !important; border-radius: 16px !important; }
.network-page .rank-popup-btn { min-height: 72px !important; border-radius: 16px !important; font-size: 24px !important; }
.network-page .rank-pill { font-size: 15px; min-height: 28px; padding: 6px 9px; }
.network-page .rank-stat { font-size: 14px; padding: 5px 7px; }
.network-page .rank-main-line, .network-page .rank-sub-line { gap: 5px; }
.network-page #checkinBox .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.network-page #checkinBox .grid button { font-size: 16px; padding: 8px; min-height: 52px; word-break: keep-all; }
.network-page .page-link { min-height: 56px; font-size: 18px; }
.network-page .rank-modal-overlay { padding: 16px; }
.network-page .rank-modal { max-height: calc(100dvh - 32px); }
.network-page .rank-modal-head, .network-page .network-modal-head { padding: 16px; gap: 12px; }
.network-page .rank-modal-head h2, .network-page .network-modal-head h2 { font-size: 22px; }
.network-page .rank-modal-close, .network-page .network-modal-overlay .network-modal-close { min-width: 64px; min-height: 44px; padding: 10px 14px; font-size: 16px; }
.network-page .request-list-body { padding: 16px; max-height: calc(100dvh - 120px); }
.network-page .request-list-toolbar { gap: 10px; }
.network-page #requestListNotice { font-size: 14px; }
.network-page #requestListRefresh { min-height: 44px; font-size: 16px; padding: 10px; }
.network-page #requestListModal .request-row { padding: 12px; font-size: 16px; }
.network-page #requestListModal .approve button { min-height: 48px; font-size: 17px; }
.network-page .status-badge { min-width: 56px; padding: 6px 8px; font-size: 14px; }
.network-page .network-send-card { padding: 24px; }
.network-page .network-send-card h2 { font-size: 24px; }
.network-page .network-send-card p { font-size: 16px; }
.network-page .rank-modal-list { max-height: calc(100dvh - 120px); overflow: auto; }
.network-page .rank-modal-row { min-width: 550px; }

@media (max-width: 600px) {
  .responsive-battlelog { --battlelog-side-gap: 12px; }
  .responsive-battlelog main { padding: 18px 0; }
  .responsive-battlelog .card { padding: 14px; }
  .battlelog-page .profileBox { padding: 12px !important; }
  .battlelog-page .accountSummary { grid-template-columns: 64px minmax(0, 1fr); gap: 12px !important; align-items: start !important; }
  .battlelog-page .summaryAvatar { width: 64px !important; height: 76px !important; border-radius: 14px !important; font-size: 12px; }
  .battlelog-page .summaryHead { flex-direction: column; gap: 10px; }
  .battlelog-page .summaryName { width: 100%; font-size: 22px; line-height: 1.25; }
  .battlelog-page .summaryTools { gap: 8px; }
  .battlelog-page .summaryStat { font-size: 14px; padding: 10px; }
  .battlelog-page .statLabel, .battlelog-page .statCombat, .battlelog-page .statMissions { display: block; }
  .battlelog-page .statMissions { margin-left: 0; }
  .battlelog-page .menu a, .battlelog-page button { font-size: 17px; min-height: 54px; padding: 12px 8px; }
  .battlelog-page .menuBox { padding: 12px; }
  .battlelog-page .menu { gap: 8px; }
  .battlelog-page .authSplit, .battlelog-page .profileSettingsGrid { grid-template-columns: minmax(0, 1fr); }
  .battlelog-page .authBox { padding: 14px; }
  .battlelog-page .googleDock { padding: 12px; }
  .battlelog-page .googleDockTitle { font-size: 18px; }
  .network-page #controlCard { --record-action-height: 64px; }
  .network-page #controlCard .action-grid { gap: 10px; }
  .network-page #controlCard .action-grid > * { font-size: 19px !important; }
  .network-page #controlCard #targetSelect { font-size: 16px; }
  .network-page #receivedToggle, .network-page #sentToggle { font-size: 16px; }
  .network-page .request-main { flex-direction: column-reverse; gap: 8px; }
  .network-page .request-main .status-badge { align-self: flex-start; }
  .network-page .request-main > div:first-child { word-break: keep-all; }
}
