:root {
  --e-sidebar: 176px;
  --e-mobile-nav: 64px;
  --e-ink: #1b1915;
  --e-ink-soft: #625b4f;
  --e-paper: #ebdcc0;
  --e-paper-hi: #f6eddc;
  --e-paper-deep: #dfcca7;
  --e-paper-edge: #cca984;
  --e-red: #9e2719;
  --e-navy: #153347;
  --e-forest: #123824;

  /* 统一规范字体族：西文字体前置保障英文数字优雅，精选中文衬线/非衬线平滑回退 */
  --e-font-serif: Georgia, "Songti SC", "Source Han Serif SC", "Source Han Serif CN", "STSong", "SimSun", serif;
  --e-font-sans: "DIN Alternate", "Trebuchet MS", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --e-font-tactics: "Trebuchet MS", "DIN Alternate", "Segoe UI", -apple-system, sans-serif;
}

body {
  padding: 0;
  background-color: var(--e-paper);
  font-family: var(--e-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.e-app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--e-sidebar) minmax(0, 1fr); background-color: var(--e-paper); }
.e-sidebar { position: sticky; z-index: 80; top: 0; height: 100vh; box-sizing: border-box; display: flex; flex-direction: column; padding: 16px 11px 12px; color: var(--e-ink); background-color: var(--e-paper); background-image: linear-gradient(rgba(235,220,192,.92),rgba(235,220,192,.92)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-size: auto,420px; border-right: 4px double var(--e-ink); box-shadow: 6px 0 18px rgba(59,42,20,.16); }
.e-side-edition { padding-bottom: 7px; color: #665e50; border-bottom: 1px solid rgba(27,25,21,.48); font: 800 7px/1.2 var(--e-font-sans); letter-spacing: 1.25px; }
.e-brand-wordmark { position: relative; display: flex; align-items: baseline; gap: 4px; margin: 14px 0 3px; color: var(--e-ink); font-family: var(--e-font-serif); font-weight: 900; font-size: 31px; line-height: .86; letter-spacing: -1.5px; }
.e-brand-wordmark em { color: var(--e-red); font-size: .78em; font-style: normal; letter-spacing: -1px; }
.e-brand-wordmark i { position: absolute; right: 1px; top: -8px; color: var(--e-red); font: 900 17px/1 Arial,sans-serif; transform: rotate(8deg); }
.e-side-deck { margin: 0 0 15px; color: #625b4f; font: 800 10px/1.35 Georgia,serif; letter-spacing: .45px; }
.e-side-nav { display: grid; gap: 5px; }
.e-nav-item { width: 100%; min-height: 44px; display: grid; grid-template-columns: 18px 20px 1fr; align-items: center; gap: 5px; padding: 7px 6px; color: var(--e-ink); background: transparent; border: 1px solid transparent; border-radius: 0; text-align: left; font: 900 12px/1.1 Georgia,serif; cursor: pointer; }
.e-nav-item:hover, .e-nav-item:focus-visible { border-color: var(--e-ink); outline: 0; }
.e-nav-item.is-active { color: var(--e-paper-hi); background: var(--e-red); border-color: var(--e-ink); box-shadow: 3px 3px 0 rgba(27,25,21,.6); }
.e-nav-item.is-locked { opacity: .46; }
.e-nav-glyph { font-family: Georgia, serif; font-size: 15px; font-weight: 900; line-height: 1; text-align: center; }
.e-icon { width: 1em; height: 1em; display: inline-block; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.12em; }
.e-nav-glyph .e-icon { width: 18px; height: 18px; }

.e-side-footer { margin-top: auto; display: grid; gap: 4px; padding-top: 12px; border-top: 1px solid rgba(27,25,21,.4); }
.e-side-footer b { color: var(--e-red); font: 900 25px/.9 Georgia,serif; }
.e-side-footer span, .e-side-footer small { color: #665e50; font: 800 7px/1.3 Arial,sans-serif; letter-spacing: .8px; }
.e-shell-main { min-width: 0; }
.e-shell-stage { min-width: 0; }
.e-shell-stage > .wrap { width: min(100%, 1360px); max-width: none; box-sizing: border-box; margin-inline: auto; padding: 10px 24px 32px; }
.e-mobile-header, .e-mobile-nav { display: none; }
.e-app-shell .editorial-masthead .masthead-row { display: none; }
.e-app-shell .editorial-masthead { margin-bottom: 12px; }
.e-app-shell .editorial-masthead .edition-line { border-top-width: 2px; }
.e-app-shell .editorial-masthead .masthead-tools { min-height: 36px; }

@media (max-width: 720px) {
  .e-app-shell .editorial-masthead { display: none; }
  body { padding-bottom: calc(var(--e-mobile-nav) + env(safe-area-inset-bottom)); }
  .e-app-shell { display: block; }
  .e-sidebar { position: fixed; left: 0; top: 0; width: min(82vw, 280px); height: 100dvh; transform: translateX(-105%); transition: transform .18s ease; box-shadow: 16px 0 38px rgba(0,0,0,.34); }
  .e-sidebar.is-open { transform: translateX(0); }
  .e-mobile-header { position: sticky; z-index: 70; top: 0; min-height: 54px; display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; gap: 10px; padding: 6px 12px; color: var(--e-ink); background-color: var(--e-paper); background-image: linear-gradient(rgba(235,220,192,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-size: auto,400px; border-bottom: 3px double var(--e-ink); box-shadow: 0 4px 14px rgba(59,42,20,.16); }
  .e-mobile-header .e-brand-wordmark { margin: 0; font-size: 27px; }
  .e-mobile-header .e-brand-wordmark i { right: auto; left: 136px; top: -4px; }
  .e-menu-button { width: 42px; height: 42px; padding: 0; color: var(--e-paper-hi); background: var(--e-ink); border: 1px solid var(--e-ink); border-radius: 0; font-size: 20px; }
  .e-mobile-nav { position: fixed; z-index: 75; left: 0; right: 0; bottom: 0; height: calc(var(--e-mobile-nav) + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(5, 1fr); padding-bottom: env(safe-area-inset-bottom); color: var(--e-ink); background-color: var(--e-paper-hi); background-image: linear-gradient(rgba(246,237,220,.95),rgba(246,237,220,.95)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-size: auto,400px; border-top: 3px double var(--e-ink); box-shadow: 0 -5px 18px rgba(59,42,20,.2); }
  .e-mobile-nav-item { position: relative; min-width: 0; min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 5px 2px; color: #665e50; background: transparent; border: 0; border-right: 1px solid rgba(27,25,21,.15); border-radius: 0; font: 800 10px/1 Arial,sans-serif; }
  .e-mobile-nav-item.is-active { color: var(--e-red); background: rgba(158,39,25,.06); }
  .e-mobile-nav-item.is-active::before { content: ""; position: absolute; left: 18%; right: 18%; top: 0; height: 4px; background: var(--e-red); }
  .e-mobile-nav-item.is-locked { opacity: .42; }
  .e-mobile-nav-item .e-nav-glyph { font-size: 18px; }
  .e-mobile-nav-item .e-nav-index { display: none; }
  .e-shell-stage > .wrap { width: 100%; padding: 8px 8px 28px; }
}

@media (max-width: 360px) {
  :root { --e-mobile-nav: 62px; }
  .e-mobile-header { grid-template-columns: minmax(0,1fr) 44px; }
  .e-mobile-nav-item { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .e-sidebar { transition: none; }
}

/* Home configuration dossier */
#setup .setup-hero {
  min-height: 215px;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(280px,1.1fr);
  grid-template-areas:
    "copy photo"
    "stats photo";
  gap: 8px 16px;
  padding: 14px 18px 10px;
}
#setup .hero-copy { grid-area: copy; padding-top: 2px; }
#setup .hero-badge { margin-bottom: 5px; padding: 3px 6px; font-family: var(--e-font-sans); }
#setup .hero-title {
  font-family: var(--e-font-serif);
  font-size: clamp(26px,2.8vw,38px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.5px;
  color: var(--e-ink);
}
#setup .hero-title span {
  display: inline;
  color: var(--e-red);
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
}
#setup .hero-sub {
  margin: 4px 0 6px;
  font-family: var(--e-font-sans);
  font-size: 11px;
  line-height: 1.4;
  color: var(--e-ink-soft);
  font-weight: 600;
}
#setup .hero-stats { grid-area: stats; max-width: 320px; }
#setup .hstat { padding-block: 3px; }
#setup .hstat b { font-family: var(--e-font-serif); font-size: 19px; font-weight: 700; color: var(--e-red); }
#setup .hstat span { font-family: var(--e-font-sans); font-size: 9px; font-weight: 700; color: var(--e-ink-soft); }
#setup .hero-photo { grid-area: photo; width: min(100%,380px); margin: 0; border-width: 5px; border-bottom-width: 20px; }
#setup .hero-photo figcaption { bottom: -17px; }
#setup .hero-ephemera { width: 200px; right: -16px; bottom: -52px; }
#setup .hero-record { width: 68px; height: 68px; right: -8px; bottom: -12px; }
#setup .hero-record b { font-size: 12px; }
#setup .editorial-intro, #setup > .hint { display: none; }
#setup .acctbar { min-height: 36px; gap: 7px; margin: 5px 0; padding: 4px 8px; color: var(--e-ink); background: rgba(251,244,227,.78); border: 1px solid var(--e-ink); border-radius: 0; }
#setup .acctbar .acct-name { color: var(--e-red); }
#setup .acctbar .acct-hint { color: #625b4f; }
#setup .acctbar .acct-actions button { min-height: 30px; }

.e-home-brief {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 8px 0 10px;
  padding: 6px;
  background-color: var(--e-paper-hi);
  background-image: linear-gradient(rgba(246,237,220,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg");
  border: 2px solid var(--e-ink);
  box-shadow: 3px 3px 0 rgba(27,25,21,.25);
  box-sizing: border-box;
}
.e-home-brief > div {
  padding: 6px 10px;
  text-align: center;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(27,25,21,.18);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.e-home-brief span {
  font-family: var(--e-font-sans);
  font-size: 8.5px;
  font-weight: 800;
  color: #726859;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.e-home-brief b {
  font-family: var(--e-font-sans);
  font-size: 13.5px;
  font-weight: 800;
  color: var(--e-ink);
  line-height: 1.25;
  letter-spacing: 0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Draft Completed Bottom Sticky Bar - Removed to eliminate obstructive overlay and reveal chemistry panels */
.draft-sticky-bar {
  display: none !important;
}
#draft .coachbar #coachBtn.coach-ready-pulse {
  border-color: #166534 !important;
  background: #f0fdf4 !important;
  color: #14532d !important;
  box-shadow: 3px 3px 0 #166534, 0 0 12px rgba(22, 101, 52, 0.25) !important;
  animation: coachPulse 2s ease-in-out infinite alternate !important;
}
@keyframes coachPulse {
  0% { box-shadow: 3px 3px 0 #166534, 0 0 4px rgba(22, 101, 52, 0.2) !important; }
  100% { box-shadow: 3px 3px 0 #166534, 0 0 14px rgba(22, 101, 52, 0.45) !important; }
}
.draft-sticky-content {
  width: min(100%, 960px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.draft-sticky-text {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 14px;
}
.draft-sticky-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.draft-sticky-btn {
  background: var(--e-red, #b5121b);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  padding: 8px 18px;
  font-weight: 900;
  font-size: 13.5px;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: 2px 2px 0 rgba(0,0,0,.5);
  white-space: nowrap;
}
.draft-sticky-btn:hover {
  background: #d61823;
}
.draft-sticky-btn.draft-coach-btn {
  background: #27ae60;
  border-color: #1e8449;
}
.draft-sticky-btn.draft-coach-btn:hover {
  background: #2ecc71;
}
.draft-sticky-skip {
  background: transparent;
  color: rgba(251,244,227,.8);
  border: 1px solid rgba(255,255,255,.3);
  padding: 6px 12px;
  font-weight: 800;
  font-size: 12px;
  border-radius: 3px;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s ease;
}
.draft-sticky-skip:hover {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.6);
}
@media (max-width: 720px) {
  .draft-sticky-bar {
    bottom: calc(var(--e-mobile-nav) + env(safe-area-inset-bottom));
    padding: 8px 12px;
  }
  .draft-sticky-text {
    font-size: 11.5px;
    line-height: 1.25;
  }
  .draft-sticky-actions {
    gap: 6px;
  }
  .draft-sticky-btn {
    padding: 6px 10px;
    font-size: 11.5px;
  }
  .draft-sticky-skip {
    padding: 5px 8px;
    font-size: 10.5px;
  }
}


.e-home-controls { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(220px,.65fr); grid-template-rows: auto auto; gap: 7px 12px; }
.e-home-controls > section { min-width: 0; }
.e-home-mode { grid-row: 1 / 3; }
.e-home-controls .sec-label { margin: 0 0 5px; padding-bottom: 3px; font-size: 11px; }
.e-home-controls .sec-no { padding: 2px 5px; font-size: 9px; }
.e-home-controls .mode-grid { gap: 6px; }
.e-home-controls .mode-card { min-height: 88px; padding: 9px 8px 7px; }
.e-home-controls .mc-ic { font-size: 20px; }
.e-home-controls .mc-t { font-size: 14px; }
.e-home-controls .mc-d { font-size: 8px; line-height: 1.25; }
.e-home-controls .formations { display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; }
.e-home-controls .fbtn { min-height: 30px; padding: 4px; font-size: 10px; }
.e-home-controls .fdesc, .e-home-controls .mode-desc { margin-top: 3px; font-size: 8px; line-height: 1.25; }
.e-home-controls .diff-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; }
.e-home-controls .diff-card { min-height: 34px; padding: 5px 4px; }
.e-home-controls .dc-ic { font-size: 15px; }
.e-home-controls .dc-t { font-size: 9px; }
#setup .setup-panel { padding: 9px 11px 10px; }
#setup .setup-cta { margin: 7px 0 0; gap: 7px; flex-wrap: nowrap; }
#setup .setup-cta button.act.big { min-height: 42px; padding: 8px 10px; font-size: 11px; }

/* Draft room */
.e-draft-workbench { margin: 12px 0 18px; padding: 18px; color: var(--e-ink); background: rgba(251,244,227,.86); border: 2px solid var(--e-ink); box-shadow: 7px 8px 0 rgba(29,29,24,.22); }
.e-draft-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 4px double var(--e-ink); }
.e-eyebrow { color: var(--e-red); font: 900 8px/1 Arial,sans-serif; letter-spacing: 1.6px; }
.e-draft-heading h2 { margin: 5px 0 3px; color: var(--e-ink); font: 900 clamp(26px,3vw,42px)/1 Georgia,serif; }
.e-draft-heading p { margin: 0; color: #5b5549; font: 700 12px/1.4 Arial,sans-serif; }
.e-draft-counter { display: flex; align-items: baseline; color: var(--e-red); }
.e-draft-counter b { font: 900 54px/.8 Georgia,serif; }
.e-draft-counter span { font: 900 16px/1 Georgia,serif; }
.e-draft-progress { display: grid; grid-template-columns: repeat(11, minmax(48px, 1fr)); gap: 3px; padding: 10px 0; overflow-x: auto; }
.e-draft-step { min-height: 38px; display: grid; align-content: center; gap: 2px; padding: 4px; color: #5b5549; background: transparent; border: 1px solid rgba(29,29,24,.4); font-family: Georgia,serif; text-align: center; }
.e-draft-step.is-done { color: var(--e-paper-hi); background: var(--e-forest); border-color: var(--e-ink); }
.e-draft-step small { font: 800 7px/1 Arial,sans-serif; letter-spacing: 1px; }
.e-draft-step b { font-size: 11px; }
.e-draft-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.e-draft-notes { padding: 13px; background: var(--e-paper); border: 1px solid var(--e-ink); }
.e-draft-notes h3 { margin: 7px 0; padding-bottom: 5px; color: var(--e-ink); border-bottom: 1px solid var(--e-ink); font: 900 17px/1 Georgia,serif; }
#eDraftNeeds p { margin: 8px 0; font: 700 11px/1.4 Arial,sans-serif; }
#eDraftNeeds p b { color: var(--e-red); font: 900 22px/1 Georgia,serif; }
#eDraftNeeds p.is-complete { color: var(--e-forest); font-weight: 900; }
#eDraftNeeds div { display: flex; flex-wrap: wrap; gap: 4px; }
#eDraftNeeds div span { padding: 4px 6px; color: var(--e-paper-hi); background: var(--e-red); font: 800 9px/1 Arial,sans-serif; }
.e-selected-list { display: grid; gap: 4px; }
.e-selected-list > span { display: grid; grid-template-columns: 34px 1fr; gap: 6px; padding: 5px 0; border-bottom: 1px dotted rgba(29,29,24,.35); font: 800 10px/1.2 Arial,sans-serif; }
.e-selected-list > span b { color: var(--e-red); font-family: Georgia,serif; }
.e-selected-list small { color: #746b5d; }

/* Keep the original slot -> picker -> select business flow, but make the picker
   a bounded desktop dialog / mobile bottom sheet. Candidate data and handlers
   remain the ones created by renderPicker(). */
#overlay { z-index: 120; padding: 18px; }
#overlay .panel { width: min(1040px, calc(100vw - 36px)); max-width: none; max-height: calc(100dvh - 36px); display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; overflow: hidden; padding: 14px; border-radius: 2px; }
#overlay .panel h3 { margin: 0 0 4px; font: 900 24px/1 Georgia,serif; }
#overlay .panel .ph2 { margin-bottom: 8px; }
#pkList { min-height: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: 4px 2px 8px; }
#overlay #pkList > .pick { min-width: 0; min-height: 132px; display: grid; grid-template-columns: 58px minmax(0, 1fr) 52px; align-items: center; gap: 8px; margin: 0; padding: 8px; color: var(--e-ink); background-color: #ead9b5; background-image: linear-gradient(rgba(251,244,227,.91),rgba(226,210,176,.91)),url("assets/editorial/generated/paper-texture-v2.jpg"); border: 1px solid var(--e-ink); border-radius: 2px; box-shadow: 2px 3px 0 rgba(0,0,0,.22); }
#overlay #pkList > .pick .pk-ava { width: 58px; }
#overlay #pkList > .pick .avwrap { width: 54px; height: 70px; }
#overlay #pkList > .pick .pk-name { overflow: hidden; color: var(--e-ink); text-overflow: ellipsis; white-space: nowrap; font: 900 14px/1.15 Georgia,serif; }
#overlay #pkList > .pick .pk-meta { color: var(--e-red); }
#overlay #pkList > .pick .pk-tags, #overlay #pkList > .pick .pk-poslist { min-width: 0; color: #625b4f; }
#overlay #pkList > .pick .pk-ovr { color: var(--e-red); text-shadow: none; }
#overlay #pkList > .pick .pk-label { color: #625b4f; }
#overlay #pkList > .pick .pk-rate { justify-self: end; }
#overlay .ptools { margin-top: 0; padding-top: 10px; background: #0c2417; }
#overlay .ptools button, #overlay #pkList > .pick { min-height: 44px; }
#overlay .ptools #pkReroll { color: var(--e-paper-hi); background: var(--e-red); border-color: #732015; }
#overlay .ptools #pkClose { color: var(--e-ink); background: var(--e-paper); border-color: #d8c79d; }

@media (max-width: 900px) {
  .e-home-brief { grid-template-columns: repeat(2, 1fr); }
  .e-home-brief > div:nth-child(2) { border-right: 0; }
  .e-home-brief { grid-template-columns: repeat(4,1fr); margin: 5px 0; box-shadow: 2px 2px 0 rgba(29,29,24,.2); }
  .e-home-brief > div { padding: 4px 3px; text-align: center; }
  .e-home-brief > div:nth-child(2) { border-right: 1px solid rgba(255,255,255,.3); }
  .e-home-brief > div:nth-child(-n+2) { border-bottom: 0; }
  .e-home-brief span { font-size: 5px; letter-spacing: .4px; }
  .e-home-brief b { font-size: 9px; }
  #setup .setup-panel { padding: 5px 6px 6px; }
  .e-home-controls { grid-template-columns: minmax(0,1.45fr) minmax(118px,.75fr); gap: 4px 6px; }
  .e-home-controls .sec-label { margin-bottom: 3px; padding-bottom: 2px; font-size: 8px; }
  .e-home-controls .sec-no { margin-right: 3px; padding: 1px 3px; font-size: 7px; }
  .e-home-controls .mode-grid { gap: 3px; }
  .e-home-controls .mode-card { min-height: 73px; padding: 5px 3px; box-shadow: 1px 1px 0 rgba(29,29,24,.25); }
  .e-home-controls .mc-ic { font-size: 15px; }
  .e-home-controls .mc-t { font-size: 9px; }
  .e-home-controls .mc-d, .e-home-controls .mode-desc, .e-home-controls .fdesc { display: none; }
  .e-home-controls .formations { grid-template-columns: repeat(3,1fr); gap: 2px; }
  .e-home-controls .fbtn { min-height: 27px; padding: 2px; font-size: 7px; }
  .e-home-controls .diff-card { min-height: 28px; padding: 3px 2px; }
  .e-home-controls .dc-ic { font-size: 10px; }
  .e-home-controls .dc-t { font-size: 7px; }
  #setup .setup-cta { margin-top: 5px; }
  #setup .setup-cta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  #setup .setup-cta button:first-child { grid-column: 1 / -1; }
  #setup .setup-cta button.act.big { min-height: 44px; padding: 5px 4px; font-size: 8px; }
  .e-draft-workbench { margin: 5px 0 12px; padding: 10px 8px; box-shadow: 3px 4px 0 rgba(29,29,24,.2); }
  .e-draft-heading { align-items: center; }
  .e-draft-heading h2 { font-size: 24px; }
  .e-draft-heading p { font-size: 10px; }
  .e-draft-counter b { font-size: 40px; }
  .e-draft-progress { grid-template-columns: repeat(11,minmax(0,1fr)); gap: 2px; }
  .e-draft-progress button { min-width: 0; min-height: 44px; padding: 2px 0; }
  .e-draft-progress button b { display: none; }
  .e-draft-notes { grid-template-columns: 1fr; }
  #draft .pitch { max-width: 100%; padding: 10px 3px; overflow: hidden; }
  #draft .row { gap: 4px; margin: 7px 0; }
  #draft .slot { width: min(21vw, 76px); min-height: 112px; padding: 3px 2px; }
  #draft .slot .avwrap { width: 34px; height: 34px; }
  #draft .slot .nm { font-size: 7px; }
  #overlay { align-items: end; padding: 0; }
  #overlay .panel { width: 100%; height: min(760px, calc(100dvh - env(safe-area-inset-top))); max-height: calc(100dvh - env(safe-area-inset-top)); padding: 10px 8px calc(8px + env(safe-area-inset-bottom)); border-radius: 14px 14px 0 0; }
  #overlay .panel h3 { color: var(--e-paper-hi); font-size: 20px; }
  #overlay .panel .ph2 { margin-bottom: 6px; color: #d8c79d; font-size: 9px; line-height: 1.25; }
  #pkList { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; padding: 2px 0 6px; }
  #overlay #pkList > .pick { min-height: 112px; grid-template-columns: 42px minmax(0, 1fr) 36px; gap: 4px; padding: 5px 4px; }
  #overlay #pkList > .pick .pk-ava { width: 42px; }
  #overlay #pkList > .pick .avwrap { width: 40px; height: 55px; }
  #overlay #pkList > .pick .pk-name { font-size: 10px; }
  #overlay #pkList > .pick .pk-pos, #overlay #pkList > .pick .pk-sub, #overlay #pkList > .pick .tag { font-size: 7px; }
  #overlay #pkList > .pick .pk-rate { font-size: 11px; }
  #overlay .ptools { position: sticky; bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: 6px; }
  #overlay .ptools button { min-height: 44px; }
}

/* Shared view heading */
.e-view-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 12px 15px; color: var(--e-ink); background: rgba(251,244,227,.84); border: 2px solid var(--e-ink); box-shadow: 6px 7px 0 rgba(29,29,24,.2); }
.e-view-heading h2 { margin: 5px 0 4px; font: 900 clamp(28px,3.6vw,50px)/.95 Georgia,serif; }
.e-view-heading p { margin: 0; color: #5b5549; font: 700 12px/1.4 Arial,sans-serif; }

@media (max-width: 720px) {
  .e-view-heading { align-items: center; padding: 8px 8px; }
  .e-view-heading h2 { margin: 3px 0 2px; font-size: 23px; }
  .e-view-heading p { font-size: 8px; }
}

/* Player portrait treatment — Scheme A */
.avwrap { background-color: #eadbb9 !important; }
.avwrap .av { object-fit: cover !important; object-position: 50% 18% !important; filter: saturate(.82) contrast(1.06) brightness(.98); }

/* Match centre */
.e-match-heading { margin-bottom: 12px; }
.e-live-stamp { min-width: 112px; display: grid; grid-template-columns: 10px 1fr; align-items: center; gap: 5px; color: var(--e-red); }
.e-live-stamp i { width: 8px; height: 8px; background: var(--e-red); border-radius: 50%; box-shadow: 0 0 0 4px rgba(156,46,32,.13); animation: e-live-pulse 1.4s ease-in-out infinite; }
.e-live-stamp span { font: 900 10px/1 Arial,sans-serif; letter-spacing: 1.4px; }
.e-live-stamp b { grid-column: 1 / -1; font: 900 28px/1 Georgia,serif; }
@keyframes e-live-pulse { 50% { opacity: .35; transform: scale(.8); } }
.e-match-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: start; gap: 14px; }
.e-match-primary { min-width: 0; }
.e-match-side { display: grid; gap: 12px; }
.e-match-side > section { padding: 12px; color: var(--e-ink); background: rgba(251,244,227,.86); border: 1px solid var(--e-ink); box-shadow: 4px 5px 0 rgba(29,29,24,.18); }
#eMatchRecord { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-top: 8px; }
#eMatchRecord span { display: grid; gap: 2px; padding: 6px 3px; color: #625b4f; background: rgba(23,58,80,.07); border-bottom: 2px solid var(--e-navy); text-align: center; font: 800 8px/1 Arial,sans-serif; }
#eMatchRecord b { color: var(--e-red); font: 900 21px/1 Georgia,serif; }
.e-speed-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin-top: 8px; }
.e-speed-options button { min-height: 34px; color: var(--e-ink); background: transparent; border: 1px solid var(--e-ink); border-radius: 0; font: 900 11px/1 Georgia,serif; }
.e-speed-options button.is-active { color: var(--e-paper-hi); background: var(--e-red); }
.e-match-control p { color: #6b6357; font: 700 9px/1.4 Arial,sans-serif; }
.e-log-section .seaslog { max-height: 390px; margin-top: 8px; overflow-y: auto; }
.e-log-section .logrow { grid-template-columns: 30px 18px 24px 36px 1fr; padding: 6px; font-size: 9px; }
#season .battle { display: flex; flex-direction: column; border: 2px solid var(--e-ink); box-shadow: 6px 7px 0 rgba(29,29,24,.2); }
#season .bscore { border-radius: 0; border: 2px solid var(--e-ink); }
#season .bpitch { min-height: 380px; padding-block: 9px; }
#season .brow { margin: 5px 0; }
#season .bcard { min-height: 82px; }
#season .bcard .card-portrait .avwrap { width: 32px; height: 35px; }
#season .bcard .who { font-size: 7px; }
#season .bcard .rt { font-size: 13px; }
#season .btop { order: 1; margin-bottom: 5px; }
#season .bdots { order: 2; margin-bottom: 6px; }
#season .bscore { order: 3; margin-bottom: 0; }
#season .match-cue-layer { order: 4; position: relative; height: 0; min-height: 0; margin: 0; padding: 0; overflow: visible; }
#season .bpitch { order: 5; margin-top: 0; }
#season .bevents { order: 6; }
#season .score-main { grid-template-columns: minmax(150px,1fr) auto auto auto minmax(150px,1fr); padding: 12px 18px; }
#season .bteam { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 9px; }
#season .bop { grid-template-columns: 1fr 48px; }
#season .bop .e-team-mark { grid-column: 2; grid-row: 1 / 3; }
#season .bme .e-team-mark { grid-row: 1 / 3; }
.e-team-mark { width: 48px; height: 48px; display: grid; place-items: center; color: var(--e-paper-hi); background: var(--e-red); border: 2px solid #e1cca2; border-radius: 50%; box-shadow: 2px 2px 0 rgba(0,0,0,.4); font: 900 15px/1 Georgia,serif; }
.e-team-mark-away { background: var(--e-paper-hi); }
.e-team-mark .ic { width: 34px; height: 34px; }
#season .bcard .avwrap { border-radius: 0 !important; background-image: linear-gradient(rgba(234,219,185,.72),rgba(234,219,185,.72)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-position: center; background-size: cover; }
#season .bcard .avwrap .av { display: block; }

/* Result editions */
.e-result-cover { min-height: 190px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 24px 28px; color: var(--e-ink); background-color: rgba(251,244,227,.86); background-image: linear-gradient(rgba(251,244,227,.72),rgba(251,244,227,.72)),url("assets/editorial/generated/hero-champions-v2.jpg"); background-position: center 35%; background-size: cover; border: 3px solid var(--e-ink); box-shadow: 8px 9px 0 rgba(29,29,24,.24); position: relative; overflow: hidden; }
#finale { min-width: 0; max-width: 100%; overflow-x: hidden; }
#finale > * { max-width: 100%; box-sizing: border-box; }
#finale .champ { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
#finalTable, #myTeamStats { max-width: 100%; overflow-x: auto; }
.e-result-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(245,234,209,.97) 0 48%,rgba(245,234,209,.35) 75%,rgba(23,58,80,.12)); pointer-events: none; }
.e-result-cover > * { position: relative; z-index: 1; }
.e-result-cover h2 { max-width: 740px; margin: 8px 0; font: 900 clamp(34px,5vw,66px)/.94 Georgia,serif; }
.e-result-cover p { margin: 0; color: #4f493f; font: 800 13px/1.4 Arial,sans-serif; }
.e-result-seal { width: 108px; height: 108px; flex: 0 0 auto; display: grid; place-content: center; justify-items: center; color: var(--e-red); background: rgba(251,244,227,.9); border: 3px double var(--e-red); border-radius: 50%; transform: rotate(-5deg); }
.e-result-seal span, .e-result-seal small { font: 900 8px/1 Arial,sans-serif; letter-spacing: 1px; }
.e-result-seal b { font: 900 44px/.9 Georgia,serif; }
.e-result-kpis { display: grid; grid-template-columns: repeat(4,1fr); margin: 0 0 12px; color: var(--e-paper-hi); background: var(--e-navy); border: 2px solid var(--e-ink); box-shadow: 5px 5px 0 rgba(29,29,24,.2); }
.e-result-kpis > div { min-width: 0; display: grid; justify-items: center; gap: 2px; padding: 10px; border-right: 1px solid rgba(255,255,255,.28); }
.e-result-kpis > div:last-child { border-right: 0; }
.e-result-kpis span { color: #d9cba9; font: 900 7px/1 Arial,sans-serif; letter-spacing: 1.3px; }
.e-result-kpis b { font: 900 27px/1 Georgia,serif; }
.e-result-kpis small { color: #d9cba9; font: 700 8px/1 Arial,sans-serif; }
#finale .champ { margin: 9px 0; padding: 8px 12px; color: var(--e-red); background: rgba(251,244,227,.62); border-block: 4px double var(--e-ink); font-size: clamp(25px,3.2vw,42px); line-height: 1.05; }
#finale #spotlight { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 10px !important; margin: 10px 0 !important; }
#finale .sp-card { min-height: 154px !important; padding: 0 !important; border-radius: 0 !important; box-shadow: 4px 5px 0 rgba(29,29,24,.22) !important; overflow: hidden !important; }
#finale .sp-card .sp-top { min-height: 28px; width: 100% !important; margin: 0 !important; box-sizing: border-box !important; padding: 5px 8px; }
#finale .sp-card .sp-body { padding: 4px 8px 8px !important; box-sizing: border-box !important; }
#finale .sp-card .sp-main { min-height: 0; padding: 5px 0; }
#finale .sp-card .sp-ava { margin: 4px auto 2px; }
#finale .sp-card .sp-ava .avwrap { width: 42px; height: 42px; }
#finale .sp-card .sp-ava .avwrap { border-radius: 0 !important; background-image: linear-gradient(rgba(234,219,185,.72),rgba(234,219,185,.72)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-position: center; background-size: cover; }
#finale .sp-card .sp-ava .avwrap .av { display: block; }
#finale .sp-card .sp-nm { font-size: 12px; }
#finale .sp-card .sp-stats { margin-top: 4px; }
#finale .sptile { min-width: 46px; padding: 3px; }
.e-result-reward { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 12px; margin: 11px 0; padding: 10px 12px; color: var(--e-ink); background: rgba(231,210,165,.8); border: 2px solid var(--e-ink); box-shadow: 5px 5px 0 rgba(29,29,24,.18); }
.e-result-trophy { font-size: 42px; text-align: center; filter: sepia(.3); }
.e-result-reward > div { display: grid; gap: 3px; }
.e-result-reward b { font: 900 18px/1.1 Georgia,serif; }
.e-result-reward small { color: #625b4f; font: 800 9px/1.3 Arial,sans-serif; }
.e-result-reward button { min-height: 44px; }
.e-result-ad { position: relative; display: flex; align-items: center; justify-content: flex-start; min-height: 44px; box-sizing: border-box; padding: 6px 12px 6px 14px; background: linear-gradient(90deg,rgba(160,40,32,.1),rgba(255,255,255,.28)); border: 1px solid rgba(160,40,32,.34); border-left: 4px solid var(--e-red); border-radius: 2px; box-shadow: inset 0 1px 0 rgba(255,255,255,.45); text-align: left; white-space: nowrap; user-select: text; -webkit-user-select: text; }
.e-result-ad::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; margin-right: 9px; border: 1px solid var(--e-red); transform: rotate(45deg); }
.e-result-ad-text { font-size: 12px; font-weight: 800; line-height: 1.35; color: var(--e-ink,#1d1d18); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; letter-spacing: .1px; }
@media (max-width: 640px) {
  .e-result-reward { grid-template-columns: 44px minmax(0,1fr) !important; gap: 8px 10px !important; }
  .e-result-ad { grid-column: 1 / -1; width: 100%; min-height: 40px; margin-top: 2px; padding: 6px 8px 6px 10px; border-left-width: 3px; white-space: normal; word-break: break-all; }
  .e-result-ad::before { width: 6px; height: 6px; flex-basis: 6px; margin-right: 8px; }
  .e-result-ad-text { font-size: 11px; }
}
#finale .recbox { margin: 10px 0; padding: 8px; }
#finale .sqbar { margin: 8px 0; }
#finale[data-result-state="champion"] .e-result-cover { color: var(--e-paper-hi); background-image: linear-gradient(90deg,rgba(18,59,43,.96) 0 42%,rgba(18,59,43,.4) 75%,rgba(18,59,43,.08)),url("assets/editorial/generated/hero-champions-v2.jpg"); }
#finale[data-result-state="champion"] .e-result-cover::after { display: none; }
#finale[data-result-state="champion"] .e-result-cover p { color: #eadab8; }
#finale[data-result-state="champion"] .e-result-cover .e-eyebrow { color: #e9c76b; }
#finale[data-result-state="failure"] .e-result-cover { background-image: repeating-linear-gradient(-45deg,rgba(156,46,32,.08) 0 10px,transparent 10px 20px),url("assets/editorial/generated/paper-texture-v2.jpg"); }
#finale[data-result-state="failure"] .e-result-seal { color: var(--e-paper-hi); background: var(--e-red); border-color: var(--e-ink); }

@media (max-width: 980px) {
  .e-match-layout { grid-template-columns: 1fr; }
  .e-match-side { grid-template-columns: 1fr 1fr; }
  .e-log-section { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  body[data-screen]:not([data-screen="setup"]) header.e-mobile-header { display: grid; }
  body[data-screen]:not([data-screen="setup"]) header.e-view-heading,
  body[data-screen]:not([data-screen="setup"]) header.e-result-cover { display: flex; }
  .e-match-heading { min-height: 68px; margin-bottom: 5px; padding: 7px 8px; }
  .e-match-heading h2 { font-size: 22px; }
  .e-match-heading p { max-width: 230px; font-size: 7px; }
  .e-live-stamp { min-width: 74px; grid-template-columns: 7px 1fr; }
  .e-live-stamp b { font-size: 22px; }
  #season .roundbar { min-height: 44px; display: flex; align-items: center; margin-bottom: 5px; padding: 3px 0; }
  #season .rdwrap { width: 100%; justify-content: space-between; }
  #season .roundbar .sqmini { display: none; }
  #season .roundbar button { min-height: 44px; }
  .e-match-layout { gap: 6px; }
  .e-match-side { grid-template-columns: 1fr; }
  .e-log-section { grid-column: auto; }
  #season .battle { display: flex; flex-direction: column; padding: 6px; }
  #season .btop { order: 1; margin: 0 0 3px; }
  #season .bdots { order: 2; margin: 0 0 4px; }
  #season .bscore { order: 3; margin: 0 0 2px; }
  #season .match-cue-layer { order: 4; position: relative; height: 0; min-height: 0; margin: 0; padding: 0; overflow: visible; }
  #season .bpitch { order: 5; min-height: 342px; margin-top: 0; padding: 7px 2px 5px; }
  #season .bevents { order: 6; }
  #season .score-main { grid-template-columns: minmax(0,1fr) auto auto auto minmax(0,1fr); gap: 4px; padding: 6px 5px; }
  #season .bteam { grid-template-columns: 33px 1fr; gap: 4px; font-size: 8px; }
  #season .bop { grid-template-columns: 1fr 33px; }
  #season .bscore b { font-size: 32px; }
  .e-team-mark { width: 33px; height: 33px; border-width: 1px; font-size: 10px; }
  .e-team-mark .ic { width: 25px; height: 25px; }
  #season .bcard { width: min(21vw,72px); min-height: 70px; padding: 0 2px 2px; }
  #season .bcard .card-top { min-height: 13px; }
  #season .bcard .card-portrait .avwrap { width: 26px; height: 28px; }
  #season .bcard .who { font-size: 6px; }
  #season .bcard .rt { font-size: 11px; }
  #season .brow { gap: 3px; margin: 4px 0; }
  .e-result-cover { min-height: 148px; margin-bottom: 7px; padding: 12px 10px; }
  .e-result-cover::after { background: linear-gradient(90deg,rgba(245,234,209,.97) 0 72%,rgba(245,234,209,.52)); }
  .e-result-cover h2 { max-width: 240px; margin: 5px 0; font-size: 27px; }
  .e-result-cover p { max-width: 250px; font-size: 10px; }
  .e-result-seal { width: 78px; height: 78px; }
  .e-result-seal b { font-size: 31px; }
  .e-result-kpis { margin-bottom: 6px; box-shadow: 2px 2px 0 rgba(29,29,24,.2); }
  .e-result-kpis > div { padding: 5px 2px; }
  .e-result-kpis span { font-size: 5px; letter-spacing: .4px; }
  .e-result-kpis b { font-size: 17px; }
  .e-result-kpis small { font-size: 6px; }
  #finale .champ { margin: 5px 0; padding: 5px 4px; font-size: 19px; }
  #finale #spotlight { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 4px !important; margin: 5px 0 !important; }
  #finale .sp-card { min-height: 126px !important; padding: 0 !important; overflow: hidden !important; }
  #finale .sp-card .sp-top { min-height: 23px; width: 100% !important; margin: 0 !important; box-sizing: border-box !important; padding: 2px 4px; }
  #finale .sp-card .sp-body { padding: 3px 4px 5px !important; box-sizing: border-box !important; }
  #finale .sp-card .sp-ic { font-size: 11px; }
  #finale .sp-card .sp-t { font-size: 6px; letter-spacing: .2px; }
  #finale .sp-card .sp-ava .avwrap { width: 30px; height: 30px; }
  #finale .sp-card .sp-nm { font-size: 8px; }
  #finale .sp-card .sp-pos, #finale .sp-card .sp-vl, #finale .sp-card .sp-sub { font-size: 6px; }
  #finale .sptile { min-width: 28px; padding: 1px; }
  #finale .sptile i, #finale .sptile b { font-size: 8px; }
  #finale .sptile em { font-size: 5px; }
  .e-result-reward { grid-template-columns: 38px minmax(0,1fr) 86px; gap: 5px; margin: 6px 0; padding: 5px; }
  .e-result-trophy { font-size: 27px; }
  .e-result-reward b { font-size: 10px; }
  .e-result-reward small { font-size: 6px; }
  .e-result-reward button { min-height: 44px; padding: 4px; font-size: 8px; }
  #finale .recbox, #finale .sqbar { margin-block: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .e-live-stamp i { animation: none; }
}

/* Leaderboard and asynchronous cup views; result-screen submission actions stay visible. */
.e-data-stamp, .e-cup-mark { flex: 0 0 auto; display: grid; justify-items: center; padding: 10px 14px; color: var(--e-paper-hi); background: var(--e-red); border: 2px solid var(--e-ink); box-shadow: 4px 4px 0 var(--e-ink); transform: rotate(1.5deg); }
.e-data-stamp b, .e-cup-mark b { font: 900 32px/.9 Georgia,serif; }
.e-data-stamp span, .e-cup-mark span { font: 900 7px/1 Arial,sans-serif; letter-spacing: 1px; }
.e-remote-paper { margin-top: 14px; padding: 18px; color: var(--e-ink); background: rgba(251,244,227,.87); border: 2px solid var(--e-ink); box-shadow: 6px 7px 0 rgba(29,29,24,.2); }
.e-rank-tabs { display: grid; grid-template-columns: repeat(3,1fr); border: 2px solid var(--e-ink); }
.e-rank-tabs button { min-height: 44px; color: var(--e-ink); background: rgba(255,255,255,.18); border: 0; border-right: 1px solid var(--e-ink); border-radius: 0; font: 900 13px/1 Georgia,serif; }
.e-rank-tabs button:last-child { border-right: 0; }
.e-rank-tabs button.is-active { color: var(--e-paper-hi); background: var(--e-red); }
.e-rank-filters { display: grid; grid-template-columns: repeat(4,minmax(120px,1fr)) minmax(210px,1.5fr); gap: 8px; margin: 10px 0; padding: 9px; color: var(--e-paper-hi); background: var(--e-navy); border: 2px solid var(--e-ink); }
.e-rank-filters label { min-width: 0; display: grid; gap: 4px; color: #d9cba9; font: 900 7px/1 Arial,sans-serif; letter-spacing: 1px; }
.e-rank-filters select, .e-rank-filters input { width: 100%; min-height: 38px; padding: 6px; color: var(--e-ink); background: var(--e-paper-hi) !important; font: 800 10px/1 Arial,sans-serif; }
.e-leaderboard-layout { display: grid; grid-template-columns: minmax(0,1fr) 248px; align-items: start; gap: 12px; }
.e-leaderboard-board { min-width: 0; }
.e-player-detail { position: sticky; top: 14px; padding: 13px; color: var(--e-ink); background: rgba(229,210,168,.82); border: 2px solid var(--e-ink); box-shadow: 4px 5px 0 rgba(29,29,24,.2); }
.e-detail-number { float: right; margin-top: -5px; color: var(--e-red); font: 900 43px/.85 Georgia,serif; }
.e-player-detail h3 { clear: both; margin: 10px 0 4px; padding-bottom: 7px; border-bottom: 4px double var(--e-ink); font: 900 21px/1 Georgia,serif; }
.e-player-detail p { color: #625b4f; font: 800 9px/1.3 Arial,sans-serif; }
.e-detail-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 5px; margin: 10px 0; }
.e-detail-stats span { display: grid; padding: 7px; background: rgba(23,58,80,.08); border-left: 3px solid var(--e-navy); font: 800 8px/1 Arial,sans-serif; }
.e-detail-stats b { color: var(--e-red); font: 900 20px/1 Georgia,serif; }
.e-detail-xi { margin: 9px 0; padding: 8px; border: 1px solid var(--e-ink); font: 800 9px/1.3 Arial,sans-serif; }
.e-player-detail button { width: 100%; min-height: 44px; }
.e-row-detail, .e-rank-pagination button { min-height: 34px; padding: 5px 9px; color: var(--e-ink); background: var(--e-paper-hi); border: 1px solid var(--e-ink); border-radius: 0; font: 900 9px/1 Arial,sans-serif; }
.e-rank-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 9px; padding-top: 9px; }
.e-rank-pagination span { font: 900 10px/1 Georgia,serif; }
.e-rank-pagination b { color: var(--e-red); font-size: 16px; }
.e-remote-paper > .lb-tabs { margin-top: 0; border-bottom: 4px double var(--e-ink); }
.e-remote-paper .lb-panel { padding-top: 12px; }
.e-remote-paper .ch-tabs { margin-bottom: 10px; }
.e-remote-paper .lb-scroll { border: 1px solid var(--e-ink); }
.e-remote-paper table.tbl { min-width: 720px; }
.e-pvp-lifecycle { display: grid; grid-template-columns: repeat(4,1fr); margin: 14px 0; color: var(--e-ink); background: rgba(251,244,227,.82); border: 2px solid var(--e-ink); }
.e-pvp-lifecycle span { min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 7px; border-right: 1px solid var(--e-ink); font: 900 12px/1 Georgia,serif; }
.e-pvp-lifecycle span:last-child { border-right: 0; }
.e-pvp-lifecycle b { color: var(--e-red); font: 900 10px/1 Arial,sans-serif; }
.e-pvp-lifecycle span.is-done { color: var(--e-paper-hi); background: var(--e-forest); }
.e-pvp-lifecycle span.is-active { color: var(--e-paper-hi); background: var(--e-red); }
.e-pvp-lifecycle span.is-done b, .e-pvp-lifecycle span.is-active b { color: #f2d79d; }
.e-pvp-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 14px; align-items: start; }
.e-pvp-main .async-pvp-card { margin: 0; padding: 18px; border: 2px solid var(--e-ink); box-shadow: 6px 7px 0 rgba(29,29,24,.2); }
.e-pvp-overview { margin-bottom: 12px; color: var(--e-ink); background: rgba(251,244,227,.87); border: 2px solid var(--e-ink); box-shadow: 6px 7px 0 rgba(29,29,24,.2); }
.e-pvp-ticket { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; color: var(--e-paper-hi); background: var(--e-forest); border-bottom: 4px double #d8c79d; }
.e-pvp-trophy { font-size: 45px; text-align: center; }
.e-pvp-ticket h3 { margin: 4px 0; font: 900 25px/1 Georgia,serif; }
.e-pvp-ticket p { margin: 0; color: #d8c79d; font: 800 9px/1.3 Arial,sans-serif; }
.e-pvp-ticket > b { color: #f0d398; font: 900 31px/1 Georgia,serif; }
.e-pvp-snapshot { display: grid; grid-template-columns: minmax(0,1fr) 126px; align-items: center; gap: 12px; padding: 12px; border-bottom: 1px solid var(--e-ink); }
.e-pvp-snapshot h3, .e-pvp-opponent h3 { margin: 4px 0 7px; font: 900 19px/1 Georgia,serif; }
.e-snapshot-xi { display: grid; grid-template-columns: repeat(11,minmax(0,1fr)); gap: 3px; }
.e-snapshot-xi span { min-height: 42px; display: grid; place-content: center; gap: 2px; text-align: center; color: var(--e-paper-hi); background: var(--e-navy); border-bottom: 3px solid var(--e-red); font: 900 7px/1 Arial,sans-serif; }
.e-snapshot-xi b { color: #e9d4a7; font-size: 6px; }
.e-snapshot-score { display: grid; gap: 3px; padding-left: 12px; border-left: 1px solid var(--e-ink); font: 900 8px/1 Arial,sans-serif; }
.e-snapshot-score b { color: var(--e-red); font: 900 31px/1 Georgia,serif; }
.e-snapshot-score small { color: #625b4f; }
.e-pvp-opponent { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; }
.e-pvp-opponent p { margin: 0; color: #625b4f; font: 800 9px/1.3 Arial,sans-serif; }
.e-pvp-recent { display: flex; align-items: center; gap: 4px; }
.e-pvp-recent span { margin-right: 4px; color: #625b4f; font: 800 8px/1 Arial,sans-serif; }
.e-pvp-recent b { width: 25px; height: 25px; display: grid; place-items: center; color: var(--e-paper-hi); background: var(--e-forest); font: 900 9px/1 Arial,sans-serif; }
.e-pvp-recent b:nth-last-child(3) { background: #9b7b35; }
.e-pvp-recent b:last-child { background: var(--e-red); }
.e-pvp-primary { width: calc(100% - 24px); min-height: 48px; margin: 0 12px 12px; }
.e-pvp-overview[data-state="calculating"] .e-pvp-primary { color: var(--e-ink); background: #d8c79d; }
.e-pvp-overview[data-state="completed"] .e-pvp-primary { background: var(--e-forest); }
.e-pvp-rules { padding: 16px; color: var(--e-ink); background: rgba(251,244,227,.87); border: 1px solid var(--e-ink); box-shadow: 5px 6px 0 rgba(29,29,24,.18); }
.e-pvp-rules h3 { margin: 7px 0; padding-bottom: 7px; border-bottom: 1px solid var(--e-ink); font: 900 21px/1 Georgia,serif; }
.e-pvp-rules ol { display: grid; gap: 8px; padding-left: 20px; font: 800 11px/1.4 Arial,sans-serif; }
.e-pvp-rules p { color: #6b6357; font: 700 9px/1.4 Arial,sans-serif; }
#editorialPvp .async-pvp-status { color: var(--e-ink); background: rgba(23,58,80,.08); border: 1px solid var(--e-ink); }
#editorialPvp .async-pvp-status.ok { border-left: 5px solid var(--e-forest); }
#editorialPvp .async-pvp-status.err { border-left: 5px solid var(--e-red); }
#editorialPvp .async-pvp-section { color: var(--e-ink); background: rgba(251,244,227,.62); border-color: var(--e-ink); }

@media (max-width: 900px) {
  .e-leaderboard-layout { grid-template-columns: 1fr; }
  .e-player-detail { position: static; }
  .e-pvp-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .e-remote-paper { margin-top: 8px; padding: 9px 7px; }
  .e-rank-tabs button { min-height: 44px; font-size: 10px; }
  .e-rank-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; margin: 6px 0; padding: 5px; }
  .e-rank-search { grid-column: 1 / -1; }
  .e-rank-filters select, .e-rank-filters input { min-height: 44px; }
  .e-remote-paper table.tbl { min-width: 640px; }
  .e-player-detail { display: grid; grid-template-columns: 56px 1fr auto; gap: 5px; padding: 8px; }
  .e-player-detail .e-eyebrow { grid-column: 1 / -1; }
  .e-detail-number { float: none; grid-row: 2 / 5; font-size: 36px; }
  .e-player-detail h3 { clear: none; margin: 0; font-size: 16px; }
  .e-player-detail p { margin: 0; }
  .e-detail-stats { grid-column: 2 / -1; grid-template-columns: repeat(4,1fr); margin: 3px 0; }
  .e-detail-stats span { padding: 3px; }
  .e-detail-stats b { font-size: 14px; }
  .e-detail-xi { grid-column: 1 / 3; margin: 0; }
  .e-player-detail button { grid-column: 3; min-height: 44px; }
  .e-pvp-lifecycle { margin: 8px 0; }
  .e-pvp-lifecycle span { min-height: 44px; flex-direction: column; gap: 3px; font-size: 10px; }
  .e-pvp-main .async-pvp-card { padding: 10px 8px; }
  .e-pvp-ticket { grid-template-columns: 45px minmax(0,1fr) auto; gap: 6px; padding: 8px; }
  .e-pvp-trophy { font-size: 31px; }
  .e-pvp-ticket h3 { font-size: 17px; }
  .e-pvp-ticket > b { font-size: 20px; }
  .e-pvp-snapshot { grid-template-columns: 1fr; gap: 6px; padding: 8px; }
  .e-snapshot-xi { gap: 2px; }
  .e-snapshot-xi span { min-height: 37px; font-size: 6px; }
  .e-snapshot-score { display: flex; align-items: center; gap: 6px; padding: 5px 0 0; border-left: 0; border-top: 1px solid var(--e-ink); }
  .e-snapshot-score b { font-size: 22px; }
  .e-pvp-opponent { padding: 7px 8px; }
  .e-pvp-opponent h3 { font-size: 15px; }
  .e-pvp-recent { gap: 2px; }
  .e-pvp-recent b { width: 21px; height: 21px; }
  .e-pvp-primary { min-height: 48px; }
}

/* Unified modal and accessible focus language */
:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #e2bd59; outline-offset: 2px; }
body.e-dialog-open { overflow: hidden; }
.e-dialog-overlay[hidden] { display: none; }
.e-dialog-overlay { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(10,22,17,.78); backdrop-filter: blur(4px); }
.e-dialog-card { width: min(520px,100%); position: relative; box-sizing: border-box; padding: 28px; color: var(--e-ink); background-color: var(--e-paper-hi); background-image: linear-gradient(rgba(251,244,227,.82),rgba(251,244,227,.82)),url("assets/editorial/generated/paper-texture-v2.jpg"); background-size: auto, 420px; border: 3px solid var(--e-ink); box-shadow: 10px 12px 0 rgba(0,0,0,.52); text-align: center; }
.e-dialog-card::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(29,29,24,.35); pointer-events: none; }
.e-dialog-x { position: absolute; z-index: 2; top: 9px; right: 9px; width: 34px; height: 34px; padding: 0; color: var(--e-ink); background: transparent; border: 1px solid var(--e-ink); border-radius: 0; font-size: 20px; }
.e-dialog-icon { width: 74px; height: 74px; display: grid; place-items: center; margin: 0 auto 14px; color: var(--e-paper-hi); background: var(--e-red); border: 3px double var(--e-paper-hi); box-shadow: 0 0 0 2px var(--e-ink); border-radius: 50%; font: 900 38px/1 Georgia,serif; }
.e-dialog-card h2 { margin: 7px 0; color: var(--e-ink); font: 900 34px/1 Georgia,serif; }
.e-dialog-card p { max-width: 390px; margin: 10px auto 18px; color: #5e574b; font: 700 12px/1.55 Arial,sans-serif; }
.e-dialog-actions { display: flex; justify-content: center; gap: 8px; }
.e-dialog-actions button { min-width: 130px; }
.e-dialog-progress { width: min(320px,85%); height: 8px; margin: 12px auto 20px; overflow: hidden; background: rgba(29,29,24,.16); border: 1px solid var(--e-ink); }
.e-dialog-progress i { width: 42%; height: 100%; display: block; background: var(--e-red); animation: e-dialog-load 1.3s ease-in-out infinite alternate; }
@keyframes e-dialog-load { from { transform: translateX(-15%); } to { transform: translateX(165%); } }
.e-dialog-overlay[data-state="loading"] .e-dialog-icon { background: var(--e-navy); }
.e-dialog-overlay[data-state="failure"] .e-dialog-icon,
.e-dialog-overlay[data-state="reset"] .e-dialog-icon,
.e-dialog-overlay[data-state="abandon"] .e-dialog-icon { background: var(--e-red); }
.e-dialog-overlay[data-state="network"] .e-dialog-icon,
.e-dialog-overlay[data-state="permission"] .e-dialog-icon { background: var(--e-forest); }
.e-dialog-overlay[data-state="expired"] .e-dialog-icon { background: #9b7b35; }
.e-dialog-overlay[data-state="recovered"] .e-dialog-icon { background: var(--e-forest); }
.e-dialog-actions .act.is-positive { background: var(--e-forest); }
.e-dialog-actions .act.is-destructive { color: var(--e-paper-hi); background: var(--e-red); }
.e-dialog-overlay[data-state="loading"] .e-dialog-card { cursor: progress; }

@media (max-width: 720px) {
  .e-dialog-overlay { padding: 12px; }
  .e-dialog-card { padding: 24px 15px 18px; box-shadow: 6px 7px 0 rgba(0,0,0,.52); }
  .e-dialog-icon { width: 62px; height: 62px; font-size: 31px; }
  .e-dialog-card h2 { font-size: 27px; }
  .e-dialog-actions { flex-direction: column; }
  .e-dialog-actions button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .e-dialog-progress i { animation: none; width: 100%; }
}

/* Visual-audit fixes: one icon language, explicit states, safe overlays and touch sizing. */
.e-brand-wordmark i .e-icon { width: 18px; height: 18px; }
.e-menu-button .e-icon, .e-dialog-x .e-icon { width: 22px; height: 22px; }
.e-button-icon { display: inline-grid; place-items: center; margin-right: 7px; }
.e-button-icon .e-icon { width: 17px; height: 17px; }
.mc-ic .e-icon, .dc-ic .e-icon { width: 1em; height: 1em; }
.battle { position: relative; }
.bevents .ball .e-icon, .golbub .e-icon { width: 14px; height: 14px; }
.e-result-reward { grid-template-columns: 64px minmax(0,1fr) minmax(250px,300px); }
.e-result-trophy { display: grid; place-items: center; }
.e-result-trophy .e-icon { width: 48px; height: 48px; stroke-width: 1.35; }
.e-speed-options button { min-width: 44px; min-height: 44px; }
.e-speed-options button[aria-pressed="true"], .e-speed-options button.is-active { color: var(--e-paper-hi); background: var(--e-red); border-color: var(--e-ink); }

#tableOverlay { z-index: 1300; }
#tableOverlay .panel { position: relative; z-index: 1; }
#tableOverlay .ptools { position: sticky; z-index: 3; bottom: 0; padding-bottom: max(8px,env(safe-area-inset-bottom)); }
#tableOverlay #tblClose { min-width: 44px; min-height: 44px; }
body.e-table-open { overflow: hidden; }
body.e-table-open .e-mobile-nav, body.e-table-open .e-mobile-header { visibility: hidden; pointer-events: none; }

.match-cue-layer {
  position: relative;
  z-index: 20;
  height: 38px;
  min-height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  overflow: visible;
  box-sizing: border-box;
}
.match-cue {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 18px 4px 10px;
  max-width: min(94%, 440px);
  color: var(--e-paper-hi);
  background: rgba(18,59,43,.96);
  border: 1.5px solid #e4ca89;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0,0,0,.38), 2px 3px 0 rgba(0,0,0,.22);
  box-sizing: border-box;
  animation: match-cue-in .65s cubic-bezier(.16,1,.3,1) both;
}
.match-cue[data-kind="concede"] { background: rgba(116,35,27,.96); border-color: #ff9d8f; }
.match-cue[data-kind="save"], .match-cue[data-kind="clean-sheet"] { background: rgba(23,58,80,.96); border-color: #8ed0f8; }
.match-cue[data-kind="half-time"], .match-cue[data-kind="full-time"] { color: var(--e-ink); background: rgba(251,244,227,.98); border-color: var(--e-ink); }
.match-cue-icon { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; flex: 0 0 24px; }
.match-cue-icon .e-icon, .match-cue-icon svg { width: 15px; height: 15px; }
.match-cue-copy { min-width: 0; display: flex; align-items: center; gap: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.match-cue-copy b { font: 900 13px/1 Georgia,serif; flex-shrink: 0; }
.match-cue-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 12px/1.2 Arial,sans-serif; }
@keyframes match-cue-in { 0% { opacity: 0; transform: translateY(-8px) scale(.92); } 15%,75% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-4px); } }

.e-status-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; color: var(--e-ink); background: var(--e-paper-hi); border: 2px solid var(--e-ink); box-shadow: 5px 5px 0 rgba(29,29,24,.2); }
.e-status-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--e-paper-hi); background: var(--e-navy); border-radius: 50%; }
.e-status-icon .e-icon { width: 25px; height: 25px; }
.e-status-card > div { min-width: 0; display: grid; gap: 3px; }
.e-status-card b { font: 900 18px/1.1 Georgia,serif; }
.e-status-card p { margin: 0; color: #554f45; font: 700 11px/1.4 Arial,sans-serif; }
.e-status-card[data-state="failure"] .e-status-icon, .e-status-card[data-state="disabled"] .e-status-icon { background: var(--e-red); }
.e-status-card[data-state="maintenance"] .e-status-icon, .e-status-card[data-state="locked"] .e-status-icon { background: #7d5d19; }
.e-status-card[data-state="empty"] .e-status-icon { background: #53626a; }
.e-status-card[data-state="loading"] .e-status-icon .e-icon { animation: e-state-spin 1s linear infinite; }
@keyframes e-state-spin { to { transform: rotate(360deg); } }

@media (min-width: 1100px) {
  .e-shell-stage > .wrap { padding: 8px 24px 24px; }
  #setup .setup-hero { min-height: 190px; grid-template-columns: minmax(0,1fr) minmax(320px,1fr); gap: 14px; padding: 12px 18px 8px; }
  #setup .hero-title { font-size: clamp(26px,2.4vw,36px); }
  #setup .hero-sub { max-width: 540px; font-size: 11px; line-height: 1.35; margin: 2px 0 4px; }
  #setup .hero-stats { max-width: 320px; }
  #setup .hstat { padding-block: 2px; }
  #setup .hstat b { font-size: 18px; }
  #setup .hstat span { font-size: 8px; }
  .e-home-brief { margin: 4px 0; }
  .e-home-brief > div { padding: 4px 8px; }
  .e-home-brief span { font-size: 7px; }
  .e-home-brief b { font-size: 12px; }
  #setup .setup-panel { padding: 8px 12px 10px; }
  .e-home-controls { gap: 6px 12px; }
  .e-home-controls .mode-card { min-height: 74px; padding: 6px 8px; }
  .e-home-controls .mc-t { font-size: 13px; }
  .e-home-controls .mc-d, .e-home-controls .fdesc, .e-home-controls .mode-desc { font-size: 8.5px; line-height: 1.25; }
  .e-home-controls .fbtn, .e-home-controls .diff-card { min-height: 30px; font-size: 10px; }
  #setup .setup-cta button.act.big { min-height: 38px; font-size: 11.5px; }
}

@media (max-width: 720px) {
  button, [role="button"], input, select { min-width: 44px; min-height: 44px; }
  .e-draft-step { min-width: 26px; min-height: 44px; padding: 2px 0; }
  .e-draft-step b { display: none; }
  .e-home-controls .fbtn, .e-home-controls .diff-card,
  #setup .acctbar .acct-actions button, #season .roundbar button,
  .e-speed-options button, .e-row-detail, .e-rank-pagination button,
  .e-dialog-x, .e-menu-button { min-width: 44px !important; min-height: 44px !important; }
  .e-home-controls .formations { grid-template-columns: repeat(2,minmax(44px,1fr)); }
  .e-home-controls .diff-grid { grid-template-columns: 1fr; }
  .e-result-reward { grid-template-columns: 44px minmax(0,1fr); }
  .e-result-trophy .e-icon { width: 34px; height: 34px; }
  .match-cue { display: inline-flex; align-items: center; padding: 4px 10px; gap: 6px; max-width: calc(100% - 16px); }
  .match-cue-icon { width: 20px; height: 20px; flex: 0 0 20px; }
  .match-cue-copy b { font-size: 12px !important; }
  .match-cue-copy span { font-size: 11px !important; }
  .e-status-card { grid-template-columns: 44px minmax(0,1fr); }
  .e-status-card .e-status-action { grid-column: 1 / -1; width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .match-cue, .e-status-card[data-state="loading"] .e-status-icon .e-icon { animation: none !important; }
  .match-cue { opacity: 1; }
}


/* B方案：关键比赛事件卡。传奇以馆藏金黑呈现，英雄以赛场红铜呈现；
   普通卡维持原来的报刊纸张体系。 */
.event-art .av { object-fit: cover !important; object-position: var(--card-focus-lineup,50% 8%) !important; }
#overlay #pkList .event-art .av { object-position: var(--card-focus-picker,50% 42%) !important; }
.event-art.ic::after, .event-art.hr::after { display: none; }
.card-tier-mark { display: none; }

#draft .slot.card-icon,
#draft .slot.card-hero { isolation: isolate; border-width: 2px; }
#draft .slot.card-icon {
  color: #f6e9c7;
  background-color: #102e25;
  background-image:
    radial-gradient(circle at 50% 35%,rgba(245,214,129,.28),transparent 42%),
    linear-gradient(150deg,#173c2f 0%,#09251d 60%,#071812 100%);
  border-color: #d4b866;
  box-shadow: 0 0 0 1px #18362b,5px 7px 0 rgba(6,19,14,.55),inset 0 0 0 2px rgba(245,221,156,.18);
}
#draft .slot.card-hero {
  color: #f8e4cd;
  background-color: #6d241f;
  background-image:
    linear-gradient(125deg,transparent 0 44%,rgba(255,191,111,.14) 44% 48%,transparent 48%),
    linear-gradient(155deg,#9d3729 0%,#6f201d 54%,#2a1517 100%);
  border-color: #d88a58;
  box-shadow: 5px 7px 0 rgba(39,10,11,.5),inset 0 0 0 2px rgba(255,196,134,.18);
}
#draft .slot.card-icon .card-top {
  background: linear-gradient(90deg,#061b15,#174536,#061b15);
  border-color: #d4b866;
}
#draft .slot.card-hero .card-top {
  background: linear-gradient(90deg,#3d1114,#a53d2c,#3d1114);
  border-color: #e2a16b;
}
#draft .slot.card-icon .card-top i,
#draft .slot.card-hero .card-top i { color: #f1d48d; }
#draft .slot.card-icon .card-tier-mark,
#draft .slot.card-hero .card-tier-mark {
  position: absolute; z-index: 6; top: 27px; left: 50%; display: block;
  transform: translateX(-50%); padding: 2px 7px; white-space: nowrap;
  color: #1c241c; background: #e3c773; border: 1px solid #201b12;
  font: 900 6px/1 Arial,sans-serif; letter-spacing: 1px;
  box-shadow: 1px 2px 0 rgba(0,0,0,.35);
}
#draft .slot.card-hero .card-tier-mark { color: #fff2df; background: #a83e2c; border-color: #e8a86d; }
#draft .slot.card-icon .card-portrait,
#draft .slot.card-hero .card-portrait {
  width: calc(100% - 8px); height: 82px; margin: 14px auto 3px;
}
#draft .slot.card-icon .card-portrait .avwrap,
#draft .slot.card-hero .card-portrait .avwrap {
  width: 100%; height: 100%; border-radius: 0 !important; outline: 0; filter: none;
  box-shadow: 0 3px 0 rgba(0,0,0,.38) !important;
}
#draft .slot.card-icon .card-portrait .avwrap {
  border: 2px solid #e7d28e !important;
  clip-path: polygon(8% 0,92% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%);
  filter: sepia(.12) contrast(1.08) saturate(.9);
}
#draft .slot.card-hero .card-portrait .avwrap {
  border: 2px solid #efad78 !important;
  clip-path: polygon(0 0,100% 0,91% 100%,9% 100%);
  filter: contrast(1.08) saturate(1.08);
}
#draft .slot.card-icon .rating-rail,
#draft .slot.card-hero .rating-rail { top: 39px; left: 7px; padding: 2px 3px; background: rgba(7,18,14,.78); }
#draft .slot.card-icon .rating-rail .rt,
#draft .slot.card-hero .rating-rail .rt { color: #f0d27e; text-shadow: 0 1px #000; }
#draft .slot.card-icon .rating-rail span,
#draft .slot.card-hero .rating-rail span { color: #f6e6bf; }
#draft .slot.card-icon .card-identity,
#draft .slot.card-hero .card-identity { margin: 0 2px; padding: 4px 2px 2px; border-top-color: rgba(239,210,139,.68); }
#draft .slot.card-icon .who,
#draft .slot.card-hero .who { color: #fff1ca; text-shadow: 0 1px 1px #000; }
#draft .slot.card-icon .rt2,
#draft .slot.card-hero .rt2 { color: rgba(255,239,206,.78); }
#draft .slot.card-icon .chdots,
#draft .slot.card-hero .chdots { top: 38px; right: 5px; }

#overlay #pkList > .pick.card-icon,
#overlay #pkList > .pick.card-hero {
  position: relative; min-height: 166px; grid-template-columns: 92px minmax(0,1fr) 58px;
  gap: 11px; padding: 12px 10px; overflow: hidden; border-width: 2px;
}
#overlay #pkList > .pick.card-icon {
  color: #f8ebc9;
  background:
    radial-gradient(circle at 16% 45%,rgba(233,205,126,.23),transparent 34%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),
    linear-gradient(145deg,#173d30,#071d17 72%);
  border-color: #d7bd70;
  box-shadow: 3px 4px 0 #07140f,inset 0 0 0 1px rgba(245,220,150,.3);
}
#overlay #pkList > .pick.card-hero {
  color: #fff0dc;
  background:
    linear-gradient(120deg,transparent 0 56%,rgba(242,158,95,.16) 56% 59%,transparent 59%),
    linear-gradient(145deg,#a53a2b,#551b1b 75%);
  border-color: #dd8e5c;
  box-shadow: 3px 4px 0 #321010,inset 0 0 0 1px rgba(255,195,140,.3);
}
#overlay #pkList > .pick.card-icon::after,
#overlay #pkList > .pick.card-hero::after {
  content: ""; position: absolute; inset: 5px; pointer-events: none;
  border: 1px solid rgba(244,216,143,.34);
}
#overlay #pkList > .pick.card-icon .pk-ava,
#overlay #pkList > .pick.card-hero .pk-ava { width: 92px; z-index: 1; }
#overlay #pkList > .pick.card-icon .avwrap,
#overlay #pkList > .pick.card-hero .avwrap {
  width: 88px; height: 124px; border-radius: 0 !important; outline: 0; filter: none;
}
#overlay #pkList > .pick.card-icon .avwrap {
  border: 2px solid #ebd591 !important;
  clip-path: polygon(9% 0,91% 0,100% 9%,100% 89%,50% 100%,0 89%,0 9%);
  box-shadow: 0 0 0 3px rgba(210,177,91,.18),0 5px 10px rgba(0,0,0,.48) !important;
}
#overlay #pkList > .pick.card-hero .avwrap {
  border: 2px solid #efae77 !important;
  clip-path: polygon(0 0,100% 0,89% 100%,8% 100%);
  box-shadow: 0 0 0 3px rgba(221,118,72,.18),0 5px 10px rgba(0,0,0,.48) !important;
}
#overlay #pkList > .pick.card-icon .pk-body,
#overlay #pkList > .pick.card-hero .pk-body,
#overlay #pkList > .pick.card-icon .pk-right,
#overlay #pkList > .pick.card-hero .pk-right { position: relative; z-index: 1; }
#overlay #pkList > .pick.card-icon .pk-name,
#overlay #pkList > .pick.card-hero .pk-name { color: #fff2cf; font-size: 16px; text-shadow: 0 1px #000; }
#overlay #pkList > .pick.card-icon .pk-meta,
#overlay #pkList > .pick.card-hero .pk-meta { color: #f0d37e; }
#overlay #pkList > .pick.card-icon .pk-tags,
#overlay #pkList > .pick.card-icon .pk-poslist,
#overlay #pkList > .pick.card-hero .pk-tags,
#overlay #pkList > .pick.card-hero .pk-poslist { color: rgba(255,240,209,.78); }
#overlay #pkList > .pick.card-icon .pk-ovr,
#overlay #pkList > .pick.card-hero .pk-ovr { color: #f1d37f; background: none; -webkit-text-fill-color: currentColor; }
.pk-tier {
  margin-bottom: 5px; color: #f1d37f; font: 900 8px/1 Arial,sans-serif;
  letter-spacing: 1.3px; text-transform: uppercase;
}
.pk-tier em {
  display: -webkit-box; margin-top: 4px; overflow: hidden; color: rgba(255,239,207,.76);
  font: 700 8px/1.3 Arial,sans-serif; font-style: normal; letter-spacing: 0;
  text-transform: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
#overlay #pkList > .pick.card-hero .pk-tier { color: #ffb87f; }

@media (max-width:720px) {
  #draft .slot.card-icon .card-portrait,
  #draft .slot.card-hero .card-portrait { width: calc(100% - 4px); height: 52px; margin-top: 11px; }
  #draft .slot.card-icon .card-tier-mark,
  #draft .slot.card-hero .card-tier-mark { top: 22px; padding: 1px 4px; font-size: 4.5px; }
  #draft .slot.card-icon .rating-rail,
  #draft .slot.card-hero .rating-rail { top: 32px; left: 3px; }
  #draft .slot.card-icon .chdots,
  #draft .slot.card-hero .chdots { top: 31px; right: 2px; }
  #overlay #pkList > .pick.card-icon,
  #overlay #pkList > .pick.card-hero { min-height: 128px; grid-template-columns: 54px minmax(0,1fr) 38px; gap: 5px; padding: 6px 5px; }
  #overlay #pkList > .pick.card-icon .pk-ava,
  #overlay #pkList > .pick.card-hero .pk-ava { width: 54px; }
  #overlay #pkList > .pick.card-icon .avwrap,
  #overlay #pkList > .pick.card-hero .avwrap { width: 52px; height: 86px; }
  #overlay #pkList > .pick.card-icon .pk-name,
  #overlay #pkList > .pick.card-hero .pk-name { font-size: 11px; }
  .pk-tier { font-size: 6px; letter-spacing: .7px; }
  .pk-tier em { display: none; }
}

/* Readability pass: keep the editorial system, but never sacrifice scanability
   to fit a dense card. User-facing copy follows the art manual's 12-16px range;
   decorative marks and large scores keep their display scale. */
.e-app-shell { font-size: 14px; line-height: 1.5; }
.e-side-edition,
.e-nav-index,
.e-side-footer span,
.e-side-footer small,
.e-eyebrow,
.e-home-brief span,
.e-result-kpis span,
.e-result-kpis small,
.e-data-stamp span,
.e-cup-mark span,
.e-rank-filters label,
.pk-tier {
  font-size: 12px !important;
  line-height: 1.3 !important;
  letter-spacing: .04em;
}
.e-side-deck,
.e-nav-item,
.e-mobile-nav-item,
.e-view-heading p,
.e-draft-heading p,
.e-match-heading p,
.e-match-control p,
.e-result-cover p,
.e-result-reward small,
.e-player-detail p,
.e-detail-xi,
.e-pvp-ticket p,
.e-pvp-opponent p,
.e-pvp-rules ol,
.e-pvp-rules p,
.e-dialog-card p,
.e-status-card p,
.match-cue-copy span {
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.e-nav-item { line-height: 1.25 !important; }
.e-mobile-nav-item { line-height: 1.25 !important; }
.e-home-brief b { font-size: 16px !important; line-height: 1.2 !important; }
.e-home-controls .sec-label { font-size: 14px !important; }
.e-home-controls .sec-no { font-size: 12px !important; }
.e-home-controls .mc-t { font-size: 16px !important; line-height: 1.3 !important; }
.e-home-controls .mc-d,
.e-home-controls .fdesc,
.e-home-controls .mode-desc { font-size: 14px !important; line-height: 1.45 !important; }
.e-home-controls .fbtn,
.e-home-controls .dc-t,
#setup .setup-cta button.act.big { font-size: 15px !important; line-height: 1.25 !important; }
#setup .hero-sub { font-size: 14px !important; line-height: 1.55 !important; }
#setup .hstat span { font-size: 12px !important; line-height: 1.3 !important; }
.e-draft-step small,
.e-draft-step b,
.e-selected-list > span,
#eDraftNeeds p,
#eDraftNeeds div span { font-size: 12px !important; line-height: 1.35 !important; }
#eDraftNeeds p b { font-size: 22px !important; }
#draft .slot .who,
#draft .slot .nm,
#draft .slot .rt2,
#draft .slot .tag,
#draft .slot .card-top .pos,
#draft .slot .card-tier-mark { font-size: 12px !important; line-height: 1.25 !important; }
#draft .slot .rt2 { font-size: 11px !important; }
#draft .slot.card-icon .card-tier-mark,
#draft .slot.card-hero .card-tier-mark { font-size: 11px !important; }
#overlay .panel .ph2,
#overlay #pkList > .pick .pk-meta,
#overlay #pkList > .pick .pk-tags,
#overlay #pkList > .pick .pk-poslist,
#overlay #pkList > .pick .pk-pos,
#overlay #pkList > .pick .pk-sub,
#overlay #pkList > .pick .tag,
#overlay #pkList > .pick .pk-rate,
#overlay #pkList > .pick .pk-ovrl,
#overlay #pkList > .pick .pk-bad { font-size: 12px !important; line-height: 1.35 !important; }
#overlay #pkList > .pick .pk-name,
#overlay #pkList > .pick.card-icon .pk-name,
#overlay #pkList > .pick.card-hero .pk-name { font-size: 16px !important; line-height: 1.3 !important; }
.e-live-stamp span,
#eMatchRecord span,
.e-speed-options button,
.e-log-section .logrow,
#season .bcard .who,
.e-result-seal span,
.e-result-seal small,
.e-result-kpis span,
.e-result-kpis small,
.e-result-reward small,
.e-rank-filters select,
.e-rank-filters input,
.e-detail-stats span,
.e-row-detail,
.e-rank-pagination button,
.e-rank-pagination span,
.e-pvp-lifecycle b,
.e-snapshot-xi span,
.e-snapshot-xi b,
.e-snapshot-score,
.e-pvp-recent span,
.e-pvp-recent b { font-size: 12px !important; line-height: 1.35 !important; }
.e-match-control p,
.e-log-section .logrow,
.e-pvp-rules ol,
.e-pvp-rules p { line-height: 1.5 !important; }
#season .bcard .who { font-size: 12px !important; }
#season .bcard .rt { font-size: 15px !important; }
#finale .sp-card .sp-t,
#finale .sp-card .sp-pos,
#finale .sp-card .sp-vl,
#finale .sp-card .sp-sub,
#finale .sptile i,
#finale .sptile em,
#finale .sptile b { font-size: 12px !important; line-height: 1.3 !important; }
#finale .sp-card .sp-nm { font-size: 14px !important; line-height: 1.25 !important; }
#finale .e-result-reward b { font-size: 16px !important; }
.match-cue-copy b { font-size: 22px !important; }

/* Secondary product surfaces: leaderboard, PVP, account and shop copy use the
   same readable metadata scale even when they are rendered by legacy markup. */
.lb-meta,
.pn-sub,
.clubmini,
.rec-meta,
.grprow,
.ch-badge,
.async-pvp-status,
.async-pvp-goal,
.async-pvp-edit-note,
.async-pvp-summary span,
.async-pvp-explain div,
.async-pvp-match,
.async-pvp-match small,
.async-pvp-badge,
.async-pvp-next,
.async-pvp-history-row,
.app-item .ai-desc,
.app-item .ai-price,
.app-item .owned,
.lb-title,
.lb-title i,
.app-eq,
.acct-field label,
.acct-meta,
.acctbar .acct-hint,
.hint { font-size: 13px !important; line-height: 1.45 !important; }
.lb-tabs button,
.ch-tabs button,
.lb-back,
.app-item .ai-name,
.app-sec h4,
.acct-err { font-size: 14px !important; line-height: 1.35 !important; }
.hero-badge,
.card-top .pos,
.slot .card-top .pos,
.bcard .card-top .pos,
.rating-rail span,
.card-top i,
.score-kicker i,
.bscore .bres,
.pk-tier em { font-size: 10px !important; line-height: 1.25 !important; }
.ch-badge,
.async-pvp-badge { padding-top: 4px; padding-bottom: 4px; }

@media (max-width: 720px) {
  .e-shell-stage > .wrap { padding: 12px 12px 32px; }
  .e-mobile-nav-item { font-size: 12px !important; }
  .e-home-brief { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-home-brief > div { padding: 8px 7px; text-align: left; }
  .e-home-brief span { font-size: 12px !important; }
  .e-home-brief b { font-size: 15px !important; }
  #setup .setup-hero { display: block; min-height: 0; padding: 26px 14px 64px; }
  #setup .hero-copy { padding-top: 5px; }
  #setup .hero-title { font-size: 32px !important; line-height: 1.08 !important; letter-spacing: -.5px; }
  #setup .hero-sub { margin: 12px 0 16px; }
  #setup .hero-photo { display: block; width: 92%; margin: 18px auto 0; border-width: 6px; border-bottom-width: 26px; }
  #setup .hero-photo figcaption { display: block; font-size: 12px !important; bottom: -20px; }
  #setup .hero-record { display: none; }
  .e-home-controls { grid-template-columns: 1fr; gap: 10px; }
  .e-home-mode { grid-row: auto; }
  .e-home-controls .sec-label { margin-bottom: 7px; }
  .e-home-controls .mode-card { min-height: 92px; padding: 12px 13px; }
  .e-home-controls .mc-t { font-size: 17px !important; }
  .e-home-controls .mc-d,
  .e-home-controls .fdesc,
  .e-home-controls .mode-desc { display: block; }
  .e-home-controls .formations { grid-template-columns: repeat(3, minmax(44px, 1fr)); gap: 6px; }
  .e-home-controls .fbtn { min-height: 44px; padding: 7px 5px; }
  .e-home-controls .diff-grid { grid-template-columns: repeat(2, minmax(44px, 1fr)); gap: 6px; }
  .e-home-controls .diff-card { min-height: 52px; padding: 8px 6px; }
  #setup .setup-cta { display: grid; grid-template-columns: 1fr; gap: 8px; }
  #setup .setup-cta button.act.big { min-height: 52px; padding: 10px 12px; }
  .e-draft-heading { align-items: start; gap: 10px; }
  .e-draft-heading p { font-size: 14px !important; }
  .e-draft-step small { font-size: 12px !important; }
  #draft .slot .who { font-size: 12px !important; }
  #draft .slot .rt2 { font-size: 11px !important; }
  #overlay .panel .ph2 { font-size: 14px !important; }
  #overlay #pkList > .pick .pk-name { font-size: 15px !important; }
  #overlay #pkList > .pick .pk-meta,
  #overlay #pkList > .pick .pk-tags,
  #overlay #pkList > .pick .pk-poslist,
  #overlay #pkList > .pick .pk-pos,
  #overlay #pkList > .pick .pk-sub,
  #overlay #pkList > .pick .tag,
  #overlay #pkList > .pick .pk-rate,
  #overlay #pkList > .pick .pk-ovrl,
  #overlay #pkList > .pick .pk-bad { font-size: 12px !important; }
  .e-match-heading p { font-size: 14px !important; }
  .e-match-control p { font-size: 14px !important; }
  #season .bteam { font-size: 12px !important; }
  #season .bcard .who { font-size: 9px !important; letter-spacing: -0.3px !important; }
  #season .bcard .rt { font-size: 14px !important; }
  .e-result-cover p { font-size: 14px !important; }
  .e-result-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e-result-kpis > div { padding: 9px 6px; }
  .e-result-kpis span,
  .e-result-kpis small { font-size: 12px !important; }
  #finale .sp-card .sp-t,
  #finale .sp-card .sp-pos,
  #finale .sp-card .sp-vl,
  #finale .sp-card .sp-sub,
  #finale .sptile i,
  #finale .sptile em,
  #finale .sptile b { font-size: 12px !important; }
  #finale .sp-card .sp-nm { font-size: 14px !important; }
  #finale .e-result-reward { grid-template-columns: 44px minmax(0,1fr); gap: 8px; }
  #finale .e-result-reward button { grid-column: 1 / -1; width: 100%; min-height: 48px; font-size: 14px !important; }
  .e-rank-tabs button { font-size: 14px !important; }
  .e-rank-filters label { font-size: 12px !important; }
  .e-rank-filters select,
  .e-rank-filters input { font-size: 14px !important; }
  .e-player-detail h3 { font-size: 18px !important; }
  .e-detail-stats span,
  .e-detail-xi,
  .e-row-detail,
  .e-rank-pagination button,
  .e-rank-pagination span { font-size: 12px !important; }
  .e-pvp-lifecycle span { font-size: 12px !important; }
  .e-snapshot-xi span,
  .e-snapshot-xi b,
  .e-snapshot-score,
  .e-pvp-recent span,
  .e-pvp-recent b { font-size: 12px !important; }
  .e-pvp-ticket p,
  .e-pvp-opponent p,
  .e-pvp-rules ol,
  .e-pvp-rules p { font-size: 14px !important; }
  .e-dialog-card p { font-size: 14px !important; }
  .lb-meta,
  .pn-sub,
  .clubmini,
  .rec-meta,
  .grprow,
  .ch-badge,
  .async-pvp-status,
  .async-pvp-goal,
  .async-pvp-edit-note,
  .async-pvp-summary span,
  .async-pvp-explain div,
  .async-pvp-match,
  .async-pvp-match small,
  .async-pvp-badge,
  .async-pvp-next,
  .async-pvp-history-row,
  .app-item .ai-desc,
  .app-item .ai-price,
  .app-item .owned,
  .lb-title,
  .lb-title i,
  .app-eq,
  .acct-field label,
  .acct-meta,
  .acctbar .acct-hint,
  .hint { font-size: 13px !important; }
  .lb-tabs button,
  .ch-tabs button,
  .lb-back,
  .app-item .ai-name,
  .app-sec h4,
  .acct-err { font-size: 14px !important; }
}

@media (max-width: 360px) {
  #setup .hero-photo figcaption { display: none; }
}

/* Contrast pass: darken status colors whenever they sit on paper surfaces.
   The bright variants remain reserved for forest/navy surfaces. */
.e-nav-item.is-locked,
.e-mobile-nav-item.is-locked { opacity: .78; color: #625a4d; }
.mode-card.maint { opacity: 1; color: #625a4d; }
.grpchip.league b,
.pk-poschip,
.async-pvp-head b,
.async-pvp-report h4,
.async-pvp-standings summary,
.async-pvp-edit-note,
.acctbar .acct-coin,
.app-coin,
.app-item .ai-price { color: #174a64 !important; }
.grpchip.nat b,
.async-pvp-status.ok,
.app-item .owned,
.checkin-bonus,
.pslot .st.g { color: #1f6f45 !important; }
.grpchip.both b,
.grpchip.icon,
.grpchip.icon b,
.pk-tags .mo-t2,
.pk-bad.adj,
.ch-badge.norm { color: #72551f !important; }
.grpchip.club b,
.pk-tags .mo-t3,
.pk-bad.bad,
.async-pvp-status.err,
.lbst.err,
.bevents .ev.opp .who { color: #8c241b !important; }
.grpchip .cboost { color: #5d3b87 !important; }
.slot .chem,
.slot .chem.one,
.grpchip.league,
.pslot .st.a,
.ch-badge.norm { color: #174a64 !important; }
.slot .chem.both { color: #72551f !important; }
.pk-bad.ok,
.lbst.ok,
.async-pvp-status strong { color: #1f6f45 !important; }
.ch-badge.hot { color: #8c241b !important; }
.pk-tags .mo-t1 { color: #625a4d !important; opacity: 1 !important; }
.e-pvp-ticket p,
.e-pvp-opponent p,
.e-pvp-rules p { color: #514b40 !important; }
.async-pvp-status,
.async-pvp-goal,
.async-pvp-explain div,
.async-pvp-match small,
.async-pvp-next,
.lb-meta,
.pn-sub,
.rec-meta,
.clubmini,
.lbst,
.hint { color: #625a4d !important; }
.e-rank-filters label,
.e-rank-filters select,
.e-rank-filters input { color: #243b4a; }
.e-rank-filters label { color: #f0dfb8 !important; }
.e-rank-filters select,
.e-rank-filters input { background: var(--e-paper-hi) !important; }
.acctbar .acct-hint,
.acct-field label,
.acct-meta,
.app-item .ai-desc,
.app-eq { color: #625a4d !important; }
.app-item .ai-price,
.acctbar .acct-coin,
.app-coin { background-color: transparent; }

/* Deep legibility audit: text on dark editorial cards must use the light
   paper ink, while paper-surface status text keeps the dark ink above. */
.e-pvp-ticket .e-eyebrow { color: #f2d79d !important; }
.e-pvp-ticket p { color: #eadab8 !important; }
.e-pvp-opponent p,
.e-pvp-rules p { color: #514b40 !important; }
#finale .sp-card .sp-t,
#finale .sp-card .sp-pos,
#finale .sp-card .sp-sub,
#finale .sptile em { color: #d9cba9 !important; opacity: 1 !important; }
#finale .sp-card .sp-vl { color: #f3e8cf !important; }

@media (max-width: 720px) {
  /* Give the result honors enough width for Chinese labels and stat captions. */
  #finale #spotlight { grid-template-columns: 1fr !important; gap: 8px !important; }
  #finale .sp-card { min-height: 132px !important; padding: 8px 10px !important; }
  #finale .sp-card .sp-top { min-height: 30px; padding: 5px 6px; }
  #finale .sp-card .sp-t { font-size: 13px !important; }
  #finale .sp-card .sp-ava .avwrap { width: 42px; height: 42px; }
  #finale .sp-card .sp-nm { font-size: 16px !important; }
  #finale .sp-card .sp-pos,
  #finale .sp-card .sp-vl,
  #finale .sp-card .sp-sub,
  #finale .sptile i,
  #finale .sptile b,
  #finale .sptile em { font-size: 13px !important; line-height: 1.3 !important; }
  #finale .sptile { min-width: 58px; padding: 3px 5px; }
}
/* Coach picker styles unified into modern broadsheet pick cards (see lines 2575+) */

/* =========================================================================
   MOBILE UX OVERHAUL: SCENE 1 (DRAFT) + SCENE 2 (PREMATCH) + SCENE 3 (FINALE)
   100% RETRO EDITORIAL NEWSPAPER AESTHETIC · IPHONE 14 (390x844) SAFE
   ========================================================================= */

/* --- 场景 1: 移动端选秀球场与紧凑单行报头 --- */
@media (max-width: 600px) {
  /* 顶部单行报头栏：从 260px 压缩为 38px，释放 220px 垂直空间 */
  .e-draft-workbench {
    margin: 10px 0 14px !important;
    padding: 6px 10px !important;
    min-height: 0 !important;
    background: var(--e-paper-hi) !important;
    border: 2px solid var(--e-ink) !important;
    box-shadow: 3px 3px 0 rgba(29,29,24,.18) !important;
  }
  .e-draft-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    gap: 8px !important;
  }
  .e-draft-heading h2 {
    font-size: 14px !important;
    font-weight: 900 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    letter-spacing: -0.3px !important;
  }
  .e-draft-heading p {
    display: none !important;
  }
  .e-draft-heading .e-eyebrow {
    display: none !important;
  }
  .e-draft-progress {
    display: none !important;
  }
  .e-draft-counter {
    display: flex !important;
    align-items: baseline !important;
    gap: 2px !important;
    white-space: nowrap !important;
  }
  .e-draft-counter b {
    font-size: 20px !important;
    line-height: 1 !important;
    color: var(--e-red) !important;
  }
  .e-draft-counter span {
    font-size: 11px !important;
    color: #625b4f !important;
  }
  #draft > .hint, #draft > .formal-tutorial-guide {
    display: none !important;
  }

  #draft {
    padding-bottom: calc(var(--e-mobile-nav, 56px) + 96px) !important;
  }

  /* 选秀草皮容器：紧凑竖直空间，让门将完整留在可视区域内 */
  #draft .pitch {
    max-width: 100% !important;
    padding: 6px 4px 6px !important;
    margin: 0 auto !important;
    overflow: visible !important;
  }
  #draft .row {
    gap: 4px !important;
    margin: 2px 0 !important;
  }

  /* 原生卡片 (.slot)：保持 100% 复古报刊象牙白、能力值加成与三徽章，尺寸紧凑化 */
  #draft .slot {
    width: 82px !important;
    height: 126px !important;
    min-height: 126px !important;
    max-height: 126px !important;
    padding: 2px 2px 3px !important;
    box-sizing: border-box !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 rgba(29,29,24,.35) !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: var(--e-paper-hi) !important;
  }

  /* 卡片顶栏：位置 (前锋/中场/后卫/门将) */
  #draft .slot .card-top {
    width: 100% !important;
    height: 15px !important;
    min-height: 15px !important;
    background: var(--e-navy) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--e-ink) !important;
  }
  #draft .slot .card-top .pos,
  #draft .slot .pos {
    font-size: 9px !important;
    font-weight: 800 !important;
    color: var(--e-paper-hi) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* 球员头像：大幅放大特写（从 28px 放大至 38px x 42px，清晰看清球星长相） */
  #draft .slot .avwrap {
    width: 38px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    margin: 1px auto 0 !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 1.5px 1.5px 0 rgba(28,27,24,.35) !important;
    filter: sepia(.12) contrast(1.06) !important;
  }
  #draft .slot .avwrap .av {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  /* 评级 + 邻近标签 + 化学点：优雅并排，绝不遮挡 */
  #draft .slot .rating-rail,
  #draft .slot .rt {
    font-size: 14px !important;
    font-weight: 900 !important;
    color: var(--e-red) !important;
    line-height: 1 !important;
    margin: 0 !important;
    font-family: Georgia, serif !important;
  }
  #draft .slot .tag {
    position: static !important;
    display: inline-block !important;
    font-size: 7.5px !important;
    padding: 0 2px !important;
    margin-left: 2px !important;
    color: #fff !important;
    background: var(--e-red) !important;
    border-radius: 2px !important;
    vertical-align: middle !important;
  }
  #draft .slot .chdots {
    display: flex !important;
    gap: 2px !important;
    margin: 1px 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #draft .slot .chdots .d {
    width: 4px !important;
    height: 4px !important;
  }
  #draft .slot.picked .card-rating {
    position: absolute !important;
    left: 2px !important;
    top: 18px !important;
    width: 19px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--e-brick, #9c2e20) !important;
    background: transparent !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
  #draft .slot.picked .card-rating strong {
    font-family: Georgia, serif !important;
    font-size: 14.5px !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.5px !important;
  }
  #draft .slot.picked .card-rating small {
    font-size: 4.5px !important;
    font-weight: 800 !important;
  }
  #draft .slot.picked .card-portrait {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 1px 0 !important;
    padding: 0 !important;
  }
  #draft .slot.picked .card-portrait .avwrap {
    width: 32px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    margin: 0 auto !important;
  }
  #draft .slot.picked .chdots {
    position: absolute !important;
    right: 4px !important;
    top: 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    margin: 0 !important;
    z-index: 3 !important;
  }
  #draft .slot.picked .chdots .d {
    width: 4px !important;
    height: 4px !important;
  }

  /* 球员姓名：最多两行，居中排版 */
  #draft .slot .who,
  #draft .slot .nm {
    font-size: 9.5px !important;
    font-weight: 900 !important;
    color: var(--e-ink) !important;
    line-height: 1.1 !important;
    margin: 1px 0 0 !important;
    max-height: 22px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-align: center !important;
    word-break: break-all !important;
  }

  /* 核心加成公式：基础 85 +3.0 醒目展示 */
  #draft .slot .rt2 {
    font-size: 8px !important;
    line-height: 1 !important;
    color: #5b5549 !important;
    white-space: nowrap !important;
    margin: 1px 0 !important;
    font-family: Arial, sans-serif !important;
  }

  /* 底部三徽章：国籍、俱乐部、联赛并排居中 */
  #draft .slot .meta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    margin: 1px 0 0 !important;
    width: 100% !important;
  }
  #draft .slot .meta .natflag,
  #draft .slot .meta .ic,
  #draft .slot .meta .icfall,
  #draft .slot .meta img,
  #draft .slot .meta svg {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain !important;
  }
}

/* --- 场景 2: 移动端赛前中心 (纯正欧洲大报风骨，严谨网格与质感) --- */
#prematch {
  max-width: 100%;
}
#prematch .live-shell-head {
  background: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(251,244,227,.94),rgba(251,244,227,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 3px double var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(29,29,24,.2) !important;
  padding: 12px 14px !important;
}
#prematch .live-kicker {
  color: var(--e-red) !important;
  font: 900 8.5px/1 Arial,sans-serif !important;
  letter-spacing: 1.5px !important;
}
#prematch .live-shell-head h2 {
  font: 900 24px/1 Georgia, serif !important;
  color: var(--e-ink) !important;
  margin: 4px 0 !important;
}
#prematch .live-shell-head p {
  color: #625b4f !important;
  font: 700 11px/1.3 Arial,sans-serif !important;
}
#prematch .live-round-seal {
  background: rgba(251,244,227,.8) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--e-ink) !important;
  color: var(--e-red) !important;
  padding: 6px 10px !important;
}
#prematch .live-round-seal b {
  font-family: Georgia, serif !important;
  color: var(--e-red) !important;
  font-size: 22px !important;
}

/* 焦点对决战报前瞻栏 */
#preMatchStory {
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(29,29,24,.18) !important;
  background: var(--e-paper-hi) !important;
}
.pre-match-story-card {
  background: rgba(251,244,227,.92) !important;
  border-radius: 0 !important;
}
.pre-match-story-head {
  border-bottom: 2px solid var(--e-ink) !important;
}
.pre-match-story-head h3 {
  font-family: Georgia, serif !important;
}
.pre-match-story-tag {
  background: var(--e-red) !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  font-family: Arial, sans-serif !important;
}

/* 赛前操作按钮：极简两行决策层级（通栏主推进 + 并排单场决策） */
.pre-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 10px 0 12px !important;
}
.pre-actions button.act {
  min-height: 42px !important;
  border-radius: 0 !important;
  border: 2px solid var(--e-ink) !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font-family: Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  cursor: pointer !important;
}
.pre-actions button.act:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 var(--e-ink) !important;
}
.pre-actions button.act[style*="display: none"],
.pre-actions button.act[hidden] {
  display: none !important;
}

/* 第 1 行 · 核心主行动：快速连续赛季（推荐），通栏大报墨蓝 */
.pre-actions #preQuickBtn {
  grid-column: 1 / -1 !important;
  order: 1 !important;
  min-height: 46px !important;
  background: var(--e-navy) !important;
  color: #fff !important;
  border-color: var(--e-ink) !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
}
.pre-actions #preQuickBtn:disabled {
  opacity: 0.55 !important;
  background: #625b4f !important;
}

/* 第 2 行左列：观看本轮直播（沉浸入口） */
.pre-actions #preStartBtn {
  grid-column: 1 !important;
  order: 2 !important;
  min-height: 42px !important;
  background: var(--e-paper-hi) !important;
  color: var(--e-ink) !important;
  border-color: var(--e-ink) !important;
  box-shadow: 2px 2px 0 var(--e-ink) !important;
  padding: 4px 8px !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}
.pre-actions #preStartBtn .pre-watch-opponent-crest {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}
.pre-actions #preStartBtn .pre-watch-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  line-height: 1.15 !important;
  text-align: left !important;
}
.pre-actions #preStartBtn .pre-watch-copy strong {
  font-size: 12px !important;
  color: var(--e-ink) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}
.pre-actions #preStartBtn .pre-watch-copy small {
  color: #625b4f !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* 关键战/焦点战自适应升格为通栏牛血红 */
.pre-actions #preStartBtn.is-key-match,
.pre-actions #preStartBtn.is-featured-match {
  grid-column: 1 / -1 !important;
  order: 0 !important;
  min-height: 50px !important;
  background: var(--e-red) !important;
  color: var(--e-paper-hi) !important;
  box-shadow: 4px 4px 0 var(--e-ink) !important;
  justify-content: center !important;
}
.pre-actions #preStartBtn.is-key-match .pre-watch-copy strong,
.pre-actions #preStartBtn.is-featured-match .pre-watch-copy strong {
  font-size: 14px !important;
  color: var(--e-paper-hi) !important;
}
.pre-actions #preStartBtn.is-key-match .pre-watch-copy small,
.pre-actions #preStartBtn.is-featured-match .pre-watch-copy small {
  font-size: 11px !important;
  color: #f2dfbb !important;
}

/* 第 2 行右列：跳过本轮（单场快速决策） */
.pre-actions #preSkipBtn {
  grid-column: 2 !important;
  order: 3 !important;
  min-height: 42px !important;
  background: var(--e-paper-hi) !important;
  color: var(--e-ink) !important;
  border-color: var(--e-ink) !important;
  box-shadow: 2px 2px 0 var(--e-ink) !important;
  font-size: 12.5px !important;
}

/* 赛前引导小贴士：通栏居中 */
.pre-actions .pre-watch-hint {
  grid-column: 1 / -1 !important;
  order: 10 !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: #726859 !important;
  text-align: center !important;
}

/* 下方卡片：即时积分榜、战报、球员 */
.pre-card {
  background: var(--e-paper-hi) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(29,29,24,.16) !important;
}
.pre-card h3 {
  font-family: Georgia, serif !important;
  font-size: 16px !important;
  color: var(--e-ink) !important;
  border-bottom: 1px solid var(--e-ink) !important;
}

/* --- 场景 3: 比赛终场战报弹窗 (经典欧陆大报特刊) --- */
.live-finale-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background: rgba(20, 20, 16, 0.78) !important;
  backdrop-filter: blur(3px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  animation: eModalFadeIn 0.25s ease-out !important;
}
@keyframes eModalFadeIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

.live-finale-card {
  position: relative !important;
  width: 100% !important;
  max-width: 360px !important;
  background-color: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(251,244,227,.94),rgba(251,244,227,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  background-size: auto, 400px !important;
  border: 3px solid var(--e-ink) !important;
  box-shadow: 7px 8px 0 rgba(29,29,24,.45) !important;
  padding: 16px 14px 14px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.live-finale-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 4px !important;
  border: 1px solid rgba(29,29,24,.3) !important;
  pointer-events: none !important;
}

/* 朱红复古印章 */
.live-stamp-seal {
  position: absolute !important;
  top: -12px !important;
  right: 12px !important;
  padding: 4px 10px !important;
  background: var(--e-paper-hi) !important;
  border: 2px dashed var(--e-red) !important;
  color: var(--e-red) !important;
  font: 900 12px/1 Georgia, serif !important;
  transform: rotate(6deg) !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,.15) !important;
  z-index: 5 !important;
}
.live-stamp-seal.stamp-win { border-color: var(--e-red) !important; color: var(--e-red) !important; }
.live-stamp-seal.stamp-draw { border-color: #8a6f1e !important; color: #8a6f1e !important; }
.live-stamp-seal.stamp-loss { border-color: #4a4034 !important; color: #4a4034 !important; }

.live-finale-kicker {
  display: block !important;
  color: var(--e-red) !important;
  font: 900 8.5px/1 Arial, sans-serif !important;
  letter-spacing: 1.4px !important;
  margin-bottom: 6px !important;
}

/* 全场大比分 */
.live-finale-score-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 6px 0 !important;
}
.live-finale-team-name {
  flex: 1 !important;
  font: 900 13px/1.2 Georgia, serif !important;
  color: var(--e-ink) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.live-finale-team-name.home { text-align: right !important; }
.live-finale-team-name.away { text-align: left !important; }
.live-finale-score-big {
  font: 900 36px/1 Georgia, serif !important;
  color: var(--e-red) !important;
  letter-spacing: 2px !important;
  min-width: 90px !important;
  text-align: center !important;
}
.live-finale-sub-copy {
  margin: 2px 0 10px !important;
  font: 700 10px/1.3 Arial, sans-serif !important;
  color: #625b4f !important;
  border-bottom: 2px double var(--e-ink) !important;
  padding-bottom: 8px !important;
}

/* 进球明细框 */
.live-finale-events-box {
  background: rgba(29,29,24,.04) !important;
  border: 1px solid rgba(29,29,24,.25) !important;
  padding: 6px 8px !important;
  margin-bottom: 8px !important;
  max-height: 85px !important;
  overflow-y: auto !important;
  text-align: left !important;
}
.live-finale-box-title {
  font: 800 8px/1 Arial, sans-serif !important;
  color: #7a6e5d !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
}
.live-finale-ev-row {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font: 700 10px/1.4 Arial, sans-serif !important;
  color: var(--e-ink) !important;
  border-bottom: 1px dotted rgba(29,29,24,.15) !important;
  padding: 2px 0 !important;
}
.live-finale-ev-row .ev-min {
  font-family: Georgia, serif !important;
  font-weight: 900 !important;
  color: var(--e-red) !important;
  width: 20px !important;
}
.live-finale-ev-empty {
  font: italic 10px/1.4 Arial, sans-serif !important;
  color: #7a6e5d !important;
  padding: 4px 0 !important;
}

/* MVP 特写框 */
.live-finale-mvp-badge {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #eadbb9 !important;
  background-image: linear-gradient(rgba(251,244,227,.75),rgba(234,219,185,.75)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 1.5px solid var(--e-ink) !important;
  padding: 6px 10px !important;
  margin-bottom: 10px !important;
  text-align: left !important;
}
.live-finale-mvp-badge .mvp-ava-box {
  position: relative !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
}
.live-finale-mvp-badge .mvp-ava-box .avwrap {
  width: 42px !important;
  height: 42px !important;
  border: 1.5px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 rgba(29,29,24,.2) !important;
  background: #f6eddc !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.live-finale-mvp-badge .mvp-ava-box .avwrap img.av {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: sepia(.15) contrast(1.05) !important;
}
.live-finale-mvp-badge .mvp-ava-box .avwrap .ini {
  font: 900 16px/1 Georgia, serif !important;
  color: var(--e-ink) !important;
}
.live-finale-mvp-badge .mvp-star-tag {
  position: absolute !important;
  bottom: -4px !important;
  right: -4px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  filter: drop-shadow(1px 1px 0 rgba(0,0,0,.6)) !important;
  z-index: 2 !important;
}
.live-finale-mvp-badge .mvp-info {
  flex: 1 !important;
  min-width: 0 !important;
}
.live-finale-mvp-badge .mvp-title {
  font: 700 10.5px/1.2 Arial, sans-serif !important;
  color: var(--e-ink) !important;
}
.live-finale-mvp-badge .mvp-title strong {
  font-family: Georgia, serif !important;
  font-size: 12.5px !important;
  color: var(--e-red) !important;
}
.live-finale-mvp-badge .mvp-title b {
  font-family: Georgia, serif !important;
  font-size: 13px !important;
  color: var(--e-ink) !important;
}
.live-finale-mvp-badge .mvp-desc {
  font: 700 9px/1.25 Arial, sans-serif !important;
  color: #625b4f !important;
  margin-top: 2px !important;
}

/* 确认与继续按钮 */
.btn-finale-confirm {
  width: 100% !important;
  min-height: 44px !important;
  background: var(--e-red) !important;
  color: var(--e-paper-hi) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font: 900 13px/1 Georgia, serif !important;
  cursor: pointer !important;
}
.btn-finale-confirm:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 var(--e-ink) !important;
}

/* =========================================================================
   MOBILE SCREEN REFINEMENTS: SETUP/HOME + PICKER + LIVE MATCH PITCH
   ========================================================================= */

/* --- 场景 4: 首页开局配置 ——《欧超38-0》创刊特刊头版 (The Grand Broadsheet Front Page) --- */
@media (max-width: 600px) {
  #setup .setup-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 80px !important;
    grid-template-rows: auto auto !important;
    gap: 6px 10px !important;
    min-height: 0 !important;
    padding: 10px 10px 8px !important;
    margin-bottom: 6px !important;
    border: 2px solid var(--e-ink) !important;
    background-color: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(246,237,220,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
    box-shadow: 3px 3px 0 var(--e-ink) !important;
  }
  #setup .setup-hero::before,
  #setup .setup-hero::after {
    display: none !important;
  }
  #setup .hero-copy {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    padding: 0 !important;
  }
  #setup .hero-badge {
    display: inline-block !important;
    margin-bottom: 3px !important;
    padding: 2px 6px !important;
    font-size: 7.5px !important;
    font-weight: 900 !important;
    letter-spacing: 0.8px !important;
    color: var(--e-paper-hi) !important;
    background: var(--e-red) !important;
    border: 1px solid var(--e-ink) !important;
    border-radius: 0 !important;
    font-family: var(--e-font-sans) !important;
  }
  #setup .hero-title {
    font-family: var(--e-font-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    margin: 2px 0 4px !important;
    letter-spacing: -0.5px !important;
    color: var(--e-ink) !important;
  }
  #setup .hero-title span {
    display: inline !important;
    color: var(--e-red) !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    letter-spacing: inherit !important;
    margin-bottom: 0 !important;
  }
  #setup .hero-sub {
    font-family: var(--e-font-sans) !important;
    font-size: 10px !important;
    line-height: 1.38 !important;
    margin: 0 !important;
    color: var(--e-ink-soft) !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
  }
  #setup .hero-photo {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    display: block !important;
    width: 80px !important;
    height: 98px !important;
    margin: 0 !important;
    padding: 3px 3px 15px !important;
    background: #fff !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 var(--e-ink) !important;
    box-sizing: border-box !important;
    position: relative !important;
    transform: none !important;
    align-self: center !important;
  }
  #setup .hero-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: sepia(.2) contrast(1.1) !important;
  }
  #setup .hero-photo figcaption {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 2px !important;
    font-size: 6px !important;
    font-weight: 900 !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
    color: var(--e-ink) !important;
  }
  #setup .hero-ephemera, #setup .hero-folio, #setup .hero-record, #setup .photo-tape {
    display: none !important;
  }
  #setup .hero-stats {
    grid-column: 1 / -1 !important;
    grid-row: 2 / 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    margin: 5px 0 0 !important;
    padding-top: 6px !important;
    border-top: 1.5px solid var(--e-ink) !important;
    clear: both !important;
    width: 100% !important;
  }
  #setup .hstat {
    padding: 4px 2px !important;
    text-align: center !important;
    background: rgba(27,25,21,.04) !important;
    border: 1px solid rgba(27,25,21,.25) !important;
    border-radius: 0 !important;
  }
  #setup .hstat b {
    font-family: var(--e-font-serif) !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: var(--e-red) !important;
    line-height: 1 !important;
  }
  #setup .hstat span {
    font-family: var(--e-font-sans) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    color: var(--e-ink-soft) !important;
    letter-spacing: 0.3px !important;
  }

  /* 账号通行证 */
  #setup .acctbar {
    min-height: 34px !important;
    margin: 4px 0 !important;
    padding: 3px 6px !important;
    border: 1.5px solid var(--e-ink) !important;
    background: var(--e-paper-hi) !important;
    box-shadow: 2px 2px 0 rgba(27,25,21,.2) !important;
  }
  #setup .acctbar .acct-ava {
    width: 24px !important;
    height: 24px !important;
    border: 1px solid var(--e-ink) !important;
    border-radius: 0 !important;
  }
  #setup .acctbar .acct-name {
    font-family: var(--e-font-sans) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: var(--e-ink) !important;
  }
  #setup .acctbar .acct-hint {
    display: none !important;
  }
  #setup .acctbar .acct-actions button {
    min-height: 26px !important;
    padding: 2px 6px !important;
    font-family: var(--e-font-sans) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    background: var(--e-paper) !important;
    border: 1px solid var(--e-ink) !important;
    color: var(--e-ink) !important;
    border-radius: 0 !important;
  }

  /* 今日战备配置简报 —— 报刊头版快讯仪表盘（4列等分网格，纸质暖金底色） */
  .e-home-brief {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    margin: 6px 0 !important;
    padding: 4px !important;
    background-color: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(246,237,220,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 rgba(27,25,21,.2) !important;
    box-sizing: border-box !important;
  }
  .e-home-brief > div {
    padding: 4px 2px !important;
    text-align: center !important;
    background: rgba(255,255,255,.5) !important;
    border: 1px solid rgba(27,25,21,.15) !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }
  .e-home-brief span {
    font-family: var(--e-font-sans) !important;
    font-size: 7.5px !important;
    font-weight: 800 !important;
    color: #726859 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .e-home-brief b {
    font-family: var(--e-font-sans) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: var(--e-ink) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }


  /* 主帅战术备忘录与模式选择 —— 经典大报栏目卡 */
  #setup .setup-panel {
    padding: 8px 8px 6px !important;
    border: 2px solid var(--e-ink) !important;
    background-color: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(246,237,220,.92),rgba(246,237,220,.92)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
    box-shadow: 2px 3px 0 rgba(27,25,21,.25) !important;
  }
  .e-home-controls {
    gap: 4px !important;
  }
  .e-home-controls .sec-label {
    font-family: var(--e-font-sans) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    color: var(--e-ink) !important;
    letter-spacing: 0.5px !important;
    margin: 2px 0 3px !important;
    border-bottom: 1px solid rgba(27,25,21,.3) !important;
    padding-bottom: 2px !important;
  }
  .e-home-controls .sec-no {
    display: inline-block !important;
    padding: 1px 4px !important;
    font-family: var(--e-font-tactics) !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    color: var(--e-paper-hi) !important;
    background: var(--e-navy) !important;
    border-radius: 0 !important;
    margin-right: 4px !important;
  }
  .e-home-controls #modeSeg {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px !important;
  }
  .e-home-controls .mode-card {
    min-height: 52px !important;
    padding: 5px 2px 4px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: var(--e-paper) !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 2px 2px 0 rgba(27,25,21,.2) !important;
    cursor: pointer !important;
  }
  .e-home-controls .mode-card.on {
    background: var(--e-red) !important;
    border-color: var(--e-ink) !important;
    box-shadow: inset 1px 1px 0 rgba(0,0,0,.4), 2px 2px 0 var(--e-ink) !important;
  }
  .e-home-controls .mode-card .mc-ic {
    font-size: 15px !important;
    line-height: 1 !important;
    margin-bottom: 1px !important;
  }
  .e-home-controls .mode-card .mc-t {
    font-family: var(--e-font-sans) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: var(--e-ink) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.3px !important;
  }
  .e-home-controls .mode-card.on .mc-t {
    color: var(--e-paper-hi) !important;
  }
  .e-home-controls .mode-card.on .mc-ic {
    color: var(--e-paper-hi) !important;
  }
  .e-home-controls .mode-card .mc-d {
    display: block !important;
    font-family: var(--e-font-sans) !important;
    font-size: 7.5px !important;
    line-height: 1.25 !important;
    margin-top: 1px !important;
    color: #625b4f !important;
  }
  .e-home-controls .mode-card.on .mc-d {
    color: #f7e6c4 !important;
  }
  .e-home-controls #modeDesc,
  .e-home-controls #fmDesc,
  .e-home-controls #diffDesc {
    display: none !important;
  }

  /* 阵型排版：战术板数字饱满挺拔 */
  .e-home-controls #fmBtns {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 3px !important;
  }
  .e-home-controls .fbtn {
    min-height: 28px !important;
    padding: 2px 1px !important;
    font-family: var(--e-font-tactics) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    background: var(--e-paper) !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    color: var(--e-ink) !important;
  }
  .e-home-controls .fbtn.on {
    background: var(--e-navy) !important;
    color: #ffd976 !important;
    border-color: var(--e-ink) !important;
    box-shadow: inset 1px 1px 0 rgba(0,0,0,.4) !important;
  }

  /* 强度双栏 */
  .e-home-controls #diffSeg {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
    margin-bottom: 4px !important;
  }
  .e-home-controls .diff-card {
    min-height: 28px !important;
    padding: 2px 4px !important;
    background: var(--e-paper) !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    color: var(--e-ink) !important;
    font-family: var(--e-font-sans) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.4px !important;
  }
  .e-home-controls .diff-card.on {
    background: var(--e-navy) !important;
    color: #ffd976 !important;
    border-color: var(--e-ink) !important;
    box-shadow: inset 1px 1px 0 rgba(0,0,0,.4) !important;
  }

  /* 核心行动大按钮：号外大印章 */
  #setup .setup-cta {
    margin-top: 16px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  #setup .setup-cta button.act.big#toDraft {
    min-height: 46px !important;
    background: var(--e-red) !important;
    color: var(--e-paper-hi) !important;
    border: 2px solid var(--e-ink) !important;
    box-shadow: 3px 4px 0 var(--e-ink) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    font-family: var(--e-font-sans) !important;
    border-radius: 0 !important;
    letter-spacing: 1.2px !important;
  }
  #setup .setup-cta button.act.big:not(#toDraft) {
    min-height: 38px !important;
    background: var(--e-paper-hi) !important;
    color: var(--e-ink) !important;
    border: 1.5px solid var(--e-ink) !important;
    font-family: var(--e-font-sans) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    border-radius: 0 !important;
    letter-spacing: 0.6px !important;
  }
  #setup .setup-cta button.act.big#toDraft:active {
    transform: translate(2px, 2px) !important;
    box-shadow: 2px 2px 0 var(--e-ink) !important;
  }
}

/* 选秀与全系统球场卡片：左上角大字评分爽快版 (真正全站统一现代化) */
#draft .slot.picked,
.formal-transfer-pitch .slot.picked,
.formal-transfer-pitch .formal-player-card,
#sqPitch .slot.picked,
#sqPitch .pslot {
  position: relative !important;
  overflow: hidden !important;
  background-color: #ead9b5 !important;
  background-image: linear-gradient(rgba(251,244,227,.91),rgba(226,210,176,.91)), url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 1.5px solid var(--e-ink) !important;
  box-shadow: 2px 2px 0 rgba(29,29,24,.35) !important;
}
#draft .slot .card-top,
.formal-transfer-pitch .card-top,
.formal-transfer-pitch .formal-player-top,
#sqPitch .card-top {
  width: 100% !important;
  height: 16px !important;
  min-height: 16px !important;
  background: var(--e-navy, #173a50) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 4px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--e-ink) !important;
}
#draft .slot .card-top .pos,
.formal-transfer-pitch .card-top .pos,
.formal-transfer-pitch .formal-player-top b,
#sqPitch .card-top .pos {
  font-size: 8.5px !important;
  font-weight: 900 !important;
  color: var(--e-paper-hi, #fdfcf7) !important;
  line-height: 1 !important;
}
#draft .slot .card-top i,
.formal-transfer-pitch .card-top i,
.formal-transfer-pitch .formal-player-top i,
#sqPitch .card-top i {
  font-family: var(--sans, sans-serif) !important;
  font-size: 6px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  color: rgba(255, 255, 255, 0.7) !important;
  letter-spacing: 0.5px !important;
}
#draft .slot.picked .card-rating,
.formal-transfer-pitch .card-rating,
.formal-transfer-pitch .formal-rating,
#sqPitch .card-rating {
  position: absolute !important;
  left: 2px !important;
  top: 19px !important;
  width: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--e-brick, #9c2e20) !important;
  background: transparent !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
#draft .slot.picked .card-rating strong,
.formal-transfer-pitch .card-rating strong,
.formal-transfer-pitch .formal-rating strong,
#sqPitch .card-rating strong {
  font-family: Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.5px !important;
  white-space: nowrap !important;
}
#draft .slot.picked .card-rating small,
.formal-transfer-pitch .card-rating small,
.formal-transfer-pitch .formal-rating small,
#sqPitch .card-rating small {
  font-family: var(--sans, sans-serif) !important;
  font-size: 5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  color: #5b5549 !important;
  margin-top: 1px !important;
}
#draft .slot.picked .card-portrait,
.formal-transfer-pitch .card-portrait,
.formal-transfer-pitch .formal-player-avatar,
#sqPitch .card-portrait {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  margin: 1px 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#draft .slot.picked .card-portrait .avwrap,
.formal-transfer-pitch .card-portrait .avwrap,
.formal-transfer-pitch .formal-player-avatar .avwrap,
#sqPitch .card-portrait .avwrap {
  width: 36px !important;
  height: 42px !important;
  border: 1.5px solid var(--e-ink) !important;
  box-shadow: 1.5px 1.5px 0 rgba(27,25,21,.35) !important;
  margin: 0 auto !important;
}
#draft .slot.picked .chdots,
.formal-transfer-pitch .chdots,
.formal-transfer-pitch .formal-chem-dots,
#sqPitch .chdots {
  position: absolute !important;
  right: 5px !important;
  top: 19px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2.5px !important;
  margin: 0 !important;
  z-index: 3 !important;
}
#draft .slot.picked .chdots .d,
.formal-transfer-pitch .chdots .d,
.formal-transfer-pitch .formal-chem-dots i,
#sqPitch .chdots .d {
  width: 4.5px !important;
  height: 4.5px !important;
}
#draft .slot .tag,
.formal-transfer-pitch .tag,
#sqPitch .tag {
  position: static !important;
  display: inline-block !important;
  font-size: 7.5px !important;
  padding: 0 3px !important;
  margin-left: 3px !important;
  color: #fff !important;
  background: var(--e-brick, #9c2e20) !important;
  border-radius: 2px !important;
  vertical-align: middle !important;
  line-height: 1.2 !important;
}

/* --- 报刊化弹窗外壳：积分榜 (#tableOverlay) 与阵容详情 (#squadOverlay) --- */
#tableOverlay .panel,
#squadOverlay .panel {
  color: var(--e-ink) !important;
  background-color: #ead9b5 !important;
  background-image: linear-gradient(rgba(251,244,227,.93),rgba(226,210,176,.93)), url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 2px solid var(--e-ink) !important;
  box-shadow: 4px 6px 0 rgba(29,29,24,.35) !important;
  border-radius: 2px !important;
}
#tableOverlay h3,
#squadOverlay h3 {
  font: 900 22px/1.2 Georgia, serif !important;
  color: var(--e-ink) !important;
  border-bottom: 2px double var(--e-ink) !important;
  padding-bottom: 6px !important;
  margin-bottom: 8px !important;
}
#tableOverlay .ph2,
#squadOverlay .ph2,
#squadOverlay .sq-head {
  color: #5f5547 !important;
  font: 700 12px/1.4 var(--sans, Arial, sans-serif) !important;
}
#tableOverlay table.tbl {
  width: 100% !important;
  color: var(--e-ink) !important;
  border-collapse: collapse !important;
  background: transparent !important;
}
#tableOverlay table.tbl th {
  background: var(--e-navy, #173a50) !important;
  color: var(--e-paper-hi, #fdfcf7) !important;
  font: 900 11px/1.2 var(--sans, Arial, sans-serif) !important;
  padding: 6px 4px !important;
  border-bottom: 1px solid var(--e-ink) !important;
}
#tableOverlay table.tbl td {
  border-bottom: 1px dotted rgba(29,29,24,.25) !important;
  color: var(--e-ink) !important;
  font: 700 11px/1.2 var(--sans, Arial, sans-serif) !important;
  padding: 5px 3px !important;
  background: transparent !important;
}
#tableOverlay table.tbl tr:nth-child(even) td {
  background: rgba(29,29,24,.03) !important;
}
#tableOverlay table.tbl tr.me td {
  background: rgba(181, 18, 27, 0.1) !important;
  font-weight: 900 !important;
  color: var(--e-red, #b5121b) !important;
}
#tableOverlay .ptools {
  background: transparent !important;
  border-top: 2px double var(--e-ink) !important;
  padding-top: 10px !important;
}
#tableOverlay #tblClose,
#squadOverlay #sqClose,
#squadOverlay .lb-back {
  min-height: 40px !important;
  background: var(--e-red, #b5121b) !important;
  color: #fff !important;
  border: 2px solid var(--e-ink) !important;
  font: 900 13px/1 var(--sans, Arial, sans-serif) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 var(--e-ink) !important;
  cursor: pointer !important;
}

/* --- 场景 5: 6选1 候选球员弹窗 (复古报刊引援档案短名单) --- */
#overlay.show {
  background: rgba(20, 20, 16, 0.75) !important;
  backdrop-filter: blur(3px) !important;
}
#overlay .panel {
  background-color: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(246,237,220,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 3px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 6px 8px 0 rgba(27,25,21,.4) !important;
}
#overlay .panel h3 {
  font-family: Georgia, serif !important;
  font-size: 20px !important;
  color: var(--e-ink) !important;
  margin: 0 0 2px !important;
}
#overlay .panel .ph2 {
  color: #625b4f !important;
  font-size: 11px !important;
  margin-bottom: 6px !important;
}
#overlay .formal-chem-picker-head {
  margin-top: 2px !important;
  gap: 4px !important;
}
#overlay .formal-chem-progress-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-height: none !important;
  height: 30px !important;
  gap: 4px !important;
  padding: 1px 2px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}
#overlay .formal-chem-progress-list::-webkit-scrollbar {
  display: none !important;
}
#overlay .formal-chem-progress {
  flex: 0 0 auto !important;
  height: 24px !important;
  min-width: 48px !important;
  padding: 2px 5px !important;
  font-size: 8px !important;
}
#overlay .formal-chem-progress .ic {
  width: 15px !important;
  height: 15px !important;
}
#overlay .formal-chem-picker-copy {
  padding: 3px 6px !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

/* 候选卡片：单列舒展报刊球星特写大档案（头像放大至 52x58，两行姓名与三徽章横向舒展） */
#overlay #pkList {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 4px 2px !important;
  max-height: 65vh !important;
  overflow-y: auto !important;
}
#overlay #pkList > .pick {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px 12px !important;
  min-height: 82px !important;
  background-color: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(246,237,220,.94),rgba(235,220,192,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(27,25,21,.28) !important;
  text-align: left !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#overlay #pkList > .pick:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 var(--e-ink) !important;
}

/* 教练候选卡微调：复用标准3列，强化主帅肖像与士气标签 */
#overlay #pkList > .pick.coach-pick .coach-avwrap {
  width: 52px !important;
  height: 58px !important;
  border: 1.5px solid var(--e-ink) !important;
  box-shadow: 2px 2px 0 rgba(27,25,21,.35) !important;
  position: relative !important;
  background: #14120e !important;
  overflow: hidden !important;
}
#overlay #pkList > .pick.coach-pick .coach-avwrap .av {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
#overlay #pkList > .pick.coach-pick .pk-pos {
  background: var(--e-red) !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  padding: 1px 4px !important;
  letter-spacing: 0.5px !important;
}
#overlay #pkList > .pick.coach-pick .coach-morale-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  color: var(--e-red) !important;
  background: rgba(158,39,25,.08) !important;
  border: 1px solid rgba(158,39,25,.25) !important;
  padding: 1px 4px !important;
  border-radius: 2px !important;
  white-space: nowrap !important;
  margin-left: 2px !important;
}
#overlay #pkList > .pick.coach-pick .coach-morale-tag.mo-3 {
  background: rgba(158,39,25,.15) !important;
  border-color: var(--e-red) !important;
  font-weight: 900 !important;
}
#overlay #pkList > .pick.coach-pick .coach-scope-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  color: #625b4f !important;
  background: rgba(27,25,21,.05) !important;
  border: 1px solid rgba(27,25,21,.18) !important;
  padding: 1px 4px !important;
  border-radius: 2px !important;
  white-space: nowrap !important;
}
#overlay #pkList > .pick.coach-pick .coach-scope-tag b {
  color: var(--e-ink) !important;
  font-weight: 900 !important;
}
#overlay #pkList > .pick.coach-pick .pk-ovr.gain {
  color: var(--e-forest, #2ea35b) !important;
}
#overlay #pkList > .pick.coach-pick.no-gain {
  opacity: .82 !important;
  filter: saturate(.85) !important;
}
#overlay #pkList > .pick.coach-pick.no-gain .pk-ovr {
  color: #8a806e !important;
}
#overlay #pkList > .pick.coach-pick.on {
  opacity: 1 !important;
  filter: none !important;
  border-color: var(--e-red) !important;
  box-shadow: 3px 4px 0 rgba(156,46,32,.25) !important;
}
#overlay #pkList > .pick.coach-pick .coach-scope-tag.hit {
  background: rgba(184, 134, 11, 0.14) !important;
  border-color: rgba(184, 134, 11, 0.45) !important;
  color: #7d4e00 !important;
}
#overlay #pkList > .pick.coach-pick .coach-scope-tag.hit b {
  color: #613c00 !important;
}
#overlay #pkList > .pick.coach-pick .pk-bad {
  font-size: 10px !important;
  font-weight: 900 !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  margin-top: 2px !important;
}
#overlay #pkList > .pick.coach-pick .pk-bad.ok {
  background: #27ae60 !important;
  color: #fff !important;
}
#overlay #pkList > .pick.coach-pick .pk-bad.adj {
  background: var(--e-navy) !important;
  color: #ffd166 !important;
}
#overlay #pkList > .pick.coach-pick .pk-bad.bad {
  background: #eae2d1 !important;
  color: #776e5f !important;
  border-color: #8c8273 !important;
}

#overlay #pkList > .pick .pk-ava {
  position: relative !important;
  width: 52px !important;
  height: 58px !important;
  margin: 0 !important;
  flex: 0 0 52px !important;
}
#overlay #pkList > .pick .pk-pos {
  position: absolute !important;
  left: 50% !important;
  bottom: -6px !important;
  transform: translateX(-50%) !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  padding: 2px 5px !important;
  background: var(--e-navy) !important;
  color: #ffd976 !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  z-index: 2 !important;
}
#overlay #pkList > .pick .pk-ava .avwrap {
  width: 52px !important;
  height: 58px !important;
  border: 1.5px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 rgba(27,25,21,.35) !important;
  filter: sepia(.15) contrast(1.06) !important;
}
#overlay #pkList > .pick .pk-ava .avwrap .av {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
#overlay #pkList > .pick .pk-body {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
}
#overlay #pkList > .pick .pk-name {
  font-family: Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--e-ink) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
#overlay #pkList > .pick .pk-meta,
#overlay #pkList > .pick .pk-tags {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 10.5px !important;
  color: #5f5547 !important;
}
#overlay #pkList > .pick .pk-meta .ic,
#overlay #pkList > .pick .pk-tags .ic,
#overlay #pkList > .pick .pk-tags .natflag {
  width: 17px !important;
  height: 17px !important;
  object-fit: contain !important;
}
#overlay #pkList > .pick .pk-posrow {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  margin-top: 1px !important;
}
#overlay #pkList > .pick .pk-poslist {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-top: 0 !important;
  flex-shrink: 0 !important;
}
#overlay #pkList > .pick .pk-poschip {
  font-size: 8.5px !important;
  font-weight: 900 !important;
  padding: 1px 4px !important;
  background: var(--e-navy) !important;
  color: var(--e-paper-hi) !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  font-style: normal !important;
}
#overlay #pkList > .pick .pk-chem-hints {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 !important;
  min-width: 0 !important;
}
#overlay #pkList > .pick .pk-chem-hit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 1px 4px !important;
  font-size: 8px !important;
  line-height: 1 !important;
  height: 16px !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
#overlay #pkList > .pick .pk-chem-hit .ic {
  width: 13px !important;
  height: 13px !important;
}
#overlay #pkList > .pick .pk-chem-hit strong {
  font-size: 8.5px !important;
  line-height: 1 !important;
}
#overlay #pkList > .pick .pk-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 2px !important;
  padding-left: 4px !important;
}
#overlay #pkList > .pick .pk-ovr {
  font-size: 28px !important;
  font-weight: 900 !important;
  color: var(--e-red) !important;
  font-family: Georgia, serif !important;
  line-height: 1 !important;
}
#overlay #pkList > .pick .pk-bad {
  font-size: 9px !important;
  font-weight: 900 !important;
  padding: 2px 5px !important;
  border: 1px solid var(--e-ink) !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
}
#overlay #pkList > .pick .pk-bad.ok {
  background: var(--e-forest, #153b2a) !important;
  color: var(--e-paper-hi) !important;
}
#overlay #pkList > .pick .pk-bad.adj {
  background: var(--e-navy) !important;
  color: #ffd166 !important;
}
#overlay #pkList > .pick .pk-bad.bad {
  background: #7a2318 !important;
  color: var(--e-paper-hi) !important;
}
#overlay .ptools {
  background: transparent !important;
  border-top: 2px double var(--e-ink) !important;
  padding-top: 8px !important;
}
#overlay .ptools #pkReroll {
  background: var(--e-red) !important;
  color: var(--e-paper-hi) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font-family: Georgia, serif !important;
  font-weight: 900 !important;
}
#overlay .ptools #pkClose {
  background: var(--e-paper) !important;
  color: var(--e-ink) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  font-weight: 900 !important;
}

/* --- 场景 6: 实时比赛沙盘（欧陆大报比分牌 + 快捷跳过与速度控制） --- */
@media (max-width: 600px) {
  .live-scoreboard {
    background-color: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(251,244,227,.94),rgba(251,244,227,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
    border: 2.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 4px 5px 0 rgba(29,29,24,.25) !important;
    color: var(--e-ink) !important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
    gap: 6px !important;
    padding: 10px 8px 8px !important;
  }
  .live-team b {
    color: var(--e-ink) !important;
    font-family: Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    max-width: 100px !important;
  }
  .live-team-badge .ic {
    width: 28px !important;
    height: 28px !important;
  }
  .live-score-centre strong {
    color: var(--e-red) !important;
    font-family: Georgia, serif !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    text-shadow: none !important;
    letter-spacing: 1px !important;
  }
  .live-score-centre span,
  .live-score-centre small {
    font-family: Georgia, serif !important;
    font-weight: 800 !important;
    font-size: 10px !important;
  }
  .live-score-centre span {
    color: var(--e-paper-hi) !important;
    background: var(--e-navy) !important;
    padding: 2px 5px !important;
    border: 1px solid var(--e-ink) !important;
    border-radius: 0 !important;
  }
  .live-score-centre small {
    color: var(--e-red) !important;
  }
  /* 控制栏：比分牌下方自适应通栏布局 */
  .live-controls {
    position: static !important;
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1.6fr !important;
    gap: 8px !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px dashed rgba(29,29,24,.25) !important;
  }
  .live-controls button {
    border-radius: 0 !important;
    font-family: Georgia, serif !important;
    font-weight: 900 !important;
    min-height: 36px !important;
    cursor: pointer !important;
  }
  #liveSpeedBtn {
    background: var(--e-paper-hi) !important;
    color: var(--e-ink) !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 var(--e-ink) !important;
    font-size: 11px !important;
  }
  #liveSkipBtn {
    background: var(--e-red) !important;
    color: var(--e-paper-hi) !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 var(--e-ink) !important;
    font-size: 12px !important;
  }
  #liveSkipBtn:active,
  #liveSpeedBtn:active {
    transform: translate(1px, 1px) !important;
    box-shadow: 1px 1px 0 var(--e-ink) !important;
  }

  /* 2D 球场与战报日志间距 */
  .live-pitch {
    height: 380px !important;
    border: 2.5px solid var(--e-ink) !important;
    box-shadow: 3px 4px 0 rgba(29,29,24,.3) !important;
    border-radius: 0 !important;
  }
  .live-event-log {
    margin-top: 8px !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    background: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(251,244,227,.9),rgba(251,244,227,.9)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  }

  /* --- 场景 7: 半程更衣室与冬窗转会 (移动端紧凑化与门将可见) --- */
  .halfway-room {
    padding: 10px 8px !important;
    border: 2.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 4px 5px 0 rgba(29,29,24,.25) !important;
  }
  .halfway-room h2 {
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
  }
  .halfway-room-head p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin: 4px 0 0 !important;
  }
  /* 半程技术统计表格：自适应滚动与紧凑化，防止截断且不挤占首屏冬窗 */
  #halfwayPlayerStats {
    max-height: 180px !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 8px 0 !important;
    padding: 6px !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
  }
  #halfwayPlayerStats table {
    min-width: 320px !important;
    font-size: 10px !important;
  }
  #halfwayPlayerStats table th,
  #halfwayPlayerStats table td {
    padding: 3px 4px !important;
  }

  /* 冬窗转会球场紧凑排布：11 人全览，门将彻底不沉底 */
  .formal-transfer-pitch {
    margin-top: 8px !important;
    padding: 6px 3px !important;
    border: 2px solid var(--e-ink) !important;
  }
  .formal-pitch-row {
    display: flex !important;
    justify-content: center !important;
    gap: 3px !important;
    margin: 3px 0 !important;
  }
  .formal-player-card {
    width: clamp(70px, 20vw, 78px) !important;
    min-height: 104px !important;
    padding: 0 2px 2px !important;
    border: 1.5px solid var(--e-ink) !important;
    box-shadow: 2px 2px 0 rgba(15,21,16,.3) !important;
    border-radius: 0 !important;
  }
  .formal-player-top {
    min-height: 15px !important;
    margin: 0 -2px 2px !important;
    padding: 2px 3px !important;
    font-size: 7.5px !important;
  }
  .formal-rating {
    position: absolute !important;
    left: 2px !important;
    top: 18px !important;
    width: 22px !important;
    padding: 1px !important;
  }
  .formal-rating strong {
    font-size: 14px !important;
    line-height: 1 !important;
  }
  .formal-rating small {
    font-size: 5px !important;
  }
  .formal-player-avatar {
    width: 30px !important;
    height: 34px !important;
    margin: 3px auto 1px 22px !important;
  }
  .formal-player-avatar .avwrap {
    width: 30px !important;
    height: 34px !important;
    border: 1px solid var(--e-ink) !important;
    border-radius: 0 !important;
  }
  .formal-player-identity {
    padding-top: 2px !important;
    border-top: 1px solid var(--e-ink) !important;
  }
  .formal-player-identity > b {
    font-size: 8px !important;
    min-height: 13px !important;
    line-height: 1 !important;
  }
  .formal-player-identity > small {
    display: none !important;
  }
  .formal-player-identity > span {
    gap: 2px !important;
    margin-top: 2px !important;
  }
  .formal-player-identity .ic {
    width: 11px !important;
    height: 11px !important;
  }
  .formal-chem-dots {
    right: 2px !important;
    top: 18px !important;
    gap: 1px !important;
  }
  .formal-chem-dots i {
    width: 4px !important;
    height: 4px !important;
  }

  /* 冬窗候选弹窗 (Overlay) 双列自适应 */
  #formalTransferOverlay .panel {
    border-radius: 0 !important;
    border: 3px solid var(--e-ink) !important;
    padding: 10px 8px !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    max-height: 60vh !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list > .pick {
    min-height: 110px !important;
    grid-template-columns: 44px minmax(0, 1fr) 38px !important;
    gap: 5px !important;
    padding: 6px 4px !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list > .pick .pk-ava {
    width: 44px !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list > .pick .avwrap {
    width: 42px !important;
    height: 54px !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list > .pick .pk-name {
    font-size: 11px !important;
  }
  #formalTransferOverlay .formal-transfer-modal-list > .pick .pk-ovr {
    font-size: 20px !important;
  }

  /* 球队训话卡片单列大拇指触控 */
  .formal-talk-choices {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }
  .formal-talk-choice {
    min-height: 46px !important;
    padding: 8px 10px !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 2px 2px 0 rgba(29,29,24,.15) !important;
  }
  .formal-talk-choice b {
    font-size: 14px !important;
  }
  .formal-talk-choice small {
    font-size: 9px !important;
    margin-top: 3px !important;
  }
  #continueAfterHalfway {
    width: 100% !important;
    min-height: 48px !important;
    background: var(--e-red) !important;
    color: var(--e-paper-hi) !important;
    border: 2px solid var(--e-ink) !important;
    box-shadow: 3px 3px 0 var(--e-ink) !important;
    font: 900 15px/1 Georgia, serif !important;
    border-radius: 0 !important;
  }

  /* --- 场景 8: 赛季大结局与荣誉室 (全面欧陆大报化 · 告别暗黑绿皮) --- */
  #finale .champ {
    font-family: Georgia, serif !important;
    font-size: 20px !important;
    color: var(--e-red) !important;
    padding: 8px 0 !important;
    border-bottom: 2px solid var(--e-ink) !important;
  }
  #finale .sec-title {
    font-family: Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    color: var(--e-ink) !important;
    border-bottom: 2px solid var(--e-ink) !important;
    padding-bottom: 4px !important;
    margin: 14px 0 8px !important;
  }
  
  /* 焦点球员荣誉卡 (Spotlight) 彻底报刊化 */
  #finale #spotlight {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 10px 0 !important;
  }
  #finale .sp-card {
    background-color: var(--e-paper-hi) !important;
    background-image: linear-gradient(rgba(251,244,227,.94),rgba(251,244,227,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
    border: 2px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 3px 3px 0 rgba(29,29,24,.2) !important;
    padding: 0 !important;
    min-height: 100px !important;
    overflow: hidden !important;
  }
  #finale .sp-card::before {
    display: none !important;
  }
  /* MVP 卡片置顶跨通栏呈现，形成 1+2 头版头条 */
  #finale .sp-card.mvp {
    grid-column: 1 / -1 !important;
    order: -1 !important;
    border: 2.5px solid var(--e-red) !important;
    box-shadow: 4px 4px 0 var(--e-ink) !important;
  }
  #finale .sp-card.gold {
    order: 1 !important;
  }
  #finale .sp-card.blue {
    order: 2 !important;
  }
  #finale .sp-card .sp-top {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding: 5px 8px !important;
    border-bottom: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
  }
  #finale .sp-card.mvp .sp-top {
    background: var(--e-red) !important;
    color: var(--e-paper-hi) !important;
  }
  #finale .sp-card.mvp .sp-top .sp-t {
    color: var(--e-paper-hi) !important;
  }
  #finale .sp-card.gold .sp-top {
    background: var(--e-navy) !important;
    color: #ffd166 !important;
  }
  #finale .sp-card.gold .sp-top .sp-t {
    color: #ffd166 !important;
  }
  #finale .sp-card.blue .sp-top {
    background: var(--e-forest, #153b2a) !important;
    color: var(--e-paper-hi) !important;
  }
  #finale .sp-card.blue .sp-top .sp-t {
    color: var(--e-paper-hi) !important;
  }
  #finale .sp-card .sp-t {
    font-family: Georgia, serif !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
  }
  #finale .sp-card .sp-body {
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    padding: 4px 8px 8px !important;
    box-sizing: border-box !important;
  }
  #finale .sp-card .sp-ava .avwrap {
    width: 36px !important;
    height: 36px !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 2px 2px 0 rgba(29,29,24,.2) !important;
    filter: sepia(.2) contrast(1.05) !important;
  }
  #finale .sp-card .sp-nm {
    font-family: Georgia, serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    color: var(--e-ink) !important;
    background: none !important;
    -webkit-text-fill-color: var(--e-ink) !important;
    text-shadow: none !important;
    line-height: 1.15 !important;
    margin-top: 3px !important;
  }
  #finale .sp-card .sp-pos {
    font-size: 9px !important;
    color: #625b4f !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }
  #finale .sptile {
    background: var(--e-paper-hi) !important;
    border: 1px solid var(--e-ink) !important;
    border-radius: 0 !important;
    box-shadow: 1px 1px 0 rgba(29,29,24,.15) !important;
    min-width: 44px !important;
    padding: 3px 4px !important;
  }
  #finale .sptile b {
    font-family: Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    color: var(--e-red) !important;
    background: none !important;
    -webkit-text-fill-color: var(--e-red) !important;
    text-shadow: none !important;
  }
  #finale .sptile em {
    color: #625b4f !important;
    font-size: 8px !important;
  }

  /* 大结局核心行动区：再战一季大按钮通栏首要高亮 */
  #finale .actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  #finale .actions #restartBtn {
    order: -1 !important;
    width: 100% !important;
    min-height: 48px !important;
    background: var(--e-red) !important;
    color: var(--e-paper-hi) !important;
    border: 2px solid var(--e-ink) !important;
    box-shadow: 4px 4px 0 var(--e-ink) !important;
    font: 900 15px/1 Georgia, serif !important;
    border-radius: 0 !important;
    cursor: pointer !important;
  }
  #finale .actions #restartBtn:active {
    transform: translate(2px, 2px) !important;
    box-shadow: 2px 2px 0 var(--e-ink) !important;
  }
  #finale .actions button:not(#restartBtn) {
    background: var(--e-paper-hi) !important;
    color: var(--e-ink) !important;
    border: 1.5px solid var(--e-ink) !important;
    border-radius: 0 !important;
    font-family: Georgia, serif !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    min-height: 38px !important;
  }

  /* 移动端视口防遮挡安全垫：为各页面容器留足底部导航栏与系统指示条高度 */
  .screen, #setup, #draft, #prematch, #season, #finale, .halfway-room {
    padding-bottom: calc(var(--e-mobile-nav, 64px) + env(safe-area-inset-bottom, 16px) + 36px) !important;
  }
  #finale .actions {
    margin-bottom: calc(var(--e-mobile-nav, 64px) + env(safe-area-inset-bottom, 16px) + 16px) !important;
  }
}

/* --- 全端体验优化专项：选秀球员长名防撑爆、解说日志防裁切、桌面端一屏纵览 --- */

/* 1. 球员长名自适应两行截断与省略，防止挤压能力值与三徽章 */
#draft .slot .who,
#draft .slot .nm {
  font-size: 10px !important;
  line-height: 1.15 !important;
  max-height: 23px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-all !important;
  text-align: center !important;
}

/* 2. 比赛解说事件流：留出足够内边距，第一行绝不被上边框裁切 */
.live-event-log {
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}
.live-event-row {
  padding: 4px 6px !important;
  line-height: 1.35 !important;
  align-items: center !important;
}
.live-event-row:first-child {
  margin-top: 2px !important;
}

/* 3. 桌面端 11 人阵容一屏纵览：微调行距与边距，杜绝纵向滚动条 */
@media (min-width: 901px) {
  #draft .pitch {
    padding: 8px 12px !important;
  }
  #draft .row {
    margin: 3px 0 !important;
    gap: 8px !important;
  }
  #draft .coachbar {
    margin-top: 6px !important;
  }
  #draft .actions {
    margin-top: 8px !important;
  }
}

/* 4. 选秀教练栏报刊化与草皮底部防穿模 */
#draft {
  padding-bottom: calc(var(--e-mobile-nav, 64px) + 120px) !important;
}
#draft .coachbar {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 10px auto 16px !important;
  max-width: 360px !important;
}
#draft .coachbar #coachBtn {
  width: 100% !important;
  min-height: 44px !important;
  background: var(--e-paper-hi) !important;
  color: var(--e-ink) !important;
  border: 2px solid var(--e-ink) !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font: 900 13px/1 Georgia, serif !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
}
#draft .coachbar #coachBtn.is-hired {
  background: var(--e-navy) !important;
  color: #fff !important;
  border-color: var(--e-ink) !important;
}
#draft .coachbar #coachBtn:active {
  transform: translate(1.5px, 1.5px) !important;
  box-shadow: 1.5px 1.5px 0 var(--e-ink) !important;
}
#draft .coachchip,
#draft .chemglegend,
#draft .grpbar:empty {
  display: none !important;
}

/* 5. 实时比赛沙盘：持球球员姓名绝对置底防足球遮挡 & 双方阵营高辨识度 */
.live-player .label {
  display: none;
  position: absolute !important;
  left: 50% !important;
  top: 100% !important;
  margin-top: 4px !important;
  transform: translateX(-50%) !important;
  z-index: 25 !important;
  max-width: 110px !important;
  padding: 2px 7px !important;
  background: rgba(27, 25, 21, 0.92) !important;
  border: 1px solid rgba(255, 209, 102, 0.6) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.6) !important;
  pointer-events: none !important;
}
.live-player.carrier {
  z-index: 18 !important;
}

@media (max-width: 600px) {
  .live-player .portrait,
  .live-player .avwrap {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
  }
  .live-player.me .avwrap {
    border: 2px solid var(--e-red, #a4282a) !important;
    box-shadow: 0 0 0 2px rgba(255,209,102,0.9), 0 3px 8px rgba(0,0,0,0.6) !important;
  }
  .live-player.opp .avwrap {
    border: 2px solid #00cec9 !important;
    box-shadow: 0 0 0 1.5px rgba(0,0,0,0.5) !important;
  }
  .live-player .label {
    font-size: 8.5px !important;
    padding: 1px 5px !important;
  }
}

/* 赛季快速模拟(#season) 战况广播物理隔离、草皮卡片零遮挡与进球勋章防覆盖 */
#season .battle {
  position: relative;
  display: flex;
  flex-direction: column;
}
#season .btop {
  order: 1 !important;
  margin: 0 0 4px 0 !important;
  width: 100% !important;
}
#season .bdots {
  order: 2 !important;
  margin: 0 0 6px 0 !important;
  width: 100% !important;
}
#season .bscore {
  order: 3 !important;
  margin-bottom: 0 !important;
  position: relative !important;
}
#season .match-cue-layer {
  order: 4 !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 25 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}
#season .match-cue-layer:empty {
  display: none !important;
}
#season .match-cue-layer .match-cue {
  position: absolute !important;
  top: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 30 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.38) !important;
}
#season .bpitch {
  order: 5 !important;
  margin-top: 0 !important;
  padding-top: 6px !important;
}
#season .match-cue-copy b {
  font-size: 13px !important;
  line-height: 1 !important;
}
#season .match-cue-copy span {
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}
#season .bcard {
  position: relative !important;
  overflow: visible !important;
}
#season .golbub {
  top: 20px !important;
  right: 2px !important;
  z-index: 10 !important;
  padding: 1px 5px !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.25) !important;
}
#season .goalFx {
  top: -16px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-size: 22px !important;
  letter-spacing: 2px !important;
  z-index: 25 !important;
  text-shadow: 0 0 14px rgba(255,180,40,0.95), 0 2px 6px rgba(0,0,0,0.85) !important;
  pointer-events: none !important;
}
#season .goalFx.show {
  animation: season-goalfx .85s ease !important;
}
@keyframes season-goalfx {
  0% { opacity: 0; transform: translateX(-50%) translateY(6px) scale(.75); }
  20% { opacity: .98; transform: translateX(-50%) translateY(0) scale(1.1); }
  65% { opacity: .98; transform: translateX(-50%) translateY(0) scale(1); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-8px) scale(1.03); }
}
#season .bevents {
  order: 6 !important;
  min-height: 70px;
  max-height: 120px;
  overflow-y: auto;
  padding: 4px 6px;
}
#season .bevents .ev {
  padding: 3px 2px;
  font-size: 11.5px;
  line-height: 1.35;
}
#season {
  padding-bottom: calc(var(--e-mobile-nav, 64px) + env(safe-area-inset-bottom, 16px) + 32px) !important;
}

/* =========================================================================
   HIGH-CONTRAST PALETTE & ICON BADGE CONTRAST BACKING (ZERO PALE TEXT / ICONS)
   ========================================================================= */
/* 攻防均分与档位文字清晰度保证（消除浅色发虚） */
.sqchip.att b { color: #166534 !important; }
.sqchip.def b { color: #173a50 !important; }
.sqchip.chem b { color: #9c2e20 !important; }
.sqchip.tier {
  font-weight: 800 !important;
  font-size: 11px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 2px !important;
  padding: 1px 6px !important;
  letter-spacing: 0.3px !important;
}
.grpchip.nat b { color: #166534 !important; }
.grpchip.league b { color: #173a50 !important; }
.grpchip.both b { color: #854d0e !important; }

/* 队徽、联赛与国旗图标深色对比衬底（国籍/俱乐部/联赛三位一体视觉全统一） */
.icfall {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--sans, -apple-system, BlinkMacSystemFont, sans-serif) !important;
  font-size: 8.5px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  background-color: var(--navy, #173a50) !important;
  border: 1px solid rgba(27, 25, 21, 0.35) !important;
  border-radius: 3px !important;
  padding: 1px 3px !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 2px rgba(27, 25, 21, 0.2) !important;
  vertical-align: middle !important;
}
.contribution-table .ic,
.contribution-table .icfall,
.slot .meta .ic,
.slot .meta .icfall,
.formal-player-identity .ic,
.formal-player-identity .icfall,
.bcard .meta .ic,
.bcard .meta .icfall,
.pk-chem-hit .ic,
.pk-chem-hit .icfall,
.formal-chem-progress .ic,
.formal-chem-progress .icfall {
  background-color: var(--navy, #173a50) !important;
  border: 1px solid rgba(27, 25, 21, 0.3) !important;
  border-radius: 3px !important;
  padding: 1px !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 2px rgba(27, 25, 21, 0.2) !important;
}
/* 贡献表姓名栏空间释放与完整显示（彻底移除3个小图标后的宽裕排版） */
.contribution-table td.nm {
  text-align: left !important;
  min-width: 96px !important;
  max-width: 170px !important;
  padding: 6px 4px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.contribution-table td.nm .nm-text {
  display: inline-block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-weight: 700 !important;
  color: var(--e-ink, #1b1915) !important;
  vertical-align: middle !important;
}

/* 赛前中心指标双行规整布局（防止孤立折行） */
.pre-summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  background: var(--e-paper-hi, #fffcf7) !important;
  border: 1px solid var(--e-line, #dcd2c0) !important;
  border-left: 4px solid var(--forest, #1b4d32) !important;
  border-radius: 4px !important;
  box-shadow: 2px 2px 0 rgba(29, 29, 24, 0.12) !important;
  margin-bottom: 12px !important;
}
.pre-summary-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  font-size: 11.5px !important;
  line-height: 1.25 !important;
  color: var(--e-ink, #2c251e) !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
}
.pre-summary-row.ps-metrics {
  font-weight: 600 !important;
}
.pre-summary-row.ps-record {
  font-size: 11px !important;
  color: var(--e-ink-soft, #555) !important;
  padding-top: 4px !important;
  border-top: 1px dashed rgba(27, 25, 21, 0.15) !important;
}
.pre-summary-row b {
  color: var(--brick, #9e2719) !important;
  font-weight: 800 !important;
}
.pre-summary-row .ps-sep {
  color: var(--e-line-subtle, #bbb) !important;
  font-size: 10px !important;
}

@media (min-width: 1100px) {
  #setup { min-height: 320px; }
}

/* 冬窗选人弹窗 100% 继承开局选人抽屉规范与单列全宽特写大卡 */
#formalTransferOverlay {
  z-index: 120 !important;
  background: rgba(20, 20, 16, 0.75) !important;
  backdrop-filter: blur(3px) !important;
}
#formalTransferOverlay .panel {
  background-color: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(246,237,220,.95),rgba(235,220,192,.95)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 3px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 6px 8px 0 rgba(27,25,21,.4) !important;
  width: min(860px, calc(100vw - 32px)) !important;
  max-width: 860px !important;
  max-height: calc(100dvh - 36px) !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}
#formalTransferOverlay .panel h3 {
  font-family: Georgia, serif !important;
  font-size: 20px !important;
  color: var(--e-ink) !important;
  margin: 0 0 2px !important;
}
#formalTransferOverlay .panel .ph2 {
  color: #625b4f !important;
  font-size: 11px !important;
  margin-bottom: 6px !important;
  padding: 3px 6px !important;
  background: rgba(27,25,21,.04) !important;
  border-left: 3px solid var(--e-navy, #16324f) !important;
}
#formalTransferOverlay .formal-chem-preview {
  margin: 0 0 8px !important;
  padding: 6px 10px !important;
  background: rgba(22, 101, 52, 0.1) !important;
  border: 1px solid #166534 !important;
  border-radius: 0 !important;
  font-size: 11.5px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #166534 !important;
}
#formalTransferOverlay .formal-chem-preview b {
  font-weight: 900 !important;
}
#formalTransferOverlay .formal-transfer-modal-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 4px 2px !important;
  max-height: 60vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  min-height: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  min-height: 82px !important;
  background-color: var(--e-paper-hi) !important;
  background-image: linear-gradient(rgba(246,237,220,.94),rgba(235,220,192,.94)),url("assets/editorial/generated/paper-texture-v2.jpg") !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(27,25,21,.28) !important;
  text-align: left !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 rgba(27,25,21,.28) !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick.is-selected {
  border-color: var(--e-red) !important;
  outline: 3px solid var(--e-red) !important;
  box-shadow: 0 0 0 2px var(--e-paper-hi), 3px 4px 0 rgba(158,39,25,0.4) !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-ava {
  position: relative !important;
  width: 52px !important;
  height: 58px !important;
  margin: 0 !important;
  flex: 0 0 52px !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .avwrap {
  width: 52px !important;
  height: 58px !important;
  border: 1.5px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 rgba(27,25,21,.35) !important;
  filter: sepia(.15) contrast(1.06) !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .avwrap .av {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-body {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-name {
  font-family: Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  color: var(--e-ink) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11px !important;
  color: #5f5547 !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-meta .ic,
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-meta .icfall,
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-meta .natflag {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-meta .sep {
  font-size: 9px !important;
  color: #a89f91 !important;
  margin: 0 1px !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-posrow {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 1px !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-poschip {
  font-size: 8.5px !important;
  font-weight: 900 !important;
  padding: 1px 5px !important;
  background: var(--e-navy) !important;
  color: #ffd976 !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  font-style: normal !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 1px !important;
  text-align: right !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-ovr {
  font-family: Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: var(--e-red) !important;
  margin: 0 !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-ovrl {
  font: 900 8.5px/1 var(--sans, Arial, sans-serif) !important;
  color: #625b4f !important;
  letter-spacing: 0.5px !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-bad {
  display: inline-block !important;
  padding: 2px 6px !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  border: 1px solid var(--e-ink) !important;
  border-radius: 0 !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-bad.ok {
  background: var(--e-navy) !important;
  color: var(--e-paper-hi) !important;
}
#formalTransferOverlay .formal-transfer-modal-list > .pick .pk-bad.bad {
  background: #e8d08d !important;
  color: var(--e-ink) !important;
}

/* 底部工具栏与操作按钮：顶部双实线 + 左大红右米色 */
#formalTransferOverlay .ptools {
  background: transparent !important;
  border-top: 2px double var(--e-ink) !important;
  padding-top: 8px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 6px !important;
}
#formalTransferOverlay .ptools [data-formal-modal-reroll],
#formalTransferOverlay .ptools [data-formal-modal-confirm] {
  background: var(--e-red) !important;
  color: var(--e-paper-hi) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 var(--e-ink) !important;
  font-family: Georgia, serif !important;
  font-weight: 900 !important;
  min-height: 44px !important;
  font-size: 14px !important;
  cursor: pointer !important;
}
#formalTransferOverlay .ptools [data-formal-modal-close],
#formalTransferOverlay .ptools [data-formal-modal-cancel] {
  background: var(--e-paper) !important;
  color: var(--e-ink) !important;
  border: 2px solid var(--e-ink) !important;
  border-radius: 0 !important;
  font-weight: 900 !important;
  min-height: 44px !important;
  min-width: 80px !important;
  font-size: 13px !important;
  cursor: pointer !important;
}

/* 移动端贴底抽屉 (Bottom Sheet) 规范与选秀弹窗 100% 同构 */
@media (max-width: 900px) {
  #formalTransferOverlay {
    align-items: end !important;
    padding: 0 !important;
  }
  #formalTransferOverlay .panel {
    width: 100% !important;
    max-width: 100% !important;
    height: min(760px, calc(100dvh - env(safe-area-inset-top))) !important;
    max-height: calc(100dvh - env(safe-area-inset-top)) !important;
    padding: 10px 8px calc(8px + env(safe-area-inset-bottom)) !important;
    border-radius: 14px 14px 0 0 !important;
    margin: 0 !important;
  }
}

/* 冬窗首发阵容球场与全系统球场底纹统一 */
.formal-transfer-pitch,
#sqPitch {
  background: repeating-linear-gradient(0deg, rgba(255,255,255,.028) 0 2px, transparent 2px 46px),
              radial-gradient(120% 120% at 50% 0%, #1d4a2e 0%, #143722 55%, #0d2819 100%) !important;
  border: 2px solid var(--e-ink, #1b1915) !important;
  border-radius: 2px !important;
  padding: 12px 8px !important;
  box-shadow: inset 0 0 50px rgba(0,0,0,.5), 3px 3px 0 rgba(29,29,24,.3) !important;
}
.formal-pitch-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}
.formal-player-card {
  border: 1.5px solid var(--e-ink) !important;
  border-radius: 2px !important;
  box-shadow: 2px 2px 0 rgba(27,25,21,.25) !important;
  cursor: pointer !important;
}
.formal-player-card:hover,
.formal-player-card.is-selected {
  border-color: var(--e-red) !important;
  outline: 2px solid var(--e-red) !important;
  transform: translateY(-2px) !important;
}

/* 快速战斗比分牌标题栏与结果徽章：彻底消除重叠与溢出红块 */
.score-kicker-right {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#season .bscore .score-kicker-right .bres {
  position: static !important;
  right: auto !important;
  top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1px 6px !important;
  border-radius: 2px !important;
  font: 900 11px/1.2 var(--sans, Arial, sans-serif) !important;
  letter-spacing: 0.5px !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

#season .bscore .score-kicker-right .bres:empty {
  display: none !important;
}

#season .bscore.w .score-kicker-right .bres {
  background: #166534 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

#season .bscore.d .score-kicker-right .bres {
  background: #b45309 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

#season .bscore.l .score-kicker-right .bres {
  background: #991b1b !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

/* 消除比分牌投影产生的右侧突兀色块（红/绿/金），与比赛草皮端正对齐 */
#season .bscore,
#season .bscore.w,
#season .bscore.d,
#season .bscore.l {
  box-shadow: 2px 2px 0 rgba(29, 29, 24, 0.35) !important;
}

