/* 26 宝可梦属性克制表 · 紫调数据台：倍率大屏 + 18×18 热力矩阵 */
.ptm{
  --ink:#231f33; --sub:#6a6480; --card:#ffffff; --line:#e5e0ef;
  --pri:#6d3fd4; --pri-soft:#f0ebff; --ok:#2e8b57; --warn:#b8791a; --bad:#d13b5c; --bg:#f7f5fb;
  color:var(--ink);background:var(--bg);font-size:15px;line-height:1.8;padding:26px 0 54px;min-height:60vh;
}
:root[data-theme="dark"] .ptm{
  --ink:#ece8fa; --sub:#aaa3c4; --card:#1b172a; --line:#332c4d;
  --pri:#b394ff; --pri-soft:rgba(179,148,255,.13); --ok:#6cd39c; --warn:#f0c26a; --bad:#ff8fac; --bg:#100d1b;
}
.ptm *{box-sizing:border-box;}
.ptm-wrap{max-width:1240px;margin:0 auto;padding:0 18px;}
.ptm h1,.ptm h2{margin:0;line-height:1.35;}
.ptm b{font-weight:700;} .ptm em{font-style:normal;}
.ptm-hero{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;padding:30px 32px;
  border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--card) 55%,var(--pri-soft));
  box-shadow:0 3px 16px rgba(90,60,160,.07);}
.ptm-badge{display:inline-block;padding:5px 13px;border-radius:999px;background:var(--pri);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;}
.ptm h1{font-size:31px;font-weight:800;margin:13px 0 12px;}
.ptm h1 em{display:block;font-size:18px;font-weight:600;color:var(--pri);margin-top:6px;}
.ptm-hero p{margin:0 0 16px;max-width:810px;color:var(--sub);font-size:15px;line-height:1.85;}
.ptm-hero p b{color:var(--ink);}
.ptm-hero-meta{display:flex;flex-wrap:wrap;gap:8px;}
.ptm-hero-meta span{padding:5px 11px;border:1px solid var(--line);border-radius:7px;background:var(--card);font-size:12.5px;font-weight:650;color:var(--sub);}
.ptm-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:rotate(-6deg);}
.ptm-chips i{font-style:normal;display:grid;place-items:center;height:46px;border-radius:12px;color:#fff;font-weight:800;font-size:15px;
  box-shadow:0 4px 10px rgba(40,20,80,.16);}
.ptm-chips i:nth-child(1){background:#ee6c4d;} .ptm-chips i:nth-child(2){background:#4a90d9;}
.ptm-chips i:nth-child(3){background:#63aa55;} .ptm-chips i:nth-child(4){background:#e5b83b;}
.ptm-chips i:nth-child(5){background:#d678b0;} .ptm-chips i:nth-child(6){background:#6a5bd0;}

.ptm-card,.ptm-panel,.ptm-empty,.ptm-stage,.ptm-list{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 10px rgba(70,40,130,.05);}
.ptm-card{margin-top:18px;padding:22px 24px;}
.ptm-card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:16px;}
.ptm-card-h h2{font-size:20px;font-weight:750;} .ptm-card-h span{font-size:12.5px;color:var(--sub);} .ptm-card-h b{color:var(--bad);}
.ptm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ptm-field{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:650;color:var(--sub);}
.ptm-field b{color:var(--bad);margin-left:3px;}
.ptm-in,.ptm-ta{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:14px;font-family:inherit;transition:border-color .16s,box-shadow .16s;}
.ptm-in:focus,.ptm-ta:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft);}
.ptm-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.ptm-btn{padding:10px 17px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:14px;font-weight:650;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s;}
.ptm-btn:hover{border-color:var(--pri);transform:translateY(-1px);box-shadow:0 3px 10px rgba(70,40,130,.1);}
.ptm-btn:disabled{opacity:.5;cursor:not-allowed;}
.ptm-btn-main{background:var(--pri);border-color:var(--pri);color:#fff;} .ptm-btn-main:hover{filter:brightness(1.12);}
.ptm-btn-ghost{background:transparent;color:var(--sub);}
.ptm-msg{margin:12px 0 0;font-size:13.5px;color:var(--sub);min-height:20px;}
.ptm-msg.is-err{color:var(--bad);font-weight:600;} .ptm-msg.is-ok{color:var(--ok);font-weight:600;}
.ptm-empty{margin-top:18px;padding:38px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;}
.ptm-empty-ic{font-size:34px;} .ptm-empty b{font-size:17px;}
.ptm-empty em{max-width:640px;font-size:13.5px;color:var(--sub);line-height:1.8;}

.ptm-out{margin-top:18px;}
.ptm-stage{display:grid;grid-template-columns:1fr 220px 1fr;gap:14px;align-items:center;padding:24px;margin-bottom:14px;overflow:hidden;}
.ptm-stage-l,.ptm-stage-r{display:flex;flex-direction:column;gap:8px;}
.ptm-stage-r{align-items:flex-end;text-align:right;}
.ptm-stage-k{font-size:12px;letter-spacing:.1em;color:var(--sub);}
.ptm-badge-big,.ptm-badges{display:flex;gap:8px;flex-wrap:wrap;}
.ptm-badges{justify-content:flex-end;}
.ptm-tb-chip{display:inline-grid;place-items:center;min-width:66px;padding:8px 12px;border-radius:10px;color:#fff;font-weight:750;font-size:14px;
  box-shadow:0 2px 6px rgba(30,20,60,.16);}
.ptm-badge-big .ptm-tb-chip{font-size:19px;min-width:92px;padding:12px 16px;}
.ptm-stage-m{display:flex;flex-direction:column;align-items:center;gap:2px;border-left:1px dashed var(--line);border-right:1px dashed var(--line);}
.ptm-stage-m span{font-size:20px;color:var(--sub);}
.ptm-stage-m b{font:850 56px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--pri);}
.ptm-stage-m em{font-size:13px;font-weight:700;color:var(--sub);}
.ptm-calc{margin:2px 0 0;font:600 13px/1.7 ui-monospace,Menlo,monospace;color:var(--sub);}
.ptm-lists{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.ptm-list{padding:18px;}
.ptm-list h2{font-size:16px;font-weight:750;display:flex;flex-direction:column;gap:3px;margin-bottom:12px;}
.ptm-list h2 span{font-size:11.5px;font-weight:400;color:var(--sub);}
.ptm-chiprow{display:flex;flex-wrap:wrap;gap:6px;}
.ptm-chiprow .ptm-tb-chip{min-width:0;padding:5px 9px;font-size:12px;border-radius:7px;}
.ptm-chiprow em{font-style:normal;font-size:12px;color:var(--sub);align-self:center;}
.ptm-list p{margin:10px 0 0;font-size:12.5px;color:var(--sub);line-height:1.75;}
.ptm-panel{padding:20px 22px;margin-bottom:14px;}
.ptm-h2{font-size:19px;font-weight:750;margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;}
.ptm-h2 span{font-size:12.5px;font-weight:400;color:var(--sub);}
.ptm-tw{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:520px;}
.ptm-matrix{border-collapse:separate;border-spacing:0;font-size:11.5px;min-width:900px;width:100%;}
.ptm-matrix th,.ptm-matrix td{padding:5px 4px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;}
.ptm-matrix thead th{position:sticky;top:0;z-index:3;background:var(--pri-soft);font-weight:700;color:var(--ink);}
.ptm-matrix thead th:first-child{left:0;z-index:5;}
.ptm-matrix tbody th{position:sticky;left:0;z-index:2;background:var(--card);font-weight:700;cursor:pointer;}
.ptm-matrix td{cursor:pointer;font-family:ui-monospace,Menlo,monospace;font-weight:700;transition:transform .12s,box-shadow .12s;}
.ptm-matrix td:hover{transform:scale(1.12);box-shadow:0 0 0 2px var(--pri);z-index:1;position:relative;}
.ptm-matrix td.is-row{outline:2px solid var(--pri);outline-offset:-2px;}
.ptm-matrix th.is-col{background:var(--pri);color:#fff;}
.ptm-matrix th.is-rowhead{background:var(--pri);color:#fff;}
.ptm-matrix td.m0{background:#e7e3ef;color:#7a7290;} .ptm-matrix td.m025{background:#d7e9f3;color:#2b607c;}
.ptm-matrix td.m05{background:#e3f0e6;color:#39724b;} .ptm-matrix td.m1{background:var(--card);color:var(--sub);}
.ptm-matrix td.m2{background:#fde4de;color:#b04a35;} .ptm-matrix td.m4{background:#f8c9cf;color:#9c2340;}
:root[data-theme="dark"] .ptm-matrix td.m0{background:#2a2438;color:#8f86a3;}
:root[data-theme="dark"] .ptm-matrix td.m025{background:#1d3748;color:#8ec6e6;}
:root[data-theme="dark"] .ptm-matrix td.m05{background:#234031;color:#8ed7a6;}
:root[data-theme="dark"] .ptm-matrix td.m1{background:var(--card);color:var(--sub);}
:root[data-theme="dark"] .ptm-matrix td.m2{background:#4a2a2b;color:#f0a08e;}
:root[data-theme="dark"] .ptm-matrix td.m4{background:#5c2736;color:#ffb3c4;}
.ptm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;font-size:12px;color:var(--sub);}
.ptm-legend i{font-style:normal;padding:3px 8px;border-radius:5px;font-family:ui-monospace,Menlo,monospace;font-weight:700;}
.ptm-legend .m0{background:#e7e3ef;color:#7a7290;} .ptm-legend .m025{background:#d7e9f3;color:#2b607c;}
.ptm-legend .m05{background:#e3f0e6;color:#39724b;} .ptm-legend .m1{background:var(--card);border:1px solid var(--line);color:var(--sub);}
.ptm-legend .m2{background:#fde4de;color:#b04a35;} .ptm-legend .m4{background:#f8c9cf;color:#9c2340;}
.ptm-legend span{margin-left:auto;}
.ptm-ta{min-height:110px;resize:vertical;font:13.5px/1.7 ui-monospace,Menlo,monospace;}
.ptm-tb{width:100%;border-collapse:collapse;font-size:13px;min-width:600px;}
.ptm-tb th,.ptm-tb td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;}
.ptm-tb th{background:var(--pri-soft);font-weight:700;}
.ptm-tb tr:last-child td{border-bottom:none;} .ptm-tb tr:hover td{background:var(--bg);}
.ptm-final{margin-top:2px;}
[hidden]{display:none !important;}

@media (max-width:860px){
  .ptm{padding:18px 0 40px;}
  .ptm-hero{grid-template-columns:1fr;padding:22px 18px;} .ptm-chips{display:none;} .ptm h1{font-size:26px;}
  .ptm-card,.ptm-panel{padding:18px 15px;}
  .ptm-grid,.ptm-lists{grid-template-columns:repeat(2,1fr);}
  .ptm-stage{grid-template-columns:1fr;padding:18px;}
  .ptm-stage-m{border-left:none;border-right:none;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:10px 0;}
  .ptm-stage-r{align-items:flex-start;text-align:left;} .ptm-badges{justify-content:flex-start;}
  .ptm-stage-m b{font-size:44px;}
  .ptm-tw{max-height:400px;}
}
