/* Clash of Clans Wiki — section stylesheet (framework-free, scoped under .coc-wiki).
   Generated from docs/coc-wiki-landing-mockup.html. Enqueued only on the coc-wiki template. */
/* ============================================================
   CoC WIKI — SECTION DESIGN SYSTEM (mockup, single-file)
   Everything below would live in blocksy-child/css/coc-wiki.css
   namespaced under .coc-wiki so it never leaks to dev articles.
   ============================================================ */
:root{
  --navy:#1a1a2e;          /* dark chrome / hero / callouts */
  --navy-2:#24243e;
  --navy-3:#2d2d52;
  --gold:#f0a500;          /* primary accent */
  --gold-deep:#c97f00;     /* button bottom edge / hover */
  --gold-soft:#ffd66b;
  --purple:#9b59b6;        /* Epic rarity */
  --purple-deep:#6c3483;
  --parchment:#f3ede0;     /* page background */
  --parchment-2:#ece3d2;
  --card:#fffdf8;
  --ink:#1f1d2b;           /* body text */
  --muted:#5e5c78;         /* passes WCAG AA on parchment */
  --line:#e2d8c4;
  /* tiers */
  --s:#f0a500; --a:#4a90d9; --b:#7f8c8d; --c:#bdc3c7; --f:#e74c3c;
  --good:#2e9e5b; --warn:#e8a33d;
  --shadow-hard:6px 6px 0 rgba(26,26,46,.14);
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.coc-wiki{
  font-family:"Mulish",-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--parchment);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.coc-wiki h1,.coc-wiki h2,.coc-wiki h3,.coc-wiki .display{
  font-family:"Lilita One",cursive;font-weight:400;letter-spacing:.3px;line-height:1.05;
}
.wrap{width:min(1140px,92vw);margin-inline:auto}
.mono{font-family:"JetBrains Mono",monospace}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- chunky pressable button (signature element) ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:"Lilita One",cursive;font-size:1rem;letter-spacing:.4px;
  padding:.7em 1.3em;border:none;border-radius:11px;cursor:pointer;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  color:#3a2a00;box-shadow:0 5px 0 var(--gold-deep),0 8px 14px rgba(201,127,0,.35);
  transition:transform .06s ease,box-shadow .06s ease;text-shadow:0 1px 0 rgba(255,255,255,.35);
}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--gold-deep),0 3px 8px rgba(201,127,0,.3)}
.btn.ghost{
  background:transparent;color:var(--gold);box-shadow:inset 0 0 0 2px rgba(240,165,0,.55);
  text-shadow:none;
}
.btn.ghost:active{transform:translateY(2px)}
.btn.purple{background:linear-gradient(180deg,#c084d6,var(--purple));color:#fff;box-shadow:0 5px 0 var(--purple-deep),0 8px 14px rgba(108,52,131,.35);text-shadow:0 1px 0 rgba(0,0,0,.2)}

/* ---------- top utility + nav (distinct from main webhat.in) ---------- */
.topbar{background:#11111f;color:#b9b8d0;font-size:.78rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;gap:1rem}
.topbar .crumbs a{color:#8d8caa}
.topbar .crumbs a:hover{color:var(--gold)}
.topbar .meta{display:flex;gap:1rem;align-items:center}

.nav{position:relative;z-index:50;background:var(--navy);
  border-bottom:3px solid var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.35)}
.nav .wrap{display:flex;align-items:center;gap:1.2rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:0;color:#fff}
.brand .sigil{width:64px;height:64px;flex:none;margin:-12px 0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.brand b{font-family:"Lilita One",cursive;font-size:1.3rem;letter-spacing:.5px;color:#fff;line-height:1}
.brand b span{color:var(--gold)}
.brand small{display:block;font-family:"Mulish";font-weight:700;font-size:.72rem;letter-spacing:1.6px;color:#9695bd;text-transform:uppercase}
.nav .links{display:flex;gap:.3rem;margin-left:auto;align-items:center}
.nav .links a{color:#d6d5ec;font-weight:800;font-size:.86rem;padding:.5rem .7rem;border-radius:9px;transition:.15s}
.nav .links a:hover{background:var(--navy-3);color:var(--gold)}
.nav .search{display:flex;align-items:center;gap:.4rem;background:var(--navy-2);border:1px solid #34335c;
  border-radius:10px;padding:.4rem .7rem;color:#9b9ac0}
.nav .search input{background:none;border:none;color:#fff;font-family:inherit;font-size:.85rem;outline:none;width:120px}
.hamb{display:none;background:var(--navy-2);border:1px solid #34335c;border-radius:9px;color:var(--gold);
  width:42px;height:38px;cursor:pointer;margin-left:auto}
.icon{width:1em;height:1em;fill:currentColor;vertical-align:-.12em}

/* ---------- hero / command console ---------- */
.hero{position:relative;background:
   radial-gradient(900px 380px at 78% -10%,rgba(240,165,0,.22),transparent 60%),
   radial-gradient(700px 400px at 10% 120%,rgba(155,89,182,.20),transparent 60%),
   linear-gradient(160deg,#15152b,#1d1d3a 60%,#181830);
  color:#fff;overflow:hidden;border-bottom:1px solid #2a2a4a}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'><g fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1.4'><path d='M28 0l24 14v28L28 56 4 42V14z'/><path d='M28 56l24 14v28'/><path d='M28 56L4 70v28'/></g></svg>");
  background-size:56px 100px}
.hero .wrap{position:relative;padding:3.4rem 0 3rem;display:grid;grid-template-columns:1.25fr .9fr;gap:2rem;align-items:center}
.freshpill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(46,158,91,.16);
  color:#7be0a0;border:1px solid rgba(46,158,91,.4);padding:.3rem .8rem;border-radius:999px;
  font-weight:800;font-size:.74rem;letter-spacing:.5px;text-transform:uppercase}
.freshpill .dot{width:8px;height:8px;border-radius:50%;background:#37d67a;box-shadow:0 0 0 0 rgba(55,214,122,.6);
  animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(55,214,122,.55)}70%{box-shadow:0 0 0 9px rgba(55,214,122,0)}100%{box-shadow:0 0 0 0 rgba(55,214,122,0)}}
.hero h1{font-size:clamp(2.1rem,5.5vw,3.4rem);margin:1rem 0 .6rem;color:#fff;
  text-shadow:0 3px 0 rgba(0,0,0,.25)}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p.sub{color:#c9c8e4;font-size:1.05rem;max-width:34ch;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.3rem 0 .4rem}
.chip{background:var(--navy-2);border:1px solid #3a3a63;color:#d8d7f0;font-weight:800;font-size:.82rem;
  padding:.45rem .8rem;border-radius:999px;cursor:pointer;transition:.15s}
.chip:hover,.chip.on{background:var(--gold);color:#2a1d00;border-color:var(--gold)}
.hero .ctas{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.3rem}
.statrow{display:flex;gap:1.6rem;margin-top:1.9rem}
.stat .n{font-family:"Lilita One",cursive;font-size:2rem;color:var(--gold);line-height:1}
.stat .l{font-size:.78rem;text-transform:uppercase;letter-spacing:1.2px;color:#a3a2cc;font-weight:800}

/* hero console card */
.console{background:linear-gradient(180deg,#202043,#191934);border:1px solid #36356a;
  border-radius:18px;padding:1.1rem;box-shadow:0 24px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.console .ttl{display:flex;align-items:center;gap:.5rem;color:var(--gold);font-family:"Lilita One",cursive;
  font-size:1.05rem;margin-bottom:.2rem}
.console .desc{color:#9b9ac4;font-size:.8rem;margin-bottom:.8rem}
.field{margin-bottom:.7rem}
.field label{display:block;font-size:.78rem;letter-spacing:.8px;text-transform:uppercase;color:#a3a2cc;font-weight:800;margin-bottom:.3rem}
.field select{width:100%;background:#13132a;color:#fff;border:1px solid #3a3a66;border-radius:10px;
  padding:.6rem .7rem;font-family:inherit;font-weight:700;font-size:.95rem;outline:none}
.console .result{margin-top:.9rem;background:#11112400;border:1px dashed #44447a;border-radius:12px;padding:.9rem;text-align:center}
.console .result .big{font-family:"Lilita One",cursive;font-size:1.5rem;color:#fff}
.console .result .big b{color:var(--gold)}
.console .result .note{font-size:.72rem;color:#807fa8;margin-top:.3rem}

/* ---------- ad placeholder ---------- */
.adslot{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  background:repeating-linear-gradient(45deg,#efe7d6,#efe7d6 12px,#e7dcc6 12px,#e7dcc6 24px);
  border:2px dashed #c9b78c;border-radius:12px;color:#94824f;min-height:96px;margin:1.6rem 0;padding:1rem}
.adslot .tag{position:absolute;top:8px;left:10px;font-size:.6rem;font-weight:900;letter-spacing:1.5px;
  text-transform:uppercase;color:#b09451;background:#fbf5e6;padding:2px 7px;border-radius:5px;border:1px solid #e0cfa0}
.adslot .mid b{font-family:"Lilita One",cursive;font-size:1rem;color:#8a7240}
.adslot .mid{font-weight:800;font-size:.86rem}
.adslot .mid small{display:block;font-weight:700;color:#a9966a;font-size:.72rem;margin-top:.15rem}
.adslot.inline{min-height:120px}
.adslot.rail{min-height:600px;flex-direction:column}
/* live AdSense disclosure label */
.coc-ad{position:relative}
.coc-ad__label{display:block;text-align:left;font-size:.6rem;font-weight:900;letter-spacing:1.5px;
  text-transform:uppercase;color:#b09451;margin:0 0 4px}

/* ---------- generic section ---------- */
section.band{padding:3rem 0}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold-deep);font-weight:900;
  text-transform:uppercase;letter-spacing:2px;font-size:.74rem}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--gold);border-radius:2px}
.h-sec{font-size:clamp(1.6rem,4vw,2.3rem);margin:.5rem 0 .3rem;color:var(--navy)}
.sec-sub{color:var(--muted);max-width:60ch;font-weight:600;margin-bottom:1.6rem}

/* layout with rail */
.cols{display:grid;grid-template-columns:1fr 300px;gap:2.2rem;align-items:start}

/* ---------- tool / guide cards ---------- */
.grid{display:grid;gap:1.1rem}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.25rem;box-shadow:var(--shadow-hard);transition:transform .15s ease,box-shadow .15s ease;
  position:relative;overflow:hidden}
.card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 rgba(26,26,46,.16)}
.card .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#2a1d00;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));margin-bottom:.8rem;box-shadow:0 3px 0 var(--gold-deep)}
.card .ic.pp{background:linear-gradient(180deg,#c084d6,var(--purple));color:#fff;box-shadow:0 3px 0 var(--purple-deep)}
.card h3{font-size:1.18rem;color:var(--navy);margin-bottom:.35rem}
.card p{font-size:.9rem;color:var(--muted);margin-bottom:.8rem}
.card .go{font-weight:900;color:var(--gold-deep);font-size:.85rem;display:inline-flex;gap:.3rem;align-items:center}
.flag{position:absolute;top:0;right:0;background:var(--f);color:#fff;font-weight:900;font-size:.72rem;
  letter-spacing:.8px;padding:.25rem .7rem;border-bottom-left-radius:10px}
.flag.tool{background:var(--a)} .flag.hot{background:var(--gold);color:#2a1d00}

/* ---------- tier badge + showcase ---------- */
.tier{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;
  font-family:"Lilita One",cursive;font-size:1rem;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.tier.S{background:var(--s);color:#3a2a00} .tier.A{background:var(--a)} .tier.B{background:var(--b)}
.tier.C{background:var(--c);color:#444} .tier.F{background:var(--f)}
.rar{font-weight:900;font-size:.72rem;padding:.15rem .5rem;border-radius:6px}
.rar.epic{color:#fff;background:var(--purple)} .rar.common{color:#fff;background:#6b7280}

.tbl-tabs{display:flex;gap:.4rem;margin-bottom:.8rem;flex-wrap:wrap}
.tbl-tabs button{font-family:"Mulish";font-weight:800;font-size:.8rem;border:1px solid var(--line);
  background:#fff;color:var(--muted);padding:.4rem .8rem;border-radius:999px;cursor:pointer}
.tbl-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.scroll-hint{position:relative}
.scroll-hint::after{content:"";position:absolute;top:1px;bottom:1px;right:1px;width:42px;border-radius:0 12px 12px 0;
  pointer-events:none;background:linear-gradient(to right,rgba(255,253,248,0),rgba(255,253,248,.97))}
.scroll-hint .swipe{position:absolute;right:10px;bottom:8px;z-index:2;font-size:.72rem;font-weight:800;color:var(--gold-deep);
  background:#fffdf8;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;pointer-events:none}
@media(min-width:760px){.scroll-hint::after,.scroll-hint .swipe{display:none}}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-hard)}
table.data{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
table.data th{background:var(--navy);color:var(--gold);text-align:left;padding:.7rem .9rem;font-family:"Mulish";
  font-weight:900;font-size:.78rem;letter-spacing:.5px;position:sticky;top:0}
table.data td{padding:.65rem .9rem;border-bottom:1px solid var(--line)}
table.data tr:nth-child(even) td{background:#faf6ed}
table.data td:first-child{position:sticky;left:0;background:inherit}
table.data tr:nth-child(even) td:first-child{background:#faf6ed}

/* icon slot — replace .eq-ico background with the real S3 image in production */
.eqcell{display:flex;align-items:center;gap:.6rem}
.eq-ico{width:30px;height:30px;border-radius:8px;flex:none;display:inline-grid;place-items:center;
  background:linear-gradient(135deg,#efe7d6,#d9ccb1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.eq-ico::after{content:"";width:15px;height:15px;opacity:.55;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3895c' stroke-width='2'><rect x='4' y='5' width='16' height='14' rx='2'/><circle cx='9' cy='10' r='1.6'/><path d='M5 17l4.5-4 3.5 3 3-2.5L20 17'/></svg>") center/contain no-repeat}

/* ===== RESPONSIVE TABLE → CARDS on phone & tablet (no horizontal scroll) ===== */
@media(max-width:759px){
  .scroll-hint::after,.scroll-hint .swipe{display:none}
  .tablewrap{overflow:visible;border:none;background:transparent;box-shadow:none;border-radius:0}
  table.data{min-width:0;width:100%;font-size:1rem}
  table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} /* visually hidden, kept for a11y */
  table.data tbody{display:block}
  table.data tr{display:grid;grid-template-columns:1fr auto auto;gap:.4rem .7rem;align-items:center;
    background:#fff!important;border:1px solid var(--line);border-radius:14px;
    padding:.9rem 1rem;margin-bottom:.7rem;box-shadow:0 4px 0 rgba(26,26,46,.07)}
  table.data td{display:flex;align-items:center;border:none!important;padding:0!important;
    background:transparent!important;position:static!important}
  table.data td[data-label="Equipment"]{grid-column:1/-1;font-size:1.12rem;font-weight:800;color:var(--navy)}
  table.data td[data-label="Hero"]{grid-column:1;color:var(--muted);font-weight:700;font-size:.92rem}
  table.data td[data-label="Hero"]::before{content:"";width:18px;height:18px;margin-right:.4rem;border-radius:5px;
    background:linear-gradient(135deg,#3a3a63,#23233f);flex:none} /* hero icon slot */
  table.data td[data-label="Tier"]{grid-column:2;justify-content:flex-end}
  table.data td[data-label="Rarity"]{grid-column:3;justify-content:flex-end}
  .eq-ico{width:34px;height:34px}
}

/* combo callout component */
.combo{background:var(--navy);color:#fff;border-radius:14px;padding:1.1rem 1.2rem;box-shadow:var(--shadow-hard)}
.combo h4{color:var(--gold);font-family:"Lilita One",cursive;font-size:1.05rem;margin-bottom:.6rem;display:flex;gap:.5rem;align-items:center}
.combo ul{list-style:none;display:grid;gap:.5rem}
.combo li{font-size:.9rem;color:#dcdbf2;padding-left:1.4rem;position:relative}
.combo li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:3px;background:var(--gold)}
.combo li b{color:#fff}

/* hero spokes mini-grid */
.spokes{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.spoke{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:.7rem .8rem;box-shadow:0 3px 0 rgba(26,26,46,.06);transition:.15s}
.spoke:hover{border-color:var(--gold);transform:translateY(-2px)}
.spoke .av{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;font-family:"Lilita One",cursive;background:linear-gradient(180deg,#3a3a63,#23233f)}
.spoke b{font-size:.92rem;color:var(--navy);display:block;line-height:1.1}
.spoke small{color:var(--muted);font-size:.74rem;font-weight:700}

/* meta watch strip */
.meta-watch{background:linear-gradient(160deg,#201d12,#191725);border:1px solid #3a3320;border-radius:16px;
  padding:1.4rem;color:#e8e3d4}
.meta-watch .row{display:flex;gap:.8rem;padding:.6rem 0;border-bottom:1px dashed #4a4330;align-items:flex-start}
.meta-watch .row:last-child{border-bottom:none}
.meta-watch .badge{font-family:"JetBrains Mono";font-weight:700;font-size:.78rem;padding:.22rem .55rem;border-radius:6px;flex:none}
.badge.buff{background:rgba(46,158,91,.2);color:#7be0a0} .badge.nerf{background:rgba(231,76,60,.2);color:#ff9b8f}
.badge.new{background:rgba(240,165,0,.2);color:var(--gold-soft)}

/* FAQ accordion (AEO) */
.faq{display:grid;gap:.6rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 0 rgba(26,26,46,.05)}
.faq summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;font-weight:900;color:var(--navy);
  display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{color:var(--gold);font-family:"Lilita One",cursive;font-size:1.4rem;line-height:1;transition:.2s}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq .a{padding:0 1.1rem 1.1rem;color:#42415a;font-size:1rem}

/* footer */
.foot{background:#10101d;color:#9c9bc0;padding:2.6rem 0 1.4rem;margin-top:3rem;border-top:3px solid var(--gold)}
.foot .grid4{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.6rem}
.foot h5{color:#fff;font-family:"Lilita One",cursive;font-size:1rem;margin-bottom:.7rem}
.foot a{display:block;color:#9c9bc0;font-size:.86rem;padding:.2rem 0}
.foot a:hover{color:var(--gold)}
.foot .bottom{margin-top:1.8rem;padding-top:1.2rem;border-top:1px solid #24243e;font-size:.78rem;color:#6b6a8c;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* reveal animation — content is ALWAYS visible unless JS is active AND motion is allowed */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.js .reveal{opacity:1!important;transform:none!important}}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding:2.4rem 0}
  .cols{grid-template-columns:1fr}
  .rail-wrap{display:none}      /* sidebar rail hidden on mobile; ads move inline */
  .g3{grid-template-columns:1fr 1fr}
  .spokes{grid-template-columns:1fr 1fr}
  .nav .links,.nav .search{display:none}
  .hamb{display:block}
  .foot .grid4{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .foot .grid4>div:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .g3,.g2,.spokes{grid-template-columns:1fr}
  .statrow{gap:1.1rem}
  .topbar .crumbs{display:none}
}
/* mobile menu */
.mmenu{display:none;background:var(--navy-2);border-bottom:3px solid var(--gold)}
.mmenu.open{display:block}
.mmenu a{display:block;color:#d6d5ec;font-weight:800;padding:.85rem 6vw;border-bottom:1px solid #2f2f55}

/* ====================== ZapQuake page + active nav ====================== */
.nav .links a.active{background:var(--navy-3);color:var(--gold)}
.mmenu a.active{color:var(--gold)}

.zq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media(max-width:520px){.zq-grid{grid-template-columns:1fr}}

.spell-cards{display:grid;gap:.7rem;margin-bottom:1.2rem}
.spell-card{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:.7rem .8rem;box-shadow:0 3px 0 rgba(26,26,46,.06)}
.spell-card img{width:48px;height:48px;flex:none;object-fit:contain}
.spell-card b{display:block;color:var(--navy);font-size:.95rem}
.spell-card small{color:var(--muted);font-weight:700;font-size:.82rem}

.view-toggle{display:inline-flex;gap:.3rem;background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.25rem;margin-bottom:1.2rem}
.view-toggle button{font-family:"Mulish";font-weight:800;font-size:.85rem;border:none;background:none;
  color:var(--muted);padding:.45rem 1.05rem;border-radius:999px;cursor:pointer}
.view-toggle button.on{background:var(--navy);color:#fff}

.th-title{font-family:"Lilita One",cursive;color:var(--navy);font-size:1.2rem;margin:1.4rem 0 .6rem}
.zap-table td.z-pure,.zap-table td.z-eq1,.zap-table td.z-eq2{font-family:"JetBrains Mono",monospace;font-weight:700;color:var(--navy)}

/* share bar */
.share-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:var(--navy);border-radius:14px;
  padding:.9rem 1.1rem;margin:1.8rem 0;box-shadow:var(--shadow-hard)}
.share-label{color:var(--gold);font-family:"Lilita One",cursive;font-size:1rem;margin-right:.3rem}
.share-btn{font-family:"Mulish";font-weight:800;font-size:.82rem;border:none;cursor:pointer;color:#fff;
  padding:.5rem .9rem;border-radius:9px;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;transition:transform .06s ease}
.share-btn:active{transform:translateY(2px)}
.share-btn.reddit{background:#ff4500}
.share-btn.x{background:#111}
.share-btn.fb{background:#1877f2}
.share-btn.discord{background:#5865f2}
.share-btn.bookmark{background:var(--gold);color:#2a1d00}
.share-btn.copied{background:var(--good)!important;color:#fff!important}

/* how-to */
.howto{list-style:none;counter-reset:ht;display:grid;gap:.85rem;margin-top:1rem}
.howto li{position:relative;padding-left:2.5rem;color:#42415a;line-height:1.6}
.howto li::before{counter-increment:ht;content:counter(ht);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;
  background:var(--gold);color:#2a1d00;font-family:"Lilita One",cursive;border-radius:8px;display:grid;place-items:center;
  box-shadow:0 2px 0 var(--gold-deep)}
.howto li b{color:var(--navy)}

/* ZapQuake table -> cards on mobile (override the generic tier-table grid) */
@media(max-width:759px){
  table.zap-table tr{grid-template-columns:1fr 1fr 1fr;gap:.5rem}
  table.zap-table td[data-label="Defense"],table.zap-table td[data-label="Hero"],table.zap-table td[data-label="Town Hall"]{grid-column:1/-1;font-size:1.05rem;font-weight:800;color:var(--navy)}
  table.zap-table td:not([data-label="Defense"]):not([data-label="Hero"]):not([data-label="Town Hall"]){flex-direction:column;align-items:flex-start;background:var(--parchment)!important;
    border:1px solid var(--line)!important;border-radius:10px;padding:.45rem .55rem!important;font-weight:800;color:var(--navy)}
  table.zap-table td:not([data-label="Defense"]):not([data-label="Hero"]):not([data-label="Town Hall"])::before{content:attr(data-label);display:block;font-size:.66rem;
    letter-spacing:.2px;color:var(--muted);font-weight:800;margin-bottom:.15rem}
  table#hero-table tr{grid-template-columns:1fr}
}

/* ====================== ZapQuake round-2 fixes ====================== */
/* inline spell icon (replaces emoji) */
.zi{width:18px;height:18px;vertical-align:-4px;object-fit:contain;display:inline-block}
.zap-table th .zi{vertical-align:-4px}

/* real building/hero icons: no placeholder gradient, keep aspect ratio (un-squish) */
img.eq-ico{background:none;box-shadow:none;object-fit:contain;padding:0}

/* spell strip: icon | (name / status) two rows */
.spell-card b{display:block;line-height:1.15}
.spell-card small{display:block}

/* hamburger: center the glyph */
@media(max-width:900px){ .hamb{display:inline-flex;align-items:center;justify-content:center} }

/* view toggle: clearer it's clickable */
.view-toggle{align-items:center;gap:.35rem}
.vt-label{font-weight:800;color:var(--muted);font-size:.85rem;margin:0 .2rem 0 .4rem}
.view-toggle button{border:1px solid var(--line);cursor:pointer}
.view-toggle button.on{border-color:var(--navy)}
.view-toggle button:not(.on):hover{background:#fff;color:var(--navy)}

/* hero banner art (single column until an image is set) */
.zq-hero .wrap{grid-template-columns:1fr}
.zq-hero.has-art .wrap{grid-template-columns:1.15fr .85fr}
.hero-art{display:flex;justify-content:center;align-items:center}
.hero-art img{max-width:100%;height:auto;filter:drop-shadow(0 18px 34px rgba(0,0,0,.45))}
@media(max-width:900px){ .zq-hero.has-art .wrap{grid-template-columns:1fr} }

/* heroes table now has 4 columns like the defense table */
table.zap-table td[data-label="Hero"]::before{display:none !important}
@media(max-width:759px){ table#hero-table tr{grid-template-columns:1fr 1fr 1fr} }

/* ---- custom searchable dropdown (replaces native <select>) ---- */
.coc-combo{position:relative;font-family:"Mulish",sans-serif}
.coc-combo select.coc-select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.coc-combo .cc-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  background:#13132a;color:#fff;border:1px solid #3a3a66;border-radius:10px;padding:.62rem .75rem;
  font-family:inherit;font-weight:700;font-size:.95rem;cursor:pointer;text-align:left}
.coc-combo .cc-trigger::after{content:"\f107";font-family:FontAwesome;color:#8988b3;margin-left:auto}
.coc-combo.open .cc-trigger{border-color:var(--gold)}
.coc-combo .cc-panel{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:0;background:#1b1b36;
  border:1px solid #3a3a66;border-radius:11px;box-shadow:0 18px 44px rgba(0,0,0,.55);padding:.4rem;display:none;max-height:300px;overflow:auto}
.coc-combo.open .cc-panel{display:block}
.coc-combo .cc-search{width:100%;background:#11112a;border:1px solid #3a3a66;border-radius:8px;color:#fff;
  padding:.5rem .6rem;font-family:inherit;font-size:.9rem;margin-bottom:.35rem;outline:none}
.coc-combo .cc-search:focus{border-color:var(--gold)}
.coc-combo .cc-opt{padding:.55rem .6rem;border-radius:7px;color:#d8d7f0;font-weight:700;font-size:.92rem;cursor:pointer}
.coc-combo .cc-opt:hover,.coc-combo .cc-opt.active{background:var(--navy-3);color:var(--gold)}
.coc-combo .cc-opt[hidden]{display:none}
.coc-combo .cc-group{padding:.5rem .6rem .2rem;font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:#8988b3;font-weight:800}

/* ====================== Hero Equipment page ====================== */
/* HTML/CSS tier list (no band images) */
.tierlist{display:grid;gap:.55rem;margin-top:.4rem}
.tier-row{display:grid;grid-template-columns:64px 1fr;background:#fff;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow-hard)}
.tier-band{display:grid;place-items:center;font-family:"Lilita One",cursive;font-size:1.7rem;color:#2a1d00}
.tier-band.tier-S{background:var(--s);color:#3a2a00}
.tier-band.tier-A{background:var(--a);color:#fff}
.tier-band.tier-B{background:var(--b);color:#fff}
.tier-band.tier-C{background:var(--c);color:#444}
.tier-band.tier-F{background:var(--f);color:#fff}
.tier-items{display:flex;flex-wrap:wrap;gap:.7rem;padding:.75rem .8rem;align-items:flex-start}
.tier-item{display:flex;flex-direction:column;align-items:center;width:74px;text-align:center;text-decoration:none}
.tier-item img,.tier-item .eq-ico{width:48px;height:48px;object-fit:contain;background:none;box-shadow:none}
.tier-item small{font-size:.7rem;font-weight:800;color:var(--navy);line-height:1.12;margin-top:.25rem}

/* best-combo cards */
.combos{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.combo-card{background:var(--navy);color:#fff;border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow-hard)}
.combo-card .use{color:var(--gold);font-family:"Lilita One",cursive;font-size:1.02rem;display:flex;align-items:center;gap:.4rem}
.combo-card .pair{display:flex;gap:1.1rem;margin:.7rem 0}
.combo-card .pair-piece{display:flex;align-items:center;gap:.45rem;font-weight:800;font-size:.86rem}
.combo-card .pair-piece img,.combo-card .pair-piece .eq-ico{width:42px;height:42px;object-fit:contain;background:none;box-shadow:none}
.combo-card .why{color:#cfceea;font-size:.86rem;line-height:1.5}

/* equipment breakdown cards */
.eq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.4rem}
.eq-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow-hard)}
.eq-card-head{display:flex;gap:.8rem;align-items:center}
.eq-card-head img,.eq-card-head .eq-ico{width:52px;height:52px;flex:none;object-fit:contain;background:none;box-shadow:none}
.eq-card-head b{font-size:1.08rem;color:var(--navy)}
.eq-badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.3rem}
.eq-type{font-size:.7rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.eq-flag{font-size:.66rem;font-weight:900;color:#2a1d00;background:var(--gold-soft);border:1px solid var(--gold);border-radius:6px;padding:.1rem .4rem}
.eq-effect{color:#4a4960;font-size:.9rem;margin:.7rem 0 .6rem;line-height:1.55}
.eq-stop{font-size:.82rem;font-weight:700;color:var(--navy);border-top:1px dashed var(--line);padding-top:.5rem}
.eq-stop b{color:var(--gold-deep)}

@media(max-width:760px){
  .combos,.eq-grid{grid-template-columns:1fr}
  .tier-row{grid-template-columns:52px 1fr}
  .tier-band{font-size:1.3rem}
  .tier-item{width:64px}
}

/* ====================== Hero Equipment: shorter portrait + By-Town-Hall ====================== */
.coc-hero-equip .hero-art img{max-height:360px;width:auto;max-width:100%}

.th-guide{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.4rem}
.th-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow-hard)}
.th-card h3{font-family:"Lilita One",cursive;color:var(--navy);font-size:1.18rem;margin:0}
.th-card .bw{font-size:.72rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin:.25rem 0 .7rem}
.th-row{display:flex;align-items:center;gap:.55rem;margin:.4rem 0}
.th-row .lbl{flex:none;font-size:.62rem;font-weight:900;letter-spacing:.4px;text-transform:uppercase;
  padding:.18rem .45rem;border-radius:6px;color:#fff}
.th-row .lbl.f2p{background:var(--good)}
.th-row .lbl.epic{background:var(--purple)}
.th-loadout{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.th-loadout img,.th-loadout .eq-ico{width:32px;height:32px;object-fit:contain;background:none;box-shadow:none}
.th-loadout b{font-size:.82rem;color:var(--navy);font-weight:800}
.th-note{font-size:.84rem;color:#4a4960;margin:.6rem 0 0;line-height:1.5;border-top:1px dashed var(--line);padding-top:.55rem}
@media(max-width:760px){ .th-guide{grid-template-columns:1fr} }

/* Hero Equipment: auto-alternate section backgrounds (works whether or not the
   optional By-Town-Hall section renders). Even sections get the alt parchment. */
body.coc-hero-equip section.band:nth-of-type(even){background:var(--parchment-2)}

/* ====================== Nav dropdown + search results ====================== */
.nav .links .has-sub{position:relative}
.nav .links .has-sub > a{color:#d6d5ec;font-weight:800;font-size:.86rem;padding:.5rem .7rem;border-radius:9px;transition:.15s}
.nav .links .has-sub:hover > a,.nav .links .has-sub.active > a{background:var(--navy-3);color:var(--gold)}
.nav .links .has-sub .fa{font-size:.8rem;opacity:.7}
.nav .links .submenu{position:absolute;top:100%;left:0;min-width:200px;background:var(--navy-2);border:1px solid #34335c;
  border-radius:11px;box-shadow:0 18px 40px rgba(0,0,0,.5);padding:.4rem;display:none;z-index:60}
.nav .links .has-sub:hover .submenu{display:block}
.nav .links .submenu a{display:block;color:#d6d5ec;font-weight:700;font-size:.86rem;padding:.5rem .6rem;border-radius:8px}
.nav .links .submenu a:hover{background:var(--navy-3);color:var(--gold)}
.mmenu .mm-sub{padding-left:11vw;font-size:.9rem;color:#b9b8d0;font-weight:700}

.nav .search{position:relative}
.search-results{position:absolute;top:calc(100% + 6px);right:0;width:min(330px,80vw);background:#1b1b36;
  border:1px solid #34335c;border-radius:11px;box-shadow:0 18px 44px rgba(0,0,0,.55);padding:.35rem;z-index:70;max-height:340px;overflow:auto}
.search-results a{display:block;color:#d6d5ec;font-weight:700;font-size:.88rem;padding:.55rem .6rem;border-radius:8px;text-decoration:none}
.search-results a:hover,.search-results a.active{background:var(--navy-3);color:var(--gold)}
.search-results .none{color:#8988b3;font-size:.85rem;padding:.55rem .6rem}

/* dropdown active hero + Font Awesome tool-card icons */
.nav .links .submenu a.active{background:var(--navy-3);color:var(--gold)}
.mmenu .mm-sub.active{color:var(--gold)}
.card .ic .fa{font-size:1.45rem;line-height:1}

/* ====================== Long-form article body ====================== */
.coc-article{max-width:840px;margin:0 auto;color:var(--ink);font-size:1.04rem}
.coc-article > *:first-child{margin-top:0}
.coc-article h2{font-family:"Lilita One",cursive;color:var(--navy);font-size:1.6rem;line-height:1.15;margin:2.2rem 0 .8rem}
.coc-article h2 .fa{color:var(--gold-deep);margin-right:.3rem}
.coc-article h3{font-family:"Lilita One",cursive;color:var(--navy);font-size:1.22rem;margin:1.5rem 0 .6rem}
.coc-article p{margin:0 0 1rem;line-height:1.75}
.coc-article a{color:var(--gold-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.coc-article ul,.coc-article ol{margin:0 0 1.1rem 1.3rem;line-height:1.75}
.coc-article li{margin:.25rem 0}
.coc-article img{border-radius:12px;box-shadow:var(--shadow-hard);height:auto;max-width:100%;margin:1rem 0}
.coc-article figure{margin:1.4rem 0}
.coc-article figcaption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:.45rem}
.coc-article hr{border:none;border-top:1px solid var(--line);margin:2rem 0}
/* tables: keep the content's navy/gold inline look, just round + make scrollable */
.coc-article .tablewrap{overflow-x:auto;margin:1.2rem 0;border-radius:12px;box-shadow:var(--shadow-hard)}
.coc-article table{min-width:520px}
.coc-article .tablewrap table{margin:0}

/* ====================== Hero Equipment hub ====================== */
body.coc-hub section.band:nth-of-type(even){background:var(--parchment-2)}
.callout{background:var(--navy);color:#e8e3d4;border-left:4px solid var(--gold);border-radius:10px;
  padding:1rem 1.1rem;margin-top:1.1rem;line-height:1.6;font-size:.92rem;box-shadow:var(--shadow-hard)}
.callout .fa{color:var(--gold);margin-right:.4rem}
.callout b{color:#fff}

/* readable prose blocks inside hub/section pages */
.prose{max-width:760px;color:#3a3950;font-size:1.02rem;line-height:1.75}
.prose p{margin:0 0 1rem}
.prose p:last-child{margin-bottom:0}
.prose b{color:var(--navy)}
.prose h3{font-family:"Lilita One",cursive;color:var(--navy);font-size:1.2rem;margin:1.4rem 0 .5rem}

/* searchable-dropdown: make the type-in field light & readable */
.coc-combo .cc-search{background:#fff !important;color:#1f1d2b !important;border:1px solid #c9c8e0 !important}
.coc-combo .cc-search::placeholder{color:#8a89a6}

/* ZapQuake calculator: Town-Hall spell-cap hints */
.cap-hint{font-family:"Mulish",sans-serif;font-weight:600;font-size:.72rem;color:#8a89a6;letter-spacing:0}
.th-spells{font-family:"Mulish",sans-serif;font-weight:700;font-size:.8rem;color:#9695bd;white-space:nowrap}

/* ============================================================
   ZapQuake Calculator — mobile-first (Quick + Advanced modes)
   ============================================================ */
#calc .sec-sub{margin-bottom:1.1rem}

/* Persistent spell settings (dark control panel, saved to localStorage) */
.zc-settings{display:grid;grid-template-columns:1fr;gap:.7rem;
  background:linear-gradient(160deg,var(--navy-3),var(--navy));
  border:1px solid rgba(240,165,0,.28);border-radius:var(--radius);
  padding:.8rem;box-shadow:var(--shadow-hard);margin-bottom:1.1rem}
.zc-spell{display:flex;align-items:center;gap:.7rem;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.55rem .65rem}
.zc-spell-ic{width:46px;height:46px;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.zc-spell-meta{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.zc-spell-name{font-family:"Lilita One",cursive;color:#fff;font-size:1rem;line-height:1.1;letter-spacing:.3px}
.zc-spell-sub{font-family:"JetBrains Mono",monospace;color:var(--gold-soft);font-size:.74rem;font-weight:700;margin-top:.15rem}
.zc-stepper{display:flex;align-items:center;gap:.15rem;flex:0 0 auto;background:rgba(0,0,0,.3);border-radius:999px;padding:.2rem}
.zc-step{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:50%;
  cursor:pointer;font:900 1.5rem/1 "Mulish",sans-serif;color:var(--navy);padding:0;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  box-shadow:0 3px 0 var(--gold-deep);transition:transform .06s,box-shadow .06s}
.zc-step:active{transform:translateY(2px);box-shadow:0 1px 0 var(--gold-deep)}
.zc-step:disabled{background:#56546c;color:#36354a;box-shadow:0 3px 0 #36354a;cursor:not-allowed;opacity:.6}
.zc-lvl{font-family:"JetBrains Mono",monospace;font-weight:800;color:#fff;min-width:2ch;text-align:center;font-size:1.05rem}

/* Mode tabs */
.zc-tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.zc-tab{flex:1;font-family:"Lilita One",cursive;letter-spacing:.4px;font-size:1rem;padding:.7rem 1rem;border-radius:12px;
  cursor:pointer;color:var(--muted);background:var(--card);border:2px solid var(--line);box-shadow:0 3px 0 var(--line);transition:.08s}
.zc-tab .fa{margin-right:.35rem}
.zc-tab:active{transform:translateY(2px);box-shadow:none}
.zc-tab.on{color:var(--navy);background:linear-gradient(180deg,var(--gold-soft),var(--gold));border-color:var(--gold-deep);box-shadow:0 3px 0 var(--gold-deep)}

/* Step labels */
.zc-step-label{display:flex;align-items:center;gap:.5rem;font-family:"Lilita One",cursive;color:var(--navy);font-size:1.02rem;margin:.3rem 0 .6rem}
.zc-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:.85rem}

/* Town Hall selector (horizontal scroll) */
.zc-th-row{display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .2rem .6rem;margin:0 -.2rem 1rem;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.zc-th-row::-webkit-scrollbar{height:6px}
.zc-th-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.zc-thbtn{flex:0 0 auto;width:72px;scroll-snap-align:start;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.2rem;
  background:var(--card);border:2px solid var(--line);border-radius:14px;padding:.45rem .3rem .35rem;box-shadow:0 3px 0 var(--line);transition:.08s}
.zc-thbtn:active{transform:translateY(2px);box-shadow:none}
.zc-thbtn-img{width:48px;height:48px;object-fit:contain}
.zc-thbtn-lbl{font-family:"Lilita One",cursive;font-size:.82rem;color:var(--muted)}
.zc-thbtn.on{border-color:var(--gold-deep);box-shadow:0 3px 0 var(--gold-deep);background:#fff}
.zc-thbtn.on .zc-thbtn-lbl{color:var(--navy)}

/* Defense card grid */
.zc-def-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1.1rem}
.zc-card{display:flex;align-items:center;gap:.6rem;cursor:pointer;text-align:left;background:var(--card);
  border:2px solid var(--line);border-radius:14px;padding:.6rem .65rem;box-shadow:0 3px 0 var(--line);transition:.08s;min-height:64px}
.zc-card img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
.zc-card-ph{width:42px;height:42px;border-radius:8px;background:var(--parchment-2);flex:0 0 auto}
.zc-card-name{font-family:"Mulish",sans-serif;font-weight:800;color:var(--navy);font-size:.9rem;line-height:1.15}
.zc-card:active{transform:translateY(2px);box-shadow:none}
.zc-card.on{border-color:var(--gold-deep);box-shadow:0 3px 0 var(--gold-deep);background:linear-gradient(180deg,#fffaf0,#fff)}

/* Advanced: exact-level row */
.zc-levels{margin-bottom:1.1rem}
.zc-level-row{display:flex;flex-wrap:wrap;gap:.45rem}
.zc-lvlbtn{display:flex;flex-direction:column;align-items:center;cursor:pointer;font-family:"Lilita One",cursive;font-size:.9rem;color:var(--muted);
  background:var(--card);border:2px solid var(--line);border-radius:10px;padding:.4rem .65rem;box-shadow:0 2px 0 var(--line);transition:.08s}
.zc-lvlbtn:active{transform:translateY(2px);box-shadow:none}
.zc-lvlbtn small{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:.66rem;color:var(--muted);margin-top:.1rem}
.zc-lvlbtn.on{border-color:var(--gold-deep);box-shadow:0 2px 0 var(--gold-deep);color:var(--navy);background:#fff}

/* Result card (Clash-style) */
.zc-hint{font-family:"Mulish",sans-serif;color:var(--muted);font-size:.9rem;text-align:center;padding:.4rem 0}
.zc-result{background:linear-gradient(165deg,var(--navy-3),var(--navy));border:2px solid var(--gold);border-radius:18px;
  padding:1.1rem 1.1rem 1.2rem;box-shadow:0 10px 26px rgba(26,26,46,.3);color:#fff}
.zc-res-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.zc-res-ic{width:44px;height:44px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.zc-res-ic.ph{background:rgba(255,255,255,.1);border-radius:8px}
.zc-res-name{display:flex;flex-direction:column;line-height:1.2}
.zc-res-name b{font-family:"Lilita One",cursive;font-size:1.2rem;letter-spacing:.3px}
.zc-res-name span{font-family:"JetBrains Mono",monospace;font-size:.74rem;color:var(--gold-soft);font-weight:700}
.zc-res-combo{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;padding:.65rem 0;
  border-top:1px dashed rgba(255,255,255,.2);border-bottom:1px dashed rgba(255,255,255,.2)}
.zc-big{font-family:"Lilita One",cursive;font-size:2.4rem;line-height:1;color:var(--gold-soft);text-shadow:0 2px 0 rgba(0,0,0,.35)}
.zc-op{font-family:"Lilita One",cursive;font-size:1.5rem;color:#fff;opacity:.7}
.zi-lg{width:34px;height:34px;vertical-align:middle}
.zc-res-house{text-align:center;font-family:"Mulish",sans-serif;font-weight:700;font-size:.92rem;color:#e8e6ff;margin-top:.6rem}
.zc-res-house .fa{color:var(--gold)}
.zc-res-house b{font-family:"JetBrains Mono",monospace;color:#fff;margin-left:.25rem}
.zc-res-alts{margin-top:.7rem;display:flex;flex-direction:column;gap:.35rem}
.zc-res-altlbl{font-family:"Lilita One",cursive;font-size:.78rem;color:var(--gold-soft);letter-spacing:.5px;text-transform:uppercase}
.zc-alt{display:flex;justify-content:space-between;gap:.6rem;align-items:center;background:rgba(255,255,255,.05);
  border-radius:8px;padding:.4rem .6rem;font-family:"Mulish",sans-serif;font-size:.84rem;color:#dcdbf0}
.zc-alt b{font-family:"JetBrains Mono",monospace;font-weight:700;color:var(--gold-soft);white-space:nowrap;font-size:.78rem}
.zc-res-empty{font-family:"Mulish",sans-serif;text-align:center;color:#dcdbf0;padding:.6rem}
@media(max-width:760px){.zc-result{position:sticky;bottom:.5rem;z-index:20}}

/* Reference table — own Town Hall pill selector */
.ref-th-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1.1rem}
.ref-thbtn{font-family:"Lilita One",cursive;font-size:.85rem;color:var(--muted);cursor:pointer;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;box-shadow:0 2px 0 var(--line);transition:.08s}
.ref-thbtn:active{transform:translateY(2px);box-shadow:none}
.ref-thbtn.on{color:#fff;background:var(--navy);border-color:var(--navy);box-shadow:0 2px 0 #000}

/* Larger screens */
@media(min-width:560px){.zc-settings{grid-template-columns:1fr 1fr}.zc-def-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.zc-def-grid{grid-template-columns:repeat(4,1fr)}.zc-big{font-size:2.8rem}}

/* ============================================================
   Supercharge — electric-blue boosted max-level defenses
   ============================================================ */
.sc-tag{display:inline-flex;align-items:center;gap:.28em;font-family:"Mulish",sans-serif;font-weight:800;
  font-size:.64rem;letter-spacing:.4px;text-transform:uppercase;color:#fff;white-space:nowrap;vertical-align:middle;
  background:linear-gradient(180deg,#46b6ff,#1f7fd6);border:1px solid #1668c4;border-radius:999px;
  padding:.14em .55em;box-shadow:0 0 0 2px rgba(46,166,255,.16),0 1px 2px rgba(0,0,0,.25)}
.sc-tag .fa{font-size:.9em;color:#e2f4ff;filter:drop-shadow(0 0 2px rgba(120,210,255,.9))}

/* reference table: paired Supercharged rows */
/* paint on the cells (beats the table.data nth-child zebra, which is more specific than a tr rule) */
table.data.zap-table tr.sc-row td{background:linear-gradient(90deg,rgba(46,166,255,.14),rgba(46,166,255,.05));border-top:1px dashed rgba(46,166,255,.45)}
@media(max-width:759px){
  /* number cells force --parchment !important on mobile, so override with higher specificity + !important */
  table.data.zap-table tr.sc-row td:not([data-label="Defense"]):not([data-label="Hero"]):not([data-label="Town Hall"]){background:linear-gradient(90deg,rgba(46,166,255,.14),rgba(46,166,255,.05))!important}
}
.sc-legend{font-family:"Mulish",sans-serif;font-size:.82rem;color:var(--muted);margin:.1rem 0 1.1rem;line-height:1.55}

/* calculator result: Supercharged strip */
.zc-res-sc{margin-top:.85rem;padding:.7rem .85rem;border-radius:12px;
  background:linear-gradient(165deg,rgba(46,166,255,.2),rgba(46,166,255,.05));
  border:1px solid rgba(95,195,255,.55);box-shadow:inset 0 0 20px rgba(46,166,255,.15)}
.zc-res-sc-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}
.zc-res-sc-hp{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:.74rem;color:#bfe6ff}
.zc-res-sc .zc-res-combo{border:none;padding:.4rem 0}
.zc-res-sc .zc-big{color:#cdebff;text-shadow:0 0 12px rgba(46,166,255,.55)}
.zc-res-sc .zc-res-house{margin-top:.15rem;color:#d6efff}
