/* 棋力画像 v5：图表放在统一的浅色“报告纸”上，深色/浅色主题下观感一致 */
.gp5 { --gp-ink: #16241E; --gp-ink2: #4A5A53; --gp-muted: #8A958F; --gp-line: #E6DFD1; --gp-paper: #F7F2E8; --gp-gold: #C8963A; --gp-green: #0F2A20; --gp-teal: #2BA98C; --gp-red: #C75345;
  color: var(--gp-ink); font-size: 13px; line-height: 1.6; }
.gp5 * { box-sizing: border-box; }
.gp5-notice { background: var(--gp-green); color: #F3E9D2; border-radius: 10px; padding: 9px 14px; margin-bottom: 12px; font-size: 12.5px; }
.gp5-group { background: #fff; border: 1px solid var(--gp-line); border-radius: 14px; padding: 16px 18px; margin-bottom: 14px; }
.gp5-group > h2 { margin: 0 0 6px; font-size: 18px; font-weight: 600; color: var(--gp-ink); }
.gp5-section { margin-top: 12px; }
.gp5-section h3 { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--gp-ink); }
.gp5-section h3::before { content: ""; width: 4px; height: 15px; border-radius: 2px; background: var(--gp-gold); align-self: center; }
.gp5-section h3 small { font-weight: 400; font-size: 11.5px; color: var(--gp-muted); }
.gp5-chart { display: block; width: 100%; height: auto; overflow: visible; font-family: inherit; }
.gp5-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 11px; color: var(--gp-ink2); margin-top: 4px; }
.gp5-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 4px; vertical-align: -1px; }
.gp5-legend i.win { background: var(--gp-ink); }
.gp5-legend i.loss { background: #fff; border: 1.5px solid #8F8672; }
.gp5-legend i.unknown { background: #C9C0AE; }
.gp5-note { font-size: 11px; color: var(--gp-muted); margin: 6px 0 0; }
.gp5-locked { background: var(--gp-paper); border-radius: 9px; padding: 9px 13px; margin-top: 10px; font-size: 12px; color: var(--gp-ink2); }
.gp5-kpi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.gp5-kpi div, .gp5-compare div { background: var(--gp-paper); border-radius: 11px; padding: 10px 12px; display: flex; flex-direction: column; }
.gp5-kpi small, .gp5-compare small { color: var(--gp-ink2); font-size: 11px; }
.gp5-kpi b { font-size: 24px; font-weight: 500; line-height: 1.3; }
.gp5-kpi em, .gp5-compare em { font-style: normal; font-size: 11px; color: var(--gp-gold); }
.gp5-compare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gp5-compare b { font-size: 20px; font-weight: 500; }
.gp5-compare em.up { color: var(--gp-teal); }
.gp5-compare em.down { color: var(--gp-red); }
.gp5-hero { display: flex; gap: 16px; align-items: center; background: linear-gradient(135deg, #0F2A20, #1D4636); color: #F3E9D2; border-radius: 14px; padding: 16px 18px; margin-top: 14px; }
.gp5-hero > div { flex: 1; min-width: 0; }
.gp5-hero small { color: #9FB4AB; }
.gp5-hero h4 { margin: 2px 0 6px; font-size: 20px; font-weight: 600; color: #fff; }
.gp5-hero p { margin: 0; font-size: 12.5px; line-height: 1.8; color: #D7E2DD; }
.gp5-hero b { color: #F0C85C; }
.gp5-hero .gp5-chart { width: 170px; flex: none; }
.gp5-tasks article .gp5-chart { max-width: 220px; margin: 6px auto 0; }
.gp5-two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.gp5-board-row { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 18px; align-items: start; }
.gp5-issues { display: grid; gap: 10px; }
.gp5-issues b { display: block; margin-bottom: 4px; }
.gp5-issues p { margin: 2px 0; font-size: 12px; display: flex; gap: 8px; align-items: center; }
.gp5-issues i { font-style: normal; font-size: 10.5px; color: #fff; border-radius: 9px; padding: 0 7px; }
.gp5-issues span { color: var(--gp-muted); }
.gp5-tasks { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.gp5-tasks article { background: var(--gp-paper); border: 1px solid var(--gp-line); border-radius: 12px; padding: 10px 12px; font-size: 12px; display: flex; flex-direction: column; gap: 2px; }
.gp5-tasks b { font-size: 13.5px; }
.gp5-tasks span { color: var(--gp-muted); font-size: 11.5px; }
.gp5-tasks em { font-style: normal; color: var(--gp-teal); }
.gp5-tasks p { margin: 4px 0 0; }
.gp5-plan { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.gp5-plan div { background: var(--gp-paper); border-radius: 9px; padding: 7px 4px; text-align: center; font-size: 11px; line-height: 1.5; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.gp5-plan div.last { background: var(--gp-green); color: #F3E9D2; }
.gp5-plan b { color: var(--gp-gold); font-size: 11.5px; }
.gp5-plan i { width: 12px; height: 12px; border: 1.2px solid var(--gp-muted); border-radius: 3px; margin-top: 4px; }
.gp5-strengths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gp5-strengths div { background: var(--gp-paper); border-radius: 12px; padding: 12px 14px; }
.gp5-strengths div.best { background: #E9F7F2; }
.gp5-strengths small { color: var(--gp-ink2); }
.gp5-strengths div.best small { color: var(--gp-teal); }
.gp5-strengths b { display: block; font-size: 24px; font-weight: 500; margin: 2px 0 8px; }
.gp5-strengths i { display: block; height: 6px; border-radius: 3px; background: #EFEAE0; }
.gp5-strengths i span { display: block; height: 100%; border-radius: 3px; background: #6E9C8A; }
.gp5-strengths div.best i span { background: var(--gp-teal); }
.gp5-parent { background: #E9F7F2; color: var(--gp-ink2); border-radius: 9px; padding: 9px 12px; }
.gp5-teacher { margin-top: 12px; background: var(--gp-paper); border-radius: 10px; padding: 10px 13px; }
.gp5-teacher p { margin: 4px 0 0; font-size: 12px; color: var(--gp-ink2); }
@media (max-width: 760px) {
  .gp5-group { padding: 12px; }
  .gp5-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gp5-two, .gp5-board-row, .gp5-strengths, .gp5-compare { grid-template-columns: 1fr; }
  .gp5-plan { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gp5-hero { flex-direction: column; align-items: stretch; }
  .gp5-hero .gp5-chart { width: 150px; margin: 0 auto; }
}
/* AI鉴定：样本偏少的友情提示 */
.gph{--gph-pink:#ce668f;--gph-ink:#263e3d;--gph-line:#e6ddcc;--gph-paper:#fffdf8;color:var(--gph-ink);margin-top:14px}.gph button{font:inherit;cursor:pointer;box-sizing:border-box}.gph-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.gph-head small{font-size:11px;letter-spacing:1px;color:#94702e}.gph-head h3{font-size:21px;margin:3px 0;font-weight:500}.gph-head>span{font-size:12px;color:#777b70}.gph-tabs{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;background:#f1ecdf;border-radius:8px;margin-bottom:19px}.gph-tabs button{padding:7px 15px;background:none;border:0;border-radius:5px;font-size:12px;color:#697063}.gph-tabs button[aria-pressed=true]{background:#fffdf8;color:#263e3d;box-shadow:0 1px 4px #0000000a}.gph-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}.gph-caption{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:9px}.gph-caption span{color:#777b70;font-size:11px}.gph-board{position:relative;aspect-ratio:1;isolation:isolate}.gph-board>svg{display:block;width:100%;height:auto;border-radius:8px}.gph-spot{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border:0;padding:0;background:transparent;display:grid;place-items:center}.gph-spot>span{width:24px;height:24px;border-radius:50%;background:#f1a0bf;color:#662c44;border:1px solid #fffdf8;display:grid;place-items:center;font:500 13px/1 Arial,sans-serif;pointer-events:none}.gph-spot[aria-pressed=true]>span{outline:1.5px solid #ce668f;outline-offset:2px}.gph-legend{display:flex;align-items:center;gap:7px;font-size:11px;color:#697063;margin:11px 0 6px}.gph-legend i{width:80px;height:6px;background:linear-gradient(90deg,#f8e5ec,#ce668f);border-radius:3px}.gph-legend>span:last-child{margin-left:auto}.gph-note{font-size:11px;color:#697063;line-height:1.8;margin:8px 0}.gph-card{display:block;width:100%;border:1px solid var(--gph-line);border-radius:8px;background:var(--gph-paper);text-align:left;padding:12px;margin-bottom:10px}.gph-card[aria-pressed=true]{border-color:#94702e;background:#faf5eb;box-shadow:inset 3px 0 #94702e}.gph-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gph-card-title>span{color:#94702e;font:18px/1 Georgia,serif}.gph-card-title strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.gph-card-title b{margin-left:auto;font-weight:500;font-size:16px;white-space:nowrap}.gph-meta{display:block;color:#697063;font-size:11px;margin:7px 0}.gph-track{display:block;height:4px;background:#f1ecdf;border-radius:2px;overflow:hidden}.gph-track i{height:100%;display:block;background:#ce668f;opacity:.8}.gph-reading{display:block;font-size:12px;line-height:1.8;margin-top:8px}.gph-detail{border:1px solid var(--gph-line);border-radius:10px;background:var(--gph-paper);margin-top:18px;padding:16px}.gph-detail h4{display:flex;justify-content:space-between;gap:9px;margin:0 0 13px;font-size:14px;font-weight:500}.gph-detail h4 small{font-size:11px;color:#697063;font-weight:400}.gph-position{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:18px}.gph-position svg{width:100%;height:auto;display:block}.gph-position p{font-size:12px;line-height:1.8}.gph-position strong{font-size:14px;font-weight:500}.gph-position-tabs,.gph-reps{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.gph-position button{border:1px solid var(--gph-line);border-radius:5px;background:#fffdf8;padding:6px 10px;font-size:12px}.gph-position button[aria-pressed=true]{background:#ede2c8;border-color:#94702e}.gph-position button:disabled{opacity:.5;cursor:default}.gp6-learner .gph{--gph-ink:#4a5a53}
@media(max-width:760px){.gph-main{grid-template-columns:1fr;gap:18px}.gph-head{align-items:flex-start;flex-wrap:wrap}.gph-tabs{width:100%;justify-content:space-between}.gph-tabs button{padding:7px 10px}.gph-position{grid-template-columns:1fr}.gph-position>div:first-child{max-width:300px;width:100%;margin:auto}.gph-detail{padding:12px}.gph-card-title b{font-size:15px}}
@media(pointer:coarse){.gph-spot{width:44px;height:44px}.gph-tabs button,.gph-position button{min-height:44px}}
.gph{max-width:1100px;margin:14px auto 0}.gph-main{grid-template-columns:minmax(0,500px) minmax(0,1fr)}
@media(max-width:760px){.gph-main{grid-template-columns:1fr}}
.rv-fp-sample-tip { margin: 6px 0; padding: 7px 10px; border-radius: 6px; background: rgba(43,169,140,0.12); border-left: 2px solid #2BA98C; font-size: 11px; line-height: 1.6; }

/* v6：沿用纸面与赭金图表，手机自动换行。 */
.gp6-layer{display:grid;grid-template-columns:90px minmax(0,1fr) 65px;gap:12px;align-items:center;margin:20px 0}.gp6-layer small{display:block;font-size:11px;color:var(--gp-ink2)}.gp6-layer i{display:block;height:14px;border-radius:8px;background:#EFEAE0}.gp6-layer em{display:block;height:100%;border-radius:8px}.gp6-layer strong{font-size:22px;font-weight:500}.gp6-reading{padding:14px;background:#FBF4DF;border-left:4px solid #C9952E;border-radius:8px;line-height:1.9}.gp6-exercise{background:#EDF6F2;padding:12px;border-radius:8px}.gp6-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gp6-metric-grid article{min-width:0;background:#F7F3E9;border:1px solid #D8CFB8;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.gp6-metric-grid article>b{font-size:20px;font-weight:500;overflow-wrap:anywhere}.gp6-positions{display:flex;gap:12px;flex-wrap:wrap}.gp6-positions article{flex:1 1 180px;max-width:240px}.gp6-positions .gp5-chart{width:100%}.gp6-learner{--gp-green:#9A6F1E;--gp-teal:#B28C4B;--gp-ink:#4A5A53;--gp-ink2:#4A5A53}.gp6-learner .gp5-notice,.gp6-learner .gp5-hero{background:linear-gradient(135deg,#FBF4DF,#F3EEE4);border:1px solid #E2CF9F;color:#4A5A53}.gp6-learner .gp5-hero h4,.gp6-learner .gp5-hero p,.gp6-learner .gp5-hero small{color:#4A5A53}.gp6-learner .gp6-exercise,.gp6-learner .gp5-parent,.gp6-learner .gp5-strengths div.best{background:#FBF4DF}.gp6-learner .gp5-strengths i span{background:#B28C4B}.gp6-learner .gp5-plan div.last{background:#F3EEE4;color:#4A5A53}
@media(max-width:500px){.gp6-layer{grid-template-columns:65px minmax(0,1fr) 42px;gap:6px}.gp6-layer strong{font-size:18px}.gp6-layer small{font-size:10px}.gp6-metric-grid article{padding:10px}.gp6-metric-grid article>b{font-size:17px}.gp6-positions article{max-width:100%}}
