/* base.css — 공통(변수·상단 바·탭·카드·표·버튼·툴팁·푸터). app.css 에서 주제별로 나눔; layout.html 이 base → … 순서로 전부 링크한다. */
/* 주석은 **한 줄 안에서** 닫는다 (test_layout_css_comments_are_closed) — 여러 줄 주석이 뒤 규칙을 삼킨 적이 있어 줄 단위로 검사한다. */
/* KBO Scout 대시보드 공통 스타일 — layout.html 에서 /static/app.css?v=<빌드> 로 링크 (페이지마다 85KB 인라인 대신 캐시) */
  :root {
    --navy: #2b4c7e; --navy-dark: #1f3a63; --blue: #1c62d1; --blue-light: #e8f0fb;
    /* 적중·손익 색. 전수 검수(10/11)에서 흰 카드 위 대비 green 3.41:1 · red 3.96:1 로 AA(4.5) 미달이었다 — 색조는 두고 명도만 낮춤 */
    --red: #b84743; --green: #247b47; --line: #d9dee7; --line-strong: #b9c2d0;
    --text: #222; --muted: #666d7a; --bg: #f4f6fa; --white: #fff;   /* muted 는 페이지 배경(#f4f6fa) 위에서 4.42:1 이라 살짝만 낮춤 */
    /* 색 토큰 — CSS 에는 아래 이름으로만 쓴다 (하드코딩 변종 정리) */
    --text-2: #4b5563; --text-3: #374151; --muted-2: #666F7E;
    --red-strong: #c62828; --red-bg: #fdecec; --green-bg: #e6f5ec;
    --orange: #f5820d; --amber: #b05109; --amber-bg: #fff4e5; --gold: #e8a800; --gold-text: #8a6d00; --gold-bg: #fff3c4; --purple: #6d28d9;
    --buy: #d0243a; --hover: #eef1f5; --surface: #fafbfd; --surface-2: #f4f7fc; --slate: #5b6b85;
    --r-sm: 4px; --r-pill: 8px; --r-round: 999px;   /* 모서리 (10/13 B안): 표·작은 상자 4px / 칩·세그먼트·셀렉트 8px (카드와 같은 곡률 — 알약만 튀던 것) / 원·FAB 는 --r-round */
  }
  * { box-sizing: border-box; }
  [hidden] { display: none !important; } /* hidden 속성이 컴포넌트의 display:flex/block 에 덮여 빈 띠·0개 링크가 보이던 것 (경기 상세 분홍 띠, 보관 세트 0개 등) */
  html { color-scheme: light; } /* 폼 컨트롤(모바일 드롭다운 선택창 등)도 사이트와 같은 밝은 테마로 — 기기 다크 모드에서 검은 선택창이 뜨던 것 */
  /* 홈 화면 앱(standalone)에서 안드로이드가 **문서 배경색**으로 아래 내비게이션 바를 칠한다. 흰색이면 홈 버튼이 안 보인다 (10/9 제보) */
  html { background: var(--navy); }
  /* html 에 배경이 생기면 body 배경은 더 이상 화면 전체로 퍼지지 않는다 — body 가 한 화면을 꽉 채우게 해서 남색이 비치지 않게 */
  body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text);
         font-family: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif; font-size: 15px;
         word-break: keep-all; overflow-wrap: break-word; }   /* 한글은 단어 단위로 줄바꿈 ('경/기도'·'점/수'·'기기/를' 처럼 낱말 중간에서 꺾이던 것, 10/13) — 칸보다 긴 낱말만 쪼갬 */
  @supports (min-height: 100dvh) { body { min-height: 100dvh; } }   /* 모바일 주소창이 접힐 때 100vh 가 넘치는 것 보정 */
  a { color: inherit; text-decoration: none; }
  .top { background: var(--white); border-bottom: 2px solid var(--navy); }
  .top .in { max-width: 1320px; margin: 0 auto; display: flex; align-items: center; gap: 16px; padding: 0 12px; height: 52px; }
  @media (max-width: 860px) {
    .top .in { flex-wrap: wrap; height: auto; padding: 8px 10px 0; gap: 6px 10px; }
    /* 모바일: 탭 6~7개(경기·일정·기록·순위·PS·랭킹·내예측)가 한 줄에 다 보이게 — 짧은 이름, 좌우로 고르게, 글자 살짝 작게 */
    .tabs { order: 3; width: 100%; margin-left: 0; display: flex; justify-content: space-between; white-space: nowrap; }
    .tabs a { padding: 8px 2px; font-size: 14px; flex: 1 1 auto; text-align: center; min-width: 0; letter-spacing: -.2px; }
    .tabs { overflow-x: auto; scrollbar-width: none; }
    .tabs::-webkit-scrollbar { display: none; } /* 아주 좁은 화면(320px)은 가로 스크롤 */
    .tabs .tl { display: none; }
    .tabs .ts { display: inline; }
    .userbar { margin-left: auto; font-size: 13px; }
    .card { overflow-x: auto; }
    table.t { min-width: 0; }
    table.t th, table.t td { padding: 7px 5px; font-size: 13px; white-space: nowrap; }
    table.t td.l { white-space: normal; }
    .m-hide { display: none !important; }
    .seg { height: 30px; flex-shrink: 0; }
    .seg a { padding: 0 7px; font-size: 12px; }
  }
  @media (max-width: 380px) {
    .tabs a { font-size: 13px; letter-spacing: -.3px; padding: 8px 1px; }
  } /* 360px 폰: 탭 7개(PS 포함)가 잘리지 않게 */
  .brand { font-weight: 800; color: var(--navy); font-size: 18px; letter-spacing: -0.5px; }
  .tabs { display: flex; gap: 4px; margin-left: 0; }
  @media (min-width: 861px) {
    .tabs { margin-left: 16px; }
  } /* PC: 탭은 로고 옆(왼쪽), 사용자·잔고·알림만 오른쪽. 모바일은 0 (위 모바일 규칙이 이 기본 규칙에 덮이지 않게) */
  .tabs a { padding: 8px 14px; border-radius: 4px 4px 0 0; color: var(--muted); font-weight: 600; }
  @media (min-width: 701px) {
    .tabs .ts { display: none; }
  }
  .tabs a.on { color: var(--navy); border-bottom: 3px solid var(--navy); }
  @media (max-width: 860px) {
    .card { min-width: 0; max-width: 100%; }
  }
  .card { background: var(--white); border: 1px solid var(--line); border-radius: 4px; }
  .mshort { display: none; } /* 금액은 줄바꿈 없이. 좁은 화면에선 요약 표기(+114만) */
  @media (max-width: 700px) {
    .mfull { display: none; }
    .mshort { display: inline; }
  }
  /* 헤더 컨트롤 공통 높이: 세그먼트·알약 셀렉트·오늘 버튼·날짜 화살표 모두 30px (모바일 28px) — 탭마다 제각각이던 것을 통일 (9/27) */
  .seg { display: inline-flex; border: 1px solid var(--line-strong); border-radius: var(--r-pill); overflow: hidden; background: #fff; height: 30px; }
  .seg a { display: inline-flex; align-items: center; padding: 0 11px; font-size: 13px; font-weight: 700; color: var(--muted); white-space: nowrap; }
  .seg a.on { background: var(--navy); color: #fff; }
  .seg.one { padding: 0 12px; align-items: center; font-size: 13px; font-weight: 700; color: var(--text); cursor: pointer; gap: 5px; }
  .seg.one b { color: #fff; background: var(--green); padding: 1px 7px; border-radius: 10px; font-size: 12px; }
/* 모바일 상단 바: 한 줄 — [‹ 9/13 (일) ›  오늘]  ......  [↺] [SCOUT 예측 ▾]. 날짜는 테두리 없는 글자, 보기는 짧은 이름 칩(뒤에 투명 네이티브 select 가 선택창을 띄운다) */
  @media (max-width: 860px) {
    #topBar { flex-wrap: nowrap; gap: 3px; padding: 8px 8px; }
    #topBar .sp { display: none; }
    #topBar.twoline { flex-wrap: wrap; }
    #topBar.twoline #tglAll { margin-top: 2px; } /* 둘째 줄: [보기 선택 ▾][▲] 오른쪽 정렬 */ /* 긴 이름만 둘째 줄 (.wrap 은 페이지 격자 클래스라 다른 이름) */
  }
  .btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 34px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: var(--white); color: var(--text); font-weight: 600; font-size: 14px; line-height: 1; cursor: pointer; white-space: nowrap; }
  .btn.primary { background: var(--blue); border-color: var(--blue); color: #fff; }
  .btn.dim { color: var(--muted); }
  .logo { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 800; flex: 0 0 44px; overflow: hidden; }
  .logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
  @keyframes blink { 50% { opacity: .25; } }
  @media (max-width: 700px) {
    table.t.sb th, table.t.sb td { padding: 5px 3px; font-size: 12px; }
  }
  table.t.lu { min-width: 0; width: 100%; }
  table.t.lu th { text-align: left; font-size: 13px; padding: 6px 8px; }
  table.t.lu td { padding: 4px 8px; font-size: 13px; white-space: nowrap; }
  table.t.lu td.o { width: 22px; color: var(--muted); text-align: center; }
  table.t.lu td.pos { color: var(--muted); font-size: 12px; text-align: right; }
  table.t.sb { min-width: 0; }
  table.t.sb th, table.t.sb td { text-align: center; padding: 6px 7px; font-size: 13px; font-variant-numeric: tabular-nums; }
  table.t.sb th.l, table.t.sb td.l { text-align: left; }
  table.t.sb th.r, table.t.sb td.r { font-weight: 800; border-left: 2px solid var(--line-strong); }
  @media (max-width: 700px) {
    table.t.lu td { padding: 4px 5px; font-size: 13px; }
    table.t.lu td.pos { font-size: 11px; }
  }
  .userbar { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1; color: var(--muted); margin-left: auto; white-space: nowrap; }
  .userbar b { color: var(--navy); }
  .userbar .ume { position: relative; display: inline-flex; align-items: center; }
  .userbar .ubtn { display: inline-flex; align-items: center; gap: 3px; cursor: pointer; color: var(--navy); font-weight: 700; padding: 6px 0; }
  .userbar .ubtn .car { font-style: normal; font-size: 10px; color: var(--muted); margin-left: 1px; }
  .userbar .umenu { position: absolute; right: 0; top: calc(100% + 2px); background: #fff; border: 1px solid var(--line-strong); border-radius: 6px; box-shadow: 0 8px 24px rgba(20, 30, 60, .14); min-width: 160px; z-index: 60; padding: 4px 0; }
  .userbar .umenu a, .userbar .umenu button { display: block; width: 100%; text-align: left; padding: 10px 14px; font-size: 14px; color: var(--text); font-weight: 600; border: none; background: none; cursor: pointer; font-family: inherit; line-height: 1.2; }
  .userbar .umenu a:hover, .userbar .umenu button:hover { background: var(--bg); }
  .userbar .umenu form { margin: 0; border-top: 1px solid var(--line); }
  .userbar .bal { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; padding: 3px 6px; margin: 0 -6px; border-radius: 6px; font: inherit; color: inherit; cursor: pointer; }   /* 누르면 금액 가림 토글 (10/7) */
  .userbar .bal:hover { background: rgba(127, 127, 127, .14); }
  .userbar .bal .bmask { display: none; letter-spacing: 1px; }
  html.balhide .userbar .bal .amt { display: none; }
  html.balhide .userbar .bal .bmask { display: inline; }
  @media (max-width: 860px) {
    .userbar { gap: 8px; margin-left: auto; }
  }
/* 모바일 상단 잔고는 자리가 있으므로 전체 금액(₩1,465,000)으로. 아주 좁은 폰만 '잔고' 글자를 빼고, 그래도 안 들어가면 요약(146.5만) */
  @media (max-width: 700px) {
    .userbar .bal .mfull { display: inline; }
    .userbar .bal .mshort { display: none; }
  }
  @media (max-width: 400px) {
    .userbar .bal .lbl { display: none; }
  }
  @media (max-width: 345px) {
    .userbar .bal .mfull { display: none; }
    .userbar .bal .mshort { display: inline; }
  }
  .form { max-width: 380px; margin: 40px auto; }
  .form input { width: 100%; padding: 10px; margin: 6px 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font-size: 16px; }   /* 16px 미만이면 iOS가 입력할 때 화면을 확대 */
  .form input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(28, 98, 209, .15); }
  .form label .rule { color: var(--muted); font-weight: 400; font-size: 12px; margin-left: 4px; }
  .form .anote { margin-bottom: 12px; padding: 9px 12px; border-radius: 6px; background: #eef4ff; color: var(--navy); font-size: 14px; font-weight: 600; }
  .form label { font-size: 13px; color: var(--muted); }
  .form .err { color: var(--red); margin-bottom: 10px; }
/* ⓘ 툴팁: 마우스 올리기/포커스(모바일 탭)로 표시 */
/* 알약 셀렉트 (랭킹 시즌 선택 .rksel 과 같은 모양) — 일정 탭 구단 필터 등 공용 */
  .pillsel { position: relative; display: inline-flex; }
  .pillsel select { appearance: none; -webkit-appearance: none; height: 30px; padding: 0 28px 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: #fff; font: inherit; font-size: 13px; font-weight: 700; color: var(--text); cursor: pointer; }
  /* 알약 드롭다운 선택 창 (static/js/pillpick.js) — 경기 탭 예측 선택기(.vpick)와 같은 모양. 스크립트가 붙으면(.pp) 기본 선택 창 대신 */
  .pp select { pointer-events: none; }
  .pp { cursor: pointer; }
  .ppw { position: relative; display: inline-flex; }
  .ppick .pgh { flex-basis: 100%; margin: 4px 0 -2px; font-size: 12px; font-weight: 700; color: var(--muted); }
  .ppick { position: fixed; inset: 0; z-index: 70; }
  .ppick[hidden] { display: none; }
  .ppick .bd { position: absolute; inset: 0; }
  .ppick .pn { position: absolute; width: 360px; max-width: calc(100vw - 24px); max-height: 72vh; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(20, 30, 50, .18); padding-bottom: 10px; }
  .ppick .ph { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: #fff; border-bottom: 1px solid var(--line); font-size: 14px; }
  .ppick .ph .x { color: var(--muted); font-size: 17px; padding: 2px 6px; cursor: pointer; }
  .ppick .pcs { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 14px 2px; }
  .ppick .pc { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); font-size: 13px; font-weight: 700; color: var(--text); background: #fff; cursor: pointer; }
  .ppick .pc.on { box-shadow: 0 0 0 2px var(--navy); }
  .ppick .pc.on::after { content: "✓"; font-size: 11px; color: var(--navy); }
  @media (max-width: 860px) {
    .ppick .bd { background: rgba(10, 20, 40, .38); }
    .ppick .pn { left: 0 !important; right: 0; top: auto !important; bottom: 0; width: auto; max-width: none; max-height: 78vh; border: 0; border-radius: 14px 14px 0 0; box-shadow: 0 -6px 24px rgba(0, 0, 0, .22); padding-bottom: 16px; }
  }
  .pillsel::after { content: "▾"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 11px; color: var(--muted); pointer-events: none; }
  @media (max-width: 700px) { .pillsel select { height: 28px; font-size: 12px; padding: 0 24px 0 10px; } .seg { height: 28px; } .seg a { font-size: 12px; padding: 0 9px; } }
  .tip { position: relative; display: inline-block; margin-left: 6px; color: var(--blue); cursor: help; font-weight: 700; font-size: 15px; vertical-align: middle; outline: none; }
  .tip .tipbox { display: none; position: absolute; top: 24px; left: 0; z-index: 30; width: min(460px, 86vw); background: #fff; color: var(--text); border: 1px solid var(--line-strong); border-radius: 6px; padding: 10px 12px; font-size: 13px; font-weight: 400; line-height: 1.6; box-shadow: 0 6px 20px rgba(0,0,0,.15); text-align: left; white-space: normal; } /* nowrap 인 행 이름(.mname) 안에서도 줄바꿈 */
  .tip:hover .tipbox, .tip:focus .tipbox, .tip:focus-within .tipbox { display: block; }
  .tipbox .ti { display: block; padding: 6px 0; border-bottom: 1px solid var(--line); line-height: 1.55; word-break: keep-all; }
  .tipbox .ti:first-child { padding-top: 0; }
  .tipbox .ti:last-child { border-bottom: 0; padding-bottom: 0; }
  .tipbox .ti b { display: block; color: var(--navy); font-size: 12px; margin-bottom: 1px; }
  .tip.th { cursor: help; border-bottom: 1px dotted #9fb0d0; color: inherit; font-weight: inherit; margin: 0; padding: 0; font-size: inherit; }
  .tip.th .tipbox { font-weight: 400; text-align: left; white-space: normal; }
  @media (max-width: 700px) {
    .tip .tipbox { position: fixed; left: 3vw; right: 3vw; width: auto; top: 90px; max-height: 70vh; overflow: auto; }
  } /* 모바일: ⓘ 기준 위치면 오른쪽이 잘려 화면 폭에 맞춰 띄움 */
  .tip .tipbox b { color: var(--navy); margin-right: 4px; }
  h3 .tip { font-size: 15px; }
  .pager { display: flex; justify-content: center; gap: 6px; padding: 12px; }
  .pager a, .pager span { padding: 5px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font-size: 13px; color: var(--text); }
  .pager span.on { background: var(--navy); color: #fff; border-color: var(--navy); }
  .pager span.dim { color: var(--muted); }
  table.t td.nw { white-space: nowrap !important; } /* 모바일에서도 줄바꿈 없는 라벨 칸 */
  table.t.strat td, table.t.strat th { font-size: 13px; white-space: nowrap; }
  table.t.strat tr.off td { opacity: .45; }
  table.t.strat .sw { display: inline-block; width: 10px; height: 10px; border-radius: var(--r-sm); margin-right: 6px; vertical-align: -1px; }
  table.t.status td, table.t.status th { font-size: 13px; padding: 5px 8px; white-space: nowrap; }
  table.t.status td.l small { display: block; color: var(--muted); font-size: 11px; font-weight: 400; }
  table.t.status tr.stale td { background: #fffbea; }
  table.t.status tr.none td { background: #fdf3f2; }
  table.t.status tr.unused td { color: var(--muted); }
  .foot { margin: 28px 0 0; padding: 18px 0 26px; border-top: 1px solid var(--line); background: var(--hover); color: var(--text-2); font-size: 13px; line-height: 1.7; }
  .foot .in { max-width: 1320px; margin: 0 auto; padding: 0 16px; }
  .foot .ft { font-weight: 800; color: var(--text); margin-bottom: 6px; font-size: 14px; }
  .foot ul { margin: 0; padding-left: 18px; }
  .foot li { margin: 2px 0; }
  .foot b { color: var(--text); }
  .foot .ft .tg { display: none; }
  .foot .ver { margin-top: 8px; font-size: 11px; color: var(--muted); text-align: right; }
  .foot .ver code { font-family: ui-monospace, Menlo, Consolas, monospace; background: var(--hover); padding: 0 4px; border-radius: var(--r-sm); } /* 배포 확인용: 떠 있는 커밋 */
/* 모바일: 면책 안내가 화면 절반을 차지하지 않게 — 접힌 한 줄(누르면 펼침), 본문은 최소 높이로 안내를 아래로 */
  @media (max-width: 700px) {
    .foot { margin-top: 16px; padding: 12px 0 18px; }
    .foot .ft { cursor: pointer; margin-bottom: 0; }
    .foot .ft .tg { display: inline; font-weight: 400; color: var(--blue); font-size: 13px; margin-left: 6px; }
    .foot ul { display: none; margin-top: 6px; }
    .foot .in.open ul { display: block; }
    .foot .in.open .ft { margin-bottom: 6px; }
  }
  .empty { padding: 24px 12px; color: var(--muted); text-align: center; }
  table.t { width: 100%; border-collapse: collapse; font-size: 15px; }
  .tcell { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
  .tn-short { display: none; }
  @media (max-width: 700px) {
    .tn-full { display: none; }
    .tn-short { display: inline; }
    .tcell { gap: 5px; }
    .tcell .logo { width: 26px; height: 26px; flex-basis: 26px; font-size: 9px; }
  }
  .subtabs { display: flex; border-bottom: 1px solid var(--line); }
  .subtabs a { flex: 1; text-align: center; padding: 11px 6px; font-weight: 700; color: var(--muted); border-bottom: 3px solid transparent; }
  .subtabs a.on { color: var(--blue); border-bottom-color: var(--blue); }
  .stabs a { cursor: pointer; }
  .spanel, .spanel > .card, .spanel .grid2 > .card { min-width: 0; max-width: 100%; } /* 넓은 표는 카드 안에서만 가로 스크롤 (페이지가 옆으로 늘어나지 않게) */
  .spanel .card > div[style*="overflow-x"] { max-width: 100%; }
  @media (max-width: 700px) {
    .stabs a { padding: 10px 1px; font-size: 12px; white-space: nowrap; letter-spacing: -.2px; }
  } /* 시즌 기록 탭 5개가 한 줄에 */
  @media (max-width: 700px) {
    .subtabs a { padding: 9px 4px; font-size: 14px; }
  }
  @keyframes fabbump { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 100% { transform: scale(1); } }
  #toast { position: fixed; left: 50%; bottom: 70px; transform: translateX(-50%); background: rgba(20,30,50,.92); color: #fff; padding: 9px 14px; border-radius: var(--r-pill); font-size: 13px; z-index: 60; opacity: 0; transition: opacity .2s; pointer-events: none; white-space: nowrap; }
  #toast.on { opacity: 1; }
  .pos { color: var(--green); font-weight: 700; }
  .neg { color: var(--red); font-weight: 700; }
  h3 { margin: 0; padding: 10px 12px; font-size: 14px; background: #f0f3f8; border-bottom: 1px solid var(--line); color: var(--navy); }
  .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  @media (max-width: 700px) {
    .grid2 { grid-template-columns: 1fr; }
  }
  .note { font-size: 12px; color: var(--muted); padding: 8px 12px; }
  .tip .tipbox.wide .ti { margin-bottom: 8px; } /* 캘리브레이션 해석 안내 (긴 툴팁) */

/* 가상영수증 미리보기 창 (static/js/receipt.js open) — 그림 + 공유·저장·닫기 */
  .rcptv { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; }
  .rcptv[hidden] { display: none; }
  .rcptv .bd { position: absolute; inset: 0; background: rgba(10, 20, 40, .55); }
  .rcptv .pn { position: relative; width: min(440px, calc(100vw - 20px)); max-height: calc(100vh - 32px); display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 12px 36px rgba(0, 0, 0, .35); }
  .rcptv .rimg { overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .rcptv .rimg img { display: block; width: 100%; height: auto; }
  .rcptv .rimg .rmore { position: sticky; bottom: 10px; display: block; margin: -44px auto 10px; padding: 7px 14px; border: 0; border-radius: var(--r-round); background: rgba(31, 58, 110, .92); color: #fff; font: inherit; font-size: 12.5px; font-weight: 700; box-shadow: 0 2px 8px rgba(0,0,0,.2); cursor: pointer; visibility: hidden; }
  .rcptv .rimg.more .rmore { visibility: visible; }
  .rcptv .rimg.more::after { content: ""; position: sticky; bottom: 0; display: block; height: 0; box-shadow: 0 -18px 18px 6px rgba(255,255,255,.85); pointer-events: none; }
  .rcptv .rbtn { display: flex; border-top: 1px solid var(--line); background: #39414f; }
  .rcptv .rbtn button { flex: 1; height: 50px; border: 0; background: transparent; color: #fff; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: 2px; cursor: pointer; }
  .rcptv .rbtn button + button { border-left: 1px solid rgba(255,255,255,.18); }
  .rcptv .rbtn button[hidden] { display: none; }
  .rcptv .rbtn .tx { letter-spacing: 0; }   /* 네 칸이 되면 '세금 계산' 이 좁은 폰에서 넘친다 */
  html.rcpt-open { overflow: hidden; }
  .rcptv .rnav { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px 0; border-top: 1px solid var(--line); background: #f7f8fa; }   /* 영수증 여러 장: ‹ 2/3 › */
  .rcptv .rnav[hidden] { display: none; }
  .rcptv .rtabs { display: flex; flex: none; background: #1f3a6e; padding: 8px 10px 0; gap: 4px; } .rcptv .rtabs[hidden] { display: none; }   /* 최고배당: 기본/고급 */
  .rcptv .rtabs button { flex: 1; height: 36px; border: 0; border-radius: 8px 8px 0 0; background: rgba(255,255,255,.14); color: #dbe6ff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
  .rcptv .rtabs button.on { background: #fff; color: var(--navy); }
  .rcptv .rnav button { width: 40px; height: 34px; border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: #fff; color: var(--navy); font-size: 20px; line-height: 1; cursor: pointer; }
  .rcptv .rnav button:disabled { color: var(--line-strong); cursor: default; }
  .rcptv .rnav .rpos { min-width: 44px; text-align: center; font-size: 14px; font-weight: 700; color: var(--text-2); font-variant-numeric: tabular-nums; }
  /* 세금 계산 (참고용) — 영수증 그림과 버튼 줄 사이에 펼친다 */
  .rcptv .rtax { flex: none; max-height: 42vh; overflow-y: auto; padding: 12px 14px 14px; border-top: 1px solid var(--line); background: #f7f8fa; color: var(--text); }
  .rcptv .rtax[hidden] { display: none; }
  .rcptv .rtax > b { display: block; margin-bottom: 8px; font-size: 14px; color: var(--navy); }
  .rcptv .rtax small { font-weight: 500; font-size: 11px; color: var(--muted); }
  .rcptv .rtax > b small { display: block; margin-top: 2px; }
  .rcptv .rtax .tr { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px dashed var(--line); font-size: 13px; color: var(--text-3); }
  .rcptv .rtax .tr b { flex: none; font-size: 14px; font-variant-numeric: tabular-nums; }
  .rcptv .rtax .tr.net { margin-top: 4px; padding-top: 8px; border-bottom: 0; border-top: 2px solid var(--line-strong); }
  .rcptv .rtax .tr.net:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }   /* 비과세는 이 줄 하나뿐이라 제목 밑에 굵은 선만 남는다 */
  .rcptv .rtax .tr.net b { font-size: 17px; color: var(--navy); }
  .rcptv .rtax .why { margin: 4px 0 2px; padding: 6px 8px; border-radius: var(--r-sm); background: #eef1f6; font-size: 11.5px; line-height: 1.55; color: var(--text-3); }
  .rcptv .rtax .tr em { font-style: normal; font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: var(--r-pill); background: #e4eefb; color: var(--navy); }
  .rcptv .rtax .q { padding: 0 1px; border: 0; background: none; color: var(--line-strong); font-size: 13px; line-height: 1; vertical-align: -1px; cursor: pointer; }
  .rcptv .rtax .q:hover { color: var(--navy); }
  @media (max-width: 700px) { .tabs.n8 a { font-size: 13px; letter-spacing: -.5px; padding: 8px 0; } }   /* 탭 8칸(PS·결산 함께): 390px 폰에서 '내예측'이 잘리던 것 (10/13) */
  @media (max-width: 380px) { .tabs.n8 a { font-size: 12px; letter-spacing: -.6px; } }
