/* Xtreme Line colour: matches the green toothed rail of the real stadium and the 3D renders */
:root{--rail:#2db84b}
:root[data-theme="light"]{--rail:#1f9a3b}
/* Beyblade X Strategy Lab: illustration layer. Uses only the tokens defined in app.css. */
.bx-fig{margin:0 0 20px;min-width:0}
.bx-frame{box-sizing:content-box;position:relative;overflow:hidden;border-radius:var(--radius-m);border:1px solid var(--line);background:#050505;
  box-shadow:0 18px 40px -24px rgba(0,0,0,.65)}
.bx-frame img{display:block;width:100%;height:100%;object-fit:cover}
.bx-fig figcaption{margin:8px 2px 0;font-size:.84rem;line-height:1.45;color:var(--muted);max-width:68ch}
.bx-badge{position:absolute;top:10px;left:10px;z-index:2;font:500 .68rem/1 var(--body);letter-spacing:.06em;text-transform:uppercase;
  color:#F7F5F0;background:rgba(5,5,5,.62);border:1px solid rgba(255,255,255,.18);padding:5px 8px;border-radius:999px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
:lang(zh) .bx-badge{text-transform:none;letter-spacing:.02em}

/* sizes: never upscale far beyond the supplied pixels */
.bx-fig--wide{max-width:900px}
.bx-fig--strip{max-width:620px}
.bx-fig--sm{max-width:340px}

/* label chips rebuilt as HTML over the artwork */
.bx-chip{position:absolute;z-index:2;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font:600 clamp(.66rem,1.5vw,.8rem)/1 var(--body);color:#F7F5F0;background:rgba(5,5,5,.72);border:1px solid rgba(255,255,255,.22);
  padding:6px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.bx-chip i{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none}
.bx-chip.pin::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:var(--pin,22px);background:rgba(247,245,240,.75)}
.bx-chip.pin-l::after{content:"";position:absolute;right:100%;top:50%;height:1px;width:var(--pin,22px);background:rgba(247,245,240,.75)}

/* home hero banner: full-width landing image above the headline and the interactive stadium */
.hero{position:relative}
.bx-hero-bg{grid-column:1/-1;position:relative;margin:0 0 6px;border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:1920/780;background:#050505;box-shadow:0 30px 60px -36px rgba(0,0,0,.8)}
.bx-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:52% 58%;display:block}
.bx-hero-bg::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,color-mix(in srgb,var(--bg) 55%,transparent)),radial-gradient(120% 90% at 50% 40%,transparent 60%,rgba(0,0,0,.35))}
.bx-hero-bg .bx-badge{top:auto;bottom:14px;left:auto;right:14px;z-index:3}

/* intro rows: lede beside a small figure */
.bx-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(16px,3vw,36px);align-items:start;margin-bottom:24px}
.bx-intro .lede{padding-top:4px}
.bx-intro .lede{margin-bottom:0}
.bx-intro .bx-fig{margin:0;width:clamp(150px,20vw,230px)}
.bx-intro--wide .bx-fig{width:clamp(220px,30vw,380px)}

/* anatomy: photo + labels beside the interactive SVG */
.bx-anat-wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.bx-anat-wrap>.bx-anat{flex:1 1 240px}
.bx-anat-wrap>#anatomySvg{flex:1 1 200px;width:100%;max-width:340px;height:auto;min-width:0}
.bx-anat{display:grid;grid-template-columns:minmax(96px,150px) 118px;gap:8px;align-items:stretch;margin:0;justify-content:center}
.bx-anat .bx-frame{background:#0b0c0f}
.bx-anat .bx-badge{top:6px;left:6px}
.bx-anat-col{position:relative;min-width:0}
.bx-anat-lbl{position:absolute;left:0;transform:translateY(-50%);min-height:36px;white-space:nowrap;padding:0 10px 0 14px;border-radius:999px;border:1px solid var(--line);
  background:var(--glass2);color:var(--ink);font:600 .8rem/1 var(--body);cursor:pointer;text-align:left}
.bx-anat-lbl::before{content:"";position:absolute;right:100%;top:50%;width:12px;height:1px;background:var(--muted)}
.bx-anat-lbl[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
.bx-anat-lbl:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bx-anat figcaption{grid-column:1/-1}

/* type panel figure */
.bx-typefig{max-width:300px}

/* quiz panel figure */
.bx-quiz{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
.bx-quiz .bx-fig{margin:0;width:clamp(150px,18vw,215px)}

.bx-badge-b .bx-badge{top:auto;bottom:8px;left:8px}

/* strategy accordion figure */
.bx-dashfig{margin:0 20px 16px;max-width:420px}

/* footer */
.bx-foot{display:flex;align-items:center;gap:18px}
.bx-foot .bx-fig{margin:0;width:104px;flex:none}
.bx-foot .bx-frame{border-radius:12px}
.bx-foot .bx-badge{display:none}

/* about panel in the Reference Centre */
.bx-about p{margin:0;color:var(--muted);max-width:75ch}

/* section heroes: one image under every section title */
.bx-hero-sec{max-width:none;margin:2px 0 22px}
.bx-hero-sec .bx-frame{border-radius:var(--radius-l)}
.bx-hero-crop{aspect-ratio:21/8}
.bx-hero-sec figcaption{margin-top:6px}
@media (max-width:600px){.bx-hero-crop{aspect-ratio:16/10}}

/* real photos (Wikimedia Commons, CC BY 4.0) */
.bx-pbadge{position:absolute;top:10px;left:10px;z-index:2;font:500 .68rem/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#F7F5F0;background:rgba(5,5,5,.62);border:1px solid rgba(255,255,255,.18);padding:5px 8px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
:lang(zh) .bx-pbadge{text-transform:none;letter-spacing:.02em}
.bx-photo img{object-fit:cover}
.bx-photo.bx-fig--wide{max-width:600px}
.bx-photo.bx-fig--strip{max-width:560px}
.bx-credit{display:inline-block;font-size:.74rem;color:var(--muted);opacity:.9}
.bx-credit a{color:inherit}
.bx-foot .bx-pbadge{display:none}
.bx-foot figcaption{display:none}

/* official video facades */
.bx-video .bx-frame{background:#000}
.bx-vbtn{all:unset;position:absolute;inset:0;cursor:pointer;display:block}
.bx-vbtn img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .3s}
.bx-vbtn:hover img,.bx-vbtn:focus-visible img{transform:scale(1.03);filter:brightness(1.08)}
.bx-vbtn:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:inherit}
.bx-play{position:absolute;left:50%;top:50%;width:68px;height:68px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(5,5,5,.72);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bx-play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #F7F5F0}
.bx-vsrc{position:absolute;left:10px;bottom:10px;font:600 .7rem/1 var(--body);color:#F7F5F0;background:rgba(5,5,5,.72);border:1px solid rgba(255,255,255,.2);padding:5px 9px;border-radius:999px}
.bx-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hero .bx-hero-video{grid-column:1/-1;margin:0 0 6px}
.hero .bx-hero-video .bx-play{width:88px;height:88px}
.bx-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:12px}
.bx-vgrid .bx-fig{margin:0}
.bx-vgrid .bx-play{width:52px;height:52px}
.bx-official{margin:0;font-size:.84rem}
.bx-official a{color:var(--gold)}
.bx-lineup{margin:-8px 0 14px;font-size:.88rem}
.bx-lineup a{color:var(--gold)}

/* 3D part schematics */
.card img.art3d{width:160px;height:160px;align-self:center;margin:-8px 0 -6px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.bx-schem{font-size:.84rem;color:var(--muted);max-width:80ch;margin:-6px 0 14px}
.bx-trio{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;margin:4px 0 6px;padding:10px 8px 6px;border-radius:var(--radius-m);background:var(--glass2);border:1px solid var(--line)}
.bx-trio-part{margin:0;text-align:center;min-width:0}
.bx-trio-part img{width:100%;max-width:120px;height:auto;aspect-ratio:1;display:block;margin:0 auto;object-fit:contain}
.bx-trio-part figcaption{font-size:.74rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-plus{color:var(--muted);font-size:1.1rem;font-weight:300}
.slot .bx-trio{margin-top:6px}
.slot .bx-trio-part img{max-width:96px}
.type-panel img.bx-typebey{width:150px;height:150px;flex:none;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.bx-trio-note{grid-column:1/-1;margin:6px 4px 0;font-size:.72rem;line-height:1.4;color:var(--muted)}

/* academy: three-parts explainer (original layout, numbered like an instruction sheet) */
.bx-explain{margin:0 0 22px;padding:clamp(16px,2.6vw,28px)}
.bx-ex-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.bx-ex-head h3{margin:0;font-size:clamp(1.05rem,2.2vw,1.35rem)}
.bx-ex-num{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#050505;font:700 1rem/1 var(--body)}
.bx-ex-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(14px,3vw,34px);align-items:center}
.bx-ex-main{position:relative;margin:0;border-radius:var(--radius-m);background:radial-gradient(70% 70% at 50% 45%,rgba(200,164,93,.16),transparent 70%),#0b0c0f;border:1px solid var(--line);aspect-ratio:900/724;overflow:hidden}
.bx-ex-main img{width:100%;height:100%;object-fit:contain;display:block}
.bx-ex-name{position:absolute;left:12px;bottom:12px;font:600 .78rem/1 var(--body);color:#F7F5F0;background:rgba(5,5,5,.72);border:1px solid rgba(255,255,255,.2);padding:6px 10px;border-radius:999px}
.bx-ex-parts{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative}
.bx-ex-parts li{position:relative}
.bx-ex-parts li::before{content:"";position:absolute;right:100%;top:50%;width:clamp(10px,3vw,34px);height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.bx-ex-part{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px 8px 8px;border-radius:var(--radius-m);border:1px solid var(--line);background:var(--glass2);transition:border-color .15s,transform .15s}
.bx-ex-part:hover{transform:translateX(2px)}
.bx-ex-part[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.bx-ex-part:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bx-ex-part img{width:76px;height:76px;object-fit:contain;border-radius:12px;background:#0b0c0f;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.bx-ex-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.bx-ex-txt b{font:700 .82rem/1.2 var(--body);letter-spacing:.08em;color:var(--gold)}
:lang(zh) .bx-ex-txt b{letter-spacing:.02em}
.bx-ex-txt span{font-size:.86rem;line-height:1.45;color:var(--ink)}
.bx-ex-txt small{font-size:.74rem;color:var(--muted)}
.bx-explain figcaption{margin:12px 2px 0;font-size:.8rem;color:var(--muted)}
@media (max-width:760px){.bx-ex-body{grid-template-columns:1fr}.bx-ex-main{max-width:420px;justify-self:center;width:100%}.bx-ex-parts li::before{display:none}.bx-ex-part{grid-template-columns:64px minmax(0,1fr)}.bx-ex-part img{width:64px;height:64px}}

/* parts: BX, UX and CX line guide */
.bx-lines{margin:0 0 20px;padding:clamp(16px,2.4vw,24px)}
.bx-lines h3{margin:0 0 4px}
.bx-lines>.muted{margin:0 0 14px;max-width:75ch}
.bx-ln-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bx-ln{position:relative;padding:14px 14px 12px;border-radius:var(--radius-m);border:1px solid var(--line);background:var(--glass2);border-top:3px solid var(--c)}
.bx-ln-bx{--c:var(--blue,#4f8cff)}.bx-ln-ux{--c:var(--violet,#9b6bff)}.bx-ln-cx{--c:var(--gold)}
.bx-ln-code{font:800 1.5rem/1 var(--body);letter-spacing:.04em;color:var(--c)}
.bx-ln h4{margin:4px 0 6px;font-size:.95rem}
.bx-ln p{margin:0;font-size:.86rem;line-height:1.45}
.bx-ln .bx-ln-on{margin-top:8px;font-size:.8rem;color:var(--muted)}
.bx-ln-on span:first-child{font-weight:600}
.bx-ln-src{margin:12px 0 0;font-size:.82rem}
.bx-ln-src a{color:var(--gold)}

/* original anime-style illustrations, best-3 note, official gallery, part reviews */
.bx-ill .bx-frame{background:#05060a}
.bx-ill img{object-fit:cover;object-position:50% 45%}
.bx-illbadge{text-transform:none;letter-spacing:.02em}
.hero .bx-hero-ill{grid-column:1/-1;margin:0 0 6px;max-width:none}
.hero .bx-hero-ill .bx-frame{border-radius:var(--radius-l)}
.bx-best3{margin:-12px 0 20px;font-size:.92rem;color:var(--muted)}
.bx-best3 a{color:var(--gold);white-space:nowrap}
.bx-gallery .bx-vgrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.bx-gallery figcaption{font-size:.8rem}
.card .bx-review{margin:8px 0 4px}
.card .bx-review .bx-play{width:46px;height:46px}
.card .bx-review .bx-vsrc{font-size:.66rem}

/* subtitle icons: CSS masks, so language switches that rewrite the heading text never remove them */
:root{
  --ic-top:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='8' rx='9' ry='4'/><path d='M5 10.5 12 21l7-10.5'/><path d='M12 4v-2'/></svg>");
  --ic-layers:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 2 7l10 5 10-5-10-5z'/><path d='m2 12 10 5 10-5'/><path d='m2 17 10 5 10-5'/></svg>");
  --ic-grid:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='7' rx='1'/><rect x='14' y='3' width='7' height='7' rx='1'/><rect x='3' y='14' width='7' height='7' rx='1'/><rect x='14' y='14' width='7' height='7' rx='1'/></svg>");
  --ic-trophy:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4z'/><path d='M17 5h3v2a3 3 0 0 1-3 3M7 5H4v2a3 3 0 0 0 3 3'/></svg>");
  --ic-wrench:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.4-.6-.6-2.4 2.6-2.6z'/></svg>");
  --ic-book:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20V3H6.5A2.5 2.5 0 0 0 4 5.5v14z'/><path d='M20 17v4H6.5A2.5 2.5 0 0 1 4 19.5'/></svg>");
  --ic-question:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01'/></svg>");
  --ic-tag:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/><path d='M7.5 7.5h.01'/></svg>");
  --ic-star:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m12 2 3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/></svg>");
  --ic-target:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>");
  --ic-bolt:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/></svg>");
  --ic-check:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m8 12 3 3 5-6'/></svg>");
  --ic-shield:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
  --ic-chart:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3v18h18'/><path d='m7 15 4-4 3 3 5-6'/></svg>");
  --ic-bars:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 20V10M12 20V4M18 20v-7M3 20h18'/></svg>");
  --ic-flag:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 22V4M4 4h13l-2 4 2 4H4'/></svg>");
  --ic-clock:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 6v6l4 2'/></svg>");
  --ic-link:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/><path d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/></svg>");
  --ic-play:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m10 8 6 4-6 4V8z'/></svg>");
  --ic-info:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4M12 8h.01'/></svg>");
  --ic-map:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2z'/><path d='M9 4v14M15 6v14'/></svg>");
  --ic-hand:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 11V6a2 2 0 0 0-4 0v5M14 10V4a2 2 0 0 0-4 0v6M10 10.5V6a2 2 0 0 0-4 0v8a8 8 0 0 0 16 0v-3a2 2 0 0 0-4 0'/></svg>");
  --ic-heart:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8z'/></svg>");
}
main .glass > h3::before,main .bx-lines > h3::before{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;margin-right:.5em;vertical-align:-.16em;background:var(--gold);
  -webkit-mask:var(--ic,var(--ic-top)) center/contain no-repeat;mask:var(--ic,var(--ic-top)) center/contain no-repeat}
h3[data-i18n="anatomy"],h3[data-ic="layers"]{--ic:var(--ic-layers)}
h3[data-i18n="types"],h3[data-ic="grid"]{--ic:var(--ic-grid)}
h3[data-i18n="scoring"],h3[data-i18n="wbc"],h3[data-ic="trophy"]{--ic:var(--ic-trophy)}
h3[data-i18n="assemble"]{--ic:var(--ic-wrench)}
h3[data-i18n="basicRules"]{--ic:var(--ic-book)}
h3[data-i18n="quiz"],h3[data-i18n="unknowns"],h3[data-ic="question"]{--ic:var(--ic-question)}
h3[data-bxt="ln_title"]{--ic:var(--ic-tag)}
h3[data-i18n="favourites"]{--ic:var(--ic-heart)}
h3[data-i18n="gripTitle"]{--ic:var(--ic-hand)}
h3[data-i18n="launcherGuide"],h3[data-ic="bolt"]{--ic:var(--ic-bolt)}
h3[data-i18n="checks"],h3[data-i18n="verified"]{--ic:var(--ic-check)}
h3[data-i18n="coverage"]{--ic:var(--ic-shield)}
h3[data-i18n="trend"],h3[data-ic="chart"]{--ic:var(--ic-chart)}
h3[data-i18n="byCombo"],h3[data-i18n="byFinish"],h3[data-ic="bars"]{--ic:var(--ic-bars)}
h3[data-i18n="history"]{--ic:var(--ic-clock)}
h3[data-bxt="galTitle"],h3[data-bxt="offTitle"]{--ic:var(--ic-play)}
h3[data-i18n="sources"]{--ic:var(--ic-link)}
h3[data-bxt="aboutTitle"]{--ic:var(--ic-info)}
h3[data-ic="target"]{--ic:var(--ic-target)}
h3[data-ic="star"]{--ic:var(--ic-star)}
h3[data-ic="flag"]{--ic:var(--ic-flag)}
h3[data-ic="map"]{--ic:var(--ic-map)}
/* overview module cards get the same icon language */
#moduleGrid .mod strong::before{content:"";display:inline-block;width:1.1em;height:1.1em;margin-right:.45em;vertical-align:-.18em;background:var(--gold);-webkit-mask:var(--ic,var(--ic-top)) center/contain no-repeat;mask:var(--ic,var(--ic-top)) center/contain no-repeat}
#moduleGrid .mod[href="#academy"]{--ic:var(--ic-book)}
#moduleGrid .mod[href="#parts"]{--ic:var(--ic-layers)}
#moduleGrid .mod[href="#builder"]{--ic:var(--ic-wrench)}
#moduleGrid .mod[href="#launch"]{--ic:var(--ic-bolt)}
#moduleGrid .mod[href="#strategy"]{--ic:var(--ic-target)}
#moduleGrid .mod[href="#tricks"]{--ic:var(--ic-star)}
#moduleGrid .mod[href="#deck"]{--ic:var(--ic-grid)}
#moduleGrid .mod[href="#dashboard"]{--ic:var(--ic-chart)}
#moduleGrid .mod[href="#roadmap"]{--ic:var(--ic-map)}
#moduleGrid .mod[href="#buy"]{--ic:var(--ic-tag)}
#moduleGrid .mod[href="#champion"]{--ic:var(--ic-trophy)}
#moduleGrid .mod[href="#refs"]{--ic:var(--ic-link)}

/* Buy & Compare */
#buyBody>.glass,#buyBody>.ch-grid2{margin-bottom:18px}
.by-qs,.by-filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.by-q,.by-f{all:unset;cursor:pointer;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass2);font:600 .84rem/1.25 var(--body);color:var(--ink)}
.by-q[aria-pressed="true"],.by-f[aria-pressed="true"]{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.by-q:focus-visible,.by-f:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.by-rec{margin-top:14px;padding:14px 16px;border-radius:var(--radius-m);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent)}
.by-rec p{margin:0 0 8px}
.by-rec ol{margin:0 0 8px;padding-left:22px;display:grid;gap:4px}
.by-rec li span{color:var(--muted);margin-left:6px;font-variant-numeric:tabular-nums}
.by-total{font:800 1.2rem/1 var(--body);color:var(--gold)}
.by-total span{font:500 .78rem/1 var(--body);color:var(--muted)}
.by-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:8px}
.by-kinds div{padding:12px;border-radius:var(--radius-m);border:1px solid var(--line);background:var(--glass2);display:flex;flex-direction:column;gap:4px}
.by-kinds span{font-size:.84rem;color:var(--muted)}
.by-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:12px}
.by-card{display:flex;flex-direction:column;border-radius:var(--radius-m);border:1px solid var(--line);background:var(--glass2);overflow:hidden;border-top:3px solid var(--c)}
.by-img{position:relative;aspect-ratio:16/10;background:radial-gradient(70% 80% at 50% 45%,color-mix(in srgb,var(--c,#c8a45d) 22%,transparent),transparent 70%),#0b0c0f;display:flex;align-items:center;justify-content:center;margin:0}
.by-img>img{width:62%;height:auto;max-height:92%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.4))}
.by-trio img{width:34%;margin:0 -3%}
.by-st img{width:58%}
.by-yt .bx-vbtn{position:absolute;inset:0}
.by-yt .bx-vbtn img{width:100%;height:100%;object-fit:cover}
.by-yt .bx-play{width:48px;height:48px}
.by-tile{flex-direction:column;gap:4px}
.by-tile span{font:800 1.6rem/1 var(--body);letter-spacing:.04em;color:var(--c)}
.by-tile small{font:600 .72rem/1 var(--body);color:var(--muted);letter-spacing:.1em}
.by-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.by-top{display:flex;justify-content:space-between;gap:8px;font:700 .74rem/1 var(--body)}
.by-code{color:var(--c)}
.by-type{color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
:lang(zh) .by-type{text-transform:none;letter-spacing:0}
.by-card h4{margin:0;font-size:1rem}
.by-price{margin:0}
.by-price b{font:800 1.15rem/1 var(--body);color:var(--gold);font-variant-numeric:tabular-nums}
.by-price span{font-size:.74rem;color:var(--muted)}
.by-box{list-style:none;margin:2px 0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.by-box li{font-size:.72rem;padding:3px 8px;border-radius:999px;border:1px solid var(--line)}
.by-in,.by-good{margin:0;font-size:.82rem;line-height:1.45}
.by-in{color:var(--muted)}
.by-act{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem}
.by-act a{color:var(--gold)}
.by-cmp{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px}
.by-act label.by-cmp{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0;font-size:.82rem;color:var(--ink)}
.by-cmp input{accent-color:var(--gold);width:16px;height:16px;margin:0;min-height:0}
.by-table{width:100%;border-collapse:collapse;font-size:.86rem}
.by-table th,.by-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.by-table thead th{color:var(--gold)}
.by-table thead th span{color:var(--ink);font-weight:500}
.by-table tbody th{color:var(--muted);font-weight:600;white-space:nowrap}
.by-clear{all:unset;cursor:pointer;margin-top:10px;color:var(--gold);font-size:.84rem;text-decoration:underline}
.by-dash{color:var(--gold)}

/* example family collection */
.fm-h{margin:14px 0 8px}
.fm-sheet{margin:12px 0 6px}
.fm-sheet a{display:block;border-radius:var(--radius-m);overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(0,0,0,.7)}
.fm-sheet img{display:block;width:100%;height:auto}
.fm-sheet figcaption{margin-top:6px;font-size:.8rem;color:var(--muted)}
.fm-coll{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.fm-coll li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--glass2)}
.fm-coll img,.fm-beys img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
.fm-coll b{font-size:.72rem;color:var(--gold)}
.fm-coll span{font-size:.84rem;font-weight:600}
.fm-coll small{font-size:.72rem;color:var(--muted)}
.fm-n{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;background:var(--glass);border:1px solid var(--line);font:700 .7rem/20px var(--body)!important;color:var(--ink)}
.fm-disc{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#f3f4f6 0 18%,#1f2937 19% 30%,var(--c) 31% 62%,color-mix(in srgb,var(--c) 55%,#000) 63% 100%);box-shadow:0 6px 14px rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,255,255,.18)}
.fm-disc i{width:20%;height:20%;border-radius:50%;background:#0b0c0f}
.fm-decks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:16px 0}
.fm-deck{border:2px solid var(--dc);border-radius:var(--radius-m);padding:14px;background:color-mix(in srgb,var(--dc) 6%,transparent)}
.fm-deck header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.fm-deck header h4{margin:0}
.fm-deck header span{font:700 .78rem/1 var(--body);color:var(--dc);text-transform:uppercase;letter-spacing:.06em}
:lang(zh) .fm-deck header span{text-transform:none;letter-spacing:0}
.fm-deck>.muted{margin:6px 0 10px;font-size:.86rem}
.fm-beys{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fm-beys>li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:10px 8px;border-radius:var(--radius-m);background:var(--glass2);border:1px solid var(--line)}
.fm-role{align-self:stretch;display:flex;align-items:center;gap:6px;font:700 .68rem/1.2 var(--body);color:#050505;background:var(--rc);border-radius:6px;padding:4px 6px;text-transform:uppercase;text-align:left}
:lang(zh) .fm-role{text-transform:none}
.fm-role b{font-size:.9rem}
.fm-beys h5{margin:2px 0 0;font-size:.9rem}
.fm-combo{margin:0;font:700 .8rem/1 var(--body);color:var(--gold)}
.fm-beys ul{margin:4px 0 0;padding-left:16px;text-align:left;font-size:.76rem;color:var(--muted);display:grid;gap:2px}
.fm-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.fm-box{border:1px solid var(--line);border-radius:var(--radius-m);padding:12px 14px;background:var(--glass2)}
.fm-box h4{margin:0 0 8px;font-size:.92rem}
.fm-box p{margin:0 0 6px;font-size:.84rem}
.fm-warn{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}
.fm-warn .ticks li{font-size:.82rem}
.fm-chip{display:inline-block;margin:2px 4px 2px 0;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:.78rem;font-weight:700}
.fm-chip small{font-weight:500;color:var(--muted)}
.fm-ups{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fm-ups li{display:grid;grid-template-columns:44px 1fr;column-gap:10px;align-items:center}
.fm-ups img{width:44px;height:44px;object-fit:contain;grid-row:span 2}
.fm-ups b{font-size:.86rem}
.fm-ups span{font-size:.76rem;color:var(--muted)}
.fm-goal{margin:14px 0 8px;padding:10px 14px;border-radius:var(--radius-m);background:color-mix(in srgb,var(--gold) 10%,transparent);font-weight:600;font-size:.92rem}
@media (max-width:600px){.fm-beys{grid-template-columns:1fr}.fm-beys>li{display:grid;grid-template-columns:64px 1fr;text-align:left;align-items:start;column-gap:10px}.fm-beys>li .fm-role{grid-column:1/-1}.fm-beys>li>img,.fm-beys>li>.fm-disc{grid-row:span 3}}

/* landing banner: title overlay */
.hero .bx-hero-ill .bx-frame{aspect-ratio:2688/1152}
.hero .bx-hero-ill .bx-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(3,5,14,.92) 0%,rgba(3,5,14,.78) 30%,rgba(3,5,14,.25) 52%,transparent 66%),linear-gradient(0deg,rgba(3,5,14,.55),transparent 40%)}
.hero .bx-hero-ill .bx-pbadge{left:auto;right:12px;top:12px}
.hx-copy{position:absolute;z-index:2;left:clamp(18px,3.4vw,44px);top:50%;transform:translateY(-50%);width:min(46%,560px);color:#F7F5F0}
.hx-copy p{margin:0}
.hx-eyebrow{display:flex;align-items:center;gap:.5em;font:700 clamp(.66rem,1.05vw,.86rem)/1 "Inter","Noto Sans SC",sans-serif;letter-spacing:.24em;color:#ffd27a;margin-bottom:clamp(8px,1.2vw,16px)!important}
.hx-eyebrow span[lang="zh"]{letter-spacing:.12em}
.hx-eyebrow i{font-style:normal;color:#2db84b}
.hx-eyebrow::before{content:"";width:28px;height:2px;background:linear-gradient(90deg,#2db84b,#ffd27a)}
.hx-title{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap;font:400 clamp(1.8rem,4.6vw,4rem)/.95 "Anton","Impact","Noto Sans SC",sans-serif;letter-spacing:.01em;text-transform:uppercase;transform:skewX(-6deg);transform-origin:left}
.hx-title span{background:linear-gradient(180deg,#ffffff 0%,#e9f2ff 45%,#9cc4ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(79,140,255,.45))}
.hx-title span+span{background:linear-gradient(180deg,#fff3c4 0%,#ffd27a 40%,#ff8a3d 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 20px rgba(255,138,61,.5))}
.hx-zh{font:900 clamp(1rem,2.1vw,1.7rem)/1.2 "Noto Sans SC",sans-serif;letter-spacing:.14em;color:#fff;margin-top:clamp(8px,1vw,14px)!important;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hx-desc{display:flex;flex-direction:column;gap:3px;margin-top:clamp(8px,1.1vw,14px)!important;padding-left:12px;border-left:2px solid #2db84b;font:500 clamp(.72rem,1.05vw,.92rem)/1.45 "Inter","Noto Sans SC",sans-serif;color:rgba(247,245,240,.88);max-width:46ch}
.hx-desc span[lang="zh"]{color:rgba(247,245,240,.72)}
.hx-by{margin-top:clamp(8px,1.2vw,16px)!important;font:italic 400 clamp(.78rem,1.1vw,.95rem)/1 "Fraunces",Georgia,serif;color:rgba(247,245,240,.75)}
.hx-by a{font-style:normal;font-weight:600;color:#ffd27a;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid rgba(255,210,122,.5);padding:6px 0 1px}
.hx-by a:hover{color:#fff;border-bottom-color:#fff}
.hx-by a:focus-visible{outline:2px solid #ffd27a;outline-offset:3px;border-radius:3px}
@media (max-width:760px){
  .hero .bx-hero-ill .bx-frame{aspect-ratio:auto;display:flex;flex-direction:column}
  .hero .bx-hero-ill .bx-frame img{aspect-ratio:2688/1152;height:auto}
  .hero .bx-hero-ill .bx-frame::after{display:none}
  .hx-copy{position:relative;left:auto;top:auto;transform:none;width:auto;padding:16px 16px 18px;background:linear-gradient(180deg,#0a1024,#050608)}
  .hx-title{font-size:clamp(2rem,10vw,2.8rem)}
}
@media print{.hx-copy{display:none}}

/* home button (header) and back-to-home link (end of each module) */
.bx-homebtn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--ink);text-decoration:none;font:600 .88rem/1 var(--body)}
.bx-homebtn:hover{border-color:var(--gold);color:var(--gold)}
.bx-homebtn[aria-current="page"]{border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:var(--gold)}
.bx-homebtn:focus-visible,.bx-backhome a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bx-backhome{margin:26px 0 6px;display:flex;justify-content:center}
.bx-backhome a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);text-decoration:none;font:600 .92rem/1 var(--body);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.bx-backhome a:hover{background:color-mix(in srgb,var(--gold) 16%,transparent)}
@media (max-width:600px){.bx-homebtn{width:44px;padding:0;justify-content:center}.bx-homebtn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media print{.bx-homebtn,.bx-backhome{display:none!important}}

/* Champion Playbook */
#champBody>.glass,#champBody>.ch-grid2{margin-bottom:18px}
.ch-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.ch-grid2>.glass{margin:0}
.ch-tag{display:inline-block;font:600 .66rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);padding:4px 8px;border-radius:999px;margin-bottom:8px}
:lang(zh) .ch-tag{letter-spacing:.02em}
#champBody h3{margin:0 0 6px}
#champBody h4{margin:0 0 6px;font-size:.95rem}
.ch-facts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.ch-facts li{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;font-size:.9rem}
.ch-facts b{font:800 1.15rem/1 var(--body);color:var(--gold)}
.ch-slots{margin:8px 0 0;padding-left:20px;display:grid;gap:8px}
.ch-slots li span{display:block;font-size:.86rem;color:var(--muted)}
.ch-note{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.ch-decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px}
.ch-deck{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--glass2);padding:14px;display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--gold)}
.ch-deck h4{margin:2px 0 0}
.ch-date{font:600 .72rem/1 var(--body);color:var(--gold);letter-spacing:.04em}
.ch-cls{margin:0;font-weight:600;font-size:.86rem}
.ch-where{margin:0;font-size:.78rem}
.ch-combos{margin:4px 0 0;padding-left:20px;font-size:.88rem;display:grid;gap:3px}
.ch-dnote{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.ch-src{margin:6px 0 0;font-size:.74rem;color:var(--muted)}
.ch-src a{color:var(--muted)}
.ch-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:12px}
.ch-bars{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ch-bars li{display:grid;grid-template-columns:104px 1fr 40px;gap:8px;align-items:center;font-size:.82rem}
.ch-bar{height:9px;border-radius:99px;background:var(--glass2);border:1px solid var(--line);overflow:hidden}
.ch-bar i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 70%,transparent),var(--gold))}
.ch-bars b{text-align:right;font-variant-numeric:tabular-nums}
.ch-wbo{margin:14px 0 0;font-size:.88rem}
.ch-roles{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.ch-role{all:unset;cursor:pointer;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass2);font:600 .84rem/1.2 var(--body);color:var(--ink)}
.ch-role[aria-pressed="true"]{border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c);color:var(--c)}
.ch-role:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ch-launch{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:22px;align-items:center}
.ch-stage{background:radial-gradient(closest-side,rgba(255,255,255,.06),transparent);border-radius:var(--radius-m)}
.ch-svg{width:100%;height:auto;display:block}
.ch-howto h4{font-size:1.1rem}
.ch-eg{margin:0 0 10px;font-size:.84rem;color:var(--muted)}
.ch-howto p{font-size:.92rem;line-height:1.55}
.ch-short{font-weight:600;margin:4px 0 10px}
.ch-habits{margin:6px 0 0;padding-left:22px;display:grid;gap:8px}
.ch-habits span{display:block;font-size:.86rem;color:var(--muted)}
.ch-habits a{color:var(--gold)}
.ch-drills{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:8px}
.ch-drill{border:1px solid var(--line);border-radius:var(--radius-m);padding:14px;background:var(--glass2)}
.ch-drill p{margin:0;font-size:.86rem;color:var(--muted)}
.ch-dn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:#050505;font-weight:700;margin-bottom:8px}
@media (max-width:760px){.ch-launch{grid-template-columns:1fr}.ch-stage{max-width:420px;margin:0 auto;width:100%}.ch-bars li{grid-template-columns:92px 1fr 38px}}
@media print{.ch-stage,.ch-roles{display:none!important}}

@media (max-width:900px){
  .bx-hero-bg{aspect-ratio:16/10}
  .bx-hero-bg img{object-position:50% 55%}
}
@media (max-width:600px){
  .bx-intro{grid-template-columns:1fr}
  .bx-intro .bx-fig,.bx-intro--wide .bx-fig{width:100%;max-width:420px}
  .bx-quiz{grid-template-columns:1fr}
  .bx-quiz .bx-fig{width:100%;max-width:240px}
  .bx-anat{margin:0 auto}
  .bx-chip{padding:5px 8px}
  .bx-chip.pin::after,.bx-chip.pin-l::after{display:none}
  .bx-dashfig{margin:0 14px 14px}
  .bx-foot .bx-fig{width:76px}
}
@media print{.bx-explain img,.bx-video,.bx-series,.bx-fig,.bx-hero-bg,.bx-about,.bx-trio,.bx-schem{display:none!important}}

/* ---------- Latest News (news.js) ---------- */
h3[data-ic="check"]{--ic:var(--ic-check)}
h3[data-ic="play"]{--ic:var(--ic-play)}
#moduleGrid .mod[href="#news"]{--ic:var(--ic-flag)}
#newsBody{display:grid;gap:20px}
.nw-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:14px}
.nw-card{position:relative;border:1px solid var(--line);border-radius:16px;padding:14px 16px 14px 18px;background:var(--glass);overflow:hidden;min-width:0}
.nw-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.nw-release::before{background:var(--blue)}.nw-event::before{background:var(--green)}.nw-result::before{background:var(--gold)}.nw-anime::before{background:var(--violet)}.nw-rule::before{background:var(--orange)}
.nw-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 6px;font:600 .74rem/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nw-type{color:var(--ink)}
.nw-flag{background:var(--green);color:#04130b;border-radius:999px;padding:3px 8px;letter-spacing:.04em}
.nw-card h4{margin:0 0 6px;font:600 1.02rem/1.35 var(--body)}
.nw-card h4 a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.nw-card h4 a:hover{text-decoration-color:var(--gold)}
.nw-card p{margin:0 0 8px;font-size:.92rem;line-height:1.55}
.nw-src{font-size:.8rem!important;color:var(--muted)}
.nw-src a{color:var(--gold);overflow-wrap:anywhere}
.nw-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}
.nw-head h3{margin:0}
.nw-head h3::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.5em;vertical-align:-.16em;background:var(--gold);-webkit-mask:var(--ic-play) center/contain no-repeat;mask:var(--ic-play) center/contain no-repeat}
.nw-upd{font-size:.8rem;color:var(--muted)}
.nw-warn{border-left:2px solid var(--orange);padding-left:10px}
.nw-tabs{margin:12px 0 16px}
.nw-tabs .seg-btn[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.nw-n{display:inline-block;min-width:1.5em;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--line);font-size:.72rem;text-align:center}
.nw-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.nw-video{margin:0;min-width:0}
.nw-vbtn,.nw-video iframe{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:12px;overflow:hidden;background:#000;cursor:pointer}
.nw-vbtn img{width:100%;height:100%;object-fit:cover;display:block}
.nw-vbtn .bx-play{width:52px;height:52px}
.nw-short{position:absolute;right:8px;top:8px;background:rgba(5,5,5,.75);color:#fff;font:600 .7rem/1 var(--body);padding:4px 7px;border-radius:6px}
.nw-video figcaption{margin-top:8px;font-size:.88rem;line-height:1.4}
.nw-video figcaption a,.nw-list a{color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.nw-video figcaption a:hover,.nw-list a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.nw-by{display:block;margin-top:3px;font-size:.76rem;color:var(--muted)}
.nw-list{list-style:none;margin:0;padding:0}
.nw-list li{padding:11px 0;border-top:1px solid var(--line)}
.nw-list li:first-child{border-top:0}
.nw-list a{font-weight:500;line-height:1.45}
.nw-off{color:var(--orange)}
.nw-chan{margin:16px 0 0;font-size:.82rem;color:var(--muted)}
.nw-chan a{color:var(--gold)}
.nw-feeds{margin-top:8px;font-size:.78rem;color:var(--muted)}
.nw-feeds summary{cursor:pointer}
.nw-feeds ul{margin:6px 0 0;padding-left:18px}
#newsStrip{margin:28px 0 8px}
.nw-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}
.nw-strip-head h3{margin:0}
.nw-strip-head h3::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.5em;vertical-align:-.16em;background:var(--gold);-webkit-mask:var(--ic-flag) center/contain no-repeat;mask:var(--ic-flag) center/contain no-repeat}
.nw-strip-head a{color:var(--gold);font-size:.9rem;text-decoration:none;padding:8px 0}
.nw-compact .nw-card h4{font-size:.95rem;margin:0}
@media (max-width:600px){.nw-cards,.nw-vgrid{grid-template-columns:1fr}.nw-tabs .seg-btn{padding:0 10px;font-size:.84rem}}
@media print{.nw-web{display:none}}
