/* Intel IP Lookup Panel - styles (v1.0.5) */
:root{
  --iplu-panel: rgba(12, 18, 16, .88);
  --iplu-line: rgba(120, 255, 195, .18);
  --iplu-line2: rgba(120, 255, 195, .10);
  --iplu-text: rgba(224, 255, 240, .92);
  --iplu-dim: rgba(224, 255, 240, .62);
  --iplu-accent: rgba(120, 255, 195, 1);
  --iplu-radius: 18px;
}

.iplu-wrap{max-width: 1200px; margin: 0 auto;}
.iplu-card{position: relative;border: 1px solid var(--iplu-line);border-radius: var(--iplu-radius);padding: 16px;
  background: radial-gradient(1200px 500px at 40% 0%, rgba(120,255,195,.14), transparent 60%),
              radial-gradient(900px 500px at 100% 30%, rgba(120,255,195,.10), transparent 55%),
              linear-gradient(180deg, rgba(5,9,8,.98), rgba(6,10,9,.94));
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  color: var(--iplu-text);overflow: hidden;transform: translateZ(0);
}
.iplu-note{padding:14px; color: var(--iplu-dim);}

.iplu-scanlines{pointer-events:none;position:absolute; inset:0;background: repeating-linear-gradient(to bottom,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,rgba(0,0,0,0) 3px,rgba(0,0,0,0) 6px);
  mix-blend-mode: overlay;opacity: .30;animation: iplu_scan 6s linear infinite;}
@keyframes iplu_scan{0%{transform: translateY(-10px);}100%{transform: translateY(10px);}}
.iplu-noise{pointer-events:none;position:absolute; inset:-20%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
  opacity: .06;animation: iplu_noise 7s steps(2) infinite;}
@keyframes iplu_noise{0%{transform: translate(0,0);}25%{transform: translate(-2%, 1%);}50%{transform: translate(1%, -2%);}75%{transform: translate(2%, 2%);}100%{transform: translate(0,0);}}

.iplu-top{display:flex; gap:12px; justify-content:space-between; align-items:center; margin-bottom: 10px;}
.iplu-brand{display:flex; align-items:center; gap:12px;}
.iplu-badge{width: 44px; height: 44px;border-radius: 12px;display:flex; align-items:center; justify-content:center;border: 1px solid var(--iplu-line);
  background: rgba(120,255,195,.06);color: var(--iplu-accent);font-weight: 800;letter-spacing: .6px;text-shadow: 0 0 18px rgba(120,255,195,.25);}
.iplu-hgroup{display:flex; flex-direction:column; gap:2px;}
.iplu-title{font-weight: 800; letter-spacing: .5px; text-transform: uppercase; font-size: 15px;}
.iplu-sub{font-size: 12px; color: var(--iplu-dim); letter-spacing: .25px;}
.iplu-chips{display:flex; gap:8px; flex-wrap:wrap;}
.iplu-chip{font-size: 11px;border: 1px solid var(--iplu-line2);border-radius: 999px;padding: 6px 10px;color: var(--iplu-dim);background: rgba(0,0,0,.18);}
.iplu-chip.is-hot{border-color: rgba(255, 96, 96, .35);color: rgba(255, 170, 170, .92);box-shadow: 0 0 16px rgba(255, 96, 96, .12);animation: iplu_pulse 1.6s ease-in-out infinite;}
@keyframes iplu_pulse{0%,100%{transform: translateY(0); opacity: .9;}50%{transform: translateY(-1px); opacity: 1;}}

.iplu-form{margin: 10px 0 8px;}
.iplu-label{display:block; font-size: 11px; color: var(--iplu-dim); letter-spacing: .4px; margin-bottom: 6px;}
.iplu-row{display:flex; gap:10px; align-items:center;}
.iplu-input{flex: 1;padding: 12px 12px;border-radius: 14px;border: 1px solid var(--iplu-line2);background: rgba(0,0,0,.30);color: var(--iplu-text);outline: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size: 14px;}
.iplu-input::placeholder{color: rgba(224,255,240,.38);}
.iplu-input:focus{border-color: rgba(120,255,195,.35); box-shadow: 0 0 0 4px rgba(120,255,195,.08);}

.iplu-btn{position: relative;padding: 12px 16px;border-radius: 14px;border: 1px solid rgba(120,255,195,.35);background: linear-gradient(180deg, rgba(120,255,195,.16), rgba(0,0,0,.20));
  color: var(--iplu-text);cursor: pointer;font-weight: 800;letter-spacing: .6px;min-width: 112px;text-transform: uppercase;transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);}
.iplu-btn:hover{filter: brightness(1.05); transform: translateY(-1px);}
.iplu-btn:active{transform: translateY(0px); filter: brightness(1.0);}
.iplu-btn:disabled{opacity:.55; cursor:not-allowed; transform:none;}
.iplu-spinner{display:none;width: 14px; height: 14px;border-radius: 999px;border: 2px solid rgba(224,255,240,.25);border-top-color: var(--iplu-accent);margin-left: 10px;animation: iplu_spin .8s linear infinite;}
@keyframes iplu_spin{to{transform: rotate(360deg);}}
.iplu-card.is-loading .iplu-spinner{display:inline-block;}
.iplu-card.is-loading .iplu-btntext{opacity:.85;}

.iplu-status{min-height: 18px;font-size: 12px;color: var(--iplu-dim);letter-spacing: .15px;margin: 6px 0 12px;font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}
.iplu-status.is-ok{color: rgba(124,255,178,.92);}
.iplu-status.is-warn{color: rgba(255,204,102,.92);}
.iplu-status.is-error{color: rgba(255,107,107,.92);}
.iplu-status.is-info{color: rgba(224,255,240,.70);}

.iplu-debugline{margin:-4px 0 12px;font-size: 11px;color: rgba(224,255,240,.45);font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;}

.iplu-grid{display:grid; grid-template-columns: 380px 1fr; gap: 14px; align-items: start;}
.iplu-panel{border: 1px solid var(--iplu-line2); border-radius: 16px; background: rgba(12, 18, 16, .88); overflow: hidden;}
.iplu-panelhead{display:flex; justify-content:space-between; align-items:center; padding: 10px 12px; border-bottom: 1px solid var(--iplu-line2); background: rgba(0,0,0,.22);}
.iplu-paneltitle{font-size: 12px; font-weight: 900; letter-spacing: .6px; text-transform: uppercase; color: rgba(224,255,240,.9);}
.iplu-panelmeta{font-size: 11px; color: rgba(224,255,240,.45); letter-spacing: .25px;}
.iplu-kv{display:grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 10px 12px; border-bottom: 1px dashed rgba(120,255,195,.14);}
.iplu-kv:last-of-type{border-bottom:none;}
.iplu-kv .k{font-size: 11px; color: rgba(224,255,240,.55); letter-spacing: .35px;}
.iplu-kv .v{font-size: 12px; color: rgba(224,255,240,.92); font-weight: 800; word-break: break-word; text-shadow: 0 0 18px rgba(120,255,195,.10);}

.iplu-mapwrap{position: relative; padding: 10px;}
.iplu-map{width: 100%; border-radius: 14px; overflow: hidden; border: 1px solid rgba(120,255,195,.18); box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);}
.iplu-glow{position:absolute; inset: 10px; border-radius: 14px; box-shadow: 0 0 0 1px rgba(120,255,195,.14), 0 0 34px rgba(120,255,195,.12); pointer-events:none; animation: iplu_glow 4s ease-in-out infinite;}
@keyframes iplu_glow{0%,100%{opacity:.55;}50%{opacity:.85;}}
.iplu-ping{position:absolute; left: 0; top: 0; width: 14px; height: 14px; border-radius: 999px; border: 2px solid rgba(120,255,195,.9); box-shadow: 0 0 22px rgba(120,255,195,.22); pointer-events:none; opacity: 0;}
.iplu-ping.run{animation: iplu_ping 1.35s ease-out 1;}
@keyframes iplu_ping{0%{transform: translate(-50%,-50%) scale(.35); opacity: .95;}70%{opacity: .35;}100%{transform: translate(-50%,-50%) scale(3.2); opacity: 0;}}

.iplu-card .leaflet-control-attribution,
.iplu-card .leaflet-control-zoom a{background: rgba(0,0,0,.55) !important;color: rgba(224,255,240,.65) !important;border: 1px solid rgba(120,255,195,.12) !important;}
.iplu-card .leaflet-control-zoom a{border-radius: 10px !important;}
.iplu-card .leaflet-bar a:hover{color: rgba(224,255,240,.92) !important;}

@media (max-width: 980px){.iplu-grid{grid-template-columns: 1fr;}}
