Meta Tank Templates

Tanks | SPGs | TDs | SPAAGs

{"html":["\n
\n
\n \n \n \n \n
\n\n
\n
\n
Guide • Meta Tank Templates • All DLC
\n

Meta Tank Templates

\n

The right design turns a mediocre vehicle into a weapon of victory. Learn to create the perfect tanks for any task.

\n
\n
+29%Soft Attack
\n
+42%Breakthrough
\n
+43%Reliability
\n
\n
\n
\n
\n
\n \n

Why You Need Armor

\n
\n

Only armored vehicles provide meaningful armor and breakthrough, letting you crack the front of a strong enemy. SPAAGs mitigate the debuff from enemy air power, and TDs destroy opposing tanks. In single‑player the AI does not build serious aircraft or tanks, so regular tanks and SPGs are more than enough – without armor it is impossible to crush the enemy effectively.
I highly recommend checking out the Best Division Templates →

\n
\n
\n
\n \n

How to Build Them Properly

\n
\n

Every country should ideally field tanks or SPGs, but reality dictates the limits. Minors only get decent tank divisions by 1940–1943, whereas majors churn them out in large numbers.
Start producing armor only after you have a steady output of aircraft and no acute shortage of infantry equipment – tanks are useless if your infantry has no rifles.
Do not chase top‑tier divisions as a minor before a major war; as a major, aim to have several ready divisions before any conflict. Industry is the foundation – study the industry guide.

\n
\n
\n
\n \n

Key Rules

\n
\n
    \n
  • 1. Do not build cheap, weak tanks against a major. It may work against a minor, but not against a strong foe.
  • \n
  • 2. Watch your reliability. Low reliability combined with poor supply leads to massive equipment losses. Understand the supply mechanics.
  • \n
  • 3. Do not overinvest in armor and engine levels. They are wasteful against the AI.
  • \n
  • 4. Medium tanks are king. When choosing between light, medium, and heavy, always pick medium.
  • \n
  • 5. Do not use a weak designer. Always use the best available one that grants the most useful bonuses.
  • \n
\n
\n
\n
\n \n

Frequently Asked Questions

\n
\n
\n

Answer: Medium tanks are the golden mean. They deliver about 80% of a heavy’s effectiveness at 50% of the cost. Lights are cheap but become obsolete by 1940. Heavies are expensive, slow, and consume enormous supply. Mediums are the best choice in 90% of situations.

\n

Answer: In 99% of cases – no. The AI does not build top‑tier tanks or planes. Standard medium tanks are sufficient.

\n

Answer: Roughly 30–60% of your military factories should go to armor.

\n

Answer: Almost always gasoline. It gives more speed. Use a diesel only if reliability drops below 70% and you cannot fix it otherwise. It is better to install “Easy Maintenance” or “Wet Ammo Storage”.

\n

Answer: Against the AI – no. Four levels of riveted armor (~65–70 mm) are enough to survive the bots’ anti‑tank guns. More is just a resource sink. Against a human – check their piercing; usually you need 4+ armor.

\n

Answer: They are not needed if you have air superiority. SPAAGs are a cheap substitute for an air force for minors. Fighters give air superiority, while SPAAGs only reduce the bombing debuff.

\n

Answer: The biggest breakthrough comes from the turret (e.g., “Three‑Man Medium Turret”) and the “Interleaved Road Wheels” suspension. The radio (especially level 2–3) also increases breakthrough.

\n

Answer: No. Against a major (Germany, USSR, USA) a cheap tank with weak armor and a poor gun will simply not break their defense. Build a quality medium tank with a good howitzer and level‑4 armor.

\n

Answer: Ideally mix them 50/50 in a division. You can also use only tanks or only SPGs – against the AI it is not critical. SPGs provide more soft attack and consume more supply; tanks give breakthrough and soft attack while eating less supply. Choose to your taste.

\n

Answer: The ideal time is once you have researched “Improved Medium Howitzer” and “Improved Medium Chassis” (usually 1939–1940). Lights are fine when the enemy is weak, but to break a strong major you need mediums.

\n
\n
\n
\n
\n \n

Template Difference

\n
\n

Comparison of a beginner’s medium tank versus one built according to this guide.

\n \n \n \n \n \n \n \n \n
StatBeginnerGuide
Soft Attack4153
Breakthrough3347
Reliability5376
Cost15.2517.56
\n
\n
\n
\n\n
\n
\n
\n
\n \n

Turret: Choosing Capacity

\n
\n

The turret determines how heavy and powerful a gun you can mount.

\n

For tanks, SPGs and SPAAGs almost always pick the Three‑Man Medium Turret – it provides three slots for armament and modules.

\n

On light chassis use the Three‑Man Light Turret: slightly less space, but enough for light tanks and their SPG variants.

\n

For TDs and flame tanks use the Light Fixed Superstructure – it reduces breakthrough but lowers cost.

\n
\n
\n
\n \n

Gun: Heart of the Machine

\n
\n

Improved Medium Howitzer – the best price/performance, put it on medium tanks and SPGs.

\n

For light tanks and light SPGs mount the Close Support Gun – the best gun for a light chassis.

\n

A TD must carry the Improved Medium Cannon for its hard attack and piercing.

\n

For SPAAGs use the Improved Anti‑Air Gun – only it gives enough air attack.

\n

For heavy tanks, if you decide to build them, the same Improved Medium Cannon will do.

\n
\n
\n
\n \n

Additional Modules: What to Put in Slots

\n
\n

First priority – a level 2–3 radio, it significantly boosts breakthrough.

\n

Then Easy Maintenance (reliability + cost reduction) or Heavy Machine Gun (soft attack).

\n

In the remaining slots – Wet Ammo Storage (reliability) and a Stabilizer or Autoloader (breakthrough).

\n

Majors fill their slots more densely; minors stick to the bare essentials. Do not forget about proper doctrines – they also provide substantial breakthrough.

\n
\n
\n
\n \n

Suspension: Balancing Speed and Firepower

\n
\n

Forget wheeled suspension – it is terrible.

\n

Christie Suspension – the choice for fast breakthroughs, maximum speed.

\n

Interleaved Road Wheels – for a focus on breakthrough; give it to majors on medium and heavy vehicles.

\n

Torsion Bar Suspension helps when reliability is lacking.

\n

Balanced Suspension – a universal pick for minors or anyone who wants a bit of everything.

\n
\n
\n
\n \n

Engine: Gasoline or Diesel

\n
\n

In 90% of cases – a Gasoline Engine of no more than level 9. It gives good speed without inflating the cost.

\n

A diesel is only justified if reliability drops below 60% – it reduces speed but noticeably improves reliability.

\n

Do not chase high engine levels: in poor supply speed is still cut, and the price keeps rising.

\n
\n
\n
\n \n

Armor: Riveted or Welded

\n
\n

Majors can afford Welded Armor – the best, but it requires chromium.

\n

Minors stick with Riveted Armor.

\n

Against the AI raise armor to level 4; against a human – up to 9+. Do not go higher: extra tons of steel do not pay off in combat.

\n
\n
\n
\n \n

Module Tier List

\n
\n

Author’s subjective rating based on cost‑effectiveness.

\n
\n
S
Three‑Man Medium TurretClose Support GunImproved Anti‑Air GunImproved Medium CannonImproved Medium HowitzerUpgraded RadioHeavy Machine GunEasy MaintenanceInterleaved Road WheelsGasoline Engine
\n
A
Light Fixed SuperstructureThree‑Man Light TurretImproved AutocannonImproved Rocket LauncherHeavy HowitzerImproved RadioExtra Machine GunsStabilizerWet Ammo StorageTorsion Bar SuspensionWelded ArmorDiesel EngineChristie Suspension
\n
B
Basic AutocannonMedium CannonMedium HowitzerRocket LauncherUpgraded Anti‑Air GunUpgraded AutocannonBasic RadioSmall CannonAmphibious DriveSloped ArmorAutoloaderBalanced SuspensionRiveted Armor
\n
C
Heavy Fixed SuperstructureTwo‑Man Heavy TurretThree‑Man Heavy TurretSuperheavy CannonAutocannonExtra Ammo StorageGas‑Electric EngineFuel Drum
\n
D
Medium Fixed SuperstructureOne‑Man Medium TurretTwo‑Man Medium TurretBasic Anti‑Air GunSmoke LaunchersCone Adaptor
\n
F
One‑Man Light TurretTwo‑Man Light TurretDozer BladeCast Armor
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n

Tanks

\n
\n

Build them in almost every campaign if you are playing with tanks. Four types: light, medium, heavy, modern.

\n
    \n
  • Light Tanks (LT): majors in 1938–39 against weak opponents (e.g., Germany vs. Poland/France). Not worthwhile for minors – they will not make it in time.
  • \n
  • Medium Tanks (MT): both minors and majors. Minors switch to MT immediately. Majors produce them for the final, strong enemies (Germany vs. USSR).
  • \n
  • Heavy and Modern Tanks: do not build – too expensive, too supply‑hungry; MT/SPG replace them.
  • \n
\n

Focus on breakthrough and soft attack.

\n
\n
\n
\n \n

SPGs

\n
\n

Build in every campaign. Ideally mix them 50/50 with tanks: tanks give breakthrough, SPGs give soft attack. You can also use only tanks or only SPGs. In multiplayer you cannot rely on just one – you will need tanks and sometimes SPAAGs and TDs.

\n
    \n
  • Minors: go straight to medium SPGs.
  • \n
  • Majors: start with light SPGs, then move to medium.
  • \n
  • Heavy and Modern SPGs: avoid – supply cannot handle them.
  • \n
\n

Focus on soft attack.

\n
\n
\n
\n \n

TDs

\n
\n

Build only against a hyper‑major with tanks (e.g., Germany) or in multiplayer. In vanilla single‑player they are never needed – they have never been useful. Focus on piercing and hard attack. They are added to tank divisions in multiplayer.

\n
\n
\n
\n \n

SPAAGs

\n
\n

Same as TDs – multiplayer only. In single‑player a few hundred top‑tier fighters are enough. They reduce the air‑attack debuff, but in single‑player only an extremely cheap version is justified. Focus on air attack.

\n
\n
\n
\n \n

What & When to Build

\n
\n \n \n \n \n \n \n \n \n
TypeWhen to BuildStat Focus
TankWhen you need to break the front lineBreakthrough, Soft Attack
SPGWhen the enemy has mostly infantrySoft Attack
TDWhen the enemy fields huge tank forcesPiercing, Hard Attack
SPAAGWhen the enemy has total air superiorityAir Attack
\n
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n \n

From the Author

\n
\n

This guide is based on hundreds of hours of gameplay and analysis of the current meta. The templates are chosen for the constraints of an ordinary playthrough, without extreme min‑maxing. Use this knowledge to ensure your armor always dominates the battlefield.

\n \n
\n
"],"css":["* {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nhtml, body {\n width: 100%;\n overflow-x: hidden !important;\n scroll-behavior: smooth;\n}\n\nbody {\n --bg-deep: #0d0c09;\n --gold-light: #f5d98b;\n --gold: #e2b660;\n --gold-dim: #b5943e;\n --green: #7aad7e;\n --green-glow: rgba(122, 173, 126, 0.5);\n --red: #c56a6a;\n --card-bg: rgba(22, 21, 18, 0.8);\n --card-border: rgba(226, 182, 96, 0.15);\n --text-primary: #f0ead8;\n --text-secondary: #c8c0a8;\n --text-muted: #908870;\n --shadow-gold: 0 0 20px rgba(226, 182, 96, 0.2);\n --shadow-card: 0 12px 28px rgba(0,0,0,0.6), 0 0 0 1px rgba(226,182,96,0.08);\n background: radial-gradient(ellipse at 50% 20%, rgba(226, 182, 96, 0.08) 0%, #0a0906 80%);\n background-attachment: fixed;\n color: #f0ead8;\n font-family: 'Segoe UI', 'Inter', system-ui, sans-serif;\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n min-height: 100vh;\n position: relative;\n}\n\ncanvas#particles-canvas {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n pointer-events: none;\n}\n\n.volunteer-guide {\n max-width: 1200px;\n margin: 0 auto;\n padding: 37.5px 25px;\n user-select: text;\n position: relative;\n z-index: 1;\n}\n\n.guide-tabs {\n position: sticky;\n top: 73px;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n background: rgba(12, 11, 8, 0.9);\n backdrop-filter: blur(20px);\n padding: 12.5px 12.5px;\n border-radius: 20px;\n border: 1px solid rgba(226, 182, 96, 0.35);\n box-shadow: 0 12px 40px rgba(0,0,0,0.8), 0 0 30px rgba(226,182,96,0.1), inset 0 1px 0 rgba(255,255,255,0.05);\n z-index: 1000;\n margin-bottom: 37.5px;\n}\n\n.guide-tab {\n background: transparent;\n border: 1px solid transparent;\n color: #b8b098;\n padding: 15px 27.5px;\n font-size: 15.9px;\n font-weight: 600;\n border-radius: 14px;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n text-align: center;\n min-width: 110px;\n letter-spacing: 0.3px;\n}\n\n.guide-tab::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: 14px;\n padding: 1px;\n background: linear-gradient(135deg, transparent, rgba(226,182,96,0.6), transparent);\n -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.guide-tab:hover::before {\n opacity: 0.8;\n}\n\n.guide-tab:hover {\n color: #f5e6c7;\n background: rgba(226, 182, 96, 0.12);\n text-shadow: 0 0 8px rgba(226,182,96,0.4);\n}\n\n.guide-tab.active {\n color: #f7e3a8;\n background: rgba(226, 182, 96, 0.2);\n border-color: rgba(226, 182, 96, 0.6);\n box-shadow: 0 0 30px rgba(226, 182, 96, 0.4), inset 0 0 15px rgba(226,182,96,0.15);\n text-shadow: 0 0 12px rgba(226,182,96,0.6);\n}\n\n.guide-tab.active::before {\n opacity: 1;\n background: linear-gradient(135deg, rgba(226,182,96,0.8), rgba(226,182,96,0.2), rgba(226,182,96,0.8));\n}\n\n.tab-panel {\n display: none;\n}\n\n.tab-panel.active {\n display: block;\n}\n\n.hero-card {\n background: linear-gradient(145deg, rgba(226, 182, 96, 0.18) 0%, rgba(20, 18, 13, 1) 100%);\n border: 1px solid rgba(226,182,96,0.35);\n border-radius: 28px;\n padding: 68.75px 50px;\n text-align: center;\n margin-bottom: 50px;\n position: relative;\n overflow: hidden;\n box-shadow: 0 25px 60px rgba(0,0,0,0.8), 0 0 50px rgba(226,182,96,0.15), inset 0 2px 0 rgba(255,255,255,0.05);\n backdrop-filter: blur(12px);\n}\n\n.hero-card::before {\n content: '';\n position: absolute;\n top: -80px;\n right: -80px;\n width: 300px;\n height: 300px;\n background: radial-gradient(circle, rgba(226,182,96,0.25) 0%, transparent 70%);\n border-radius: 50%;\n z-index: 0;\n}\n\n.hero-card::after {\n content: '';\n position: absolute;\n bottom: -80px;\n left: -80px;\n width: 280px;\n height: 280px;\n background: radial-gradient(circle, rgba(196, 152, 64, 0.15) 0%, transparent 70%);\n border-radius: 50%;\n z-index: 0;\n}\n\n.hero-badge {\n display: inline-block;\n background: rgba(226, 182, 96, 0.25);\n color: #f7e3a8;\n padding: 12.5px 35px;\n border-radius: 40px;\n font-size: 15.1px;\n font-weight: 600;\n margin-bottom: 27.5px;\n letter-spacing: 0.6px;\n backdrop-filter: blur(8px);\n border: 1px solid rgba(226, 182, 96, 0.5);\n box-shadow: 0 0 25px rgba(226,182,96,0.3);\n position: relative;\n z-index: 1;\n}\n\n.hero-title {\n font-size: 3.02rem;\n font-weight: 800;\n margin-bottom: 20px;\n color: #faeec8;\n line-height: 1.2;\n position: relative;\n z-index: 1;\n text-shadow: 0 4px 20px rgba(0,0,0,0.8), 0 0 50px rgba(226,182,96,0.3);\n}\n\n.hero-sub {\n font-size: 1.23rem;\n color: #d9d0b5;\n margin-bottom: 37.5px;\n position: relative;\n z-index: 1;\n font-weight: 400;\n text-shadow: 0 2px 10px rgba(0,0,0,0.6);\n}\n\n.hero-grid {\n display: flex;\n justify-content: center;\n gap: 62.5px;\n flex-wrap: wrap;\n margin-top: 37.5px;\n position: relative;\n z-index: 1;\n}\n\n.hero-stat {\n position: relative;\n flex: 1 1 0;\n min-width: 150px;\n text-align: center;\n border-radius: 20px;\n padding: 30px 20px;\n backdrop-filter: blur(10px);\n border: 1px solid rgba(226, 182, 96, 0.2);\n background: rgba(20, 18, 13, 0.5);\n transition: all 0.3s ease;\n box-shadow: 0 6px 18px rgba(0,0,0,0.6);\n}\n\n.hero-stat:hover {\n transform: translateY(-8px);\n border-color: rgba(226, 182, 96, 0.6);\n box-shadow: 0 12px 28px rgba(226,182,96,0.3), 0 16px 40px rgba(0,0,0,0.7);\n background: rgba(25, 22, 15, 0.7);\n}\n\n.hero-stat + .hero-stat::before {\n content: '';\n position: absolute;\n left: -31.25px;\n top: 20%;\n bottom: 20%;\n width: 1px;\n background: linear-gradient(to bottom, transparent, rgba(226,182,96,0.5), transparent);\n}\n\n.hero-stat-num {\n display: block;\n font-size: 2.46rem;\n font-weight: 700;\n color: #f5d78c;\n line-height: 1.2;\n margin-bottom: 10px;\n text-shadow: 0 0 20px rgba(226, 182, 96, 0.6);\n}\n\n.hero-stat-label {\n font-size: 0.95rem;\n color: #b0a890;\n font-weight: 500;\n}\n\n.cards-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(480px, 1fr));\n gap: 35px;\n margin-bottom: 50px;\n align-items: stretch;\n}\n\n.full-width {\n grid-column: 1 / -1;\n}\n\n.center-single-card {\n display: grid;\n grid-template-columns: 1fr;\n max-width: 600px;\n margin: 0 auto 50px;\n justify-self: center;\n}\n\n.card {\n background: linear-gradient(160deg, rgba(30, 28, 22, 0.95) 0%, rgba(20, 18, 13, 0.98) 100%);\n border: 1px solid rgba(226, 182, 96, 0.2);\n border-radius: 22px;\n padding: 35px;\n box-shadow: var(--shadow-card);\n transition: all 0.35s ease;\n overflow: hidden;\n position: relative;\n backdrop-filter: blur(4px);\n}\n\n.card::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: radial-gradient(circle at 30% 10%, rgba(226,182,96,0.03), transparent 60%);\n pointer-events: none;\n}\n\n.card-animate {\n opacity: 0;\n transition: opacity 1.2s ease, transform 1.2s ease;\n}\n\n.card:hover {\n border-color: rgba(226, 182, 96, 0.5);\n box-shadow: 0 18px 40px rgba(0,0,0,0.8), 0 0 35px rgba(226,182,96,0.15);\n}\n\n.card-header {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 15px;\n margin-bottom: 27.5px;\n padding-bottom: 17.5px;\n border-bottom: 1px solid rgba(226, 182, 96, 0.25);\n}\n\n.card-header h2 {\n font-size: 1.80rem;\n font-weight: 700;\n color: #faeec8;\n margin: 0;\n text-shadow: 0 0 16px rgba(226,182,96,0.3);\n letter-spacing: 0.5px;\n}\n\n.card-icon {\n flex-shrink: 0;\n filter: drop-shadow(0 0 10px rgba(226, 182, 96, 0.6));\n transition: transform 0.3s ease;\n}\n\n.card-icon:hover {\n transform: rotate(-8deg) scale(1.2);\n}\n\n.card p {\n color: #c8c0a8;\n font-size: 16.1px;\n line-height: 1.75;\n margin-bottom: 20px;\n}\n\n.card h3 {\n font-size: 1.32rem;\n color: #e2b660;\n margin-bottom: 0.6em;\n text-shadow: 0 0 8px rgba(226,182,96,0.3);\n}\n\n.card ul:not(.styled-list) {\n list-style: none;\n padding: 0;\n}\n\n.card ul:not(.styled-list) li {\n position: relative;\n padding: 7.5px 0 7.5px 32.5px;\n color: #c8c0a8;\n font-size: 15.1px;\n line-height: 1.65;\n border-bottom: 1px solid rgba(226, 182, 96, 0.08);\n}\n\n.card ul:not(.styled-list) li::before {\n content: '›';\n position: absolute;\n left: 7.5px;\n color: #e2b660;\n font-size: 21px;\n line-height: 1;\n}\n\n.styled-list {\n list-style: none;\n padding: 0;\n}\n\n.styled-list li {\n background: rgba(35, 33, 26, 0.8);\n border: 1px solid rgba(226,182,96,0.2);\n border-radius: 10px;\n padding: 17.5px 22.5px;\n margin-bottom: 12.5px;\n color: #c0b898;\n font-size: 16.1px;\n transition: all 0.25s ease;\n backdrop-filter: blur(6px);\n line-height: 1.65;\n}\n\n.styled-list li:hover {\n background: rgba(50, 47, 37, 0.9);\n border-color: rgba(226,182,96,0.5);\n box-shadow: 0 0 20px rgba(226,182,96,0.15);\n}\n\n.faq-accordion {\n border: 1px solid rgba(226,182,96,0.3);\n border-radius: 14px;\n overflow: hidden;\n background: rgba(18, 17, 12, 0.9);\n backdrop-filter: blur(8px);\n margin-top: 12.5px;\n box-shadow: 0 6px 18px rgba(0,0,0,0.6);\n}\n\n.faq-item {\n border-bottom: 1px solid rgba(226,182,96,0.2);\n}\n\n.faq-item:last-child {\n border-bottom: none;\n}\n\n.faq-question {\n background: none;\n border: none;\n width: 100%;\n text-align: left;\n padding: 20px 27.5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #f0ead8;\n font-size: 16.1px;\n font-weight: 600;\n cursor: pointer;\n transition: background 0.25s ease;\n}\n\n.faq-question:hover {\n background: rgba(226,182,96,0.12);\n}\n\n.faq-answer {\n max-height: 0;\n overflow: hidden;\n opacity: 0;\n padding: 0 27.5px;\n color: #c0b898;\n transition: max-height 0.45s ease, opacity 0.45s ease, padding 0.45s ease;\n background: rgba(0,0,0,0.3);\n}\n\n.faq-item.open .faq-answer {\n max-height: 400px;\n opacity: 1;\n padding: 20px 27.5px;\n}\n\n.faq-icon {\n font-size: 25px;\n color: #e2b660;\n transition: transform 0.35s ease;\n filter: drop-shadow(0 0 6px rgba(226,182,96,0.5));\n}\n\n.faq-item.open .faq-icon {\n transform: rotate(45deg);\n}\n\n.doctrine-table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0 12.5px;\n margin: 27.5px 0;\n font-size: 14.2px;\n}\n\n.doctrine-table thead th {\n background: rgba(226, 182, 96, 0.2);\n color: #f5d78c;\n font-weight: 700;\n padding: 17.5px 20px;\n text-align: left;\n border-radius: 12px 12px 0 0;\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-bottom: none;\n text-shadow: 0 0 8px rgba(226,182,96,0.3);\n}\n\n.doctrine-table tbody td {\n background: rgba(18, 17, 12, 0.9);\n color: #c8c0a8;\n padding: 15px 20px;\n border: 1px solid rgba(226, 182, 96, 0.15);\n border-top: none;\n transition: background 0.25s;\n}\n\n.doctrine-table tbody tr:first-child td {\n border-top: 1px solid rgba(226, 182, 96, 0.2);\n}\n\n.doctrine-table tbody tr:hover td {\n background: rgba(30, 28, 20, 0.95);\n border-color: rgba(226, 182, 96, 0.4);\n}\n\n.positive-value {\n color: #7aad7e;\n font-weight: 700;\n text-shadow: 0 0 8px rgba(122, 173, 126, 0.5);\n}\n\n.negative-value {\n color: #c56a6a;\n font-weight: 700;\n text-shadow: 0 0 6px rgba(200, 80, 80, 0.5);\n}\n\n.moderate-value {\n color: #d4a83c;\n font-weight: 700;\n text-shadow: 0 0 6px rgba(212, 168, 60, 0.5);\n}\n\n.accent {\n color: #e2b660;\n font-weight: 600;\n text-shadow: 0 0 8px rgba(226, 182, 96, 0.5);\n}\n\n.author-card {\n background: linear-gradient(145deg, #1f1d18 0%, #151410 100%);\n border: 1px solid rgba(226,182,96,0.3);\n border-radius: 22px;\n padding: 37.5px;\n text-align: center;\n margin-top: 50px;\n box-shadow: 0 14px 36px rgba(0,0,0,0.6), 0 0 28px rgba(226,182,96,0.08);\n backdrop-filter: blur(12px);\n}\n\n.author-card .card-header {\n justify-content: center;\n border-bottom: none;\n margin-bottom: 22.5px;\n}\n\n.author-date {\n color: #908870;\n font-size: 12.5px;\n margin-top: 15px;\n}\n\n.meta-templates-card {\n text-align: center;\n}\n\n.meta-tabs-level1,\n.meta-tabs-level2,\n.meta-tabs-level3 {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n margin-bottom: 20px;\n}\n\n.meta-tab,\n.meta-subtab,\n.meta-nationtab {\n background: transparent;\n border: 1px solid rgba(226, 182, 96, 0.3);\n color: #b8b098;\n padding: 10px 25px;\n font-size: 15px;\n font-weight: 600;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.25s ease;\n white-space: nowrap;\n}\n\n.meta-tab:hover,\n.meta-subtab:hover,\n.meta-nationtab:hover {\n color: #f5e6c7;\n background: rgba(226, 182, 96, 0.12);\n border-color: rgba(226, 182, 96, 0.6);\n}\n\n.meta-tab.active,\n.meta-subtab.active,\n.meta-nationtab.active {\n color: #f7e3a8;\n background: rgba(226, 182, 96, 0.25);\n border-color: rgba(226, 182, 96, 0.7);\n box-shadow: 0 0 12px rgba(226, 182, 96, 0.3);\n}\n\n.meta-template-content {\n margin-top: 30px;\n text-align: left;\n}\n\n.template-details {\n max-width: 800px;\n margin: 0 auto;\n padding: 28px 24px;\n background: rgba(18, 17, 12, 0.85);\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-radius: 20px;\n box-shadow: 0 18px 40px rgba(0,0,0,0.6), 0 0 30px rgba(226,182,96,0.08);\n backdrop-filter: blur(12px);\n}\n\n.template-details h3 {\n text-align: center;\n font-size: 1.6rem;\n color: #f5d78c;\n margin-bottom: 24px;\n letter-spacing: 0.5px;\n}\n\n.template-categories {\n display: flex;\n flex-wrap: wrap;\n gap: 18px;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.template-category {\n flex: 1 1 280px;\n min-width: 250px;\n background: rgba(30, 28, 22, 0.7);\n border: 1px solid rgba(226, 182, 96, 0.25);\n border-radius: 14px;\n padding: 16px;\n backdrop-filter: blur(8px);\n transition: border-color 0.3s, box-shadow 0.3s;\n}\n\n.template-category:hover {\n border-color: rgba(226, 182, 96, 0.55);\n box-shadow: 0 0 20px rgba(226,182,96,0.15);\n}\n\n.template-category > strong {\n display: block;\n margin-bottom: 12px;\n font-size: 1.1rem;\n color: #f5d78c;\n text-transform: uppercase;\n letter-spacing: 1px;\n border-bottom: 1px solid rgba(226,182,96,0.25);\n padding-bottom: 6px;\n}\n\n.module-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.module-chip {\n display: inline-flex;\n align-items: center;\n background: rgba(226, 182, 96, 0.12);\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-radius: 20px;\n padding: 6px 14px;\n font-size: 14px;\n color: #e0c880;\n transition: all 0.2s ease;\n cursor: default;\n}\n\n.module-chip:hover {\n background: rgba(226, 182, 96, 0.22);\n border-color: #e2b660;\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(226,182,96,0.2);\n}\n\n.module-chip img.tier-icon {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n border-radius: 2px;\n object-fit: cover;\n}\n\n.template-main-image {\n display: block;\n max-width: 100%;\n margin: 20px auto 0;\n border-radius: 10px;\n border: 1px solid rgba(226,182,96,0.3);\n cursor: pointer;\n transition: transform 0.3s, box-shadow 0.3s;\n}\n\n.template-main-image:hover {\n transform: scale(1.02);\n box-shadow: 0 8px 25px rgba(0,0,0,0.5), 0 0 20px rgba(226,182,96,0.15);\n}\n\n.tier-list {\n margin-top: 15px;\n}\n\n.tier-row {\n display: flex;\n align-items: stretch;\n margin-bottom: 8px;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 4px 10px rgba(0,0,0,0.3);\n}\n\n.tier-label {\n width: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.6rem;\n font-weight: 800;\n color: #fff;\n flex-shrink: 0;\n}\n\n.tier-s .tier-label { background: #c49840; color: #1a1814; }\n.tier-a .tier-label { background: #7aad7e; }\n.tier-b .tier-label { background: #6b9a9a; }\n.tier-c .tier-label { background: #5a7a9a; }\n.tier-d .tier-label { background: #7a7a8a; }\n.tier-f .tier-label { background: #5a5a6a; }\n\n.tier-items {\n padding: 10px 14px;\n background: rgba(15, 14, 12, 0.8);\n backdrop-filter: blur(4px);\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.tier-tag {\n display: inline-flex;\n align-items: center;\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 14.4px;\n font-weight: 500;\n white-space: nowrap;\n border: 1px solid transparent;\n transition: all 0.2s ease;\n}\n\n.tier-tag:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.4);\n}\n\n.tier-icon,\n.doctrine-inline-icon {\n width: 22px;\n height: 22px;\n vertical-align: middle;\n margin-right: 6px;\n border-radius: 3px;\n object-fit: cover;\n}\n\n.tier-tag-s { background: rgba(196, 152, 64, 0.15); color: #e0c880; border-color: rgba(196, 152, 64, 0.3); }\n.tier-tag-a { background: rgba(122, 173, 126, 0.15); color: #a0d0a0; border-color: rgba(122, 173, 126, 0.3); }\n.tier-tag-b { background: rgba(107, 154, 154, 0.15); color: #8cc0c0; border-color: rgba(107, 154, 154, 0.3); }\n.tier-tag-c { background: rgba(90, 122, 154, 0.15); color: #8aa0c0; border-color: rgba(90, 122, 154, 0.3); }\n.tier-tag-d { background: rgba(122, 122, 138, 0.15); color: #a0a0b0; border-color: rgba(122, 122, 138, 0.3); }\n.tier-tag-f { background: rgba(90, 90, 106, 0.15); color: #808090; border-color: rgba(90, 90, 106, 0.3); }\n\n.card-animate.visible {\n opacity: 1;\n transform: translateY(0);\n}\n\n.ripple {\n position: absolute;\n border-radius: 50%;\n background: rgba(226, 182, 96, 0.5);\n transform: scale(0);\n animation: ripple 0.6s linear;\n pointer-events: none;\n}\n\n@keyframes ripple {\n to { transform: scale(4); opacity: 0; }\n}\n\n.volunteer-guide a,\n.guide-link {\n color: #e2b660;\n text-decoration: none;\n font-weight: 600;\n border-bottom: 1px solid rgba(226, 182, 96, 0.4);\n transition: color 0.2s, border-color 0.2s, text-shadow 0.2s;\n}\n\n.volunteer-guide a:hover,\n.guide-link:hover {\n color: #f5d98b;\n border-bottom-color: #f5d98b;\n text-shadow: 0 0 8px rgba(226, 182, 96, 0.4);\n}\n\n.card-img {\n display: block;\n max-width: 100%;\n height: auto;\n margin: 20px auto 0;\n border-radius: 8px;\n border: 1px solid rgba(226, 182, 96, 0.2);\n}\n\n@media (max-width: 768px) {\n .guide-tabs {\n position: static;\n margin-bottom: 25px;\n flex-wrap: nowrap;\n overflow-x: auto;\n white-space: nowrap;\n justify-content: flex-start;\n gap: 7.5px;\n padding: 10px 10px;\n -webkit-overflow-scrolling: touch;\n }\n\n .guide-tab {\n font-size: 13.2px;\n padding: 12.5px 20px;\n min-width: auto;\n flex-shrink: 0;\n }\n\n .hero-card {\n padding: 40px 20px;\n border-radius: 20px;\n }\n\n .hero-title {\n font-size: 1.9rem;\n }\n\n .hero-sub {\n font-size: 0.95rem;\n }\n\n .hero-grid {\n gap: 25px;\n }\n\n .hero-stat {\n min-width: 120px;\n padding: 20px 12.5px;\n }\n\n .hero-stat + .hero-stat::before { display: none; }\n\n .hero-stat-num { font-size: 1.9rem; }\n .hero-stat-label { font-size: 0.85rem; }\n\n .cards-grid,\n .center-single-card {\n grid-template-columns: 1fr;\n max-width: 100%;\n margin: 0 0 40px 0;\n gap: 25px;\n }\n\n .full-width { grid-column: 1 / -1; }\n\n .card {\n padding: 25px;\n overflow-x: auto;\n overflow-y: visible;\n }\n\n .card-header h2 {\n font-size: 1.42rem;\n word-break: break-word;\n }\n\n .card p { font-size: 14.2px; }\n .styled-list li { font-size: 14.2px; padding: 15px; }\n\n .doctrine-table {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border-spacing: 0 8px;\n margin: 20px 0;\n }\n\n .doctrine-table thead,\n .doctrine-table tbody,\n .doctrine-table tr,\n .doctrine-table th,\n .doctrine-table td {\n white-space: nowrap;\n }\n\n .doctrine-table tbody td { padding: 10px 12px; }\n .doctrine-table thead th { padding: 12px 12px; }\n\n .meta-tabs-level1,\n .meta-tabs-level2,\n .meta-tabs-level3 {\n flex-wrap: nowrap;\n overflow-x: auto;\n justify-content: flex-start;\n padding-bottom: 5px;\n -webkit-overflow-scrolling: touch;\n }\n\n .meta-tab,\n .meta-subtab,\n .meta-nationtab {\n font-size: 13px;\n padding: 8px 16px;\n flex-shrink: 0;\n }\n\n .template-category {\n flex: 1 1 100%;\n min-width: 0;\n }\n\n .tier-row { flex-direction: column; }\n .tier-label { width: 100%; height: 36px; font-size: 1.2rem; }\n .tier-items { justify-content: center; }\n\n .faq-question { font-size: 15px; padding: 15px 20px; }\n .faq-answer { padding: 0 20px; }\n .faq-item.open .faq-answer { padding: 15px 20px; }\n\n .card-img { max-width: 100%; height: auto; }\n .card svg { max-width: 100%; height: auto; }\n .author-card { padding: 25px; }\n}\n\n@media (max-width: 480px) {\n .volunteer-guide { padding: 20px 10px; }\n .hero-card { padding: 30px 15px; border-radius: 16px; }\n .hero-badge { font-size: 13.2px; padding: 8px 20px; }\n .hero-title { font-size: 1.61rem; }\n .hero-sub { font-size: 0.9rem; }\n .hero-stat-num { font-size: 1.7rem; }\n .guide-tab { font-size: 12px; padding: 10px 15px; }\n .card { padding: 20px 15px; border-radius: 16px; }\n .card-header h2 { font-size: 1.2rem; }\n .card p { font-size: 13px; }\n .styled-list li { font-size: 13px; padding: 12px; }\n .doctrine-table tbody td,\n .doctrine-table thead th { font-size: 12px; padding: 8px 10px; }\n .meta-tab,\n .meta-subtab,\n .meta-nationtab { font-size: 11px; padding: 6px 12px; }\n}"],"js":["(function () {\n 'use strict';\n\n if (window.__tankGuideInitialized) return;\n window.__tankGuideInitialized = true;\n\n if (!document.getElementById('tank-guide-modal-styles')) {\n var styleEl = document.createElement('style');\n styleEl.id = 'tank-guide-modal-styles';\n styleEl.textContent = '.template-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer}.template-modal-content{position:relative;max-width:90vw;max-height:90vh;overflow:auto;background:#1a1915;border:1px solid rgba(226,182,96,0.4);border-radius:12px;padding:16px;box-shadow:0 25px 60px rgba(0,0,0,0.9);display:flex;flex-direction:column;align-items:center}.template-modal-content img{max-width:100%;height:auto;display:block;border-radius:4px}.template-modal-close{align-self:flex-end;font-size:32px;color:#e2b660;cursor:pointer;line-height:1;margin-bottom:8px;transition:color 0.2s}.template-modal-close:hover{color:#f5d98b}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px)}}.template-fade-in{animation:fadeInUp 0.4s ease forwards}.template-fade-out{animation:fadeOut 0.25s ease forwards}';\n document.head.appendChild(styleEl);\n }\n\n var moduleIcons = {\n 'Three-Man Light Turret': 'icon_three_man_light_turret.png',\n 'Three-Man Medium Turret': 'icon_three_man_medium_turret.png',\n 'Three-Man Heavy Turret': 'icon_three_man_heavy_turret.png',\n 'Light Fixed Superstructure': 'icon_light_fixed_superstructure.png',\n 'Close Support Gun': 'icon_close_support_gun.png',\n 'Improved Medium Howitzer': 'icon_improved_medium_howitzer.png',\n 'Improved Medium Cannon': 'icon_improved_medium_cannon.png',\n 'Improved Anti-Air Gun': 'icon_improved_aa_gun.png',\n 'Upgraded Anti-Air Gun': 'icon_modern_aa_gun.png',\n 'Heavy Machine Gun': 'icon_heavy_mg.png',\n 'Extra Machine Gun': 'icon_extra_mg.png',\n 'Basic Radio': 'icon_basic_radio.png',\n 'Improved Radio': 'icon_improved_radio.png',\n 'Upgraded Radio': 'icon_modern_radio.png',\n 'Advanced Radio': 'icon_modern_radio.png',\n 'Wet Ammo Storage': 'icon_wet_ammo_storage.png',\n 'Stabilizer': 'icon_stabilizer.png',\n 'Easy Maintenance': 'icon_easy_maintenance.png',\n 'Autoloader': 'icon_autoloader.png',\n 'Cone Adaptor': 'icon_cone_adaptor.png',\n 'Interleaved Road Wheels': 'icon_interleaved_suspension.png',\n 'Balanced Suspension': 'icon_balanced_suspension.png',\n 'Torsion Bar Suspension': 'icon_torsion_bar_suspension.png',\n 'Christie Suspension': 'icon_christie_suspension.png',\n 'Riveted Armor': 'icon_riveted_armor.png',\n 'Welded Armor': 'icon_welded_armor.png',\n 'Gasoline Engine': 'icon_gasoline_engine.png',\n 'Diesel Engine': 'icon_diesel_engine.png',\n 'Cast Armor': 'icon_cast_armor.png',\n 'Heavy Three-Man Turret': 'icon_three_man_heavy_turret.png',\n 'Advanced High-Velocity Cannon': 'icon_improved_medium_cannon.png'\n };\n\n function getIconPath(rawName) {\n var clean = rawName.replace(/\\s*\\(.*?\\)/, '').trim();\n var file = moduleIcons[clean];\n return file ? '/public/themes/hoi4/armor_designer/' + file : '';\n }\n\n var templatesData = {\n tank: { light: { minor: { image: '/public/themes/hoi4/armor_designer/lt_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Basic Radio', 'Heavy Machine Gun'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/lt.ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Extra Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/mt_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mt_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun (x2)', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/ht_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ht_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Welded Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/mo_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mo_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Stabilizer', 'Easy Maintenance', 'Autoloader'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] } } },\n spg: { light: { minor: { image: '/public/themes/hoi4/armor_designer/la_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/la_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Extra Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/ma_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ma_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Wet Ammo Storage', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/ha_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ha_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun (x3)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/moa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/moa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Autoloader', 'Stabilizer', 'Easy Maintenance'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } } },\n td: { light: { minor: { image: '/public/themes/hoi4/armor_designer/ltd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ltd_ma.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/mtd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mtd_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 4)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/htd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/htd_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 5)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/motd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/motd_ma.jpg', categories: [{ title: 'Turret', items: ['Heavy Three-Man Turret'] }, { title: 'Gun', items: ['Advanced High-Velocity Cannon'] }, { title: 'Other', items: ['Advanced Radio', 'Cone Adaptor', 'Autoloader', 'Easy Maintenance'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 6)'] }] } } },\n aa: { light: { minor: { image: '/public/themes/hoi4/armor_designer/laa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/laa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/maa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 1)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/maa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 4)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/haa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/haa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 9)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/moaa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/moaa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Upgraded Anti-Air Gun'] }, { title: 'Other', items: ['Upgraded Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] } } }\n };\n\n function initParticles() {\n if (window.__guideParticlesInitialized) return;\n window.__guideParticlesInitialized = true;\n var canvas = document.getElementById('particles-canvas');\n if (!canvas || canvas.dataset.initialized === 'true') return;\n canvas.dataset.initialized = 'true';\n var ctx = canvas.getContext('2d');\n var particles = [];\n var maxParticles = 28;\n var mouseX = window.innerWidth / 2;\n var mouseY = window.innerHeight / 2;\n\n function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; initParticlesArray(); }\n var goldColors = ['rgba(226,182,96,0.25)','rgba(196,152,64,0.30)','rgba(212,168,84,0.20)','rgba(180,140,50,0.22)'];\n\n function drawTarget(x,y,s,c,a) {\n ctx.save(); ctx.translate(x,y); ctx.rotate(a); var h=s*0.35;\n ctx.strokeStyle=c; ctx.lineWidth=0.8;\n ctx.beginPath(); ctx.moveTo(0,-h); ctx.lineTo(h,0); ctx.lineTo(0,h); ctx.lineTo(-h,0); ctx.closePath(); ctx.stroke();\n ctx.beginPath(); ctx.moveTo(-h*0.6,0); ctx.lineTo(h*0.6,0); ctx.moveTo(0,-h*0.6); ctx.lineTo(0,h*0.6); ctx.stroke();\n ctx.restore();\n }\n\n function Particle() { this.init(); }\n Particle.prototype.init = function() {\n this.x=Math.random()*canvas.width; this.y=Math.random()*canvas.height; this.size=Math.random()*18+12;\n this.baseSpeedX=(Math.random()-0.5)*0.1; this.baseSpeedY=(Math.random()-0.5)*0.1;\n this.rotationSpeed=(Math.random()-0.5)*0.005; this.angle=Math.random()*Math.PI*2;\n this.opacity=Math.random()*0.6+0.2; this.pulseSpeed=Math.random()*0.006+0.003;\n this.pulseOffset=Math.random()*Math.PI*2; this.color=goldColors[Math.floor(Math.random()*goldColors.length)]; this.time=0;\n };\n Particle.prototype.update = function() {\n var dx=mouseX-canvas.width/2, dy=mouseY-canvas.height/2;\n this.speedX=this.baseSpeedX+dx*0.00015; this.speedY=this.baseSpeedY+dy*0.00015;\n this.x+=this.speedX; this.y+=this.speedY; this.angle+=this.rotationSpeed; this.time+=this.pulseSpeed;\n if(this.x<-this.size*2)this.x=canvas.width+this.size; if(this.x>canvas.width+this.size*2)this.x=-this.size;\n if(this.y<-this.size*2)this.y=canvas.height+this.size; if(this.y>canvas.height+this.size*2)this.y=-this.size;\n };\n Particle.prototype.draw = function() {\n var pulse=0.5+0.5*Math.sin(this.time+this.pulseOffset), alpha=this.opacity*(0.5+0.5*pulse);\n ctx.globalAlpha=alpha; drawTarget(this.x,this.y,this.size,this.color,this.angle); ctx.globalAlpha=1;\n };\n\n function initParticlesArray() { particles=[]; for(var i=0;i
';\n document.body.appendChild(overlay);\n }\n\n function getActiveMetaValues() {\n var typeEl=document.querySelector('.meta-tab.active'), weightEl=document.querySelector('.meta-subtab.active'), nationEl=document.querySelector('.meta-nationtab.active');\n return {type:typeEl?typeEl.getAttribute('data-type'):'tank', weight:weightEl?weightEl.getAttribute('data-weight'):'light', nation:nationEl?nationEl.getAttribute('data-nation'):'minor'};\n }\n\n function renderMetaTemplate() {\n var container=document.getElementById('meta-template-content'); if(!container)return;\n var meta=getActiveMetaValues();\n var data=templatesData[meta.type]&&templatesData[meta.type][meta.weight]&&templatesData[meta.type][meta.weight][meta.nation];\n\n function insertNewContent() {\n var wrapper=document.createElement('div'); wrapper.className='template-wrapper'; wrapper.style.opacity='0';\n if(!data) { wrapper.innerHTML='

No data for the selected combination.

'; }\n else {\n var html='

Components

';\n for(var i=0;i
';\n for(var j=0;j';\n html+=moduleName+'';\n }\n html+='
';\n }\n html+='
Template
';\n wrapper.innerHTML=html;\n }\n container.appendChild(wrapper);\n requestAnimationFrame(function(){ wrapper.style.opacity=''; wrapper.classList.add('template-fade-in'); });\n }\n\n var oldWrapper=container.querySelector('.template-wrapper');\n if(oldWrapper){\n oldWrapper.classList.add('template-fade-out');\n oldWrapper.addEventListener('animationend', function handler(){\n oldWrapper.removeEventListener('animationend', handler);\n if(container.contains(oldWrapper)) container.removeChild(oldWrapper);\n insertNewContent();\n });\n } else { container.innerHTML=''; insertNewContent(); }\n }\n\n function setActiveMetaTab(level, element) {\n var selector = level===1?'.meta-tab':level===2?'.meta-subtab':'.meta-nationtab';\n var siblings=document.querySelectorAll(selector);\n for(var i=0;i0){ stats[i].style.visibility='visible'; animateValue(stats[i],0,parsed.number,750,parsed.prefix,parsed.suffix); }\n }\n }\n\n function typeWriter(element, text, speed, delay) {\n var i=0; element.textContent='';\n function type(){ if(i
{"html":[" \n \n \n General \n Designer \n What & When to Build \n Meta Templates \n \n\n \n \n Guide • Meta Tank Templates • All DLC \n Meta Tank Templates \n The right design turns a mediocre vehicle into a weapon of victory. Learn to create the perfect tanks for any task. \n \n +29% Soft Attack \n +42% Breakthrough \n +43% Reliability \n \n \n \n \n \n \n Why You Need Armor \n \n Only armored vehicles provide meaningful armor and breakthrough, letting you crack the front of a strong enemy. SPAAGs mitigate the debuff from enemy air power, and TDs destroy opposing tanks. In single‑player the AI does not build serious aircraft or tanks, so regular tanks and SPGs are more than enough – without armor it is impossible to crush the enemy effectively. I highly recommend checking out the Best Division Templates → \n \n \n \n \n How to Build Them Properly \n \n Every country should ideally field tanks or SPGs, but reality dictates the limits. Minors only get decent tank divisions by 1940–1943, whereas majors churn them out in large numbers. Start producing armor only after you have a steady output of aircraft and no acute shortage of infantry equipment – tanks are useless if your infantry has no rifles. Do not chase top‑tier divisions as a minor before a major war; as a major, aim to have several ready divisions before any conflict. Industry is the foundation – study the industry guide . \n \n \n \n \n Key Rules \n \n \n 1. Do not build cheap, weak tanks against a major. It may work against a minor, but not against a strong foe. \n 2. Watch your reliability. Low reliability combined with poor supply leads to massive equipment losses. Understand the supply mechanics . \n 3. Do not overinvest in armor and engine levels. They are wasteful against the AI. \n 4. Medium tanks are king. When choosing between light, medium, and heavy, always pick medium. \n 5. Do not use a weak designer. Always use the best available one that grants the most useful bonuses. \n \n \n \n \n \n Frequently Asked Questions \n \n \n Why are medium tanks better than light and heavy? + Answer: Medium tanks are the golden mean. They deliver about 80% of a heavy’s effectiveness at 50% of the cost. Lights are cheap but become obsolete by 1940. Heavies are expensive, slow, and consume enormous supply. Mediums are the best choice in 90% of situations. \n Do I need TDs and SPAAGs in single‑player? + Answer: In 99% of cases – no. The AI does not build top‑tier tanks or planes. Standard medium tanks are sufficient. \n How many factories should I put on tanks? + Answer: Roughly 30–60% of your military factories should go to armor. \n Which engine – gasoline or diesel? + Answer: Almost always gasoline. It gives more speed. Use a diesel only if reliability drops below 70% and you cannot fix it otherwise. It is better to install “Easy Maintenance” or “Wet Ammo Storage”. \n Should I upgrade armor beyond level 4? + Answer: Against the AI – no. Four levels of riveted armor (~65–70 mm) are enough to survive the bots’ anti‑tank guns. More is just a resource sink. Against a human – check their piercing; usually you need 4+ armor. \n Why build SPAAGs if I have fighters? + Answer: They are not needed if you have air superiority. SPAAGs are a cheap substitute for an air force for minors. Fighters give air superiority, while SPAAGs only reduce the bombing debuff. \n Which module gives the most breakthrough? + Answer: The biggest breakthrough comes from the turret (e.g., “Three‑Man Medium Turret”) and the “Interleaved Road Wheels” suspension. The radio (especially level 2–3) also increases breakthrough. \n Should I build cheap tanks against a major? + Answer: No. Against a major (Germany, USSR, USA) a cheap tank with weak armor and a poor gun will simply not break their defense. Build a quality medium tank with a good howitzer and level‑4 armor. \n SPG or tanks – which to choose? + Answer: Ideally mix them 50/50 in a division. You can also use only tanks or only SPGs – against the AI it is not critical. SPGs provide more soft attack and consume more supply; tanks give breakthrough and soft attack while eating less supply. Choose to your taste. \n When should I switch from light to medium tanks? + Answer: The ideal time is once you have researched “Improved Medium Howitzer” and “Improved Medium Chassis” (usually 1939–1940). Lights are fine when the enemy is weak, but to break a strong major you need mediums. \n \n \n \n \n \n Template Difference \n \n Comparison of a beginner’s medium tank versus one built according to this guide. \n \n Stat Beginner Guide \n \n Soft Attack 41 53 \n Breakthrough 33 47 \n Reliability 53 76 \n Cost 15.25 17.56 \n \n \n \n \n \n\n \n \n \n \n \n Turret: Choosing Capacity \n \n The turret determines how heavy and powerful a gun you can mount. \n For tanks, SPGs and SPAAGs almost always pick the Three‑Man Medium Turret – it provides three slots for armament and modules. \n On light chassis use the Three‑Man Light Turret : slightly less space, but enough for light tanks and their SPG variants. \n For TDs and flame tanks use the Light Fixed Superstructure – it reduces breakthrough but lowers cost. \n \n \n \n \n Gun: Heart of the Machine \n \n Improved Medium Howitzer – the best price/performance, put it on medium tanks and SPGs. \n For light tanks and light SPGs mount the Close Support Gun – the best gun for a light chassis. \n A TD must carry the Improved Medium Cannon for its hard attack and piercing. \n For SPAAGs use the Improved Anti‑Air Gun – only it gives enough air attack. \n For heavy tanks, if you decide to build them, the same Improved Medium Cannon will do. \n \n \n \n \n Additional Modules: What to Put in Slots \n \n First priority – a level 2–3 radio , it significantly boosts breakthrough. \n Then Easy Maintenance (reliability + cost reduction) or Heavy Machine Gun (soft attack). \n In the remaining slots – Wet Ammo Storage (reliability) and a Stabilizer or Autoloader (breakthrough). \n Majors fill their slots more densely; minors stick to the bare essentials. Do not forget about proper doctrines – they also provide substantial breakthrough. \n \n \n \n \n Suspension: Balancing Speed and Firepower \n \n Forget wheeled suspension – it is terrible. \n Christie Suspension – the choice for fast breakthroughs, maximum speed. \n Interleaved Road Wheels – for a focus on breakthrough; give it to majors on medium and heavy vehicles. \n Torsion Bar Suspension helps when reliability is lacking. \n Balanced Suspension – a universal pick for minors or anyone who wants a bit of everything. \n \n \n \n \n Engine: Gasoline or Diesel \n \n In 90% of cases – a Gasoline Engine of no more than level 9. It gives good speed without inflating the cost. \n A diesel is only justified if reliability drops below 60% – it reduces speed but noticeably improves reliability. \n Do not chase high engine levels: in poor supply speed is still cut, and the price keeps rising. \n \n \n \n \n Armor: Riveted or Welded \n \n Majors can afford Welded Armor – the best, but it requires chromium. \n Minors stick with Riveted Armor . \n Against the AI raise armor to level 4; against a human – up to 9+. Do not go higher: extra tons of steel do not pay off in combat. \n \n \n \n \n Module Tier List \n \n Author’s subjective rating based on cost‑effectiveness. \n \n S Three‑Man Medium Turret Close Support Gun Improved Anti‑Air Gun Improved Medium Cannon Improved Medium Howitzer Upgraded Radio Heavy Machine Gun Easy Maintenance Interleaved Road Wheels Gasoline Engine \n A Light Fixed Superstructure Three‑Man Light Turret Improved Autocannon Improved Rocket Launcher Heavy Howitzer Improved Radio Extra Machine Guns Stabilizer Wet Ammo Storage Torsion Bar Suspension Welded Armor Diesel Engine Christie Suspension \n B Basic Autocannon Medium Cannon Medium Howitzer Rocket Launcher Upgraded Anti‑Air Gun Upgraded Autocannon Basic Radio Small Cannon Amphibious Drive Sloped Armor Autoloader Balanced Suspension Riveted Armor \n C Heavy Fixed Superstructure Two‑Man Heavy Turret Three‑Man Heavy Turret Superheavy Cannon Autocannon Extra Ammo Storage Gas‑Electric Engine Fuel Drum \n D Medium Fixed Superstructure One‑Man Medium Turret Two‑Man Medium Turret Basic Anti‑Air Gun Smoke Launchers Cone Adaptor \n F One‑Man Light Turret Two‑Man Light Turret Dozer Blade Cast Armor \n \n \n \n \n\n \n \n \n \n \n Tanks \n \n Build them in almost every campaign if you are playing with tanks. Four types: light, medium, heavy, modern. \n \n Light Tanks (LT): majors in 1938–39 against weak opponents (e.g., Germany vs. Poland/France). Not worthwhile for minors – they will not make it in time. \n Medium Tanks (MT): both minors and majors. Minors switch to MT immediately. Majors produce them for the final, strong enemies (Germany vs. USSR). \n Heavy and Modern Tanks: do not build – too expensive, too supply‑hungry; MT/SPG replace them. \n \n Focus on breakthrough and soft attack. \n \n \n \n \n SPGs \n \n Build in every campaign. Ideally mix them 50/50 with tanks: tanks give breakthrough, SPGs give soft attack. You can also use only tanks or only SPGs. In multiplayer you cannot rely on just one – you will need tanks and sometimes SPAAGs and TDs. \n \n Minors: go straight to medium SPGs. \n Majors: start with light SPGs, then move to medium. \n Heavy and Modern SPGs: avoid – supply cannot handle them. \n \n Focus on soft attack. \n \n \n \n \n TDs \n \n Build only against a hyper‑major with tanks (e.g., Germany) or in multiplayer. In vanilla single‑player they are never needed – they have never been useful. Focus on piercing and hard attack. They are added to tank divisions in multiplayer. \n \n \n \n \n SPAAGs \n \n Same as TDs – multiplayer only. In single‑player a few hundred top‑tier fighters are enough. They reduce the air‑attack debuff, but in single‑player only an extremely cheap version is justified. Focus on air attack. \n \n \n \n \n What & When to Build \n \n \n Type When to Build Stat Focus \n \n Tank When you need to break the front line Breakthrough, Soft Attack \n SPG When the enemy has mostly infantry Soft Attack \n TD When the enemy fields huge tank forces Piercing, Hard Attack \n SPAAG When the enemy has total air superiority Air Attack \n \n \n \n \n \n\n \n \n \n Tank \n SPG \n TD \n SPAAG \n \n \n Light \n Medium \n Heavy \n Modern \n \n \n Minor \n Major \n \n \n \n \n\n \n \n \n From the Author \n \n This guide is based on hundreds of hours of gameplay and analysis of the current meta. The templates are chosen for the constraints of an ordinary playthrough, without extreme min‑maxing. Use this knowledge to ensure your armor always dominates the battlefield. \n Up to date as of 2026, version 1.19+, all DLC, single player. \n \n "],"css":["* {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nhtml, body {\n width: 100%;\n overflow-x: hidden !important;\n scroll-behavior: smooth;\n}\n\nbody {\n --bg-deep: #0d0c09;\n --gold-light: #f5d98b;\n --gold: #e2b660;\n --gold-dim: #b5943e;\n --green: #7aad7e;\n --green-glow: rgba(122, 173, 126, 0.5);\n --red: #c56a6a;\n --card-bg: rgba(22, 21, 18, 0.8);\n --card-border: rgba(226, 182, 96, 0.15);\n --text-primary: #f0ead8;\n --text-secondary: #c8c0a8;\n --text-muted: #908870;\n --shadow-gold: 0 0 20px rgba(226, 182, 96, 0.2);\n --shadow-card: 0 12px 28px rgba(0,0,0,0.6), 0 0 0 1px rgba(226,182,96,0.08);\n background: radial-gradient(ellipse at 50% 20%, rgba(226, 182, 96, 0.08) 0%, #0a0906 80%);\n background-attachment: fixed;\n color: #f0ead8;\n font-family: 'Segoe UI', 'Inter', system-ui, sans-serif;\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n min-height: 100vh;\n position: relative;\n}\n\ncanvas#particles-canvas {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: -1;\n pointer-events: none;\n}\n\n.volunteer-guide {\n max-width: 1200px;\n margin: 0 auto;\n padding: 37.5px 25px;\n user-select: text;\n position: relative;\n z-index: 1;\n}\n\n.guide-tabs {\n position: sticky;\n top: 73px;\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n background: rgba(12, 11, 8, 0.9);\n backdrop-filter: blur(20px);\n padding: 12.5px 12.5px;\n border-radius: 20px;\n border: 1px solid rgba(226, 182, 96, 0.35);\n box-shadow: 0 12px 40px rgba(0,0,0,0.8), 0 0 30px rgba(226,182,96,0.1), inset 0 1px 0 rgba(255,255,255,0.05);\n z-index: 1000;\n margin-bottom: 37.5px;\n}\n\n.guide-tab {\n background: transparent;\n border: 1px solid transparent;\n color: #b8b098;\n padding: 15px 27.5px;\n font-size: 15.9px;\n font-weight: 600;\n border-radius: 14px;\n cursor: pointer;\n transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1);\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n text-align: center;\n min-width: 110px;\n letter-spacing: 0.3px;\n}\n\n.guide-tab::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: 14px;\n padding: 1px;\n background: linear-gradient(135deg, transparent, rgba(226,182,96,0.6), transparent);\n -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n mask-composite: exclude;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.guide-tab:hover::before {\n opacity: 0.8;\n}\n\n.guide-tab:hover {\n color: #f5e6c7;\n background: rgba(226, 182, 96, 0.12);\n text-shadow: 0 0 8px rgba(226,182,96,0.4);\n}\n\n.guide-tab.active {\n color: #f7e3a8;\n background: rgba(226, 182, 96, 0.2);\n border-color: rgba(226, 182, 96, 0.6);\n box-shadow: 0 0 30px rgba(226, 182, 96, 0.4), inset 0 0 15px rgba(226,182,96,0.15);\n text-shadow: 0 0 12px rgba(226,182,96,0.6);\n}\n\n.guide-tab.active::before {\n opacity: 1;\n background: linear-gradient(135deg, rgba(226,182,96,0.8), rgba(226,182,96,0.2), rgba(226,182,96,0.8));\n}\n\n.tab-panel {\n display: none;\n}\n\n.tab-panel.active {\n display: block;\n}\n\n.hero-card {\n background: linear-gradient(145deg, rgba(226, 182, 96, 0.18) 0%, rgba(20, 18, 13, 1) 100%);\n border: 1px solid rgba(226,182,96,0.35);\n border-radius: 28px;\n padding: 68.75px 50px;\n text-align: center;\n margin-bottom: 50px;\n position: relative;\n overflow: hidden;\n box-shadow: 0 25px 60px rgba(0,0,0,0.8), 0 0 50px rgba(226,182,96,0.15), inset 0 2px 0 rgba(255,255,255,0.05);\n backdrop-filter: blur(12px);\n}\n\n.hero-card::before {\n content: '';\n position: absolute;\n top: -80px;\n right: -80px;\n width: 300px;\n height: 300px;\n background: radial-gradient(circle, rgba(226,182,96,0.25) 0%, transparent 70%);\n border-radius: 50%;\n z-index: 0;\n}\n\n.hero-card::after {\n content: '';\n position: absolute;\n bottom: -80px;\n left: -80px;\n width: 280px;\n height: 280px;\n background: radial-gradient(circle, rgba(196, 152, 64, 0.15) 0%, transparent 70%);\n border-radius: 50%;\n z-index: 0;\n}\n\n.hero-badge {\n display: inline-block;\n background: rgba(226, 182, 96, 0.25);\n color: #f7e3a8;\n padding: 12.5px 35px;\n border-radius: 40px;\n font-size: 15.1px;\n font-weight: 600;\n margin-bottom: 27.5px;\n letter-spacing: 0.6px;\n backdrop-filter: blur(8px);\n border: 1px solid rgba(226, 182, 96, 0.5);\n box-shadow: 0 0 25px rgba(226,182,96,0.3);\n position: relative;\n z-index: 1;\n}\n\n.hero-title {\n font-size: 3.02rem;\n font-weight: 800;\n margin-bottom: 20px;\n color: #faeec8;\n line-height: 1.2;\n position: relative;\n z-index: 1;\n text-shadow: 0 4px 20px rgba(0,0,0,0.8), 0 0 50px rgba(226,182,96,0.3);\n}\n\n.hero-sub {\n font-size: 1.23rem;\n color: #d9d0b5;\n margin-bottom: 37.5px;\n position: relative;\n z-index: 1;\n font-weight: 400;\n text-shadow: 0 2px 10px rgba(0,0,0,0.6);\n}\n\n.hero-grid {\n display: flex;\n justify-content: center;\n gap: 62.5px;\n flex-wrap: wrap;\n margin-top: 37.5px;\n position: relative;\n z-index: 1;\n}\n\n.hero-stat {\n position: relative;\n flex: 1 1 0;\n min-width: 150px;\n text-align: center;\n border-radius: 20px;\n padding: 30px 20px;\n backdrop-filter: blur(10px);\n border: 1px solid rgba(226, 182, 96, 0.2);\n background: rgba(20, 18, 13, 0.5);\n transition: all 0.3s ease;\n box-shadow: 0 6px 18px rgba(0,0,0,0.6);\n}\n\n.hero-stat:hover {\n transform: translateY(-8px);\n border-color: rgba(226, 182, 96, 0.6);\n box-shadow: 0 12px 28px rgba(226,182,96,0.3), 0 16px 40px rgba(0,0,0,0.7);\n background: rgba(25, 22, 15, 0.7);\n}\n\n.hero-stat + .hero-stat::before {\n content: '';\n position: absolute;\n left: -31.25px;\n top: 20%;\n bottom: 20%;\n width: 1px;\n background: linear-gradient(to bottom, transparent, rgba(226,182,96,0.5), transparent);\n}\n\n.hero-stat-num {\n display: block;\n font-size: 2.46rem;\n font-weight: 700;\n color: #f5d78c;\n line-height: 1.2;\n margin-bottom: 10px;\n text-shadow: 0 0 20px rgba(226, 182, 96, 0.6);\n}\n\n.hero-stat-label {\n font-size: 0.95rem;\n color: #b0a890;\n font-weight: 500;\n}\n\n.cards-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(480px, 1fr));\n gap: 35px;\n margin-bottom: 50px;\n align-items: stretch;\n}\n\n.full-width {\n grid-column: 1 / -1;\n}\n\n.center-single-card {\n display: grid;\n grid-template-columns: 1fr;\n max-width: 600px;\n margin: 0 auto 50px;\n justify-self: center;\n}\n\n.card {\n background: linear-gradient(160deg, rgba(30, 28, 22, 0.95) 0%, rgba(20, 18, 13, 0.98) 100%);\n border: 1px solid rgba(226, 182, 96, 0.2);\n border-radius: 22px;\n padding: 35px;\n box-shadow: var(--shadow-card);\n transition: all 0.35s ease;\n overflow: hidden;\n position: relative;\n backdrop-filter: blur(4px);\n}\n\n.card::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: radial-gradient(circle at 30% 10%, rgba(226,182,96,0.03), transparent 60%);\n pointer-events: none;\n}\n\n.card-animate {\n opacity: 0;\n transition: opacity 1.2s ease, transform 1.2s ease;\n}\n\n.card:hover {\n border-color: rgba(226, 182, 96, 0.5);\n box-shadow: 0 18px 40px rgba(0,0,0,0.8), 0 0 35px rgba(226,182,96,0.15);\n}\n\n.card-header {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 15px;\n margin-bottom: 27.5px;\n padding-bottom: 17.5px;\n border-bottom: 1px solid rgba(226, 182, 96, 0.25);\n}\n\n.card-header h2 {\n font-size: 1.80rem;\n font-weight: 700;\n color: #faeec8;\n margin: 0;\n text-shadow: 0 0 16px rgba(226,182,96,0.3);\n letter-spacing: 0.5px;\n}\n\n.card-icon {\n flex-shrink: 0;\n filter: drop-shadow(0 0 10px rgba(226, 182, 96, 0.6));\n transition: transform 0.3s ease;\n}\n\n.card-icon:hover {\n transform: rotate(-8deg) scale(1.2);\n}\n\n.card p {\n color: #c8c0a8;\n font-size: 16.1px;\n line-height: 1.75;\n margin-bottom: 20px;\n}\n\n.card h3 {\n font-size: 1.32rem;\n color: #e2b660;\n margin-bottom: 0.6em;\n text-shadow: 0 0 8px rgba(226,182,96,0.3);\n}\n\n.card ul:not(.styled-list) {\n list-style: none;\n padding: 0;\n}\n\n.card ul:not(.styled-list) li {\n position: relative;\n padding: 7.5px 0 7.5px 32.5px;\n color: #c8c0a8;\n font-size: 15.1px;\n line-height: 1.65;\n border-bottom: 1px solid rgba(226, 182, 96, 0.08);\n}\n\n.card ul:not(.styled-list) li::before {\n content: '›';\n position: absolute;\n left: 7.5px;\n color: #e2b660;\n font-size: 21px;\n line-height: 1;\n}\n\n.styled-list {\n list-style: none;\n padding: 0;\n}\n\n.styled-list li {\n background: rgba(35, 33, 26, 0.8);\n border: 1px solid rgba(226,182,96,0.2);\n border-radius: 10px;\n padding: 17.5px 22.5px;\n margin-bottom: 12.5px;\n color: #c0b898;\n font-size: 16.1px;\n transition: all 0.25s ease;\n backdrop-filter: blur(6px);\n line-height: 1.65;\n}\n\n.styled-list li:hover {\n background: rgba(50, 47, 37, 0.9);\n border-color: rgba(226,182,96,0.5);\n box-shadow: 0 0 20px rgba(226,182,96,0.15);\n}\n\n.faq-accordion {\n border: 1px solid rgba(226,182,96,0.3);\n border-radius: 14px;\n overflow: hidden;\n background: rgba(18, 17, 12, 0.9);\n backdrop-filter: blur(8px);\n margin-top: 12.5px;\n box-shadow: 0 6px 18px rgba(0,0,0,0.6);\n}\n\n.faq-item {\n border-bottom: 1px solid rgba(226,182,96,0.2);\n}\n\n.faq-item:last-child {\n border-bottom: none;\n}\n\n.faq-question {\n background: none;\n border: none;\n width: 100%;\n text-align: left;\n padding: 20px 27.5px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: #f0ead8;\n font-size: 16.1px;\n font-weight: 600;\n cursor: pointer;\n transition: background 0.25s ease;\n}\n\n.faq-question:hover {\n background: rgba(226,182,96,0.12);\n}\n\n.faq-answer {\n max-height: 0;\n overflow: hidden;\n opacity: 0;\n padding: 0 27.5px;\n color: #c0b898;\n transition: max-height 0.45s ease, opacity 0.45s ease, padding 0.45s ease;\n background: rgba(0,0,0,0.3);\n}\n\n.faq-item.open .faq-answer {\n max-height: 400px;\n opacity: 1;\n padding: 20px 27.5px;\n}\n\n.faq-icon {\n font-size: 25px;\n color: #e2b660;\n transition: transform 0.35s ease;\n filter: drop-shadow(0 0 6px rgba(226,182,96,0.5));\n}\n\n.faq-item.open .faq-icon {\n transform: rotate(45deg);\n}\n\n.doctrine-table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0 12.5px;\n margin: 27.5px 0;\n font-size: 14.2px;\n}\n\n.doctrine-table thead th {\n background: rgba(226, 182, 96, 0.2);\n color: #f5d78c;\n font-weight: 700;\n padding: 17.5px 20px;\n text-align: left;\n border-radius: 12px 12px 0 0;\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-bottom: none;\n text-shadow: 0 0 8px rgba(226,182,96,0.3);\n}\n\n.doctrine-table tbody td {\n background: rgba(18, 17, 12, 0.9);\n color: #c8c0a8;\n padding: 15px 20px;\n border: 1px solid rgba(226, 182, 96, 0.15);\n border-top: none;\n transition: background 0.25s;\n}\n\n.doctrine-table tbody tr:first-child td {\n border-top: 1px solid rgba(226, 182, 96, 0.2);\n}\n\n.doctrine-table tbody tr:hover td {\n background: rgba(30, 28, 20, 0.95);\n border-color: rgba(226, 182, 96, 0.4);\n}\n\n.positive-value {\n color: #7aad7e;\n font-weight: 700;\n text-shadow: 0 0 8px rgba(122, 173, 126, 0.5);\n}\n\n.negative-value {\n color: #c56a6a;\n font-weight: 700;\n text-shadow: 0 0 6px rgba(200, 80, 80, 0.5);\n}\n\n.moderate-value {\n color: #d4a83c;\n font-weight: 700;\n text-shadow: 0 0 6px rgba(212, 168, 60, 0.5);\n}\n\n.accent {\n color: #e2b660;\n font-weight: 600;\n text-shadow: 0 0 8px rgba(226, 182, 96, 0.5);\n}\n\n.author-card {\n background: linear-gradient(145deg, #1f1d18 0%, #151410 100%);\n border: 1px solid rgba(226,182,96,0.3);\n border-radius: 22px;\n padding: 37.5px;\n text-align: center;\n margin-top: 50px;\n box-shadow: 0 14px 36px rgba(0,0,0,0.6), 0 0 28px rgba(226,182,96,0.08);\n backdrop-filter: blur(12px);\n}\n\n.author-card .card-header {\n justify-content: center;\n border-bottom: none;\n margin-bottom: 22.5px;\n}\n\n.author-date {\n color: #908870;\n font-size: 12.5px;\n margin-top: 15px;\n}\n\n.meta-templates-card {\n text-align: center;\n}\n\n.meta-tabs-level1,\n.meta-tabs-level2,\n.meta-tabs-level3 {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n margin-bottom: 20px;\n}\n\n.meta-tab,\n.meta-subtab,\n.meta-nationtab {\n background: transparent;\n border: 1px solid rgba(226, 182, 96, 0.3);\n color: #b8b098;\n padding: 10px 25px;\n font-size: 15px;\n font-weight: 600;\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.25s ease;\n white-space: nowrap;\n}\n\n.meta-tab:hover,\n.meta-subtab:hover,\n.meta-nationtab:hover {\n color: #f5e6c7;\n background: rgba(226, 182, 96, 0.12);\n border-color: rgba(226, 182, 96, 0.6);\n}\n\n.meta-tab.active,\n.meta-subtab.active,\n.meta-nationtab.active {\n color: #f7e3a8;\n background: rgba(226, 182, 96, 0.25);\n border-color: rgba(226, 182, 96, 0.7);\n box-shadow: 0 0 12px rgba(226, 182, 96, 0.3);\n}\n\n.meta-template-content {\n margin-top: 30px;\n text-align: left;\n}\n\n.template-details {\n max-width: 800px;\n margin: 0 auto;\n padding: 28px 24px;\n background: rgba(18, 17, 12, 0.85);\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-radius: 20px;\n box-shadow: 0 18px 40px rgba(0,0,0,0.6), 0 0 30px rgba(226,182,96,0.08);\n backdrop-filter: blur(12px);\n}\n\n.template-details h3 {\n text-align: center;\n font-size: 1.6rem;\n color: #f5d78c;\n margin-bottom: 24px;\n letter-spacing: 0.5px;\n}\n\n.template-categories {\n display: flex;\n flex-wrap: wrap;\n gap: 18px;\n justify-content: center;\n margin-bottom: 24px;\n}\n\n.template-category {\n flex: 1 1 280px;\n min-width: 250px;\n background: rgba(30, 28, 22, 0.7);\n border: 1px solid rgba(226, 182, 96, 0.25);\n border-radius: 14px;\n padding: 16px;\n backdrop-filter: blur(8px);\n transition: border-color 0.3s, box-shadow 0.3s;\n}\n\n.template-category:hover {\n border-color: rgba(226, 182, 96, 0.55);\n box-shadow: 0 0 20px rgba(226,182,96,0.15);\n}\n\n.template-category > strong {\n display: block;\n margin-bottom: 12px;\n font-size: 1.1rem;\n color: #f5d78c;\n text-transform: uppercase;\n letter-spacing: 1px;\n border-bottom: 1px solid rgba(226,182,96,0.25);\n padding-bottom: 6px;\n}\n\n.module-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.module-chip {\n display: inline-flex;\n align-items: center;\n background: rgba(226, 182, 96, 0.12);\n border: 1px solid rgba(226, 182, 96, 0.3);\n border-radius: 20px;\n padding: 6px 14px;\n font-size: 14px;\n color: #e0c880;\n transition: all 0.2s ease;\n cursor: default;\n}\n\n.module-chip:hover {\n background: rgba(226, 182, 96, 0.22);\n border-color: #e2b660;\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(226,182,96,0.2);\n}\n\n.module-chip img.tier-icon {\n width: 20px;\n height: 20px;\n margin-right: 8px;\n border-radius: 2px;\n object-fit: cover;\n}\n\n.template-main-image {\n display: block;\n max-width: 100%;\n margin: 20px auto 0;\n border-radius: 10px;\n border: 1px solid rgba(226,182,96,0.3);\n cursor: pointer;\n transition: transform 0.3s, box-shadow 0.3s;\n}\n\n.template-main-image:hover {\n transform: scale(1.02);\n box-shadow: 0 8px 25px rgba(0,0,0,0.5), 0 0 20px rgba(226,182,96,0.15);\n}\n\n.tier-list {\n margin-top: 15px;\n}\n\n.tier-row {\n display: flex;\n align-items: stretch;\n margin-bottom: 8px;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 4px 10px rgba(0,0,0,0.3);\n}\n\n.tier-label {\n width: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.6rem;\n font-weight: 800;\n color: #fff;\n flex-shrink: 0;\n}\n\n.tier-s .tier-label { background: #c49840; color: #1a1814; }\n.tier-a .tier-label { background: #7aad7e; }\n.tier-b .tier-label { background: #6b9a9a; }\n.tier-c .tier-label { background: #5a7a9a; }\n.tier-d .tier-label { background: #7a7a8a; }\n.tier-f .tier-label { background: #5a5a6a; }\n\n.tier-items {\n padding: 10px 14px;\n background: rgba(15, 14, 12, 0.8);\n backdrop-filter: blur(4px);\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n}\n\n.tier-tag {\n display: inline-flex;\n align-items: center;\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 14.4px;\n font-weight: 500;\n white-space: nowrap;\n border: 1px solid transparent;\n transition: all 0.2s ease;\n}\n\n.tier-tag:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.4);\n}\n\n.tier-icon,\n.doctrine-inline-icon {\n width: 22px;\n height: 22px;\n vertical-align: middle;\n margin-right: 6px;\n border-radius: 3px;\n object-fit: cover;\n}\n\n.tier-tag-s { background: rgba(196, 152, 64, 0.15); color: #e0c880; border-color: rgba(196, 152, 64, 0.3); }\n.tier-tag-a { background: rgba(122, 173, 126, 0.15); color: #a0d0a0; border-color: rgba(122, 173, 126, 0.3); }\n.tier-tag-b { background: rgba(107, 154, 154, 0.15); color: #8cc0c0; border-color: rgba(107, 154, 154, 0.3); }\n.tier-tag-c { background: rgba(90, 122, 154, 0.15); color: #8aa0c0; border-color: rgba(90, 122, 154, 0.3); }\n.tier-tag-d { background: rgba(122, 122, 138, 0.15); color: #a0a0b0; border-color: rgba(122, 122, 138, 0.3); }\n.tier-tag-f { background: rgba(90, 90, 106, 0.15); color: #808090; border-color: rgba(90, 90, 106, 0.3); }\n\n.card-animate.visible {\n opacity: 1;\n transform: translateY(0);\n}\n\n.ripple {\n position: absolute;\n border-radius: 50%;\n background: rgba(226, 182, 96, 0.5);\n transform: scale(0);\n animation: ripple 0.6s linear;\n pointer-events: none;\n}\n\n@keyframes ripple {\n to { transform: scale(4); opacity: 0; }\n}\n\n.volunteer-guide a,\n.guide-link {\n color: #e2b660;\n text-decoration: none;\n font-weight: 600;\n border-bottom: 1px solid rgba(226, 182, 96, 0.4);\n transition: color 0.2s, border-color 0.2s, text-shadow 0.2s;\n}\n\n.volunteer-guide a:hover,\n.guide-link:hover {\n color: #f5d98b;\n border-bottom-color: #f5d98b;\n text-shadow: 0 0 8px rgba(226, 182, 96, 0.4);\n}\n\n.card-img {\n display: block;\n max-width: 100%;\n height: auto;\n margin: 20px auto 0;\n border-radius: 8px;\n border: 1px solid rgba(226, 182, 96, 0.2);\n}\n\n@media (max-width: 768px) {\n .guide-tabs {\n position: static;\n margin-bottom: 25px;\n flex-wrap: nowrap;\n overflow-x: auto;\n white-space: nowrap;\n justify-content: flex-start;\n gap: 7.5px;\n padding: 10px 10px;\n -webkit-overflow-scrolling: touch;\n }\n\n .guide-tab {\n font-size: 13.2px;\n padding: 12.5px 20px;\n min-width: auto;\n flex-shrink: 0;\n }\n\n .hero-card {\n padding: 40px 20px;\n border-radius: 20px;\n }\n\n .hero-title {\n font-size: 1.9rem;\n }\n\n .hero-sub {\n font-size: 0.95rem;\n }\n\n .hero-grid {\n gap: 25px;\n }\n\n .hero-stat {\n min-width: 120px;\n padding: 20px 12.5px;\n }\n\n .hero-stat + .hero-stat::before { display: none; }\n\n .hero-stat-num { font-size: 1.9rem; }\n .hero-stat-label { font-size: 0.85rem; }\n\n .cards-grid,\n .center-single-card {\n grid-template-columns: 1fr;\n max-width: 100%;\n margin: 0 0 40px 0;\n gap: 25px;\n }\n\n .full-width { grid-column: 1 / -1; }\n\n .card {\n padding: 25px;\n overflow-x: auto;\n overflow-y: visible;\n }\n\n .card-header h2 {\n font-size: 1.42rem;\n word-break: break-word;\n }\n\n .card p { font-size: 14.2px; }\n .styled-list li { font-size: 14.2px; padding: 15px; }\n\n .doctrine-table {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n border-spacing: 0 8px;\n margin: 20px 0;\n }\n\n .doctrine-table thead,\n .doctrine-table tbody,\n .doctrine-table tr,\n .doctrine-table th,\n .doctrine-table td {\n white-space: nowrap;\n }\n\n .doctrine-table tbody td { padding: 10px 12px; }\n .doctrine-table thead th { padding: 12px 12px; }\n\n .meta-tabs-level1,\n .meta-tabs-level2,\n .meta-tabs-level3 {\n flex-wrap: nowrap;\n overflow-x: auto;\n justify-content: flex-start;\n padding-bottom: 5px;\n -webkit-overflow-scrolling: touch;\n }\n\n .meta-tab,\n .meta-subtab,\n .meta-nationtab {\n font-size: 13px;\n padding: 8px 16px;\n flex-shrink: 0;\n }\n\n .template-category {\n flex: 1 1 100%;\n min-width: 0;\n }\n\n .tier-row { flex-direction: column; }\n .tier-label { width: 100%; height: 36px; font-size: 1.2rem; }\n .tier-items { justify-content: center; }\n\n .faq-question { font-size: 15px; padding: 15px 20px; }\n .faq-answer { padding: 0 20px; }\n .faq-item.open .faq-answer { padding: 15px 20px; }\n\n .card-img { max-width: 100%; height: auto; }\n .card svg { max-width: 100%; height: auto; }\n .author-card { padding: 25px; }\n}\n\n@media (max-width: 480px) {\n .volunteer-guide { padding: 20px 10px; }\n .hero-card { padding: 30px 15px; border-radius: 16px; }\n .hero-badge { font-size: 13.2px; padding: 8px 20px; }\n .hero-title { font-size: 1.61rem; }\n .hero-sub { font-size: 0.9rem; }\n .hero-stat-num { font-size: 1.7rem; }\n .guide-tab { font-size: 12px; padding: 10px 15px; }\n .card { padding: 20px 15px; border-radius: 16px; }\n .card-header h2 { font-size: 1.2rem; }\n .card p { font-size: 13px; }\n .styled-list li { font-size: 13px; padding: 12px; }\n .doctrine-table tbody td,\n .doctrine-table thead th { font-size: 12px; padding: 8px 10px; }\n .meta-tab,\n .meta-subtab,\n .meta-nationtab { font-size: 11px; padding: 6px 12px; }\n}"],"js":["(function () {\n 'use strict';\n\n if (window.__tankGuideInitialized) return;\n window.__tankGuideInitialized = true;\n\n if (!document.getElementById('tank-guide-modal-styles')) {\n var styleEl = document.createElement('style');\n styleEl.id = 'tank-guide-modal-styles';\n styleEl.textContent = '.template-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer}.template-modal-content{position:relative;max-width:90vw;max-height:90vh;overflow:auto;background:#1a1915;border:1px solid rgba(226,182,96,0.4);border-radius:12px;padding:16px;box-shadow:0 25px 60px rgba(0,0,0,0.9);display:flex;flex-direction:column;align-items:center}.template-modal-content img{max-width:100%;height:auto;display:block;border-radius:4px}.template-modal-close{align-self:flex-end;font-size:32px;color:#e2b660;cursor:pointer;line-height:1;margin-bottom:8px;transition:color 0.2s}.template-modal-close:hover{color:#f5d98b}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px)}}.template-fade-in{animation:fadeInUp 0.4s ease forwards}.template-fade-out{animation:fadeOut 0.25s ease forwards}';\n document.head.appendChild(styleEl);\n }\n\n var moduleIcons = {\n 'Three-Man Light Turret': 'icon_three_man_light_turret.png',\n 'Three-Man Medium Turret': 'icon_three_man_medium_turret.png',\n 'Three-Man Heavy Turret': 'icon_three_man_heavy_turret.png',\n 'Light Fixed Superstructure': 'icon_light_fixed_superstructure.png',\n 'Close Support Gun': 'icon_close_support_gun.png',\n 'Improved Medium Howitzer': 'icon_improved_medium_howitzer.png',\n 'Improved Medium Cannon': 'icon_improved_medium_cannon.png',\n 'Improved Anti-Air Gun': 'icon_improved_aa_gun.png',\n 'Upgraded Anti-Air Gun': 'icon_modern_aa_gun.png',\n 'Heavy Machine Gun': 'icon_heavy_mg.png',\n 'Extra Machine Gun': 'icon_extra_mg.png',\n 'Basic Radio': 'icon_basic_radio.png',\n 'Improved Radio': 'icon_improved_radio.png',\n 'Upgraded Radio': 'icon_modern_radio.png',\n 'Advanced Radio': 'icon_modern_radio.png',\n 'Wet Ammo Storage': 'icon_wet_ammo_storage.png',\n 'Stabilizer': 'icon_stabilizer.png',\n 'Easy Maintenance': 'icon_easy_maintenance.png',\n 'Autoloader': 'icon_autoloader.png',\n 'Cone Adaptor': 'icon_cone_adaptor.png',\n 'Interleaved Road Wheels': 'icon_interleaved_suspension.png',\n 'Balanced Suspension': 'icon_balanced_suspension.png',\n 'Torsion Bar Suspension': 'icon_torsion_bar_suspension.png',\n 'Christie Suspension': 'icon_christie_suspension.png',\n 'Riveted Armor': 'icon_riveted_armor.png',\n 'Welded Armor': 'icon_welded_armor.png',\n 'Gasoline Engine': 'icon_gasoline_engine.png',\n 'Diesel Engine': 'icon_diesel_engine.png',\n 'Cast Armor': 'icon_cast_armor.png',\n 'Heavy Three-Man Turret': 'icon_three_man_heavy_turret.png',\n 'Advanced High-Velocity Cannon': 'icon_improved_medium_cannon.png'\n };\n\n function getIconPath(rawName) {\n var clean = rawName.replace(/\\s*\\(.*?\\)/, '').trim();\n var file = moduleIcons[clean];\n return file ? '/public/themes/hoi4/armor_designer/' + file : '';\n }\n\n var templatesData = {\n tank: { light: { minor: { image: '/public/themes/hoi4/armor_designer/lt_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Basic Radio', 'Heavy Machine Gun'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/lt.ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Extra Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/mt_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mt_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun (x2)', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/ht_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ht_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Welded Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/mo_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mo_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Stabilizer', 'Easy Maintenance', 'Autoloader'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 7)'] }] } } },\n spg: { light: { minor: { image: '/public/themes/hoi4/armor_designer/la_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/la_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Close Support Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Extra Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/ma_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio', 'Wet Ammo Storage'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ma_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Wet Ammo Storage', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/ha_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ha_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun (x3)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/moa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/moa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Howitzer'] }, { title: 'Other', items: ['Improved Radio', 'Autoloader', 'Stabilizer', 'Easy Maintenance'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } } },\n td: { light: { minor: { image: '/public/themes/hoi4/armor_designer/ltd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/ltd_ma.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/mtd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/mtd_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 4)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/htd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Basic Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/htd_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor', 'Heavy Machine Gun (x2)'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 5)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/motd_m.jpg', categories: [{ title: 'Turret', items: ['Light Fixed Superstructure'] }, { title: 'Gun', items: ['Improved Medium Cannon'] }, { title: 'Other', items: ['Improved Radio', 'Cone Adaptor'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/motd_ma.jpg', categories: [{ title: 'Turret', items: ['Heavy Three-Man Turret'] }, { title: 'Gun', items: ['Advanced High-Velocity Cannon'] }, { title: 'Other', items: ['Advanced Radio', 'Cone Adaptor', 'Autoloader', 'Easy Maintenance'] }, { title: 'Suspension', items: ['Interleaved Road Wheels'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 6)'] }] } } },\n aa: { light: { minor: { image: '/public/themes/hoi4/armor_designer/laa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/laa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio', 'Heavy Machine Gun'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] } }, medium: { minor: { image: '/public/themes/hoi4/armor_designer/maa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 1)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/maa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 4)'] }] } }, heavy: { minor: { image: '/public/themes/hoi4/armor_designer/haa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Basic Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 4)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/haa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 9)'] }, { title: 'Engine', items: ['Gasoline Engine (level 9)'] }] } }, modern: { minor: { image: '/public/themes/hoi4/armor_designer/moaa_m.jpg', categories: [{ title: 'Turret', items: ['Three-Man Light Turret'] }, { title: 'Gun', items: ['Improved Anti-Air Gun'] }, { title: 'Other', items: ['Improved Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 0)'] }] }, major: { image: '/public/themes/hoi4/armor_designer/moaa_ma.jpg', categories: [{ title: 'Turret', items: ['Three-Man Medium Turret'] }, { title: 'Gun', items: ['Upgraded Anti-Air Gun'] }, { title: 'Other', items: ['Upgraded Radio'] }, { title: 'Suspension', items: ['Balanced Suspension'] }, { title: 'Armor', items: ['Riveted Armor (level 0)'] }, { title: 'Engine', items: ['Gasoline Engine (level 2)'] }] } } }\n };\n\n function initParticles() {\n if (window.__guideParticlesInitialized) return;\n window.__guideParticlesInitialized = true;\n var canvas = document.getElementById('particles-canvas');\n if (!canvas || canvas.dataset.initialized === 'true') return;\n canvas.dataset.initialized = 'true';\n var ctx = canvas.getContext('2d');\n var particles = [];\n var maxParticles = 28;\n var mouseX = window.innerWidth / 2;\n var mouseY = window.innerHeight / 2;\n\n function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; initParticlesArray(); }\n var goldColors = ['rgba(226,182,96,0.25)','rgba(196,152,64,0.30)','rgba(212,168,84,0.20)','rgba(180,140,50,0.22)'];\n\n function drawTarget(x,y,s,c,a) {\n ctx.save(); ctx.translate(x,y); ctx.rotate(a); var h=s*0.35;\n ctx.strokeStyle=c; ctx.lineWidth=0.8;\n ctx.beginPath(); ctx.moveTo(0,-h); ctx.lineTo(h,0); ctx.lineTo(0,h); ctx.lineTo(-h,0); ctx.closePath(); ctx.stroke();\n ctx.beginPath(); ctx.moveTo(-h*0.6,0); ctx.lineTo(h*0.6,0); ctx.moveTo(0,-h*0.6); ctx.lineTo(0,h*0.6); ctx.stroke();\n ctx.restore();\n }\n\n function Particle() { this.init(); }\n Particle.prototype.init = function() {\n this.x=Math.random()*canvas.width; this.y=Math.random()*canvas.height; this.size=Math.random()*18+12;\n this.baseSpeedX=(Math.random()-0.5)*0.1; this.baseSpeedY=(Math.random()-0.5)*0.1;\n this.rotationSpeed=(Math.random()-0.5)*0.005; this.angle=Math.random()*Math.PI*2;\n this.opacity=Math.random()*0.6+0.2; this.pulseSpeed=Math.random()*0.006+0.003;\n this.pulseOffset=Math.random()*Math.PI*2; this.color=goldColors[Math.floor(Math.random()*goldColors.length)]; this.time=0;\n };\n Particle.prototype.update = function() {\n var dx=mouseX-canvas.width/2, dy=mouseY-canvas.height/2;\n this.speedX=this.baseSpeedX+dx*0.00015; this.speedY=this.baseSpeedY+dy*0.00015;\n this.x+=this.speedX; this.y+=this.speedY; this.angle+=this.rotationSpeed; this.time+=this.pulseSpeed;\n if(this.x canvas.width+this.size*2)this.x=-this.size;\n if(this.y canvas.height+this.size*2)this.y=-this.size;\n };\n Particle.prototype.draw = function() {\n var pulse=0.5+0.5*Math.sin(this.time+this.pulseOffset), alpha=this.opacity*(0.5+0.5*pulse);\n ctx.globalAlpha=alpha; drawTarget(this.x,this.y,this.size,this.color,this.angle); ctx.globalAlpha=1;\n };\n\n function initParticlesArray() { particles=[]; for(var i=0;i × ';\n document.body.appendChild(overlay);\n }\n\n function getActiveMetaValues() {\n var typeEl=document.querySelector('.meta-tab.active'), weightEl=document.querySelector('.meta-subtab.active'), nationEl=document.querySelector('.meta-nationtab.active');\n return {type:typeEl?typeEl.getAttribute('data-type'):'tank', weight:weightEl?weightEl.getAttribute('data-weight'):'light', nation:nationEl?nationEl.getAttribute('data-nation'):'minor'};\n }\n\n function renderMetaTemplate() {\n var container=document.getElementById('meta-template-content'); if(!container)return;\n var meta=getActiveMetaValues();\n var data=templatesData[meta.type]&&templatesData[meta.type][meta.weight]&&templatesData[meta.type][meta.weight][meta.nation];\n\n function insertNewContent() {\n var wrapper=document.createElement('div'); wrapper.className='template-wrapper'; wrapper.style.opacity='0';\n if(!data) { wrapper.innerHTML=' No data for the selected combination. '; }\n else {\n var html=' Components ';\n for(var i=0;i '+cat.title+' ';\n for(var j=0;j ';\n if(iconSrc) html+=' ';\n html+=moduleName+' ';\n }\n html+=' ';\n }\n html+=' ';\n wrapper.innerHTML=html;\n }\n container.appendChild(wrapper);\n requestAnimationFrame(function(){ wrapper.style.opacity=''; wrapper.classList.add('template-fade-in'); });\n }\n\n var oldWrapper=container.querySelector('.template-wrapper');\n if(oldWrapper){\n oldWrapper.classList.add('template-fade-out');\n oldWrapper.addEventListener('animationend', function handler(){\n oldWrapper.removeEventListener('animationend', handler);\n if(container.contains(oldWrapper)) container.removeChild(oldWrapper);\n insertNewContent();\n });\n } else { container.innerHTML=''; insertNewContent(); }\n }\n\n function setActiveMetaTab(level, element) {\n var selector = level===1?'.meta-tab':level===2?'.meta-subtab':'.meta-nationtab';\n var siblings=document.querySelectorAll(selector);\n for(var i=0;i 0){ stats[i].style.visibility='visible'; animateValue(stats[i],0,parsed.number,750,parsed.prefix,parsed.suffix); }\n }\n }\n\n function typeWriter(element, text, speed, delay) {\n var i=0; element.textContent='';\n function type(){ if(i