/* v2.5: 리치 모달 CSS (index.html 마커추출) */
  /* 상세 모달 — 미터기 전투 상세(다크웹 재구성) */
  .scrim{position:fixed;inset:0;background:rgba(2,4,6,.82);backdrop-filter:blur(4px);
    display:none;align-items:flex-start;justify-content:center;padding:28px 16px;z-index:50;overflow:auto}
  .scrim.on{display:flex}
  .modal{background:var(--panel);border:1px solid var(--line2);border-radius:3px;width:100%;max-width:1160px;
    display:flex;flex-direction:column;max-height:calc(100vh - 56px);
    box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 0 1px rgba(53,230,180,.07)}
  .modal .mh{display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--panel2);flex-shrink:0}
  .modal .mh .jico{width:30px;height:30px}
  .mh-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}
  .mh-t b{font-size:19px;font-weight:700}
  .mh-time{font-family:var(--mono);font-size:13px;color:var(--cy);border:1px solid var(--line2);border-radius:2px;padding:2px 8px}
  .mh-sub{font-size:13px;color:var(--mut);font-family:var(--mono)}
  .mh-when{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--mut);white-space:nowrap;padding-right:2px}
  @media(max-width:560px){.mh-when{display:none}}
  .modal .mh .x{margin-left:auto;appearance:none;background:var(--hot);border:0;color:#1a0603;font-size:18px;
    cursor:pointer;line-height:1;width:30px;height:30px;border-radius:2px;font-weight:700}
  .modal .mh .x:hover{filter:brightness(1.12)}
  .modal .mh .mshare{appearance:none;background:var(--cy);border:0;color:#02160e;font-size:12.5px;font-weight:700;cursor:pointer;line-height:1;padding:8px 12px;border-radius:2px;white-space:nowrap;font-family:inherit}
  .modal .mh .mshare:hover{filter:brightness(1.1)}
  .modal .mh .mshare:disabled{opacity:.6;cursor:default}
  .modal .mh .mshare.g{background:var(--panel3);color:var(--txt2);border:1px solid var(--line2);padding:8px 10px}
  @media(max-width:560px){.modal .mh .mshare{padding:7px 9px}}
  /* 파티 DPS 카드 바 */
  .mparty{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);overflow-x:auto;background:var(--bg);flex-shrink:0}
  .mpcard{display:flex;align-items:center;gap:9px;background:var(--panel2);border:1px solid var(--line2);
    border-radius:2px;padding:8px 13px 8px 10px;min-width:176px;flex-shrink:0;cursor:pointer;transition:border-color .12s,background .12s}
  .mpcard:hover{border-color:var(--cy-dim)}
  .mpcard.sel{border-color:var(--cy);background:color-mix(in srgb,var(--cy) 13%,var(--panel2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cy) 32%,transparent)}
  .mpc-t{display:flex;flex-direction:column;line-height:1.3}
  .mpc-n{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px}
  .meflag{font-family:var(--mono);font-size:9.5px;color:#032019;background:var(--cy);border-radius:2px;padding:0 4px;font-weight:700}
  .mpc-d{font-family:var(--mono);font-size:12px;color:var(--mut)}
  .mpcard.sel .mpc-d{color:var(--cy)}
  /* 본문 그리드: 좌 스탯 + 우 스킬 */
  .mgrid{display:grid;grid-template-columns:210px 1fr;gap:0;flex:1;min-height:0}
  .mside{padding:14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px;overflow-y:auto;min-height:0;background:var(--panel2)}
  .sbox{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:9px 12px;display:flex;
    justify-content:space-between;align-items:baseline;gap:8px}
  .sbox .l{font-size:12px;color:var(--mut)}
  .sbox .v{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--txt)}
  .sgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:3px}
  .sgrid .sbox{flex-direction:column;align-items:flex-start;gap:3px}
  .sgrid .sbox .v{font-size:16px}
  .mmain{padding:0;overflow:hidden;min-height:0;display:flex;flex-direction:column}
  .mtabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--panel2);
    flex-shrink:0;z-index:2}
  .mtabs button{appearance:none;background:none;border:0;color:var(--mut);font-family:var(--sans);font-size:13.5px;
    font-weight:500;padding:10px 13px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;
    display:flex;align-items:center;gap:6px;white-space:nowrap}
  .mtabs button:hover{color:var(--txt2)}
  .mtabs button.on{color:var(--txt);border-bottom-color:var(--cy)}
  .mtabs .mn{font-family:var(--mono);font-size:11px;color:var(--dim)}
  .mtabs button.on .mn{color:var(--cy)}
  .mtabbody{display:flex;flex-direction:column;gap:8px;padding:12px 14px;flex:1;min-height:0;overflow-y:auto}
  .bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
  /* 스킬 카드 */
  .scard{position:relative;background:var(--panel2);border:1px solid var(--line);border-radius:2px;overflow:hidden}
  .scard .sfill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,color-mix(in srgb,var(--cy) 22%,transparent),color-mix(in srgb,var(--cy) 5%,transparent));border-right:1px solid color-mix(in srgb,var(--cy) 40%,transparent)}
  .scard-in{position:relative;padding:9px 12px}
  .scard-top{display:flex;align-items:center;gap:9px}
  .sdot{width:14px;height:14px;flex-shrink:0;background:var(--jc);transform:rotate(45deg);
    box-shadow:0 0 7px color-mix(in srgb,var(--jc) 55%,transparent);opacity:.9}
  .sico{width:26px;height:26px;flex-shrink:0;border-radius:4px;object-fit:cover;background:#0c141d;
    border:1px solid var(--line2);cursor:help}
  .sico.miss{background:color-mix(in srgb,var(--jc) 28%,var(--panel));border-color:color-mix(in srgb,var(--jc) 55%,var(--line2))}
  .bico{width:26px;height:26px;flex-shrink:0;border-radius:4px;object-fit:cover;background:#0c141d;border:1px solid var(--line2);cursor:help}
  .bico.miss{background:var(--panel);opacity:.5}
  .sname{font-weight:600;font-size:14.5px}
  .slv{font-family:var(--mono);font-size:10.5px;color:var(--am);border:1px solid color-mix(in srgb,var(--am) 40%,var(--line2));border-radius:2px;padding:1px 5px}
  .sdmg{margin-left:auto;font-family:var(--mono);font-weight:700;font-size:15px;color:var(--cy);white-space:nowrap}
  .sdmg i{font-style:normal;color:var(--mut);font-size:12.5px;font-weight:500}
  .spills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
  .pill{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--line);
    border-radius:2px;padding:2px 7px;font-size:11.5px;color:var(--mut)}
  .pill b{font-family:var(--mono);color:var(--txt2);font-weight:600}
  .pill b.pas{color:var(--mut)}
  .pips{display:inline-flex;gap:2px}
  .pips i{width:7px;height:7px;background:var(--line2);border-radius:1px}
  .pips i.on{background:var(--cy);box-shadow:0 0 4px color-mix(in srgb,var(--cy) 60%,transparent)}
  /* 준피해 스킬 표 — 미터기 스타일(열 정렬 + 행 배경 게이지) */
  .sttblwrap{overflow-x:auto}
  .stbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:780px}
  .stbl thead th{font-size:11px;font-weight:600;color:var(--mut);letter-spacing:.02em;padding:8px 9px;
    text-align:right;border-bottom:1px solid var(--line2);white-space:nowrap;position:sticky;top:0;background:var(--panel)}
  .stbl thead th.l{text-align:left;padding-left:12px}
  .stbl thead th.c{text-align:center}
  .stbl tbody td{padding:0 9px;height:46px;text-align:right;font-size:13px;color:var(--txt2);
    border-bottom:1px solid var(--line);white-space:nowrap;font-family:var(--mono)}
  .stbl tbody td.c{text-align:center}
  .stbl td.sk{text-align:left;position:relative;font-family:var(--sans);min-width:214px;padding-left:12px}
  .stbl .skin{display:flex;align-items:center;gap:9px}
  .stbl .sn{font-weight:600;font-size:14px;color:var(--txt)}
  .stbl td.dmg b{color:var(--cy);font-weight:700;font-size:14.5px}
  .stbl td.dmg .pctv{color:var(--mut);font-size:12px;margin-left:5px}
  .stbl .sbadge{font-size:10px;color:var(--am);border:1px solid color-mix(in srgb,var(--am) 40%,var(--line2));
    border-radius:2px;padding:1px 5px;font-family:var(--mono);margin-left:1px}
  .stbl .tpas{font-size:11px;color:var(--mut)}
  .stbl tbody tr{transition:filter .1s}
  .stbl tbody tr:hover{filter:brightness(1.09)}
  /* 버프 업타임 그리드 */
  .mbuffs-h{padding:12px 18px 8px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--txt2)}
  .mbuffs-h .mut{color:var(--mut);font-size:12px;font-weight:400}
  .mbuffs{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:8px;padding:0 16px 16px}
  .bcard{background:var(--panel2);border:1px solid var(--line);border-radius:2px;padding:9px 11px}
  .bcard-h{display:flex;align-items:center;gap:7px;margin-bottom:5px}
  .bname{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
  #tip{position:fixed;z-index:100;pointer-events:none;background:var(--panel3);border:1px solid var(--line2);
    border-radius:3px;padding:8px 11px;max-width:260px;box-shadow:0 8px 26px rgba(0,0,0,.55);display:none;
    font-size:12.5px;line-height:1.5;left:0;top:0}
  #tip.on{display:block}
  #tip b{display:block;color:var(--txt);font-size:13.5px;margin-bottom:2px}
  #tip span{color:var(--mut);font-family:var(--mono);font-size:12px}
  /* 스킬 리치 툴팁(미터기 스타일: 설명 + 찍힌 특성 + 정보) */
  #tip.rich{max-width:346px;padding:0;line-height:1.5}
  .stip-h{padding:11px 14px 9px;border-bottom:1px solid var(--line)}
  .stip-h b{display:block;color:var(--txt);font-size:14.5px;margin:0}
  .stip-h .cat{display:block;color:var(--mut);font-family:var(--mono);font-size:11px;margin-top:3px}
  .stip-b{padding:11px 14px}
  .stip-desc{color:var(--txt2);font-size:12.5px;margin-bottom:8px}
  .stip-gauge{color:var(--am);font-size:11.5px;font-family:var(--mono);margin-bottom:4px}
  .stip-tr-h{color:var(--txt);font-weight:700;font-size:12px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
  .stip-tr{display:flex;gap:7px;margin:4px 0;font-size:12px}
  .stip-tr:not(.on){opacity:.8}
  #tip .stip-tr>span{color:var(--mut);font-family:var(--sans);font-size:12px}
  .stip-tr.on{font-weight:700;border-radius:5px;padding:3px 7px;margin:3px -7px;background:color-mix(in srgb,var(--cy) 13%,transparent)}
  .stip-tr.l5.on{background:color-mix(in srgb,var(--am) 14%,transparent)}
  #tip .stip-tr.on>span{color:#fff}
  .stip-tr .dia{flex:0 0 auto;line-height:1.5}
  .stip-tr.on .dia{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--cy) 70%,transparent))}
  .stip-tr.l5.on .dia{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--am) 70%,transparent))}
  .stip-facts{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:3px 12px}
  .stip-facts .fl{color:var(--mut);font-size:11px}
  .stip-facts .fv{color:var(--txt2);font-size:11px;text-align:right;font-family:var(--mono)}
  .bmeta{font-family:var(--mono);font-size:11.5px;color:var(--mut);margin-bottom:6px}
  .mut{color:var(--mut)}

  @media (max-width:760px){
    .mgrid{grid-template-columns:1fr;max-height:none}
    .mside{border-right:0;border-bottom:1px solid var(--line)}
  }
  @media (max-width:640px){
    .wrap{padding:0 12px 60px}
    .totals{width:100%;justify-content:flex-start;margin-left:0;order:3}
    .basis{width:100%;margin-left:0;padding-bottom:0}
    thead th:nth-child(n+5),tbody td:nth-child(n+5){display:none}
  }