@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Fira+Code:wght@400;500;600&family=Inter:wght@400;500;600;700;800&family=Montserrat:wght@600;700;800&display=swap');
:root{
  --bg:#061019;--bg2:#091824;--panel:#0a1721;--panel2:#0d1f2d;--line:#163a4e;
  --cyan:#00eaff;--cyan2:#0bbcd6;--text:#e7f7fb;--muted:#8fb1bf;--white:#fff;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#040b11 0%,#07131d 100%);color:var(--text)}
a{color:inherit;text-decoration:none}.wrap{max-width:1440px;margin:auto;padding:0 28px}.top{position:sticky;top:0;z-index:20;background:rgba(3,11,17,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,234,255,.18)}
.nav{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}.logo{width:34px;height:34px;border:2px solid var(--cyan);border-radius:50%;position:relative;box-shadow:0 0 20px rgba(0,234,255,.25)}.logo:before,.logo:after{content:"";position:absolute;background:var(--cyan)}.logo:before{width:2px;height:48px;left:14px;top:-9px}.logo:after{height:2px;width:48px;left:-9px;top:14px}.brand small{display:block;color:#56cfe0;font-weight:600;font-size:10px}
.menu{display:flex;gap:22px;font-size:13px;color:#cce8f0;flex:1;justify-content:center}.menu a{padding:26px 0;border-bottom:2px solid transparent}.menu a.active,.menu a:hover{color:var(--cyan);border-color:var(--cyan)}.nav-actions{display:flex;gap:10px;align-items:center}.search-mini{background:#071724;border:1px solid #17425a;border-radius:6px;padding:10px 13px;color:#8fb1bf;min-width:230px;font-size:12px}
.hero{min-height:470px;display:grid;grid-template-columns:1.05fr 1.4fr;align-items:center;border-bottom:1px solid rgba(0,234,255,.25);background:
radial-gradient(circle at 72% 42%,rgba(0,234,255,.20),transparent 23%),
linear-gradient(90deg,#06131e 0%,#0b1c29 47%,#05111a 100%);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,234,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,234,255,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,#000 20%,transparent 80%)}
.hero-copy{padding:50px 28px 50px max(28px,calc((100vw - 1440px)/2 + 28px));z-index:2}.eyebrow{color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.12em}.hero h1{font-size:56px;line-height:1.02;margin:14px 0 16px;max-width:700px}.hero p{color:#a8c3cd;max-width:650px;line-height:1.65}.hero-search{display:flex;max-width:620px;margin-top:25px}.hero-search input{flex:1;background:#071724;border:1px solid #17627c;padding:15px 16px;color:white}.hero-search button{background:linear-gradient(90deg,#00abc4,#00eaff);border:0;padding:0 24px;font-weight:800;color:#00212a}.stats{display:flex;gap:34px;margin-top:28px}.stat strong{display:block;color:var(--cyan);font-size:24px}.stat span{font-size:11px;color:#95b2bd}.hero-art{height:100%;position:relative;background:linear-gradient(135deg,transparent 0 15%,rgba(0,234,255,.05) 15% 16%,transparent 16% 40%,rgba(0,234,255,.06) 40% 41%,transparent 41%),radial-gradient(circle at 45% 55%,#123247,transparent 35%)}.hero-art:after{content:"TACTICAL DATA // LIVE";position:absolute;right:8%;bottom:10%;border:1px solid #0cd8ee;padding:12px 16px;color:#6ceeff;font-size:11px;letter-spacing:.18em;box-shadow:0 0 25px rgba(0,234,255,.12)}
.section{padding:34px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section h2{font-size:20px;margin:0;letter-spacing:.04em}.section h2 span{color:var(--cyan)}.viewall{font-size:12px;color:#6fefff}.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.cat{background:linear-gradient(180deg,#0a1823,#08131c);border:1px solid #12394d;border-radius:8px;padding:18px;min-height:120px;transition:.2s}.cat:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 0 20px rgba(0,234,255,.08)}.cat .ico{font-size:26px;color:var(--cyan);margin-bottom:18px}.cat b{font-size:13px}.cat small{display:block;color:#688b98;margin-top:5px}
.layout{display:grid;grid-template-columns:1fr 320px;gap:16px}.panel{background:rgba(8,20,29,.88);border:1px solid #12394d;border-radius:8px;padding:16px}.filters{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:8px;margin-bottom:15px}.filters input,.filters select{background:#071622;border:1px solid #15394c;color:#9fc0cb;padding:12px;border-radius:5px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{background:linear-gradient(180deg,#0b1d29,#09151e);border:1px solid #123c50;border-radius:8px;overflow:hidden;transition:.2s}.card:hover{border-color:#00d9ee;box-shadow:0 0 22px rgba(0,234,255,.08);transform:translateY(-2px)}.thumb{height:135px;background:radial-gradient(circle at 50% 50%,#183547,#08141d);position:relative}.thumb:after{content:"";position:absolute;inset:18px;background:linear-gradient(130deg,transparent 0 30%,rgba(0,234,255,.22) 30% 33%,transparent 33% 67%,rgba(0,234,255,.12) 67% 70%,transparent 70%);opacity:.75}.card-body{padding:13px}.tag{display:inline-block;font-size:9px;color:#78effb;border:1px solid #1a5367;padding:4px 7px;border-radius:20px}.card h3{margin:10px 0 6px;font-size:16px}.meta{font-size:11px;color:#8aacb7}.arrow{float:right;color:var(--cyan)}
.side-title{font-size:13px;margin:0 0 12px;color:#d9f5fb}.country-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.country{background:#071723;border:1px solid #11384b;border-radius:5px;padding:10px;font-size:12px}.timeline-item{display:grid;grid-template-columns:64px 1fr;gap:10px;margin:12px 0}.timeline-img{height:50px;background:#143044;border-radius:4px}.timeline-item small{color:var(--cyan)}.timeline-item b{display:block;font-size:12px;margin:3px 0}.timeline-item p{font-size:10px;color:#88a9b5;margin:0;line-height:1.4}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article{background:#0a1823;border:1px solid #123a4d;border-radius:8px;overflow:hidden}.article .pic{height:150px;background:linear-gradient(135deg,#19394c,#0b1b27)}.article .body{padding:15px}.article .label{color:var(--cyan);font-size:10px}.article h3{font-size:16px;margin:8px 0}.article p{color:#8fabba;font-size:12px;line-height:1.55}.footer{border-top:1px solid #12384b;padding:28px 0;margin-top:34px;color:#6f94a1;font-size:11px}.footer-flex{display:flex;justify-content:space-between;gap:20px}
/* inner pages */.page-hero{padding:54px 0 30px;border-bottom:1px solid #123a4d;background:linear-gradient(180deg,#07141e,#08121a)}.page-hero h1{font-size:38px;margin:5px 0}.crumb{font-size:11px;color:#7fa6b3}.content-grid{display:grid;grid-template-columns:280px 1fr;gap:16px;padding:28px 0}.sidebar{position:sticky;top:88px;height:max-content}.reader{max-width:860px}.reader h2{font-size:28px}.reader p{color:#abc3cc;line-height:1.8}.reader .lead{font-size:18px;color:#d8edf2}.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.spec{background:#091824;border:1px solid #123a4d;padding:14px;border-radius:6px}.spec small{color:#7ca2af}.spec b{display:block;margin-top:4px}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:1100px){.cat-grid{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(3,1fr)}.layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-art{display:none}.menu{display:none}.filters{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.sidebar{position:static}.article-list{grid-template-columns:1fr}}
@media(max-width:720px){.wrap{padding:0 16px}.hero-copy{padding:42px 16px}.hero h1{font-size:39px}.stats{gap:16px;flex-wrap:wrap}.cat-grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.articles{grid-template-columns:1fr}.nav-actions{display:none}.hero-search{display:block}.hero-search input{width:100%}.hero-search button{width:100%;padding:14px}.footer-flex{display:block}.specs{grid-template-columns:1fr}}

/* v4 media + detail */
.thumb.has-image,.article .pic.has-image{background:#08141d}.thumb.has-image:after{display:none}.thumb img,.article .pic img{width:100%;height:100%;object-fit:contain;display:block;background:#0a1721}.article .pic img{object-fit:cover}
.weapon-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:center;margin-bottom:18px}.detail-cover{width:100%;max-height:280px;object-fit:contain;background:#08151f;border:1px solid #123a4d;border-radius:8px;padding:10px}.weapon-reader h2{margin-top:24px}.rich-content{color:#abc3cc;line-height:1.8}.rich-content p{margin:.7em 0}.rich-content ul,.rich-content ol{padding-left:24px}.rich-content li{margin:.4em 0}.rich-content h2,.rich-content h3{color:#e7f7fb}.rich-content a{color:var(--cyan);text-decoration:underline}.detail-spec-list{display:grid;gap:8px;margin-top:16px}.detail-spec-list>div{padding:10px;border:1px solid #123a4d;border-radius:6px;background:#081722}.detail-spec-list small{display:block;color:#789eac;font-size:10px}.detail-spec-list strong{display:block;margin-top:3px;color:#e7f7fb;font-size:13px}.article-cover{width:100%;max-height:480px;object-fit:contain;background:#07141e;border:1px solid #123a4d;border-radius:8px;margin-bottom:18px}.article-detail{max-width:980px;margin:0 auto}.article-content{margin-top:18px}
@media(max-width:900px){.weapon-detail-hero{grid-template-columns:1fr}.detail-cover{max-width:520px}}


/* ============================================================
   V5 - WEAPON CARD 16:9 / TACTICAL HUD
   Chuẩn ảnh đại diện: 1600 x 900 px (16:9)
   ============================================================ */
.cards{
  align-items:stretch;
  gap:16px;
}
.card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(0,234,255,.22);
  border-radius:8px;
  background:
    linear-gradient(180deg,rgba(10,29,41,.98),rgba(6,17,25,.98));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
  isolation:isolate;
}
.card:before,
.card:after{
  content:"";
  position:absolute;
  z-index:4;
  width:18px;
  height:18px;
  pointer-events:none;
  opacity:.8;
}
.card:before{
  left:7px;top:7px;
  border-left:1px solid rgba(0,234,255,.72);
  border-top:1px solid rgba(0,234,255,.72);
}
.card:after{
  right:7px;bottom:7px;
  border-right:1px solid rgba(0,234,255,.46);
  border-bottom:1px solid rgba(0,234,255,.46);
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,234,255,.72);
  box-shadow:0 10px 32px rgba(0,0,0,.28),0 0 28px rgba(0,234,255,.13);
}
.thumb{
  height:auto;
  aspect-ratio:16 / 9;
  position:relative;
  overflow:hidden;
  flex:0 0 auto;
  border-bottom:1px solid rgba(0,234,255,.16);
  background:
    radial-gradient(circle at 28% 50%,rgba(0,234,255,.12),transparent 34%),
    linear-gradient(rgba(0,234,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,234,255,.035) 1px,transparent 1px),
    linear-gradient(145deg,#0a2231,#06121b 65%,#071923);
  background-size:auto,28px 28px,28px 28px,auto;
}
.thumb:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,234,255,.16),rgba(0,234,255,.16)) 12px 12px/36px 1px no-repeat,
    linear-gradient(rgba(0,234,255,.16),rgba(0,234,255,.16)) 12px 12px/1px 22px no-repeat,
    linear-gradient(270deg,rgba(0,234,255,.13),rgba(0,234,255,.13)) calc(100% - 12px) calc(100% - 12px)/36px 1px no-repeat,
    linear-gradient(0deg,rgba(0,234,255,.13),rgba(0,234,255,.13)) calc(100% - 12px) calc(100% - 12px)/1px 22px no-repeat;
}
.thumb:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.35;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0 70%,rgba(0,0,0,.16));
}
.thumb.has-image{
  background:#06121b;
}
.thumb.has-image:after{
  display:block;
}
.thumb img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#06121b;
  transform:scale(1.001);
  transition:transform .28s ease,filter .28s ease;
}
.card:hover .thumb img{
  transform:scale(1.035);
  filter:brightness(1.04) contrast(1.03);
}
.card-body{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  flex:1;
  padding:14px 15px 15px;
  min-height:116px;
  background:
    linear-gradient(180deg,rgba(9,24,34,.96),rgba(5,15,22,.98));
}
.card-body .tag{
  align-self:flex-start;
  margin-bottom:8px;
  color:#82f5ff;
  border-color:rgba(0,234,255,.28);
  background:rgba(0,234,255,.035);
  text-transform:uppercase;
  letter-spacing:.055em;
}
.card h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 9px;
  font-size:17px;
  line-height:1.25;
  letter-spacing:.015em;
}
.card h3 .arrow{
  margin-left:auto;
  float:none;
  color:var(--cyan);
  transition:transform .2s ease;
}
.card:hover h3 .arrow{transform:translateX(3px)}
.card .meta{
  margin-top:auto;
  padding-top:2px;
  color:#8fb4c2;
  font-size:11px;
  line-height:1.45;
}

/* Hình đại diện ở trang chi tiết dùng cùng chuẩn 16:9 */
.weapon-detail-hero{
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
}
.detail-cover{
  aspect-ratio:16 / 9;
  width:100%;
  max-height:none;
  object-fit:cover;
  padding:0;
  border-color:rgba(0,234,255,.28);
  background:#06121b;
  box-shadow:0 0 28px rgba(0,234,255,.07);
}

@media(max-width:1200px){
  .cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .weapon-detail-hero{grid-template-columns:1fr}
  .detail-cover{max-width:720px}
}
@media(max-width:720px){
  .cards{grid-template-columns:1fr 1fr;gap:12px}
  .card-body{min-height:108px;padding:12px}
  .card h3{font-size:15px}
}
@media(max-width:500px){
  .cards{grid-template-columns:1fr}
}

/* V9: explicit card detail CTA */
.card-detail{margin-top:auto;padding-top:12px;color:var(--cyan);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:flex-end;gap:7px;letter-spacing:.02em}.card-detail span{font-size:16px;line-height:1}.card:hover .card-detail{text-shadow:0 0 10px rgba(0,234,255,.35)}

/* V11 compact weapon cards */
.weapon-cta-card .card-body{padding:10px;min-height:0;display:flex;align-items:center;justify-content:center}
.weapon-cta-card .card-detail{margin:0;padding:0;border:1px solid #1b5a6f;border-radius:7px;color:var(--cyan);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:98px;height:34px;line-height:1;letter-spacing:.02em;background:rgba(0,231,255,.035)}
.weapon-cta-card:hover .card-detail{border-color:var(--cyan);box-shadow:0 0 16px rgba(0,234,255,.10);text-shadow:none}
.weapon-cta-card .card-detail span{display:none}


/* V12 - Neon specification cards */
.detail-spec-list{gap:10px}
.detail-spec-list>div{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(0,234,255,.72);
  background:linear-gradient(135deg,rgba(5,24,35,.98),rgba(7,17,26,.98));
  box-shadow:0 0 10px rgba(0,234,255,.10),inset 0 0 16px rgba(0,234,255,.035);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.detail-spec-list>div:before{
  content:"";position:absolute;left:0;top:0;width:18px;height:18px;
  border-left:2px solid #00eaff;border-top:2px solid #00eaff;
  filter:drop-shadow(0 0 4px rgba(0,234,255,.65));
}
.detail-spec-list>div:after{
  content:"";position:absolute;right:0;bottom:0;width:18px;height:18px;
  border-right:2px solid #00eaff;border-bottom:2px solid #00eaff;
  filter:drop-shadow(0 0 4px rgba(0,234,255,.55));
}
.detail-spec-list>div:hover{
  border-color:#00eaff;
  box-shadow:0 0 18px rgba(0,234,255,.20),inset 0 0 20px rgba(0,234,255,.05);
  transform:translateY(-1px);
}
.detail-spec-list small{color:#67ddec}
.detail-spec-list strong{color:#f2fcff}

/* V13 - category blueprint icons + weapon card footer */
.cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px 16px;min-height:138px;overflow:hidden}
.cat .ico{height:70px;margin:0 0 8px;color:#00eaff;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(0,234,255,.18))}
.cat-weapon-icon{width:100%;max-width:150px;height:64px;opacity:.95}
.cat:hover .cat-weapon-icon{filter:drop-shadow(0 0 10px rgba(0,234,255,.35));transform:translateY(-1px)}
.cat-weapon-icon{transition:.2s ease}
.cat b{font-size:13px;line-height:1.25;color:#eafbff}
.cat small{font-size:11px;color:#6f9aaa}

.weapon-cta-card .card-body.weapon-card-footer{padding:9px 10px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.weapon-cta-card .weapon-card-name{margin:0;color:#eafbff;font-size:15px;font-weight:800;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weapon-cta-card .card-detail{margin:0;padding:0;border:0;background:none;min-width:0;width:auto;height:auto;color:#00e5ff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.weapon-cta-card .card-detail span{display:inline;font-size:15px;line-height:1}
.weapon-cta-card:hover .weapon-card-name{color:#d8fbff;text-shadow:0 0 10px rgba(0,234,255,.18)}
.weapon-cta-card:hover .card-detail{color:#6ff6ff;text-shadow:0 0 10px rgba(0,234,255,.25)}
@media(max-width:720px){.weapon-cta-card .weapon-card-name{font-size:13px}.weapon-cta-card .card-detail{font-size:10px}.cat{min-height:124px}.cat .ico{height:58px}}

/* V14 - 3D category weapon renders (code-only SVG, no blueprint line-art) */
.cat{
  min-height:154px;
  background:
    radial-gradient(circle at 50% 30%,rgba(0,234,255,.10),transparent 42%),
    linear-gradient(180deg,rgba(7,24,35,.98),rgba(5,17,25,.98));
  border-color:rgba(0,234,255,.30);
}
.cat .ico{
  height:86px;
  margin:0 0 8px;
  color:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:600px;
}
.cat-weapon-icon.cat-weapon-3d{
  width:100%;
  max-width:172px;
  height:82px;
  overflow:visible;
  transform:rotateX(3deg) rotateY(-3deg) translateY(0);
  transition:transform .22s ease,filter .22s ease;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.45)) drop-shadow(0 0 8px rgba(0,234,255,.13));
}
.cat:hover .cat-weapon-icon.cat-weapon-3d{
  transform:rotateX(0deg) rotateY(0deg) translateY(-3px) scale(1.04);
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.5)) drop-shadow(0 0 14px rgba(0,234,255,.28));
}
.cat b{font-size:13px;color:#edfaff}
.cat small{color:#6da7b5}
@media(max-width:720px){
  .cat{min-height:140px}
  .cat .ico{height:72px}
  .cat-weapon-icon.cat-weapon-3d{height:68px;max-width:148px}
}

/* V15 - Danh mục vũ khí dùng bộ ảnh 3D cố định */
.cat-grid{gap:16px}
.cat{
  min-height:136px;
  padding:0 12px 14px;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 50% 28%,rgba(0,234,255,.10),transparent 44%),
    linear-gradient(180deg,#071925 0%,#06131c 100%);
  border:1px solid rgba(0,234,255,.55);
  box-shadow:0 0 16px rgba(0,234,255,.08),inset 0 0 18px rgba(0,234,255,.025);
}
.cat .ico{
  height:92px;
  margin:0 -12px 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#06151f;
}
.cat-static-weapon{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .22s ease,filter .22s ease;
}
.cat:hover .cat-static-weapon{
  transform:scale(1.045);
  filter:brightness(1.08) contrast(1.04);
}
.cat b{
  margin-top:auto;
  color:#effcff;
  font-size:13px;
  font-weight:800;
  text-align:center;
  line-height:1.2;
}
.cat small{display:none}
@media(max-width:720px){
  .cat{min-height:124px}
  .cat .ico{height:82px}
}

/* V16 - Danh mục hiển thị đầy đủ + giữ số lượng */
.cat-grid.cat-grid-all{grid-template-columns:repeat(5,minmax(0,1fr))}
.cat-grid.cat-grid-all .cat small{display:block;margin-top:5px;text-align:center;color:#6da7b5;font-size:11px}
@media(max-width:1200px){.cat-grid.cat-grid-all{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.cat-grid.cat-grid-all{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.cat-grid.cat-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V16 - Dòng thời gian tự sắp xếp tăng dần */
.timeline-list{position:relative;margin-top:18px;padding-left:34px}
.timeline-list:before{content:"";position:absolute;left:10px;top:4px;bottom:4px;width:1px;background:linear-gradient(#00eaff55,#00eaff,#00eaff33)}
.timeline-item{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 18px}
.timeline-dot{position:absolute;left:-29px;top:18px;width:11px;height:11px;border:2px solid #00eaff;border-radius:50%;background:#06131c;box-shadow:0 0 14px #00eaff88}
.timeline-year{padding-top:13px;color:#00eaff;font-weight:800;letter-spacing:.04em}
.timeline-card{border:1px solid #16465b;background:linear-gradient(180deg,#081b27,#07151f);padding:16px 18px;border-radius:8px}
.timeline-card h3{margin:5px 0 8px}.timeline-card p{margin:0 0 8px;color:#a9c6d1}
@media(max-width:650px){.timeline-item{grid-template-columns:1fr;gap:6px}.timeline-year{padding-top:0}.timeline-list{padding-left:28px}.timeline-dot{left:-23px}}

/* V17 - Dòng thời gian full-width, neon HUD, tự sắp xếp cũ -> mới */
.timeline-page{max-width:1280px}
.timeline-page-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}
.timeline-page-head h1{margin:3px 0 5px;font-size:32px}.timeline-page-head p{margin:0;color:#7fa6b5}
.timeline-track-v17{position:relative;padding:8px 0 18px}
.timeline-track-v17:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-1px);background:linear-gradient(180deg,transparent,#00eaff55 4%,#00eaff 45%,#00eaff55 96%,transparent);box-shadow:0 0 14px rgba(0,234,255,.22)}
.timeline-event-v17{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);align-items:center;min-height:155px;margin:0 0 22px}
.timeline-event-v17 .timeline-event-card{border:1px solid rgba(0,234,255,.38);background:linear-gradient(135deg,rgba(8,27,39,.98),rgba(5,16,24,.98));border-radius:10px;padding:18px 20px;box-shadow:0 0 22px rgba(0,234,255,.06),inset 0 0 18px rgba(0,234,255,.025);position:relative;overflow:hidden}
.timeline-event-v17 .timeline-event-card:after{content:"";position:absolute;right:-22px;bottom:-22px;width:74px;height:74px;border:1px solid rgba(0,234,255,.12);transform:rotate(45deg)}
.timeline-event-v17.left .timeline-event-card{grid-column:1}.timeline-event-v17.left .timeline-axis{grid-column:2}.timeline-event-v17.left .timeline-spacer{grid-column:3}
.timeline-event-v17.right .timeline-spacer{grid-column:1}.timeline-event-v17.right .timeline-axis{grid-column:2}.timeline-event-v17.right .timeline-event-card{grid-column:3}
.timeline-axis{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:2;text-align:center;color:#e9fbff}
.timeline-axis strong{font-size:14px;line-height:1.2;padding:5px 8px;border:1px solid rgba(0,234,255,.38);border-radius:5px;background:#06131c;color:#8ff7ff;white-space:nowrap}
.timeline-node{width:15px;height:15px;border:3px solid #00eaff;border-radius:50%;background:#06131c;box-shadow:0 0 18px rgba(0,234,255,.85)}
.timeline-type{display:inline-flex;padding:4px 8px;border:1px solid rgba(0,234,255,.35);border-radius:999px;color:#00eaff;font-size:10px;font-weight:800;letter-spacing:.08em}
.timeline-event-card h3{margin:10px 0 8px;font-size:19px;color:#f0fcff}.timeline-event-card p{margin:0;color:#a7c4cf;line-height:1.6;font-size:13px}
.timeline-related{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,234,255,.12)}
.timeline-related>span{font-size:10px;color:#6f98a8;text-transform:uppercase;letter-spacing:.08em}.timeline-related a{padding:5px 8px;border:1px solid #185064;border-radius:999px;color:#88f5ff;background:#071b26;font-size:10px;font-weight:700}.timeline-related a:hover{border-color:#00eaff;box-shadow:0 0 10px rgba(0,234,255,.16)}
@media(max-width:850px){.timeline-track-v17:before{left:18px}.timeline-event-v17{grid-template-columns:46px minmax(0,1fr);min-height:0;margin-bottom:18px}.timeline-event-v17.left .timeline-axis,.timeline-event-v17.right .timeline-axis{grid-column:1}.timeline-event-v17.left .timeline-event-card,.timeline-event-v17.right .timeline-event-card{grid-column:2}.timeline-event-v17 .timeline-spacer{display:none}.timeline-axis strong{font-size:10px;white-space:normal;max-width:42px;padding:4px}.timeline-page-head h1{font-size:27px}}

/* V18 - timeline menu + category image refresh */
.menu{gap:14px;font-size:12px}
.cat-static-weapon{object-fit:cover;object-position:center}
@media(max-width:1250px){.menu{gap:10px;font-size:11px}.search-mini{min-width:190px}}

/* V19 - menu readability, category image fit, grouped timeline */
.menu{gap:16px;font-size:14px;font-weight:600}
.menu a{letter-spacing:.01em}
@media(max-width:1250px){.menu{gap:10px;font-size:12.5px}.search-mini{min-width:185px}}

/* Danh mục: thu ảnh lại, không crop */
.cat .ico{background:linear-gradient(180deg,#071823,#06131c);padding:6px 10px;overflow:hidden}
.cat-static-weapon{width:88%;height:88%;object-fit:contain!important;object-position:center;transform:none}
.cat:hover .cat-static-weapon{transform:scale(1.025);filter:brightness(1.06) contrast(1.03) drop-shadow(0 0 7px rgba(0,234,255,.13))}

.timeline-track-v19{position:relative;padding:10px 0 18px}
.timeline-track-v19:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-1px);background:linear-gradient(180deg,transparent,#00eaff55 3%,#00eaff 50%,#00eaff55 97%,transparent);box-shadow:0 0 15px rgba(0,234,255,.22)}
.timeline-year-block-v19{position:relative;padding:0 0 34px}
.timeline-year-marker-v19{position:relative;z-index:3;display:flex;justify-content:center;margin-bottom:16px}
.timeline-year-marker-v19 span{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:36px;padding:0 12px;border:1px solid rgba(0,234,255,.65);border-radius:7px;background:#06131c;color:#a5fbff;font-size:15px;font-weight:800;box-shadow:0 0 18px rgba(0,234,255,.18)}
.timeline-year-marker-v19:before{content:"";position:absolute;top:50%;width:14px;height:14px;border:3px solid #00eaff;border-radius:50%;background:#06131c;box-shadow:0 0 15px rgba(0,234,255,.75);transform:translateY(-50%)}
.timeline-year-events-v19{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 76px;position:relative}
.timeline-event-card-v19{position:relative;border:1px solid rgba(0,234,255,.38);background:linear-gradient(135deg,rgba(8,27,39,.98),rgba(5,16,24,.98));border-radius:10px;padding:18px 20px;box-shadow:0 0 22px rgba(0,234,255,.06),inset 0 0 18px rgba(0,234,255,.025);overflow:hidden}
.timeline-event-card-v19:nth-child(odd):after{content:"";position:absolute;right:-38px;top:28px;width:38px;height:1px;background:rgba(0,234,255,.36)}
.timeline-event-card-v19:nth-child(even):before{content:"";position:absolute;left:-38px;top:28px;width:38px;height:1px;background:rgba(0,234,255,.36)}
.timeline-event-card-v19 h3{margin:10px 0 8px;font-size:18px;color:#f0fcff}.timeline-event-card-v19 p{margin:0;color:#a7c4cf;line-height:1.6;font-size:13px}
@media(max-width:850px){.timeline-track-v19:before{left:18px}.timeline-year-marker-v19{justify-content:flex-start;padding-left:0}.timeline-year-marker-v19:before{left:11px}.timeline-year-marker-v19 span{margin-left:42px}.timeline-year-events-v19{grid-template-columns:1fr;gap:12px;padding-left:42px}.timeline-event-card-v19:nth-child(odd):after,.timeline-event-card-v19:nth-child(even):before{display:none}}


/* V20 - category image blending + timeline option B */
/* Danh mục: làm ảnh hòa vào nền card, giảm cảm giác ảnh vuông dán lên trên */
.cat{
  background:
    radial-gradient(circle at 50% 28%,rgba(0,229,255,.065),transparent 48%),
    linear-gradient(180deg,#071923 0%,#06131c 100%);
}
.cat .ico{
  position:relative;
  isolation:isolate;
  height:100px;
  margin:0 -12px 7px;
  padding:8px 12px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 52%,rgba(0,197,231,.12) 0%,rgba(5,23,33,.48) 45%,#06131c 82%);
}
.cat .ico:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,#06131c 0%,transparent 12%,transparent 88%,#06131c 100%),
    linear-gradient(180deg,#06131c 0%,transparent 14%,transparent 78%,#06131c 100%);
}
.cat .ico:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 28px 14px rgba(6,19,28,.82);
}
.cat-static-weapon{
  position:relative;
  z-index:1;
  width:84%;
  height:84%;
  object-fit:contain!important;
  object-position:center;
  mix-blend-mode:screen;
  filter:saturate(.9) brightness(.98) contrast(1.06) drop-shadow(0 5px 12px rgba(0,0,0,.38));
}
.cat:hover .cat-static-weapon{
  transform:scale(1.025);
  filter:saturate(1) brightness(1.06) contrast(1.08) drop-shadow(0 0 10px rgba(0,234,255,.18));
}

/* Phương án B: trục timeline đặt bên trái, năm không còn nằm giữa màn hình */
.timeline-left-v20{
  position:relative;
  padding:8px 0 10px 150px;
}
.timeline-left-v20:before{
  content:"";
  position:absolute;
  left:112px;
  top:6px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg,transparent,#00eaff55 3%,#00eaff 45%,#00eaff55 97%,transparent);
  box-shadow:0 0 14px rgba(0,234,255,.22);
}
.timeline-year-block-v20{
  position:relative;
  margin:0 0 34px;
}
.timeline-year-label-v20{
  position:absolute;
  left:-150px;
  top:4px;
  width:92px;
  text-align:right;
  color:#eafcff;
  font-size:22px;
  font-weight:900;
  letter-spacing:.03em;
}
.timeline-year-dot-v20{
  position:absolute;
  left:-45px;
  top:10px;
  width:15px;
  height:15px;
  border:3px solid #00eaff;
  border-radius:50%;
  background:#06131c;
  box-shadow:0 0 18px rgba(0,234,255,.78);
}
.timeline-year-events-v20{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.timeline-event-card-v20{
  position:relative;
  border:1px solid rgba(0,234,255,.38);
  background:linear-gradient(135deg,rgba(8,27,39,.98),rgba(5,16,24,.98));
  border-radius:10px;
  padding:18px 20px;
  box-shadow:0 0 22px rgba(0,234,255,.06),inset 0 0 18px rgba(0,234,255,.025);
  overflow:hidden;
}
.timeline-event-card-v20:before{
  content:"";
  position:absolute;
  left:-36px;
  top:19px;
  width:36px;
  height:1px;
  background:rgba(0,234,255,.34);
}
.timeline-event-card-v20 h3{margin:10px 0 8px;font-size:18px;color:#f0fcff}
.timeline-event-card-v20 p{margin:0;color:#a7c4cf;line-height:1.6;font-size:13px}
@media(max-width:850px){
  .timeline-left-v20{padding-left:72px}
  .timeline-left-v20:before{left:32px}
  .timeline-year-label-v20{position:relative;left:auto;top:auto;width:auto;text-align:left;font-size:19px;margin:0 0 12px}
  .timeline-year-dot-v20{left:-47px;top:3px}
  .timeline-year-events-v20{grid-template-columns:1fr}
  .timeline-event-card-v20:before{display:none}
}

/* V21 - footer credit + global back button + tablet detail inset */
.subpage-back-row{
  padding-top:14px;
  padding-bottom:2px;
}
.subpage-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(0,234,255,.34);
  border-radius:7px;
  background:rgba(5,22,32,.86);
  color:#8ff7ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  transition:.18s ease;
}
.subpage-back:hover{
  border-color:#00eaff;
  color:#eaffff;
  box-shadow:0 0 16px rgba(0,234,255,.12);
  transform:translateX(-2px);
}

/* Ở tablet / cửa sổ hẹp: tránh tiêu đề hồ sơ dính/cắt sát mép trái */
@media(max-width:1100px){
  .weapon-detail-hero > div:first-child{
    padding-left:10px;
    padding-right:10px;
  }
}
@media(max-width:720px){
  .subpage-back-row{padding-top:10px}
  .subpage-back{min-height:32px;padding:0 10px;font-size:11px}
  .weapon-detail-hero > div:first-child{
    padding-left:6px;
    padding-right:6px;
  }
}
\n\n

/* V22.2.2 - Public weapon relations: compact HUD cards */
.weapon-relations-public{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(0,234,255,.18);
}
.weapon-relations-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.weapon-relations-head h2{
  margin:5px 0 0;
  font-size:22px;
  line-height:1.2;
}
.weapon-relations-head>span{
  font-size:10px;
  color:#6f9eac;
  white-space:nowrap;
}
.weapon-relations-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.weapon-relation-card{
  position:relative;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  min-height:92px;
  overflow:hidden;
  border:1px solid rgba(0,234,255,.28);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(8,28,40,.96),rgba(5,16,24,.98));
  box-shadow:inset 0 0 16px rgba(0,234,255,.025);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.weapon-relation-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:14px;
  height:14px;
  border-left:1px solid rgba(0,234,255,.72);
  border-top:1px solid rgba(0,234,255,.72);
  pointer-events:none;
}
.weapon-relation-card img{
  width:82px;
  height:100%;
  min-height:92px;
  display:block;
  object-fit:cover;
  object-position:center;
  background:#06131c;
  border-right:1px solid rgba(0,234,255,.14);
}
.weapon-relation-content{
  min-width:0;
  padding:10px 11px;
  display:flex;
  flex-direction:column;
}
.weapon-relation-type{
  align-self:flex-start;
  max-width:100%;
  padding:3px 6px;
  border:1px solid rgba(0,234,255,.32);
  border-radius:999px;
  color:#78f3ff;
  background:rgba(0,234,255,.035);
  font-size:8px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.weapon-relation-type.reverse{
  color:#b4f8ff;
  border-style:dashed;
}
.weapon-relation-card h3{
  margin:6px 0 3px;
  font-size:15px;
  line-height:1.25;
  color:#f0fcff;
}
.weapon-relation-card p{
  margin:0 0 6px;
  color:#91b4c0;
  font-size:10px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.weapon-relation-foot{
  margin-top:auto;
  padding-top:6px;
  border-top:1px solid rgba(0,234,255,.09);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.weapon-relation-status{
  font-size:9px;
  color:#6e98a6;
  white-space:nowrap;
}
.weapon-relation-foot strong{
  font-size:9px;
  color:#00eaff;
  white-space:nowrap;
}
.weapon-relation-card.is-linked:hover{
  border-color:#00eaff;
  transform:translateY(-1px);
  box-shadow:0 0 18px rgba(0,234,255,.10),inset 0 0 16px rgba(0,234,255,.04);
}
.weapon-relation-card.is-placeholder{
  grid-template-columns:1fr;
  min-height:86px;
  border-style:dashed;
  opacity:.9;
}
.weapon-relation-card.is-placeholder .weapon-relation-status{
  color:#d8aa42;
}
.weapon-relation-card.is-reverse{
  border-color:rgba(112,220,255,.36);
}
@media(max-width:1050px){
  .weapon-relations-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .weapon-relations-head{align-items:flex-start;flex-direction:column;gap:6px}
  .weapon-relations-head h2{font-size:20px}
  .weapon-relation-card{grid-template-columns:72px minmax(0,1fr)}
  .weapon-relation-card img{width:72px;min-height:88px}
  .weapon-relation-foot{align-items:flex-start;flex-direction:column;gap:4px}
}

/* V22.2.3 - Compact relation cards, no relation images */
.weapon-relations-public{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(0,234,255,.18);
}
.weapon-relations-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.weapon-relations-head h2{
  margin:5px 0 0;
  font-size:22px;
  line-height:1.2;
}
.weapon-relations-head>span{
  color:#6f9eac;
  font-size:10px;
  white-space:nowrap;
}
.weapon-relations-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.weapon-relation-simple{
  position:relative;
  min-width:0;
  min-height:78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:14px 15px;
  border:1px solid rgba(0,234,255,.30);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(8,28,40,.96),rgba(5,16,24,.98));
  box-shadow:inset 0 0 16px rgba(0,234,255,.025);
  overflow:hidden;
}
.weapon-relation-simple:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:16px;
  height:16px;
  border-left:1px solid rgba(0,234,255,.72);
  border-top:1px solid rgba(0,234,255,.72);
}
.weapon-relation-simple strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f0fcff;
  font-size:16px;
  line-height:1.2;
}
.weapon-relation-simple span{
  color:#00eaff;
  font-size:10px;
  font-weight:800;
}
.weapon-relation-simple.is-linked:hover{
  border-color:#00eaff;
  transform:translateY(-2px);
  box-shadow:0 0 18px rgba(0,234,255,.11),inset 0 0 16px rgba(0,234,255,.035);
}
.weapon-relation-simple.is-placeholder{
  border-style:dashed;
}
.weapon-relation-simple.is-placeholder span{
  color:#d7a83c;
}
@media(max-width:1000px){
  .weapon-relations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .weapon-relations-head{align-items:flex-start;flex-direction:column;gap:5px}
  .weapon-relations-grid{grid-template-columns:1fr}
  .weapon-relation-simple{min-height:70px;padding:12px 13px}
}

/* V2.3 - Public weapon gallery */
.weapon-gallery-public-v23{margin:0 0 18px;border:1px solid rgba(0,234,255,.24);border-radius:10px;background:linear-gradient(180deg,rgba(7,24,35,.92),rgba(5,16,24,.96));padding:12px;box-shadow:0 0 24px rgba(0,234,255,.05)}
.gallery-public-main-v23{position:relative;overflow:hidden;border:1px solid rgba(0,234,255,.2);border-radius:8px;background:#06131c;aspect-ratio:16/9;max-height:620px}.gallery-public-main-v23>img{width:100%;height:100%;display:block;object-fit:contain;background:#06131c}.gallery-public-caption-v23{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 12px;background:linear-gradient(180deg,transparent,rgba(2,10,15,.92));color:#dffaff;font-size:12px;min-height:42px}.gallery-public-caption-v23:empty{display:none}
.gallery-public-thumbs-v23{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}.gallery-public-thumb-v23{aspect-ratio:16/9;padding:0;border:1px solid #173f52;border-radius:6px;overflow:hidden;background:#06131c;cursor:pointer;opacity:.72;transition:.18s ease}.gallery-public-thumb-v23 img{width:100%;height:100%;display:block;object-fit:cover}.gallery-public-thumb-v23:hover,.gallery-public-thumb-v23.active{opacity:1;border-color:#00eaff;box-shadow:0 0 14px rgba(0,234,255,.14)}
@media(max-width:900px){.gallery-public-thumbs-v23{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.weapon-gallery-public-v23{padding:8px}.gallery-public-thumbs-v23{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gallery-public-caption-v23{padding:12px;font-size:11px}}

/* V2.3.1 - Centered autoplay weapon gallery */
.gallery-public-centered-v231{width:min(920px,100%);margin:10px auto 24px}
.gallery-public-centered-v231 .gallery-public-main-v23{width:100%;margin:0 auto;aspect-ratio:16/9;max-height:560px}
.gallery-public-centered-v231 .gallery-public-main-v23>img{transition:opacity .18s ease}.gallery-public-centered-v231 .gallery-public-main-v23>img.switching{opacity:.25}
.gallery-public-nav-v231{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:42px;height:58px;border:1px solid rgba(0,234,255,.48);border-radius:7px;background:rgba(2,14,21,.72);color:#8ffaff;font-size:38px;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.72;transition:.18s ease}.gallery-public-nav-v231:hover{opacity:1;background:rgba(0,49,62,.86);box-shadow:0 0 18px rgba(0,234,255,.14)}.gallery-public-nav-v231.prev{left:12px}.gallery-public-nav-v231.next{right:12px}
.gallery-public-centered-v231 .gallery-public-thumbs-v23{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:thin}.gallery-public-centered-v231 .gallery-public-thumb-v23{flex:0 0 112px;width:112px}
@media(max-width:700px){.gallery-public-centered-v231{width:100%}.gallery-public-nav-v231{width:34px;height:48px;font-size:30px}.gallery-public-nav-v231.prev{left:7px}.gallery-public-nav-v231.next{right:7px}.gallery-public-centered-v231 .gallery-public-thumb-v23{flex-basis:88px;width:88px}}

/* V2.1.2 - Bộ ảnh danh mục chuẩn 800x360 do quản trị cung cấp */
.cat .ico{
  height:auto;
  aspect-ratio:20 / 9;
  margin:0 -12px 7px;
  padding:0;
  background:#06151f;
}
.cat .ico:before,.cat .ico:after{display:none}
.cat-static-weapon{
  width:100%;
  height:100%;
  object-fit:cover!important;
  object-position:center;
  mix-blend-mode:normal;
  filter:none;
}
.cat:hover .cat-static-weapon{
  transform:scale(1.018);
  filter:brightness(1.04) contrast(1.02);
}


/* V2.3.2 - Weapon detail header: centered title, cover handled by Gallery */
.weapon-detail-hero-centered{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:150px;
  margin:0 0 18px;
  padding:28px 20px 22px;
  text-align:center;
  border:0;
  background:transparent;
}
.weapon-detail-hero-centered>div:first-child{
  width:min(820px,100%);
  padding:0!important;
  margin:0 auto;
}
.weapon-detail-hero-centered .eyebrow{
  margin-bottom:10px;
}
.weapon-detail-hero-centered h1{
  margin:0;
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
  letter-spacing:.025em;
}
.weapon-detail-hero-centered p{
  max-width:720px;
  margin:12px auto 0;
  color:#8fb4c2;
  line-height:1.65;
}
@media(max-width:720px){
  .weapon-detail-hero-centered{min-height:120px;padding:20px 10px 14px}
  .weapon-detail-hero-centered h1{font-size:32px}
}

/* V2.3.5 - Force weapon detail title to the true center of the content area */
main.wrap.section > .weapon-detail-hero.weapon-detail-hero-centered{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
main.wrap.section > .weapon-detail-hero.weapon-detail-hero-centered > div:first-child{
  display:block!important;
  width:100%!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
}
main.wrap.section > .weapon-detail-hero.weapon-detail-hero-centered .eyebrow,
main.wrap.section > .weapon-detail-hero.weapon-detail-hero-centered h1,
main.wrap.section > .weapon-detail-hero.weapon-detail-hero-centered p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* V2.4 - Weapon comparison */
.compare-head-v24{text-align:center;margin:6px auto 20px}.compare-head-v24 h1{margin:4px 0 8px;font-size:34px}.compare-head-v24 p{margin:0;color:#87aebb}
.compare-picker-v24{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #17475b;border-radius:9px;background:#071722;margin-bottom:18px}.compare-picker-v24 label{display:grid;gap:6px}.compare-picker-v24 label span{font-size:10px;text-transform:uppercase;color:#70aabd;font-weight:800}.compare-picker-v24 select{height:40px;border:1px solid #1c4b5f;border-radius:6px;background:#06131c;color:#e7fbff;padding:0 10px}.compare-picker-actions-v24{grid-column:1/-1;display:flex;justify-content:center;gap:10px;align-items:center}.compare-run-v24,.compare-picker-actions-v24 a,.weapon-compare-link-v24{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #00cde8;border-radius:6px;background:rgba(0,205,232,.09);color:#7ff7ff;font-size:11px;font-weight:900;text-decoration:none;letter-spacing:.03em}.compare-run-v24{cursor:pointer}.compare-run-v24:hover,.compare-picker-actions-v24 a:hover,.weapon-compare-link-v24:hover{background:rgba(0,205,232,.16);box-shadow:0 0 16px rgba(0,234,255,.09)}
.weapon-compare-link-v24{margin-top:15px}
.compare-scroll-v24{overflow:auto;border:1px solid #17475b;border-radius:9px;background:#06131c}.compare-table-v24{width:100%;min-width:900px;border-collapse:collapse}.compare-table-v24 th,.compare-table-v24 td{border-right:1px solid #123747;border-bottom:1px solid #123747;padding:12px 14px;vertical-align:middle;text-align:center}.compare-table-v24 th:first-child{position:sticky;left:0;z-index:3;width:210px;text-align:left;background:#081a25;color:#8dd9e8}.compare-table-v24 thead th{background:#081a25}.compare-table-v24 tbody tr:hover td,.compare-table-v24 tbody tr:hover th{background:#0a202c}.compare-weapon-head-v24{display:grid;justify-items:center;gap:7px;min-width:170px}.compare-weapon-head-v24 .thumb{width:160px;height:90px;border:1px solid #17475b;border-radius:6px;overflow:hidden;background:#06131c}.compare-weapon-head-v24 .thumb img{width:100%;height:100%;object-fit:contain}.compare-weapon-head-v24 a{font-size:18px;font-weight:900;color:#eafcff;text-decoration:none}.compare-weapon-head-v24 small{color:#76a7b7;font-size:10px}.compare-empty-v24{margin-top:12px;text-align:center}
@media(max-width:980px){.compare-picker-v24{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.compare-picker-v24{grid-template-columns:1fr}.compare-head-v24 h1{font-size:28px}.compare-picker-actions-v24{flex-wrap:wrap}.weapon-compare-link-v24{width:100%;max-width:260px;margin-left:auto;margin-right:auto}}

/* V2.5 - Advanced weapon search / filter */
.weapon-archive-v25{padding-top:28px}.archive-head-v25{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.archive-head-v25 h1{margin:4px 0 6px;font-size:36px}.archive-head-v25 p{margin:0;color:#83aebb}.archive-count-v25{min-width:110px;padding:10px 14px;border:1px solid rgba(0,234,255,.28);border-radius:8px;background:#071824;text-align:center}.archive-count-v25 strong{display:block;color:#eafcff;font-size:25px;line-height:1}.archive-count-v25 span{display:block;margin-top:5px;color:#6da6b7;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.advanced-filter-v25{margin-bottom:16px;border:1px solid #18485b;border-radius:10px;background:linear-gradient(180deg,#081b27,#06141d);overflow:hidden}.advanced-filter-v25>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;color:#dffbff;font-size:12px;font-weight:900;letter-spacing:.05em;cursor:pointer;list-style:none;border-bottom:1px solid transparent}.advanced-filter-v25[open]>summary{border-bottom-color:#143c4d}.advanced-filter-v25>summary::-webkit-details-marker{display:none}.advanced-filter-v25>summary:after{content:'▾';color:#00eaff;font-size:15px}.advanced-filter-v25:not([open])>summary:after{content:'▸'}.advanced-filter-v25>summary b{margin-left:auto;padding:4px 8px;border:1px solid rgba(0,234,255,.35);border-radius:99px;color:#74f6ff;background:rgba(0,234,255,.06);font-size:9px}
.filter-form-v25{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:15px}.filter-field-v25{display:grid;gap:6px;min-width:0}.filter-field-v25 label{font-size:10px;color:#7ab0c1;font-weight:800}.filter-field-v25 input,.filter-field-v25 select{width:100%;height:40px;box-sizing:border-box;border:1px solid #1a4a5d;border-radius:6px;background:#06131c;color:#e7fbff;padding:0 10px;outline:none}.filter-field-v25 input:focus,.filter-field-v25 select:focus{border-color:#00d8ef;box-shadow:0 0 0 2px rgba(0,216,239,.07)}.filter-search-v25{grid-column:span 2}.filter-range-v25>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.filter-range-v25>div span{color:#00dff4;font-weight:900}.filter-actions-v25{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:2px}.filter-actions-v25 button,.filter-actions-v25 a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 15px;border-radius:6px;font-size:10px;font-weight:900;text-decoration:none}.filter-actions-v25 button{border:1px solid #00d9ef;background:rgba(0,217,239,.10);color:#87fbff;cursor:pointer}.filter-actions-v25 button:hover{background:rgba(0,217,239,.17);box-shadow:0 0 14px rgba(0,234,255,.10)}.filter-actions-v25 a{border:1px solid #254957;color:#87aebb;background:#07151d}
.result-bar-v25{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:4px 0 13px;color:#86adbb;font-size:11px}.result-bar-v25 b{color:#e7fbff}.result-bar-v25 small{color:#5e8a99}.weapon-results-v25{align-items:stretch}.weapon-result-card-v25 .card-body{position:relative}.weapon-result-meta-v25{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.weapon-result-meta-v25 span{max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border:1px solid rgba(0,234,255,.28);border-radius:99px;color:#67eaf4;font-size:9px;font-weight:800}.weapon-result-meta-v25 small{color:#6fa6b7;font-size:10px}.weapon-result-country-v25{min-height:16px;margin-top:3px;color:#79a9b8;font-size:10px}.no-results-v25{grid-column:1/-1;text-align:center}.no-results-v25 a{color:#00eaff}
@media(max-width:1080px){.filter-form-v25{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-search-v25{grid-column:span 2}}
@media(max-width:820px){.filter-form-v25{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search-v25{grid-column:1/-1}.archive-head-v25{align-items:flex-start}.result-bar-v25{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:560px){.archive-head-v25{flex-direction:column}.archive-count-v25{min-width:0;width:100%;box-sizing:border-box}.filter-form-v25{grid-template-columns:1fr}.filter-search-v25{grid-column:auto}.filter-actions-v25{justify-content:stretch;flex-direction:column}.filter-actions-v25 button,.filter-actions-v25 a{width:100%;box-sizing:border-box}.advanced-filter-v25>summary{align-items:flex-start;flex-wrap:wrap}.advanced-filter-v25>summary b{order:3;margin-left:0}.result-bar-v25 small{line-height:1.45}}

/* V2.5.1 - keep category labels fully visible on large weapon cards */
.weapon-result-meta-v25{
  min-width:0;
}
.weapon-result-meta-v25 span{
  max-width:none;
  width:auto;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  flex:0 1 auto;
}
.weapon-result-meta-v25 small{
  flex:0 0 auto;
  white-space:nowrap;
}
@media(max-width:520px){
  .weapon-result-meta-v25{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .weapon-result-meta-v25 span{
    white-space:normal;
    line-height:1.25;
  }
}

/* V2.5.2 - fix archive card footer layout so labels are never squeezed */
.weapon-result-card-v25 .card-body.weapon-card-footer{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-areas:
    "meta meta"
    "name detail"
    "country detail"!important;
  align-items:center!important;
  gap:6px 10px!important;
  min-height:104px!important;
  padding:11px 12px!important;
}
.weapon-result-card-v25 .weapon-result-meta-v25{
  grid-area:meta!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  margin:0!important;
}
.weapon-result-card-v25 .weapon-result-meta-v25 span{
  display:inline-flex!important;
  align-items:center!important;
  max-width:calc(100% - 48px)!important;
  width:max-content!important;
  min-width:0!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.2!important;
  padding:3px 8px!important;
}
.weapon-result-card-v25 .weapon-result-meta-v25 small{
  flex:0 0 auto!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}
.weapon-result-card-v25 .weapon-card-name{
  grid-area:name!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.weapon-result-card-v25 .weapon-result-country-v25{
  grid-area:country!important;
  margin:0!important;
  min-height:14px!important;
}
.weapon-result-card-v25 .card-detail{
  grid-area:detail!important;
  align-self:center!important;
  justify-self:end!important;
}
@media(max-width:520px){
  .weapon-result-card-v25 .card-body.weapon-card-footer{
    grid-template-columns:1fr!important;
    grid-template-areas:"meta" "name" "country" "detail"!important;
  }
  .weapon-result-card-v25 .card-detail{justify-self:start!important;}
  .weapon-result-card-v25 .weapon-result-meta-v25 small{margin-left:0!important;}
}

/* V2.5.3 - definitive archive category label fix */
.weapon-result-card-v25 .weapon-result-meta-v25 > span{
  flex:0 0 auto!important;
  display:inline-block!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}

/* V2.8 - Weapon relationship tree/network */
.weapon-relations-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.relation-map-link-v28{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid rgba(0,234,255,.36);border-radius:7px;color:#72f4ff;font-size:10px;font-weight:800;letter-spacing:.03em;background:rgba(0,234,255,.035)}.relation-map-link-v28:hover{border-color:#00eaff;box-shadow:0 0 14px rgba(0,234,255,.12);color:#eaffff}
.relation-map-page-v28{max-width:1500px}.relation-map-head-v28{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.relation-map-head-v28 h1{font-size:34px;margin:5px 0 5px}.relation-map-head-v28 p{margin:0;color:#83a8b6}.relation-map-profile-v28{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid #16485c;border-radius:7px;color:#91f7ff;font-size:11px;font-weight:800;background:#071722}.relation-map-profile-v28:hover{border-color:#00eaff}
.relation-map-toolbar-v28{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.relation-map-modes-v28{display:flex;gap:8px;flex-wrap:wrap}.relation-map-modes-v28 a{padding:9px 13px;border:1px solid #17475b;border-radius:7px;color:#7ca9b8;font-size:11px;font-weight:800;background:#071722}.relation-map-modes-v28 a.active,.relation-map-modes-v28 a:hover{color:#dffcff;border-color:#00eaff;background:rgba(0,234,255,.07);box-shadow:0 0 14px rgba(0,234,255,.09)}.relation-map-controls-v28{display:flex;gap:6px}.relation-map-controls-v28 button{height:34px;min-width:38px;border:1px solid #17475b;border-radius:7px;background:#071722;color:#8ff7ff;font-weight:800;cursor:pointer}.relation-map-controls-v28 button[data-map-reset]{min-width:62px;font-size:10px}.relation-map-controls-v28 button:hover{border-color:#00eaff}
.relation-map-shell-v28{position:relative;height:min(72vh,760px);min-height:520px;border:1px solid rgba(0,234,255,.32);border-radius:10px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(0,234,255,.075),transparent 34%),linear-gradient(rgba(0,234,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,234,255,.025) 1px,transparent 1px),linear-gradient(180deg,#06151f,#040d14);background-size:auto,32px 32px,32px 32px,auto;box-shadow:inset 0 0 42px rgba(0,0,0,.25)}.relation-map-svg-v28{width:100%;height:100%;display:block;touch-action:none;user-select:none}.relation-map-svg-v28 marker path{fill:#00dff4}.map-edge-v28{stroke:rgba(0,224,244,.46);stroke-width:2;vector-effect:non-scaling-stroke}.map-edge-label-v28{fill:#6caebe;font-size:11px;font-weight:700;paint-order:stroke;stroke:#06131c;stroke-width:4px;stroke-linejoin:round}.map-node-v28 rect{fill:#071a25;stroke:#1b566c;stroke-width:1.4;filter:drop-shadow(0 5px 10px rgba(0,0,0,.28));transition:.15s ease}.map-node-v28.linked rect{stroke:rgba(0,234,255,.58)}.map-node-v28.placeholder rect{stroke:#34505d;stroke-dasharray:5 4;fill:#09151d}.map-node-v28.root rect{fill:#082635;stroke:#00eaff;stroke-width:2;filter:drop-shadow(0 0 14px rgba(0,234,255,.28))}.map-node-title-v28{fill:#e9fbff;font-size:14px;font-weight:900;pointer-events:none}.map-node-sub-v28{fill:#6eacbb;font-size:9px;font-weight:700;pointer-events:none}.map-node-v28.linked:not(.root):hover rect{stroke:#7af6ff;filter:drop-shadow(0 0 14px rgba(0,234,255,.2))}.map-node-v28.linked:not(.root):hover .map-node-sub-v28{fill:#8ffbff}.relation-map-empty-v28{position:absolute;inset:0;display:grid;place-items:center;color:#6d96a5;font-size:13px}.relation-map-legend-v28{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px;color:#688f9e;font-size:10px}.relation-map-legend-v28 span{display:flex;align-items:center;gap:6px}.relation-map-legend-v28 i{width:10px;height:10px;border-radius:2px;border:1px solid}.relation-map-legend-v28 i.linked{border-color:#00eaff;background:rgba(0,234,255,.15)}.relation-map-legend-v28 i.placeholder{border-color:#405b66;background:#09151d}
@media(max-width:800px){.relation-map-head-v28{align-items:flex-start;flex-direction:column}.relation-map-toolbar-v28{align-items:flex-start;flex-direction:column}.relation-map-shell-v28{height:65vh;min-height:460px}.weapon-relations-head-actions{justify-content:flex-start}.relation-map-head-v28 h1{font-size:28px}}


/* V2.8.1 - relationship map interaction / centered page hotfix */
.relation-map-page-v28 .relation-map-head-v28{
  position:relative;
  display:block!important;
  text-align:center!important;
  margin:4px auto 18px!important;
  padding:0 130px;
}
.relation-map-page-v28 .relation-map-head-v28>div:first-child{max-width:820px;margin:0 auto}
.relation-map-page-v28 .relation-map-head-v28 .eyebrow,
.relation-map-page-v28 .relation-map-head-v28 h1,
.relation-map-page-v28 .relation-map-head-v28 p{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.relation-map-page-v28 .relation-map-profile-v28{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.relation-map-shell-v28{overscroll-behavior:contain;cursor:grab}
.relation-map-shell-v28:active{cursor:grabbing}
.relation-map-svg-v28{touch-action:none!important;pointer-events:auto}
.map-node-v28.clickable{cursor:pointer;pointer-events:all}
.map-node-v28.clickable rect{pointer-events:all}
.map-node-v28.clickable:hover rect{stroke:#8ffaff!important;filter:drop-shadow(0 0 16px rgba(0,234,255,.30))}
.relation-map-empty-v28[hidden]{display:none!important}
.relation-map-empty-v28:not([hidden]){display:flex;align-items:center;justify-content:center;inset:auto 20px 18px 20px;min-height:42px;border:1px dashed #244956;border-radius:7px;background:rgba(4,15,22,.88);pointer-events:none}
@media(max-width:800px){
 .relation-map-page-v28 .relation-map-head-v28{padding:0;text-align:center!important}
 .relation-map-page-v28 .relation-map-profile-v28{position:static;transform:none;margin:14px auto 0}
}

/* ============================================================
   V2.9 - Cross-linked data navigation / smart related content
   ============================================================ */
.breadcrumb-v29{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 12px;color:#648f9f;font-size:10px;line-height:1.4
}
.breadcrumb-v29 a{color:#7edfeb}.breadcrumb-v29 a:hover{color:#dffcff;text-decoration:underline}
.breadcrumb-v29 strong{color:#bfeef5;font-weight:800}.breadcrumb-v29>span{color:#315d6c}

.weapon-data-links-v29{display:grid;gap:10px;margin:8px 0 14px}
.weapon-data-links-v29>div{padding-bottom:9px;border-bottom:1px solid rgba(0,234,255,.09);color:#9fc0cb;font-size:11px;line-height:1.55}
.weapon-data-links-v29>div:last-child{border-bottom:0}.weapon-data-links-v29 b{color:#e5f8fb}
.weapon-data-links-v29>div>a{color:#71eff9;font-weight:800}.weapon-data-links-v29>div>a:hover{text-decoration:underline}
.data-chip-list-v29{display:inline-flex;gap:5px;flex-wrap:wrap;vertical-align:middle;margin-left:3px}
.data-chip-list-v29 a{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border:1px solid rgba(0,234,255,.27);border-radius:999px;background:rgba(0,234,255,.035);color:#7ceef8;font-size:9px;font-weight:800;line-height:1.2}
.data-chip-list-v29 a:hover{border-color:#00eaff;color:#e8feff;box-shadow:0 0 11px rgba(0,234,255,.09)}

.smart-related-v29{margin-top:30px;padding-top:24px;border-top:1px solid rgba(0,234,255,.18)}
.smart-related-head-v29{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.smart-related-head-v29 h2{margin:5px 0 0;font-size:22px}.smart-related-head-v29>span{color:#6e99a8;font-size:10px;white-space:nowrap}
.smart-related-grid-v29{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.smart-related-card-v29{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:92px;border:1px solid rgba(0,234,255,.25);border-radius:8px;overflow:hidden;background:linear-gradient(135deg,rgba(8,27,39,.98),rgba(5,16,24,.98));transition:.18s ease}
.smart-related-card-v29>.thumb{height:100%;min-height:92px;aspect-ratio:auto;border:0;border-right:1px solid rgba(0,234,255,.12)}
.smart-related-card-v29>.thumb img{object-fit:cover}.smart-related-card-v29>div:last-child{min-width:0;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.smart-related-card-v29 strong{color:#effcff;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smart-related-card-v29 span{color:#69e8f3;font-size:9px;font-weight:800;line-height:1.35}.smart-related-card-v29 small{color:#6f96a5;font-size:9px}
.smart-related-card-v29:hover{border-color:#00eaff;transform:translateY(-1px);box-shadow:0 0 18px rgba(0,234,255,.09)}

.data-hub-page-v29{padding-top:26px}.data-hub-head-v29{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(0,234,255,.13)}
.data-hub-head-v29 h1{margin:5px 0 7px;font-size:34px}.data-hub-head-v29 p{margin:0;color:#82aab8;line-height:1.6}
.data-hub-cards-v29{margin-top:8px}

@media(max-width:900px){
 .smart-related-grid-v29{grid-template-columns:1fr}
 .data-hub-head-v29{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
 .breadcrumb-v29{font-size:9px;margin-bottom:8px}
 .smart-related-head-v29{align-items:flex-start;flex-direction:column;gap:5px}
 .smart-related-card-v29{grid-template-columns:88px minmax(0,1fr)}
 .smart-related-card-v29>.thumb{min-height:82px}
 .data-hub-head-v29 h1{font-size:28px}
}

/* ============================================================
   V2.10 - SEO polish / centered page headings
   ============================================================ */
.page-title-center-v210{
  width:100%;
  max-width:900px;
  margin:0 auto 22px;
  text-align:center;
}
.page-title-center-v210 h1{
  margin:4px auto 7px;
  text-align:center;
}
.page-title-center-v210 p{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  color:#83a8b6;
  line-height:1.6;
}

/* Kho vũ khí: title ở tâm, bộ đếm vẫn giữ bên phải */
.archive-head-v25.page-title-center-v210{
  position:relative;
  display:block;
  max-width:none;
  min-height:82px;
  padding:0 135px;
  margin:0 0 18px;
  text-align:center;
}
.archive-head-v25.page-title-center-v210>div:first-child{
  width:min(780px,100%);
  margin:0 auto;
}
.archive-head-v25.page-title-center-v210 .archive-count-v25{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

/* Timeline title centered regardless of legacy flex rules */
.timeline-page .timeline-page-head.page-title-center-v210{
  display:block!important;
  max-width:900px!important;
  margin:0 auto 28px!important;
  text-align:center!important;
}
.timeline-page .timeline-page-head.page-title-center-v210>div{
  max-width:820px;
  margin:0 auto;
}
.timeline-page .timeline-page-head.page-title-center-v210 .eyebrow,
.timeline-page .timeline-page-head.page-title-center-v210 h1,
.timeline-page .timeline-page-head.page-title-center-v210 p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Country/article/category archive titles */
main.wrap.section>.page-title-center-v210:first-child{
  padding-top:4px;
}
main.wrap.section>.page-title-center-v210:first-child h1{
  font-size:clamp(30px,3vw,40px);
  letter-spacing:.02em;
}

@media(max-width:760px){
  .archive-head-v25.page-title-center-v210{
    min-height:0;
    padding:0;
  }
  .archive-head-v25.page-title-center-v210 .archive-count-v25{
    position:static;
    transform:none;
    width:min(170px,100%);
    margin:12px auto 0;
  }
  .page-title-center-v210{margin-bottom:18px}
}

/* ============================================================
   V2.10.1 - HTTPS / performance / responsive / 404 polish
   ============================================================ */

/* Render heavy sections only when close to viewport. Keeps layout space stable. */
.smart-related-v29,
.weapon-relations-public,
.advanced-filter-v25,
.timeline-year-group-v19,
.article-detail .rich-content{
  content-visibility:auto;
  contain-intrinsic-size:1px 420px;
}

/* Image decode/paint safety */
.thumb img,.pic img,.article-cover,.gallery-public-main-v23>img,.gallery-public-thumb-v23 img,.cat-static-weapon{
  image-rendering:auto;
}
.gallery-public-main-v23>img{will-change:opacity}

/* 404 */
.error-page-v210{min-height:58vh;display:grid;place-items:center;padding-top:34px;padding-bottom:34px}
.error-panel-v210{width:min(720px,100%);text-align:center;padding:46px 28px;background:radial-gradient(circle at 50% 0,rgba(0,234,255,.08),transparent 44%),rgba(7,22,32,.94)}
.error-code-v210{font-size:clamp(68px,12vw,132px);line-height:.9;font-weight:900;letter-spacing:.02em;color:rgba(0,234,255,.18);text-shadow:0 0 28px rgba(0,234,255,.12);margin-bottom:14px}
.error-panel-v210 h1{font-size:clamp(28px,4vw,42px);margin:7px 0 10px}
.error-panel-v210 p{max-width:560px;margin:0 auto;color:#86aab7;line-height:1.65}
.error-actions-v210{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.error-actions-v210 .btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #17506a;border-radius:7px;background:#071722;color:#8ff8ff;font-size:11px;font-weight:800}
.error-actions-v210 .btn:hover{border-color:#00eaff;box-shadow:0 0 15px rgba(0,234,255,.1)}

/* Tablet: keep navigation usable instead of disappearing entirely. */
@media (max-width:1100px){
  .nav{height:auto;min-height:72px;flex-wrap:wrap;gap:10px 18px;padding-top:10px;padding-bottom:10px}
  .brand{flex:0 0 auto}
  .menu{display:flex!important;order:3;flex:1 0 100%;justify-content:flex-start;gap:8px;overflow-x:auto;padding:0 0 2px;scrollbar-width:thin;white-space:nowrap}
  .menu a{padding:10px 11px;border:1px solid #123b4f;border-radius:6px;background:#06151f}
  .menu a.active{border-color:#00eaff;background:rgba(0,234,255,.06)}
  .nav-actions{margin-left:auto}
  .search-mini{min-width:190px}
  .layout{grid-template-columns:1fr}
  .detail-sidebar{position:static!important}
}

@media (max-width:820px){
  .wrap{padding-left:14px;padding-right:14px}
  .top{position:relative}
  .nav{gap:8px 12px}
  .brand span:last-child{font-size:14px}
  .brand small{font-size:8px}
  .nav-actions{display:none!important}
  .menu{font-size:11px;gap:6px}
  .menu a{padding:8px 9px}
  .subpage-back-row{margin-top:10px}
  .panel{padding:12px}
  .weapon-gallery-public-v23{border-radius:8px}
  .gallery-public-main-v23{aspect-ratio:4/3;max-height:none}
  .gallery-public-centered-v231 .gallery-public-main-v23{aspect-ratio:4/3;max-height:none}
  .gallery-public-centered-v231 .gallery-public-thumb-v23{flex-basis:78px;width:78px}
  .weapon-relations-grid{grid-template-columns:1fr!important}
  .footer{padding:20px 0}
  .footer-flex{display:grid;grid-template-columns:1fr;text-align:center;gap:7px}
}

@media (max-width:620px){
  body{overflow-x:hidden}
  .wrap{padding-left:12px;padding-right:12px}
  .logo{width:29px;height:29px}.logo:before{height:41px;left:12px;top:-8px}.logo:after{width:41px;left:-7px;top:12px}
  .brand{gap:9px}
  .brand span:last-child{font-size:13px}
  .menu{margin-left:-2px;margin-right:-2px;padding-bottom:5px}
  .menu a{font-size:10px;padding:8px}
  .section{padding-top:22px;padding-bottom:22px}
  .page-title-center-v210 h1{font-size:clamp(27px,9vw,34px)!important}
  .archive-head-v25.page-title-center-v210{margin-bottom:13px}
  .cards{grid-template-columns:1fr!important}
  .cat-grid,.cat-grid.cat-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cat{min-width:0}
  .cat .ico{height:64px}
  .gallery-public-main-v23,.gallery-public-centered-v231 .gallery-public-main-v23{aspect-ratio:1/1}
  .gallery-public-main-v23>img{object-fit:contain}
  .gallery-public-nav-v231{width:32px;height:44px;font-size:27px}
  .gallery-public-caption-v23{padding:10px 11px;font-size:10px}
  .smart-related-card-v29{grid-template-columns:78px minmax(0,1fr)}
  .smart-related-card-v29 strong{white-space:normal}
  .relation-map-toolbar-v28{gap:9px}
  .relation-map-controls-v28{width:100%;justify-content:flex-end}
  .relation-map-shell-v28{min-height:420px;height:62vh}
  .error-panel-v210{padding:34px 18px}
  .error-actions-v210{flex-direction:column}
  .error-actions-v210 .btn{width:100%;box-sizing:border-box}
}

@media (max-width:420px){
  .cat-grid,.cat-grid.cat-grid-all{grid-template-columns:1fr!important}
  .gallery-public-centered-v231 .gallery-public-thumb-v23{flex-basis:70px;width:70px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* ============================================================
   V2.10.3 - centered data hub title
   ============================================================ */
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210{
  position:relative;
  display:block!important;
  width:100%;
  max-width:none!important;
  min-height:92px;
  padding:0 145px 16px;
  margin:0 0 18px!important;
  text-align:center!important;
}
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210>div:first-child{
  width:min(820px,100%);
  margin:0 auto;
  text-align:center!important;
}
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210 .eyebrow,
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210 h1,
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210 p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.data-hub-page-v29 .data-hub-head-v29.page-title-center-v210 .archive-count-v25{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-58%);
}
@media(max-width:760px){
  .data-hub-page-v29 .data-hub-head-v29.page-title-center-v210{
    min-height:0;
    padding:0 0 16px;
  }
  .data-hub-page-v29 .data-hub-head-v29.page-title-center-v210 .archive-count-v25{
    position:static;
    transform:none;
    width:min(170px,100%);
    margin:12px auto 0;
  }
}

/* V3.2 Knowledge Graph */
.kg-public-page{padding-top:28px}
.kg-public-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.kg-public-stats span{border:1px solid rgba(0,216,255,.22);background:rgba(4,24,35,.65);padding:8px 12px;border-radius:999px;color:#82b9c7;font-size:12px}
.kg-public-stats b{color:#fff;margin-right:4px}
.kg-public-shell{position:relative;min-height:640px;border:1px solid rgba(0,216,255,.28);border-radius:14px;background:radial-gradient(circle at 50% 50%,rgba(0,151,190,.10),transparent 38%),linear-gradient(rgba(0,216,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,216,255,.025) 1px,transparent 1px),#06131c;background-size:auto,32px 32px,32px 32px,auto;overflow:hidden}
.kg-public-shell svg{display:block;width:100%;height:auto;min-height:640px}
.kg-edge{stroke:#296278;stroke-width:1.5;opacity:.82}
.kg-edge-label{fill:#7cb9c9;font-size:12px;paint-order:stroke;stroke:#06131c;stroke-width:5px;stroke-linejoin:round}
.kg-node rect{fill:#0a1d28;stroke:#1e7088;stroke-width:1.5}
.kg-node.root rect{fill:#0b2c38;stroke:#00d7ff;stroke-width:2}
.kg-node-title{fill:#f7fbff;font-size:15px;font-weight:800}
.kg-node-type-label{fill:#64bfd4;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.kg-type-country rect{stroke:#34b792}.kg-type-caliber rect{stroke:#d7a83d}.kg-type-inventor rect,.kg-type-manufacturer rect,.kg-type-organization rect{stroke:#b58cff}.kg-type-timeline_event rect,.kg-type-conflict rect{stroke:#ef7a7a}.kg-type-weapon rect{stroke:#00cce8}
.kg-node[role="link"]:hover rect{filter:brightness(1.25);stroke-width:2.2}
.kg-public-empty{position:absolute;inset:0;display:grid;place-items:center;color:#7aa8b5;font-size:14px}
.kg-public-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:#729baa;font-size:12px}.kg-public-legend span{display:flex;align-items:center;gap:6px}.kg-public-legend i{width:9px;height:9px;border-radius:50%;border:1px solid #00cce8}.kg-public-legend i.country{border-color:#34b792}.kg-public-legend i.caliber{border-color:#d7a83d}.kg-public-legend i.person{border-color:#b58cff}.kg-public-legend i.event{border-color:#ef7a7a}
.weapon-relations-head-actions{flex-wrap:wrap}.relation-map-link-v28.secondary{opacity:.65}
@media(max-width:760px){.kg-public-shell{min-height:520px;overflow:auto}.kg-public-shell svg{min-width:980px}.kg-public-stats{gap:6px}}

/* V3.3 Research Layer: Sources & Citations */
.research-sources-v33{margin-top:28px;padding-top:24px;border-top:1px solid rgba(0,229,255,.2)}
.research-sources-head-v33{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.research-sources-head-v33 h2{margin:4px 0 0}.research-sources-head-v33>span{font-size:12px;color:#7eb6cb}
.research-citation-list-v33{list-style:none;margin:0;padding:0;display:grid;gap:12px}.research-citation-v33{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px;border:1px solid rgba(0,229,255,.18);border-radius:12px;background:rgba(7,23,34,.72)}
.research-citation-index-v33{font:700 13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#00e5ff}.research-citation-title-v33{font-weight:800;color:#fff}.research-citation-meta-v33{margin-top:4px;color:#8fb6c8;font-size:13px}.research-citation-tags-v33{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.research-citation-tags-v33 span{padding:3px 8px;border:1px solid rgba(0,229,255,.22);border-radius:999px;color:#8edbed;font-size:11px}.research-citation-v33 blockquote{margin:12px 0 0;padding:10px 12px;border-left:3px solid #00e5ff;background:rgba(0,229,255,.05);color:#d7eff7}.research-citation-note-v33{font-size:13px;color:#a9c6d2}.research-citation-links-v33{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.research-citation-links-v33 a{font-size:12px;color:#00e5ff;text-decoration:none}.research-citation-links-v33 a:hover{text-decoration:underline}
.research-source-page-v33 .detail-hero{margin-bottom:18px}.research-source-meta-grid-v33{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 24px}.research-source-meta-grid-v33>div{padding:12px;border:1px solid rgba(0,229,255,.18);border-radius:10px;background:rgba(0,229,255,.04)}.research-source-meta-grid-v33 small{display:block;color:#78a9bd;font-size:10px;letter-spacing:.08em}.research-source-meta-grid-v33 strong{display:block;margin-top:6px;color:#fff;font-size:13px}.research-source-usage-v33{display:grid;gap:9px}.research-source-usage-v33>div{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.research-source-usage-v33>div>span{font-size:10px;color:#00e5ff}.research-source-usage-v33 a{color:#fff;font-weight:700;text-decoration:none}.research-source-usage-v33 small{color:#7399aa}
@media(max-width:800px){.research-source-meta-grid-v33{grid-template-columns:1fr 1fr}.research-source-usage-v33>div{grid-template-columns:1fr}.research-citation-v33{grid-template-columns:36px minmax(0,1fr)}}
@media(max-width:520px){.research-source-meta-grid-v33{grid-template-columns:1fr}.research-sources-head-v33{align-items:flex-start;flex-direction:column}}

/* V3.4 Weapon Families */
.family-public-v34{display:grid;gap:20px}.family-hero-v34{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:28px;border:1px solid rgba(0,234,255,.18);border-radius:10px;background:radial-gradient(circle at 90% 20%,rgba(0,234,255,.09),transparent 32%),#071722}.family-hero-v34 h1{font-size:42px;margin:5px 0 10px}.family-hero-v34 p{max-width:900px;color:#9dbbc7;line-height:1.65}.family-meta-v34{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.family-meta-v34 a,.family-meta-v34 span{border:1px solid #17465b;border-radius:999px;padding:6px 9px;color:#8edce7;font-size:11px}.family-count-v34{text-align:right;min-width:130px}.family-count-v34 strong{display:block;color:#00eaff;font-size:42px}.family-count-v34 span{color:#789fad;font-size:11px}.family-overview-v34 .panel-body{padding:24px}.family-member-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-member-card-v34{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid #123d50;border-radius:10px;overflow:hidden;background:#071620;min-height:150px}.family-member-card-v34>.thumb{height:100%;min-height:150px;border:0;border-right:1px solid #123d50}.family-order-v34{position:absolute;left:8px;top:8px;z-index:2;border:1px solid rgba(0,234,255,.5);background:rgba(3,14,21,.9);color:#7ff7ff;padding:4px 6px;border-radius:5px;font:700 10px monospace}.family-member-body-v34{padding:16px}.family-member-body-v34 h3{margin:5px 0 4px;font-size:20px}.family-member-role-v34{font-size:10px;color:#00eaff;text-transform:uppercase;letter-spacing:.08em}.family-member-body-v34 small{color:#7097a6}.family-member-body-v34 p{color:#91abb5;font-size:12px;line-height:1.55;margin:9px 0}.family-member-body-v34>span{color:#00eaff;font-size:11px}.family-child-grid-v34{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.family-child-grid-v34 a{border:1px solid #163f52;border-radius:8px;background:#071722;padding:14px}.family-child-grid-v34 strong,.family-child-grid-v34 span{display:block}.family-child-grid-v34 span{color:#789ead;font-size:11px;margin-top:5px}.weapon-family-links-v34{margin:26px 0}.weapon-family-chip-grid-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.weapon-family-chip-grid-v34 a{border:1px solid #164459;background:#071722;border-radius:8px;padding:12px 13px}.weapon-family-chip-grid-v34 strong,.weapon-family-chip-grid-v34 span{display:block}.weapon-family-chip-grid-v34 span{margin-top:4px;color:#6fa2b4;font-size:10px}@media(max-width:900px){.family-member-grid-v34{grid-template-columns:1fr}.family-child-grid-v34{grid-template-columns:1fr 1fr}.family-hero-v34{grid-template-columns:1fr}.family-count-v34{text-align:left}.weapon-family-chip-grid-v34{grid-template-columns:1fr}}@media(max-width:620px){.family-member-card-v34{grid-template-columns:1fr}.family-member-card-v34>.thumb{height:190px;border-right:0;border-bottom:1px solid #123d50}.family-child-grid-v34{grid-template-columns:1fr}.family-hero-v34 h1{font-size:34px}}

/* ============================================================
   V3.4.2 - WEAPON FAMILY MEMBER TREE UI HOTFIX
   Keep family cards isolated from the global .card/.thumb 16:9 rules.
   ============================================================ */
.family-members-v34{
  min-width:0;
}
.family-members-v34 .section-head{
  align-items:center;
}
.family-member-grid-v34{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.family-member-card-v34{
  position:relative;
  display:grid;
  grid-template-columns:minmax(210px,38%) minmax(0,1fr);
  min-width:0;
  min-height:220px;
  height:100%;
  overflow:hidden;
  border:1px solid #123d50;
  border-radius:10px;
  background:linear-gradient(180deg,#081923,#07151f);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.family-member-card-v34:hover{
  border-color:rgba(0,234,255,.65);
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.2),0 0 18px rgba(0,234,255,.07);
}
.family-member-card-v34 > .thumb{
  width:100%;
  height:100% !important;
  min-height:220px;
  aspect-ratio:auto !important;
  align-self:stretch;
  overflow:hidden;
  border:0;
  border-right:1px solid #123d50;
  border-bottom:0 !important;
  background:
    linear-gradient(rgba(0,234,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,234,255,.025) 1px,transparent 1px),
    radial-gradient(circle at 50% 50%,#123344,#07141d 70%);
  background-size:28px 28px,28px 28px,auto;
}
.family-member-card-v34 > .thumb:after{
  inset:14px;
}
.family-member-card-v34 > .thumb.has-image:after{
  display:none;
}
.family-member-card-v34 > .thumb img{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#07141d;
}
.family-member-body-v34{
  min-width:0;
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}
.family-member-role-v34{
  width:100%;
  margin-bottom:7px;
  color:#00eaff;
  font-size:11px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.08em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.family-member-body-v34 h3{
  width:100%;
  margin:0 0 7px;
  color:#f3fbfd;
  font-size:22px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.family-member-body-v34 small{
  width:100%;
  color:#7fa7b5;
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.family-member-body-v34 p{
  width:100%;
  margin:10px 0 14px;
  color:#91abb5;
  font-size:12px;
  line-height:1.6;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.family-member-body-v34 > span{
  margin-top:auto;
  padding-top:13px;
  color:#00eaff;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}
.family-order-v34{
  left:10px;
  top:10px;
  min-width:30px;
  text-align:center;
  padding:5px 7px;
  font-size:10px;
}
@media(max-width:1180px){
  .family-member-grid-v34{grid-template-columns:1fr}
  .family-member-card-v34{grid-template-columns:minmax(220px,32%) minmax(0,1fr)}
}
@media(max-width:700px){
  .family-member-card-v34{grid-template-columns:1fr;min-height:0}
  .family-member-card-v34 > .thumb{
    height:auto !important;
    min-height:0;
    aspect-ratio:16/9 !important;
    border-right:0;
    border-bottom:1px solid #123d50 !important;
  }
  .family-member-card-v34 > .thumb img{min-height:0;aspect-ratio:16/9;object-fit:contain}
  .family-member-body-v34{min-height:170px;justify-content:flex-start}
}

/* V3.4.3 - contextual navigation + Knowledge Graph UX hotfix */
.kg-public-empty[hidden]{display:none!important}
.kg-public-empty{
  position:absolute;
  inset:14px auto auto 14px;
  z-index:6;
  display:block;
  max-width:min(520px,calc(100% - 28px));
  padding:9px 12px;
  border:1px solid rgba(122,168,181,.35);
  border-radius:8px;
  background:rgba(4,15,22,.90);
  color:#86afbb;
  font-size:12px;
  line-height:1.4;
  pointer-events:none;
}
.kg-node-link{cursor:pointer;outline:none}
.kg-node-link .kg-node{pointer-events:all}
.kg-node-link .kg-node rect{pointer-events:all;transition:filter .15s ease,stroke-width .15s ease,fill .15s ease}
.kg-node-link:hover .kg-node rect,.kg-node-link:focus .kg-node rect{filter:brightness(1.28);stroke-width:2.4;fill:#0d2734}
.kg-node-link:focus-visible .kg-node rect{stroke:#fff}
.kg-node-title,.kg-node-type-label{pointer-events:none}
/* Override the generic .country card class which otherwise enlarges the legend marker. */
.kg-public-legend i,
.kg-public-legend i.country,
.kg-public-legend i.caliber,
.kg-public-legend i.person,
.kg-public-legend i.event{
  display:inline-block;
  flex:0 0 9px;
  width:9px!important;
  height:9px!important;
  min-width:9px!important;
  min-height:9px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-sizing:border-box;
}
.kg-public-legend i{border:1px solid #00cce8!important}
.kg-public-legend i.country{border-color:#34b792!important}
.kg-public-legend i.caliber{border-color:#d7a83d!important}
.kg-public-legend i.person{border-color:#b58cff!important}
.kg-public-legend i.event{border-color:#ef7a7a!important}


/* V3.4.4 - Knowledge Graph layout engine hotfix */
.kg-public-shell{min-height:680px;overflow:auto}
.kg-public-shell svg{width:100%;height:auto;min-height:680px;overflow:visible}
.kg-node-title{font-size:15px;font-weight:850;letter-spacing:0;dominant-baseline:auto}
.kg-node-type-label{font-size:9px;letter-spacing:.08em}
.kg-edge{stroke:#2a6174;stroke-width:1.35;opacity:.78}
.kg-edge-label-wrap{pointer-events:none}
.kg-edge-label-bg{fill:rgba(4,18,27,.94);stroke:rgba(51,118,142,.38);stroke-width:1}
.kg-edge-label{fill:#83c3d2;font-size:11px;font-weight:700;stroke:none;paint-order:normal}
.kg-type-timeline_event .kg-node-title,.kg-type-article .kg-node-title,.kg-type-conflict .kg-node-title{font-size:14px}
.kg-node-link:hover .kg-node-title,.kg-node-link:focus .kg-node-title{fill:#fff}
@media(max-width:900px){
  .kg-public-shell{min-height:620px;overflow:auto}
  .kg-public-shell svg{min-width:1080px;min-height:620px}
}

/* V3.5 Compare 2.0 */
.compare-page-v35{padding-top:28px}.compare-head-v35{text-align:center;max-width:920px;margin:0 auto 22px}.compare-head-v35 h1{margin:5px 0 8px;font-size:36px}.compare-head-v35 p{margin:0;color:#8bb7c6;line-height:1.65}
.compare-picker-v35{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:15px;border:1px solid #17475b;border-radius:10px;background:#071722;margin-bottom:18px}.compare-picker-v35>label{display:grid;gap:6px}.compare-picker-v35>label>span{font-size:10px;text-transform:uppercase;color:#70aabd;font-weight:900;letter-spacing:.08em}.compare-picker-v35 select{height:42px;border:1px solid #1c4b5f;border-radius:7px;background:#06131c;color:#e7fbff;padding:0 10px;min-width:0}.compare-picker-actions-v35{grid-column:1/-1;display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;padding-top:2px}.compare-run-v35,.compare-picker-actions-v35>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #00cde8;border-radius:7px;background:rgba(0,205,232,.09);color:#7ff7ff;font-size:11px;font-weight:900;text-decoration:none;letter-spacing:.03em}.compare-run-v35{cursor:pointer}.compare-run-v35:hover,.compare-picker-actions-v35>a:hover{background:rgba(0,205,232,.16)}.compare-diff-toggle-v35{display:flex!important;align-items:center;gap:8px!important;color:#9fc5d1;font-size:12px}.compare-diff-toggle-v35 input{accent-color:#00dff6}
.compare-summary-grid-v35{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}.compare-summary-card-v35{border:1px solid #17475b;border-radius:10px;background:#071722;overflow:hidden;min-width:0}.compare-summary-card-v35 .thumb{width:100%;height:150px;border:0;border-bottom:1px solid #17475b;border-radius:0;background:#06131c}.compare-summary-card-v35 .thumb img{width:100%;height:100%;object-fit:contain}.compare-summary-body-v35{padding:14px}.compare-summary-type-v35{font-size:10px;color:#00dff6;text-transform:uppercase;font-weight:900;letter-spacing:.07em}.compare-summary-body-v35 h2{font-size:21px;margin:5px 0 4px}.compare-summary-body-v35 p{margin:0;color:#86adba;font-size:12px;min-height:18px}.compare-summary-badges-v35{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.compare-summary-badges-v35 span{border:1px solid #1b4b5e;border-radius:999px;padding:5px 8px;font-size:9px;color:#9bd2de;background:#06131c;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-summary-actions-v35{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid #123747;padding-top:10px}.compare-summary-actions-v35 a{font-size:10px;color:#64ebf7;text-decoration:none;font-weight:800}.compare-summary-actions-v35 a.remove{color:#df8f94}.compare-summary-actions-v35 a:hover{text-decoration:underline}
.compare-section-v35{margin:20px 0}.compare-section-head-v35{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.compare-section-head-v35 h2{font-size:16px;margin:0;color:#eafcff;letter-spacing:.04em}.compare-section-head-v35 span{font-size:10px;color:#6fa7b8;text-transform:uppercase}.compare-scroll-v35{overflow:auto;border:1px solid #17475b;border-radius:10px;background:#06131c}.compare-table-v35{width:100%;min-width:920px;border-collapse:collapse;table-layout:fixed}.compare-table-v35 th,.compare-table-v35 td{border-right:1px solid #123747;border-bottom:1px solid #123747;padding:12px 14px;vertical-align:middle;text-align:center;line-height:1.5;overflow-wrap:anywhere}.compare-table-v35 thead th{background:#081a25;color:#dffaff;font-size:12px}.compare-table-v35 thead th a{color:#eafcff;text-decoration:none}.compare-table-v35 th:first-child{position:sticky;left:0;z-index:3;width:210px;text-align:left;background:#081a25;color:#8dd9e8}.compare-table-v35 tbody tr:last-child th,.compare-table-v35 tbody tr:last-child td{border-bottom:0}.compare-table-v35 tbody td{color:#cbe5ec;font-size:12px}.compare-table-v35 tbody tr.is-different td{background:rgba(0,223,246,.025)}.compare-table-v35 tbody tr:hover td,.compare-table-v35 tbody tr:hover th{background:#0a202c}.compare-diff-dot-v35{float:right;color:#00e6ff;font-size:18px;line-height:12px}.compare-note-v35{margin-top:14px;border-left:2px solid #24586b;padding:8px 12px;color:#739fae;font-size:11px}.compare-empty-v35{margin-top:12px;text-align:center}.compare-start-v35{display:grid;gap:5px;text-align:center;padding:26px;border:1px dashed #24586b;border-radius:10px;color:#a9d1dc}.compare-start-v35 span{font-size:11px;color:#6f9aaa}
.family-member-head-actions-v35{display:flex;align-items:center;gap:12px}.family-member-head-actions-v35>a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #185268;border-radius:6px;color:#67eff8;text-decoration:none;font-size:10px;font-weight:900;background:#071722}.family-member-head-actions-v35>a:hover{background:#0b2330}
@media(max-width:1180px){.compare-summary-grid-v35{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.compare-picker-v35{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-head-v35 h1{font-size:31px}}
@media(max-width:620px){.compare-picker-v35,.compare-summary-grid-v35{grid-template-columns:1fr}.compare-head-v35 h1{font-size:27px}.compare-picker-actions-v35{justify-content:stretch}.compare-picker-actions-v35>*{flex:1 1 auto}.compare-summary-card-v35 .thumb{height:170px}.family-member-head-actions-v35{align-items:flex-end;flex-direction:column;gap:6px}.compare-table-v35{min-width:760px}}

/* V3.6 Search 2.0 */
.search-mini-v36{display:flex!important;align-items:center;min-width:260px;max-width:360px;padding:0!important;overflow:hidden;background:#071722!important;border:1px solid #184559!important;border-radius:7px!important;text-decoration:none!important}
.search-mini-v36 input{width:100%;min-width:0;height:38px;border:0!important;outline:0;background:transparent;color:#dffaff;padding:0 10px;font-size:11px}
.search-mini-v36 input::placeholder{color:#6e95a3}.search-mini-v36 button{flex:0 0 38px;height:38px;border:0;border-left:1px solid #17475b;background:#09202b;color:#69edf7;cursor:pointer;font-size:17px}.search-mini-v36 button:hover{background:#0d2936}
.search-page-v36{padding-top:28px}.search-hero-v36{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:18px}.search-hero-v36 h1{margin:4px 0 7px;font-size:36px}.search-hero-v36 p{margin:0;color:#86adba;line-height:1.65;max-width:820px}.search-total-v36{flex:0 0 auto;min-width:150px;padding:12px 15px;border:1px solid #17475b;border-radius:9px;background:#071722;text-align:right}.search-total-v36 strong{display:block;color:#eaffff;font-size:24px;line-height:1}.search-total-v36 span{display:block;margin-top:6px;color:#6e9dab;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.search-filter-v36{display:grid;grid-template-columns:2fr repeat(5,minmax(135px,1fr));gap:10px;padding:14px;border:1px solid #17475b;border-radius:10px;background:#071722;margin-bottom:15px}.search-filter-v36 label,.search-query-v36{display:grid;gap:6px;min-width:0}.search-filter-v36 label>span,.search-query-v36>label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6ea8b9}.search-filter-v36 input,.search-filter-v36 select{height:42px;min-width:0;width:100%;border:1px solid #1b4b5f;border-radius:7px;background:#06131c;color:#e6fbff;padding:0 10px;outline:none}.search-filter-v36 input:focus,.search-filter-v36 select:focus{border-color:#00cde8;box-shadow:0 0 0 2px rgba(0,205,232,.08)}.search-filter-actions-v36{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.search-filter-actions-v36 button,.search-filter-actions-v36 a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #00cde8;border-radius:7px;background:rgba(0,205,232,.08);color:#78f3fb;text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.04em;cursor:pointer}.search-filter-actions-v36 a{border-color:#294b59;background:#07141c;color:#91b6c1}.search-filter-actions-v36 button:hover,.search-filter-actions-v36 a:hover{filter:brightness(1.18)}
.search-start-v36{display:grid;place-items:center;text-align:center;padding:54px 22px;border:1px dashed #24586b;border-radius:12px;background:linear-gradient(180deg,rgba(7,23,34,.7),rgba(5,17,25,.45));margin-top:20px}.search-start-icon-v36{width:64px;height:64px;display:grid;place-items:center;border:1px solid #00cee8;border-radius:50%;font-size:29px;color:#72eff8;margin-bottom:10px}.search-start-v36 h2{margin:4px 0 7px}.search-start-v36 p{max-width:760px;margin:0;color:#85aeba;line-height:1.65}.search-examples-v36{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.search-examples-v36 a{padding:7px 10px;border:1px solid #17475b;border-radius:999px;background:#06131c;color:#83e9f1;text-decoration:none;font-size:10px}.search-examples-v36 a:hover{border-color:#00cde8}
.search-type-tabs-v36{display:flex;gap:7px;overflow:auto;padding:4px 0 12px;scrollbar-width:thin}.search-type-tabs-v36 a{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #17475b;border-radius:8px;background:#071722;color:#8fb7c3;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap}.search-type-tabs-v36 a b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#092633;color:#77eaf4;font-size:9px}.search-type-tabs-v36 a.active,.search-type-tabs-v36 a:hover{border-color:#00cde8;color:#e6fdff;background:rgba(0,205,232,.08)}
.search-results-head-v36{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:8px 1px 12px}.search-results-head-v36>div{display:flex;gap:7px;align-items:baseline}.search-results-head-v36 strong{font-size:14px}.search-results-head-v36 span,.search-results-head-v36 small{color:#729fac;font-size:11px}.search-results-v36{display:grid;gap:10px}.search-result-card-v36{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:stretch;min-height:118px;border:1px solid #17475b;border-radius:10px;background:#071722;color:inherit;text-decoration:none;overflow:hidden;transition:border-color .15s ease,transform .15s ease,background .15s ease}.search-result-card-v36:hover{border-color:#00bad2;background:#09202b;transform:translateY(-1px)}.search-result-visual-v36{display:grid;place-items:center;border-right:1px solid #143d4e;background:#06131c;overflow:hidden}.search-result-visual-v36 img{width:100%;height:100%;min-height:116px;object-fit:contain}.search-result-visual-v36 span{display:grid;place-items:center;width:50px;height:50px;border:1px solid #1b6176;border-radius:12px;color:#00dff6;font-size:20px;font-weight:900;background:#081b25}.search-result-main-v36{min-width:0;padding:14px 16px}.search-result-type-v36{color:#00dff6;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.search-result-main-v36 h2{margin:4px 0 3px;font-size:19px;line-height:1.25;overflow-wrap:anywhere}.search-result-subtitle-v36{color:#89bac7;font-size:11px;line-height:1.45}.search-result-main-v36 p{margin:8px 0 0;color:#799daa;font-size:11px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.search-result-open-v36{align-self:center;display:flex;align-items:center;gap:6px;padding:0 18px;color:#67eaf4;font-size:10px;font-weight:900;white-space:nowrap}.search-research-badges-v36{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.search-research-badges-v36 span{padding:4px 7px;border:1px solid #1b4a5d;border-radius:999px;background:#06131c;color:#83b8c5;font-size:9px}.search-result-card-v36.type-country{border-left:2px solid #34b792}.search-result-card-v36.type-family{border-left:2px solid #2b88a2}.search-result-card-v36.type-caliber{border-left:2px solid #d7a83d}.search-result-card-v36.type-inventor,.search-result-card-v36.type-manufacturer,.search-result-card-v36.type-organization{border-left:2px solid #b58cff}.search-result-card-v36.type-timeline,.search-result-card-v36.type-conflict{border-left:2px solid #ef7a7a}.search-result-card-v36.type-source{border-left:2px solid #64d58a}.search-no-results-v36{text-align:center;margin-top:12px}.search-limit-note-v36{margin-top:12px;padding:10px 12px;border-left:2px solid #24586b;color:#779fab;font-size:10px;background:#071722}
@media(max-width:1360px){.search-filter-v36{grid-template-columns:2fr repeat(3,minmax(150px,1fr))}.search-query-v36{grid-column:span 2}.search-mini-v36{min-width:220px}}
@media(max-width:1050px){.search-filter-v36{grid-template-columns:repeat(2,minmax(0,1fr))}.search-query-v36{grid-column:1/-1}.search-hero-v36{align-items:flex-start}.search-total-v36{display:none}.search-mini-v36{min-width:180px;max-width:230px}.search-result-card-v36{grid-template-columns:96px minmax(0,1fr) auto}}
@media(max-width:720px){.search-filter-v36{grid-template-columns:1fr}.search-query-v36{grid-column:auto}.search-filter-actions-v36{grid-column:auto;justify-content:stretch}.search-filter-actions-v36>*{flex:1}.search-hero-v36 h1{font-size:29px}.search-result-card-v36{grid-template-columns:74px minmax(0,1fr)}.search-result-open-v36{grid-column:2;padding:0 14px 12px}.search-result-visual-v36 img{min-height:100px}.search-result-main-v36{padding:12px}.search-result-main-v36 h2{font-size:17px}.search-results-head-v36{align-items:flex-start;flex-direction:column}.search-mini-v36{min-width:0;width:42px}.search-mini-v36 input{display:none}.search-mini-v36 button{border-left:0;width:42px;flex-basis:42px}}

/* V3.7 Timeline 2.0 */
.timeline-page-v37{max-width:1380px}
.timeline-hero-v37{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.timeline-hero-v37 h1{margin:4px 0 6px;font-size:34px}.timeline-hero-v37 p{margin:0;color:#83aebb;max-width:820px;line-height:1.55}
.timeline-scope-switch-v37{display:flex;border:1px solid #15455a;border-radius:10px;overflow:hidden;flex:0 0 auto}.timeline-scope-switch-v37 a{padding:11px 16px;color:#8db3c2;font-size:12px;font-weight:800}.timeline-scope-switch-v37 a.active{background:#073447;color:#00eaff}
.timeline-kpis-v37{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.timeline-kpis-v37>div{border:1px solid #153f52;background:#071a25;border-radius:10px;padding:14px 16px}.timeline-kpis-v37 small{display:block;color:#5e94a8;font-size:10px;letter-spacing:.12em}.timeline-kpis-v37 strong{display:block;color:#effcff;font-size:23px;margin:5px 0 3px}.timeline-kpis-v37 span{color:#6995a5;font-size:11px}
.timeline-filter-v37{display:grid;grid-template-columns:minmax(220px,2fr) repeat(7,minmax(120px,1fr)) auto;gap:10px;align-items:end;border:1px solid #154459;background:#061923;border-radius:12px;padding:14px;margin-bottom:18px}.timeline-filter-v37 label{display:grid;gap:6px}.timeline-filter-v37 label>span{font-size:10px;color:#69a0b3;letter-spacing:.05em}.timeline-filter-v37 input,.timeline-filter-v37 select{width:100%;min-width:0;height:40px;border:1px solid #1b5066;background:#04131c;color:#e9faff;border-radius:7px;padding:0 10px}.timeline-query-v37{min-width:0}.timeline-filter-actions-v37{display:flex;gap:8px;align-items:center}.timeline-filter-actions-v37 button,.timeline-filter-actions-v37 a{height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #087f97;border-radius:7px;padding:0 13px;background:#063042;color:#dffcff;font-size:11px;font-weight:800;white-space:nowrap}.timeline-filter-actions-v37 a{background:transparent;color:#77aabc;border-color:#234858}
.timeline-result-head-v37{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 14px}.timeline-result-head-v37>div:first-child{display:flex;align-items:baseline;gap:10px}.timeline-result-head-v37 strong{font-size:17px}.timeline-result-head-v37 span{color:#76a2b2;font-size:11px}.timeline-type-summary-v37{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.timeline-type-summary-v37 span{border:1px solid #194b60;border-radius:999px;padding:5px 9px}.timeline-type-summary-v37 b{color:#00eaff;margin-left:4px}
.timeline-left-v37{padding-top:4px}.timeline-year-events-v37{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.timeline-event-card-v37{padding:16px 17px;min-height:190px;display:flex;flex-direction:column}.timeline-event-top-v37{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.timeline-event-top-v37>div:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.timeline-event-card-v37 .timeline-type{display:inline-flex;margin:0;padding:4px 7px;border:1px solid #13738b;border-radius:999px;color:#00eaff;font-size:9px;letter-spacing:.08em}.timeline-range-v37{font-size:11px;color:#b7d4de;font-weight:800}.timeline-research-v37 span{display:inline-flex;border:1px solid #315061;border-radius:999px;padding:4px 7px;color:#80a8b8;font-size:9px;white-space:nowrap}.timeline-research-v37 .verified{border-color:#126947;color:#4df0a0}.timeline-research-v37 .missing{border-color:#61464b;color:#c49099}
.timeline-event-card-v37 h3{margin:11px 0 7px;font-size:17px}.timeline-event-card-v37>p{font-size:12px;line-height:1.55;min-height:37px}.timeline-related-v37{margin-top:14px;border-top:1px solid #153848;padding-top:10px}.timeline-related-v37>small,.timeline-family-v37>small{display:block;color:#4c8ca4;font-size:9px;letter-spacing:.1em;margin-bottom:7px}.timeline-chips-v37{display:flex;gap:6px;flex-wrap:wrap}.timeline-chips-v37 a{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid #1b4a5e;border-radius:7px;padding:5px 7px;color:#b9dae4;font-size:10px}.timeline-chips-v37 a em{font-style:normal;color:#00dff7;font-size:8px;text-transform:uppercase}.timeline-chips-v37 a:hover{border-color:#00eaff;color:#fff}
.timeline-family-v37{margin-top:10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.timeline-family-v37>small{margin:0}.timeline-family-v37 a{font-size:10px;color:#6ee2f4;border-bottom:1px dotted #3b8291}.timeline-actions-v37{margin-top:auto;padding-top:12px;display:flex;gap:12px;flex-wrap:wrap}.timeline-actions-v37 a{font-size:10px;color:#00dff7}.timeline-actions-v37 a:hover{color:#fff}
.timeline-pagination-v37{display:flex;justify-content:center;align-items:center;gap:14px;margin:24px 0 6px}.timeline-pagination-v37 a,.timeline-pagination-v37 span{border:1px solid #18495d;border-radius:7px;padding:8px 12px;font-size:11px}.timeline-pagination-v37 a{color:#00eaff}.timeline-pagination-v37 span{color:#7ca7b6}.timeline-empty-v37{text-align:center}
@media(max-width:1220px){.timeline-filter-v37{grid-template-columns:repeat(4,minmax(0,1fr))}.timeline-query-v37{grid-column:span 2}.timeline-filter-actions-v37{grid-column:span 2;justify-content:flex-end}.timeline-kpis-v37{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.timeline-hero-v37{align-items:flex-start;flex-direction:column}.timeline-scope-switch-v37{width:100%}.timeline-scope-switch-v37 a{flex:1;text-align:center}.timeline-filter-v37{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-query-v37{grid-column:1/-1}.timeline-filter-actions-v37{grid-column:1/-1;justify-content:stretch}.timeline-filter-actions-v37>*{flex:1}.timeline-year-events-v37{grid-template-columns:1fr}.timeline-result-head-v37{align-items:flex-start;flex-direction:column}.timeline-type-summary-v37{justify-content:flex-start}}
@media(max-width:560px){.timeline-kpis-v37{grid-template-columns:1fr 1fr}.timeline-filter-v37{grid-template-columns:1fr}.timeline-filter-v37>*{grid-column:auto!important}.timeline-event-top-v37{flex-direction:column}.timeline-hero-v37 h1{font-size:28px}}

/* =========================================================
   V3.8 COUNTRY PROFILES
   ========================================================= */
.country-profile-v38{display:block}.country-hero-v38{position:relative;overflow:hidden;border:1px solid rgba(82,212,255,.24);background:linear-gradient(135deg,rgba(7,18,31,.98),rgba(10,37,50,.92));min-height:300px;margin:10px 0 18px;padding:34px;border-radius:4px}.country-hero-v38.has-banner:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,14,24,.96) 0%,rgba(5,14,24,.86) 48%,rgba(5,14,24,.38) 100%),var(--country-banner);background-size:cover;background-position:center}.country-hero-overlay-v38{position:absolute;inset:0;background-image:linear-gradient(rgba(83,221,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(83,221,255,.035) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.country-hero-content-v38{position:relative;z-index:2;max-width:850px}.country-identity-v38{display:flex;align-items:center;gap:18px}.country-identity-v38 img,.country-flag-placeholder-v38{width:96px;height:64px;object-fit:contain;padding:3px;box-sizing:border-box;border:1px solid rgba(106,226,255,.35);background:rgba(7,20,31,.9);display:grid;place-items:center;font-size:28px;color:var(--cyan)}.country-identity-v38 h1{margin:5px 0 0;font-size:clamp(34px,5vw,62px);line-height:1}.country-international-v38{margin-top:8px;color:#9eb9c5;letter-spacing:.12em;text-transform:uppercase;font-size:13px}.country-hero-content-v38>p{max-width:760px;font-size:16px;line-height:1.75;color:#c4d2d9}.country-hero-actions-v38{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.country-stats-v38{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 20px}.country-stats-v38>a,.country-stats-v38>div{border:1px solid rgba(72,197,232,.2);background:rgba(6,19,29,.72);padding:15px 14px;min-height:92px;text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:center}.country-stats-v38 strong{font-size:26px;color:#fff}.country-stats-v38 span{margin-top:5px;color:#8fb0bd;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.country-stats-v38>a:hover{border-color:rgba(81,224,255,.6);transform:translateY(-1px)}
.country-profile-grid-v38{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.country-profile-main-v38{min-width:0}.country-profile-side-v38{display:grid;gap:14px;position:sticky;top:90px}.country-section-v38{border:1px solid rgba(69,192,228,.18);background:rgba(4,15,24,.6);padding:20px;margin-bottom:18px}.country-section-head-v38{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}.country-section-head-v38 h2{margin:4px 0 0}.country-section-head-v38>a{color:var(--cyan);text-decoration:none;white-space:nowrap}.country-weapon-grid-v38{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.country-weapon-card-v38{display:grid;grid-template-columns:154px minmax(0,1fr);min-height:132px;border:1px solid rgba(65,183,219,.2);background:rgba(7,21,31,.72);text-decoration:none;color:inherit;overflow:hidden}.country-weapon-card-v38 .thumb{width:154px;height:100%;min-height:132px;margin:0;border:0;border-right:1px solid rgba(65,183,219,.18);border-radius:0;aspect-ratio:auto}.country-weapon-card-v38>div:last-child{padding:14px;min-width:0}.country-weapon-card-v38 span{font-size:11px;color:#75b8cb;text-transform:uppercase;letter-spacing:.06em}.country-weapon-card-v38 h3{margin:7px 0 5px;font-size:20px}.country-weapon-card-v38 p{margin:0;color:#9eb2bc;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.country-weapon-card-v38:hover{border-color:rgba(85,225,255,.56);transform:translateY(-1px)}.country-weapon-grid-v38.compact .country-weapon-card-v38{min-height:112px}.country-weapon-grid-v38.compact .country-weapon-card-v38 .thumb{min-height:112px}
.country-family-grid-v38{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.country-family-grid-v38>a{border:1px solid rgba(67,187,220,.2);background:rgba(7,21,31,.68);padding:16px;text-decoration:none;color:inherit;min-height:120px}.country-family-grid-v38 strong{font-size:20px;color:#fff;display:block}.country-family-grid-v38 span{display:block;margin-top:6px;color:#73b8cb;font-size:12px}.country-family-grid-v38 p{margin:10px 0 0;color:#9fb3bd;line-height:1.55;font-size:13px}.country-family-grid-v38>a:hover{border-color:rgba(85,225,255,.55)}
.country-timeline-v38{position:relative;padding-left:18px}.country-timeline-v38:before{content:"";position:absolute;left:4px;top:7px;bottom:7px;width:1px;background:rgba(76,207,238,.35)}.country-timeline-v38>a{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;text-decoration:none;color:inherit;padding:0 0 18px}.country-timeline-v38>a:before{content:"";position:absolute;left:-18px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(74,220,255,.6)}.country-timeline-year-v38{font-size:22px;font-weight:800;color:#fff}.country-timeline-v38 span{font-size:11px;color:#72bad0;text-transform:uppercase;letter-spacing:.06em}.country-timeline-v38 h3{margin:5px 0;font-size:17px}.country-timeline-v38 p{margin:0;color:#9eb2bb;font-size:13px;line-height:1.55}.country-timeline-v38>a:hover h3{color:var(--cyan)}
.country-empty-v38{border:1px dashed rgba(110,190,215,.22);padding:18px;color:#829aa5;background:rgba(4,13,21,.38)}.country-side-group-v38+.country-side-group-v38{border-top:1px solid rgba(92,175,202,.14);margin-top:16px;padding-top:16px}.country-side-group-v38 h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#86adbd}.country-side-group-v38>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(79,158,183,.12);text-decoration:none;color:inherit}.country-side-group-v38>a span{min-width:0}.country-side-group-v38>a b{color:var(--cyan);font-size:12px}.country-side-group-v38>a:hover span{color:var(--cyan)}.country-side-list-v38{display:grid;gap:10px}.country-side-list-v38>div{padding:10px;border:1px solid rgba(75,175,207,.14);background:rgba(8,22,31,.55)}.country-side-list-v38 strong,.country-side-list-v38 span{display:block}.country-side-list-v38 span{margin-top:5px;font-size:11px;color:#83a7b5;text-transform:uppercase}.country-research-v38{display:grid;gap:8px;margin-bottom:14px}.country-research-v38>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(79,158,183,.12)}.country-research-v38 b{color:var(--cyan)}
.country-index-v38 .page-title-center-v210{max-width:800px;margin-left:auto;margin-right:auto}.country-index-grid-v38{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.country-index-card-v38{display:grid;grid-template-columns:72px minmax(0,1fr) 26px;gap:14px;align-items:center;min-height:120px;padding:17px;border:1px solid rgba(62,185,221,.2);background:rgba(5,18,28,.68);text-decoration:none;color:inherit}.country-index-card-v38>img,.country-index-flag-v38{width:72px;height:48px;object-fit:contain;padding:2px;box-sizing:border-box;border:1px solid rgba(88,204,233,.28);display:grid;place-items:center;color:var(--cyan);font-size:22px}.country-index-card-v38 h2{margin:0;font-size:20px}.country-index-card-v38 small{display:block;margin-top:5px;color:#829eaa}.country-index-counts-v38{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.country-index-counts-v38 span{font-size:11px;color:#87a7b4}.country-index-counts-v38 b{color:#dceef4}.country-index-card-v38>i{font-style:normal;color:var(--cyan);font-size:20px}.country-index-card-v38:hover{border-color:rgba(85,225,255,.58);transform:translateY(-1px)}
@media(max-width:1180px){.country-stats-v38{grid-template-columns:repeat(3,minmax(0,1fr))}.country-profile-grid-v38{grid-template-columns:1fr}.country-profile-side-v38{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.country-index-grid-v38{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.country-hero-v38{padding:24px 18px}.country-stats-v38{grid-template-columns:repeat(2,minmax(0,1fr))}.country-weapon-grid-v38,.country-family-grid-v38,.country-profile-side-v38,.country-index-grid-v38{grid-template-columns:1fr}.country-section-head-v38{align-items:flex-start;flex-direction:column}.country-weapon-card-v38{grid-template-columns:120px minmax(0,1fr)}.country-weapon-card-v38 .thumb{width:120px}.country-timeline-v38>a{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:520px){.country-identity-v38{align-items:flex-start}.country-identity-v38 img,.country-flag-placeholder-v38{width:72px;height:48px}.country-stats-v38{grid-template-columns:1fr 1fr}.country-weapon-card-v38{grid-template-columns:1fr}.country-weapon-card-v38 .thumb{width:100%;height:180px;min-height:180px;border-right:0;border-bottom:1px solid rgba(65,183,219,.18)}.country-timeline-v38>a{grid-template-columns:1fr;gap:4px}.country-index-card-v38{grid-template-columns:60px minmax(0,1fr) 22px}.country-index-card-v38>img,.country-index-flag-v38{width:60px;height:40px}}

/* V3.8.3 - Country flag integration: always keep the country name as text. */
.country-name-with-flag-v383{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  vertical-align:middle;
  color:inherit;
  text-decoration:none;
}
.country-name-with-flag-v383:hover{color:var(--cyan)}
.country-flag-inline-v383{
  display:inline-block;
  flex:0 0 auto;
  object-fit:contain;
  box-sizing:border-box;
  padding:1px;
  border:1px solid rgba(91,214,242,.35);
  border-radius:2px;
  background:rgba(4,16,25,.82);
  vertical-align:middle;
}
.country-flag-inline-v383.xs{width:20px;height:14px}
.country-flag-inline-v383.sm{width:26px;height:18px}
.country-flag-inline-v383.md{width:34px;height:22px}
.country-list-with-flags-v383{
  display:flex;
  flex-wrap:wrap;
  gap:7px 10px;
  align-items:center;
}
.country-list-with-flags-v383 .country-name-with-flag-v383{
  padding:3px 7px 3px 4px;
  border:1px solid rgba(62,184,218,.18);
  background:rgba(5,22,31,.45);
  border-radius:4px;
}
.country-chip-list-v383{display:inline-flex!important;flex-wrap:wrap;gap:6px!important;vertical-align:middle}
.country-chip-v383{display:inline-flex!important;align-items:center;gap:6px}
.compare-country-line-v383{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px}
.compare-table-v35 td .country-name-with-flag-v383{justify-content:flex-start}
.kg-country-flag-frame-v383{fill:#06131d;stroke:rgba(104,226,255,.46);stroke-width:1}
.kg-country-flag-v383{pointer-events:none}
@media(max-width:720px){
  .country-flag-inline-v383.sm{width:24px;height:16px}
  .country-list-with-flags-v383{gap:6px}
}

/* V3.8.6 - Arsenal Hub: one public menu entry, two warehouse branches. */
.arsenal-hub-v386{padding-top:34px;padding-bottom:56px}
.arsenal-hub-hero-v386{text-align:center;max-width:900px;margin:0 auto 28px}
.arsenal-hub-hero-v386 h1{font-size:clamp(38px,5vw,64px);margin:6px 0 10px;letter-spacing:.025em}
.arsenal-hub-hero-v386 p{margin:0 auto;max-width:820px;color:#90afbb;font-size:15px;line-height:1.75}
.arsenal-choice-grid-v386{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1180px;margin:0 auto}
.arsenal-choice-card-v386{position:relative;display:flex;flex-direction:column;min-height:390px;padding:30px;border:1px solid rgba(62,188,222,.28);background:linear-gradient(145deg,rgba(7,26,37,.96),rgba(3,14,22,.96));text-decoration:none;color:inherit;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.arsenal-choice-card-v386:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(38,141,171,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(38,141,171,.055) 1px,transparent 1px);background-size:31px 31px;pointer-events:none}
.arsenal-choice-card-v386:after{content:"";position:absolute;right:-110px;top:-110px;width:290px;height:290px;border:1px solid rgba(71,205,237,.14);border-radius:50%;box-shadow:0 0 0 40px rgba(71,205,237,.025),0 0 0 80px rgba(71,205,237,.018);pointer-events:none}
.arsenal-choice-card-v386>*{position:relative;z-index:1}
.arsenal-choice-card-v386:hover{transform:translateY(-3px);border-color:rgba(79,230,255,.7);box-shadow:0 18px 46px rgba(0,0,0,.2)}
.arsenal-choice-card-v386.ancient{border-color:rgba(211,170,91,.28);background:linear-gradient(145deg,rgba(28,23,16,.9),rgba(5,15,21,.97))}
.arsenal-choice-card-v386.ancient:before{background-image:linear-gradient(rgba(202,157,73,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(202,157,73,.045) 1px,transparent 1px)}
.arsenal-choice-card-v386.ancient:hover{border-color:rgba(229,188,102,.68)}
.arsenal-choice-code-v386{font-size:10px;font-weight:900;letter-spacing:.14em;color:#67eafa;text-transform:uppercase}
.arsenal-choice-card-v386.ancient .arsenal-choice-code-v386{color:#d5ad69}
.arsenal-choice-icon-v386{display:grid;place-items:center;width:70px;height:70px;margin:28px 0 24px;border:1px solid rgba(73,217,246,.48);font-size:33px;color:#70effa;background:rgba(5,19,29,.72)}
.arsenal-choice-card-v386.ancient .arsenal-choice-icon-v386{border-color:rgba(218,176,91,.42);color:#d9b26d}
.arsenal-choice-card-v386 h2{margin:0;font-size:clamp(27px,3vw,38px);line-height:1.05;color:#fff}
.arsenal-choice-card-v386 p{margin:16px 0 22px;max-width:620px;color:#9ab4be;line-height:1.7;font-size:14px}
.arsenal-choice-stats-v386{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(76,175,204,.14)}
.arsenal-choice-stats-v386 span{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(77,178,207,.18);background:rgba(4,16,24,.5);font-size:10px;color:#87aebd;text-transform:uppercase;letter-spacing:.05em}
.arsenal-choice-stats-v386 b{font-size:12px;color:#e7fbff}
.arsenal-choice-card-v386.ancient .arsenal-choice-stats-v386 span{border-color:rgba(196,156,80,.18)}
.arsenal-choice-stats-v386 .pending{color:#deb875;border-color:rgba(218,174,87,.34)!important}
.arsenal-choice-action-v386{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:16px;border-top:1px solid rgba(76,175,204,.14);font-size:11px;font-weight:900;letter-spacing:.06em;color:#69ecf7}
.arsenal-choice-card-v386.ancient .arsenal-choice-action-v386{color:#d8b26e;border-top-color:rgba(196,156,80,.16)}
.arsenal-choice-action-v386 span{font-size:20px}
.arsenal-search-note-v386{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1180px;margin:18px auto 0;padding:17px 20px;border:1px solid rgba(58,169,199,.2);background:rgba(5,18,27,.72)}
.arsenal-search-note-v386>div{display:flex;align-items:center;gap:14px;min-width:0}.arsenal-search-note-v386 strong{flex:0 0 auto;color:#6cecf7;font-size:11px;letter-spacing:.08em}.arsenal-search-note-v386 span{color:#86a7b4;font-size:12px;line-height:1.55}.arsenal-search-note-v386>a{flex:0 0 auto;color:#74eef8;text-decoration:none;font-size:11px;font-weight:900}
.arsenal-search-note-v386>a:hover{text-decoration:underline}
.ancient-placeholder-v386{padding-top:26px;padding-bottom:56px}
.ancient-placeholder-panel-v386{position:relative;overflow:hidden;margin:18px auto 0;max-width:980px;padding:44px;border:1px solid rgba(207,165,83,.28);background:linear-gradient(145deg,rgba(29,23,15,.86),rgba(5,17,25,.96))}
.ancient-placeholder-panel-v386:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(197,151,68,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(197,151,68,.04) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}
.ancient-placeholder-panel-v386>*{position:relative;z-index:1}.ancient-placeholder-panel-v386 h1{margin:7px 0 12px;font-size:clamp(38px,5vw,62px)}.ancient-placeholder-panel-v386>p{max-width:820px;color:#a8b6bb;line-height:1.78;font-size:15px}
.ancient-category-preview-v386{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.ancient-category-preview-v386 span{padding:8px 10px;border:1px solid rgba(208,166,85,.25);background:rgba(34,26,15,.46);color:#d6b16c;font-size:10px;font-weight:900;letter-spacing:.07em}
.ancient-placeholder-actions-v386{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
@media(max-width:900px){.arsenal-choice-grid-v386{grid-template-columns:1fr}.arsenal-choice-card-v386{min-height:340px}.arsenal-search-note-v386{align-items:flex-start;flex-direction:column}.arsenal-search-note-v386>div{align-items:flex-start;flex-direction:column;gap:7px}}
@media(max-width:560px){.arsenal-hub-v386{padding-top:22px}.arsenal-choice-card-v386{padding:22px;min-height:320px}.arsenal-choice-icon-v386{margin:20px 0;width:58px;height:58px}.arsenal-search-note-v386{padding:15px}.ancient-placeholder-panel-v386{padding:26px 20px}}


/* V3.8.7 - Arsenal Hub representative images */
.arsenal-choice-thumb-v387{
  width:148px;
  height:108px;
  margin:24px 0 22px;
  padding:4px;
  overflow:hidden;
  background:rgba(3,14,22,.82);
  border:1px solid rgba(73,217,246,.52);
}
.arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387{border-color:rgba(218,176,91,.5);background:rgba(25,19,12,.82)}
.arsenal-choice-thumb-v387 img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0}
.arsenal-choice-card-v386:hover .arsenal-choice-thumb-v387 img{transform:scale(1.025);transition:transform .25s ease}
@media(max-width:560px){.arsenal-choice-thumb-v387{width:126px;height:92px;margin:18px 0}}

/* V3.8.8 - Crop exterior stone border and fit arsenal artwork cleanly */
.arsenal-choice-thumb-v387{
  width:148px;
  height:148px;
  margin:18px 0 18px;
  padding:0;
  overflow:hidden;
  background:transparent;
  border:0;
  box-shadow:none;
}
.arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387{
  border:0;
  background:transparent;
}
.arsenal-choice-thumb-v387 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
}
@media(max-width:560px){
  .arsenal-choice-thumb-v387{
    width:126px;
    height:126px;
    margin:16px 0;
  }
}

/* V3.8.12 - Ancient arsenal portrait: polished gold frame */
.arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387{
  position:relative;
  width:148px;
  height:148px;
  padding:4px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid rgba(255,218,142,.92);
  background:linear-gradient(135deg,#6b4318 0%,#e3ad54 17%,#fff0b2 34%,#946020 51%,#f0c875 69%,#7d4d18 84%,#f8dda0 100%);
  background-size:220% 220%;
  box-shadow:
    0 0 0 1px rgba(113,70,19,.9),
    0 0 14px rgba(221,166,72,.34),
    0 0 28px rgba(166,102,25,.12),
    inset 0 0 0 1px rgba(255,245,206,.42);
  animation:arsenal-gold-shimmer-v3812 7s ease-in-out infinite;
}
.arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387:after{
  content:"";
  position:absolute;
  inset:2px;
  z-index:2;
  pointer-events:none;
  border:1px solid rgba(255,236,184,.36);
  box-shadow:inset 0 0 12px rgba(255,208,112,.12);
}
.arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387 img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
}
@keyframes arsenal-gold-shimmer-v3812{
  0%,100%{background-position:0% 50%;box-shadow:0 0 0 1px rgba(113,70,19,.9),0 0 12px rgba(221,166,72,.28),0 0 24px rgba(166,102,25,.1),inset 0 0 0 1px rgba(255,245,206,.38)}
  50%{background-position:100% 50%;box-shadow:0 0 0 1px rgba(113,70,19,.9),0 0 18px rgba(244,193,91,.44),0 0 32px rgba(184,117,29,.16),inset 0 0 0 1px rgba(255,248,215,.58)}
}
@media(max-width:560px){
  .arsenal-choice-card-v386.ancient .arsenal-choice-thumb-v387{width:126px;height:126px;padding:3px}
}

/* =========================================================
   V3.11 KHO VU KHI CO / ANCIENT ARSENAL
   Warm bronze/gold visual language, while preserving V3 cyan shell.
   ========================================================= */
.ancient-archive-v311,.ancient-detail-v311,.ancient-graph-page-v311{--a11-gold:#e7b95b;--a11-gold2:#ffdc8a;--a11-bronze:#8a5b23;--a11-line:rgba(218,166,74,.34);--a11-bg:#100e09;--a11-panel:#15120c}
.ancient-archive-v311 .eyebrow,.ancient-detail-v311 .eyebrow,.ancient-graph-page-v311 .eyebrow{color:var(--a11-gold)}
.ancient-filter-v311{border-color:var(--a11-line)!important;background:linear-gradient(180deg,rgba(38,28,13,.42),rgba(8,18,24,.94))!important}.ancient-filter-v311 summary{color:#ffd787}.ancient-filter-v311 input:focus,.ancient-filter-v311 select:focus{border-color:#c99038!important;box-shadow:0 0 0 2px rgba(231,185,91,.09)!important}
.ancient-card-grid-v311{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.ancient-card-v311{min-width:0;display:flex;flex-direction:column;border:1px solid var(--a11-line);background:linear-gradient(155deg,rgba(31,24,13,.88),rgba(5,17,24,.98) 52%);color:inherit;text-decoration:none;overflow:hidden;position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.ancient-card-v311:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 58%,rgba(234,185,84,.055) 73%,transparent 88%)}.ancient-card-v311:hover{transform:translateY(-2px);border-color:#d6a647;box-shadow:0 10px 34px rgba(0,0,0,.26),0 0 0 1px rgba(225,178,78,.07) inset}.ancient-card-image-v311{height:210px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(182,125,38,.13),rgba(4,15,21,.96) 63%);border-bottom:1px solid rgba(218,166,74,.2)}.ancient-card-image-v311 img{display:block;width:100%;height:100%;object-fit:contain;padding:7px;box-sizing:border-box}.ancient-card-image-v311.empty{color:#d6a648;font-size:50px;text-shadow:0 0 24px rgba(231,185,91,.2)}.ancient-card-body-v311{display:flex;flex:1;flex-direction:column;min-width:0;padding:14px 15px 15px}.ancient-card-top-v311{display:flex;align-items:center;justify-content:space-between;gap:10px}.ancient-card-top-v311 span{padding:4px 7px;border:1px solid rgba(222,170,73,.34);color:#ffc968;background:rgba(135,87,21,.09);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ancient-card-top-v311 small{color:#b49b70;font-size:10px;text-align:right}.ancient-card-v311 h2{margin:9px 0 5px;font-size:21px;line-height:1.2;color:#fff}.ancient-card-v311 p{margin:0;color:#91a6ad;line-height:1.55;font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ancient-card-context-v311{margin-top:10px;color:#d1b06e;font-size:10px;min-height:15px}.ancient-card-v311 .card-detail{margin-top:auto;padding-top:14px;border-top:1px solid rgba(218,166,74,.14);color:#f0c56f;font-size:10px;font-weight:900;display:flex;justify-content:space-between;gap:10px}

.ancient-detail-hero-v311{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr);gap:26px;align-items:stretch;margin:10px 0 20px}.ancient-detail-cover-v311{min-height:430px;display:grid;place-items:center;border:1px solid var(--a11-line);background:radial-gradient(circle at 50% 42%,rgba(191,132,42,.16),rgba(4,15,21,.98) 64%);overflow:hidden;position:relative}.ancient-detail-cover-v311:after{content:"";position:absolute;inset:9px;border:1px solid rgba(230,183,86,.12);pointer-events:none}.ancient-detail-cover-v311 img{width:100%;height:100%;max-height:560px;object-fit:contain;padding:12px;box-sizing:border-box}.ancient-cover-placeholder-v311{font-size:82px;color:#d7a84b;text-shadow:0 0 32px rgba(222,174,79,.22)}.ancient-detail-copy-v311{border:1px solid var(--a11-line);background:linear-gradient(145deg,rgba(34,26,14,.7),rgba(5,18,25,.94));padding:28px;display:flex;flex-direction:column;justify-content:center}.ancient-detail-copy-v311 h1{font-size:46px;line-height:1.05;margin:7px 0 7px}.ancient-alt-name-v311{color:#c9b28a;font-size:15px;margin-bottom:15px}.ancient-detail-copy-v311>p{color:#94adb5;font-size:13px;line-height:1.75;max-width:900px}.ancient-meta-grid-v311{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:19px 0}.ancient-meta-grid-v311>div{padding:10px 11px;border:1px solid rgba(216,166,75,.21);background:rgba(8,18,22,.46)}.ancient-meta-grid-v311 small{display:block;color:#a58b5d;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.ancient-meta-grid-v311 b,.ancient-meta-grid-v311 a{color:#f4f4ea;font-size:12px;text-decoration:none}.ancient-meta-grid-v311 a:hover{color:#ffd06e}.ancient-detail-actions-v311{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ancient-detail-v311 .btn-primary,.ancient-graph-page-v311 .btn-primary{border-color:#c48b2d;background:rgba(133,82,17,.25);color:#ffd47d}.ancient-detail-v311 .btn-primary:hover,.ancient-graph-page-v311 .btn-primary:hover{background:rgba(170,111,29,.3)}
.ancient-detail-layout-v311{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(280px,.68fr);gap:18px;align-items:start}.ancient-detail-main-v311,.ancient-detail-side-v311{display:grid;gap:14px}.ancient-copy-panel-v311{border-color:rgba(215,164,72,.25)!important}.ancient-copy-panel-v311 .content{color:#a8bbc1;line-height:1.75}.ancient-copy-panel-v311 .content h2,.ancient-copy-panel-v311 .content h3{color:#f8f5e9}.ancient-facts-v311{display:grid;gap:0}.ancient-facts-v311>div{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr);gap:12px;padding:10px 0;border-bottom:1px solid rgba(217,167,76,.13)}.ancient-facts-v311>div:last-child{border-bottom:0}.ancient-facts-v311 dt{color:#8e9fa5;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.ancient-facts-v311 dd{margin:0;color:#eef3ef;font-size:12px;text-align:right}.ancient-chip-list-v311{display:flex;flex-wrap:wrap;gap:7px}.ancient-chip-list-v311 a,.ancient-chip-list-v311 span{padding:6px 9px;border:1px solid rgba(220,170,75,.28);background:rgba(117,73,17,.09);color:#dcb56d;text-decoration:none;font-size:10px}.ancient-chip-list-v311 a.primary{border-color:#e8b752;color:#ffe0a0;background:rgba(155,97,20,.2);box-shadow:0 0 14px rgba(225,172,73,.07)}.ancient-chip-list-v311 a:hover{border-color:#e7b95b}.ancient-edge-list-v311{display:grid;gap:7px;margin-bottom:10px}.ancient-edge-list-v311 a{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(215,164,72,.18);background:rgba(7,19,24,.58);text-decoration:none}.ancient-edge-list-v311 a:hover{border-color:#b98231}.ancient-edge-list-v311 small{color:#a7864c;font-size:9px;text-transform:uppercase}.ancient-edge-list-v311 b{color:#eef7f5;font-size:12px}.ancient-gallery-public-v311{margin-top:18px}.ancient-gallery-grid-v311{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ancient-gallery-grid-v311 a{display:block;height:200px;border:1px solid rgba(215,164,72,.24);background:#06131a;overflow:hidden}.ancient-gallery-grid-v311 img{width:100%;height:100%;display:block;object-fit:contain}.ancient-gallery-grid-v311 a:hover{border-color:#dca84a}

.ancient-graph-head-v311{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.ancient-graph-head-v311 h1{margin:3px 0 5px;font-size:38px}.ancient-graph-head-v311 p{margin:0;color:#91aab2}.ancient-graph-count-v311{padding:9px 12px;border:1px solid rgba(220,168,74,.3);color:#d9af62;background:rgba(126,78,16,.1);font-size:11px;white-space:nowrap}.ancient-graph-shell-v311{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,2fr);gap:14px;padding:15px;border:1px solid var(--a11-line);background:linear-gradient(145deg,rgba(37,28,14,.38),rgba(3,15,22,.97));min-height:430px}.ancient-graph-root-v311{display:grid;align-content:center;justify-items:center;text-align:center;padding:30px 20px;border:1px solid #dbab4e;background:radial-gradient(circle at 50% 42%,rgba(210,151,52,.18),rgba(9,19,23,.85) 62%);position:relative}.ancient-graph-root-v311:before,.ancient-graph-root-v311:after{content:"";position:absolute;inset:9px;border:1px solid rgba(235,192,103,.12)}.ancient-graph-root-v311:after{inset:17px;border-color:rgba(235,192,103,.06)}.ancient-graph-root-v311 span{z-index:1;color:#d5ac5f;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.ancient-graph-root-v311 strong{z-index:1;margin-top:7px;color:#fff7e4;font-size:25px}.ancient-graph-root-v311 small{z-index:1;color:#aa9672;margin-top:6px}.ancient-graph-connections-v311{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px}.ancient-graph-node-v311{min-height:102px;display:grid;align-content:center;gap:5px;padding:13px 14px;border:1px solid rgba(216,165,72,.27);background:#071820;text-decoration:none;position:relative;overflow:hidden}.ancient-graph-node-v311:after{content:"";position:absolute;right:-40px;bottom:-65px;width:130px;height:130px;border:1px solid rgba(226,179,84,.08);border-radius:50%}.ancient-graph-node-v311:hover{border-color:#d6a547;background:#0a1c22}.ancient-graph-node-v311 span{color:#b18b4b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.ancient-graph-node-v311 strong{color:#edf6f3;font-size:15px;position:relative;z-index:1}.ancient-graph-node-v311 small{color:#668f9b;font-size:9px;position:relative;z-index:1}.ancient-graph-node-v311.type-country{border-left:3px solid #39bd94}.ancient-graph-node-v311.type-civilization{border-left:3px solid #dca94b}.ancient-graph-node-v311.type-historical_period{border-left:3px solid #d07171}.ancient-graph-node-v311.type-ancient_material{border-left:3px solid #b89ae6}.ancient-graph-empty-v311{grid-column:1/-1;display:grid;place-items:center;min-height:190px;border:1px dashed rgba(217,166,74,.23);color:#9d927d;text-align:center;padding:20px}
.search-result-card-v36.type-ancient_weapon{border-left:2px solid #d5a64d;background:linear-gradient(90deg,rgba(87,55,16,.08),#071722 18%)}.search-result-card-v36.type-ancient_weapon .search-result-type-v36{color:#e4b85d}.search-result-card-v36.type-ancient_weapon .search-result-visual-v36 span{border-color:#9f712a;color:#f0c86f;background:#161109}.ancient-country-grid-v311 .country-weapon-card-v38{border-color:rgba(218,168,76,.22)}

@media(max-width:1100px){.ancient-card-grid-v311{grid-template-columns:repeat(2,minmax(0,1fr))}.ancient-detail-hero-v311{grid-template-columns:1fr 1.25fr}.ancient-detail-layout-v311{grid-template-columns:1fr}.ancient-detail-side-v311{grid-template-columns:repeat(2,minmax(0,1fr))}.ancient-graph-shell-v311{grid-template-columns:1fr}.ancient-graph-root-v311{min-height:200px}}
@media(max-width:760px){.ancient-card-grid-v311{grid-template-columns:1fr}.ancient-card-image-v311{height:190px}.ancient-detail-hero-v311{grid-template-columns:1fr}.ancient-detail-cover-v311{min-height:300px}.ancient-detail-copy-v311{padding:20px}.ancient-detail-copy-v311 h1{font-size:35px}.ancient-meta-grid-v311{grid-template-columns:1fr}.ancient-detail-side-v311{grid-template-columns:1fr}.ancient-gallery-grid-v311{grid-template-columns:repeat(2,minmax(0,1fr))}.ancient-gallery-grid-v311 a{height:160px}.ancient-graph-head-v311{align-items:flex-start;flex-direction:column}.ancient-graph-connections-v311{grid-template-columns:1fr}}
@media(max-width:470px){.ancient-gallery-grid-v311{grid-template-columns:1fr}.ancient-gallery-grid-v311 a{height:210px}}
/* V3.11 minor alignment fixes */
.ancient-meta-grid-v311>div>span{display:block;color:#a58b5d;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.ancient-meta-grid-v311>div>b{display:block}
.ancient-copy-panel-v311 .prose{color:#a8bbc1;line-height:1.78}.ancient-copy-panel-v311 .prose h2,.ancient-copy-panel-v311 .prose h3,.ancient-copy-panel-v311 .prose strong{color:#f5f4e9}
.ancient-gallery-grid-v311 figure{margin:0;border:1px solid rgba(215,164,72,.24);background:#06131a;overflow:hidden}.ancient-gallery-grid-v311 figure:hover{border-color:#dca84a}.ancient-gallery-grid-v311 figure img{width:100%;height:200px;display:block;object-fit:contain}.ancient-gallery-grid-v311 figcaption{padding:8px 10px;border-top:1px solid rgba(215,164,72,.16);color:#a99b7d;font-size:10px;line-height:1.45}
@media(max-width:760px){.ancient-gallery-grid-v311 figure img{height:160px}}@media(max-width:470px){.ancient-gallery-grid-v311 figure img{height:210px}}

/* V3.11.3 - Ancient public profile parity with modern weapon profile */
.ancient-detail-v3113{--a11-gold:#e7b95b;--a11-gold2:#ffdc8a;--a11-line:rgba(218,166,74,.34)}
.ancient-profile-hero-v3113 .eyebrow{color:var(--a11-gold)!important}
.ancient-profile-hero-v3113 h1{color:#fffaf0;text-shadow:0 0 24px rgba(226,176,73,.08)}
.ancient-profile-alt-v3113{margin:8px auto 0;color:#d8bf92;font-size:14px;line-height:1.55}
.ancient-profile-actions-v3113{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:15px}
.ancient-profile-actions-v3113 .weapon-compare-link-v24{margin-top:0;border-color:#b88431;background:rgba(128,77,16,.18);color:#ffd77c}
.ancient-profile-actions-v3113 .weapon-compare-link-v24:hover{background:rgba(167,105,25,.28);box-shadow:0 0 18px rgba(226,177,76,.1)}
.ancient-action-secondary-v3113{border-color:rgba(223,177,83,.45)!important;background:rgba(91,64,25,.08)!important;color:#d8c08e!important}
.ancient-gallery-modern-v3113{border-color:var(--a11-line);background:linear-gradient(180deg,rgba(29,23,13,.92),rgba(8,15,18,.98));box-shadow:0 0 28px rgba(209,152,54,.05)}
.ancient-gallery-modern-v3113 .gallery-public-main-v23{border-color:rgba(223,174,77,.27);background:#0b1215}
.ancient-gallery-modern-v3113 .gallery-public-main-v23>img{background:#0b1215}
.ancient-gallery-modern-v3113 .gallery-public-caption-v23{color:#fff3d1;background:linear-gradient(180deg,transparent,rgba(18,12,5,.94))}
.ancient-gallery-modern-v3113 .gallery-public-thumb-v23{border-color:rgba(188,139,54,.35);background:#0b1215}
.ancient-gallery-modern-v3113 .gallery-public-thumb-v23:hover,.ancient-gallery-modern-v3113 .gallery-public-thumb-v23.active{border-color:#e7b95b;box-shadow:0 0 15px rgba(231,185,91,.15)}
.ancient-gallery-modern-v3113 .gallery-public-nav-v231{border-color:rgba(231,185,91,.5);color:#ffe09a;background:rgba(36,25,8,.82)}
.ancient-profile-layout-v3113{align-items:start}
.ancient-profile-reader-panel-v3113,.ancient-profile-info-panel-v3113{border-color:rgba(215,164,72,.28)}
.ancient-reader-v3113 h2{color:#fff4d8;border-bottom:1px solid rgba(218,166,74,.18);padding-bottom:9px}
.ancient-reader-v3113 .rich-content{color:#b5c5c7}
.ancient-reader-v3113 .rich-content h2,.ancient-reader-v3113 .rich-content h3,.ancient-reader-v3113 .rich-content strong{color:#fff4d8}
.ancient-profile-info-panel-v3113 h3{color:#fff4d8}
.ancient-data-links-v3113>div{border-bottom-color:rgba(218,166,74,.12)}
.ancient-data-links-v3113 a{color:#e8bf70}
.ancient-data-links-v3113 a:hover{color:#ffe29a}
.ancient-chip-list-v3113 a{border-color:rgba(220,170,75,.32)!important;background:rgba(117,73,17,.1)!important;color:#dcb56d!important}
.ancient-chip-list-v3113 a.primary{border-color:#e8b752!important;color:#ffe0a0!important;background:rgba(155,97,20,.22)!important;box-shadow:0 0 14px rgba(225,172,73,.07)}
.ancient-spec-list-v3113>div{border-color:rgba(218,166,74,.2);background:rgba(79,52,15,.08)}
.ancient-spec-list-v3113 small{color:#a58b5d}.ancient-spec-list-v3113 strong{color:#fff4d8}
.ancient-relations-public-v3113{margin-top:26px;padding-top:4px}
.ancient-relation-link-v3113{border-color:rgba(220,170,75,.38)!important;color:#e6bb69!important}
.ancient-relation-card-v3113{border-color:rgba(216,166,75,.2)!important;background:rgba(75,49,14,.08)!important}
.ancient-relation-card-v3113:hover{border-color:#d6a347!important}
.ancient-relation-card-v3113 span{color:#c59a50!important}
.ancient-profile-noimage-v3113{width:min(920px,100%);height:260px;margin:10px auto 24px;display:grid;place-items:center;border:1px solid var(--a11-line);background:radial-gradient(circle,rgba(153,99,24,.16),rgba(6,17,22,.95) 66%);color:#d7a84b;font-size:74px}
@media(max-width:700px){.ancient-profile-actions-v3113{align-items:stretch}.ancient-profile-actions-v3113 .weapon-compare-link-v24{width:100%}.ancient-profile-alt-v3113{font-size:12px}}


/* V3.11.4 - Ancient graph UX: Vietnamese relation counter, gold accents, no vertical gallery jump */
.ancient-graph-page-v311 .ancient-graph-head-v311 h1,
.ancient-graph-page-v311 .ancient-graph-root-v311 strong{color:#ffe2a3}
.ancient-graph-page-v311 .ancient-graph-count-v311{display:flex;align-items:baseline;gap:6px;border-color:rgba(231,185,91,.42);background:rgba(126,78,16,.12);box-shadow:inset 0 0 12px rgba(231,185,91,.035);cursor:default}
.ancient-graph-page-v311 .ancient-graph-count-v311 b{color:#ffe09a;font-size:16px;line-height:1}
.ancient-graph-page-v311 .ancient-graph-count-v311 span{color:#d6a84f;font-size:9px;font-weight:900;letter-spacing:.08em}
.ancient-graph-page-v311 .ancient-graph-node-v311 span{color:#d7a951}
.ancient-graph-page-v311 .ancient-graph-node-v311 strong{color:#ffe5ad}
.ancient-graph-page-v311 .ancient-graph-node-v311 small{color:#b79a61}
.ancient-graph-page-v311 .ancient-graph-node-v311:hover strong{color:#fff1cb}
.ancient-graph-page-v311 .ancient-detail-actions-v311 a{color:#f0c56f;border-color:rgba(220,170,75,.32)}
.ancient-detail-v3113 .ancient-relations-public-v3113 h2,
.ancient-detail-v3113 .weapon-relations-head-actions>span,
.ancient-detail-v3113 .ancient-relation-card-v3113 strong,
.ancient-detail-v3113 .ancient-relation-card-v3113 span,
.ancient-detail-v3113 .ancient-relation-link-v3113{color:#eac06e!important}
.ancient-detail-v3113 .ancient-relation-card-v3113:hover strong{color:#ffe6aa!important}
.ancient-detail-v3113 .research-public-v33 a,
.ancient-detail-v3113 .source-public-v33 a{color:#e8bd69!important}
.ancient-graph-node-v311.is-static,.ancient-relation-card-v3113.is-static{cursor:default}
.ancient-graph-node-v311.is-static:hover{background:#071820;border-color:rgba(216,165,72,.27)}

/* V3.11.5 - Ancient profile full gold/bronze theme parity.
   Keep cyan theme globally, but eliminate cyan accents inside historical weapon profiles. */
.ancient-detail-v3113{
  --cyan:#e7b95b;
  --cyan-2:#ffdc8a;
  --a11-gold:#e7b95b;
  --a11-gold2:#ffdc8a;
  --a11-line:rgba(218,166,74,.34);
}

/* Sidebar / information links + country flags */
.ancient-detail-v3113 .weapon-data-links-v29>div{
  border-bottom-color:rgba(218,166,74,.16);
  color:#c7bdab;
}
.ancient-detail-v3113 .weapon-data-links-v29 b{color:#fff1d1}
.ancient-detail-v3113 .weapon-data-links-v29>div>a,
.ancient-detail-v3113 .country-name-with-flag-v383,
.ancient-detail-v3113 .country-name-with-flag-v383:hover{
  color:#e8bd69!important;
}
.ancient-detail-v3113 .country-flag-inline-v383{
  border-color:rgba(231,185,91,.48);
  background:rgba(35,24,9,.82);
}

/* The small spec/data cards on the right were still inheriting neon cyan. */
.ancient-detail-v3113 .detail-spec-list>div{
  border-color:rgba(224,174,78,.55)!important;
  background:linear-gradient(135deg,rgba(36,26,11,.96),rgba(13,16,15,.98))!important;
  box-shadow:0 0 10px rgba(224,174,78,.07),inset 0 0 16px rgba(224,174,78,.025)!important;
}
.ancient-detail-v3113 .detail-spec-list>div:before{
  border-left-color:#e7b95b!important;
  border-top-color:#e7b95b!important;
  filter:drop-shadow(0 0 4px rgba(231,185,91,.35))!important;
}
.ancient-detail-v3113 .detail-spec-list>div:after{
  border-right-color:#e7b95b!important;
  border-bottom-color:#e7b95b!important;
  filter:drop-shadow(0 0 4px rgba(231,185,91,.30))!important;
}
.ancient-detail-v3113 .detail-spec-list>div:hover{
  border-color:#f0c76d!important;
  box-shadow:0 0 16px rgba(231,185,91,.11),inset 0 0 18px rgba(231,185,91,.03)!important;
}
.ancient-detail-v3113 .detail-spec-list small{color:#b18d50!important}
.ancient-detail-v3113 .detail-spec-list strong{color:#fff1cf!important}

/* Knowledge Graph cards embedded in an ancient profile. */
.ancient-detail-v3113 .weapon-relation-simple{
  border-color:rgba(220,170,75,.28)!important;
  background:linear-gradient(135deg,rgba(35,25,11,.94),rgba(12,17,17,.98))!important;
  box-shadow:inset 0 0 16px rgba(220,170,75,.025)!important;
}
.ancient-detail-v3113 .weapon-relation-simple:before{
  border-left-color:#d9a84b!important;
  border-top-color:#d9a84b!important;
}
.ancient-detail-v3113 .weapon-relation-simple strong{color:#ffe2a3!important}
.ancient-detail-v3113 .weapon-relation-simple span{color:#d9a84b!important}
.ancient-detail-v3113 .weapon-relation-simple.is-linked:hover{
  border-color:#e7b95b!important;
  box-shadow:0 0 16px rgba(231,185,91,.10),inset 0 0 16px rgba(231,185,91,.03)!important;
}
.ancient-detail-v3113 .weapon-relations-head-actions>span{color:#e4b65d!important}

/* Research Layer - remove the remaining cyan inherited from V3.3. */
.ancient-detail-v3113 .research-sources-v33{
  border-top-color:rgba(218,166,74,.24)!important;
}
.ancient-detail-v3113 .research-sources-head-v33 .eyebrow{color:#d9a84b!important}
.ancient-detail-v3113 .research-sources-head-v33 h2{color:#fff1d0!important}
.ancient-detail-v3113 .research-sources-head-v33>span{color:#d8ad58!important}
.ancient-detail-v3113 .research-citation-v33{
  border-color:rgba(218,166,74,.28)!important;
  background:linear-gradient(135deg,rgba(31,23,11,.72),rgba(8,18,20,.82))!important;
}
.ancient-detail-v3113 .research-citation-index-v33{color:#e6b75b!important}
.ancient-detail-v3113 .research-citation-title-v33{color:#fff0cf!important}
.ancient-detail-v3113 .research-citation-meta-v33{color:#bcae92!important}
.ancient-detail-v3113 .research-citation-tags-v33 span{
  border-color:rgba(224,174,78,.34)!important;
  color:#d9ae5a!important;
  background:rgba(91,59,15,.12)!important;
}
.ancient-detail-v3113 .research-citation-v33 blockquote{
  border-left-color:#e1ad4e!important;
  background:rgba(211,158,61,.06)!important;
  color:#e7d8b9!important;
}
.ancient-detail-v3113 .research-citation-note-v33{color:#c8b99a!important}
.ancient-detail-v3113 .research-citation-links-v33 a,
.ancient-detail-v3113 .research-sources-v33 a{
  color:#e8bd69!important;
}
.ancient-detail-v3113 .research-citation-links-v33 a:hover,
.ancient-detail-v3113 .research-sources-v33 a:hover{color:#ffe09a!important}

/* Keep generic body copy readable while historical accents stay gold. */
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content a{color:#e8bd69!important}

/* === V3.12 TIMELINE LICH SU MO RONG === */
.timeline-page-v312{--hist:#d9a53a;--hist-soft:#f1c76a;--hist-bg:rgba(150,98,18,.10)}
.timeline-hero-v312{border-bottom-color:rgba(217,165,58,.28)}
.timeline-kpis-v312>div:nth-child(2){border-color:rgba(217,165,58,.32);background:linear-gradient(180deg,rgba(217,165,58,.08),rgba(217,165,58,.025))}
.timeline-filter-v312{grid-template-columns:minmax(270px,1.7fr) repeat(3,minmax(150px,1fr));align-items:end}
.timeline-filter-v312 label small{display:block;margin-top:5px;color:#7899a8;font-size:10px;letter-spacing:.04em}
.timeline-era-summary-v312{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.timeline-era-summary-v312 span{font-size:11px;border:1px solid #17465a;padding:5px 9px;border-radius:999px;color:#80d9f5;background:#071923}
.timeline-era-summary-v312 span.ancient{border-color:rgba(217,165,58,.48);color:#f1c76a;background:rgba(144,93,17,.10)}
.timeline-year-block-v312.is-ancient .timeline-year-label-v20{color:#f1c76a}
.timeline-year-block-v312.is-ancient .timeline-year-dot-v20{background:#d9a53a;box-shadow:0 0 0 5px rgba(217,165,58,.10),0 0 18px rgba(217,165,58,.30)}
.timeline-event-card-v312{position:relative;overflow:hidden}
.timeline-event-card-v312.is-ancient{border-color:rgba(217,165,58,.34);background:linear-gradient(135deg,rgba(85,57,16,.14),rgba(5,23,31,.96) 46%)}
.timeline-event-card-v312.is-ancient:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#f4d27a,#8f5e14);opacity:.9}
.timeline-event-card-v312.is-ancient h3{color:#f7e2a6}
.timeline-event-card-v312.is-ancient .timeline-type,.timeline-event-card-v312.is-ancient .timeline-range-v37{border-color:rgba(217,165,58,.42);color:#f1c76a;background:rgba(144,93,17,.10)}
.timeline-arsenal-badge-v312{display:inline-flex;align-items:center;margin-left:8px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.07em;vertical-align:middle}
.timeline-arsenal-badge-v312.ancient{border:1px solid rgba(217,165,58,.45);color:#f1c76a;background:rgba(144,93,17,.12)}
.timeline-arsenal-badge-v312.modern{border:1px solid rgba(0,213,255,.28);color:#65ddff;background:rgba(0,163,212,.08)}
.timeline-chips-v312 a.is-ancient{border-color:rgba(217,165,58,.42)!important;color:#f2cf78!important;background:rgba(144,93,17,.09)!important}
.timeline-chips-v312 a.is-ancient em{color:#d9a53a!important}
.timeline-actions-v312 a.ancient{border-color:rgba(217,165,58,.42);color:#f1c76a;background:rgba(144,93,17,.08)}
.ancient-timeline-public-v312{margin-top:28px;padding-top:22px;border-top:1px solid rgba(217,165,58,.26)}
.ancient-timeline-list-v312{display:grid;gap:9px;margin-top:14px}
.ancient-timeline-list-v312 a{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;text-decoration:none;border:1px solid rgba(217,165,58,.28);background:rgba(125,80,12,.07);padding:12px 14px;border-radius:8px;color:#e6edf0}
.ancient-timeline-list-v312 a:hover{border-color:#d9a53a;background:rgba(144,93,17,.13)}
.ancient-timeline-list-v312 strong{color:#f1c76a;font-family:var(--font-display,inherit)}
.ancient-timeline-list-v312 span{font-weight:750}
.ancient-timeline-list-v312 small{color:#b98c34;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1100px){.timeline-filter-v312{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-query-v37{grid-column:1/-1}}
@media(max-width:700px){.timeline-filter-v312{grid-template-columns:1fr}.timeline-query-v37{grid-column:auto}.timeline-result-head-v37{align-items:flex-start}.timeline-era-summary-v312{margin-left:0}.ancient-timeline-list-v312 a{grid-template-columns:1fr}.timeline-arsenal-badge-v312{margin:6px 0 0 0}}

/* === V3.12.2 KNOWLEDGE GRAPH NAVIGATION BUTTONS === */
.ancient-graph-nav-v3122{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.ancient-graph-nav-btn-v3122{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border:1px solid rgba(222,171,76,.55);
  border-radius:7px;
  text-decoration:none!important;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ancient-graph-nav-btn-v3122.primary{
  color:#1b1407!important;
  border-color:#efc45f;
  background:linear-gradient(180deg,#f1c96d,#c99231);
  box-shadow:0 0 0 1px rgba(255,229,157,.13) inset,0 6px 18px rgba(147,91,16,.15);
}
.ancient-graph-nav-btn-v3122.secondary{
  color:#f5cf79!important;
  background:linear-gradient(180deg,rgba(105,67,17,.24),rgba(54,35,10,.18));
  box-shadow:0 0 0 1px rgba(238,190,94,.05) inset;
}
.ancient-graph-nav-btn-v3122:hover{
  transform:translateY(-1px);
  border-color:#ffd578;
  box-shadow:0 0 18px rgba(217,165,58,.16);
}
.ancient-graph-nav-btn-v3122.primary:hover{
  color:#100b03!important;
  background:linear-gradient(180deg,#ffe08d,#dba53e);
}
.ancient-graph-nav-btn-v3122.secondary:hover{
  color:#ffe29a!important;
  background:rgba(139,90,21,.22);
}
@media(max-width:620px){
  .ancient-graph-nav-v3122{align-items:stretch}
  .ancient-graph-nav-btn-v3122{width:100%;box-sizing:border-box}
}

/* === V3.12.3 HISTORICAL READABILITY HOTFIX ===
   Improve legibility on Vũ Khí Cổ / historical surfaces without changing the gold theme. */
.ancient-detail-v3113{
  --ancient-readable:#e8eef0;
  --ancient-readable-strong:#fff4d8;
  --ancient-readable-muted:#d1c8b6;
  --ancient-readable-label:#e2bc70;
}

/* Long-form historical profile copy */
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content,
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content p,
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content li{
  color:var(--ancient-readable)!important;
  font-size:15.5px;
  line-height:1.82;
}
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content p{margin:.82em 0}
.ancient-detail-v3113 .ancient-reader-v3113 h2,
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content h2{
  color:var(--ancient-readable-strong)!important;
  font-size:27px;
  line-height:1.25;
}
.ancient-detail-v3113 .ancient-reader-v3113 .rich-content h3{
  color:var(--ancient-readable-strong)!important;
  font-size:19px;
  line-height:1.35;
}

/* Right information rail */
.ancient-detail-v3113 .weapon-data-links-v29>div,
.ancient-detail-v3113 .detail-spec-list>div{
  font-size:12.5px;
  line-height:1.58;
}
.ancient-detail-v3113 .weapon-data-links-v29 b,
.ancient-detail-v3113 .detail-spec-list strong{
  color:#f5f0e4!important;
  font-size:12.5px;
  line-height:1.55;
}
.ancient-detail-v3113 .weapon-data-links-v29 small,
.ancient-detail-v3113 .detail-spec-list small{
  color:#d0ad68!important;
  font-size:10.5px;
  letter-spacing:.035em;
}
.ancient-detail-v3113 .ancient-chip-list-v3113 a{
  font-size:10.5px;
  font-weight:800;
}

/* Embedded historical Knowledge Graph */
.ancient-detail-v3113 .weapon-relations-head-actions>span{
  font-size:12.5px;
  color:#f0ca78!important;
}
.ancient-detail-v3113 .weapon-relation-simple strong{
  font-size:15px;
  line-height:1.3;
}
.ancient-detail-v3113 .weapon-relation-simple span{
  font-size:10.5px;
  line-height:1.35;
}

/* Research / citations */
.ancient-detail-v3113 .research-citation-title-v33{
  font-size:16px;
  line-height:1.35;
}
.ancient-detail-v3113 .research-citation-meta-v33{
  color:#d7d1c5!important;
  font-size:12.5px;
  line-height:1.55;
}
.ancient-detail-v3113 .research-citation-note-v33,
.ancient-detail-v3113 .research-citation-v33 blockquote{
  color:#ddd4c3!important;
  font-size:13px;
  line-height:1.65;
}
.ancient-detail-v3113 .research-citation-links-v33 a,
.ancient-detail-v3113 .research-sources-v33 a{
  font-size:12px;
  font-weight:800;
}

/* Dedicated historical Knowledge Graph page */
.ancient-graph-page-v311 .ancient-graph-head-v311 p{
  color:#dce6e8;
  font-size:14.5px;
  line-height:1.65;
}
.ancient-graph-page-v311 .ancient-graph-node-v311 strong{
  font-size:15.5px;
  line-height:1.35;
}
.ancient-graph-page-v311 .ancient-graph-node-v311 span{
  color:#e8bb63;
  font-size:10.5px;
  line-height:1.35;
}
.ancient-graph-page-v311 .ancient-graph-node-v311 small{
  color:#cfb987;
  font-size:10px;
  line-height:1.3;
}
.ancient-graph-page-v311 .ancient-graph-root-v311 span{
  color:#f0c66d;
  font-size:10.5px;
  line-height:1.45;
}
.ancient-graph-nav-btn-v3122{font-size:12px}

/* Historical timeline cards */
.timeline-event-card-v312.is-ancient h3{
  font-size:17px;
  line-height:1.35;
}
.timeline-event-card-v312.is-ancient>p{
  color:#dce6e8;
  font-size:13.5px;
  line-height:1.65;
}
.timeline-event-card-v312.is-ancient .timeline-related-v37>small,
.timeline-event-card-v312.is-ancient .timeline-family-v37>small{
  color:#caa756;
  font-size:10.5px;
  letter-spacing:.055em;
}
.timeline-event-card-v312.is-ancient .timeline-chips-v37 a,
.timeline-event-card-v312.is-ancient .timeline-actions-v37 a{
  font-size:10.5px;
  line-height:1.35;
}
.timeline-event-card-v312.is-ancient .timeline-research-v37 span{
  font-size:10.5px;
}
.timeline-filter-v312 label small{
  color:#9eb8c2;
  font-size:10.5px;
}

/* Related historical timeline on an ancient profile */
.ancient-timeline-list-v312 a{color:#edf1f2}
.ancient-timeline-list-v312 span{
  color:#edf1f2;
  font-size:13px;
  line-height:1.45;
}
.ancient-timeline-list-v312 small{
  color:#d3ad5e;
  font-size:10px;
}

@media(max-width:700px){
  .ancient-detail-v3113 .ancient-reader-v3113 .rich-content,
  .ancient-detail-v3113 .ancient-reader-v3113 .rich-content p,
  .ancient-detail-v3113 .ancient-reader-v3113 .rich-content li{font-size:15px;line-height:1.76}
  .ancient-detail-v3113 .ancient-reader-v3113 h2,
  .ancient-detail-v3113 .ancient-reader-v3113 .rich-content h2{font-size:24px}
  .ancient-graph-page-v311 .ancient-graph-node-v311 strong{font-size:14.5px}
}


/* === V3.12.4 YEAR + TYPOGRAPHY NORMALIZATION ===
   Historical years are rendered without thousands separators by PHP helpers.
   Keep ancient/modern timeline typography identical; color alone distinguishes eras. */
.timeline-page-v312,
.ancient-graph-page-v311,
.ancient-detail-v3113{
  font-family:Inter,Arial,sans-serif;
}
.timeline-year-label-v20{
  font-family:Inter,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:.01em!important;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
.timeline-year-block-v312.is-ancient .timeline-year-label-v20{
  font-family:Inter,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
}
.timeline-range-v37,
.timeline-event-card-v312 .timeline-type,
.timeline-era-summary-v312,
.ancient-timeline-list-v312 strong{
  font-family:Inter,Arial,sans-serif!important;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
}
.ancient-timeline-list-v312 strong{
  font-size:13px;
  font-weight:850;
}
.ancient-graph-head-v311 h1{
  font-family:Inter,Arial,sans-serif!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.ancient-graph-head-v311 p,
.ancient-graph-page-v311 .eyebrow,
.ancient-graph-count-v311{
  font-family:Inter,Arial,sans-serif!important;
}
@media(max-width:650px){
  .timeline-year-label-v20{font-size:19px!important}
}


/* V3.12.5 - Timeline related arsenal chip alignment */
.timeline-chips-v312 a.is-arsenal{
  box-sizing:border-box;
  width:190px;
  min-height:34px;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:6px 9px!important;
}
.timeline-chips-v312 a.is-arsenal em{
  display:block;
  margin:0;
  white-space:nowrap;
  line-height:1.15;
}
.timeline-chips-v312 a.is-arsenal>span{
  display:block;
  min-width:0;
  color:inherit;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.timeline-event-card-v312.is-ancient .timeline-chips-v312 a.is-arsenal>span{
  color:#ffe0a0;
}
@media(max-width:620px){
  .timeline-chips-v312 a.is-arsenal{
    width:100%;
    grid-template-columns:96px minmax(0,1fr);
  }
}

/* V3.13 Dual-Arsenal Compare */
.compare-hub-v313{padding-top:34px}.compare-hub-head-v313{margin-bottom:28px}.compare-hub-grid-v313{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1120px;margin:0 auto}.compare-hub-card-v313{display:grid;gap:14px;min-height:260px;padding:28px;border:1px solid #1a4a5d;border-radius:12px;background:#071722;text-decoration:none;position:relative;overflow:hidden}.compare-hub-card-v313:after{content:"";position:absolute;inset:auto -60px -80px auto;width:220px;height:220px;border:1px solid rgba(0,223,246,.1);border-radius:50%}.compare-hub-card-v313:hover{transform:translateY(-2px);border-color:#00cfe9}.compare-hub-kicker-v313{font-size:10px;font-weight:900;letter-spacing:.12em;color:#00dff6}.compare-hub-card-v313 h2{margin:0;font-size:30px;color:#f3fdff}.compare-hub-card-v313 p{margin:0;color:#9bc1cd;line-height:1.7;max-width:620px}.compare-hub-card-v313>div:last-child{margin-top:auto;display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:16px;border-top:1px solid #163a49;color:#9bc1cd;font-size:11px}.compare-hub-card-v313>div:last-child strong{color:#6cf3ff;letter-spacing:.04em}.compare-hub-card-v313.ancient{border-color:#6d5728;background:linear-gradient(135deg,#16140d,#0b161b)}.compare-hub-card-v313.ancient:after{border-color:rgba(224,171,62,.12)}.compare-hub-card-v313.ancient:hover{border-color:#d5a63f}.compare-hub-card-v313.ancient .compare-hub-kicker-v313,.compare-hub-card-v313.ancient>div:last-child strong{color:#e2b24c}.compare-mode-switch-v313{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}.compare-mode-switch-v313 a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid #205266;border-radius:7px;color:#8feaf3;text-decoration:none;font-size:10px;font-weight:900}.compare-mode-switch-v313 a:hover{background:rgba(0,223,246,.08)}
.compare-ancient-v313 .compare-head-v35 .eyebrow,.compare-ancient-v313 .compare-summary-type-v35,.compare-ancient-v313 .compare-section-head-v35 h2{color:#e2b24c}.compare-ancient-v313 .compare-picker-v35,.compare-ancient-v313 .compare-summary-card-v35,.compare-ancient-v313 .compare-scroll-v35{border-color:#6d5728;background:#12150f}.compare-ancient-v313 .compare-picker-v35 select{border-color:#6d5728;background:#11140f;color:#fff2cd}.compare-ancient-v313 .compare-picker-v35>label>span,.compare-ancient-v313 .compare-diff-toggle-v35{color:#c9a65a}.compare-ancient-v313 .compare-run-v35,.compare-ancient-v313 .compare-picker-actions-v35>a{border-color:#b88a2d;background:rgba(184,138,45,.08);color:#f2c967}.compare-ancient-v313 .compare-run-v35:hover,.compare-ancient-v313 .compare-picker-actions-v35>a:hover{background:rgba(184,138,45,.15)}.compare-ancient-v313 .compare-diff-toggle-v35 input{accent-color:#d9aa43}.compare-ancient-v313 .compare-summary-card-v35 .thumb{border-bottom-color:#6d5728;background:#0f130f}.compare-ancient-v313 .compare-summary-badges-v35 span{border-color:#6d5728;background:#11140f;color:#e7c778}.compare-ancient-v313 .compare-summary-actions-v35{border-top-color:#55431f}.compare-ancient-v313 .compare-summary-actions-v35 a{color:#e7bd55}.compare-ancient-v313 .compare-section-head-v35 span,.compare-ancient-v313 .compare-note-v35{color:#b69b63}.compare-ancient-v313 .compare-note-v35{border-left-color:#8b6a26}.compare-ancient-v313 .compare-table-v35 th,.compare-ancient-v313 .compare-table-v35 td{border-color:#493b21}.compare-ancient-v313 .compare-table-v35 thead th,.compare-ancient-v313 .compare-table-v35 th:first-child{background:#18170f;color:#e5c873}.compare-ancient-v313 .compare-table-v35 thead th a{color:#fff0c4}.compare-ancient-v313 .compare-table-v35 tbody td{color:#f0e6cf}.compare-ancient-v313 .compare-table-v35 tbody tr.is-different td{background:rgba(220,168,58,.035)}.compare-ancient-v313 .compare-table-v35 tbody tr:hover td,.compare-ancient-v313 .compare-table-v35 tbody tr:hover th{background:#1b1a11}.compare-ancient-v313 .compare-diff-dot-v35{color:#f0b83f}.compare-ancient-v313 .compare-mode-switch-v313 a{border-color:#725822;color:#e9bd58}.compare-ancient-v313 .compare-mode-switch-v313 a:hover{background:rgba(224,171,62,.08)}
@media(max-width:800px){.compare-hub-grid-v313{grid-template-columns:1fr}.compare-hub-card-v313{min-height:220px;padding:22px}.compare-hub-card-v313 h2{font-size:25px}}

/* ============================================================
   V3.14 - Typography + Search platform integration
   ============================================================ */
:root{
  --font-ui:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans",Arial,sans-serif;
  --font-display:"Segoe UI Variable Display","Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans",Arial,sans-serif;
}
html{font-family:var(--font-ui);font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,h4,h5,h6,.brand,.menu,.eyebrow,.section-title,.timeline-year-v37,.timeline-year-v312,.kg-node-title,.ancient-graph-root-v311 strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.005em}
.reader,.rich-content,.ancient-profile-v311,.timeline-event-card-v37,.search-result-card-v36{font-feature-settings:"kern" 1,"liga" 1}
.rich-content,.ancient-profile-v311 p,.timeline-event-card-v37 p,.search-result-card-v36 p{line-height:1.72}
.search-ancient-filter-head-v314{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:11px 13px;margin-top:2px;border:1px solid rgba(213,166,63,.30);border-radius:7px;background:linear-gradient(90deg,rgba(120,82,18,.13),rgba(8,22,32,.75));color:#e7bd62}
.search-ancient-filter-head-v314 strong{font-size:11px;letter-spacing:.10em}
.search-ancient-filter-head-v314 span{font-size:11px;color:#bcae8c}
.search-filter-v36 .ancient-filter-v314 select{border-color:rgba(213,166,63,.32)}
.search-filter-v36 .ancient-filter-v314 span{color:#d9ba73}
@media(max-width:720px){.search-ancient-filter-head-v314{align-items:flex-start;flex-direction:column;gap:3px}}


/* ============================================================
   V3.14.1 - Header navigation cleanup
   - Remove global mini search from header.
   - Give navigation the freed horizontal space.
   - Homepage hero "KHAM PHA" remains the primary search entry.
   ============================================================ */
@media (min-width:1101px){
  .top .nav{
    gap:34px;
  }
  .top .menu{
    flex:1 1 auto;
    justify-content:space-between;
    gap:16px;
    min-width:0;
  }
  .top .menu a{
    flex:0 0 auto;
    white-space:nowrap;
  }
}


/* ============================================================
   V3.14.2 - Compact desktop header navigation
   Keep the menu as one compact cluster instead of stretching it
   across all freed header space.
   ============================================================ */
@media (min-width:1101px){
  .top .nav{
    justify-content:flex-start;
    gap:24px;
  }
  .top .brand{
    flex:0 0 auto;
  }
  .top .menu{
    flex:0 1 auto;
    justify-content:flex-start;
    gap:18px;
    margin-left:18px;
    margin-right:0;
    width:auto;
  }
  .top .menu a{
    flex:0 0 auto;
    padding-left:0;
    padding-right:0;
    white-space:nowrap;
  }
}
@media (min-width:1101px) and (max-width:1320px){
  .top .nav{gap:18px}
  .top .menu{gap:14px;margin-left:8px}
  .top .menu a{font-size:12px}
}

/* ============================================================
   V3.15 - GLOBAL UI / TYPOGRAPHY / RESPONSIVE POLISH
   Visual consistency only. No routing/data-model changes.
   ============================================================ */
:root{
  --ui-font:"Segoe UI Variable Text","Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans",Arial,sans-serif;
  --display-font:"Segoe UI Variable Display","Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans",Arial,sans-serif;
  --ui-radius:8px;
  --ui-radius-lg:12px;
  --ui-control-h:40px;
  --ui-reading:#d5e7ec;
  --ui-reading-muted:#9ebbc5;
}
html{font-family:var(--ui-font);font-size:16px;scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--ui-font);font-optical-sizing:auto}
body{font-size:14px;line-height:1.55}
h1,h2,h3,h4,h5,h6,.brand,.menu,.eyebrow,.section-title,.page-title,
.timeline-year-v37,.timeline-year-v312,.kg-node-title,.ancient-graph-root-v311 strong{
  font-family:var(--display-font);
  font-weight:760;
  text-wrap:balance;
}
p,.rich-content,.reader,.meta,.hint{font-family:var(--ui-font)}
.rich-content,.reader,.ancient-profile-v311 p,.timeline-event-card-v37 p,.timeline-event-card-v312 p,.search-result-card-v36 p{
  color:var(--ui-reading);
  line-height:1.76;
}
button,.btn,input,select,textarea{font-size:13px}
input,select,textarea{min-height:var(--ui-control-h)}
button,.btn,[class*="btn-"]{min-height:36px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(0,234,255,.75);
  outline-offset:2px;
}
.ancient-profile-v311 button:focus-visible,.ancient-profile-v311 a:focus-visible,
.compare-ancient-v313 button:focus-visible,.compare-ancient-v313 a:focus-visible{
  outline-color:rgba(226,178,76,.88);
}

/* Public container rhythm */
.wrap{max-width:1440px;padding-left:24px;padding-right:24px}
.section{padding-top:38px;padding-bottom:38px}
.page-hero{padding-top:44px;padding-bottom:28px}
.page-hero h1{line-height:1.08}
.panel,.card,.article,.spec{border-radius:var(--ui-radius)}

/* Compact, stable desktop header */
@media (min-width:1101px){
  .top .nav{height:68px;gap:22px;justify-content:flex-start}
  .top .brand{min-width:232px}
  .top .menu{margin-left:2px;gap:17px;align-items:stretch}
  .top .menu a{display:flex;align-items:center;padding:23px 0 21px;font-size:12px;font-weight:720;letter-spacing:.015em;line-height:1.15}
}
@media (min-width:1101px) and (max-width:1280px){
  .top .brand{min-width:205px}
  .top .menu{gap:12px}
  .top .menu a{font-size:11px}
}

/* Consistent chips/badges */
.tag,.badge,[class*="chip"],[class*="badge"]{
  font-family:var(--ui-font);
  font-variant-numeric:tabular-nums;
}
.timeline-chips-v312 a,.timeline-event-card-v312 .badge,.compare-summary-badges-v35 span{
  min-height:28px;
  align-items:center;
}

/* Search/compare/timeline readability */
.search-filter-v36,.compare-picker-v35,.timeline-filter-v37,.timeline-filter-v312{
  border-radius:var(--ui-radius-lg);
}
.search-result-card-v36,.timeline-event-card-v37,.timeline-event-card-v312,.compare-summary-card-v35{
  border-radius:var(--ui-radius-lg);
}
.search-result-card-v36 h3,.timeline-event-card-v37 h3,.timeline-event-card-v312 h3{
  line-height:1.28;
}
.timeline-year-v37,.timeline-year-v312{
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
}

/* Ancient theme remains gold but body copy stays readable */
.ancient-profile-v311{--ancient-readable:#f1eadb;--ancient-muted:#c7b78f}
.ancient-profile-v311 .rich-content,.ancient-profile-v311 p{color:var(--ancient-readable)}
.ancient-profile-v311 small,.ancient-profile-v311 .muted{color:var(--ancient-muted)}

/* Cards and grids: equal rhythm */
.cards,.articles,.cat-grid{align-items:stretch}
.card,.article,.cat{height:100%}
.card-body{display:flex;flex-direction:column;min-height:128px}
.card-body .meta{margin-top:auto}

/* Tablet: keep useful density without cramped controls */
@media (max-width:1100px){
  .wrap{padding-left:20px;padding-right:20px}
  .top .nav{height:62px}
  .page-hero{padding-top:34px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile: avoid tiny text and horizontal compression */
@media (max-width:720px){
  html{font-size:16px}
  body{font-size:14px}
  .wrap{padding-left:14px;padding-right:14px}
  .hero h1{font-size:38px}
  .page-hero h1{font-size:31px}
  .section{padding-top:28px;padding-bottom:28px}
  .cards,.cat-grid{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr}
  .reader h2{font-size:24px}
  .rich-content,.reader,.ancient-profile-v311 p{line-height:1.72}
  input,select,textarea,button,.btn{font-size:14px}
}

/* =========================================================
   V3.16 - Gallery Lightbox + Release Candidate polish
   ========================================================= */
[data-gallery-public] [data-gallery-main]{cursor:zoom-in;outline:none}
[data-gallery-public] [data-gallery-main]:focus-visible{box-shadow:0 0 0 2px rgba(0,229,255,.75),0 0 0 5px rgba(0,229,255,.16)}
.ancient-profile-v311 [data-gallery-public] [data-gallery-main]:focus-visible{box-shadow:0 0 0 2px rgba(235,184,74,.88),0 0 0 5px rgba(235,184,74,.18)}
body.gallery-lightbox-open-v316{overflow:hidden}
.gallery-lightbox-v316[hidden]{display:none!important}
.gallery-lightbox-v316{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:24px}
.gallery-lightbox-backdrop-v316{position:absolute;inset:0;background:rgba(0,7,12,.94);backdrop-filter:blur(8px)}
.gallery-lightbox-dialog-v316{position:relative;z-index:1;width:min(94vw,1500px);height:min(92vh,980px);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;grid-template-rows:minmax(0,1fr);align-items:center}
.gallery-lightbox-figure-v316{min-width:0;min-height:0;width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.gallery-lightbox-figure-v316 img{display:block;max-width:100%;max-height:calc(92vh - 78px);width:auto;height:auto;object-fit:contain;border:1px solid rgba(70,220,242,.36);box-shadow:0 18px 70px rgba(0,0,0,.58);background:#06131a}
.gallery-lightbox-figure-v316 figcaption{max-width:min(980px,86vw);font-size:13px;line-height:1.55;color:#dbe7eb;text-align:center;padding:7px 12px;border-radius:7px;background:rgba(5,20,27,.8);border:1px solid rgba(117,189,208,.2)}
.gallery-lightbox-close-v316,.gallery-lightbox-nav-v316{appearance:none;border:1px solid rgba(61,206,235,.5);background:rgba(5,24,32,.9);color:#eafcff;display:grid;place-items:center;cursor:pointer;transition:.16s ease;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.gallery-lightbox-close-v316:hover,.gallery-lightbox-nav-v316:hover{border-color:#22dcff;background:#0a3442;transform:translateY(-1px)}
.gallery-lightbox-close-v316{position:absolute;right:0;top:0;width:46px;height:46px;border-radius:8px;font-size:31px;line-height:1;z-index:3}
.gallery-lightbox-nav-v316{width:54px;height:76px;border-radius:8px;font-size:42px;line-height:1;justify-self:center}
.gallery-lightbox-counter-v316{position:absolute;right:58px;top:7px;min-width:58px;text-align:center;padding:7px 10px;border:1px solid rgba(61,206,235,.28);border-radius:7px;background:rgba(4,18,24,.78);color:#d9f6fb;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:720px){
 .gallery-lightbox-v316{padding:10px}
 .gallery-lightbox-dialog-v316{width:100%;height:96vh;grid-template-columns:46px minmax(0,1fr) 46px}
 .gallery-lightbox-nav-v316{width:40px;height:60px;font-size:34px}
 .gallery-lightbox-close-v316{width:42px;height:42px;font-size:28px}
 .gallery-lightbox-counter-v316{right:50px;top:5px}
 .gallery-lightbox-figure-v316 img{max-height:calc(96vh - 90px)}
 .gallery-lightbox-figure-v316 figcaption{font-size:12px;max-width:80vw}
}

/* ============================================================
   V3.16.2 - FINAL TYPOGRAPHY / SET A BALANCED
   Montserrat     -> large headings / hero / weapon names
   Be Vietnam Pro -> Vietnamese reading/body copy
   Inter          -> navigation / controls / tables / UI
   Fira Code      -> API / versions / years / technical values
   ============================================================ */
:root{
  --font-heading-v3162:"Montserrat","Be Vietnam Pro","Inter",Arial,sans-serif;
  --font-body-v3162:"Be Vietnam Pro","Inter",Arial,sans-serif;
  --font-ui-v3162:"Inter","Be Vietnam Pro",Arial,sans-serif;
  --font-tech-v3162:"Fira Code","Inter",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
html{
  font-family:var(--font-body-v3162);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}
body{
  font-family:var(--font-body-v3162)!important;
  font-weight:400;
  letter-spacing:0;
}

/* Display hierarchy: use Montserrat only where visual emphasis helps. */
h1,h2,
.hero h1,.page-hero h1,
.section-head h2,.section h2,
.brand,
.compare-hub-card-v313 h2,
.compare-head-v35 h1,.compare-section-head-v35 h2,
.ancient-profile-v311 h1,.ancient-profile-v311 h2,
.article-detail h1,.weapon-detail-hero h1{
  font-family:var(--font-heading-v3162)!important;
  font-weight:700;
  font-synthesis:none;
}
.hero h1,.page-hero h1,.ancient-profile-v311 h1{font-weight:800}

/* Vietnamese prose: keep diacritics, rhythm and long-form reading consistent. */
p,.lead,.reader,.rich-content,.article-content,.article-detail,
.weapon-reader,.ancient-profile-v311,
.timeline-event-card-v37 p,.timeline-event-card-v312 p,
.search-result-card-v36 p,.compare-note-v35,
.kg-public-page p,.source-public-card p,.citation-public-card p{
  font-family:var(--font-body-v3162)!important;
  font-synthesis:none;
}
.rich-content,.reader,.article-content,.weapon-reader,.ancient-profile-v311{
  line-height:1.76;
}

/* UI language: compact, neutral and stable at small sizes. */
.menu,.nav-actions,.eyebrow,.crumb,.viewall,
button,.btn,input,select,textarea,label,
table,.table,.filters,.tag,.badge,.meta,.hint,
[class*="chip"],[class*="badge"],
.search-filter-v36,.compare-picker-v35,.timeline-filter-v37,.timeline-filter-v312,
.kg-node-type-label,.kg-public-legend,.kg-edge-label,
.compare-summary-badges-v35,.compare-summary-actions-v35,
.timeline-chips-v312,.timeline-related-v312{
  font-family:var(--font-ui-v3162)!important;
  font-synthesis:none;
}
button,.btn,.menu a,label,th{font-weight:600}

/* Knowledge Graph names need compact width more than display personality. */
.kg-node-title,.ancient-graph-root-v311 strong,
.kg-public-empty,.kg-public-stats{
  font-family:var(--font-ui-v3162)!important;
}

/* Technical/numeric information. Same font for ancient + modern years. */
code,pre,kbd,samp,
.timeline-year-v37,.timeline-year-v312,
.timeline-year-head-admin strong,
.api-version,.api-path,.version,.build-version,
.spec b,.detail-spec-list strong,
.rc316-score b,.stat strong,
[data-tech],.tech-value{
  font-family:var(--font-tech-v3162)!important;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:0;
}
.timeline-year-v37,.timeline-year-v312{font-weight:600!important}

/* Vietnamese italic/bold stays within the selected family instead of synthetic fallback. */
.rich-content strong,.reader strong,.article-content strong,.ancient-profile-v311 strong{
  font-family:inherit;
  font-weight:700;
}
.rich-content em,.reader em,.article-content em,.ancient-profile-v311 em{
  font-family:inherit;
  font-style:italic;
}

/* Mobile keeps the same hierarchy; never fall back to unrelated system fonts. */
@media(max-width:720px){
  body{font-family:var(--font-body-v3162)!important}
  button,.btn,input,select,textarea,.menu{font-family:var(--font-ui-v3162)!important}
  h1,h2,.hero h1,.page-hero h1{font-family:var(--font-heading-v3162)!important}
}

/* V3.16.3 - Compact related weapon chips + centered compare country cells */
.timeline-chips-v312 a.is-arsenal{
  width:auto!important;
  min-width:0!important;
  max-width:180px;
  min-height:30px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  grid-template-columns:none!important;
  gap:0!important;
  padding:5px 10px!important;
}
.timeline-chips-v312 a.is-arsenal>span{
  display:block;
  min-width:0;
  max-width:158px;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.timeline-event-card-v312.is-ancient .timeline-chips-v312 a.is-arsenal>span{
  color:#f4c95f;
}
@media(max-width:620px){
  .timeline-chips-v312 a.is-arsenal{
    width:auto!important;
    max-width:100%;
  }
  .timeline-chips-v312 a.is-arsenal>span{max-width:220px}
}

.compare-table-v35 td .country-list-with-flags-v383{
  width:100%;
  justify-content:center;
}
.compare-table-v35 td .country-name-with-flag-v383{
  justify-content:center;
}
/* V3.17 Binh chủng / Lực lượng */
.v317-branch-chip{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid rgba(91,220,255,.35);border-radius:999px;background:rgba(13,77,96,.26);font-family:Inter,sans-serif;font-size:.82rem;text-decoration:none}.ancient-theme-v3111 .v317-branch-chip,.ancient-profile-info-panel-v3113 .v317-branch-chip{border-color:rgba(231,188,92,.48);background:rgba(102,71,17,.25);color:#f2d98a}.branch-stats-v317{display:flex;justify-content:center;gap:10px;margin:14px 0 30px}.branch-stats-v317 span{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:600 .8rem Inter,sans-serif}.branch-page-v317 .section-head{margin-top:34px}.branch-cards-v317{margin-bottom:36px}
/* V3.18 Article Taxonomy 2.0 */
.article-filter-v318{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto auto;gap:10px;margin:22px 0 28px;padding:14px;border:1px solid var(--line);background:rgba(9,19,27,.65);border-radius:14px}.article-filter-v318 input,.article-filter-v318 select{min-width:0;border:1px solid var(--line);background:#09151c;color:var(--text);border-radius:8px;padding:10px 12px;font-family:Inter,sans-serif}.article-filter-v318 button,.article-filter-v318 a{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 14px;text-decoration:none;font:700 .8rem Inter,sans-serif}.article-filter-v318 button{border:1px solid var(--cyan);background:rgba(0,190,230,.12);color:var(--cyan)}.article-filter-v318 a{border:1px solid var(--line);color:var(--muted)}.article-related-v318{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.article-related-groups-v318{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.article-related-groups-v318>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:rgba(7,16,22,.55)}.article-related-groups-v318 strong{display:block;margin-bottom:7px;color:var(--cyan);font-family:Montserrat,sans-serif;font-size:.82rem}.article-related-groups-v318 .ancient strong{color:#e6be63}.article-related-groups-v318 a{display:inline-flex;margin:3px 5px 3px 0;padding:5px 8px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font:600 .78rem Inter,sans-serif}.article-archive-v318 .article .body small{display:block;margin-top:8px;color:var(--muted);text-transform:uppercase;font:600 .7rem Inter,sans-serif;letter-spacing:.06em}@media(max-width:1000px){.article-filter-v318{grid-template-columns:1fr 1fr}.article-related-groups-v318{grid-template-columns:1fr}}@media(max-width:640px){.article-filter-v318{grid-template-columns:1fr}}

/* V3.18.7 - Weapon Family type presentation */
.v3187-public-family-type{display:inline-flex;align-items:center;width:max-content;margin:0 0 8px;padding:4px 9px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em}
.v3187-public-family-type.modern{color:#00e8ff;background:rgba(0,232,255,.07)}
.v3187-public-family-type.ancient{color:#f7bd49;background:rgba(247,189,73,.08)}
.family-ancient-v3187 .family-hero-v34,.family-ancient-v3187 .family-member-card-v34,.family-ancient-v3187 .family-overview-v34{border-color:rgba(247,189,73,.34)}
.family-ancient-v3187 .family-member-role-v34,.family-ancient-v3187 .family-member-body-v34>span,.family-ancient-v3187 .section-head h2 span{color:#f7bd49}
.ancient-family-links-v3187 .weapon-family-chip-grid-v34 a{border-color:rgba(247,189,73,.35)}
.ancient-family-links-v3187 .weapon-family-chip-grid-v34 a strong,.ancient-family-links-v3187 .eyebrow{color:#f7bd49}

/* V3.18.8 - Home Ancient Arsenal */
.ancient-home-section-v3188{--home-gold:#e7b95b;--home-gold2:#ffdc8a;--home-line:rgba(218,166,74,.42)}
.ancient-home-section-v3188 .section-head h2 span,.ancient-home-section-v3188 .viewall{color:var(--home-gold2)}
.ancient-cat-v3188{border-color:var(--home-line);background:linear-gradient(180deg,rgba(27,22,13,.96),rgba(11,16,19,.98))}
.ancient-cat-v3188 .ico{border-color:rgba(218,166,74,.22);background:linear-gradient(180deg,rgba(30,23,12,.96),rgba(10,15,18,.98))}
.ancient-cat-v3188 b{color:#fff0c6}
.ancient-cat-v3188 small{color:#c7a25e!important}
.ancient-cat-v3188:hover{border-color:var(--home-gold2);box-shadow:0 0 22px rgba(231,185,91,.12)}
.ancient-cat-v3188:hover .cat-static-weapon{filter:brightness(1.08) contrast(1.03) drop-shadow(0 0 8px rgba(231,185,91,.22))}
.ancient-home-card-v3188{border-color:rgba(218,166,74,.38);background:linear-gradient(180deg,rgba(26,21,13,.96),rgba(8,15,19,.98))}
.ancient-home-card-v3188:hover{border-color:var(--home-gold2);box-shadow:0 0 24px rgba(231,185,91,.1)}
.ancient-home-card-v3188 .weapon-card-name{color:#fff0c6}
.ancient-home-card-v3188 .card-detail{color:var(--home-gold2)}
.ancient-empty-v3188{border-color:rgba(218,166,74,.28)}
