/* 🪪 pcard.css — bwrep 선수 카드 (b970: root.html 에서 떼어낸 한 벌 · root 와 뷰어가 같이 씁니다) */
  .gbtn{display:inline-block;border:1px solid #2e6a90;border-radius:2px;background:rgba(10,30,45,.5);
    color:#7fd4ff;font:inherit;font-size:11.5px;padding:2px 9px;white-space:nowrap;cursor:pointer;
    text-decoration:none;line-height:1.6}
  .gbtn:hover{border-color:#5aa8e0;color:#bfe8ff}
  .gbtn.bo{border-color:#6a5420;color:#e8c34a;background:rgba(40,32,8,.5)}
  /* 🎬 b943 — 재생 단추: bwrep 로고 + 흰 글씨, 어두운 테 (정님: "C안 로고 + 흰색 글씨로") */
  .gbtn.play{border-color:#1f2b36;background:#0f1317;color:#e3e7ea}
  .gbtn.play:hover{border-color:#58a6ff;color:#fff}
  .gbtn .pic{width:13px;height:13px;display:inline-block;vertical-align:-2px;margin-right:5px}
  /* 📋 b949 — 세트: 재생 · 리포트 · 🔗 셋이 같은 틀(어두운 바탕 · 같은 테 · 흰 글씨), 아이콘만 제 색 (정님 확정 A안) */
  .gbtn.set{border-color:#1f2b36;background:#0f1317;color:#e3e7ea}
  .gbtn.set:hover{border-color:#58a6ff;color:#fff}
  .gbtn.set.bo:hover{border-color:#b89a2a}
  .gbtn.set.lk{padding-left:8px;padding-right:8px}
  .gbtn.set.off{opacity:.45;pointer-events:none}
  .gbtn.all{border-color:#3a352e;color:#9a958c;background:transparent}
  /* 📋 b889 — 리포트 받아오기 (정님: "원하는 경우 수동으로 볼 수 있게").
       아직 없다는 뜻으로 **점선** · 금색 리포트와 헷갈리지 않게 회색으로 둡니다. */
  .gbtn.boget{border:1px dashed #4a443a;color:#8a857c;background:transparent}
  .gbtn.boget:hover{border-color:#8a7a52;color:#d9c07a;border-style:solid}
  .gbtn.bowait{border:1px solid #3a4a5a;color:#7f9ab0;background:rgba(10,24,36,.5);cursor:default;
    display:inline-flex;align-items:center;gap:6px}
  .gbtn.bowait .spin{width:8px;height:8px;border-radius:50%;background:#5aa8e0;flex:none;
    animation:bopulse .9s ease-in-out infinite}
  @keyframes bopulse{0%,100%{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}
  .gbtn.bo.fresh{animation:bofl 1.5s ease}     /* 갓 나온 판이 어느 줄인지 한 번 반짝 */
  @keyframes bofl{0%{box-shadow:0 0 0 0 rgba(232,195,74,.55)}100%{box-shadow:0 0 0 9px rgba(232,195,74,0)}}
  .gbtn.bofail{border:1px solid #55302c;color:#f0a08e;background:rgba(26,14,12,.5)}
  @media(max-width:900px){ .gpane{grid-template-columns:1fr;padding-left:14px}
    .gpsub,.gpth{grid-column:1} .gfootline{padding-left:14px} }
  /* 📋 b863 — 눌러서 복사 (배틀태그·아이디) */
  .txt.cp{cursor:pointer;border-radius:4px;padding:1px 4px;margin:-1px -4px;transition:background .12s}
  .txt.cp:hover{background:#12202e}
  .txt.cp:hover b{text-decoration:underline;text-underline-offset:2px}
  .txt.cp.done{background:#123021}
  .txt.cp.done b{color:#8fe0ab!important;text-decoration:none}
  .cptip{position:fixed;z-index:var(--pc-z2,90);background:#123021;border:1px solid #2c5c3c;color:#a9e0bf;
    border-radius:7px;padding:5px 11px;font-size:12px;font-weight:700;pointer-events:none;
    opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
  .cptip.on{opacity:1;transform:translateY(0)}

  #pcmask{position:fixed;inset:0;background:rgba(3,5,8,.72);backdrop-filter:blur(2px);
    display:none;align-items:center;justify-content:center;z-index:var(--pc-z,80);padding:20px}
  #pcmask.on{display:flex}
  /* 🪟 b931 — 카드 크기 고정(1220 × 860, 화면이 작으면 화면에 맞춤). 머리·탭은 붙어 있고 .pcbody 만 스크롤 */
  .pcard{width:min(1220px,100%);height:min(860px,100vh - 40px);display:flex;flex-direction:column;overflow:hidden;
    background:#14181c;border:1px solid #2a3138;border-radius:3px;color:#e3e7ea;position:relative;
    font:13px/1.5 'Pretendard',"Segoe UI","Malgun Gothic",sans-serif;font-variant-numeric:tabular-nums}
  .pch,.pctabs{flex:none}
  /* 불러오는 동안 — 가운데 고리 하나 (정님 B안) */
  .pcbody.ldc{display:flex;align-items:center;justify-content:center}
  .pcard .ld{display:flex;flex-direction:column;align-items:center;gap:16px;color:#8d949b;font-size:12.5px;letter-spacing:.02em}
  .pcard .ring{width:48px;height:48px;border-radius:50%;border:2px solid #2a3138;border-top-color:#8fd14f;animation:pcspin .9s linear infinite}
  @keyframes pcspin{to{transform:rotate(360deg)}}
  /* 🔄 b935 — 새로고침 중: 단추 안 작은 고리 · 탭 밑 흐르는 줄 · 몸통 반투명 · 끝나면 페이드 */
  .pcb button{display:inline-flex;align-items:center;gap:7px}
  .pcb .mini{display:none;width:12px;height:12px;border-radius:50%;border:1.5px solid #3d6a2a;border-top-color:#8fd14f;animation:pcspin .8s linear infinite}
  /* b944 — 고리는 **누른 단추에만** (정님: "새로고침을 누르면 리플레이 불러오기까지 같이 돈다") */
  .pcard.busy .pcb [data-act="fill"] .mini{display:inline-block}
  .pcard.busy .pcb [data-act="fill"]{color:#6fbf4a;pointer-events:none}
  .pcard.busy .pcbody{opacity:.45;pointer-events:none;transition:opacity .3s}
  .pctabs{position:relative}
  .pcard.busy .pctabs::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;
    background:linear-gradient(90deg,transparent 0,transparent 30%,#8fd14f 50%,transparent 70%,transparent 100%);
    background-size:50% 100%;background-repeat:no-repeat;animation:pcsweep 1.4s ease-in-out infinite}
  @keyframes pcsweep{0%{background-position:-60% 0}100%{background-position:160% 0}}
  .pcard.fresh .pcbody{animation:pcfade .25s ease-out}
  @keyframes pcfade{from{opacity:0}to{opacity:1}}
  /* 🪪 b941 — 머리는 SC:R 프로필 그대로: 사진은 테두리·바탕 없이 그냥 사진, 이름 크게, 배틀태그 그 밑
       (정님: "프로필 사진에 각 마크의 색이 묻어 있어 … SC:R 고증 그대로 살려줘. 글씨 크기도 좀더 키워도") */
  .pch{display:flex;align-items:flex-start;gap:20px;padding:22px 26px 0}
  .pch .bav{width:72px;height:72px;flex:none;background:#0d1114;display:flex;align-items:center;justify-content:center;
    font-size:26px;color:#3a434c;overflow:hidden}
  .pch .bav img{width:100%;height:100%;object-fit:cover;display:block}
  .pch .who{flex:1 1 auto;min-width:0;padding-top:4px}
  .pch .who b{display:block;font:400 27px/1.25 'Michroma','Pretendard',"Segoe UI",sans-serif;
    letter-spacing:.05em;color:#eef1f3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pch .who s{display:block;text-decoration:none;font-size:14px;color:#8d949b;margin-top:5px}
  /* 📋 b1007 — 복사 손잡이는 **글자 폭만큼만** (정님: 한참 오른쪽을 눌러도 복사됐다 — block 이라 줄 전체 604px 가 손잡이였습니다). 말줄임은 max-width 로 그대로 */
  .pch .who b,.pch .who s{width:fit-content;max-width:100%}
  /* 🕐 b1110 — 배틀태그 줄: 배틀태그 + 오른쪽에 「등급전 N분 전 · 공방 N분 전」 (목업 recent1110 ㄴ안 · pcard.js pcLastHtml).
       배틀태그(복사 손잡이)와 18px · 두 묶음 사이 32px · 라벨 회색 · 값 밝게 · 10분 안 흰색. 좁으면 배틀태그 밑 줄로 내려갑니다 (flex-wrap) */
  .pch .who .tagln{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 18px;margin-top:5px;min-width:0}
  .pch .who .tagln s{margin-top:0;min-width:0}
  .pch .who .lastg{display:inline-flex;align-items:center;gap:32px;font-size:13px;color:#8d949b;white-space:nowrap}
  .pch .who .lastg > span{display:inline-flex;align-items:center;gap:7px}
  .pch .who .lastg i{font-style:normal;color:#cfd5da}
  .pch .who .lastg i.hot{color:#fff}
  .pch .who .lastg i.lgspin{width:12px;height:12px;box-sizing:border-box;border-radius:50%;border:1.5px solid #3d6a2a;border-top-color:#8fd14f;animation:pcspin .8s linear infinite}   /* 새로고침 단추의 .mini 와 같은 고리 */
  /* 🕐 b1112 — 「최근 아이디 Test005 5분 전 >」 (목업 recentid1112 ㄴ 가 · 배틀태그 줄 끝) — 누르면 그 계정 카드. 「공방 28분 전」 과 글자 사이 32px (최근 경기 묶음 사이와 같게) */
  .pch .who .lastid{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#8d949b;white-space:nowrap;cursor:pointer;position:relative;padding:2px 3px 2px 6px;margin:-2px -3px -2px 8px;border-radius:2px}
  .pch .who .lastid .lidn{color:#e6edf3;font-weight:500}
  .pch .who .lastid .lidt{color:#cfd5da}
  .pch .who .lastid .lidt.hot{color:#fff}
  .pch .who .lastid .go{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#6b747d}
  .pch .who .lastid .go svg{width:14px;height:14px;display:block}
  @media (hover:hover){ .pch .who .lastid:hover{background:#0d1410;box-shadow:inset 0 0 0 1px #4b7a3a} .pch .who .lastid:hover .go{color:#8fd14f} }   /* 다른 계정 줄과 같은 초록 네모칸 */
  /* 🪪 b1107 — 아이디 줄: 아이디 + 「내 아이디로 등록」 글자 / 금색 꼬리표 「내 아이디」 (목업 final1107). 아이디 옆이지 배틀태그 옆이 아닙니다 — 등록이 아이디 단위라서 */
  .pch .who{position:relative}
  .pch .who .idl{display:flex;align-items:baseline;gap:14px;min-width:0}
  .pch .who .idl b{flex:0 1 auto;min-width:0}   /* 긴 아이디는 줄임표 · 글자는 늘 보이게 */
  .pch .who a.mreg{color:#58a6ff;font-size:12.5px;cursor:pointer;text-decoration:none;white-space:nowrap;flex:none}
  .pch .who a.mreg:hover,.pch .who a.mreg.op{color:#e6edf3}
  .pch .who i.tag.mreg{font-style:normal;flex:none;font-size:10.5px;font-weight:700;letter-spacing:.5px;color:#e8c34a;border:1px solid #7a6320;background:#1e1a10;border-radius:2px;padding:0 6px;line-height:16px;cursor:pointer;position:relative;top:-4px}
  /* 등록 판 — 창의 공유 판(.shpan)과 같은 결: 어두운 상자 · 가는 테 · 그림자 · 위에 작은 꼭지. 아이디 줄 바로 밑 */
  .pch .who .mpop{position:absolute;left:0;top:calc(100% + 10px);width:440px;max-width:calc(100vw - 40px);box-sizing:border-box;background:#0f1317;border:1px solid #2a3138;border-radius:3px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:6;cursor:default;text-align:left}
  .pch .who .mpop::before{content:'';position:absolute;left:24px;top:-6px;width:10px;height:10px;background:#0f1317;border-left:1px solid #2a3138;border-top:1px solid #2a3138;transform:rotate(45deg)}
  .pch .who .mpop.sm{width:300px}
  .pch .who .mpop h5{margin:0 0 9px;font-size:12px;font-weight:500;color:#8d949b;letter-spacing:.3px}
  .pch .who .mpop img.pv{display:block;width:100%;border:1px solid #23262b;border-radius:2px;background:#0a0b0d;box-sizing:border-box}
  .pch .who .mpop p{margin:10px 0 0;font-size:12.5px;line-height:1.6;color:#cfd5da;white-space:normal}
  .pch .who .mpop p.dim{color:#8d949b}
  .pch .who .mpop b{display:inline;width:auto;font:inherit;font-weight:600;color:#fff;letter-spacing:0;white-space:normal}
  .pch .who .mpop .rw{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
  .pch .who .mpop .rw button{background:#0f1317;border:1px solid #2a3138;border-radius:2px;color:#cfd5da;font:inherit;font-size:13px;padding:7px 16px;cursor:pointer}
  .pch .who .mpop .rw button:hover{border-color:#58a6ff;color:#fff}
  .pch .who .mpop .rw button.go{border-color:#7a6320;color:#e8c34a;background:#1e1a10}
  .pch .who .mpop .rw button.lg{border-color:#2f5a2a;color:#8fd14f;background:#0f1a0f}
  .pcb{display:flex;gap:8px;flex:none}
  /* SC:R 고증 — 붉은 테 · 초록 글씨 (b970 에서 회색으로 바꿨던 것을 되돌렸습니다 · 정님: "관리자 페이지서 보던거랑 느낌이 달라") */
  .pcb button{background:#1a0f0f;border:1px solid #a03a30;color:#8fd14f;border-radius:3px;
    padding:8px 18px;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}
  .pcb button:hover{border-color:#c9503f;color:#a8e86a}
  /* ⭐♥ b941 — 즐겨찾기(본인만) · 좋아요(누른 사람 수) 작은 단추 둘 */
  .pcb button.sq{padding:8px 12px;background:#0f1317;border-color:#2a3138;color:#cfd5da}
  .pcb button.sq:hover{border-color:#3a434c}
  .pcb button.sq em{font-style:normal;font-size:13px;margin-left:4px}
  .pcb button.sq.on{border-color:#7a6320;background:#1e1a10}
  .pcb button.sq.liked{color:#ff8a80}
  .pcb button.sq + .rep{margin-left:8px}
  /* 🔗 b1071 — 선수 카드 링크 단추. ⭐♥ 와 같은 작은 네모(sq)를 그대로 쓰고 그림만 가운데에 놓습니다 */
  .pcb button.sq.idlk{padding:0;width:34px;justify-content:center}
  .pcb button.sq.idlk svg{display:block}
  .pcb button.sq.idlk:hover{border-color:#58a6ff;color:#fff}
  .pcb button.sq.idlk.done{border-color:#2c5c3c;color:#8fe0ab}   /* 복사된 순간 (다른 복사 자리와 같은 초록) */
  /* 탭 — 이름 바로 밑 */
  .pctabs{display:flex;gap:38px;padding:14px 26px 0;border-bottom:1px solid #2a3138}
  .pctab{padding:6px 2px 11px;color:#6fbf4a;font-size:17px;font-weight:600;cursor:pointer;
    border-bottom:2px solid transparent;margin-bottom:-1px;user-select:none}   /* SC:R 초록 · 굵게 (정님) */
  .pctab.on{color:#8fd14f;border-bottom-color:#8fd14f}
  .pcbody{padding:0;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
  /* 머리 6칸 — 상세 탭 맨 위. 라벨 위, 값 아래, 그 둘만. */
  .pcard .hero{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:20px 24px 18px;
    border-bottom:1px solid #2a3138}
  .pcard .hero > div{min-width:0}
  .pcard .hero s{display:block;text-decoration:none;color:#8d949b;font-size:12px}
  .pcard .hero b{display:block;font-weight:500;font-size:23px;line-height:1.3;letter-spacing:-.01em;
    color:#e3e7ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .hero b em{font-style:normal;font-weight:400;font-size:14px;color:#8d949b;margin-left:3px}
  .pcard .hero b.rz{color:#b96ee8} .pcard .hero b.rp{color:#e8c34a} .pcard .hero b.rt{color:#5aa8e0}
  .pcard .hero .s2{font-size:12px;color:#8d949b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* 띠 = 제목 줄 + 안쪽. 띠 사이는 가는 줄 하나. */
  .pcard .band{border-bottom:1px solid #2a3138}
  .pcard .cols{display:grid;grid-template-columns:1fr 1fr}
  .pcard .cols.three{grid-template-columns:1fr 1fr 1fr}
  .pcard .col{padding:4px 24px 16px;min-width:0}
  .pcard .col + .col{border-left:1px solid #2a3138}
  .pcard h4{margin:16px 0 6px;font-size:12px;font-weight:400;color:#8d949b;display:flex;
    justify-content:space-between;align-items:baseline}
  .pcard h4:first-child{margin-top:14px}
  .pcard h4 span{font-size:11.5px;color:#5d656d}
  /* 승률 줄 — 이름, 막대 하나, 승률, 승패. 막대 색은 하나. */
  .pcard .r{display:grid;grid-template-columns:118px 1fr 44px 78px;gap:10px;align-items:center;padding:4px 0}
  .pcard .r .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* 막대 — 뷰어(index.html)에 .b 단추 규칙(테두리·padding 6px 14px)이 있어 안쪽 높이가 0 이 되던 것 (정님 제보 b975): 여기서 다 정합니다 */
  .pcard .r .b{height:6px;background:#1d2329;padding:0;border:0;border-radius:0;box-sizing:content-box;overflow:hidden}
  .pcard .r .b i{display:block;height:100%;background:#4a6a86;position:static;font-style:normal}
  .pcard .r .v{text-align:right}
  .pcard .r .w{text-align:right;color:#8d949b;font-size:12px}
  /* 표본이 제일 많은 줄만 조금 밝게 (b928 — 정님: "흐리는 것은 없애고") */
  .pcard .r.top .n,.pcard .r.top .v{color:#fff;font-weight:500}
  .pcard .r.top .b i{background:#6b93b8}
  .pcard .wide .r{grid-template-columns:150px 1fr 44px 78px}
  /* 표 — 화면의 sticky 머리글을 여기서는 끕니다 */
  .pcard table{width:100%;border-collapse:collapse;font-size:13px}
  .pcard th{font-weight:400;color:#8d949b;font-size:12px;text-align:right;padding:4px 6px;
    border-bottom:1px solid #2a3138;position:static;background:transparent}
  .pcard th:first-child{text-align:left;padding-left:0}
  .pcard td{padding:6px 6px;text-align:right;border-bottom:1px solid #1d2329;line-height:1.25}
  .pcard td:first-child{text-align:left;padding-left:0}
  .pcard tr:last-child td{border-bottom:0}
  .pcard td small{display:block;color:#8d949b;font-size:11px}
  .pcard tr.top td{color:#fff;font-weight:500}
  .pcard td.none{color:#3a4148} .pcard td.dim{color:#8d949b}
  .pcard .empty{color:#8d949b;padding:6px 0;text-align:left;font-size:13px}
  .pcard .pempty{font-size:13px;color:#8d949b;padding:24px;text-align:center}
  /* 리포트 */
  .pcard .kv{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;padding-top:3px}
  .pcard .kv s{text-decoration:none;color:#8d949b}
  .pcard .kv div{text-align:right}
  .pcard .kv div small{color:#8d949b;font-size:11px;margin-left:5px}
  .pcard .hk{display:grid;grid-template-columns:14px 1fr 52px;gap:10px;align-items:center;padding:2px 0}
  .pcard .hk .g{color:#8d949b;text-align:center}
  .pcard .hk .b{height:6px;background:#1d2329;padding:0;border:0;border-radius:0;box-sizing:content-box;overflow:hidden}   /* b985 — .r .b 와 같은 사정: 뷰어의 .b 단추 규칙에 눌려 막대 안쪽 높이가 0 (정님 제보) */
  .pcard .hk .b i{display:block;height:100%;background:#4a6a86;position:static;font-style:normal}
  .pcard .hk .c{text-align:right;font-size:12px}
  /* 🧬 내 종족·매치업 토글 — 📋 리포트 화면의 착공·완성 토글(.botm)과 같은 모양 (b931) */
  .pcard .rephd{display:flex;align-items:center;gap:10px;padding:14px 24px 0;flex-wrap:wrap}
  .pcard .rephd .lb{color:#8d949b;font-size:12px}
  .pcard .rephd .lb + .botm{margin-right:14px}
  .pcard .botm{display:inline-flex;gap:2px;background:#10151c;border:1px solid #2a3140;border-radius:8px;padding:2px;margin-left:0}   /* margin-left:0 — 뷰어의 .botm{margin-left:auto} 가 내 종족 토글을 매치업 옆으로 밀었습니다 (정님 제보 b977) */
  .pcard .botm span{padding:3px 10px;border-radius:6px;color:#8b949e;font-size:11.5px;font-weight:700;cursor:pointer;user-select:none}
  .pcard .botm span:hover{color:#e6edf3}
  .pcard .botm span.on{background:#2b2517;color:#e8c341}
  .pcard .botm span em{font-style:normal;font-weight:400;color:#6b7480;margin-left:5px;font-size:11px}
  .pcard .botm span.on em{color:#b09a4a}
  /* 빌드 칩 — 뷰어(index.html)의 .t2bi 그대로: 54×76, 배지줄 · 그림 · 시각 (b930) */
  .pcard .tiles{display:grid;grid-template-columns:repeat(auto-fill,54px);gap:12px 6px;justify-content:start;margin:8px 0 4px}
  .pcard .t2bi{box-sizing:border-box;width:54px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;
    background:#1a2029;border:1px solid #333d50;border-radius:8px;padding:3px 4px 2px;position:relative}
  .pcard .t2bi .hd{display:flex;justify-content:space-between;align-items:center;width:100%;height:15px}
  .pcard .t2bi .sup{background:#0d1117;border:1px solid #3d4a63;border-radius:5px;font:800 10.5px/14px Consolas,ui-monospace,monospace;padding:0 3px;color:#e6edf3}
  .pcard .t2bi .cnt{background:#0d2947;border:1px solid #2e6cb0;border-radius:5px;font:800 10.5px/14px Consolas,ui-monospace,monospace;padding:0 3px;color:#9fd4ff}
  .pcard .t2bi .lv{background:#2b2517;border:1px solid #7a6320;border-radius:5px;font:800 10.5px/14px Consolas,ui-monospace,monospace;padding:0 3px;color:#e8c341}
  .pcard .t2bi .ibox{width:38px;height:34px;display:grid;place-items:center}
  .pcard .t2bi .tm{font-size:11px;line-height:13px;color:#8b949e}
  .pcard .t2bi.up{border-color:#7a6320;background:#1e1a10}
  .pcard .t2bi.ovi{border-color:#6b4a8a;background:#1a1224} .pcard .t2bi.ovi .tm{color:#c9a6ea}
  .pcard .boic{width:30px;height:30px;object-fit:contain;display:block}
  .pcard .boic.bld{position:relative;width:38px;height:34px}
  .pcard .boic.bld img{width:100%;height:100%;object-fit:contain;display:block}
  .pcard .boic.bld i{position:absolute;inset:0;background:#9aa4b2;pointer-events:none;
    -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    -webkit-mask-position:center;mask-position:center}
  /* 최근 경기 · MMR 변동 · 시즌 */
  .pcard svg.mmc{display:block;width:100%;height:150px;margin-top:4px;overflow:visible}
  .pcard svg.mmc .gd line{stroke:#2a3138;stroke-width:1;vector-effect:non-scaling-stroke}
  .pcard svg.mmc .gd text{fill:#8d949b;font-size:11px}
  .pcard svg.mmc .tk{fill:#5d656d;font-size:11px;text-anchor:middle}
  .pcard svg.mmc .dt circle{fill:#14181c;stroke:#8d949b;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:default}
  .pcard svg.mmc .dt circle.w{stroke:#44ab24;fill:#1f3512}
  .pcard svg.mmc .dt circle.l{stroke:#ff0000;fill:#431316}   /* 🎨 b1087 — 승패 색은 모두 기록 탭의 SC:R 실측색 (#44ab24 · #ff0000) · 진 판 점도 패 색 (정님 ㄴ안) · 결과를 모르는 판(.d)은 회색 그대로 */
  .pcard svg.mmc .dt circle.last{fill:#8d949b;stroke:#8d949b}.pcard svg.mmc .dt circle.w.last{fill:#44ab24;stroke:#44ab24}.pcard svg.mmc .dt circle.l.last{fill:#ff0000;stroke:#ff0000}   /* 끝 점 = 그 판 결과 색 (예전엔 진 판도 초록으로 채움) */
  .pcard svg.mmc .dt circle:hover{stroke-width:2.5}
  /* 📈 b946 — 점에 손을 올리면 그 판 (정님: "마우스를 올리면 그때그때 점수를 보여줄 수 없어?")
       점마다 보이지 않는 넓은 원(.hit)이 뒤에 있어 정확히 안 맞춰도 잡힙니다. 말풍선은 표 위에 HTML 로. */
  .pcard .mmwrap{position:relative}
  .pcard svg.mmc .dt circle.hit{fill:transparent;stroke:none;cursor:pointer}
  .pcard svg.mmc .dt circle.on{stroke-width:2.5;r:5}
  .pcard svg.mmc .hl{stroke:#3a434c;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 3}
  .pcard .mmtip{position:absolute;pointer-events:none;z-index:2;background:#0f1317;border:1px solid #2a3138;border-radius:3px;
    padding:6px 10px;font-size:12px;line-height:1.5;color:#cfd5da;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.4);display:none}
  .pcard .mmtip.on{display:block}
  .pcard .mmtip b{display:block;font-size:16px;font-weight:500;color:#fff;letter-spacing:-.01em}
  .pcard .mmtip b i{font-style:normal;font-size:12px;font-weight:400;margin-left:6px}
  .pcard .mmtip b i.plus{color:#44ab24}.pcard .mmtip b i.minus{color:#ff0000}   /* (up/dn 이 아닌 이유: .dn 은 도넛 클래스) */
  .pcard .mmtip .w{color:#44ab24}.pcard .mmtip .l{color:#ff0000}.pcard .mmtip .d{color:#8d949b}
  .pcard svg.mmc .now{fill:#e3e7ea;font-size:12px;font-weight:500;text-anchor:end}
  .pcard svg.mmc text{font-family:inherit}
  .pcard .mmv{display:flex;justify-content:space-between;color:#8d949b;font-size:12px;margin-top:8px}
  .pcard .mmv b{font-weight:500}.pcard .mmv b.plus{color:#44ab24}.pcard .mmv b.minus{color:#ff0000}   /* b975 — .dn 은 도넛 클래스(224px 상자)라 내려간 판은 -448 이 혼자 아래로 떨어졌습니다 (정님 제보) */
  /* 🎬 b940 — 리플레이 불러오기: 단추·탭 줄 상태·차오르는 밑줄 */
  .pcb button.rep{border-color:#2f5a2a}
  .pcb button:disabled{opacity:.4;cursor:not-allowed;border-color:#3a3138;color:#8d949b}   /* 🎬 b981 — 자료 없는 아이디의 불러오기 */
  .pcb button.sq.lock{opacity:.4;border-color:#3a3138;filter:grayscale(1)}                  /* ⭐ b989 — 비회원의 즐겨찾기 (눌리면 「회원만」 한 줄) */
  .pcard.pulling .pcb [data-act="pull"] .mini{display:inline-block}
  .pcard.pulling .pcb [data-act="pull"]{color:#e3e7ea;border-color:#8fd14f}
  /* 🎬 b1035 — 단추가 래더 기록 탭 위 줄로 갔습니다 (목업 pub1033 A안). 머리 단추 규칙(.pcb .rep)은 남겨 두지만 이제 안 씁니다 */
  .pcard .rtop button.rep{display:inline-flex;align-items:center;gap:7px;margin-left:14px;background:#1a0f0f;border:1px solid #2f5a2a;color:#8fd14f;border-radius:3px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap;flex:none}
  .pcard .rtop button.rep:hover{border-color:#c9503f;color:#a8e86a}
  .pcard .rtop button.rep:disabled{opacity:.4;cursor:not-allowed;border-color:#3a3138;color:#8d949b}
  .pcard .rtop button.rep .mini{display:none;width:12px;height:12px;border-radius:50%;border:1.5px solid #3d6a2a;border-top-color:#8fd14f;animation:pcspin .8s linear infinite}
  .pcard.pulling .rtop button.rep .mini{display:inline-block}
  .pcard.pulling .rtop button.rep{color:#e3e7ea;border-color:#8fd14f}
  .pcard .rtop.lad{position:relative}
  .pcard.pulling .rtop.lad::after{content:'';position:absolute;left:24px;bottom:0;height:2px;width:calc((100% - 48px) * var(--pg,0));background:#8fd14f;transition:width .6s ease}
  .pctabs .st{margin-left:auto;align-self:center;display:flex;align-items:baseline;gap:12px;font-size:12px;color:#8d949b;padding-bottom:4px}
  .pctabs .st b{font-weight:400;color:#8fd14f}
  .pctabs .st s{text-decoration:none;color:#5d656d;font-size:11.5px}
  /* 🏅 b983 — 등급 색은 SC:R 표 그대로: S 노랑 · A 빨강 · B 보라 · C 파랑 · D 하늘 · E 초록 · F 흰회색 (정님 제보: D·A 가 S 노랑으로 나왔습니다) */
  .pcard .t.S{color:#f0cf5a} .pcard .t.A{color:#ff6b6b} .pcard .t.B{color:#cd84f1}
  .pcard .t.C{color:#4a9eff} .pcard .t.D{color:#18dcff} .pcard .t.E{color:#7bed9f} .pcard .t.F{color:#dfe4ea}
  .pcard .last .rows .w{color:#44ab24}.pcard .last .rows .l{color:#ff0000}
  /* ══ 📋 b941 — 요약 탭 (목업 card941): SC:R 요약 배치 그대로 — 왼쪽 세로 한 칸 / 오른쪽 위 도넛 셋 · 아래 현재 시즌 · 최근 플레이 ══ */
  /* b942 — 왼쪽 칸을 300 으로 좁혀 오른쪽(시즌 표 · 최근 플레이 단추)에 자리를 줍니다 (정님: "1번 영역을 좀더 < 이쪽으로") */
  .pcard .lay{display:grid;grid-template-columns:300px 1fr;min-height:100%}
  .pcard .left{padding:6px 20px 22px;border-right:1px solid #2a3138;min-width:0}
  .pcard .right{display:flex;flex-direction:column;min-width:0}
  .pcard .right .rings{flex:none;border-bottom:1px solid #2a3138;padding:30px 20px 26px}
  .pcard .right .cols.half{flex:1 1 auto;grid-template-columns:1fr 1fr}
  .pcard .kv2{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;padding-top:8px}
  .pcard .kv2 s{display:block;text-decoration:none;color:#8d949b;font-size:12.5px;margin-bottom:2px}
  .pcard .kv2 b{display:block;font-weight:500;font-size:20px;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .kv2 b.rt{color:#5aa8e0}.pcard .kv2 b.rz{color:#b96ee8}.pcard .kv2 b.rp{color:#e8c34a}
  .pcard .kv2 b em{font-style:normal;font-weight:400;font-size:13px;color:#8d949b;margin-left:4px}
  .pcard .alt{display:grid;grid-template-columns:1fr 18px 40px 60px 20px;gap:6px;align-items:center;padding:5px 6px;margin:0 -6px;border-bottom:1px solid #1d2329;font-size:13.5px;position:relative;cursor:pointer}   /* 🧭 b1085 — 줄 끝 화살표 칸 · 줄 전체가 누르는 자리 (목업 alt1085b ㄱ + ①) · 🕐 b1112 서버 칸 자리에 최근 경기(60px) · 아이디 칸 약 98px */
  .pcard .alt:last-child{border-bottom:0}
  .pcard .alt .n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .alt .g{color:#8d949b;font-size:12px}
  .pcard .alt .t{font-weight:600;text-align:center}
  .pcard .alt .v{text-align:right;white-space:nowrap}
  .pcard .alt.off .n,.pcard .alt.off .v{color:#5d656d;font-size:12.5px}
  /* 🕐 b1112 — 최근 경기 칸 (10분 안 흰색 · 확인하는 동안 고리) · 서버가 이 카드와 다른 아이디만 이름 옆에 작게 */
  .pcard .alt .n .gwx{font-style:normal;color:#6b747d;font-size:11.5px;margin-left:7px}
  .pcard .alt .lst{display:flex;justify-content:flex-end;align-items:center;white-space:nowrap;color:#8d949b;font-size:12.5px}
  .pcard .alt .lst.hot{color:#fff}
  .pcard .alt .lst i.lgspin{display:inline-block;width:12px;height:12px;box-sizing:border-box;border-radius:50%;border:1.5px solid #3d6a2a;border-top-color:#8fd14f;animation:pcspin .8s linear infinite}
  /* 🧭 b1085 — 다른 계정 줄: 끝 화살표 · 손을 올리면 줄 전체 초록 네모칸 (이름 위에서는 테 없이 밑줄 = 복사).
       테는 ::after 한 겹 · 위아래 -1px 로 줄 밑선과 위 줄 밑선을 덮어 네 변이 같은 색 한 줄 (목업 alt1085b 더블체크) */
  .pcard .alt .go{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6b747d}
  .pcard .alt .go svg{width:15px;height:15px;display:block}
  .pcard .alt.off .go{color:#4a525a}
  @media (hover:hover){
    .pcard .alt:hover{background:#0d1410}
    .pcard .alt:hover::after{content:'';position:absolute;left:0;right:0;top:-1px;bottom:-1px;border:1px solid #4b7a3a;pointer-events:none}
    .pcard .alt:hover .go{color:#8fd14f}
    .pcard .alt:has(.n:hover){background:transparent}
    .pcard .alt:has(.n:hover)::after{display:none}
    .pcard .alt:has(.n:hover) .go{color:#6b747d}
    .pcard .alt.off:has(.n:hover) .go{color:#4a525a}
  }
  .pcard .more{display:block;text-align:right;margin-top:6px;color:#6fbf4a;font-size:12.5px;cursor:pointer;user-select:none}
  .pcard .more:hover{color:#8fd14f}
  /* 🍩 종족 고리 셋 — SC:R 요약 오른쪽 그대로 (저그 보라 · 테란 파랑 · 프로토스 금색), 가운데 것이 조금 큼 */
  .pcard .rings{display:flex;justify-content:space-around;align-items:center}
  .pcard .dn{position:relative;width:224px;height:224px;display:grid;place-items:center}
  .pcard .dn svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
  .pcard .dn circle{fill:none;stroke-width:7}
  .pcard .dn .tr{stroke:#1f262d}
  .pcard .dn .in{text-align:center;line-height:1.1}
  .pcard .dn .in s{display:block;text-decoration:none;font-size:17px;color:#cfd5da;margin-bottom:6px}
  .pcard .dn .in b{display:block;font-weight:500;font-size:46px;letter-spacing:-.02em;color:#f2f4f6}
  .pcard .dn .in i{display:block;font-style:normal;font-size:12.5px;color:#8d949b;margin-top:2px}
  .pcard .dn .in small{display:block;font-size:14px;color:#8d949b;margin-top:10px}
  .pcard .dn.big{width:250px;height:250px}
  .pcard .dn.big .in b{font-size:54px}
  .pcard .dn.z .fg{stroke:#a45ee0}.pcard .dn.t .fg{stroke:#2f7fe0}.pcard .dn.p .fg{stroke:#d9b13a}
  .pcard .dn.none .in b{color:#3a434c}
  /* 현재 시즌 — 등급 배지 + 네 칸 */
  .pcard .season{display:flex;align-items:center;gap:20px;padding-top:8px}
  .pcard .pcbody .gone{margin-top:10px;font-size:12px;color:#8d949b;border-top:1px solid #2a3138;padding-top:8px}   /* 📡 b998 — 지금 리더보드에 없음 (지웠거나 래더에서 빠진 아이디) · 🧺 b1089 — 카드 몸통(.pcbody)으로 좁힘: 래더 창도 .pcard 라 순위표의 「리더보드 없음」 줄 등급 칸(.rk.gone)이 이 규칙을 받아 10px 내려가고 줄이 58 → 68 로 벌어졌습니다 */
  .pcard .tier{width:84px;height:84px;flex:none;display:grid;place-items:center;border:2px solid #4a4a4a;background:#1c1c1c;
    font:500 48px/1 'Pretendard',"Segoe UI",sans-serif;color:#9a9a9a;letter-spacing:-.02em}
  /* 🏅 b983 — 등급 상자 색 (SC:R 표) — 예전엔 등급과 상관없이 S 노랑 하나였습니다 */
  .pcard .tier.S{border-color:#b89a2a;background:#2a2410;color:#f0cf5a}
  .pcard .tier.A{border-color:#c0564a;background:#2a1010;color:#ff6b6b}
  .pcard .tier.B{border-color:#8a6ac0;background:#221030;color:#cd84f1}
  .pcard .tier.C{border-color:#2f5f9a;background:#0c1a30;color:#4a9eff}
  .pcard .tier.D{border-color:#2a7a8a;background:#062226;color:#18dcff}
  .pcard .tier.E{border-color:#3a7a5a;background:#062b18;color:#7bed9f}
  .pcard .tier.F{border-color:#6a6a6a;background:#1c2022;color:#dfe4ea}
  .pcard .sgrid{display:grid;grid-template-columns:repeat(4,auto);gap:6px 18px;align-items:end;min-width:0}
  .pcard .sgrid s{display:block;text-decoration:none;color:#8d949b;font-size:12px;margin-bottom:2px;white-space:nowrap}
  .pcard .sgrid b{display:block;font-weight:500;font-size:24px;line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
  .pcard .sgrid b em{font-style:normal;font-weight:400;font-size:13px;color:#8d949b;margin-left:3px}
  .pcard .sgrid .sub{grid-column:1 / -1;font-size:12px;color:#8d949b;margin-top:2px;white-space:nowrap}
  /* 📜 시즌별 기록 — 시즌마다 한 줄, 여섯 줄 높이에서 멈추고 안에서 스크롤 (시즌이 10개를 넘어도 카드 모양이 안 바뀝니다) */
  .pcard .seashd{display:grid;grid-template-columns:52px 24px 48px 48px 84px 1fr;gap:8px;font-size:11px;color:#5d656d;margin-bottom:4px;white-space:nowrap}
  .pcard .seashd span{text-align:right}.pcard .seashd span:first-child{text-align:left}.pcard .seashd span:nth-child(2){text-align:center}
  .pcard .seas{max-height:200px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #2a3138;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#2a3138 transparent}
  .pcard .seas::-webkit-scrollbar{width:6px}.pcard .seas::-webkit-scrollbar-thumb{background:#2a3138;border-radius:3px}
  .pcard .seas .sr{padding-right:6px}
  .pcard .sr{display:grid;grid-template-columns:52px 24px 48px 48px 84px 1fr;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #1d2329;font-size:13px;white-space:nowrap}
  .pcard .sr span{text-align:right}.pcard .sr span:first-child{text-align:left}.pcard .sr .a{overflow:hidden;text-overflow:ellipsis}
  .pcard .sr small{color:#8d949b;font-size:11px;margin-left:2px}
  .pcard .sr .t{font-weight:600;text-align:center}
  .pcard .sr .d{color:#8d949b}.pcard .sr .wl{color:#cfd5da}.pcard .sr .a em{font-style:normal;color:#8d949b;font-size:12px}
  .pcard .sr.cur span{color:#fff;font-weight:500}.pcard .sr.cur .d,.pcard .sr.cur .a em{color:#8d949b;font-weight:400}
  /* 🗺 최근 플레이 — 미니맵(수집기가 올려 둔 그림) + 지도 이름 색 고증 */
  .pcard .last{display:grid;grid-template-columns:132px 1fr;gap:12px 18px;align-items:start;padding-top:8px}
  .pcard .last.nomm{grid-template-columns:1fr}
  .pcard .last .mm{width:132px;height:132px;object-fit:cover;display:block;border:1px solid #2a3138;background:#000}
  .pcard .last .mp{font-weight:500;font-size:21px;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .last .when{color:#8d949b;font-size:12.5px;margin-top:3px}
  .pcard .last .when b{font-weight:400;color:#cfd5da;margin-right:6px}
  .pcard .last .rows{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px;margin-top:8px;white-space:nowrap}
  .pcard .last .rows s{text-decoration:none;color:#8d949b}
  /* 📋 b942 — 아이디는 어디서든 눌러서 복사 (문서에 걸린 [data-cp] 처리기가 받습니다) · 최근 플레이에 극장 단추 */
  .pcard .cp{cursor:pointer}
  .pcard .cp:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
  /* b945 — 누르면 1.2초 동안 초록으로 (「복사됨」 말풍선과 같이). 말풍선은 카드 위에 뜨도록 z-index 90 (카드 80) */
  .pcard .cp.done,.pch .who .cp.done{color:#8fe0ab!important;text-decoration:none}
  .pch .who b.cp:hover,.pch .who s.cp:hover{color:#d8b96a}
  .pcard .last .btns{display:flex;gap:8px;margin-top:12px}
  .pcard .prev{margin-top:18px;border-top:1px solid #2a3138}
  .pcard .pr{display:grid;grid-template-columns:1fr 64px 22px 56px 58px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #1d2329;font-size:13px}
  .pcard .pr .gbtn{justify-self:end}
  .pcard .pr:last-child{border-bottom:0}
  .pcard .pr .m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .pr .w{color:#44ab24}.pcard .pr .l{color:#ff0000}.pcard .pr .d{color:#8d949b;text-align:right;white-space:nowrap}
  /* ══ 🎬 b949 — 기록 탭 (목업 card948): SC:R 「기록」 배치 — 왼쪽 경기 표 · 오른쪽 고른 경기 미리 보기 ══ */
  .pcard .rec{display:grid;grid-template-columns:1fr 400px;min-height:100%;align-items:start}
  .pcard .rlist{min-width:0;padding:0 0 18px;border-right:1px solid #2a3138;min-height:100%}
  /* 📌 b951 — 미리 보기는 **붙박이**(sticky): 표를 아래로 내려도 오른쪽은 그 자리에 따라옵니다. 스크롤은 하나뿐 (정님: "스크롤 2개는 허접") */
  .pcard .rside{position:sticky;top:0;padding:18px 24px 22px;min-width:0}
  .pcard .rtop{display:flex;align-items:center;gap:14px;padding:16px 24px 12px}
  .pcard .rtop h3{margin:0;font-size:16px;font-weight:500;color:#e3e7ea;margin-right:4px}
  /* SC:R 내림 단추 고증: 붉은 테, 금색 화살 (native select 를 그 모양으로) */
  .pcard .drop{position:relative;display:inline-block}
  .pcard .drop select{appearance:none;-webkit-appearance:none;background:#120c0c;border:1px solid #a03a30;border-radius:2px;color:#e8c34a;font:inherit;font-size:13px;padding:5px 30px 5px 12px;cursor:pointer;white-space:nowrap}
  .pcard .drop select:focus{outline:none;border-color:#c9503f}
  .pcard .drop select option{background:#14181c;color:#e3e7ea}   /* 펼친 목록 — 바탕이 투명이면 윈도 크롬이 흰 바탕에 흰 글씨로 그립니다 (정님 제보) */
  .pcard .drop::after{content:'';position:absolute;right:10px;top:50%;margin-top:-3px;border:6px solid transparent;border-top-color:#e8c34a;border-bottom:0;pointer-events:none}
  .pcard .rtop .cnt{margin-left:auto;font-size:12px;color:#5d656d;white-space:nowrap}
  .pcard .rt{width:100%;border-collapse:collapse;font-size:13.5px}
  .pcard .rt th{font-weight:400;color:#8d949b;font-size:12px;text-align:left;padding:6px 10px;border-bottom:1px solid #2a3138;white-space:nowrap;position:static;background:transparent}
  .pcard .rt td{padding:0 10px;height:38px;border-bottom:1px solid #1d2329;white-space:nowrap;vertical-align:middle;text-align:left;line-height:1.3}
  .pcard .rt th:first-child,.pcard .rt td:first-child{padding-left:24px}
  .pcard .rt th.ra,.pcard .rt td.ra{text-align:right}   /* (.r 은 상세의 승률 줄 클래스라 피합니다) */
  .pcard .rt tr.g{cursor:pointer}
  /* 초록 테 — b950 (정님 제보 둘):
       ① border 는 collapse 표에서 윗줄의 아랫선에 먹혀 **윗선이 안 보였습니다** → 칸 안쪽 그림자로 네 변을 그리고 바로 윗줄의 아랫선은 지웁니다
       ② SC:R 고증대로 테는 **손을 올린 줄을 따라 움직입니다**. 손이 표 밖으로 나가면 고른 줄로 돌아옵니다 (미리 보기는 눌러야 바뀝니다) */
  /* b958 (정님): 고른 줄은 **항상** 초록 테 — 손이 표 위에 있어도 무슨 경기를 골랐는지 보여야 합니다.
       손을 올린 줄은 어두운 초록 테로 따라다니고, 그 줄이 고른 줄이면 밝은 테 그대로입니다 */
  .pcard .rt tr.g:hover td,.pcard .rt tr.g.on td{--fc:#4b7a3a;background:#0f1a10;border-bottom-color:transparent;box-shadow:inset 0 1px 0 var(--fc),inset 0 -1px 0 var(--fc)}
  .pcard .rt tr.g:hover td:first-child,.pcard .rt tr.g.on td:first-child{box-shadow:inset 1px 0 0 var(--fc),inset 0 1px 0 var(--fc),inset 0 -1px 0 var(--fc)}
  .pcard .rt tr.g:hover td:last-child,.pcard .rt tr.g.on td:last-child{box-shadow:inset -1px 0 0 var(--fc),inset 0 1px 0 var(--fc),inset 0 -1px 0 var(--fc)}
  .pcard .rt tr.g.on td{--fc:#8fd14f}
  .pcard .rt tr.g:hover:not(.on) td{background:#0d1410}
  /* 📱 b1077 — 손가락으로 누르는 기기에서는 :hover 가 **눌렀던 줄에 그대로 남습니다.**
       그래서 진짜 고른 줄과 아까 누른 줄이 둘 다 초록 테두리로 보였습니다 (정님: "선택칸도 이상해").
       hover 가 없는 기기에서는 hover 꾸밈을 통째로 끕니다 — .on(진짜 고른 줄)만 남습니다. */
  @media (hover:none){
    .pcard .rt tr.g:hover:not(.on) td,
    .pcard .rt tr.g:hover:not(.on) td:first-child,
    .pcard .rt tr.g:hover:not(.on) td:last-child{background:transparent;box-shadow:none;border-bottom-color:#1d2329}
    .pcard .rt tr:has(+ tr.g:hover:not(.on)) td{border-bottom-color:#1d2329}
    .pcard .rt tr:has(+ tr.g:hover:not(.on)) th{border-bottom-color:#2a3138}
  }
  /* ★ b1078 고침 — th 도 같이 겨냥합니다 (정님 제보: "제일 위 칸의 윗줄이 보이지 않아").
       고른 줄 **바로 위** 줄의 밑선을 투명하게 해서 초록 윗선이 보이게 하는 규칙인데,
       td 만 겨냥해서 **첫 줄**에는 안 먹었습니다 — 첫 줄 위는 머리줄(th)이라서요.
       그래서 첫 줄만 초록 상자의 윗변이 회색(#2a3138)에 덮여 있었습니다. 폰·데스크탑 둘 다.
     ★ .rt 를 쓰는 표 전부(공방 기록 · 래더 기록 · 시즌)가 이 한 줄로 같이 고쳐집니다. */
  .pcard .rt tr:has(+ tr.g:hover) td,.pcard .rt tr:has(+ tr.g.on) td,
  .pcard .rt tr:has(+ tr.g:hover) th,.pcard .rt tr:has(+ tr.g.on) th{border-bottom-color:transparent}
  .pcard .rt .w{color:#44ab24}.pcard .rt .l{color:#ff0000}   /* 🎨 b1087 — 래더 기록 · 시즌 표의 승패도 기록 탭과 같은 SC:R 실측색 (예전 #8fd14f · #ff8a80 은 물빠져 보였음) */
  .pcard .rt .d{color:#8d949b}
  .pcard .rt .dl.plus{color:#44ab24}.pcard .rt .dl.minus{color:#ff0000}.pcard .rt .dl.no{color:#3a4148}   /* b975 — .dn 은 도넛 클래스와 겹쳐 칸이 224px 상자가 됐습니다 */
  /* ══ 📋 b963 — 고른 줄 아래 빌드 띠 (목업 bld963): 극장 「경기 간략히」 띠 그대로 — 부대지정 H 줄 · 종족 · 칩 한 줄 · [더보기] · [착공|완성].
       링크·재생·상세 타임라인 단추는 뺐습니다 (경기 미리 보기에 있음). 칩(.t2bi)·아이콘(pcIcon)은 상세 탭 「자주 쓰는 빌드」와 같은 것.
       자료는 dxbatch 가 붙여 올린 리포트 파일 그대로 (/root/strip → theater-link.repStrip) */
  .pcard .rt tr.bx td{padding:0;height:auto;white-space:normal;box-shadow:none;background:transparent}
  .pcard .rt tr.bx td .bxin{width:0;min-width:100%;box-sizing:border-box;padding:11px 24px 12px;background:#101418}   /* 칩 폭이 표를 넓히지 않게 */
  .pcard .bxin .t2strip{display:flex;align-items:center;gap:9px;margin:4px 0}
  .pcard .bxin .t2strip .who{width:16px;flex:none;font-size:13px;font-weight:900;text-align:center}
  .pcard .bxin .t2icons{display:flex;gap:6px;overflow:hidden;padding:9px 2px 2px;flex:1;min-width:0}
  .pcard .bxin .t2icons.all{display:grid;grid-template-columns:repeat(auto-fill,54px);gap:12px 6px}
  .pcard .bxin .t2bi{flex:none}
  .pcard .bxin .t2bi.cxl{border-color:#6b2f34;background:#221315} .pcard .bxin .t2bi.cxl .ibox{opacity:.55;filter:grayscale(.35)} .pcard .bxin .t2bi.cxl .tm{color:#c08a8a}
  .pcard .bxin .t2bi .xm{background:#2a1113;border:1px solid #6b2f34;border-radius:5px;font:800 11px/14px Consolas,ui-monospace,monospace;padding:0 3px;color:#ff8b8b}
  .pcard .bxin .t2bi .tm.cf{color:#7ee2a8;font-weight:700}
  .pcard .bxin .t2pblk + .t2pblk{border-top:1px solid #232a36;margin-top:12px;padding-top:4px}
  .pcard .bxin .hk2{display:flex;align-items:center;gap:8px;margin:6px 0 0}
  .pcard .bxin .hk2 .hkl{width:14px;flex:none;font-size:12px;color:#5b6a80;font-weight:900;text-align:center}
  .pcard .bxin .hk2 .hkcs{display:flex;gap:3px;flex-wrap:wrap;row-gap:20px;margin-bottom:17px}
  .pcard .bxin .hk2 .hkc{position:relative;min-width:24px;height:24px;border-radius:6px;border:1px solid #262d3a;background:#141a23;color:#3f4a5c;font-weight:900;font-size:11.5px;display:flex;align-items:center;justify-content:center}
  .pcard .bxin .hk2 .hkc.on{color:#f5d67a;background:rgba(232,195,65,calc(var(--w) * .30 + .07));border-color:rgba(232,195,65,calc(var(--w) * .55 + .30))}
  .pcard .bxin .hk2 .hkn{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font-size:9px;color:#5b6a80;font-weight:700;line-height:1.4}
  .pcard .bxin .hk2 .hkn.zero{color:#454f60}
  .pcard .bxin .t2exfoot{display:flex;justify-content:center;gap:8px;margin-top:9px;flex-wrap:wrap;align-items:center}
  .pcard .bxin .t2allb{background:#131a24;border:1px solid #3d4a63;color:#8fc9ff;border-radius:9px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
  .pcard .bxin .t2allb:hover{border-color:#4a9eff;background:#16202e}
  .pcard .bxin .t2cta{background:#241f12;border:1px solid #4d3f1e;color:#e8c341;border-radius:9px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}   /* 📋 b976 — 상세 보기 (옛 극장 띠의 금색 단추 그대로) */
  .pcard .bxin .t2cta:hover{border-color:#e8c341;background:#2b2517}
  .pcard .pub .bxin .empty{display:flex;align-items:center}   /* 📋 b1095 — 「기록」 탭 띠: 고리와 글자 한 줄 */
  .pcard .bxin .empty .ring{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #2a3138;border-top-color:#58a6ff;animation:pcspin .9s linear infinite;vertical-align:-3px;margin-right:9px;flex:none}   /* 📋 b1095 — 리포트 뽑는 중 · 리플 받는 중 */
  .pcard .bxin .t2exfoot.one{justify-content:flex-start;margin-top:8px}   /* 📋 b1095 — 단추 하나뿐인 발(리포트 만들기)은 왼쪽 */
  .pcard .bxin .t2phd .pos{display:inline-block;padding:0 7px;border-radius:99px;background:#1c2637;border:1px solid #2c3e5d;color:#c9dcf5;font-size:11px;font-weight:700;line-height:14px;white-space:nowrap}   /* 📋 b1096 — 시작 자리 알약 (뷰어 .rs-pos 와 같은 모양 · 머리 줄 높이는 그대로) */
  .pcard .mapbox .mpw{position:relative;display:block;line-height:0}   /* 📋 b1096 ㄷ — 지도 그림 위 시작 자리 점 (pcard.js pcPubPins) */
  .pcard .mapbox .mpw i{position:absolute;width:9px;height:9px;border-radius:50%;border:1.5px solid #0b0e12;box-shadow:0 0 0 1px rgba(255,255,255,.25);transform:translate(-50%,-50%);z-index:1}
  .pcard .bxin .empty{padding:8px 0;color:#5d656d;font-size:12px}
  .pcard .bxin .t2phd{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:12.5px}
  .pcard .bxin .t2phd .dot{width:10px;height:10px;border-radius:3px;flex:none}
  .pcard .bxin .t2phd b{font-weight:800}
  .pcard .bxin .t2phd .cnt{color:#5b6a80;font-size:11.5px}
  .pcard .bxin .hk2 .hkc.on{cursor:pointer} .pcard .bxin .hk2 .hkc.on:hover,.pcard .bxin .hk2 .hkc.on.pin{border-color:#f5d67a;background:#2e2716}
  /* 부대지정 창 (b964) — 극장 #hkPop 그대로: 번호에 올리면 언제 무엇을 지정했는지. 카드(80) 위 */
  #pcHkPop{position:fixed;z-index:var(--pc-z2,95);display:none;background:#0f141c;border:1px solid #3d4a63;border-radius:10px;box-shadow:0 12px 34px #000b;padding:9px 4px 9px 10px;max-height:60vh;overflow:auto;min-width:230px;font-size:12px;color:#e3e7ea}
  #pcHkPop h5{margin:0 0 7px;font-size:12px;color:#f5d67a;font-weight:800;padding-right:10px}
  #pcHkPop h5 s{color:#5b6a80;font-weight:400;text-decoration:none;margin-left:6px}
  #pcHkPop .hkr{display:flex;align-items:center;gap:7px;padding:2px 10px 2px 0;white-space:nowrap}
  #pcHkPop .hkr .t{color:#8b949e;font-variant-numeric:tabular-nums;width:52px;flex:none;text-align:right}
  /* b966 — 창은 body 에 붙어 .pcard 의 .boic 규칙이 안 먹습니다. 여기서 크기·마스크를 다시 줍니다 (건물 그림이 원본 크기로 튀어나와 줄이 겹쳤습니다 · 정님) */
  #pcHkPop .hkr .i{width:26px;height:22px;flex:none;display:grid;place-items:center;overflow:hidden}
  #pcHkPop .boic{width:22px;height:20px;object-fit:contain;display:block}
  #pcHkPop .boic.bld{position:relative;width:26px;height:22px}
  #pcHkPop .boic.bld img{width:100%;height:100%;object-fit:contain;display:block}
  #pcHkPop .boic.bld i{position:absolute;inset:0;background:#9aa4b2;pointer-events:none;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
  #pcHkPop .hkr .u{color:#dbe7f5} #pcHkPop .hkr .u b{color:#8ee7b0;font-weight:800}
  .pcard .rt i.bo{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e8c34a;vertical-align:middle}   /* i. — 폰의 줄 아래 미리 보기(.bxpv)에 든 리포트 단추(a.gbtn.bo)가 이 점이 되어 버렸습니다 (b985) */
  /* 🔗 b992 — 표의 링크 칸 (옛 리포트 점 자리): 26px 네모 테 · 손 올리면 파란 테 · 고른 줄(초록)에서는 테를 초록 쪽으로 */
  .pcard .rt th.lk,.pcard .rt td.lk{text-align:center}
  .pcard .rt .lkb{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;margin:0;border:1px solid #2a3138;border-radius:3px;background:#0f1317;color:#cfd5da;cursor:pointer;vertical-align:middle;box-sizing:border-box}
  .pcard .rt .lkb .pic{width:15px;height:15px;margin:0;display:block}
  .pcard .rt .lkb:hover{border-color:#58a6ff;color:#fff}
  .pcard .rt tr.g.on .lkb{border-color:#3d5a34}
  .pcard .rt i.bo.no{background:transparent;border:1px solid #3a4148}
  .pcard .rt .mu{font-size:12.5px}
  .pcard .rmore{margin:12px 24px 0;text-align:center}
  .pcard .rmore a{color:#6fbf4a;font-size:12.5px;cursor:pointer}
  .pcard .rmore a:hover{color:#8fd14f}
  .pcard .rmore span{display:block;color:#5d656d;font-size:11.5px;margin-top:4px}
  .pcard .pv h3{margin:0;font-size:15px;font-weight:500;text-align:center;color:#e3e7ea}
  .pcard .pv .res{text-align:center;margin-top:8px;font-size:14px}
  .pcard .pv .res.w{color:#44ab24}.pcard .pv .res.l{color:#ff0000}
  .pcard .pv .when{text-align:center;color:#8d949b;font-size:12px;margin-top:2px}
  .pcard .vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:22px 0 0;text-align:center}
  .pcard .vs .p b{display:block;font-size:15px;font-weight:500;color:#e3e7ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .vs .p s{display:block;text-decoration:none;font-size:12.5px;margin-top:2px}
  .pcard .vs .p s.rz{color:#b96ee8}.pcard .vs .p s.rt{color:#5aa8e0}.pcard .vs .p s.rp{color:#e8c34a}
  .pcard .vs .p small{display:block;color:#8d949b;font-size:12px;margin-top:3px}
  .pcard .vs .p .t{font-weight:600}
  .pcard .vs .x{font:400 22px/1 'Michroma','Pretendard',sans-serif;color:#cfd5da;letter-spacing:.04em}
  .pcard .vs .loc{display:block;color:#5d656d;font-size:11.5px;margin-top:4px}
  .pcard .pv h4{margin:26px 0 10px;text-align:center;font-size:12.5px;font-weight:400;color:#8d949b;display:block}
  .pcard .mapbox{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:start;border:1px solid #2a3138;padding:12px}
  .pcard .mapbox.nomm{grid-template-columns:1fr}
  .pcard .mapbox img{width:132px;height:132px;object-fit:cover;display:block;background:#000}
  .pcard .mapbox .mp{font-weight:500;font-size:19px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .mapbox .kv{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:12.5px;margin-top:8px;white-space:nowrap;padding-top:0}
  .pcard .mapbox .kv s{text-decoration:none;color:#8d949b}
  .pcard .mapbox .kv div{text-align:left}
  /* ▶ b992 — 재생 단추: 지도 상자 맨 아래 가로로 꽉 (목업 play991 A안 · 정님 확정). 세 단추 줄(.btns)은 요약 탭 「마지막 경기」에만 남습니다 */
  .pcard .mapbox .gbtn.big{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0;margin-top:2px;font-size:14.5px;font-weight:500;letter-spacing:.02em;border-radius:2px;border-color:#2a3138}
  .pcard .mapbox .gbtn.big .pic{width:20px;height:20px;margin:0}
  .pcard .mapbox .gbtn.big:hover{border-color:#58a6ff;background:#10161c}
  .pcard .pv .btns{display:flex;gap:8px;margin-top:16px;justify-content:center}
  /* ── 🗂 b1030 — 「기록」 탭 (공방 기록 · 목업 pub1029) — 틀은 래더 기록 탭(.rec .rlist .rside .rtop .rt .drop .rmore) 그대로 ── */
  .pcard .pub .rt td.t s{text-decoration:none;color:#8d949b;font-size:12px;margin-left:8px}
  /* 🔗 b1088 — 링크 단추 (목업 lk1088): 「N일 전」 칸 폭을 고정해 「21시간 전」 · 「1일 전」 이 섞여도 단추가 세로로 한 줄 */
  .pcard .pub .rt td.t{white-space:nowrap}
  .pcard .pub .rt td.t s{display:inline-block;min-width:5.2em}
  .pcard .pub .rt td.t .lkb{margin-left:4px}
  .pcard .pub .lad{color:#8d949b;font-size:12px;margin-left:8px}
  .pcard .pub .rt .d{color:#8d949b}
  .pcard .pub .rtop .cnt{color:#8d949b}
  .pcard .pub .rtop .cnt b{color:#e3e7ea;font-weight:400}
  .pcard .pub .rtop .cnt s{text-decoration:none;color:#5d656d;margin-left:8px}
  .pcard .pub .blank{height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#8d949b;font-size:12.5px}
  .pcard .pub .blank .big{border:1px solid #a03a30;box-shadow:inset 0 0 0 1px #3a1410;background:#120c0c;color:#8fd14f;font:inherit;font-size:15px;padding:9px 0;width:300px;text-align:center;cursor:pointer;border-radius:2px}
  .pcard .pub .blank .big:hover{border-color:#c9503f}
  .pcard .pub .blank .big.off{color:#5d656d;border-color:#2a3138;box-shadow:none;background:#0f1216;cursor:default}
  .pcard .pub .blank .ring{width:48px;height:48px;border-radius:50%;border:2px solid #2a3138;border-top-color:#8fd14f;animation:pcspin .9s linear infinite}
  .pcard .pub .pv .res{font-size:17px}
  .pcard .pub .pv .res.d{color:#a4a4a4}
  .pcard .pub .pv .tm{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}   /* 📋 b1095 — .pv 로 좁힘: 띠의 칩 시각(.t2bi .tm)까지 잡아 글자가 잘렸습니다 (정님 제보) */
  .pcard .pub .tm .side{min-width:0}
  .pcard .pub .tm .lb{font-size:11px;color:#8d949b;margin-bottom:6px}
  .pcard .pub .tm .p{margin-bottom:12px;min-width:0}
  .pcard .pub .tm .p b{display:block;font-size:15px;font-weight:400;color:#d0d6dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .pub .tm .p b.cp{cursor:pointer}
  .pcard .pub .tm .p b.cp:hover{color:#fff}
  .pcard .pub .tm .p.me b{color:#fff;font-weight:500}
  .pcard .pub .tm .p s{display:block;text-decoration:none;font-size:12.5px;margin-top:1px}
  .pcard .pub .tm .p s.rz{color:#b96ee8}.pcard .pub .tm .p s.rt{color:#5aa8e0}.pcard .pub .tm .p s.rp{color:#e8c34a}
  .pcard .pub .mapbox .kv .d{color:#8d949b}
  .pcard .pub .mapbox .gbtn.big.wait{cursor:default;color:#9fb3c8;pointer-events:none}
  .pcard .pub .mapbox .gbtn.big .ring{width:20px;height:20px;border-radius:50%;border:2px solid #2a3138;border-top-color:#58a6ff;animation:pcspin .9s linear infinite;flex:none}
  .pcard .pub .mapbox .note{grid-column:1/-1;font-size:12px;color:#8d949b;margin-top:-2px}
  /* 🕐 b1074 — 30일이 지나 받아 올 수 없는 판: 「빈 화면」 단추와 같은 잠김 모양 */
  .pcard .mapbox .gbtn.big.off{color:#5d656d;border-color:#2a3138;box-shadow:none;background:#0f1216;cursor:default;pointer-events:none;opacity:1}
  .pcard .mapbox .gbtn.big.off .pic{opacity:.45}
  /* ── 🎨 b1042 — 「기록」 탭 글자 고증 (정님 SC:R 캡처 픽셀 실측 · 목업 pub1041 확정) ──
       머리글 #9cb3fa (스타는 본문과 같은 크기 · 우리는 1px 작게) · 승 #44ab24 · 패 #ff0000 · 본문 13.5 → 15px · 줄 38 → 42px
       고른 줄은 스타처럼 글자가 연두(#b4fc74)로 — 게임 유형·시각·승 (지도 이름의 색 코드와 패의 빨강은 그대로) */
  .pcard .pub .rt{font-size:15px}
  .pcard .pub .rt th{color:#9cb3fa;font-size:14px}
  .pcard .pub .rt td{height:42px}
  .pcard .pub .rt .w{color:#44ab24}.pcard .pub .rt .l{color:#ff0000}
  .pcard .pub .rt tr.g.on td.k,.pcard .pub .rt tr.g.on td.t,.pcard .pub .rt tr.g.on td.t s,.pcard .pub .rt tr.g.on td.w{color:#b4fc74}
  /* ── 🎞 b1042 — 한 판씩 밝히기 (목업 pub1040·1041 확정): 설정이 오기 전엔 어둡게(42%) · 처음 그릴 때 한 줄씩 드러남 · 제목 밑 진행 줄 ── */
  .pcard .pub .rt tr.g td{transition:opacity .45s ease}
  .pcard .pub .rt tr.g.dim td{opacity:.42}
  .pcard .pub .rt tr.g.hid td{opacity:0;transition:none}
  .pcard .pub .rtop{position:relative}
  .pcard .pub .rtop::after{content:'';position:absolute;left:24px;bottom:5px;height:1px;width:calc((100% - 48px) * var(--pg,0));background:#8fd14f;opacity:0;transition:width .5s,opacity .3s}
  .pcard .pub .rtop.pg::after{opacity:.8}
  .pcard .pub .rtop .cnt s.new{color:#8fd14f}
  .pcard .pub .blank .sec{color:#5d656d;font-size:12px;margin-top:-6px}
  /* ── 🗂 b1042 — 「새 경기 불러오기」 단추 (위 줄 오른쪽 끝 · 「최근 경기 불러오기」 와 같은 옷을 작게) ── */
  .pcard .pub .rtop .re{margin-left:12px;border:1px solid #a03a30;box-shadow:inset 0 0 0 1px #3a1410;background:#120c0c;color:#8fd14f;font:inherit;font-size:13px;padding:4px 12px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
  .pcard .pub .rtop .re:hover{border-color:#c9503f}
  .pcard .pub .rtop .re.off{color:#5d656d;border-color:#2a3138;box-shadow:none;background:#0f1216;cursor:default}
  .pcard .pub .rtop .re .ring{width:12px;height:12px;border-radius:50%;border:2px solid #2a3138;border-top-color:#8fd14f;animation:pcspin .9s linear infinite}
  /* ── 🧺 b1089 — 「모두 받기」 (새 경기 단추 옆 · 같은 옷) · 도는 동안 초록 테 + 고리 (래더 기록 「리플레이 불러오기」 처럼) · 받는 줄은 링크 자리에 작은 고리 ── */
  .pcard .pub .rtop h3{flex:none;white-space:nowrap}          /* 641~1050 폭에서 제목이 한 글자씩 세로로 눌리던 것 (실측 w16 h96) */
  .pcard .pub .rtop{flex-wrap:wrap}
  .pcard .pub .rtop .tail{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 26px}
  .pcard .pub .rtop .tail .cnt{margin-left:0}
  .pcard .pub .rtop .btns{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px}
  .pcard .pub .rtop .btns .re{margin-left:0}
  .pcard .pub .rtop .re.all.run{color:#e3e7ea;border-color:#8fd14f;box-shadow:none}
  .pcard .pub .rt td.t .lkr{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:4px;vertical-align:middle}
  .pcard .pub .rt td.t .lkr .ring{width:12px;height:12px;border-radius:50%;border:2px solid #2a3138;border-top-color:#8fd14f;animation:pcspin .9s linear infinite}
  .pcard .pv .gbtn{font-size:12px;padding:4px 12px}
  /* ══ 🎬 b956 — 카드 위 재생 창 (목업 play956b): 카드와 같은 폭(1220), 세로는 화면 끝까지. 카드(z 80) 위 z 85, 「복사됨」 말풍선(90) 아래.
       안은 <iframe src="/t/경기ID?play=1"> — 뷰어가 경기 카드 없이 곧장 재생합니다. 실측(1220 폭): FHD 100% 이상은 뷰어 패널이 안 겹칩니다. */
  /* 폭은 세로에서 계산 — 게임 칸(창 높이 - 위 줄 40) 이 16:9 (정님: SC:R 와이드가 익숙하다. 4K 에서 1220 폭은 정사각형처럼 보였다).
       카드 폭(1220) 아래로는 안 줄고, 화면 폭(-40) 위로는 안 큽니다
       🎬 b1079 — 단, 화면이 1260 보다 좁으면(아이패드 가로 1024~1180 등) 화면 폭 -40 까지는 줄어듭니다. 예전엔 1220 그대로라 양옆이 잘려 닫기가 화면 밖이었습니다 (실측) */
  #thPlay{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:85;display:none;flex-direction:column;background:#000;
    width:clamp(min(1220px,100vw - 40px),(100vh - 80px) * 16 / 9,100vw - 40px);height:calc(100vh - 40px);border:1px solid #2a3138;border-radius:3px;box-shadow:0 20px 60px rgba(0,0,0,.7)}
  #thPlay.on{display:flex}
  #thPlayMask{position:fixed;inset:0;z-index:84;background:rgba(3,5,8,.72);backdrop-filter:blur(2px);touch-action:none}   /* 🎬 b1098 — 창 뒤를 어둡게 (뷰어 app.js 만 · 카드 막 #pcmask 와 같은 값) · 창 바로 아래 · 막 위에서 손가락을 끌어도 뒤 목록이 안 굴러가게 */
  #thPlay .tpbar{flex:none;height:40px;display:flex;align-items:center;gap:14px;padding:0 14px 0 16px;background:#0f1317;border-bottom:1px solid #1f2b36;
    font:13px/1.5 'Pretendard',"Segoe UI","Malgun Gothic",sans-serif;font-variant-numeric:tabular-nums}
  #thPlay .wm{font:400 15px 'Michroma','Pretendard',sans-serif;letter-spacing:.06em;color:#58a6ff}
  #thPlay .wm b{font-weight:400;color:#fff}
  #thPlay .ttl{font-size:13px;color:#cfd5da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  #thPlay .ttl i{font-style:normal;color:#5d656d;margin:0 6px}
  #thPlay .sp{flex:1 1 auto}
  #thPlay .tpbar .gbtn{font-size:12px;padding:4px 11px;display:inline-flex;align-items:center;gap:6px}
  #thPlay iframe{flex:1 1 auto;min-height:0;width:100%;border:0;background:#05070a}
  #thPlay.bo .tpbar{display:none}                    /* 📋 b962 — 리포트 창은 리포트만 (정님). 위 줄 없이 iframe 이 창을 다 채우고, 닫기는 리포트의 ✕ */
  @media (max-width:980px){ #thPlay{left:0;top:0;transform:none;width:100vw;height:100vh;height:100dvh;border:0;border-radius:0} }   /* 📱 b987 — 폰·태블릿은 화면 가득 (1220 고정폭은 폰에서 넘칩니다) */
  /* 🎬 b1079 — 「크게」 (목업 full1078 시안 나): 머리줄을 숨기고 뷰어가 창을 다 씁니다. 되는 기기는 진짜 전체화면까지 (pcard.js thPlayFull) */
  #thPlay.full .tpbar{display:none}
  #thPlay .tpbar .gbtn{height:28px;flex:none}                                       /* 그림 단추와 글자 단추의 키를 맞춥니다 · 좁아지면 제목만 줄어듭니다 */
  #thPlay .tpbar .gbtn.fs{width:30px;padding:0;justify-content:center}
  #thPlay .tpbar .gbtn.fs .pic{width:14px;height:14px;margin:0}
  #thPlay .tpbar .gbtn.cam,#thPlay .tpbar .gbtn.lk{width:30px;padding:0;justify-content:center}   /* 📷 b1093 — 스크린샷 · 링크(그림): 크게와 같은 네모 (목업 shot1093) */
  #thPlay .tpbar .gbtn.cam .pic{width:14px;height:14px;margin:0}
  #thPlay .tpbar .gbtn.lk .pic{width:16px;height:16px;margin:0}
  @media (max-width:400px){ #thPlay .ttl{display:none} }                            /* 폰 세로: 제목은 빼고 단추만 — 닫기가 늘 화면 안에 (목업 full1078) */
  /* ══ 📅 b953 — 시즌 탭 (목업 card952): SC:R 「시즌」 — 시즌 고르기 · 등급 배지 머리 · 지도마다 한 줄(펼치면 그 지도 경기) · 미리 보기 ══ */
  .pcard .shead{display:grid;grid-template-columns:84px 1fr 1fr;gap:0 22px;align-items:center;padding:14px 24px 18px;border-bottom:1px solid #2a3138}
  .pcard .shead .tier{margin:0}
  .pcard .shead h2{margin:0;font-size:22px;font-weight:500;letter-spacing:-.01em}
  .pcard .shead h2 small{font-size:12px;color:#8d949b;margin-left:8px;font-weight:400}
  .pcard .shead .kv{display:grid;grid-template-columns:auto auto;gap:4px 18px;margin-top:8px;font-size:13px;align-items:baseline;padding-top:0}
  .pcard .shead .kv s{text-decoration:none;color:#8d949b;font-size:12px}
  .pcard .shead .kv b{font-weight:500;font-size:20px;letter-spacing:-.01em;text-align:left}
  .pcard .shead .kv b em{font-style:normal;font-weight:400;font-size:12px;color:#8d949b;margin-left:3px}
  .pcard .shead .sub{font-size:12px;color:#8d949b;margin-top:6px}
  .pcard .shead .rows{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:13.5px;border-left:1px solid #2a3138;padding-left:22px;align-self:stretch;align-content:center}
  .pcard .shead .rows s{text-decoration:none;color:#8d949b}
  .pcard .shead .rows .v{text-align:right}
  .pcard .shead .rows .v em{font-style:normal;color:#8d949b;margin-left:4px}
  .pcard .sacc{display:flex;gap:8px;flex-wrap:wrap;padding:12px 24px 0;font-size:12.5px;color:#8d949b;align-items:center}
  .pcard .sacc span{border:1px solid #2a3138;border-radius:2px;padding:2px 9px;color:#cfd5da}
  .pcard .sacc span i{font-style:normal;font-weight:600;margin-right:5px}
  .pcard .sacc span em{font-style:normal;color:#8d949b;margin-left:5px}
  .pcard .maps{padding:10px 24px 0}
  .pcard .mrow{display:grid;grid-template-columns:52px 1fr 70px 26px;gap:14px;align-items:center;padding:9px 10px;border:1px solid #2a3138;margin-top:8px;cursor:pointer;user-select:none}
  .pcard .mrow:hover{border-color:#3a434c}
  .pcard .mrow.open{border-color:#8fd14f}
  .pcard .mrow img,.pcard .mrow .noimg{width:52px;height:52px;object-fit:cover;background:#0b0e11;display:block}
  .pcard .mrow .noimg{display:grid;place-items:center;color:#3a434c;font-size:11px}
  .pcard .mrow .mp{font-weight:500;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcard .mrow .say{font-size:12.5px;color:#8d949b;margin-top:3px}
  .pcard .mrow .bar{height:4px;background:#1d2329;margin-top:6px;width:260px;max-width:100%}
  .pcard .mrow .bar i{display:block;height:100%;background:#4a6a86}
  .pcard .mrow .n{text-align:right}
  .pcard .mrow .n s{display:block;text-decoration:none;color:#8d949b;font-size:11.5px}
  .pcard .mrow .n b{font-weight:500;font-size:20px}
  .pcard .mrow .arr{color:#6fbf4a;font-size:14px;text-align:center;transition:transform .15s}
  .pcard .mrow.open .arr{transform:rotate(180deg)}
  .pcard .mgames{margin:0 24px;border:1px solid #2a3138;border-top:0}
  .pcard .mgames .rt th:first-child,.pcard .mgames .rt td:first-child{padding-left:14px}
  .pcard .past{padding:22px 24px;color:#8d949b;font-size:13px;text-align:center;border-top:1px solid #2a3138;margin-top:14px}
  .pnote{font-size:11.5px;color:#6f7a88;margin-top:7px;text-align:center}
  .pnote b{color:#9aa5b2}
  .pcard .phm td{text-align:center;border:1px solid #141c26;padding:5px 4px}
  .pcard .phm td.mp{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
  .pcard .phm th{text-align:center}
  @media (max-width:980px){
    #pcmask{padding:0}
    .pcard{height:100vh;height:100dvh;border-radius:0}   /* 📱 b982 — 아이폰 사파리는 100vh 가 주소줄 뒤까지라 위가 잘렸습니다 (정님 제보) → dvh */
    .pcard .hero{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px;padding:16px 14px 14px}
    .pcard .hero b{font-size:18px} .pcard .hero b em{font-size:12px}
    .pcard .cols,.pcard .cols.three{grid-template-columns:1fr}
    .pcard .col + .col{border-left:0;border-top:1px solid #2a3138}
    .pcard .col{padding-left:14px;padding-right:14px}
    .pcard .r{grid-template-columns:96px 1fr 40px 70px;gap:8px}
    .pcard .wide .r{grid-template-columns:110px 1fr 40px 70px}
    .pch{padding:14px 14px 0;gap:12px}.pch .bav{width:48px;height:48px;font-size:20px}
    .pch .who b{font-size:16px;letter-spacing:.04em}.pch .who s{font-size:12.5px}
    .pcb{gap:6px}.pcb button{padding:6px 9px;font-size:12px}
    .pctabs{gap:22px;padding:10px 14px 0}
    .pctabs .st s{display:none}.pcb button.rep span{font-size:12px}
    .pcard .lay{grid-template-columns:1fr}.pcard .left{border-right:0;border-bottom:1px solid #2a3138;padding:6px 14px 16px}
    .pcard .rings{flex-wrap:wrap;gap:10px}.pcard .dn,.pcard .dn.big{width:150px;height:150px}.pcard .dn .in b,.pcard .dn.big .in b{font-size:30px}
  }
  /* 📱 b982 — 폰: 기록·시즌 표는 한 단 · b985: 미리 보기는 고른 줄 바로 아래(.bxpv), 표는 칸을 줄여 폰 폭에 맞춥니다 (목업 mobile985) */
  .pcard .bxpv{display:none}                        /* 폰에서만 (pcStripRow 가 폰일 때만 넣지만, 돌려서 넓어져도 안 보이게) */
  @media (max-width:640px), (pointer:coarse) and (max-height:540px){   /* 📱 b1139 — 폰을 가로로 들어도(재생 창이 가로로 돌림) 폰 배치 (목업 mobile1138 가) */
    /* 머리 — 사진·이름 한 줄, 단추들은 그 아래 한 줄 (폰에서 이름이 세로로 쪼개졌습니다) */
    .pch{flex-wrap:wrap;gap:10px 12px;padding:12px 12px 0;position:relative}
    .pch .who{flex:1 1 auto;min-width:0;padding-top:2px;position:static}
    .pch .who s{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .pch .who .lastg{font-size:12px;gap:22px}      /* 🕐 b1110 — 폰: 배틀태그 옆에 안 들어가면 밑 줄로 (.tagln 줄바꿈) */
    .pch .who .lastid{font-size:12px;gap:6px;margin-left:-6px}   /* 🕐 b1112 — 폰: 밑 줄로 내려가면 글자가 배틀태그와 같은 자리에서 시작 */
    .pch .who{flex-basis:0}                        /* 🕐 b1110 — 이름 칸은 늘 사진 옆 남은 폭 (배틀태그 줄이 길어지거나 아이디가 길면(18자) 칸째 사진 밑으로 떨어졌습니다 · 360px 실측) */
    /* 🪪 b1107 — 폰: 등록 판은 머리(.pch) 폭에 맞춰 사진 밑부터 카드 오른쪽 끝까지 (아이디 옆에 걸면 오른쪽이 잘렸습니다 · 390px 실측) · 꼭지는 아이디 쪽으로 */
    .pch .who .mpop{left:12px;right:12px;width:auto;max-width:none;top:calc(100% + 6px)}
    .pch .who .mpop.sm{width:auto}
    .pch .who .mpop::before{display:none}           /* 단추 줄 밑이라 꼭지가 가리킬 데가 없습니다 */
    .pch .who a.mreg{padding:4px 0;margin:-4px 0}   /* 손가락 자리 */
    .pcb{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}
    .pcb button{padding:7px 10px;font-size:12.5px;min-height:38px}
    .pctabs{gap:18px;padding:8px 12px 0}.pctab{font-size:15px;padding:6px 2px 9px}
    .pcard .rec{grid-template-columns:1fr}
    .pcard .rlist{border-right:0;overflow-x:auto}
    .pcard .rside{display:none}                     /* 오른쪽 미리 보기 대신 고른 줄 아래 .bxpv (b985) */
    .pcard .rtop{padding:12px 14px 10px;flex-wrap:wrap;gap:8px}
    /* 표 칸 줄임 — 기록: 지도·종족전·결과·상대·날짜 (상대 MMR·점수 변화·길이·리포트 숨김) / 시즌 지도 펼침: 종족전·결과·상대·날짜 */
    .pcard .rt th,.pcard .rt td{padding-left:6px;padding-right:6px}
    .pcard .rt th:first-child,.pcard .rt td:first-child{padding-left:12px}
    #pcmask .rlist > .rt th:nth-child(n+5):not(:last-child),#pcmask .rlist > .rt td:nth-child(n+5):not(:last-child),
    #pcmask .mgames .rt th:nth-child(n+4):not(:last-child),#pcmask .mgames .rt td:nth-child(n+4):not(:last-child){display:none}
    .pcard .rt td.mp{max-width:0;width:38%;overflow:hidden;text-overflow:ellipsis}          /* 지도 이름은 남는 폭만큼, 넘치면 … */
    .pcard .rt td > .cp{display:inline-block;max-width:84px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}   /* 상대 아이디 */
    .pcard .rt td .y{display:none}                  /* 날짜의 연도 */
    .pcard .rt td.d{font-size:12px}
    .pcard .mgames{margin:0 12px}
    .pcard .rmore{margin:12px 14px 0}
    /* 고른 줄 아래 미리 보기 — 오른쪽 미리 보기(pcRecPv · lwPv)와 같은 내용, 제목 줄 없이 · 지도 상자는 작게 */
    .pcard .rt tr.bx td .bxpv{display:block;width:0;min-width:100%;box-sizing:border-box;padding:12px 14px 16px;background:#0c1110;border-bottom:1px solid #2a3138}
    .pcard .rt tr.bx td .bxin{padding:11px 12px 12px}
    /* 📱 b1077 — 공방 기록 탭도 폰에서 고른 줄 아래에 미리 보기 (래더 기록 탭과 같은 자리·같은 모양) */
    .pcard .rec.pub .rt tr.bx td{padding:0;height:auto;border-bottom:0}
    .pcard .rec.pub .rt tr.bx td .bxpv{display:block;width:0;min-width:100%;box-sizing:border-box;
      padding:12px 14px 16px;background:#0c1110;border-bottom:1px solid #2a3138}
    .pcard .rec.pub .bxpv .pv .res{font-size:15px}
    .pcard .rec.pub .bxpv .pv .when{font-size:12px}
    .pcard .rec.pub .bxpv .mapbox{grid-template-columns:96px 1fr;gap:10px;padding:10px}
    .pcard .rec.pub .bxpv .mapbox img{width:96px;height:96px}
    .pcard .rec.pub .bxpv .mapbox .mpw i{width:7px;height:7px}   /* 📋 b1096 — 폰은 그림이 96px 이라 점도 작게 */
    .pcard .rec.pub .bxpv .mapbox .mp{font-size:16px}
    /* 표가 폰 폭 안에 들어오게 — 지도 이름이 남는 자리를 먹고, 날짜는 연도를 뗍니다(.y) */
    .pcard .rec.pub .rt td.mp{width:auto;max-width:0}
    .pcard .rec.pub .rt td.k{max-width:0;width:26%;overflow:hidden;text-overflow:ellipsis}
    .pcard .rec.pub .rt td.t s{display:none}              /* 🔗 b1088 — 폰은 「N일 전」 대신 링크 단추 (목업 lk1088 가안 · 지도 이름 폭이 지금과 거의 같음) */
    .pcard .bxpv .pv h3,.pcard .bxpv .pv h4{display:none}
    .pcard .bxpv .pv .res{margin-top:0}
    .pcard .bxpv .vs{margin-top:10px}
    .pcard .bxpv .pv .btns{margin-top:12px}
    .pcard .bxpv .mapbox{margin-top:14px;grid-template-columns:76px 1fr;gap:10px;padding:10px}
    .pcard .bxpv .mapbox.nomm{grid-template-columns:1fr}
    .pcard .bxpv .mapbox img{width:76px;height:76px}
    .pcard .rt td .bxpv .y{display:inline}          /* 미리 보기의 날짜는 연도까지 */
    .pcard .bxpv .mapbox .mp{font-size:16px}
    .pcard .bxpv .mapbox .kv{font-size:12px;gap:2px 10px;margin-top:4px}
    .pcard .bxpv .mapbox .gbtn.big{height:40px;font-size:14px;margin-top:0}   /* b992 — 폰의 줄 아래 미리 보기에서도 같은 자리 */
    /* 요약 탭 한 단 — 현재 시즌 · 시즌별 기록 · 최근 플레이 위에서 아래로 (두 단이 옆으로 잘렸습니다 · 정님 제보). 종족 고리 셋은 한 줄에 작게 */
    .pcard .right .cols.half{grid-template-columns:1fr}
    .pcard .right .rings{padding:18px 8px 16px;gap:4px;flex-wrap:nowrap}
    .pcard .dn,.pcard .dn.big{width:112px;height:112px}
    .pcard .dn .in b,.pcard .dn.big .in b{font-size:22px}
    .pcard .dn .in s{font-size:12px;margin-bottom:2px}.pcard .dn .in i{font-size:10.5px}.pcard .dn .in small{font-size:11px;margin-top:4px}
    .pcard .season{gap:14px}.pcard .tier{width:68px;height:68px;font-size:38px}
    .pcard .sgrid{gap:6px 12px}.pcard .sgrid b{font-size:19px}
    .pcard .last{grid-template-columns:100px 1fr;gap:10px 12px}.pcard .last .mm{width:100px;height:100px}
    .pcard .last .mp{font-size:18px}.pcard .last .rows{font-size:13px;gap:3px 12px}
    .pcard h4{flex-wrap:wrap;white-space:nowrap;column-gap:10px}.pcard h4 span{white-space:normal;margin-left:auto;text-align:right}   /* 제목은 안 쪼개고(「자주 쓰는 빌\\n드」) 긴 설명만 다음 줄로 */
    /* 시즌 탭 머리 — 배지 · 시즌 이름/순위/MMR 두 칸, 승·패·총 게임·최다 플레이는 그 아래 한 줄 (세 칸이 글자 하나씩 세로로 쪼개졌습니다) */
    .pcard .shead{grid-template-columns:68px 1fr;gap:12px 14px;padding:14px 14px 16px}
    .pcard .shead .tier{width:68px;height:68px;font-size:38px}
    .pcard .shead h2{font-size:19px}
    .pcard .shead .kv{gap:4px 14px}.pcard .shead .kv b{font-size:18px}
    .pcard .shead .rows{grid-column:1 / -1;border-left:0;padding-left:0;grid-template-columns:auto 1fr auto 1fr;gap:6px 14px;font-size:13px}
    .pcard .sacc{padding:12px 14px 0}
    .pcard .maps{padding:10px 14px 0}
    .pcard .mrow{gap:10px;padding:8px}
  }
  /* ══ 🧭 b1085 — 카드 여행 (목업 travel1085 · tabs1085 추천안) ═══════════════════════════════════════════════
       이름 옆 화살표: 18px 작은 네모 · 누르는 자리는 ::before 로 위아래 5px 양옆 3px 넓힘 · 손을 올리면 초록 네모칸(::after inset 0 한 겹 · 네 변 같은 색).
       자리: 요약 최근 플레이 · 상세 상대별 전적(.n.tvn) · 래더 기록과 시즌 미리 보기 VS · 기록 미리 보기 두 팀(.p.tvp) */
  .pcard .tv{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:3px;vertical-align:-4px;color:#6b747d;cursor:pointer;border-radius:2px;flex:none;position:relative}
  .pcard .tv svg{width:13px;height:13px;display:block}
  .pcard .tv::before{content:'';position:absolute;inset:-5px -3px}
  @media (hover:hover){
    .pcard .tv:hover{color:#8fd14f;background:#0d1410}
    .pcard .tv:hover::after{content:'';position:absolute;inset:0;border:1px solid #4b7a3a;border-radius:2px;pointer-events:none}
  }
  .pcard .r .n.tvn{display:flex;align-items:center;min-width:0}                       /* 상대별 전적 — 이름은 넘치면 … , 화살표는 늘 보이게 */
  .pcard .r .n.tvn .cp{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .pcard .p.tvp > b.cp{display:inline-block;max-width:calc(100% - 22px);vertical-align:middle}   /* 미리 보기 이름 + 화살표 한 줄 */
  .pcard .p.tvp > .tv{vertical-align:middle;margin-top:-2px}
  /* 돌아가기 — 머리 단추 줄 맨 앞. PC 는 화살표 + 원래 아이디, 폰은 화살표만 */
  .pcb button.back{padding:0 12px 0 8px;gap:4px;max-width:150px;background:#0f1317;border-color:#2a3138;color:#cfd5da}
  .pcb button.back svg{width:14px;height:14px;flex:none}
  .pcb button.back span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pcb button.back:hover{border-color:#3a434c;color:#fff}
  @media (max-width:640px), (pointer:coarse) and (max-height:540px){ .pcb button.back{padding:0;width:34px;justify-content:center} .pcb button.back span{display:none} }
  @media (max-width:640px), (pointer:coarse) and (max-height:540px){ .pctabs .st{display:none} }   /* 🧺 b1089 — 폰: 탭 줄 오른쪽 진행 글이 탭 이름을 세로로 눌렀습니다 (래더 불러오기도 같음) · 진행은 단추가 보여 줍니다 */
  /* 🤖 b1133 — AI · 오토 · 핵 표시 · 근거 카드 · 분석 방법 창 (목업 assist1130 — 재생 화면 APM 라벨 결의 작은 테두리 글자 · 색은 안 씀)
       높이: 카드(--pc-z) · 말풍선(--pc-z2) 위 — 뷰어 1600 + · root 95 + */
  .aitg{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;line-height:13px;padding:0 3px;border:1px solid #3a434d;border-radius:2px;color:#aeb5bc;vertical-align:1px;letter-spacing:.3px;font-style:normal;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none}
  .aitg:hover{border-color:#5a6470;color:#e3e7ea}
  .pcard .p.aip > b{display:inline-block;max-width:calc(100% - 38px);vertical-align:middle}   /* 미리 보기 VS: 이름 · 표시 (· 화살표) 한 줄 — 긴 이름은 이름만 … */
  .pcard .p.aip.tvp > b{max-width:calc(100% - 60px)}
  .pcard .p.aip > .aitg{vertical-align:middle;margin:-2px 0 0 5px}
  .pcard .rt .aiopl{color:#8d949b;font-size:11px;margin-left:10px}   /* 🤖 b1134 — 「기록」 탭 결과 칸의 「상대」 */
  .pcard .rt .aiopl + .aitg{margin-left:4px}
  .aitip{position:fixed;left:0;top:0;z-index:calc(var(--pc-z2,95) + 30);display:none;background:#0d1117;color:#e6edf3;border:1px solid #3d4757;border-radius:6px;padding:3px 9px;font-size:12px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.55);pointer-events:none}
  .aitip.on{display:block}
  .aipop{position:fixed;left:0;top:0;z-index:calc(var(--pc-z2,95) + 20);display:none;box-sizing:border-box;width:360px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:#0f1419;border:1px solid #2f3842;border-radius:4px;padding:12px 14px 10px;box-shadow:0 8px 24px rgba(0,0,0,.6);font:12.5px/1.6 Pretendard,"Segoe UI","Malgun Gothic",sans-serif;color:#e3e7ea;text-align:left;cursor:default;white-space:normal}
  .aipop.on{display:block}
  .aipop .aiph{display:flex;align-items:center;gap:8px;margin:-12px -14px 2px;padding:12px 14px 4px;position:sticky;top:-12px;z-index:1;background:#0f1419}   /* 🤖 b1138 — 머리(닫기)는 내려 읽어도 위에 남음 (폰 가로는 카드가 화면보다 김) */
  .aipop .aiph .aitg{margin:0;cursor:default}
  .aipop .aiph b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .aipop .aipx{margin-left:auto;flex:none;background:transparent;border:1px solid #2a3138;border-radius:2px;color:#cfd5da;font:inherit;font-size:12px;line-height:1.4;padding:2px 10px;cursor:pointer}   /* 🤖 b1138 — 닫기 */
  .aipop .aipx:hover{border-color:#3a434c;color:#fff}
  @media (pointer:coarse){ .aipop .aipx{min-height:34px;padding:4px 14px;font-size:13px} }
  .aipop p{margin:0 0 6px;color:#c9d1d9}
  .aipop p.d{color:#8d949b;font-size:12px;margin:0}
  .aipop h5{margin:10px 0 4px;font-size:11.5px;font-weight:400;color:#8d949b}
  .aipop .aiev{display:grid;grid-template-columns:108px 1fr;gap:7px 10px;line-height:1.45}
  .aipop .aiev s{text-decoration:none;color:#8d949b}
  .aipop .aiev b{font-weight:600;font-variant-numeric:tabular-nums;white-space:pre-wrap}
  .aipop .aiev i{display:block;font-style:normal;color:#8d949b;font-size:11.5px;margin-top:1px}
  .aipop .aipt{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;margin:9px 0 2px}
  .aipop .aipt s{text-decoration:none;color:#8d949b;font-size:12px;margin-right:2px}
  .aipop .aipt span{font:12px ui-monospace,Consolas,monospace;border:1px solid #2a3138;border-radius:2px;padding:0 5px;color:#e3e7ea}
  .aipop .aipt span.go{cursor:pointer}
  .aipop .aipt span.go:hover{border-color:#58a6ff}
  .aipop .aipt span.more{color:#8d949b;border-color:transparent}
  .aipop .aipa{display:flex;gap:6px;align-items:center;margin:9px 0 2px}
  .aipop .aipa s{text-decoration:none;color:#8d949b;font-size:12px;margin-right:4px}
  .aipop .aipa button{border:1px solid #2a3138;background:#0f1317;color:#e3e7ea;padding:2px 12px;border-radius:2px;cursor:pointer;font:inherit}
  .aipop .aipa button.arm{border-color:#ef5b5b;color:#ef5b5b}
  .aipop .aipf{display:flex;gap:16px;margin-top:9px;padding-top:8px;border-top:1px solid #1d2329;font-size:12px}
  .aipop .aipf span{color:#8d949b;flex:1}
  .aipop .aipf a{color:#58a6ff;cursor:pointer;white-space:nowrap}
  .aigd{position:fixed;inset:0;z-index:calc(var(--pc-z2,95) + 25);background:rgba(3,5,8,.72);display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;overflow:auto;box-sizing:border-box}
  .aigw{width:620px;max-width:100%;background:#14181c;border:1px solid #2a3138;border-radius:3px;color:#e3e7ea;font:13px Pretendard,"Segoe UI","Malgun Gothic",sans-serif;text-align:left}
  .aigt{display:flex;align-items:center;padding:12px 24px;border-bottom:1px solid #1d2329}
  .aigt .wm{font-weight:900;font-size:19px;color:#58a6ff;margin-right:20px}
  .aigt .wm b{font-weight:900;color:#fff}
  .aigt h3{margin:0;font-size:15px;font-weight:500}
  .aigt button{margin-left:auto;background:transparent;border:1px solid #2a3138;border-radius:2px;color:#cfd5da;padding:6px 16px;font:inherit;cursor:pointer}
  .aigt button:hover{border-color:#3a434c;color:#fff}
  .aigb{padding:18px 24px 22px;font-size:13.5px;line-height:1.7}
  .aigb p{margin:0 0 10px;color:#c9d1d9}
  .aigb h4{margin:18px 0 8px;font-size:12px;color:#8d949b;font-weight:400}
  .aigb .aitg{margin:0;cursor:default}
  .aigb .gn{display:flex;gap:18px;margin:4px 0 12px;color:#8d949b;font-size:12.5px}
  .aigb .gn b{color:#e3e7ea;font-weight:600;margin-right:3px;font-variant-numeric:tabular-nums}
  .aigb .gs{padding:12px 0 8px;border-top:1px solid #1d2329}
  .aigb .gh{display:flex;gap:10px;align-items:baseline;margin-bottom:6px}
  .aigb .gh p{margin:0;color:#e3e7ea}
  .aigb .gk{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:3px 0}
  .aigb .gk b{font-weight:500;font-size:12.5px}
  .aigb .gk p{margin:0}
  .aigb p.d{color:#8d949b;font-size:12px;margin-top:14px}
  @media (max-width:640px), (pointer:coarse) and (max-height:540px){ .aigd{padding:0} .aigw{min-height:100%;border:0;border-radius:0} .aigt{padding:8px 12px} .aigt .wm{display:none} .aigb{padding:14px 14px 20px} .aipop .aiev{grid-template-columns:86px 1fr} }
  /* 📱 b1139 — 641~1,259px(태블릿 · 좁은 PC 창)와 폰은 한 칸 · 미리 보기는 고른 줄 아래 (목업 mobile1138 가 — 두 칸이면 표가 미리 보기 밑으로 밀려 아이디가 0px 이었음).
       조건은 pcard.js PC_ONE_Q 와 같게 (줄 아래 미리 보기를 넣을지 거기서 정함) · 1,260 이상(카드 1,220 이 다 들어가는 폭)은 예전 두 칸 그대로 — 1,100~1,259 는 두 칸이면 카드 래더 기록 표가 미리 보기 밑으로 106px 들어갔음 (실측) */
  @media (max-width:1259px), (pointer:coarse) and (max-height:540px){
    .pcard .rec{grid-template-columns:1fr}
    .pcard .rlist{border-right:0}
    .pcard .rside{display:none}
    .pcard .rt tr.bx td .bxpv{display:block;width:0;min-width:100%;box-sizing:border-box;padding:12px 18px 16px;background:#0c1110;border-bottom:1px solid #2a3138}
    .pcard .rec.pub .rt tr.bx td{padding:0;height:auto;border-bottom:0}
    .pcard .rec.pub .rt tr.bx td .bxpv{display:block;width:0;min-width:100%;box-sizing:border-box;padding:12px 18px 16px;background:#0c1110;border-bottom:1px solid #2a3138}
    .pcard .bxpv .pv h3,.pcard .bxpv .pv h4{display:none}
    .pcard .bxpv .pv{max-width:560px;margin:0 auto}
  }
  /* 📱 b1139 — 폰: 아이디가 먼저 (정님 「지도 이름은 잘려도 아이디는 보여야 — 지도는 미리 보기에 나옴」) · 지도 이름이 남는 폭만큼 */
  @media (max-width:640px), (pointer:coarse) and (max-height:540px){
    .pcard .rt td > .cp{max-width:none}
    .pcard .rt td.mp{width:100%}
  }
  /* 📱 b1139 — 손가락 기기: 작은 단추의 누르는 자리 (화살표 · 표시 · 링크) — 왼쪽은 아이디 글자를 덮지 않게 조금만 */
  @media (pointer:coarse){
    .pcard .tv::before{inset:-11px -10px -11px -3px}
    .aitg{position:relative}
    .aitg::after{content:'';position:absolute;inset:-9px -7px -9px -3px}
    .pcard .lkb{min-width:36px;min-height:36px}
  }