/* Layout: sticky top bar with page nav → hero line → sections with in-page sub-nav; cards and guides use thumbnails everywhere */
:root{
  --bg:#e8eef2; --surface:#ffffff; --surface-2:#f2f5f8; --ink:#14212b; --muted:#566874; --line:#cfd9e0;
  --accent:#1d6aa0; --accent-ink:#ffffff; --good:#2f8a3e; --bad:#c43c3c;
  --r0:#5f7484; --r1:#1f86c2; --r2:#8a48c9; --r3:#c47d0c;
  --f-display:"Lilita One","Arial Rounded MT Bold","Trebuchet MS",sans-serif;
  --f-body:"Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --s-1:.78rem; --s0:.9rem; --s1:1rem; --s2:1.25rem; --s3:1.6rem; --s4:2.3rem;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  color-scheme:dark;
  --bg:#0e161c; --surface:#16222a; --surface-2:#1d2b35; --ink:#e3ebf0; --muted:#93a5b1; --line:#2a3b46;
  --accent:#5db1e5; --accent-ink:#06131b; --good:#6cc47a; --bad:#ef7a7a;
  --r0:#9fb3c2; --r1:#4fb0e8; --r2:#b787ec; --r3:#f0ab3a;
}}
*{box-sizing:border-box}
html{scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--s1);line-height:1.5}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
main.wrap{display:flex;flex-direction:column;gap:30px;padding-block:24px 40px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;letter-spacing:.01em;text-wrap:balance;margin:0;line-height:1.15}
h1{font-size:var(--s4)} h2{font-size:var(--s3)} h3{font-size:var(--s2)} h4{font-size:1.1rem}
p{margin:0}
a{color:var(--accent)}
.num,.lv td,td.r{font-variant-numeric:tabular-nums}
.q{color:var(--muted)}
.plus{color:var(--good);font-weight:800;font-size:.85em;margin-left:4px;white-space:nowrap}

/* header */
header.site{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.hrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding-block:10px}
.brand{font-family:var(--f-display);font-size:1.35rem;color:var(--ink);text-decoration:none}
nav.main{display:flex;flex-wrap:wrap;gap:4px}
nav.main a{color:var(--ink);text-decoration:none;font-weight:700;font-size:var(--s0);padding:6px 11px;border-radius:8px}
nav.main a:hover{background:var(--surface-2)}
nav.main a[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.foot{color:var(--muted);font-size:var(--s-1);padding-block:0 30px}

.hero{display:flex;flex-direction:column;gap:8px}
.hero p{color:var(--muted);max-width:70ch}
.block{display:flex;flex-direction:column;gap:12px}
.help{color:var(--muted);font-size:var(--s0);max-width:75ch}
.crumb{font-size:var(--s0);color:var(--muted)}
.count{font-family:var(--f-body);font-size:var(--s0);color:var(--muted);font-weight:700}
.lbl{font-size:var(--s-1);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.empty{color:var(--muted);text-align:center;padding:20px}

/* sub navigation */
nav.sub{display:flex;flex-wrap:wrap;gap:6px}
nav.sub a{font-weight:700;font-size:var(--s0);text-decoration:none;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);padding:6px 12px;border-radius:999px}
nav.sub a:hover{border-color:var(--accent);color:var(--accent)}

/* thumbnails */
.th{width:40px;height:41px;object-fit:contain;flex:none;border-radius:8px}
.th.xs{width:26px;height:27px;vertical-align:middle}
.th.sm{width:34px;height:35px}
.th.lg{width:64px;height:66px}
.clink{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:800}
.clink:hover span{color:var(--accent);text-decoration:underline}
.lnk{color:var(--accent);font-weight:700}

/* badges */
.rar{display:inline-block;font-size:var(--s-1);font-weight:800;padding:2px 8px;border-radius:6px;border:1.5px solid currentColor;white-space:nowrap}
.rar.r0{color:var(--r0)} .rar.r1{color:var(--r1)} .rar.r2{color:var(--r2)} .rar.r3{color:var(--r3)}
.tag{display:inline-block;font-size:var(--s-1);font-weight:800;padding:3px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line)}
.sw{display:inline-block;color:#fff;font:800 11px/1 var(--f-body);padding:4px 6px;border-radius:5px;vertical-align:middle;white-space:nowrap}
.arm{display:inline-block;font-size:var(--s-1);font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap}
.arm.am{background:color-mix(in srgb,var(--r2) 18%,transparent);color:var(--r2)}
.arm.ap{background:color-mix(in srgb,var(--r3) 20%,transparent);color:var(--r3)}
.arm.an{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.boss{font-size:var(--s-1);font-weight:800;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad);margin-left:6px}
.fly{font-size:var(--s-1);font-weight:800;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);margin-left:6px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px}
.tile b{font-family:var(--f-display);font-weight:400;font-size:1.2rem}
.tile span{color:var(--muted);font-size:var(--s0)}
.tile:hover,.atile:hover{border-color:var(--accent)}
.atiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
.atile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px}
.atile>b{font-family:var(--f-display);font-weight:400;font-size:1.35rem}
.anum{font-size:var(--s-1);font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.06em}
.bosses,.deckrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bossmini{display:inline-flex;align-items:center;gap:6px;font-size:var(--s0);font-weight:700;background:var(--surface-2);border-radius:10px;padding:3px 8px 3px 3px}
.dsep{width:1px;height:26px;background:var(--line);margin:0 2px}
.go{margin-top:4px;font-weight:800;color:var(--accent)}

.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px}
.rules>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.rules span{font-size:var(--s0);color:var(--muted)}

/* tables */
.tbl{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:var(--s0)}
th,td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
td.wrap{white-space:normal;min-width:240px}
tr:last-child td{border-bottom:0}
thead th{background:var(--surface-2);font-size:var(--s-1);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
th.r,td.r{text-align:right}
th button{all:unset;cursor:pointer}
th button::after{content:" ↕";opacity:.4}
th[aria-sort="ascending"] button::after{content:" ↑";opacity:1}
th[aria-sort="descending"] button::after{content:" ↓";opacity:1}
.explain{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;margin:0}
.explain div{background:var(--surface-2);border-radius:10px;padding:8px 12px}
.explain dt{font-weight:800;font-size:var(--s0)}
.explain dd{margin:0;font-size:var(--s0);color:var(--muted)}

/* cards page */
.filters{position:sticky;top:58px;z-index:5;background:var(--bg);display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding-block:10px;border-bottom:1px solid var(--line)}
.fl{font-size:var(--s-1);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
#q{flex:1 1 220px;min-width:0;font:600 var(--s1) var(--f-body);padding:8px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:700 var(--s0)/1 var(--f-body);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 11px;border-radius:999px;cursor:pointer;text-decoration:none}
.chip .rar{border:0;padding:0}
.chip[aria-pressed="true"],.chip[aria-current="page"]{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
.cards{display:flex;flex-direction:column;gap:10px}
details.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;border-left:6px solid var(--rc)}
details.card.r0{--rc:var(--r0)} details.card.r1{--rc:var(--r1)} details.card.r2{--rc:var(--r2)} details.card.r3{--rc:var(--r3)}
summary{list-style:none;cursor:pointer;padding:12px 16px;display:flex;gap:14px;align-items:center}
summary::-webkit-details-marker{display:none}
.sname{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.smeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.caret{font-family:var(--f-display);font-size:var(--s2);color:var(--muted);transition:transform .15s}
details[open] .caret{transform:rotate(90deg)}
.body{padding:0 16px 18px;display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--line)}
.body>*:first-child{margin-top:14px}
.lore{color:var(--muted);font-style:italic;max-width:75ch}
.pbox{background:color-mix(in srgb,var(--good) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 35%,var(--line));border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.pline{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--s0)}
.pname{font-weight:800}
.ab{display:flex;flex-direction:column;gap:8px}
.abhead{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.ab p{font-size:var(--s0);max-width:80ch}
.kind{font-size:var(--s-1);font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:6px}
.k-base{background:var(--surface-2);color:var(--muted)}
.k-auto{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
.k-buy{background:color-mix(in srgb,var(--r3) 18%,transparent);color:var(--r3)}
.k-hero{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.stat{background:var(--surface-2);border-radius:8px;padding:6px 10px;display:flex;flex-direction:column}
.stat small{font-size:var(--s-1);color:var(--muted);font-weight:700}
.lv th:not(:first-child),.lv td:not(:first-child){text-align:right}
.lv td:first-child{color:var(--muted);font-weight:700}
.gaps{font-size:var(--s0);color:var(--muted);background:var(--surface-2);border-radius:10px;padding:10px 12px}

/* tier list */
.tiers{display:flex;flex-direction:column;gap:10px}
.tierrow{display:grid;grid-template-columns:72px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tl{font:400 2.2rem/1 var(--f-display);color:#fff;display:grid;place-items:center}
.tc{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px;padding:10px}
.tcard{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border-radius:12px;padding:8px 10px;text-decoration:none;color:var(--ink)}
.tcard:hover{outline:2px solid var(--accent)}
.tt{display:flex;flex-direction:column;gap:2px;font-size:var(--s0)}
.tt b{font-size:var(--s1)}

/* passives */
.plist2{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}
.passive{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.passive p{color:var(--muted);font-size:var(--s0)}
.pwho{display:flex;flex-wrap:wrap;gap:6px}
.pcard{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:10px;padding:4px 10px 4px 4px;text-decoration:none;color:var(--ink);font-size:var(--s0)}
.pcard span{display:flex;flex-direction:column;line-height:1.2}
.pcard small{color:var(--good);font-weight:800}
.dpl{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:var(--s0)}

/* enemies */
.ename{display:flex;align-items:center;gap:10px}
.ename>span{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.pips{display:inline-flex;gap:2px;vertical-align:middle;margin-right:6px}
.pips i{width:7px;height:10px;border-radius:2px;background:var(--line)}
.pips i.on{background:var(--ink)}
td.lvl{font-size:var(--s0)}
.mixrow{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.mix{display:flex;height:12px;border-radius:999px;overflow:hidden;border:1px solid var(--line);flex:1 1 200px;max-width:420px}
.mix i{display:block;height:100%}
.mix .m{background:var(--r2)} .mix .p{background:var(--r3)} .mix .n{background:var(--line)}
.mixrow p{display:flex;flex-wrap:wrap;gap:6px}
.bossrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bossrow .lbl{flex-basis:100%}
.bosscard{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 14px 8px 8px}
.bosscard>span{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.bosscard .fly{margin-left:0}

/* guide */
.arenasw{gap:6px}
.icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.icard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-decoration:none;color:var(--ink)}
.icard .th{width:64px;height:66px}
.icard b{font-size:var(--s0);line-height:1.2}
.icard small{font-size:var(--s-1);color:var(--muted)}
.icard:hover{border-color:var(--accent)}
.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;max-width:85ch}
.spcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px}
.spcard{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.spcard>div{display:flex;flex-direction:column;gap:6px;font-size:var(--s0)}
.lays{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px}
.lay{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.lpng{width:100%;max-width:100%;border-radius:10px;display:block}
.laytext{display:flex;flex-direction:column;gap:8px;font-size:var(--s0)}
.spots{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px}
.spots b{display:inline-block;width:20px;text-align:right;margin-right:4px}
.notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;color:var(--muted)}

@media (max-width:560px){
  h1{font-size:1.9rem}
  .filters{top:96px}
  .tierrow{grid-template-columns:48px 1fr}
  .tl{font-size:1.6rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.spots li{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:10px;padding:4px 10px 4px 4px}
.spots{gap:6px}
.cellpic{display:inline-flex;align-items:center;gap:6px}
.bk{display:inline-block;font-size:var(--s-1);font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap}
.bk-unit{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}
.bk-tower{background:color-mix(in srgb,var(--r2) 18%,transparent);color:var(--r2)}
.bk-self{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
.tips{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;max-width:85ch}
#arena-3 td:first-child,#arena-6 td:first-child,#arena-9 td:first-child,#arena-12 td:first-child,#arena-15 td:first-child{white-space:normal;min-width:170px}
