/* Cyber attack page: the Migration page's cards and type, plus a map and filters. */
.cyber-stats .metric-card { min-height:0; }
.cyber-map { height:clamp(300px,46vh,460px); margin-top:12px; border:1px solid #38242d; background:#0a090b; color:#a99aa0; font-size:11px; }
.cyber-map .maplibregl-ctrl-attrib { font-size:9px; }
.cyber-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:12px; }
.cyber-scope { display:flex; border:1px solid #38242d; }
.cyber-scope button,.cyber-filters select { min-height:36px; padding:0 12px; border:0; background:#110d10; color:#c4b8bd; font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.4px; cursor:pointer; }
.cyber-scope button[aria-pressed="true"] { background:#0d2b29; color:#fff; box-shadow:inset 0 -2px #3fe0d0; }
.cyber-filters select { border:1px solid #38242d; }
.cyber-scope button:focus-visible,.cyber-filters select:focus-visible,.cyber-card a:focus-visible { outline:2px solid #3fe0d0; outline-offset:2px; }
.cyber-count { margin-left:auto; color:#9b8b91; font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.6px; }
.cyber-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.cyber-card { min-height:0; box-shadow:inset 2px 0 #3fe0d0,0 12px 28px #0005; scroll-margin:24px; color:#c4b8bd; font-size:13px; line-height:1.45; }
.cyber-card.cyber-uk { box-shadow:inset 2px 0 #ff4058,0 12px 28px #0005; }
.cyber-card strong { font-size:clamp(20px,2vw,26px); letter-spacing:-.6px; overflow-wrap:anywhere; }
.cyber-card .metric-label { min-height:0; }
.cyber-card > a,.cyber-card strong a { color:#f2ecee; text-decoration:none; }
.cyber-card strong a { color:inherit; }
.cyber-card strong a:hover { text-decoration:underline; }
.cyber-card > a:hover { text-decoration:underline; }
.cyber-card .metric-period { display:block; margin-top:9px; }
.cyber-attributed { display:inline-block; margin-top:9px; padding:2px 6px; border:1px solid #1f6660; color:#b9f3ec; font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.3px; }
button.cyber-more { display:block; margin-top:9px; padding:4px 8px; border:1px solid #1f6660; background:none; color:#3fe0d0; font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; cursor:pointer; }
button.cyber-more:hover { background:#0d2b29; color:#fff; }
button.cyber-more:focus-visible,#cyber-reports-close:focus-visible { outline:2px solid #3fe0d0; outline-offset:2px; }
.cyber-reports { width:min(640px,calc(100vw - 32px)); max-height:calc(100vh - 48px); padding:0; border:1px solid #1f6660; background:#0b0a0c; color:#c4b8bd; }
.cyber-reports::backdrop { background:#000000c7; }
.cyber-reports-inner { padding:18px 20px; }
.cyber-reports-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:10px; }
.cyber-reports-name { margin:0 0 4px; color:#fff; font-size:20px; letter-spacing:-.4px; overflow-wrap:anywhere; }
#cyber-reports-close { flex:none; width:36px; height:36px; border:1px solid #38242d; background:none; color:#f2ecee; font-size:20px; line-height:1; cursor:pointer; }
.cyber-reports ul { margin:0; padding:0; list-style:none; }
.cyber-reports li { display:flow-root; padding:12px 0; border-top:1px solid #26191f; font-size:13px; line-height:1.45; }
.cyber-reports li a { color:#f2ecee; text-decoration:none; }
.cyber-reports li a:hover { text-decoration:underline; }
.cyber-reports .metric-period { display:block; margin-top:5px; }
.cyber-card { display:flow-root; }
.cyber-image { float:right; width:88px; height:60px; margin:0 0 6px 12px; object-fit:cover; background:#0a090b; border:1px solid #38242d; }
.cyber-card.selected { border-color:#3fe0d0; background:linear-gradient(145deg,#0d2b29,#09090a 75%); box-shadow:inset 3px 0 #3fe0d0,0 0 0 1px #3fe0d0,0 0 32px #3fe0d066; animation:cyber-flash 1.6s ease-out; }
.cyber-card.selected::before { position:absolute; bottom:8px; right:8px; z-index:1; padding:3px 7px; background:#3fe0d0; color:#04201e; font:700 9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.6px; content:"SELECTED ON MAP"; }
@keyframes cyber-flash { from { box-shadow:inset 3px 0 #3fe0d0,0 0 0 4px #3fe0d0,0 0 60px #3fe0d0; } }
.cyber-empty { padding:24px 16px; border:1px dashed #38242d; color:#c0b2b8; font-size:13px; }
.cyber-tip .maplibregl-popup-content { padding:10px 12px; border:1px solid #1f6660; border-radius:0; background:#0b1312; color:#c4b8bd; font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; box-shadow:0 8px 24px #000a; }
.cyber-tip .maplibregl-popup-tip { display:none; }
.cyber-tip b { display:block; color:#fff; font-size:11px; }
@media(max-width:1080px) { .cyber-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .cyber-grid { grid-template-columns:1fr; } .cyber-map { height:300px; } .cyber-count { width:100%; margin-left:0; } }
@media(prefers-reduced-motion:reduce) { .cyber-card.selected { animation:none; } }
