{"id":1522,"date":"2026-06-23T22:51:59","date_gmt":"2026-06-23T14:51:59","guid":{"rendered":"https:\/\/qubitledge.com\/?p=1522"},"modified":"2026-06-23T22:52:00","modified_gmt":"2026-06-23T14:52:00","slug":"%e6%91%a9%e6%b4%9b%e5%93%a5%ef%bc%9a%e9%98%bf%e7%89%b9%e6%8b%89%e6%96%af%e9%9b%84%e7%8b%ae","status":"publish","type":"post","link":"https:\/\/qubitledge.com\/index.php\/2026\/06\/23\/%e6%91%a9%e6%b4%9b%e5%93%a5%ef%bc%9a%e9%98%bf%e7%89%b9%e6%8b%89%e6%96%af%e9%9b%84%e7%8b%ae\/","title":{"rendered":"\u6469\u6d1b\u54e5\uff1a\u963f\u7279\u62c9\u65af\u96c4\u72ee"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n\n<!DOCTYPE html>\n<!--\n  ============================================================\n  World Cup 2026 \u7403\u961f\u4ecb\u7ecd\u9875 \u00b7 \u901a\u7528\u6a21\u677f (world-cup-squad-page skill)\n  ------------------------------------------------------------\n  \u672c\u6a21\u677f\u7531\u897f\u73ed\u7259\u7248 spain-2026.html \u8131\u654f\u800c\u6765\u3002\n  \u6240\u6709 CSS \u5e03\u5c40\u3001JS \u4ea4\u4e92\u903b\u8f91\u4fdd\u6301\u4e0d\u53d8\uff1b\u53ea\u9700\u66ff\u6362\u4ee5\u4e0b\u4e09\u7c7b\u5185\u5bb9\uff1a\n    1) {{\u5360\u4f4d\u7b26}} \u6587\u672c  \u2014\u2014 \u7403\u961f\u540d \/ \u6559\u7ec3 \/ \u4ecb\u7ecd\u6587\u6848\u7b49\n    2) :root \u914d\u8272\u53d8\u91cf    \u2014\u2014 \u89c1 references\/palette-guide.md\n    3) SQUAD\/LEGENDS\/FORMATIONS\/LINEUPS \u56db\u4e2a JS \u6570\u7ec4\n  \u6ce8\u5165\u6570\u636e\u65f6\u8bf7\u5220\u9664 {{ }} \u5305\u88f9\u7684\u5360\u4f4d\u7b26\u4e0e\u914d\u5957\u6ce8\u91ca\u3002\n  \u4fdd\u7559\u6240\u6709 class\u3001id\u3001JS \u51fd\u6570\u3001\u54cd\u5e94\u5f0f CSS \u4e00\u5b57\u4e0d\u52a8\u3002\n  ============================================================\n-->\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>\u963f\u7279\u62c9\u65af\u96c4\u72ee \u00b7 Morocco 2026 World Cup Squad<\/title>\n<style>\n\/* ============ \u5168\u5c40\u53d8\u91cf \/ \u7403\u961f\u914d\u8272 ============\n   \u4ee5\u4e0b 11 \u4e2a\u53d8\u91cf\u6309 references\/palette-guide.md \u63a8\u5bfc\u540e\u586b\u5165\u3002\n   \u8bed\u4e49\uff08\u66ff\u6362\u65f6\u6539\u8272\u503c\uff0c\u4fdd\u7559\u53d8\u91cf\u540d\u4e0e\u6ce8\u91ca\uff09\uff1a\n     --c1   \u4e3b\u8272\uff08\u7403\u8863\/\u56fd\u65d7\u4e3b\u8272\uff0c\u5982\u7ea2\/\u84dd\/\u9ec4\uff09\n     --c1-dark  \u4e3b\u8272\u52a0\u6df1\uff08\u7528\u4e8e\u6807\u9898\u63cf\u8fb9\/\u6697\u89d2\uff09\n     --c1-2     \u4e3b\u8272\u6b21\u6df1\uff08\u6e10\u53d8\u4e2d\u95f4\u503c\uff09\n     --c2   \u590d\u53e4\u91d1 \/ \u8f85\u8272\uff08\u70b9\u7f00\u3001\u5956\u724c\u8272\uff09\n     --c2-soft  \u6d45\u91d1\uff08\u6b21\u6807\u9898\u3001\u526f\u5b57\uff09\n     --c3   \u4eae\u8f85\u8272\uff08\u65d7\u5e1c\u9ec4\u7b49\uff0c\u7528\u4e8e\u6a2a\u8fb9\/\u5149\u73af\uff09\n     --ink  \u6696\u58a8\u8272\uff08\u6b63\u6587\u6587\u5b57\u4e3b\u8272\uff0c\u504f\u6696\u6df1\u8910\/\u6df1\u7eff\uff09\n     --paper  \u7eb8\u5f20\u5e95\u8272\uff08\u6781\u6d45\u7c73\u767d\uff09\n     --cream  \u5361\u7247\u5e95\u8272\uff08\u6d45\u7c73\uff09\n     --cream-2 \u5361\u7247\u6b21\u5e95\u8272\uff08\u6df1\u4e00\u70b9\u7684\u7c73\uff09\n     --line  \u5206\u9694\u7ebf \/ \u8fb9\u6846\uff08\u6d45\u7c73\u8910\uff09\n     --navy  \u6df1\u4e3b\u8272\uff08\u6807\u9898\u3001\u6807\u7b7e\u5e95\u8272\uff09\n   \u4e0b\u9762\u6ce8\u91ca\u91cc \"\u897f\uff1a\" \u4e3a\u897f\u73ed\u7259\u7248\u7684\u5bf9\u5e94\u53d6\u503c\uff0c\u4ec5\u4f9b\u53c2\u8003\u3002\n================================================ *\/\n:root{\n  --c1:#c1272d;          \/* \u6469\u6d1b\u54e5\uff1a\u56fd\u65d7\u7ea2 \u2014\u2014 \u4e3b\u8272 *\/\n  --c1-dark:#8a1b1f;     \/* \u6469\u6d1b\u54e5\uff1a\u4e3b\u8272\u52a0\u6df1 *\/\n  --c1-2:#a62126;       \/* \u6469\u6d1b\u54e5\uff1a\u4e3b\u8272\u6b21\u6df1 *\/\n  --c2:#b8860b;          \/* \u6469\u6d1b\u54e5\uff1a\u590d\u53e4\u91d1 *\/\n  --c2-soft:#e6c14b;    \/* \u6469\u6d1b\u54e5\uff1a\u6d45\u91d1 *\/\n  --c3:#006233;          \/* \u6469\u6d1b\u54e5\uff1a\u56fd\u65d7\u7eff\uff08\u4e94\u89d2\u661f\uff09 *\/\n  --ink:#2b1d10;         \/* \u6469\u6d1b\u54e5\uff1a\u6696\u8910\u58a8\u8272 *\/\n  --paper:#fdfbf5;       \/* \u901a\u7528\uff1a\u6781\u6d45\u7c73\u767d *\/\n  --cream:#faf6ec;       \/* \u901a\u7528\uff1a\u5361\u7247\u5e95 *\/\n  --cream-2:#f1ead6;     \/* \u901a\u7528\uff1a\u5361\u7247\u6b21\u5e95 *\/\n  --line:#e0d8c2;        \/* \u901a\u7528\uff1a\u5206\u9694\u7ebf *\/\n  --navy:#8a1b1f;        \/* \u6469\u6d1b\u54e5\uff1a\u6df1\u4e3b\u8272 *\/\n}\n\n*{box-sizing:border-box;margin:0;padding:0}\nhtml,body{min-height:100%}\nbody{\n  font-family: Georgia, 'Times New Roman', 'Songti SC', 'STSong', serif;\n  color:var(--ink);\n  background:\n    repeating-linear-gradient(45deg, rgba(0,0,0,.022) 0 2px, transparent 2px 14px),\n    var(--paper);\n  \/* \u2191 \u6ce8\u610f\uff1a\u659c\u7eb9\u5e95\u8272\u7528\u4e3b\u8272 alpha\uff0c\u6362\u961f\u65f6\u628a rgba(198,11,30,...) \u6539\u6210\u65b0 --c1 \u7684 rgb *\/\n  line-height:1.6;\n}\n\/* \u2014\u2014 \u6362\u961f\u65f6\u5168\u5c40\u641c\u7d22 \"198,11,30\" \u5e76\u66ff\u6362\u4e3a\u65b0\u4e3b\u8272 RGB\uff08\u5171\u591a\u5904 box-shadow\/rgba\uff09\u2014\u2014 *\/\nbutton{font-family:inherit;cursor:pointer;border:none;background:none}\nselect{font-family:inherit}\n\n\/* ============ \u9876\u90e8\u6a2a\u5e45 ============ *\/\n.banner{\n  background:var(--c1);\n  color:#fff;\n  padding:46px 20px 40px;\n  text-align:center;\n  border:6px solid var(--c3);\n  box-shadow:0 0 0 4px var(--c1-dark);\n  position:relative;\n  overflow:hidden;\n}\n.banner::before{display:none}\n.banner::after{display:none}\n.crest{\n  display:inline-flex;align-items:center;justify-content:center;\n  width:54px;height:54px;border-radius:50%;\n  background:#fff;\n  box-shadow:0 0 0 4px var(--c2), 0 6px 18px rgba(0,0,0,.35);\n  margin-bottom:14px;position:relative;overflow:hidden;\n}\n\/* \u2014\u2014 \u56fd\u65d7\u5fbd\u7ae0\uff1a\u6469\u6d1b\u54e5\u4e3a\u6a21\u5f0f C\uff08\u7ea2\u5e95 + \u5c45\u4e2d\u7684\u7eff\u8272\u4e94\u89d2\u661f\uff09\u3002\n\t      \u7528 --c1\uff08\u7ea2\uff09\u4f5c\u6574\u9762\u5e95\uff0c--c3\uff08\u7eff\uff09\u4f5c\u4e94\u89d2\u661f\u3002 \u2014\u2014 *\/\n.crest .bars{width:30px;height:30px;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;position:relative;background:var(--c1)}\n.crest .bars i{display:block;width:100%;height:100%;background:var(--c1)}\n.crest .bars .flag-star{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--c3);pointer-events:none}\n.crest .bars i:nth-child(2),.crest .bars i:nth-child(3){display:none}\n.banner h1{\n  font-size:clamp(38px,6.5vw,68px);\n  letter-spacing:.04em;\n  font-weight:700;\n  line-height:1.05;\n  margin-bottom:10px;\n  text-shadow:0 2px 0 var(--c1-dark);\n}\n.banner h1 .en-name{\n  color:var(--c2-soft);\n  font-size:.62em;\n  font-style:italic;\n  font-weight:400;\n  letter-spacing:.02em;\n  display:inline-block;\n  vertical-align:middle;\n}\n.banner .sub{\n  font-style:italic;\n  color:#fff;\n  letter-spacing:.2em;\n  font-size:clamp(14px,2vw,19px);\n  text-transform:uppercase;\n  font-weight:600;\n}\n.banner .sub2{\n  color:#f6dfe0;  \/* \u2191 \u6362\u961f\uff1a\u6539\u6210\u65b0\u4e3b\u8272\u7684\u6d45 tint\uff0c\u5982\u84dd\u961f\u7528 #d8e4ff *\/\n  font-size:clamp(11px,1.5vw,13px);\n  letter-spacing:.1em;\n  margin-top:4px;\n}\n.banner .manager{\n  margin-top:12px;\n  font-size:13px;color:#f0c8cc;  \/* \u2191 \u6362\u961f\uff1a\u540c\u4e0a\u6539\u6210\u6d45 tint *\/\n  letter-spacing:.1em;\n}\n.banner .manager b{color:#fff}\n\n\/* ============ \u7403\u961f\u4ecb\u7ecd\u533a ============ *\/\n.about{\n  max-width:1080px;margin:0 auto;padding:36px 22px 8px;\n}\n.about-card{\n  background:var(--cream);\n  border:1px solid var(--line);\n  border-top:4px double var(--c1);\n  padding:28px 30px 30px;\n  position:relative;\n  box-shadow:0 2px 0 rgba(0,0,0,.06);\n}\n.about-card::before{\n  content:\"EST. 1955\";  \/* \u6469\u6d1b\u54e5\u8db3\u534f\u6210\u7acb\u5e74\u4efd 1955 *\/\n  position:absolute;top:-13px;right:24px;\n  background:var(--paper);color:var(--c2);\n  border:1px solid var(--c2);border-radius:2px;\n  font-size:11px;letter-spacing:.2em;padding:2px 10px;font-weight:700;\n}\n.about h2{\n  color:var(--c1);font-size:22px;letter-spacing:.05em;\n  margin-bottom:6px;border-bottom:1px solid var(--line);padding-bottom:10px;\n  display:flex;align-items:center;gap:10px;\n}\n.about h2::before{content:\"\u00a7\";color:var(--c1-dark);font-style:italic;font-size:26px}\n.about p{margin:12px 0;color:#333;font-size:15.5px}\n.about .lead{font-size:16px;color:var(--ink)}\n.about .lead b{color:var(--c1)}\n\n\/* \u8363\u8a89\u6761 *\/\n.honors{\n  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));\n  gap:12px;margin-top:20px;\n}\n.honor{\n  background:#fff;border:1px solid var(--line);\n  border-left:4px solid var(--c1);\n  padding:12px 14px;\n}\n.honor .t{font-size:11px;letter-spacing:.16em;color:#8a7e5d;text-transform:uppercase}\n.honor .v{font-size:17px;color:var(--c1-dark);font-weight:700;margin-top:3px}\n.honor .v small{color:var(--c2);font-weight:600;font-size:12px;letter-spacing:.05em;display:block;margin-top:2px}\n\n\/* ============ Tab \u5bfc\u822a ============ *\/\n.tabs-wrap{\n  max-width:1080px;margin:30px auto 0;padding:0 22px;\n}\n.tabs{\n  display:flex;gap:0;border-bottom:2px solid var(--c1);\n  flex-wrap:wrap;\n}\n.tab{\n  padding:13px 26px;\n  background:var(--cream-2);color:var(--c1-dark);\n  border:1px solid var(--line);border-bottom:none;\n  font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;\n  margin-right:4px;border-radius:8px 8px 0 0;\n  transition:all .2s;position:relative;top:2px;\n}\n.tab:hover{background:#fff}\n.tab.active{\n  background:var(--c1);color:#fff;\n  border-color:var(--c1);\n}\n.tab.active::after{\n  content:\"\";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--c2);\n}\n\n\/* ============ \u5185\u5bb9\u9762\u677f ============ *\/\n.panel{\n  max-width:1080px;margin:0 auto;padding:24px 22px 60px;\n  display:none;\n}\n.panel.active{display:block;animation:fade .35s ease}\n@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}\n\n.panel-title{\n  color:var(--c1-dark);font-size:18px;letter-spacing:.06em;\n  margin-bottom:14px;display:flex;align-items:center;gap:10px;\n}\n.panel-title .bar{width:36px;height:3px;background:var(--c1)}\n\n\/* ============ \u9635\u578b\u9009\u62e9\u5668 ============ *\/\n.formation-bar{\n  display:flex;gap:10px;flex-wrap:wrap;align-items:center;\n  margin-bottom:18px;\n}\n.formation-bar .label{\n  font-size:12px;letter-spacing:.16em;color:#6a6a6a;text-transform:uppercase;font-weight:700;\n}\n.fbtn{\n  padding:8px 18px;background:#fff;border:1.5px solid var(--c1);\n  color:var(--c1-dark);font-weight:700;letter-spacing:.08em;border-radius:4px;\n  transition:all .18s;\n}\n.fbtn:hover{background:var(--cream)}\n.fbtn.on{background:var(--c1);color:#fff;border-color:var(--c1)}\n.fbtn .pos-mini{font-size:10px;color:#999;font-weight:400;letter-spacing:0;margin-left:6px}\n.fbtn.on .pos-mini{color:#f6c9cf}  \/* \u2191 \u6362\u961f\uff1a\u6d45 tint *\/\n\n\/* ============ \u7403\u573a ============ *\/\n.pitch-wrap{\n  background:linear-gradient(180deg,#1c5e2e 0%,#237238 100%);\n  border:6px solid var(--c1-dark);\n  border-radius:14px;\n  padding:14px;\n  box-shadow:0 8px 24px rgba(0,0,0,.18);\n}\n.pitch{\n  position:relative;\n  width:100%;aspect-ratio:3\/4;\n  background:\n    repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0 5%, rgba(255,255,255,.07) 5% 10%);\n  border:3px solid rgba(255,255,255,.85);\n  border-radius:8px;\n  overflow:hidden;\n}\n.pitch::before{\n  content:\"\";position:absolute;left:0;right:0;top:50%;height:2px;\n  background:rgba(255,255,255,.7);transform:translateY(-50%);\n}\n.center-circle{\n  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);\n  width:22%;aspect-ratio:1;border:2px solid rgba(255,255,255,.7);border-radius:50%;\n}\n.center-spot{\n  position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;\n  background:rgba(255,255,255,.8);transform:translate(-50%,-50%);\n}\n.pen-box-top, .penBoxBot{\n  position:absolute;left:50%;transform:translateX(-50%);\n  width:50%;height:16%;\n  border:2px solid rgba(255,255,255,.7);\n  border-radius:0;\n}\n.pen-box-top{top:0;border-top:none}\n.penBoxBot{bottom:0;border-bottom:none}\n.pen-arc-top, .penArcBot{\n  position:absolute;left:50%;transform:translateX(-50%);\n  width:30%;height:9%;border:2px solid rgba(255,255,255,.7);border-radius:0;\n}\n.pen-arc-top{top:16%;border-top:none}\n.penArcBot{bottom:16%;border-bottom:none}\n\n\/* \u7403\u5458\u6807\u8bb0 *\/\n.marker{\n  position:absolute;\n  transform:translate(-50%,-50%);\n  display:flex;flex-direction:column;align-items:center;\n  transition:left .5s cubic-bezier(.4,1.2,.5,1), top .5s cubic-bezier(.4,1.2,.5,1);\n  cursor:pointer;z-index:3;\n  width:54px;\n}\n.marker .dot{\n  width:46px;height:46px;border-radius:50%;\n  background:radial-gradient(circle at 35% 30%, #fff, #f0ece0);\n  border:3px solid var(--c1-dark);\n  display:flex;align-items:center;justify-content:center;\n  font-weight:700;color:var(--c1);font-size:18px;\n  box-shadow:0 3px 8px rgba(0,0,0,.35);\n  transition:transform .18s, box-shadow .18s, border-color .18s;\n  font-family:Georgia,serif;\n}\n.marker:hover .dot{\n  transform:scale(1.12) translateY(-2px);\n  box-shadow:0 8px 18px rgba(0,0,0,.4);\n  border-color:var(--c2);\n}\n.marker .pname{\n  margin-top:5px;font-size:11px;color:#fff;font-weight:700;\n  text-shadow:0 1px 3px rgba(0,0,0,.9);\n  white-space:nowrap;letter-spacing:.02em;\n  max-width:78px;overflow:hidden;text-overflow:ellipsis;\n}\n.marker .pos-tag{\n  position:absolute;top:-8px;right:-4px;\n  background:var(--c1);color:#fff;\n  font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;\n  letter-spacing:.06em;font-family:Arial,sans-serif;\n  border:1px solid #fff;\n}\n.marker.captain .dot{border-color:var(--c2);box-shadow:0 0 0 2px var(--c2),0 3px 8px rgba(0,0,0,.4)}\n.marker.star .dot::after{\n  content:\"\u2605\";position:absolute;top:-14px;color:var(--c2);\n  font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.5);\n}\n\n\/* \u9635\u578b\u56fe\u56fe\u4f8b *\/\n.legend{\n  display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;\n  font-size:12px;color:#555;align-items:center;\n  padding:10px 14px;background:var(--cream);border:1px solid var(--line);border-radius:6px;\n}\n.legend .item{display:flex;align-items:center;gap:6px}\n.legend .sw{width:14px;height:14px;border-radius:50%;border:2px solid var(--c1-dark);background:#fff}\n.legend .sw.gold{border-color:var(--c2);box-shadow:0 0 0 1.5px var(--c2)}\n.legend .sw.star{background:var(--c1)}\n.pos-gloss{\n  margin-top:10px;font-size:12px;color:#777;font-style:italic;\n}\n.pos-gloss b{color:var(--c1-dark);font-style:normal}\n\n\/* ============ \u9635\u5bb9\u540d\u5355 ============ *\/\n.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}\n.filter-btn{\n  padding:9px 20px;background:#fff;border:1.5px solid var(--line);\n  color:#555;font-weight:700;letter-spacing:.08em;border-radius:4px;font-size:13px;\n  transition:all .15s;text-transform:uppercase;\n}\n.filter-btn:hover{border-color:var(--c1);color:var(--c1-dark)}\n.filter-btn.on{background:var(--c1);color:#fff;border-color:var(--c1)}\n.filter-btn .cnt{font-size:11px;color:#aaa;margin-left:6px;font-weight:400}\n.filter-btn.on .cnt{color:#f6c9cf}  \/* \u2191 \u6362\u961f\uff1a\u6d45 tint *\/\n\n.squad-grid{\n  display:grid;\n  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));\n  gap:14px;\n}\n.pcard{\n  background:var(--cream);\n  border:1px solid var(--line);\n  border-top:3px solid var(--c1);\n  padding:14px;cursor:pointer;\n  transition:transform .18s, box-shadow .18s, border-color .18s;\n  position:relative;\n  display:flex;flex-direction:column;gap:8px;\n}\n.pcard:hover{\n  transform:translateY(-3px);\n  box-shadow:0 8px 18px rgba(0,0,0,.15);\n  border-top-color:var(--c2);\n}\n.pcard .num{\n  position:absolute;top:10px;right:12px;\n  font-size:30px;color:rgba(0,0,0,.15);font-weight:700;font-style:italic;\n}\n.pcard .prow1{display:flex;align-items:center;gap:10px}\n.pcard .pavatar{\n  width:44px;height:44px;border-radius:50%;overflow:hidden;\n  background:linear-gradient(135deg,var(--c1),var(--c1-dark));\n  color:#fff;display:flex;align-items:center;justify-content:center;\n  font-weight:700;font-size:15px;flex-shrink:0;\n  border:2px solid var(--c2);\n}\n.pcard .pavatar img{width:100%;height:100%;object-fit:cover}\n.pcard .pavatar.noimg span{display:flex}\n.pcard .names{flex:1;min-width:0}\n.pcard .en{font-weight:700;color:var(--c1-dark);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.pcard .zh{font-size:12px;color:#666}\n.pcard .pos-rating{display:flex;justify-content:space-between;align-items:center}\n.pcard .pos-badges{display:flex;gap:4px;flex-wrap:wrap}\n.pos-badge{\n  font-family:Arial,sans-serif;font-size:10px;font-weight:700;\n  padding:2px 7px;border-radius:3px;letter-spacing:.06em;\n  background:var(--c1-dark);color:#fff;\n}\n.pos-badge.GK{background:#5a4a1a}   \/* \u2191 \u6362\u961f\uff1a\u53ef\u4fdd\u7559\u6216\u8c03\u6210\u8be5\u961f\u6df1\u91d1 *\/\n.pos-badge.DEF{background:var(--c1-dark)}\n.pos-badge.MID{background:#2d6b2d}  \/* \u4e2d\u573a\u7edf\u4e00\u6df1\u7eff\uff0c\u8de8\u961f\u901a\u7528 *\/\n.pos-badge.FWD{background:var(--c1)}\n.pcard .rating{\n  font-weight:700;color:var(--c1);font-size:20px;font-family:Georgia,serif;\n}\n.pcard .rating small{font-size:10px;color:#999;font-weight:400}\n.pcard .club{font-size:11px;color:#888;font-style:italic;border-top:1px dashed var(--line);padding-top:6px}\n\n\/* ============ \u7403\u5458\u5bf9\u6bd4 ============ *\/\n.vs-wrap{display:flex;flex-direction:column;gap:18px}\n.vs-pickers{\n  display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;\n  background:var(--cream);border:1px solid var(--line);padding:18px;border-radius:8px;\n}\n.vs-picker label{font-size:11px;color:#888;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:6px;font-weight:700}\n.vs-picker select{\n  width:100%;padding:10px 12px;border:1.5px solid var(--c1);\n  border-radius:4px;font-size:14px;background:#fff;color:var(--c1-dark);\n}\n.vs-badge{\n  width:54px;height:54px;border-radius:50%;\n  background:var(--c1);color:#fff;\n  display:flex;align-items:center;justify-content:center;\n  font-weight:700;font-style:italic;font-size:20px;letter-spacing:.04em;\n  box-shadow:0 0 0 3px #fff,0 0 0 4px var(--c1);\n  font-family:Georgia,serif;\n}\n.vs-result{\n  display:grid;grid-template-columns:1fr auto 1fr;gap:0;\n  background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;\n}\n.vs-col{padding:22px 20px;display:flex;flex-direction:column;gap:10px;text-align:left;align-items:flex-start}\n.vs-col.left{border-right:1px dashed var(--line)}\n.vs-col.right{border-left:none}\n.vs-col .name{font-size:20px;color:var(--c1-dark);font-weight:700;line-height:1.2;word-break:break-word}\n.vs-col .zh{font-size:13px;color:#777;margin-top:-8px}\n.vs-col .num-big{font-size:14px;color:var(--c2);font-weight:700;font-style:italic;letter-spacing:.1em}\n.vs-mid{\n  display:flex;flex-direction:column;justify-content:center;align-items:center;\n  background:var(--cream-2);padding:18px 16px;gap:10px;\n  min-width:110px;\n}\n.vs-mid .label{font-size:10px;color:#999;letter-spacing:.16em;text-transform:uppercase;font-weight:700}\n.vs-mid .val{font-size:13px;color:var(--c1-dark);font-weight:700;text-align:center}\n\n\/* \u8bc4\u5206\u6761 *\/\n.rating-bar-wrap{display:flex;flex-direction:column;gap:6px;width:100%}\n.rating-bar-wrap .top{display:flex;justify-content:space-between;font-size:11px;color:#999;letter-spacing:.1em;text-transform:uppercase}\n.rating-bar-wrap .top b{color:var(--c1-dark);font-size:14px}\n.rating-bar{height:10px;background:var(--cream-2);border-radius:5px;overflow:hidden;border:1px solid var(--line)}\n.rating-bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--c1),var(--c2));border-radius:5px}\n\n.vs-attr{\n  width:100%;max-width:240px;font-size:12px;color:#555;\n}\n.vs-attr .k{font-size:10px;color:#aaa;letter-spacing:.12em;text-transform:uppercase;font-weight:700}\n.vs-attr .v{font-size:13px;color:var(--ink);margin-top:2px}\n\n\/* ============ \u6a21\u6001\u6846 ============ *\/\n.modal-mask{\n  position:fixed;inset:0;background:rgba(30,10,10,.7);\n  display:none;align-items:center;justify-content:center;z-index:100;\n  padding:20px;backdrop-filter:blur(3px);\n}\n.modal-mask.show{display:flex;animation:fade .25s}\n.modal{\n  background:var(--paper);border:6px solid var(--c1);\n  max-width:460px;width:100%;\n  border-radius:8px;overflow:hidden;\n  box-shadow:0 20px 50px rgba(0,0,0,.5);\n  animation:pop .3s cubic-bezier(.3,1.3,.5,1);\n  position:relative;\n}\n@keyframes pop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}\n.modal-head{\n  background:var(--c1);color:#fff;padding:22px 24px 18px;\n  display:flex;gap:16px;align-items:center;position:relative;\n  border-bottom:4px solid var(--c2);\n}\n.modal-head .avatar{\n  width:62px;height:62px;border-radius:50%;overflow:hidden;\n  background:#fff;color:var(--c1-dark);\n  display:flex;align-items:center;justify-content:center;\n  font-size:26px;font-weight:700;flex-shrink:0;\n  border:3px solid var(--c2);\n}\n.modal-head .avatar img{width:100%;height:100%;object-fit:cover}\n.modal-head .h-info{flex:1}\n.modal-head .h-en{font-size:21px;font-weight:700;letter-spacing:.02em}\n.modal-head .h-zh{font-size:13px;color:#f6dfe0;margin-top:2px}  \/* \u2191 \u6362\u961f\uff1a\u6d45 tint *\/\n.modal-head .h-num{font-size:11px;color:var(--c2-soft);letter-spacing:.18em;margin-top:4px;text-transform:uppercase}\n.modal-close{\n  position:absolute;top:10px;right:12px;\n  width:30px;height:30px;border-radius:50%;\n  background:rgba(255,255,255,.15);color:#fff;font-size:20px;\n  display:flex;align-items:center;justify-content:center;\n}\n.modal-close:hover{background:var(--c1-dark)}\n.modal-body{padding:22px 24px 26px}\n.modal-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}\n.modal-row .k{color:#888;font-size:12px;letter-spacing:.1em;text-transform:uppercase}\n.modal-row .v{color:var(--c1-dark);font-weight:700;text-align:right}\n.rating-big{\n  font-size:42px;color:var(--c1);font-weight:700;font-family:Georgia,serif;line-height:1;\n}\n.rating-big small{font-size:14px;color:#999}\n.rating-pct{margin:6px 0 4px}\n.bio{margin-top:14px;font-size:14px;color:#444;line-height:1.7;background:var(--cream);padding:14px;border-left:3px solid var(--c2)}\n.bio b{color:var(--c1-dark)}\n\n\/* \u9875\u811a *\/\nfooter{\n  text-align:center;padding:26px 20px;color:#777;font-size:12px;\n  border-top:1px solid var(--line);background:var(--cream);\n  letter-spacing:.06em;\n}\nfooter b{color:var(--c1-dark)}\n\n\/* ============ \u4e16\u754c\u676f\u8bf4\u660e ============ *\/\n.wc-intro{max-width:1080px;margin:0 auto;padding:30px 22px 0}\n.wc-card{\n  background:linear-gradient(135deg,#fff 0%,var(--cream) 100%);\n  border:1px solid var(--line);\n  border-top:5px solid var(--c1);\n  padding:26px 28px 24px;position:relative;\n  box-shadow:0 2px 0 rgba(0,0,0,.06);\n}\n.wc-badge{\n  position:absolute;top:-14px;right:22px;\n  background:var(--c1);color:#fff;\n  font-size:11px;letter-spacing:.2em;font-weight:700;\n  padding:4px 14px;border-radius:3px;\n  border:1px solid var(--c2);\n}\n.wc-card h2{\n  color:var(--c1-dark);font-size:21px;margin-bottom:8px;\n}\n.wc-card .lead{font-size:15.5px;color:#333;margin:8px 0 14px}\n.wc-card .lead b{color:var(--c1)}\n.wc-hosts{\n  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;\n}\n.host{\n  text-align:center;padding:12px 8px;background:#fff;border:1px solid var(--line);\n  border-radius:4px;\n}\n.host .flag{font-size:28px;display:block;margin-bottom:4px}\n.host b{display:block;color:var(--c1-dark);font-size:14px}\n.host small{color:#999;font-size:11px}\n\n\/* \u9192\u76ee\u805a\u7126\u6761\uff1a\u672c\u961f *\/\n.focus-banner{\n  margin-top:16px;\n  background:linear-gradient(135deg,var(--c1-dark) 0%,var(--c1) 60%,var(--c1-2) 100%);\n  border:2px solid var(--c2);\n  border-radius:8px;\n  padding:22px 24px;\n  display:flex;justify-content:space-between;align-items:center;gap:18px;\n  box-shadow:0 6px 20px rgba(0,0,0,.3);\n  position:relative;overflow:hidden;\n}\n.focus-banner::before{\n  content:\"\ud83e\udd81\";  \/* \ud83e\udd81 \u96c4\u72ee \u2014\u2014 \u6469\u6d1b\u54e5\u7ef0\u53f7\"\u963f\u7279\u62c9\u65af\u96c4\u72ee\" *\/\n  position:absolute;right:-10px;bottom:-30px;\n  font-size:130px;opacity:.10;\n}\n.focus-left{display:flex;align-items:center;gap:18px;position:relative;z-index:1}\n.focus-flag{\n  font-size:42px;line-height:1;\n  background:rgba(255,255,255,.12);border-radius:50%;\n  width:74px;height:74px;display:flex;align-items:center;justify-content:center;\n  border:2px solid var(--c2);flex-shrink:0;overflow:hidden;\n}\n.focus-flag .bars{width:46px;height:46px;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;position:relative;background:var(--c1)}\n.focus-flag .bars i{display:block;width:100%;height:100%;background:var(--c1)}\n.focus-flag .bars .flag-star{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--c3);pointer-events:none}\n.focus-flag .bars i:nth-child(2),.focus-flag .bars i:nth-child(3){display:none}\n.focus-kicker{\n  color:var(--c2-soft);font-size:11px;letter-spacing:.22em;\n  font-weight:700;text-transform:uppercase;margin-bottom:4px;\n}\n.focus-name{\n  color:#fff;font-size:30px;font-weight:700;line-height:1;letter-spacing:.04em;\n}\n.focus-name span{\n  color:#fff;font-size:18px;font-style:italic;font-weight:400;\n  margin-left:8px;opacity:.85;letter-spacing:.1em;\n}\n.focus-desc{\n  color:#f6dfe0;font-size:13px;margin-top:6px;max-width:480px;line-height:1.5;  \/* \u2191 \u6362\u961f\uff1a\u6d45 tint *\/\n}\n.focus-right{display:flex;gap:14px;position:relative;z-index:1;flex-shrink:0}\n.focus-stat{\n  text-align:center;background:rgba(255,255,255,.1);\n  border:1px solid rgba(255,255,255,.2);border-radius:6px;\n  padding:10px 14px;min-width:78px;\n}\n.focus-stat b{display:block;color:#fff;font-size:22px;line-height:1}\n.focus-stat small{color:var(--c2-soft);font-size:10px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-top:4px}\n\n\/* ============ \u5386\u53f2\u6c89\u6d6e\u65f6\u95f4\u7ebf ============ *\/\n.saga{\n  margin-top:24px;padding-top:22px;border-top:2px double var(--line);\n}\n.saga h3{\n  color:var(--c1-dark);font-size:19px;margin-bottom:8px;\n  display:flex;align-items:center;gap:8px;flex-wrap:wrap;\n}\n.saga-intro{font-size:14px;color:#666;font-style:italic;margin-bottom:18px}\n.saga-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}\n.saga-era{\n  display:flex;flex-direction:column;gap:8px;align-items:flex-start;\n  padding:14px 16px;border-radius:6px;border:1px solid var(--line);background:#fff;\n}\n.saga-era.peak{border-left:4px solid var(--c2)}\n.saga-era.valley{border-left:4px solid #8a94a8;opacity:.96}\n.era-tag{font-size:11px;font-weight:700;letter-spacing:.08em;color:#fff;padding:3px 8px;border-radius:3px;text-align:center;background:var(--c1-dark)}\n.saga-era.peak .era-tag{background:var(--c1)}\n.saga-era.valley .era-tag{background:#6a7588}\n.era-title{font-size:14.5px;color:var(--c1-dark);font-weight:700;margin-bottom:4px}\n.era-desc{font-size:13px;color:#555;line-height:1.55}\n.saga-style{\n  margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;\n  padding:12px 14px;background:var(--cream-2);border-radius:6px;\n}\n.style-label{font-size:12px;color:#888;letter-spacing:.1em;text-transform:uppercase;font-weight:700}\n.style-tag{\n  font-size:12px;color:var(--c1-dark);font-weight:600;\n  background:#fff;border:1px solid var(--c1);\n  padding:4px 12px;border-radius:20px;\n}\n\n\/* ============ \u5386\u53f2\u4f20\u5947\u7403\u661f\u5899 ============ *\/\n.legends-card{\n  background:var(--cream);\n  border:1px solid var(--line);\n  border-top:4px double var(--c1);\n  padding:28px 28px 30px;\n  box-shadow:0 2px 0 rgba(0,0,0,.06);\n}\n.legends-head h2{\n  color:var(--c1-dark);font-size:23px;letter-spacing:.05em;\n  border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px;\n  display:flex;align-items:center;gap:10px;\n}\n.legends-head h2::before{content:\"\u2756\";color:var(--c2);font-size:24px}\n.legends-sub{font-size:13.5px;color:#666;font-style:italic;margin-bottom:18px}\n.legends-grid{\n  display:flex;gap:14px;overflow-x:auto;padding:4px 4px 14px;\n  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;\n}\n.legends-grid::-webkit-scrollbar{height:8px}\n.legends-grid::-webkit-scrollbar-track{background:var(--cream-2);border-radius:4px}\n.legends-grid::-webkit-scrollbar-thumb{background:var(--c1);border-radius:4px}\n.legend{flex:0 0 170px;scroll-snap-align:start}\n.legend{\n  background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;\n  transition:transform .18s,box-shadow .18s;cursor:default;\n}\n.legend:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.15)}\n.legend .photo{\n  width:100%;aspect-ratio:1;\n  display:flex;align-items:center;justify-content:center;\n  position:relative;\n  border-bottom:3px solid var(--c2);\n}\n.legend .photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}\n.ph-fallback{\n  position:absolute;inset:0;\n  display:flex;flex-direction:column;align-items:center;justify-content:center;\n  gap:4px;color:#fff;\n}\n.ph-initials{\n  font-family:Georgia,serif;font-size:38px;font-weight:700;letter-spacing:.04em;\n  color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);\n  border:2px solid rgba(255,255,255,.4);border-radius:50%;\n  width:64px;height:64px;display:flex;align-items:center;justify-content:center;\n  background:rgba(255,255,255,.08);\n}\n.ph-icon{font-size:22px;opacity:.9}\n.legend .photo .era{\n  position:absolute;top:6px;left:6px;\n  background:var(--c1);color:#fff;font-size:10px;font-weight:700;\n  padding:2px 6px;border-radius:2px;letter-spacing:.05em;z-index:2;\n}\n.legend .lbody{padding:10px 12px 12px}\n.legend .lname{font-size:14px;color:var(--c1-dark);font-weight:700;line-height:1.25}\n.legend .lnamezh{font-size:12px;color:#888;margin-top:2px}\n.legend .ltag{\n  display:inline-block;font-size:10px;font-weight:700;\n  background:var(--c1-dark);color:#fff;padding:2px 7px;border-radius:3px;\n  letter-spacing:.05em;margin-top:8px;\n}\n.legend .lstat{font-size:11px;color:#666;margin-top:6px;line-height:1.5}\n.legend .lstat b{color:var(--c1)}\n.legend .lnote{font-size:11.5px;color:#555;margin-top:6px;line-height:1.55;font-style:italic}\n\n\/* \u7403\u5458\u5bf9\u6bd4\uff1a\u4f4d\u7f6e\u7ec4\u9009\u62e9\u6761 *\/\n.vs-group-bar{\n  background:var(--cream);border:1px solid var(--line);\n  border-left:4px solid var(--c1);\n  padding:14px 16px;border-radius:6px;\n}\n.vs-group-label{\n  display:block;font-size:11px;letter-spacing:.16em;color:#6a6a6a;\n  text-transform:uppercase;font-weight:700;margin-bottom:10px;\n}\n.vs-group-btns{display:flex;gap:8px;flex-wrap:wrap}\n.vgbtn{\n  padding:8px 16px;background:#fff;border:1.5px solid var(--line);\n  color:#555;font-weight:700;letter-spacing:.06em;border-radius:4px;font-size:13px;\n  transition:all .15s;\n}\n.vgbtn:hover{border-color:var(--c1);color:var(--c1-dark)}\n.vgbtn.on{background:var(--c1);color:#fff;border-color:var(--c1)}\n.vs-group-tip{\n  margin-top:10px;font-size:12px;color:#888;font-style:italic;\n}\n\n\/* ============ \u9876\u90e8\u5feb\u901f\u5bfc\u822a ============ *\/\n.topnav{\n  position:fixed;top:0;left:0;right:0;z-index:200;\n  display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;\n  background:var(--c1);padding:9px 14px;\n  border-bottom:3px solid var(--c2);\n  box-shadow:0 2px 10px rgba(0,0,0,.35);\n  -webkit-overflow-scrolling:touch;\n}\nbody{padding-top:54px}\n.topnav::-webkit-scrollbar{height:5px}\n.topnav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.5);border-radius:3px}\n.topnav a{\n  flex:0 0 auto;color:#f6dfe0;text-decoration:none;font-size:13px;  \/* \u2191 \u6362\u961f\uff1a\u6d45 tint *\/\n  padding:6px 13px;border-radius:20px;white-space:nowrap;\n  transition:all .15s;font-weight:600;letter-spacing:.02em;\n}\n.topnav a:hover{background:rgba(255,255,255,.15);color:#fff}\n.topnav a:active{background:var(--c1-dark);color:#fff}\n\n\/* \u54cd\u5e94\u5f0f *\/\n@media(max-width:680px){\n  .vs-pickers{grid-template-columns:1fr;gap:10px}\n  .vs-badge{margin:0 auto}\n  .vs-result{grid-template-columns:1fr}\n  .vs-col.left{border-right:none;border-bottom:1px dashed var(--line);text-align:left;align-items:flex-start}\n  .vs-mid{flex-direction:row;padding:10px}\n  .marker{width:44px}\n  .marker .dot{width:38px;height:38px;font-size:15px}\n  .marker .pname{font-size:9px;max-width:60px}\n  .tabs{flex-wrap:nowrap;border-bottom:none}\n  .tab{\n    flex:1 1 0;margin-right:0;\n    padding:12px 4px;\n    font-size:11px;letter-spacing:.06em;\n    border-radius:0;border:1px solid var(--line);\n    display:flex;align-items:center;justify-content:center;text-align:center;\n    line-height:1.3;\n  }\n  .tab:not(:last-child){border-right:none}\n  .tab.active::after{display:none}\n  .tab.active{border-color:var(--c1)}\n  .tab br{display:none}\n  .wc-hosts{grid-template-columns:1fr 1fr 1fr;gap:8px}\n  .host{padding:8px 4px}\n  .host .flag{font-size:22px}\n  .legends-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}\n  .legend .photo{font-size:36px}\n  .wc-card,.legends-card{padding:20px 16px}\n  .focus-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}\n  .focus-name{font-size:24px}\n  .focus-right{width:100%;justify-content:flex-start}\n  .saga-era{grid-template-columns:1fr;gap:6px}\n  .era-tag{align-self:flex-start;display:inline-block;width:auto}\n  .topnav a{font-size:12px;padding:5px 10px}\n  .legend{flex-basis:150px}\n}\n<\/style>\n<\/head>\n<body>\n\n<!-- ===== \u9876\u90e8\u6a2a\u5e45 =====\n     \u66ff\u6362\uff1a\u6807\u9898\u4e2d\u82f1\u6587\u540d\u3001\u6635\u79f0\uff08LA ROJA\u2192\u672c\u961f\u6635\u79f0\u82f1\u6587\uff09\u3001\u4e3b\u6559\u7ec3 -->\n<header class=\"banner\">\n  <div class=\"crest\" title=\"\u6469\u6d1b\u54e5\u56fd\u65d7 \u00b7 Morocco\">\n    <div class=\"bars\"><i><\/i><span class=\"flag-star\">\u2605<\/span><\/div>\n  <\/div>\n  <h1>\u6469\u6d1b\u54e5 <span class=\"en-name\">Morocco<\/span><\/h1>\n  <div class=\"sub\">\u0623\u0633\u0648\u062f \u0627\u0644\u0623\u0637\u0644\u0633 \u00b7 \u963f\u7279\u62c9\u65af\u96c4\u72ee<\/div>\n  <div class=\"sub2\">2026 FIFA World Cup Squad \u00b7 \u56fd\u5bb6\u961f\u9635\u5bb9<\/div>\n  <div class=\"manager\">Head Coach \u00b7 <b>Mohamed Ouahbi<\/b> \u00b7 \u4e3b\u6559\u7ec3 \u7a46\u7f55\u9ed8\u5fb7\u00b7\u74e6\u8d6b\u6bd4<\/div>\n<\/header>\n\n<!-- ===== \u5feb\u901f\u5bfc\u822a\uff08\u951a\u70b9 id \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\uff09 ===== -->\n<nav class=\"topnav\" id=\"topnav\">\n  <a href=\"#sec-intro\">\u8d5b\u4e8b\u4ecb\u7ecd<\/a>\n  <a href=\"#sec-about\">\u7403\u961f\u4ecb\u7ecd<\/a>\n  <a href=\"#sec-saga\">\u98ce\u683c\u6c89\u6d6e<\/a>\n  <a href=\"#sec-legends\">\u767e\u5e74\u4f20\u5947<\/a>\n  <a href=\"#sec-pitch\">\u9635\u578b\u56fe<\/a>\n  <a href=\"#sec-squad\">\u9635\u5bb9\u540d\u5355<\/a>\n  <a href=\"#sec-vs\">\u7403\u5458\u5bf9\u6bd4<\/a>\n<\/nav>\n\n<!-- ===== \u4e16\u754c\u676f\u8bf4\u660e\uff08\u4e09\u56fd\u4e3b\u529e\u90e8\u5206\u8de8\u961f\u901a\u7528\uff0c\u53ea\u6539\u805a\u7126\u6761\uff09 ===== -->\n<section class=\"wc-intro\" id=\"sec-intro\">\n  <div class=\"wc-card\">\n    <div class=\"wc-badge\">2026 \u00b7 FIFA WORLD CUP<\/div>\n    <h2>\u5173\u4e8e2026\u5e74\u4e16\u754c\u676f About World Cup 2026<\/h2>\n    <p class=\"lead\">\n      <b>2026 \u5e74\u7f8e\u52a0\u58a8\u4e16\u754c\u676f\uff08FIFA World Cup 2026\uff09<\/b>\u662f\u5386\u53f2\u4e0a\u7b2c\u4e00\u5c4a\u7531\u4e09\u56fd\u8054\u5408\u4e3e\u529e\u3001\u4e14\u6269\u519b\u81f3 <b>48 \u652f\u7403\u961f<\/b>\u7684\u4e16\u754c\u676f\u3002\n    <\/p>\n    <div class=\"wc-hosts\">\n      <div class=\"host\"><span class=\"flag\">\ud83c\uddfa\ud83c\uddf8<\/span><b>\u7f8e\u56fd USA<\/b><small>11 \u5ea7\u573a\u9986<\/small><\/div>\n      <div class=\"host\"><span class=\"flag\">\ud83c\udde8\ud83c\udde6<\/span><b>\u52a0\u62ff\u5927 Canada<\/b><small>2 \u5ea7\u573a\u9986<\/small><\/div>\n      <div class=\"host\"><span class=\"flag\">\ud83c\uddf2\ud83c\uddfd<\/span><b>\u58a8\u897f\u54e5 Mexico<\/b><small>3 \u5ea7\u573a\u9986<\/small><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- \u9192\u76ee\u805a\u7126\u6761\uff1a\u672c\u961f\n       \u66ff\u6362 focus-kicker\/focus-name\/focus-desc\/focus-stat \u4e24\u9879\u5173\u952e\u8363\u8a89 -->\n    <div class=\"focus-banner\">\n    <div class=\"focus-left\">\n      <div class=\"focus-flag\"><div class=\"bars\"><i><\/i><span class=\"flag-star\">\u2605<\/span><\/div><\/div>\n      <div class=\"focus-text\">\n        <div class=\"focus-kicker\">\u672c\u9875\u805a\u7126\u7403\u961f \u00b7 FOCUS TEAM<\/div>\n        <div class=\"focus-name\">\u6469\u6d1b\u54e5 <span>Morocco<\/span><\/div>\n        <div class=\"focus-desc\">\u963f\u7279\u62c9\u65af\u96c4\u72ee\uff0c2022\u5e74\u4e16\u754c\u676f\u56db\u5f3a\u7684\u975e\u6d32\u4f20\u5947\uff0c\u5e26\u7740\u96c4\u5fc3\u91cd\u8fd4\u4e16\u754c\u821e\u53f0<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"focus-right\">\n      <div class=\"focus-stat\"><b>4\u5f3a<\/b><small>\u4e16\u754c\u676f\u6700\u4f73<\/small><\/div>\n      <div class=\"focus-stat\"><b>13<\/b><small>FIFA\u4e16\u754c\u6392\u540d<\/small><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== \u7403\u961f\u4ecb\u7ecd =====\n     \u66ff\u6362\uff1ah2 \u6807\u9898\u3001lead \u6bb5\u3001\u7b2c\u4e8c\u6bb5\u30014 \u6761\u8363\u8a89\u6761 -->\n<section class=\"about\" id=\"sec-about\">\n    <div class=\"about-card\">\n      <h2>\u6469\u6d1b\u54e5\u56fd\u5bb6\u8db3\u7403\u961f<\/h2>\n      <p class=\"lead\">\n        <b>\u6469\u6d1b\u54e5\u56fd\u5bb6\u8db3\u7403\u961f<\/b>\uff08\u963f\u62c9\u4f2f\u8bed\uff1a\u0645\u0646\u062a\u062e\u0628 \u0627\u0644\u0645\u063a\u0631\u0628 \u0644\u0643\u0631\u0629 \u0627\u0644\u0642\u062f\u0645\uff09\uff0c\u7ef0\u53f7<b>&#8220;\u963f\u7279\u62c9\u65af\u96c4\u72ee&#8221;<\/b>\uff08\u0623\u0633\u0648\u062f \u0627\u0644\u0623\u0637\u0644\u0633\uff09\uff0c\u662f\u4ee3\u8868\u6469\u6d1b\u54e5\u53c2\u52a0\u56fd\u9645\u8db3\u7403\u8d5b\u4e8b\u7684\u5b98\u65b9\u4ee3\u8868\u961f\uff0c\u975e\u6d32\u6700\u6210\u529f\u7684\u56fd\u5bb6\u961f\u4e4b\u4e00\u3002\n      <\/p>\n      <p>\n        \u6469\u6d1b\u54e5\u8db3\u534f\uff08FRMF\uff09\u6210\u7acb\u4e8e1955\u5e74\uff0c1960\u5e74\u52a0\u5165\u56fd\u9645\u8db3\u8054\u3002\u6469\u6d1b\u54e5\u662f\u975e\u6d32\u8db3\u7403\u7684\u5148\u9a71\uff0c1976\u5e74\u593a\u5f97\u975e\u6d32\u676f\u51a0\u519b\uff0c1986\u5e74\u6210\u4e3a\u9996\u652f\u664b\u7ea7\u4e16\u754c\u676f\u6dd8\u6c70\u8d5b\u7684\u975e\u6d32\u7403\u961f\u30022022\u5e74\u5361\u5854\u5c14\u4e16\u754c\u676f\uff0c\u6469\u6d1b\u54e5\u521b\u9020\u4e86\u975e\u6d32\u8db3\u7403\u5386\u53f2\uff0c\u4e00\u8def\u51fb\u8d25\u6bd4\u5229\u65f6\u3001\u897f\u73ed\u7259\u3001\u8461\u8404\u7259\u7b49\u5f3a\u961f\u95ef\u5165\u56db\u5f3a\uff0c\u9707\u60ca\u4e16\u754c\u3002\u7403\u961f\u4ee5\u575a\u97e7\u7684\u9632\u5b88\u3001\u51fa\u8272\u7684\u56e2\u961f\u7eaa\u5f8b\u548c\u5feb\u901f\u7684\u653b\u9632\u8f6c\u6362\u8457\u79f0\uff0c\u5e03\u52aa\u3001\u54c8\u57fa\u7c73\u3001\u963f\u59c6\u62c9\u5df4\u7279\u7b49\u7403\u661f\u5728\u6b27\u6d32\u9876\u7ea7\u8054\u8d5b\u95ea\u8000\u3002\n      <\/p>\n\n      <div class=\"honors\">\n        <div class=\"honor\">\n          <div class=\"t\">\u4e16\u754c\u676f\u6700\u4f73<\/div>\n          <div class=\"v\">\u56db\u5f3a <small>2022\u5e74<\/small><\/div>\n        <\/div>\n        <div class=\"honor\">\n          <div class=\"t\">\u975e\u6d32\u676f\u51a0\u519b<\/div>\n          <div class=\"v\">1 \u6b21 <small>1976\u5e74<\/small><\/div>\n        <\/div>\n        <div class=\"honor\">\n          <div class=\"t\">\u975e\u6d32\u7403\u961f\u9996\u652f<\/div>\n          <div class=\"v\">\u4e16\u754c\u676f16\u5f3a <small>1986\u5e74<\/small><\/div>\n        <\/div>\n        <div class=\"honor\">\n          <div class=\"t\">FIFA\u6700\u9ad8\u6392\u540d<\/div>\n          <div class=\"v\">\u7b2c 10 \u4f4d <small>1998\u5e74<\/small><\/div>\n        <\/div>\n      <\/div>\n\n    <span id=\"sec-saga\" style=\"display:block\"><\/span>\n    <!-- \u5386\u53f2\u98ce\u683c\u4e0e\u6c89\u6d6e\n         \u66ff\u6362\uff1asaga-intro\u30015 \u4e2a era\uff08\u5e74\u4efd\/peak|valley\/\u6807\u9898\/\u63cf\u8ff0\uff09\u3001\u98ce\u683c\u6807\u7b7e -->\n    <div class=\"saga\">\n      <h3>\ud83d\udcdc \u5386\u53f2\u6c89\u6d6e \u00b7 \u963f\u7279\u62c9\u65af\u96c4\u72ee\u7684\u975e\u6d32\u4f20\u5947<\/h3>\n      <p class=\"saga-intro\">\n        \u6469\u6d1b\u54e5\u8db3\u7403\u7684\u5386\u53f2\u662f\u4e00\u90e8\u975e\u6d32\u96c4\u72ee\u4e0d\u65ad\u7a81\u7834\u3001\u521b\u9020\u5386\u53f2\u7684\u58ee\u4e3d\u53f2\u8bd7\u3002\n      <\/p>\n      <div class=\"saga-timeline\">\n        <div class=\"saga-era valley\">\n          <div class=\"era-tag\">1955-1969<\/div>\n          <div class=\"era-title\">\ud83c\udf31 \u8e52\u8dda\u8d77\u6b65<\/div>\n          <div class=\"era-desc\">\u6469\u6d1b\u54e5\u8db3\u534f\u6210\u7acb\uff0c\u52a0\u5165FIFA\uff0c\u5f00\u59cb\u5728\u975e\u6d32\u548c\u4e16\u754c\u8db3\u575b\u5d2d\u9732\u5934\u89d2\uff0c\u4f46\u65e9\u671f\u6210\u7ee9\u5e73\u5e73\u3002<\/div>\n        <\/div>\n        <div class=\"saga-era peak\">\n          <div class=\"era-tag\">1970-1976<\/div>\n          <div class=\"era-title\">\ud83c\udf1f \u975e\u6d32\u4e4b\u5dc5<\/div>\n          <div class=\"era-desc\">\u9996\u6b21\u53c2\u52a0\u4e16\u754c\u676f\uff081970\uff09\uff0c1976\u5e74\u7531\u827e\u54c8\u8fc8\u5fb7\u00b7\u6cd5\u62c9\u65af\u7387\u9886\u593a\u5f97\u975e\u6d32\u676f\u51a0\u519b\uff0c\u8fbe\u5230\u9996\u4e2a\u5dc5\u5cf0\u3002<\/div>\n        <\/div>\n        <div class=\"saga-era valley\">\n          <div class=\"era-tag\">1977-1985<\/div>\n          <div class=\"era-title\">\ud83d\ude24 \u86f0\u4f0f\u671f<\/div>\n          <div class=\"era-desc\">\u8fde\u7eed\u7f3a\u5e2d\u4e16\u754c\u676f\uff0c\u975e\u6d32\u676f\u6210\u7ee9\u4e5f\u4e0d\u7406\u60f3\uff0c\u6469\u6d1b\u54e5\u8db3\u7403\u5728\u8c03\u6574\u4e2d\u79ef\u84c4\u529b\u91cf\u3002<\/div>\n        <\/div>\n        <div class=\"saga-era peak\">\n          <div class=\"era-tag\">1986-1998<\/div>\n          <div class=\"era-title\">\ud83c\udf0d \u521b\u9020\u5386\u53f2<\/div>\n          <div class=\"era-desc\">1986\u5e74\u6210\u4e3a\u9996\u652f\u664b\u7ea7\u4e16\u754c\u676f16\u5f3a\u7684\u975e\u6d32\u7403\u961f\uff0c1998\u5e74\u518d\u5165\u4e16\u754c\u676f\uff0c\u975e\u6d32\u8db3\u7403\u7684\u5148\u9a71\u8005\u3002<\/div>\n        <\/div>\n        <div class=\"saga-era peak\">\n          <div class=\"era-tag\">2018-2026<\/div>\n          <div class=\"era-title\">\ud83e\udd81 \u96c4\u72ee\u6012\u543c<\/div>\n          <div class=\"era-desc\">2022\u5e74\u5361\u5854\u5c14\u4e16\u754c\u676f\u521b\u9020\u5947\u8ff9\uff0c\u8fde\u514b\u6bd4\u5229\u65f6\u3001\u897f\u73ed\u7259\u3001\u8461\u8404\u7259\u95ef\u5165\u56db\u5f3a\uff0c\u6539\u5199\u975e\u6d32\u8db3\u7403\u5386\u53f2\u30022026\u5e74\u7eed\u5199\u4f20\u5947\u3002<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"saga-style\">\n        <span class=\"style-label\">\u4f20\u7edf\u98ce\u683c Style\uff1a<\/span>\n        <span class=\"style-tag\">\u94c1\u8840\u9632\u5b88<\/span>\n        <span class=\"style-tag\">\u56e2\u961f\u7eaa\u5f8b<\/span>\n        <span class=\"style-tag\">\u5feb\u901f\u53cd\u51fb<\/span>\n        <span class=\"style-tag\">\u6280\u672f\u7ec6\u817b<\/span>\n        <span class=\"style-tag\">\u96c4\u72ee\u7cbe\u795e<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== \u5386\u53f2\u4f20\u5947\u7403\u661f\uff08\u5bb9\u5668\uff0c\u7531 JS \u6e32\u67d3\uff09 =====\n     \u53ea\u9700\u66ff\u6362\u4e0b\u65b9 LEGENDS \u6570\u7ec4 -->\n<section class=\"about\" id=\"sec-legends\">\n  <div class=\"legends-card\">\n    <div class=\"legends-head\">\n      <h2>\u767e\u5e74\u4f20\u5947 Hall of Legends<\/h2>\n      <p class=\"legends-sub\">\u4ece&#8221;\u9ed1\u73cd\u73e0&#8221;\u672c\u5df4\u96f7\u514b\u52302022\u5e74\u7684\u56db\u5f3a\u82f1\u96c4\uff0c\u6469\u6d1b\u54e5\u8db3\u7403\u7684\u4f20\u5947\u5728\u975e\u6d32\u8db3\u575b\u6c38\u6052\u95ea\u8000<\/p>\n    <\/div>\n    <div class=\"legends-grid\" id=\"legendsGrid\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Tab \u5bfc\u822a\uff08\u8de8\u961f\u901a\u7528\uff09 ===== -->\n<div class=\"tabs-wrap\">\n  <nav class=\"tabs\">\n    <button class=\"tab active\" data-tab=\"pitch\">\u26bd \u9635\u578b\u56fe<br>Pitch<\/button>\n    <button class=\"tab\" data-tab=\"squad\">\ud83d\udccb \u9635\u5bb9\u540d\u5355<br>Squad<\/button>\n    <button class=\"tab\" data-tab=\"vs\">\u2694\ufe0f \u7403\u5458\u5bf9\u6bd4<br>Compare<\/button>\n  <\/nav>\n<\/div>\n\n<!-- ===== Tab 1\uff1a\u9635\u578b\u56fe\uff08\u8de8\u961f\u901a\u7528\uff0c\u7403\u5458\u7531 JS \u6ce8\u5165\uff09 ===== -->\n<section class=\"panel active\" id=\"panel-pitch\" data-anchor=\"sec-pitch\">\n  <div class=\"formation-bar\">\n    <span class=\"label\">Formation \u9635\u578b\uff1a<\/span>\n    <button class=\"fbtn on\" data-f=\"433\">4-3-3<span class=\"pos-mini\">GK\u00b74\u00b73\u00b73<\/span><\/button>\n    <button class=\"fbtn\" data-f=\"4231\">4-2-3-1<span class=\"pos-mini\">GK\u00b74\u00b72\u00b73\u00b71<\/span><\/button>\n    <button class=\"fbtn\" data-f=\"343\">3-4-3<span class=\"pos-mini\">GK\u00b73\u00b74\u00b73<\/span><\/button>\n  <\/div>\n\n  <div class=\"legend\">\n    <div class=\"item\"><span class=\"sw\"><\/span>\u666e\u901a\u7403\u5458<\/div>\n    <div class=\"item\"><span class=\"sw gold\"><\/span>\u961f\u957f \/ \u9996\u53d1\u6838\u5fc3<\/div>\n    <div class=\"item\"><span class=\"sw star\"><\/span>\u5173\u952e\u4f4d\u7f6e<\/div>\n    <div class=\"item\" style=\"margin-left:auto;color:#999;font-style:italic\">\ud83d\udc46 \u70b9\u51fb\u7403\u5458\u67e5\u770b\u8be6\u7ec6\u4fe1\u606f<\/div>\n  <\/div>\n\n  <div class=\"pitch-wrap\">\n    <div class=\"pitch\" id=\"pitch\">\n      <div class=\"penBoxBot\"><\/div><div class=\"penArcBot\"><\/div>\n      <div class=\"center-circle\"><\/div><div class=\"center-spot\"><\/div>\n      <div class=\"penBoxTop\"><\/div><div class=\"pen-arc-top\"><\/div>\n      <!-- \u7403\u5458\u6807\u8bb0\u7531 JS \u6ce8\u5165 -->\n    <\/div>\n  <\/div>\n  <div class=\"pos-gloss\">\n    <b>\u4f4d\u7f6e\u7f29\u5199\uff1a<\/b> GK \u95e8\u5c06 \u00b7 CB \u4e2d\u536b \u00b7 LB \u5de6\u540e\u536b \u00b7 RB \u53f3\u540e\u536b \u00b7 CM \u4e2d\u524d\u536b \u00b7 CDM \u540e\u8170 \u00b7 CAM \u524d\u8170 \u00b7 LW \u5de6\u8fb9\u950b \u00b7 RW \u53f3\u8fb9\u950b \u00b7 ST \u524d\u950b\n  <\/div>\n<\/section>\n\n<!-- ===== Tab 2\uff1a\u9635\u5bb9\u540d\u5355\uff08\u8de8\u961f\u901a\u7528\uff0c\u7403\u5458\u7531 JS \u6e32\u67d3\uff09 ===== -->\n<section class=\"panel\" id=\"panel-squad\" data-anchor=\"sec-squad\">\n  <div class=\"filters\" id=\"filters\">\n    <button class=\"filter-btn on\" data-f=\"ALL\">\u5168\u90e8 All<span class=\"cnt\" id=\"c-ALL\"><\/span><\/button>\n    <button class=\"filter-btn\" data-f=\"GK\">\u95e8\u5c06 GK<span class=\"cnt\" id=\"c-GK\"><\/span><\/button>\n    <button class=\"filter-btn\" data-f=\"DEF\">\u540e\u536b DEF<span class=\"cnt\" id=\"c-DEF\"><\/span><\/button>\n    <button class=\"filter-btn\" data-f=\"MID\">\u4e2d\u573a MID<span class=\"cnt\" id=\"c-MID\"><\/span><\/button>\n    <button class=\"filter-btn\" data-f=\"FWD\">\u524d\u950b FWD<span class=\"cnt\" id=\"c-FWD\"><\/span><\/button>\n  <\/div>\n  <div class=\"squad-grid\" id=\"squadGrid\"><\/div>\n<\/section>\n\n<!-- ===== Tab 3\uff1a\u7403\u5458\u5bf9\u6bd4\uff08\u8de8\u961f\u901a\u7528\uff09 ===== -->\n<section class=\"panel\" id=\"panel-vs\" data-anchor=\"sec-vs\">\n  <div class=\"vs-wrap\">\n    <div class=\"vs-group-bar\">\n      <span class=\"vs-group-label\">\u5bf9\u6bd4\u4f4d\u7f6e Position Group<\/span>\n      <div class=\"vs-group-btns\">\n        <button class=\"vgbtn\" data-g=\"FWD\">\u524d\u950b FWD<\/button>\n        <button class=\"vgbtn on\" data-g=\"MID\">\u4e2d\u573a MID<\/button>\n        <button class=\"vgbtn\" data-g=\"DEF\">\u540e\u536b DEF<\/button>\n        <button class=\"vgbtn\" data-g=\"GK\">\u95e8\u5c06 GK<\/button>\n      <\/div>\n      <div class=\"vs-group-tip\" id=\"vsGroupTip\">\u53ea\u80fd\u9009\u62e9\u540c\u4e00\u4f4d\u7f6e\u7c7b\u522b\u7684\u7403\u5458\u8fdb\u884c\u5bf9\u6bd4<\/div>\n    <\/div>\n    <div class=\"vs-pickers\">\n      <div class=\"vs-picker\">\n        <label>Player A<\/label>\n        <select id=\"selA\"><\/select>\n      <\/div>\n      <div class=\"vs-badge\">VS<\/div>\n      <div class=\"vs-picker\">\n        <label>Player B<\/label>\n        <select id=\"selB\"><\/select>\n      <\/div>\n    <\/div>\n    <div id=\"vsResult\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== \u6a21\u6001\u6846\uff08\u8de8\u961f\u901a\u7528\uff09 ===== -->\n<div class=\"modal-mask\" id=\"modalMask\">\n  <div class=\"modal\" id=\"modalBox\"><\/div>\n<\/div>\n\n<footer>\n  \u6570\u636e\u7efc\u5408\u81ea <b>Transfermarkt \u00b7 Wikipedia \u00b7 FIFA<\/b> \u7b49\u516c\u5f00\u6765\u6e90 \u00b7 \u8bc4\u5206\u4ec5\u4f9b\u4e3b\u89c2\u53c2\u8003<br>\n  \ud83c\uddf2\ud83c\udde6 2026 Morocco World Cup Squad \u00b7 Made with \u2764\ufe0f\n<\/footer>\n\n<script>\n\/* ============================================================\n   \u6570\u636e\u5c42\uff1a26 \u4eba\u5927\u540d\u5355 + \u4f4d\u7f6e + \u8bc4\u5206 + \u7b80\u4ecb\n   ------------------------------------------------------------\n   group: GK \/ DEF \/ MID \/ FWD\n   positions: \u7403\u5458\u53ef\u80dc\u4efb\u4f4d\u7f6e\u7684\u7f29\u5199\u6570\u7ec4\uff08GK\/CB\/LB\/RB\/LWB\/RWB\/CM\/CDM\/CAM\/LW\/RW\/ST\uff09\n   rating: 75-92\uff0c\u961f\u957f\/\u6838\u5fc3\u7ed9\u6700\u9ad8\u6863\n   captain \/ star: \u5e03\u5c14\uff0c\u53ef\u9009\uff0c\u6807\u8bb0\u961f\u957f\u4e0e\u6838\u5fc3\u7403\u5458\n   photo: \u7403\u5458\u5934\u50cf URL\uff08\u53ef\u9009\uff0c\u7559\u7a7a\u7528\u9996\u5b57\u6bcd\u5360\u4f4d\uff09\n   ============================================================\n   \u2193\u2193\u2193 \u66ff\u6362\u4e3a\u8be5\u961f 26 \u4eba\u5927\u540d\u5355 \u2193\u2193\u2193\n============================================================ *\/\nconst SQUAD = [\n  \/\/ ---------- \u95e8\u5c06 ----------\n  {id:'bounou', name:'Yassine Bounou', zh:'\u4e9a\u8f9b\u00b7\u5e03\u52aa', number:1, group:'GK',\n   positions:['GK'], rating:87, club:'Al-Hilal FC', clubZh:'\u5229\u96c5\u5f97\u65b0\u6708', age:35,\n   bio:'\u6469\u6d1b\u54e5\u5b88\u62a4\u795e\uff0c2022\u4e16\u754c\u676f\u70b9\u7403\u5927\u6218\u4e09\u6251\u897f\u73ed\u7259\u70b9\u7403\u7684\u82f1\u96c4\uff0c\u4e24\u5ea6\u6b27\u8054\u676f\u51a0\u519b\uff0c\u9996\u4f4d\u8fdb\u5165\u91d1\u7403\u5956\u524d20\u7684\u6469\u6d1b\u54e5\u7403\u5458\u3002', star:true},\n  {id:'munir', name:'Munir El Kajoui', zh:'\u7a46\u5c3c\u5c14\u00b7\u5361\u7ea6\u7ef4', number:12, group:'GK',\n   positions:['GK'], rating:78, club:'RS Berkane', clubZh:'\u8d1d\u5c14\u5361\u5185', age:37,\n   bio:'\u7ecf\u9a8c\u4e30\u5bcc\u7684\u8001\u5c06\u95e8\u5c06\uff0c\u66fe\u57282018\u4e16\u754c\u676f\u62c5\u4efb\u4e3b\u529b\uff0c\u66f4\u8863\u5ba4\u91cd\u8981\u9886\u8896\u3002'},\n  {id:'tagnaouti', name:'Ahmed Reda Tagnaouti', zh:'\u827e\u54c8\u8fc8\u5fb7\u00b7\u5854\u683c\u8bfa\u8482', number:22, group:'GK',\n   positions:['GK'], rating:76, club:'AS FAR', clubZh:'\u62c9\u5df4\u7279\u7687\u5bb6\u6b66\u88c5', age:30,\n   bio:'\u56fd\u5185\u8054\u8d5b\u95e8\u5c06\uff0c\u6469\u6d1b\u54e5\u672c\u571f\u8054\u8d5b\u57f9\u517b\uff0c\u53ef\u9760\u7684\u4e09\u53f7\u95e8\u5c06\u3002'},\n  \/\/ ---------- \u540e\u536b ----------\n  {id:'hakimi', name:'Achraf Hakimi', zh:'\u963f\u4ec0\u62c9\u592b\u00b7\u54c8\u57fa\u7c73', number:2, group:'DEF',\n   positions:['RB','RWB'], rating:88, club:'Paris Saint-Germain', clubZh:'\u5df4\u9ece\u5723\u65e5\u8033\u66fc', age:27,\n   bio:'\u4e16\u754c\u6700\u4f73\u53f3\u540e\u536b\u4e4b\u4e00\uff0c\u901f\u5ea6\u7206\u53d1\u529b\u60ca\u4eba\uff0c2022\u4e16\u754c\u676f\u56db\u5f3a\u6838\u5fc3\u6210\u5458\uff0c\u66fe\u6548\u529b\u7687\u9a6c\u3001\u591a\u7279\u3001\u56fd\u7c73\u3002', star:true},\n  {id:'mazraoui', name:'Noussair Mazraoui', zh:'\u52aa\u585e\u5c14\u00b7\u9a6c\u5179\u62c9\u7ef4', number:3, group:'DEF',\n   positions:['LB','RB'], rating:84, club:'Manchester United', clubZh:'\u66fc\u8054', age:28,\n   bio:'\u66fc\u8054\u8fb9\u540e\u536b\uff0c\u653b\u5b88\u517c\u5907\uff0c\u6280\u672f\u5168\u9762\uff0c\u66fe\u5728\u963f\u8d3e\u514b\u65af\u548c\u62dc\u4ec1\u6548\u529b\uff0c\u662f\u9632\u7ebf\u591a\u9762\u624b\u3002', star:true},\n  {id:'aguerd', name:'Nayef Aguerd', zh:'\u7eb3\u8036\u592b\u00b7\u963f\u683c\u5c14\u5fb7', number:5, group:'DEF',\n   positions:['CB'], rating:83, club:'Olympique Marseille', clubZh:'\u9a6c\u8d5b', age:30,\n   bio:'\u6469\u6d1b\u54e5\u540e\u9632\u4e2d\u575a\uff0c\u9a6c\u8d5b\u4e3b\u529b\u4e2d\u536b\uff0c\u8eab\u6750\u9ad8\u5927\uff08188cm\uff09\uff0c\u5934\u7403\u548c\u62e6\u622a\u80fd\u529b\u51fa\u8272\u3002'},\n  {id:'diop', name:'Issa Diop', zh:'\u4f0a\u8428\u00b7\u8fea\u5965\u666e', number:14, group:'DEF',\n   positions:['CB'], rating:80, club:'Fulham FC', clubZh:'\u5bcc\u52d2\u59c6', age:29,\n   bio:'\u82f1\u8d85\u5bcc\u52d2\u59c6\u4e2d\u536b\uff0c\u8eab\u9ad8194cm\uff0c\u6b63\u9762\u9632\u5b88\u548c\u7a7a\u4e2d\u7403\u7edf\u6cbb\u529b\u5f3a\uff0c\u7ecf\u9a8c\u4e30\u5bcc\u3002'},\n  {id:'riad', name:'Chadi Riad', zh:'\u6c99\u8fea\u00b7\u91cc\u4e9a\u5fb7', number:18, group:'DEF',\n   positions:['CB'], rating:79, club:'Crystal Palace', clubZh:'\u6c34\u6676\u5bab', age:22,\n   bio:'\u5e74\u8f7b\u4e2d\u536b\uff0c\u6c34\u6676\u5bab\u548c\u5df4\u8428\u9752\u8bad\u51fa\u54c1\uff0c\u5de6\u811a\u51fa\u7403\u578b\u4e2d\u536b\uff0c\u672a\u6765\u53ef\u671f\u3002'},\n  {id:'belammari', name:'Youssef Belammari', zh:'\u4f18\u7d20\u798f\u00b7\u8d1d\u62c9\u9a6c\u91cc', number:19, group:'DEF',\n   positions:['CB'], rating:78, club:'Al Ahly SC', clubZh:'\u5f00\u7f57\u56fd\u6c11', age:27,\n   bio:'\u57c3\u53ca\u8c6a\u95e8\u5f00\u7f57\u56fd\u6c11\u4e2d\u536b\uff0c\u975e\u6d32\u51a0\u519b\u8054\u8d5b\u51a0\u519b\u6210\u5458\uff0c\u9632\u5b88\u786c\u6717\u3002'},\n  {id:'el_ouahdi', name:'Zakaria El Ouahdi', zh:'\u624e\u5361\u91cc\u4e9a\u00b7\u74e6\u8d6b\u8fea', number:13, group:'DEF',\n   positions:['RB','LB'], rating:77, club:'KRC Genk', clubZh:'\u6839\u514b', age:24,\n   bio:'\u6bd4\u7532\u6839\u514b\u8fb9\u540e\u536b\uff0c\u5e74\u8f7b\u6709\u6d3b\u529b\uff0c\u5f80\u8fd4\u80fd\u529b\u5f3a\uff0c\u662f\u54c8\u57fa\u7c73\u7684\u66ff\u8865\u3002'},\n  {id:'halhal', name:'Redouane Halhal', zh:'\u96f7\u675c\u5b89\u00b7\u54c8\u5c14\u54c8\u5c14', number:25, group:'DEF',\n   positions:['CB'], rating:76, club:'KV Mechelen', clubZh:'\u6885\u8d6b\u4f26', age:23,\n   bio:'\u6bd4\u7532\u6885\u8d6b\u4f26\u4e2d\u536b\uff0c\u5e74\u8f7b\u7684\u5c0f\u5c06\uff0c\u8eab\u6750\u5f3a\u58ee\uff0c\u9632\u5b88\u6f5c\u529b\u5927\u3002'},\n  {id:'salah_eddine', name:'Anass Salah-Eddine', zh:'\u963f\u7eb3\u65af\u00b7\u8428\u62c9\u8d6b-\u4e01', number:26, group:'DEF',\n   positions:['LB'], rating:77, club:'PSV Eindhoven', clubZh:'\u57c3\u56e0\u970d\u6e29', age:24,\n   bio:'\u57c3\u56e0\u970d\u6e29\u5de6\u540e\u536b\uff0c\u8377\u5170\u9752\u8bad\u51fa\u54c1\uff0c\u6280\u672f\u578b\u8fb9\u540e\u536b\uff0c\u52a9\u653b\u80fd\u529b\u5f3a\u3002'},\n  \/\/ ---------- \u4e2d\u573a ----------\n  {id:'amrabat', name:'Sofyan Amrabat', zh:'\u7d22\u83f2\u626c\u00b7\u963f\u59c6\u62c9\u5df4\u7279', number:4, group:'MID',\n   positions:['CDM','CM'], rating:85, club:'Real Betis', clubZh:'\u7687\u5bb6\u8d1d\u8482\u65af', age:29,\n   bio:'2022\u4e16\u754c\u676f\u6700\u4f73\u9632\u5b88\u4e2d\u573a\u4e4b\u4e00\uff0c\u4ee5\u4e0d\u77e5\u75b2\u5026\u7684\u5954\u8dd1\u548c\u8986\u76d6\u80fd\u529b\u95fb\u540d\uff0c\u662f\u6469\u6d1b\u54e5\u4e2d\u573a\u4e0d\u53ef\u6216\u7f3a\u7684\u5c4f\u969c\u3002', star:true},\n  {id:'ounahi', name:'Azzedine Ounahi', zh:'\u963f\u6cfd\u4e01\u00b7\u4e4c\u7eb3\u5e0c', number:8, group:'MID',\n   positions:['CM','CAM'], rating:82, club:'Girona FC', clubZh:'\u5409\u7f57\u7eb3', age:26,\n   bio:'\u6469\u6d1b\u54e5\u4e2d\u573a\u53d1\u52a8\u673a\uff0c2022\u4e16\u754c\u676f\u4e00\u9e23\u60ca\u4eba\uff0c\u76d8\u5e26\u6446\u8131\u80fd\u529b\u51fa\u8272\uff0c\u517c\u5177\u6280\u672f\u548c\u62fc\u52b2\u3002', star:true},\n  {id:'el_khannouss', name:'Bilal El Khannouss', zh:'\u6bd4\u62c9\u5c14\u00b7\u57c3\u5c14\u6c49\u52aa\u65af', number:23, group:'MID',\n   positions:['CAM','CM'], rating:80, club:'VfB Stuttgart', clubZh:'\u65af\u56fe\u52a0\u7279', age:22,\n   bio:'\u5fb7\u7532\u65af\u56fe\u52a0\u7279\u653b\u51fb\u578b\u4e2d\u573a\uff0c\u521b\u9020\u529b\u5341\u8db3\uff0c\u4f20\u7403\u89c6\u91ce\u5f00\u9614\uff0c\u662f\u6469\u6d1b\u54e5\u65b0\u4e00\u4ee3\u5929\u624d\u3002'},\n  {id:'saibari', name:'Ismael Saibari', zh:'\u4f0a\u65af\u6885\u5c14\u00b7\u8d5b\u5df4\u91cc', number:11, group:'MID',\n   positions:['CM','CAM'], rating:79, club:'PSV Eindhoven', clubZh:'\u57c3\u56e0\u970d\u6e29', age:25,\n   bio:'\u57c3\u56e0\u970d\u6e29\u4e2d\u573a\uff0c\u6469\u6d1b\u54e5\u88d4\u6bd4\u5229\u65f6\u9752\u8bad\u51fa\u54c1\uff0c\u6280\u672f\u597d\uff0c\u80fd\u4f20\u80fd\u5c04\u3002'},\n  {id:'el_aynaoui', name:'Neil El Aynaoui', zh:'\u5c3c\u5c14\u00b7\u57c3\u5c14\u963f\u7eb3\u7ef4', number:24, group:'MID',\n   positions:['CM','CDM'], rating:78, club:'AS Roma', clubZh:'\u7f57\u9a6c', age:24,\n   bio:'\u7f57\u9a6c\u4e2d\u573a\uff0c\u653b\u5b88\u5747\u8861\uff0c\u4f20\u7403\u7cbe\u51c6\uff0c\u662f\u6469\u6d1b\u54e5\u4e2d\u573a\u7684\u672a\u6765\u50a8\u5907\u3002'},\n  {id:'el_mourabet', name:'Samir El Mourabet', zh:'\u8428\u7c73\u5c14\u00b7\u57c3\u5c14\u7a46\u62c9\u8d1d\u7279', number:15, group:'MID',\n   positions:['CDM','CM'], rating:77, club:'RC Strasbourg', clubZh:'\u65af\u7279\u62c9\u65af\u5821', age:20,\n   bio:'\u6cd5\u7532\u65af\u7279\u62c9\u65af\u5821\u540e\u8170\uff0c\u5e74\u8f7b\u6709\u6d3b\u529b\uff0c\u9632\u5b88\u8986\u76d6\u5e7f\uff0c\u88ab\u89c6\u4e3a\u963f\u59c6\u62c9\u5df4\u7279\u7684\u63a5\u73ed\u4eba\u3002'},\n  {id:'bouaddi', name:'Ayyoub Bouaddi', zh:'\u963f\u5c24\u5e03\u00b7\u5e03\u963f\u8fea', number:6, group:'MID',\n   positions:['CM'], rating:76, club:'Lille OSC', clubZh:'\u91cc\u5c14', age:18,\n   bio:'\u672c\u5c4a\u4e16\u754c\u676f\u6700\u5e74\u8f7b\u7403\u5458\u4e4b\u4e00\uff0c\u91cc\u5c14\u9752\u8bad\u5929\u624d\uff0c\u4ee5\u51b7\u9759\u7684\u4f20\u63a7\u548c\u7ec4\u7ec7\u80fd\u529b\u8457\u79f0\u3002'},\n  \/\/ ---------- \u524d\u950b ----------\n  {id:'brahim_diaz', name:'Brahim D\u00edaz', zh:'\u535c\u62c9\u6b23\u00b7\u8fea\u4e9a\u65af', number:10, group:'FWD',\n   positions:['CAM','LW','RW'], rating:86, club:'Real Madrid', clubZh:'\u7687\u5bb6\u9a6c\u5fb7\u91cc', age:26,\n   bio:'\u7687\u9a6c\u653b\u51fb\u624b\uff0c\u6280\u672f\u534e\u4e3d\uff0c\u76d8\u5e26\u51fa\u8272\uff0c2023\u5e74\u9009\u62e9\u4ee3\u8868\u6469\u6d1b\u54e5\u56fd\u5bb6\u961f\uff0c\u8eab\u62ab\u6807\u5fd7\u6027\u768410\u53f7\u7403\u8863\u3002', star:true},\n  {id:'ezzalzouli', name:'Abde Ezzalzouli', zh:'\u963f\u5e03\u5fb7\u00b7\u57c3\u624e\u5c14\u7956\u5229', number:17, group:'FWD',\n   positions:['LW','RW'], rating:80, club:'Real Betis', clubZh:'\u7687\u5bb6\u8d1d\u8482\u65af', age:24,\n   bio:'\u8d1d\u8482\u65af\u8fb9\u950b\uff0c\u7ef0\u53f7\"\u963f\u5e03\u5fb7\"\uff0c\u901f\u5ea6\u5947\u5feb\uff0c\u7a81\u7834\u7280\u5229\uff0c\u66fe\u5728\u5df4\u8428\u6548\u529b\u3002'},\n  {id:'rahimi', name:'Soufiane Rahimi', zh:'\u82cf\u83f2\u5b89\u00b7\u62c9\u5e0c\u7c73', number:9, group:'FWD',\n   positions:['ST'], rating:81, club:'Al-Ain FC', clubZh:'\u963f\u5c14\u827e\u56e0', age:30,\n   bio:'\u963f\u8054\u914b\u8054\u8d5b\u5c04\u624b\u738b\uff0c\u4e9a\u51a0\u51a0\u519b\u5f97\u4e3b\uff0c\u95e8\u524d\u55c5\u89c9\u654f\u9510\uff0c\u662f\u6469\u6d1b\u54e5\u950b\u7ebf\u7684\u9996\u9009\u3002'},\n  {id:'el_kaabi', name:'Ayoub El Kaabi', zh:'\u963f\u5c24\u5e03\u00b7\u57c3\u5c14\u5361\u6bd4', number:20, group:'FWD',\n   positions:['ST'], rating:80, club:'Olympiacos FC', clubZh:'\u5965\u6797\u5339\u4e9a\u79d1\u65af', age:32,\n   bio:'\u5e0c\u814a\u8c6a\u95e8\u5965\u6797\u5339\u4e9a\u79d1\u65af\u950b\u9738\uff0c\u8eab\u6750\u9ad8\u5927\uff0c\u5934\u7403\u80fd\u529b\u51fa\u8272\uff0c\u6b27\u6218\u7ecf\u9a8c\u4e30\u5bcc\u3002'},\n  {id:'talbi', name:'Chemsdine Talbi', zh:'\u8c22\u59c6\u65af\u4e01\u00b7\u5854\u5c14\u6bd4', number:7, group:'FWD',\n   positions:['LW','RW'], rating:78, club:'Sunderland AFC', clubZh:'\u6851\u5fb7\u5170', age:21,\n   bio:'\u6851\u5fb7\u5170\u8fb9\u950b\uff0c\u901f\u5ea6\u5feb\uff0c\u76d8\u5e26\u597d\uff0c\u662f\u6469\u6d1b\u54e5\u8fb9\u8def\u7684\u5e74\u8f7b\u529b\u91cf\u3002'},\n  {id:'gessime', name:'Yassine Gessime', zh:'\u4e9a\u8f9b\u00b7\u683c\u897f\u7c73', number:16, group:'FWD',\n   positions:['ST','LW'], rating:77, club:'RC Strasbourg', clubZh:'\u65af\u7279\u62c9\u65af\u5821', age:20,\n   bio:'\u6cd5\u7532\u65af\u7279\u62c9\u65af\u5821\u524d\u950b\uff0c\u5e74\u8f7b\u6709\u6f5c\u529b\uff0c\u901f\u5ea6\u578b\u5c04\u624b\u3002'},\n  {id:'amaimouni', name:'Ayoube Amaimouni', zh:'\u963f\u5c24\u5e03\u00b7\u963f\u9a6c\u7a46\u5c3c', number:21, group:'FWD',\n   positions:['ST','LW'], rating:76, club:'Eintracht Frankfurt', clubZh:'\u6cd5\u5170\u514b\u798f', age:21,\n   bio:'\u6cd5\u5170\u514b\u798f\u524d\u950b\uff0c\u6469\u6d1b\u54e5\u88d4\u5fb7\u56fd\u9752\u8bad\uff0c\u8eab\u6750\u548c\u6280\u672f\u517c\u5907\uff0c\u672a\u6765\u4e4b\u661f\u3002'}\n];\n\n\/* ============================================================\n   \u5386\u53f2\u4f20\u5947\u7403\u661f \u2014\u2014 6~8 \u4f4d\n   ------------------------------------------------------------\n   photo: PicGo \u4e0a\u4f20\u540e\u7684 URL\uff08\u89c1 references\/picgo-workflow.md\uff09\uff1b\n          \u7559\u7a7a\u5219\u81ea\u52a8 fallback \u5230\u9996\u5b57\u6bcd+\u56fe\u6807\u5360\u4f4d\u3002\n   accent: \u5360\u4f4d\u6e10\u53d8\u5e95\u8272\uff0c\u5efa\u8bae\u53d6\u8be5\u961f\u6df1\u4e3b\u8272 hex\uff08\u5982 #8a1a1a\uff09\n   wiki: \u7ef4\u57fa\u767e\u79d1\u94fe\u63a5\uff08\u53ef\u9009\uff0c\u4fbf\u4e8e\u590d\u6838\u8d44\u6599\uff09\n   ============================================================\n   \u2193\u2193\u2193 \u66ff\u6362\u4e3a\u8be5\u961f\u4f20\u5947\u7403\u661f \u2193\u2193\u2193\n============================================================ *\/\nconst LEGENDS = [\n  {id:'faras', name:'Ahmed Faras', zh:'\u827e\u54c8\u8fc8\u5fb7\u00b7\u6cd5\u62c9\u65af', era:'1965-1982',\n   initials:'AF', icon:'\u26bd', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044797.png',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Ahmed_Faras',\n   tag:'\u5c04\u624b\u738b',\n   stat:'\u6469\u6d1b\u54e5\u5386\u53f2\u5c04\u624b\u738b \u00b7 1975\u975e\u6d32\u8db3\u7403\u5148\u751f',\n   note:'\u6469\u6d1b\u54e5\u8db3\u7403\u53f2\u4e0a\u6700\u4f1f\u5927\u7684\u524d\u950b\uff0c\u56fd\u5bb6\u961f\u5386\u53f2\u5c04\u624b\u738b\uff0836\u7403\uff09\uff0c1975\u5e74\u975e\u6d32\u8db3\u7403\u5148\u751f\uff0c\u7387\u961f\u593a\u5f971976\u975e\u6d32\u676f\u51a0\u519b\u3002'},\n  {id:'benbarek', name:'Larbi Ben Barek', zh:'\u62c9\u5c14\u6bd4\u00b7\u672c\u5df4\u96f7\u514b', era:'1930s-1950s',\n   initials:'LB', icon:'\ud83d\udc51', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044798.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Larbi_Benbarek',\n   tag:'\u9ed1\u73cd\u73e0',\n   stat:'\u897f\u7532\u51a0\u519b \u00b7 \"\u8db3\u7403\u4e4b\u795e\"\u8d1d\u5229\u8d5e\u8a89',\n   note:'\u88ab\u8d1d\u5229\u79f0\u4e3a\"\u8db3\u7403\u4e4b\u795e\"\u7684\u4f20\u5947\u7403\u5458\uff0c\u9996\u4f4d\u5728\u6b27\u6d32\u8e22\u7403\u7684\u5317\u975e\u7403\u5458\uff0c\u5728\u9a6c\u7ade\u8d62\u5f97\u897f\u7532\u51a0\u519b\uff0c\u662f\u6469\u6d1b\u54e5\u8db3\u7403\u7684\u5148\u9a71\u3002'},\n  {id:'hadji', name:'Mustapha Hadji', zh:'\u7a46\u65af\u5854\u6cd5\u00b7\u54c8\u5409', era:'1990s-2000s',\n   initials:'MH', icon:'\u2728', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044799.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Mustapha_Hadji',\n   tag:'\u975e\u6d32\u8db3\u7403\u5148\u751f',\n   stat:'1998\u975e\u6d32\u8db3\u7403\u5148\u751f \u00b7 \u4e16\u754c\u676f\u8fdb\u7403',\n   note:'1998\u5e74\u975e\u6d32\u8db3\u7403\u5148\u751f\uff0c\u57281998\u4e16\u754c\u676f\u5bf9\u632a\u5a01\u6253\u5165\u7ecf\u5178\u8fdb\u7403\uff0c\u6280\u672f\u548c\u521b\u9020\u529b\u51fa\u7c7b\u62d4\u8403\u3002'},\n  {id:'zaki', name:'Badou Zaki', zh:'\u5df4\u675c\u00b7\u624e\u57fa', era:'1980s-1990s',\n   initials:'BZ', icon:'\ud83e\udde4', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044800.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Ezzaki_Badou',\n   tag:'\u95e8\u795e',\n   stat:'1986\u975e\u6d32\u8db3\u7403\u5148\u751f \u00b7 \u897f\u7532\u8428\u83ab\u62c9\u5956',\n   note:'\u975e\u6d32\u6700\u4f1f\u5927\u7684\u95e8\u5c06\u4e4b\u4e00\uff0c1986\u5e74\u975e\u6d32\u8db3\u7403\u5148\u751f\uff0c\u5728\u897f\u7532\u8d62\u5f97\u8428\u83ab\u62c9\u5956\uff0c1986\u4e16\u754c\u676f\u7387\u961f\u95ef\u516516\u5f3a\u3002'},\n  {id:'naybet', name:'Noureddine Naybet', zh:'\u52aa\u5c14\u4e01\u00b7\u5948\u8d1d\u7279', era:'1990s-2000s',\n   initials:'NN', icon:'\ud83d\udee1\ufe0f', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044801.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Noureddine_Naybet',\n   tag:'\u540e\u9632\u94c1\u95f8',\n   stat:'115\u6b21\u51fa\u573a \u00b7 \u897f\u7532\u51a0\u519b',\n   note:'\u6469\u6d1b\u54e5\u51fa\u573a\u7eaa\u5f55\u4fdd\u6301\u8005\uff08115\u573a\uff09\uff0c\u62c9\u79d1\u9c81\u5c3c\u4e9a\u897f\u7532\u51a0\u519b\u529f\u52cb\u540e\u536b\uff0c\u662f\u6469\u6d1b\u54e5\u540e\u9632\u7684\u4f20\u5947\u961f\u957f\u3002'},\n  {id:'benatia', name:'Mehdi Benatia', zh:'\u8fc8\u8d6b\u8fea\u00b7\u8d1d\u7eb3\u8482\u4e9a', era:'2008-2019',\n   initials:'MB', icon:'\ud83c\udfc6', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044802.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Mehdi_Benatia',\n   tag:'\u4e16\u754c\u7ea7\u4e2d\u536b',\n   stat:'\u5fb7\u7532\u610f\u7532\u51a0\u519b \u00b7 \u6469\u6d1b\u54e5\u961f\u957f',\n   note:'\u4e16\u754c\u7ea7\u4e2d\u536b\uff0c\u66fe\u6548\u529b\u62dc\u4ec1\u3001\u5c24\u6587\u56fe\u65af\uff0c\u8d62\u5f97\u5fb7\u7532\u548c\u610f\u7532\u51a0\u519b\uff0c\u662f\u6469\u6d1b\u54e5\u540e\u9632\u7684\u7edd\u5bf9\u9886\u8896\u3002'},\n  {id:'bouderbala', name:'Aziz Bouderbala', zh:'\u963f\u9f50\u5179\u00b7\u5e03\u5fb7\u5c14\u5df4\u62c9', era:'1980s-1990s',\n   initials:'AB', icon:'\ud83c\udfaa', accent:'#8a1b1f',\n   photo:'https:\/\/picgo-feitong.oss-cn-shanghai.aliyuncs.com\/pictures_home\/20260618012044803.jpg',\n   wiki:'https:\/\/en.wikipedia.org\/wiki\/Aziz_Bouderbala',\n   tag:'\u4e2d\u573a\u827a\u672f\u5bb6',\n   stat:'1986\u4e16\u754c\u676f16\u5f3a \u00b7 \u975e\u6d32\u4f20\u5947',\n   note:'1986\u5e74\u4e16\u754c\u676f\u6469\u6d1b\u54e5\u7684\u4e2d\u573a\u6838\u5fc3\uff0c\u4ee5\u534e\u4e3d\u7684\u76d8\u5e26\u548c\u7cbe\u51c6\u7684\u4f20\u7403\u8457\u79f0\uff0c\u88ab\u8bc4\u4e3a\u975e\u6d3250\u5e74\u6700\u4f73200\u4eba\u4e4b\u4e00\u3002'}\n];\n\n\/* ============================================================\n   \u5de5\u5177\u51fd\u6570\uff08\u52a1\u5fc5\u5728 renderLegends \u8c03\u7528\u4e4b\u524d\u5b9a\u4e49\uff09\u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\nconst $ = (s,p=document)=>p.querySelector(s);\nconst $$ = (s,p=document)=>[...p.querySelectorAll(s)];\nconst byId = id => SQUAD.find(p=>p.id===id);\nconst groupZh = {GK:'\u95e8\u5c06',DEF:'\u540e\u536b',MID:'\u4e2d\u573a',FWD:'\u524d\u950b'};\n\nfunction renderLegends(){\n  $('#legendsGrid').innerHTML = LEGENDS.map(l=>`\n    <div class=\"legend\">\n      <div class=\"photo\" style=\"background:linear-gradient(135deg,${l.accent},#1a1410)\">\n        ${l.photo\n          ? `<img decoding=\"async\" src=\"${l.photo}\" alt=\"${l.name}\" onerror=\"this.style.display='none';this.parentNode.querySelector('.ph-fallback').style.display='flex'\">\n             <div class=\"ph-fallback\" style=\"display:none\">\n               <div class=\"ph-initials\">${l.initials}<\/div>\n               <div class=\"ph-icon\">${l.icon}<\/div>\n             <\/div>`\n          : `<div class=\"ph-fallback\">\n               <div class=\"ph-initials\">${l.initials}<\/div>\n               <div class=\"ph-icon\">${l.icon}<\/div>\n             <\/div>`}\n        <span class=\"era\">${l.era}<\/span>\n      <\/div>\n      <div class=\"lbody\">\n        <div class=\"lname\">${l.name}<\/div>\n        <div class=\"lnamezh\">${l.zh}<\/div>\n        <span class=\"ltag\">${l.tag}<\/span>\n        <div class=\"lstat\"><b>${l.stat}<\/b><\/div>\n        <div class=\"lnote\">${l.note}<\/div>\n      <\/div>\n    <\/div>`).join('');\n}\n\/* \u6e32\u67d3\u5386\u53f2\u4f20\u5947\u7403\u661f\u5899\uff08\u5728\u5de5\u5177\u51fd\u6570\u5b9a\u4e49\u4e4b\u540e\u8c03\u7528\uff09*\/\nrenderLegends();\n\n\/* ============================================================\n   \u9635\u578b\u5b9a\u4e49\uff1a\u6bcf\u4e2a slot \u542b key(\u89d2\u8272\u952e)\u3001pos(\u663e\u793a\u7f29\u5199)\u3001x\/y(\u767e\u5206\u6bd4\u5750\u6807)\n   \u5750\u6807\u7cfb\uff1ax \u6a2a\u5411 0~100\uff08\u5de6\u2192\u53f3\uff09\uff0cy \u7eb5\u5411 0~100\uff08\u4e0a=\u8fdb\u653b\u65b9\u5411\uff0c\u4e0b=\u672c\u65b9\u7403\u95e8\uff09\n   \u5750\u6807\u901f\u67e5\u89c1 references\/palette-guide.md\n   \u2014\u2014 \u9ed8\u8ba4 3 \u5957\u9635\u578b\u8de8\u961f\u901a\u7528\uff0c\u5982\u8be5\u961f\u4e3b\u6253\u4e0d\u540c\u9635\u578b\u53ef\u8c03\u6574 slots\n============================================================ *\/\nconst FORMATIONS = {\n  '433':{ label:'4-3-3', slots:[\n    {key:'GK',  pos:'GK', x:50, y:90},\n    {key:'LB',  pos:'LB', x:14, y:72},\n    {key:'LCB', pos:'CB', x:36, y:75},\n    {key:'RCB', pos:'CB', x:64, y:75},\n    {key:'RB',  pos:'RB', x:86, y:72},\n    {key:'LCM', pos:'CM', x:30, y:50},\n    {key:'CDM', pos:'CDM',x:50, y:54},\n    {key:'RCM', pos:'CM', x:70, y:50},\n    {key:'LW',  pos:'LW', x:18, y:22},\n    {key:'ST',  pos:'ST', x:50, y:18},\n    {key:'RW',  pos:'RW', x:82, y:22},\n  ]},\n  '4231':{ label:'4-2-3-1', slots:[\n    {key:'GK',  pos:'GK', x:50, y:90},\n    {key:'LB',  pos:'LB', x:14, y:72},\n    {key:'LCB', pos:'CB', x:38, y:75},\n    {key:'RCB', pos:'CB', x:62, y:75},\n    {key:'RB',  pos:'RB', x:86, y:72},\n    {key:'LDM', pos:'CDM',x:36, y:56},\n    {key:'RDM', pos:'CDM',x:64, y:56},\n    {key:'LW',  pos:'LW', x:18, y:30},\n    {key:'CAM', pos:'CAM',x:50, y:34},\n    {key:'RW',  pos:'RW', x:82, y:30},\n    {key:'ST',  pos:'ST', x:50, y:13},\n  ]},\n  '343':{ label:'3-4-3', slots:[\n    {key:'GK',  pos:'GK', x:50, y:90},\n    {key:'LCB', pos:'CB', x:28, y:75},\n    {key:'CB',  pos:'CB', x:50, y:78},\n    {key:'RCB', pos:'CB', x:72, y:75},\n    {key:'LWB', pos:'LB', x:10, y:48},\n    {key:'LCM', pos:'CM', x:34, y:50},\n    {key:'RCM', pos:'CDM',x:66, y:50},\n    {key:'RWB', pos:'RB', x:90, y:48},\n    {key:'LW',  pos:'LW', x:20, y:20},\n    {key:'ST',  pos:'ST', x:50, y:16},\n    {key:'RW',  pos:'RW', x:80, y:20},\n  ]},\n};\n\n\/* \u6bcf\u4e2a\u9635\u578b slot \u2192 \u5206\u914d\u54ea\u540d\u7403\u5458\uff08\u6309 id\uff09\u3002\n   key \u4e3a\u89d2\u8272\u952e\uff0c\u503c\u4e3a SQUAD \u4e2d\u7684\u7403\u5458 id\u3002\n   \u2193\u2193\u2193 \u66ff\u6362\u4e3a\u8be5\u961f\u9996\u53d1 11 \u4eba\u6620\u5c04 \u2193\u2193\u2193 *\/\nconst LINEUPS = {\n  '433':{\n    GK:'bounou', LB:'mazraoui', LCB:'aguerd', RCB:'diop', RB:'hakimi',\n    LCM:'ounahi', CDM:'amrabat', RCM:'el_khannouss',\n    LW:'ezzalzouli', ST:'rahimi', RW:'brahim_diaz'\n  },\n  '4231':{\n    GK:'bounou', LB:'mazraoui', LCB:'aguerd', RCB:'diop', RB:'hakimi',\n    LDM:'amrabat', RDM:'saibari',\n    LW:'ezzalzouli', CAM:'brahim_diaz', RW:'talbi', ST:'rahimi'\n  },\n  '343':{\n    GK:'bounou', LCB:'aguerd', CB:'diop', RCB:'riad',\n    LWB:'mazraoui', LCM:'amrabat', RCM:'ounahi', RWB:'hakimi',\n    LW:'ezzalzouli', ST:'rahimi', RW:'brahim_diaz'\n  }\n};\n\n\/* ============================================================\n   Tab \u5207\u6362 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\n$$('.tab').forEach(t=>{\n  t.addEventListener('click',()=>{\n    $$('.tab').forEach(x=>x.classList.remove('active'));\n    $$('.panel').forEach(x=>x.classList.remove('active'));\n    t.classList.add('active');\n    $('#panel-'+t.dataset.tab).classList.add('active');\n    const anchor=$('#panel-'+t.dataset.tab).dataset.anchor;\n    if(anchor){ setTimeout(()=>{ const el=document.getElementById(anchor)||$('#panel-'+t.dataset.tab); el.scrollIntoView({behavior:'smooth',block:'start'}); },60); }\n  });\n});\n\n\/* \u9876\u90e8\u5bfc\u822a\u70b9\u51fb\u5e73\u6ed1\u6eda\u52a8 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539 *\/\n$$('.topnav a').forEach(a=>{\n  a.addEventListener('click',e=>{\n    const id=a.getAttribute('href').slice(1);\n    const el=document.getElementById(id) || document.querySelector('[data-anchor=\"'+id+'\"]');\n    if(!el) return;\n    e.preventDefault();\n    const panelMap={\"sec-pitch\":'pitch',\"sec-squad\":'squad',\"sec-vs\":'vs'};\n    if(panelMap[id]){\n      $$('.tab').forEach(x=>x.classList.remove('active'));\n      $$('.panel').forEach(x=>x.classList.remove('active'));\n      const tabBtn=document.querySelector('.tab[data-tab=\"'+panelMap[id]+'\"]');\n      if(tabBtn) tabBtn.classList.add('active');\n      $('#panel-'+panelMap[id]).classList.add('active');\n    }\n    setTimeout(()=>el.scrollIntoView({behavior:'smooth',block:'start'}),60);\n  });\n});\n\n\/* ============================================================\n   \u9635\u578b\u56fe\u6e32\u67d3 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\nconst pitch = $('#pitch');\nlet currentF = '433';\n\nfunction renderPitch(f){\n  currentF = f;\n  $$('.marker',pitch).forEach(m=>m.remove());\n  const slots = FORMATIONS[f].slots;\n  const lineup = LINEUPS[f];\n  slots.forEach(slot=>{\n    const pid = lineup[slot.key];\n    if(!pid) return;\n    const p = byId(pid);\n    const m = document.createElement('div');\n    m.className='marker';\n    if(p.captain) m.classList.add('captain');\n    if(p.star) m.classList.add('star');\n    m.style.left = slot.x+'%';\n    m.style.top  = slot.y+'%';\n    m.innerHTML = `\n      <div class=\"dot\">${p.number}<\/div>\n      <span class=\"pos-tag\">${slot.pos}<\/span>\n      <div class=\"pname\">${p.zh}<\/div>`;\n    m.addEventListener('click',()=>openModal(p.id));\n    pitch.appendChild(m);\n  });\n}\n\n$$('.fbtn').forEach(b=>{\n  b.addEventListener('click',()=>{\n    $$('.fbtn').forEach(x=>x.classList.remove('on'));\n    b.classList.add('on');\n    renderPitch(b.dataset.f);\n  });\n});\n\nrenderPitch('433');\n\n\/* ============================================================\n   \u9635\u5bb9\u540d\u5355\u6e32\u67d3 + \u7b5b\u9009 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\nconst grid = $('#squadGrid');\nlet currentFilter='ALL';\n\nfunction renderSquad(){\n  ['ALL','GK','DEF','MID','FWD'].forEach(g=>{\n    const n = g==='ALL'? SQUAD.length : SQUAD.filter(p=>p.group===g).length;\n    $('#c-'+g).textContent = n;\n  });\n  const list = currentFilter==='ALL'? SQUAD : SQUAD.filter(p=>p.group===currentFilter);\n  grid.innerHTML = list.map(p=>`\n    <div class=\"pcard\" data-id=\"${p.id}\">\n      <div class=\"num\">${p.number}<\/div>\n      <div class=\"prow1\">\n        <div class=\"pavatar\">\n          ${p.photo\n            ? `<img decoding=\"async\" src=\"${p.photo}\" alt=\"${p.name}\" onerror=\"this.style.display='none';this.parentNode.classList.add('noimg')\">`\n            : `<span>${p.name.split(' ').map(w=>w[0]).slice(0,2).join('')}<\/span>`}\n        <\/div>\n        <div class=\"names\">\n          <div class=\"en\">${p.name}<\/div>\n          <div class=\"zh\">${p.zh}<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"pos-rating\">\n        <div class=\"pos-badges\">${p.positions.map(po=>`<span class=\"pos-badge ${p.group}\">${po}<\/span>`).join('')}<\/div>\n        <div class=\"rating\">${p.rating}<small>\/100<\/small><\/div>\n      <\/div>\n      <div class=\"club\">${p.club} \u00b7 ${p.clubZh}<\/div>\n    <\/div>`).join('');\n  $$('.pcard',grid).forEach(c=>c.addEventListener('click',()=>openModal(c.dataset.id)));\n}\nrenderSquad();\n\n$$('#filters .filter-btn').forEach(b=>{\n  b.addEventListener('click',()=>{\n    $$('#filters .filter-btn').forEach(x=>x.classList.remove('on'));\n    b.classList.add('on');\n    currentFilter=b.dataset.f;\n    renderSquad();\n  });\n});\n\n\/* ============================================================\n   \u7403\u5458\u5bf9\u6bd4 \u2014\u2014 \u540c\u4f4d\u7f6e\u624d\u80fd\u5bf9\u6bd4 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\nconst selA=$('#selA'), selB=$('#selB');\nlet vsGroup='MID';\n\nfunction fillSelects(){\n  const list = SQUAD.filter(p=>p.group===vsGroup);\n  const opts = list.map(p=>`<option value=\"${p.id}\">${p.zh} ${p.name} (${p.positions.join('\/')})<\/option>`).join('');\n  selA.innerHTML=opts;\n  selB.innerHTML=opts;\n  selA.value=list[0]?.id||'';\n  selB.value=list[1]?.id||list[0]?.id||'';\n  const map={FWD:'\u524d\u950b',MID:'\u4e2d\u573a',DEF:'\u540e\u536b',GK:'\u95e8\u5c06'};\n  $('#vsGroupTip').textContent=`\u5f53\u524d\u5bf9\u6bd4\uff1a${map[vsGroup]}\uff08${list.length}\u4eba\u53ef\u9009\uff09\u2014 \u53ea\u80fd\u9009\u62e9\u540c\u4e00\u4f4d\u7f6e\u7c7b\u522b\u7684\u7403\u5458`;\n}\nfillSelects();\n\nfunction renderVS(){\n  const a=byId(selA.value), b=byId(selB.value);\n  if(!a||!b) return;\n  $('#vsResult').innerHTML = `\n    <div class=\"vs-result\">\n      <div class=\"vs-col left\">\n        <div class=\"num-big\">#${a.number}<\/div>\n        <div class=\"name\">${a.name}<\/div>\n        <div class=\"zh\">${a.zh}<\/div>\n        ${ratingBar(a.rating,'left')}\n        ${attr('\u4f4d\u7f6e Position', a.positions.join(' \/ '),'left')}\n        ${attr('\u4ff1\u4e50\u90e8 Club', `${a.clubZh} ${a.club}`,'left')}\n        ${attr('\u5e74\u9f84 Age', a.age+' \u5c81','left')}\n      <\/div>\n      <div class=\"vs-mid\">\n        <div class=\"label\">\u8bc4\u5206<br>Rating<\/div>\n        <div style=\"display:flex;flex-direction:column;gap:10px;width:100%;align-items:center\">\n          <div class=\"label\" style=\"color:var(--c1)\">A \u00b7 ${a.rating}<\/div>\n          <div class=\"label\" style=\"color:var(--c1-dark)\">B \u00b7 ${b.rating}<\/div>\n        <\/div>\n        <div class=\"label\" style=\"margin-top:8px;font-style:italic;color:#aaa\">${a.rating>b.rating?'\u25c0 A \u9886\u5148':a.rating<b.rating?'B \u9886\u5148 \u25b6':'\u5e73\u624b Tie'}<\/div>\n      <\/div>\n      <div class=\"vs-col right\">\n        <div class=\"num-big\">#${b.number}<\/div>\n        <div class=\"name\">${b.name}<\/div>\n        <div class=\"zh\">${b.zh}<\/div>\n        ${ratingBar(b.rating,'right')}\n        ${attr('\u4f4d\u7f6e Position', b.positions.join(' \/ '),'right')}\n        ${attr('\u4ff1\u4e50\u90e8 Club', `${b.clubZh} ${b.club}`,'right')}\n        ${attr('\u5e74\u9f84 Age', b.age+' \u5c81','right')}\n      <\/div>\n    <\/div>`;\n}\nfunction ratingBar(r,align){\n  return `<div class=\"rating-bar-wrap\">\n    <div class=\"top\"><span>\u7efc\u5408 OVR<\/span><b>${r}<\/b><\/div>\n    <div class=\"rating-bar\"><i style=\"width:${r}%\"><\/i><\/div>\n  <\/div>`;\n}\nfunction attr(k,v,align){\n  return `<div class=\"vs-attr\">\n    <div class=\"k\">${k}<\/div><div class=\"v\">${v}<\/div><\/div>`;\n}\nselA.addEventListener('change',renderVS);\nselB.addEventListener('change',renderVS);\n$$('.vgbtn').forEach(b=>{\n  b.addEventListener('click',()=>{\n    $$('.vgbtn').forEach(x=>x.classList.remove('on'));\n    b.classList.add('on');\n    vsGroup=b.dataset.g;\n    fillSelects();\n    renderVS();\n  });\n});\nrenderVS();\n\n\/* ============================================================\n   \u7403\u5458\u8be6\u60c5\u6a21\u6001\u6846 \u2014\u2014 \u8de8\u961f\u901a\u7528\uff0c\u52ff\u6539\n============================================================ *\/\nconst mask=$('#modalMask'), box=$('#modalBox');\nfunction openModal(id){\n  const p=byId(id); if(!p) return;\n  const initials=p.name.split(' ').map(w=>w[0]).slice(0,2).join('');\n  const avatarInner = p.photo\n    ? `<img decoding=\"async\" src=\"${p.photo}\" alt=\"${p.name}\" onerror=\"this.style.display='none';this.parentNode.innerHTML='${initials}'\">`\n    : initials;\n  box.innerHTML=`\n    <div class=\"modal-head\">\n      <div class=\"avatar\">${avatarInner}<\/div>\n      <div class=\"h-info\">\n        <div class=\"h-en\">${p.name}<\/div>\n        <div class=\"h-zh\">${p.zh}<\/div>\n        <div class=\"h-num\">#${p.number} \u00b7 ${p.club}<\/div>\n      <\/div>\n      <button class=\"modal-close\" onclick=\"closeModal()\">\u00d7<\/button>\n    <\/div>\n    <div class=\"modal-body\">\n      <div class=\"modal-row\">\n        <span class=\"k\">\u7efc\u5408\u8bc4\u5206 OVR<\/span>\n        <span class=\"v rating-big\">${p.rating}<small>\/100<\/small><\/span>\n      <\/div>\n      <div class=\"rating-bar rating-pct\"><i style=\"width:${p.rating}%\"><\/i><\/div>\n      <div class=\"modal-row\">\n        <span class=\"k\">\u4f4d\u7f6e Position<\/span>\n        <span class=\"v\">${p.positions.map(po=>`<span class=\"pos-badge ${p.group}\" style=\"margin-left:4px\">${po}<\/span>`).join('')}<\/span>\n      <\/div>\n      <div class=\"modal-row\">\n        <span class=\"k\">\u4f4d\u7f6e\u7c7b\u522b Group<\/span>\n        <span class=\"v\">${p.group} \u00b7 ${groupZh[p.group]}<\/span>\n      <\/div>\n      <div class=\"modal-row\">\n        <span class=\"k\">\u4ff1\u4e50\u90e8 Club<\/span>\n        <span class=\"v\">${p.clubZh} \u00b7 ${p.club}<\/span>\n      <\/div>\n      <div class=\"modal-row\">\n        <span class=\"k\">\u5e74\u9f84 Age<\/span>\n        <span class=\"v\">${p.age} \u5c81<\/span>\n      <\/div>\n      ${p.captain?`<div class=\"modal-row\"><span class=\"k\">\u8eab\u4efd<\/span><span class=\"v\" style=\"color:var(--c2)\">\u2605 \u961f\u957f Captain<\/span><\/div>`:''}\n      ${p.star?`<div class=\"modal-row\"><span class=\"k\">\u5b9a\u4f4d<\/span><span class=\"v\" style=\"color:var(--c1)\">\u2605 \u6838\u5fc3\u7403\u5458 Key Player<\/span><\/div>`:''}\n      <div class=\"bio\"><b>\u7403\u5458\u7b80\u4ecb\uff1a<\/b>${p.bio}<\/div>\n    <\/div>`;\n  mask.classList.add('show');\n}\nfunction closeModal(){mask.classList.remove('show')}\nmask.addEventListener('click',e=>{if(e.target===mask) closeModal()});\ndocument.addEventListener('keydown',e=>{if(e.key==='Escape') closeModal()});\n<\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>\u6469\u6d1b\u54e5\u56fd\u5bb6\u8db3\u7403\u961f\uff08\u963f\u62c9\u4f2f\u8bed\uff1a\u0645\u0646\u062a\u062e\u0628 \u0627\u0644\u0645\u063a\u0631\u0628 \u0644\u0643\u0631\u0629 \u0627\u0644\u0642\u062f\u0645\uff09\uff0c\u7ef0\u53f7&#8221;\u963f\u7279\u62c9\u65af\u96c4\u72ee&#8221;\uff08\u0623\u0633\u0648\u062f \u0627\u0644\u0623\u0637\u0644\u0633\uff09\uff0c\u662f\u4ee3\u8868\u6469\u6d1b\u54e5\u53c2\u52a0\u56fd\u9645\u8db3\u7403\u8d5b\u4e8b\u7684\u5b98\u65b9\u4ee3\u8868\u961f\uff0c\u975e\u6d32\u6700\u6210\u529f\u7684\u56fd\u5bb6\u961f\u4e4b\u4e00<\/p>\n","protected":false},"author":1,"featured_media":1525,"comment_status":"closed","ping_status":"open","sticky":false,"template":"html-full-article","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[35,34],"tags":[16],"class_list":["post-1522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-world-cup","category-34","tag-16"],"_links":{"self":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/comments?post=1522"}],"version-history":[{"count":2,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1522\/revisions"}],"predecessor-version":[{"id":1526,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/posts\/1522\/revisions\/1526"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/media\/1525"}],"wp:attachment":[{"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/media?parent=1522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/categories?post=1522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qubitledge.com\/index.php\/wp-json\/wp\/v2\/tags?post=1522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}