#proof .pf-bg { position:absolute; inset:0; background:url(assets/map.jpg) center/cover; opacity:.22; mask-image:radial-gradient(ellipse at 65% 50%, #000 30%, transparent 75%); -webkit-mask-image:radial-gradient(ellipse at 65% 50%, #000 30%, transparent 75%); pointer-events:none; }
#proof .pf-grid { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 32px 48px; align-items:center; }
#proof .pf-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:34px; }
#proof .pf-stat { position:relative; overflow:hidden; padding:20px 20px 18px; border-radius:18px; border:1px solid var(--line); background:linear-gradient(160deg, rgba(19,41,74,.75), rgba(8,20,38,.6)); }
#proof .pf-stat .num { font-size:clamp(38px,4vw,56px); color:var(--white); }
#proof .pf-stat:first-child .num { color:var(--gold); text-shadow:0 0 30px rgba(255,197,0,.3); }
#proof .pf-stat p { margin:6px 0 0; font-size:15px; color:var(--text); }
#proof .pf-place { display:inline-flex; align-items:center; gap:7px; margin-top:8px; font-size:12.5px; color:var(--muted); }
#proof .pf-dot { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 8px var(--cyan); }
#proof .pf-ticker { position:absolute; inset:0; font:500 10.5px/1.6 ui-monospace,Menlo,monospace; color:rgba(34,211,238,.22); padding:6px 12px; white-space:pre; pointer-events:none; mask-image:linear-gradient(transparent, #000 40%, transparent); -webkit-mask-image:linear-gradient(transparent, #000 40%, transparent); }
#proof .pf-tickbox > :not(.pf-ticker) { position:relative; }
#proof .pf-map svg { width:100%; height:auto; overflow:visible; }
#proof .pf-land { fill:url(#pfFill); stroke:#22d3ee; stroke-width:2; stroke-linejoin:round; filter:drop-shadow(0 0 14px rgba(34,211,238,.35)); stroke-dasharray:4000; stroke-dashoffset:4000; }
#proof.pf-on .pf-land, .hx-static #proof .pf-land { animation:pfDraw 2.6s var(--ease) forwards; }
.hx-static #proof .pf-land { animation:none; stroke-dashoffset:0; }
@keyframes pfDraw { to { stroke-dashoffset:0; } }
#proof .pf-core { fill:var(--cyan); filter:drop-shadow(0 0 10px #22d3ee); }
#proof .pf-ring { fill:none; stroke:var(--cyan); stroke-width:2; opacity:0; }
#proof.pf-on .pf-ring { animation:pfRip 2.4s ease-out infinite; }
#proof.pf-on .pf-ring.r2 { animation-delay:1.2s; }
@keyframes pfRip { 0% { transform:scale(1); opacity:.9; } 100% { transform:scale(5.5); opacity:0; } }
#proof .pf-lbl { font:700 22px var(--head); fill:var(--white); }
#proof .pf-sub { font:500 15px var(--body); fill:var(--muted); }
#proof .pf-lbl, #proof .pf-sub { paint-order:stroke fill; stroke:#06101f; stroke-width:6px; stroke-linejoin:round; }
#proof .pf-hw { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; padding-top:22px; border-top:1px solid var(--line); }
#proof .pf-hwlbl { font:700 12px/1 var(--body); letter-spacing:.24em; text-transform:uppercase; color:var(--cyan); margin-right:6px; }
#proof .pf-chip { padding:10px 16px; border-radius:12px; border:1px solid var(--line); background:rgba(15,34,56,.8); font-size:15px; color:var(--white); }
#proof .pf-plus { color:var(--muted); font-weight:700; }
#proof .pf-slot { background:transparent; border:2px dashed rgba(34,211,238,.55); color:var(--cyan); font-weight:600; min-width:150px; text-align:center; }
#proof.pf-on .pf-slot { animation:pfSlot 2.2s ease-in-out infinite; }
@keyframes pfSlot { 50% { border-color:rgba(34,211,238,.15); box-shadow:0 0 24px rgba(34,211,238,.25) inset; } }
#proof .pf-foot { flex-basis:100%; margin:6px 0 0; font-size:14px; color:var(--muted); }
@media (max-width:900px) { #proof .pf-grid { grid-template-columns:1fr; } #proof .pf-map { order:-1; max-width:560px; } }
@media (max-width:600px) { #proof .pf-stats { gap:10px; } #proof .pf-stat { padding:16px 14px; } #proof .pf-stat .num { font-size:34px; } #proof .pf-stat p { font-size:13.5px; } #proof .pf-plus { display:none; } #proof .pf-chip { width:100%; } #proof .pf-lbl { font-size:34px; stroke-width:8px; } #proof .pf-sub { display:none; } }
@media (prefers-reduced-motion: reduce) { #proof .pf-land { animation:none !important; stroke-dashoffset:0; } #proof .pf-ring, #proof .pf-slot { animation:none !important; } }
#proof .h2 { font-size:clamp(32px,3.8vw,54px); }
