/* Hourly public-IP monitoring: readable in both themes, with reduced-motion support. */
.risk-strip{margin:22px 0;padding:25px 28px;position:relative;overflow:hidden;border-color:#305c50;background:radial-gradient(ellipse at 100% 0,#16483c55,transparent 65%),#0d1918}.risk-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#4bdfb2,transparent)}.risk-strip-head,.risk-panel-title,.risk-strip-meta,.risk-strip-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.risk-strip h2{margin:7px 0 0;font-size:21px;display:flex;align-items:center;gap:10px}.risk-strip-head>a,.risk-provider-link{font-size:12px;color:#78dcb9;text-decoration:none}.risk-beacon{display:inline-block;width:9px;height:9px;border-radius:50%;background:#51e3b3;box-shadow:0 0 0 5px #50e3b318,0 0 18px #50e3b399;animation:riskBeacon 2.8s ease-in-out infinite;flex-shrink:0}.risk-strip-meta{margin:20px 0 14px;color:#91a9a3;font-size:11px;flex-wrap:wrap}.risk-legend{display:flex;align-items:center;gap:9px;font-size:10px;color:#a8bab4;flex-wrap:wrap}.risk-legend i{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block;margin-left:7px;box-shadow:0 0 7px currentColor}.risk-carousel{display:flex;gap:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#416b5b #101c19;padding:4px 0 14px;scroll-snap-type:x proximity}.risk-mini{flex:0 0 180px;display:grid;gap:12px;background:linear-gradient(135deg,#1c332a77,#12231e44);border:1px solid #31473f;border-radius:12px;padding:15px 17px;color:inherit;text-decoration:none;position:relative;scroll-snap-align:start;transition:transform .25s,border-color .25s}.risk-mini:before{content:"";position:absolute;top:15px;bottom:15px;left:0;width:2px;background:currentColor;box-shadow:0 0 9px currentColor}.risk-mini:hover{border-color:currentColor;transform:translateY(-3px)}.risk-mini-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#d8e9e2;font-weight:600}.risk-metric{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.risk-metric strong{font-family:Consolas,"Courier New",monospace;font-size:27px;font-weight:600;letter-spacing:-1px;text-shadow:0 0 17px currentColor}.risk-metric small{font-size:11px;letter-spacing:0;opacity:.8}.risk-mini-state{font-size:10px;opacity:.85}.risk-strip-bottom{font-size:10px;color:#8baba0;margin-top:8px}.risk-strip-bottom>div{display:flex;gap:6px}.risk-arrow{padding:0;width:31px;height:28px;display:grid;place-items:center;background:#172e26;border:1px solid #38584b;color:#c4ded3;border-radius:6px;font-size:13px}.risk-arrow:hover{background:#2c4d3d}.risk-empty{font-size:12px;color:#8da99d;line-height:1.8;padding:20px;margin:0}.tone-green{color:#52e0a7!important}.tone-yellow{color:#f2c560!important}.tone-red{color:#ff6d80!important}.tone-neutral{color:#829b96!important}
.risk-page-toolbar{display:flex;justify-content:space-between;align-items:center;margin:6px 0 22px;gap:16px}.risk-page-toolbar>div{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.risk-page-toolbar strong{font-size:14px}.risk-page-toolbar small{font-size:11px;color:#91a99e}.risk-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.risk-count{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#142920,#101c1a)}.risk-count small{font-size:12px;color:#a3b8af}.risk-count strong{font-size:28px;font-family:Consolas,monospace}.risk-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.risk-map-panel{padding:25px;position:sticky;top:22px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#153b3155,transparent 60%),#0e1a18}.risk-panel-title h2{font-size:18px;margin:6px 0 0}.risk-live-label{font:9px Consolas,monospace;letter-spacing:1px;border:1px solid #345448;color:#8cccb0;padding:6px 9px;border-radius:5px}.risk-map-caption{font-size:12px;color:#a4bfb2;margin:20px 0 6px;overflow-wrap:anywhere}.risk-map{position:relative;isolation:isolate;margin:0 -8px;overflow:hidden}.risk-map svg{width:100%;display:block;aspect-ratio:640/430;min-height:260px}.risk-gridline{stroke:#4b806233;stroke-width:.6}.risk-land{fill:#16453466;stroke:#609d7c;stroke-width:1.3;stroke-linejoin:round}.risk-scanline{position:absolute;inset:-10% 0 75%;z-index:-1;background:linear-gradient(transparent,#3fdc9f13,transparent);border-bottom:1px solid #3fdc9f22;animation:riskScan 7s linear infinite;pointer-events:none}.risk-pin-dot{fill:currentColor;stroke:#081712;stroke-width:1.1}.risk-pin-halo{fill:currentColor;fill-opacity:.13;stroke:currentColor;stroke-opacity:.3;stroke-width:.7;transform-box:fill-box;transform-origin:center;animation:riskPin 3s ease-out infinite}.risk-pin-label{fill:#d3e4d9;font-size:12px;font-family:system-ui,sans-serif;paint-order:stroke;stroke:#11291c;stroke-width:2px}.risk-pin:focus .risk-pin-dot,.risk-pin:hover .risk-pin-dot{r:7;stroke:#fff}.risk-map-empty{position:absolute;left:10%;right:10%;bottom:12%;font-size:12px;text-align:center;background:#0e1b18ee;border:1px solid #315849;padding:13px 15px;border-radius:9px;color:#bdd2c7}.risk-map-empty[hidden]{display:none}.risk-map-legend{justify-content:center;padding:14px 0;border-top:1px solid #294238;border-bottom:1px solid #294238}.risk-selected-summary{display:flex;align-items:center;gap:25px;padding:23px 0 12px}.risk-selected-metric>small{font-size:10px;color:#9ab5a7}.risk-selected-metric .risk-metric{margin-top:6px}.risk-selected-metric .risk-metric strong{font-size:36px}.risk-selected-info{display:grid;gap:7px;min-width:0}.risk-selected-info strong{font-size:13px}.risk-selected-info span,.risk-selected-info small{font-size:10px;color:#a7bbb1;line-height:1.6}.risk-map-note{color:#78998b;font-size:10px;line-height:1.8;margin:14px 0 0}.risk-search-label{display:flex;align-items:center;gap:8px;background:#0d1a17;border:1px solid #315647;border-radius:10px;padding:0 14px;margin-bottom:14px}.risk-search-label>span{font-size:23px;color:#9fb9aa}.risk-search-label input{padding:13px 0;min-width:0;border:none;background:none;box-shadow:none;width:100%;font-size:12px}.risk-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:750px;overflow-y:auto;padding:2px 6px 8px 2px;scrollbar-width:thin;scrollbar-color:#3e5e4f #101a16;align-content:start}.risk-device-card{display:flex;flex-direction:column;text-align:left;padding:17px 16px;min-width:0;position:relative;overflow:hidden;border-radius:13px;border:1px solid #314b3e;background:linear-gradient(135deg,#1c2d25,#101d19);font-size:12px;font-weight:400;transition:transform .22s,border-color .22s,box-shadow .22s;isolation:isolate}.risk-device-card:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1px;background:currentColor;opacity:.35}.risk-device-card.selected{border-color:currentColor;box-shadow:0 0 0 1px currentColor,0 8px 22px #0003}.risk-device-card.selected:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,currentColor,transparent 50%);opacity:.035;z-index:-1}.risk-device-card:hover{transform:translateY(-2px);border-color:currentColor}.risk-card-head{display:flex;gap:8px;justify-content:space-between;align-items:start;width:100%;margin-bottom:18px}.risk-device-name{font-weight:650;font-size:14px;line-height:1.5;color:#e3eee6;overflow-wrap:anywhere}.risk-card-chevron{opacity:.55;font-size:15px}.risk-card-body{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;flex-wrap:wrap}.risk-card-body>div:first-child{display:grid;gap:8px}.risk-ip{font:11px Consolas,monospace;color:#a9c4b5}.risk-card-status{font-size:9px}.risk-card-body .risk-metric strong{font-size:25px}.risk-card-time{font:9px system-ui,sans-serif;color:#7e9c8c;margin-top:16px;line-height:1.7}.risk-node-panel{margin-top:24px;padding:25px}.risk-node-panel .risk-panel-title>span{font-size:10px;color:#93b3a2;text-align:right}.risk-table-scroll{max-height:450px;overflow:auto;margin-top:20px;scrollbar-width:thin;scrollbar-color:#3a5a49 #101b15}.risk-node-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.risk-node-table th{position:sticky;top:0;background:#15251e;z-index:1;text-align:left;color:#9bb8a6;font-weight:500;padding:13px 15px;border-bottom:1px solid #355541}.risk-node-table td{padding:14px 15px;border-bottom:1px solid #263e30;color:#b9cec1}.risk-node-table tr:hover{background:#23482e33}.risk-footer-note{padding:20px 0;color:#8ba696;font-size:11px}.message-card.risk-alert-card{border-color:#873b47;background:linear-gradient(135deg,#3e182633,#101b18)}.message-card.risk-alert-card strong{color:#ff8191}.risk-alert-card small{line-height:1.8;overflow-wrap:anywhere}
@keyframes riskBeacon{50%{box-shadow:0 0 0 7px #50e3b308,0 0 24px #50e3b3aa}}@keyframes riskScan{to{transform:translateY(600%)}}@keyframes riskPin{0%{transform:scale(.65);opacity:.9}80%,100%{transform:scale(1.35);opacity:.15}}
html[data-theme=light] .risk-strip,html[data-theme=light] .risk-map-panel{background:radial-gradient(ellipse at 80% 0,#dbe7ef66,transparent 65%),#fff;border-color:#b9c8d3}html[data-theme=light] .risk-strip:before{background:linear-gradient(90deg,transparent,#334155,transparent)}html[data-theme=light] .risk-mini,html[data-theme=light] .risk-device-card,html[data-theme=light] .risk-count{background:linear-gradient(135deg,#fff,#f0f4f8);border-color:#c0ccd6}html[data-theme=light] .risk-device-card.selected{border-color:#334155;box-shadow:0 0 0 1px #334155,0 7px 20px #1a344211}html[data-theme=light] .risk-search-label,html[data-theme=light] .risk-arrow{background:#f6f8fa;border-color:#b9c7d2}html[data-theme=light] .risk-metric strong{text-shadow:none}html[data-theme=light] .risk-mini-state{opacity:1}html[data-theme=light] .risk-live-label{border-color:#b9c8d3}html[data-theme=light] .risk-gridline{stroke:#cad4de;stroke-opacity:.6}html[data-theme=light] .risk-land{fill:#edf2f6;stroke:#7f93a7}html[data-theme=light] .risk-pin-label{fill:#111827;stroke:#fff;stroke-width:2.6px}html[data-theme=light] .risk-pin-dot{stroke:#fff}html[data-theme=light] .risk-scanline{background:linear-gradient(transparent,#3e638110,transparent);border-color:#6986a333}html[data-theme=light] .risk-map-empty{background:#ffffffef;border-color:#b8c5d1}html[data-theme=light] .risk-map-legend{border-color:#c9d4de}html[data-theme=light] .risk-node-table th{background:#eaf0f5;border-color:#c7d3dd}html[data-theme=light] .risk-node-table td{border-color:#dce3eb}html[data-theme=light] .risk-node-table tr:hover{background:#edf2f6}html[data-theme=light] .risk-alert-card{background:#fff6f6;border-color:#d8a3ab}html[data-theme=light] .risk-alert-card strong{color:#a61f35!important}html[data-theme=light] .risk-beacon{background:#334155;box-shadow:0 0 0 5px #33415512;animation:none}html[data-theme=light] body .tone-green,html[data-theme=light] body .tone-green>*{color:#136a46!important}html[data-theme=light] body .tone-yellow,html[data-theme=light] body .tone-yellow>*{color:#8a5800!important}html[data-theme=light] body .tone-red,html[data-theme=light] body .tone-red>*{color:#b21d35!important}html[data-theme=light] body .tone-neutral,html[data-theme=light] body .tone-neutral>*{color:#526174!important}html[data-theme=light] body .risk-device-name,html[data-theme=light] body .risk-mini-name,html[data-theme=light] body .risk-ip,html[data-theme=light] body .risk-card-time{color:#111827!important}
@media(min-width:1800px){.risk-device-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1200px){.risk-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.risk-device-list{grid-template-columns:1fr}.risk-selected-summary{gap:17px}.risk-count{padding:17px}}@media(max-width:950px){.risk-layout{grid-template-columns:1fr}.risk-map-panel{position:static}.risk-device-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:560px}.risk-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-map svg{max-height:450px}}@media(max-width:600px){.risk-strip{padding:20px}.risk-strip-head>a{font-size:10px}.risk-strip-bottom{align-items:start}.risk-strip-bottom>span{max-width:65%;line-height:1.7}.risk-page-toolbar small{width:100%;margin-left:23px;line-height:1.6}.risk-page-toolbar{align-items:start}.risk-provider-link{white-space:nowrap;font-size:10px}.risk-map-panel,.risk-node-panel{padding:20px 16px}.risk-panel-title h2{font-size:16px}.risk-live-label{font-size:8px;letter-spacing:0}.risk-selected-summary{gap:18px;align-items:start}.risk-selected-metric .risk-metric strong{font-size:28px}.risk-card-body{gap:14px}.risk-device-card{padding:15px 12px}.risk-device-name{font-size:13px}.risk-overview{gap:10px}.risk-count{padding:15px}.risk-count small{font-size:11px}.risk-count strong{font-size:25px}.risk-node-panel .risk-panel-title{align-items:start;flex-wrap:wrap}.risk-map svg{min-height:220px}}
@media(prefers-reduced-motion:reduce){.risk-beacon,.risk-pin-halo,.risk-scanline{animation:none}.risk-mini,.risk-device-card{transition:none}.risk-carousel{scroll-behavior:auto}}

/* Province blocks and independent border tracers. */
.risk-province{fill:currentColor;fill-opacity:.055;stroke:#426a57;stroke-width:.85;vector-effect:non-scaling-stroke;transition:fill .4s,fill-opacity .4s}.risk-province-group:hover .risk-province{fill-opacity:.2}.risk-province-marquee{stroke:#56edac;stroke-width:1.25;stroke-dasharray:24 132 7 170;stroke-dashoffset:0;stroke-linecap:square;opacity:.9;pointer-events:none;animation:provinceTrace 14s linear infinite;filter:drop-shadow(0 0 2px #5aefac66)}@keyframes provinceTrace{to{stroke-dashoffset:-1000}}html[data-theme=light] .risk-province{fill-opacity:.08;stroke:#8c9ead}html[data-theme=light] .risk-province-marquee{stroke:#168756;stroke-width:1.1;filter:none;opacity:.8}.risk-map .risk-pin-label{font-size:11px}.risk-map .risk-pin-halo{animation-duration:4s}@media(prefers-reduced-motion:reduce){.risk-province-marquee{animation:none;stroke-dasharray:4 9;opacity:.5}}

.risk-mini-location{line-height:1.65;overflow-wrap:anywhere;color:#a4c9b9;opacity:1}.risk-mini-alert{font-size:10px;line-height:1.4}.risk-card-location{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#a4c9b9}html[data-theme=light] .risk-mini-location,html[data-theme=light] .risk-card-location{color:#111827!important}

/* Independent hourly proxy/VPN and policy assessments. */
.risk-assessments{display:grid;gap:10px;width:100%;margin-top:17px;padding-top:13px;border-top:1px solid #365148}
.risk-assessment{display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.5}
.risk-assessment-label{font-size:11px;color:#a7bfb4;text-align:left}
.risk-assessment-value{font-size:12px;font-weight:650;white-space:nowrap}
.risk-assessment-value.tone-green{color:#52e0a7!important;text-shadow:0 0 10px #52e0a723}
.risk-assessment-value.tone-red{color:#ff6d80!important;text-shadow:0 0 10px #ff6d8023}
html[data-theme=light] .risk-assessments{border-color:#cbd5e1}
html[data-theme=light] body .risk-assessment-label{color:#334155!important}
html[data-theme=light] body .risk-assessment-value.tone-green{color:#136a46!important;text-shadow:none}
html[data-theme=light] body .risk-assessment-value.tone-red{color:#b21d35!important;text-shadow:none}
html[data-theme=light] body .risk-assessment-value.tone-neutral{color:#526174!important}

/* Selected device report: fixed 2 / 100 and 100 / 100 presentation rules. */
.risk-selected-summary{display:grid;grid-template-columns:minmax(112px,.6fr) minmax(0,2fr);gap:14px;align-items:center}
.risk-selected-summary>.risk-selected-metric{min-width:0}
.risk-selected-summary .risk-selected-metric .risk-metric{flex-wrap:wrap;gap:4px}
.risk-selected-summary .risk-selected-metric .risk-metric strong{font-size:28px}
.risk-selected-summary>.risk-selected-info{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:4px}
.risk-report{--report-accent:#829b96;min-width:0;padding:14px;border:1px solid #345046;border-radius:11px;background:linear-gradient(135deg,#18342b88,#0a191caa);box-shadow:inset 0 1px #bfffd610;position:relative;overflow:hidden}
.risk-report:before{content:'';position:absolute;top:0;left:15px;right:15px;height:1px;background:linear-gradient(90deg,transparent,var(--report-accent),transparent);opacity:.8}
.risk-report-low{--report-accent:#53e4ad;border-color:#34765b}
.risk-report-high{--report-accent:#ff6d80;border-color:#ac4859;background:radial-gradient(ellipse at 100% 0,#c12f4e38,transparent 75%),linear-gradient(135deg,#3c1c28,#23151c);box-shadow:inset 0 1px #ff9cad20,0 0 18px #ff3f5a12}
.risk-report-title{font-size:12px;line-height:1.4;margin:0 0 12px;color:#d7e9df;letter-spacing:.04em}
.risk-report-content{display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;align-items:center}
.risk-report-score{display:grid;justify-items:start;gap:3px}
.risk-report-score small{font-size:9px;color:#a6bdb1}
.risk-report-score strong{font:700 32px/1.15 Consolas,monospace;color:var(--report-accent);text-shadow:0 0 16px color-mix(in srgb,var(--report-accent) 25%,transparent)}
.risk-report-score>span{font:10px Consolas,monospace;color:#91aa9f}
.risk-report-level{font-size:13px;line-height:1.4;color:var(--report-accent)}
.risk-report-copy{font-size:11px;line-height:1.75;margin:5px 0 11px;color:#adc3b7;overflow-wrap:anywhere}
.risk-report-high .risk-report-title,.risk-report-high .risk-report-copy{color:#f2b8c0}
.risk-report-scale{display:flex;gap:4px;position:relative;margin:3px 0 9px;height:4px}
.risk-report-scale>i{flex:1;border-radius:3px;background:#4fce93}
.risk-report-scale>.caution{background:#e5a743}.risk-report-scale>.danger{background:#ee566e}
.risk-report-marker{position:absolute;top:50%;left:2%;width:11px;height:11px;border:2px solid var(--report-accent);border-radius:50%;background:#11251c;transform:translate(-50%,-50%);box-shadow:0 0 9px #53e4ad35}
.risk-report-high .risk-report-marker{left:calc(100% - 5px);background:#331923;box-shadow:0 0 10px #ff6d8040}
.risk-report-unknown .risk-report-scale{opacity:.3}
.risk-report-ends{display:flex;justify-content:space-between;font-size:9px;color:#8aa397;gap:8px}
html[data-theme=light] .risk-report{background:linear-gradient(135deg,#f6fbf8,#edf4f0);border-color:#a9c7b7;box-shadow:none}
html[data-theme=light] .risk-report-low{--report-accent:#137548}
html[data-theme=light] .risk-report-high{--report-accent:#b21d35;background:linear-gradient(135deg,#fff0f1,#ffe3e8);border-color:#d78696}
html[data-theme=light] body .risk-report :is(.risk-report-title,.risk-report-copy,.risk-report-ends,.risk-report-ends span,.risk-report-score small,.risk-report-score>span){color:#475569!important}
html[data-theme=light] body .risk-report :is(.risk-report-score strong,.risk-report-level){color:var(--report-accent)!important;text-shadow:none}
html[data-theme=light] body .risk-report-high :is(.risk-report-title,.risk-report-copy){color:#8c2338!important}
html[data-theme=light] .risk-report-marker{background:#fff}
@media(max-width:1200px){.risk-selected-summary{grid-template-columns:minmax(104px,.6fr) minmax(0,2fr);gap:11px}.risk-report{padding:12px}.risk-report-content{grid-template-columns:51px minmax(0,1fr);gap:9px}}
@media(max-width:600px){.risk-selected-summary{grid-template-columns:1fr}.risk-selected-summary>.risk-selected-metric{display:flex;align-items:center;justify-content:space-between}.risk-selected-metric .risk-metric{margin:0}.risk-report{padding:16px}.risk-report-content{grid-template-columns:60px minmax(0,1fr);gap:14px}.risk-report-copy{font-size:11px}.risk-selected-summary>.risk-selected-info{gap:7px 12px}}
