/* Stockpile page: the Migration page's cards and type, plus a map of the countries listed. */
.stock-map { height:clamp(300px,46vh,460px); margin-top:12px; border:1px solid #38242d; background:#0a090b; color:#a99aa0; font-size:11px; }
.stock-map .maplibregl-ctrl-attrib { font-size:9px; }
.stock-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:12px; }
.stock-card { box-shadow:inset 2px 0 #9b6fe0,0 12px 28px #0005; scroll-margin:24px; }
.stock-card strong { font-size:clamp(22px,2.4vw,30px); letter-spacing:-.8px; }
.stock-card .stock-days { color:#d9c2ff; }
.stock-card.flash { animation:stock-flash 1.6s ease-out; }
@keyframes stock-flash { from { border-color:#c9a0ff; box-shadow:inset 3px 0 #c9a0ff,0 0 30px #c9a0ff55; } }
.stock-kit { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
@media(max-width:1080px) { .stock-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .stock-kit { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .stock-grid,.stock-kit { grid-template-columns:1fr; } .stock-map { height:300px; } }
/* A large, faint flag behind each card, fading out towards the text. */
.stock-card { overflow:hidden; isolation:isolate; }
.stock-card::before { position:absolute; inset:0 0 0 30%; z-index:-1; background:var(--flag) right center / cover no-repeat; opacity:.16; -webkit-mask-image:linear-gradient(90deg,transparent,#000 70%); mask-image:linear-gradient(90deg,transparent,#000 70%); content:""; }
/* Map hover card. */
.stock-tip .maplibregl-popup-content { padding:10px 12px; border:1px solid #4a2632; border-radius:0; background:#120d10; color:#c4b8bd; font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; box-shadow:0 8px 24px #000a; }
.stock-tip .maplibregl-popup-tip { display:none; }
.stock-tip b { display:block; color:#fff; font-size:11px; }
.stock-tip strong { display:block; margin:3px 0; color:#d9c2ff; font-size:18px; }
.stock-card h3.metric-label { margin:0; font-weight:400; }
.stock-ago { display:inline-block; margin:0 0 9px; padding:2px 6px; border:1px solid #5b3f80; color:#e6d6ff; font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.6px; }
.stock-faq { border-top:1px solid #33212a; }
.stock-faq:last-of-type { border-bottom:1px solid #33212a; }
.stock-faq summary { padding:12px 0; cursor:pointer; list-style-position:inside; color:#f2ecee; }
.stock-faq summary h3 { display:inline; margin:0; font-size:14px; }
.stock-faq p { max-width:820px; margin:0 0 14px; color:#c4b8bd; font-size:12px; line-height:1.65; }
