/* PM Radar UI - v2.0 */

/* =========================
   Base / Theme
   ========================= */
.pmr-wrap{
  --pmr-bg: var(--pm-bg, #0b0b0e);
  --pmr-panel: var(--pm-panel, #11131a);
  --pmr-elev: var(--pm-elev, #161926);
  --pmr-fg: var(--pm-fg, #e9ecff);
  --pmr-muted: var(--pm-muted, #a2a8c7);
  --pmr-primary: var(--pm-primary, #9b5cff);
  --pmr-accent: var(--pm-accent, #58ffb6);
  --pmr-danger: var(--pm-danger, #ff5c99);
  --pmr-border: var(--pm-border, #1f2333);
  --pmr-radius: var(--pm-radius, 14px);
  --pmr-shadow: var(--pm-shadow, 0 10px 30px rgba(0,0,0,.55));

  color: var(--pmr-fg);
  font-family: inherit;
  position: relative;
  padding: 16px;
  background:
    radial-gradient(900px 520px at 15% -10%, rgba(155,92,255,.12), transparent 60%),
    radial-gradient(900px 520px at 85% 120%, rgba(88,255,182,.10), transparent 60%),
    var(--pmr-bg);
  border: 1px solid var(--pmr-border);
  border-radius: calc(var(--pmr-radius) + 2px);
  box-shadow: var(--pmr-shadow);
}

.pmr-wrap a{ color: var(--pmr-primary); text-decoration: none; }
.pmr-wrap a:hover{ color: #b98cff; text-shadow: 0 0 12px rgba(155,92,255,.55); }

/* =========================
   Layout / Full Bleed (GeneratePress)
   ========================= */
.inside-article .entry-content > :where(.pmr-wrap, #pmr-root){
  --pmr-bleed: var(--gp-container-padding, 24px);
  margin: calc(var(--pmr-bleed) * -1.6) calc(var(--pmr-bleed) * -1.1);
}
@media (max-width: 900px){
  .inside-article .entry-content > :where(.pmr-wrap, #pmr-root){
    margin: calc(var(--pmr-bleed) * -1.6) calc(var(--pmr-bleed) * -0.6);
  }
}
@media (max-width: 700px){
  .inside-article .entry-content > :where(.pmr-wrap, #pmr-root){
    margin: calc(var(--pmr-bleed) * -1.3) 0;
  }
}
body.postid-2104 .site-main .inside-article,
body.page-id-2104 .site-main .inside-article,
article#post-2104 .inside-article {
  border: 0 !important;
  box-shadow: none !important;
}

.pmr-section{ margin-top: 18px; }
.pmr-h2{ font-size: 16px; font-weight: 800; margin: 0 0 12px; letter-spacing: .2px; }
.pmr-small{ color: var(--pmr-muted); font-size: 12px; margin-top: 4px; }

.pmr-hide{ display:none !important; }

.pmr-alert{
  background: rgba(255,77,153,.08);
  border: 1px solid rgba(255,77,153,.22);
  padding: 12px;
  border-radius: var(--pmr-radius);
}

/* =========================
   Buttons & Inputs
   ========================= */
.pmr-btn{
  appearance: none;
  border: none;
  cursor: pointer;
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(135deg, var(--pmr-primary), #7b34ff 45%, #5d2bff 80%);
  border: 1px solid rgba(155, 92, 255, 0.25);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .2px;
  box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 30px rgba(155,92,255,.25);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.pmr-btn:hover{ transform: translateY(-1px); filter: saturate(1.06); }
.pmr-btn:active{ transform: translateY(0); }

.pmr-btn.secondary{
  background: linear-gradient(180deg, rgba(17,19,29,.9), rgba(22,25,38,.9));
  border-color: rgba(255,255,255,.08);
  color: var(--pmr-fg);
  box-shadow: 0 8px 22px rgba(0,0,0,.35);
}

.pmr-quick.is-active{
  box-shadow: 0 0 0 2px rgba(197,153,255,.35), 0 0 0 6px rgba(88,255,182,.10);
}

.pmr-input,
.pmr-select{
  background: #0d1020;
  border: 1px solid var(--pmr-border);
  color: var(--pmr-fg);
  border-radius: 12px;
  padding: 9px 10px;
  min-width: 180px;
  outline: none;
}
.pmr-input:focus,
.pmr-select:focus{
  border-color: #7b34ff;
  box-shadow: 0 0 0 3px rgba(155,92,255,.18);
}

/* =========================
   Live bar
   ========================= */
.pmr-livebar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
  border-radius: var(--pmr-radius);
  background: rgba(13,15,26,.85);
  border: 1px solid rgba(88,255,182,.25);
  box-shadow: 0 0 24px rgba(88,255,182,.12);
}
.pmr-livebar-text{ font-weight: 700; color: #e9fff5; }
.pmr-livebar .pmr-btn{ white-space: nowrap; }

/* =========================
   Hero
   ========================= */
.pmr-hero{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  padding: 18px;
  border-radius: calc(var(--pmr-radius) + 2px);
  background:
    radial-gradient(700px 380px at 10% 0%, rgba(155,92,255,.18), transparent 60%),
    linear-gradient(180deg, rgba(14,16,26,.92), rgba(19,22,36,.92));
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 16px 40px rgba(0,0,0,.55);
}

.pmr-eyebrow{ color: var(--pmr-muted); font-size: 12px; letter-spacing: .3px; }
.pmr-hero-title{ font-size: clamp(26px, 4vw, 40px); font-weight: 900; margin-top: 4px; }
.pmr-hero-accent{ color: var(--pmr-accent); text-shadow: 0 0 22px rgba(88,255,182,.45); }
.pmr-hero-lead{ color: #e6e9ff; font-size: 14px; line-height: 1.6; margin-top: 8px; }

.pmr-hero-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  color: var(--pmr-muted);
  font-size: 12px;
  margin-top: 10px;
  align-items: center;
}
.pmr-hero-meta > span{
  display: inline-flex;
  align-items: center;
}
.pmr-hero-meta strong{ color: #f5f7ff; font-weight: 800; }
.pmr-live-relative{
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  color:#cfe3ff;
  background: rgba(88,120,255,.12);
  border:1px solid rgba(88,120,255,.25);
}
.pmr-live-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pmr-live-badge{
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  color:#eafff3;
  background: rgba(88,255,182,.12);
  border:1px solid rgba(88,255,182,.35);
  box-shadow: 0 0 18px rgba(88,255,182,.22);
}

.pmr-live-dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--pmr-accent);
  box-shadow: 0 0 12px rgba(88,255,182,.8);
  animation: pmr-pulse 1.6s ease infinite;
  transform-origin: center;
}

.pmr-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.pmr-fresh-ticker{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(155,92,255,.22);
  background: rgba(14,16,26,.72);
  box-shadow: inset 0 0 14px rgba(155,92,255,.12);
  min-height:32px;
}
.pmr-fresh-items{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  overflow:hidden;
  min-height:18px;
}
.pmr-fresh-item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:12px;
  color:#d6d9f7;
  padding:0;
  border-radius:0;
  background: transparent;
  border:0;
  opacity:0;
  transform: translateY(2px);
  transition: opacity .35s ease, transform .35s ease;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.pmr-fresh-item:not(.is-show){
  display:none;
}
.pmr-fresh-item.is-show{
  display:inline-flex;
  opacity:1;
  transform: translateY(0);
}
.pmr-fresh-prompt{
  color:#9ad1ff;
  font-weight:900;
  margin-right:6px;
}
.pmr-fresh-kind{
  font-weight:900;
  margin-right:6px;
}
.pmr-kind-new{ color:#7bffd9; }
.pmr-kind-updated{ color:#ffd166; }
.pmr-kind-recent{ color:#a5b4fc; }
.pmr-fresh-text{
  position: relative;
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  width:0;
  padding-right:10px;
}
.pmr-fresh-item.is-show .pmr-fresh-text{
  animation: pmr-type 1.1s steps(18, end) forwards;
}
.pmr-fresh-item.is-show .pmr-fresh-text::after{
  content:"|";
  position:absolute;
  right:0;
  top:0;
  color:#9ad1ff;
  animation: pmr-caret 1s steps(2, end) infinite;
}
.pmr-fresh-empty{
  font-size:12px;
  color: var(--pmr-muted);
}

@media (max-width: 680px){
  .pmr-hero-meta{
    gap:6px 10px;
    font-size:11px;
  }
  .pmr-hero-meta > span{
    line-height:1.2;
  }
  .pmr-live-relative{
    padding:2px 6px;
    font-size:10px;
  }
  .pmr-fresh-ticker{
    border-radius:12px;
    gap:6px;
    padding:6px 8px;
    align-items:center;
  }
  .pmr-fresh-items{
    gap:6px;
    flex-wrap:nowrap;
  }
  .pmr-fresh-item{
    font-size:11px;
    padding:0;
  }
}
.pmr-quick-count{
  margin-left: 6px;
  font-size: 11px;
  background: rgba(255,255,255,.12);
  padding: 0 6px;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.pmr-quick{
  position: relative;
}
.pmr-quick[data-tooltip]::after{
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%) translateY(-6px);
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(17,19,29,.95);
  color: #fff;
  font-size: 11px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.15);
  transition: opacity .15s ease;
}
.pmr-quick[data-tooltip]:hover::after{
  opacity: 1;
}

.pmr-hero-right{
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  position: relative;
  gap:10px;
  overflow: visible;
}

.pmr-delta-mini{ color: #d7c7ff; }

/* =========================
   Radar
   ========================= */
.pmr-radar{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, rgba(88,255,182,.08), transparent 60%),
    radial-gradient(circle at center, rgba(155,92,255,.10), transparent 70%);
  border: 1px solid rgba(88,255,182,.18);
  box-shadow: inset 0 0 40px rgba(88,255,182,.08), 0 0 30px rgba(155,92,255,.18);
  overflow: hidden;
  z-index: 1;
}

.pmr-radar-grid{
  position: absolute; inset: 0;
  background:
    repeating-radial-gradient(circle at center, rgba(88,255,182,.10) 0 1px, transparent 1px 22%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 12.5%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 12.5%);
  opacity: .6;
}

.pmr-radar-sweep{
  position: absolute; inset: -15%;
  background: conic-gradient(from 90deg, rgba(88,255,182,.25), rgba(88,255,182,.0) 35%, transparent 60%);
  border-radius: 50%;
  animation: pmr-sweep 12s linear infinite;
  mix-blend-mode: screen;
}

.pmr-dot{
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  border-radius: 50%;
  transform: translate(calc(-50% + var(--jx, 0px)), calc(-50% + var(--jy, 0px)));
  background: var(--pmr-accent);
  box-shadow: 0 0 8px rgba(88,255,182,.6);
  animation: none;
  cursor: pointer;
  z-index: 5;
}
.pmr-dot.is-clustered{
  opacity: 0;
  pointer-events: none;
}
.pmr-dot.pmr-dot-cluster{
  width: 10px;
  height: 10px;
  box-shadow: 0 0 12px rgba(88,255,182,.6);
}
.pmr-cluster-menu{
  position: absolute;
  z-index: 60;
  min-width: 220px;
  background: rgba(18,20,32,.96);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  padding: 8px;
  opacity: 0;
  transform: translateY(6px) scale(.98);
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;
}
.pmr-cluster-menu.is-open{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.pmr-cluster-list{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pmr-cluster-item{
  text-align: left;
  width: 100%;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(20,22,36,.6);
  color: #e9f0ff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.pmr-cluster-item:hover{
  border-color: rgba(155,92,255,.45);
  box-shadow: 0 0 0 2px rgba(155,92,255,.15) inset;
}
.pmr-dot::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(88,255,182,.45);
  opacity:0;
  transform: scale(.6);
  pointer-events:none;
}
.pmr-dot-nvd{
  /* NVD = subtelny "marker" (obwódka), bez ringa. */
  width: 6.5px;
  height: 6.5px;
  border: 1px solid rgba(255,255,255,.55);
}
.pmr-dot.is-fresh{
  animation: pmr-dot-pulse 3.2s ease-in-out infinite;
}
.pmr-dot.is-fresh::before{
  animation: pmr-dot-ring 3.2s ease-in-out infinite;
}
.pmr-dot-nvd.is-fresh{
  animation: pmr-dot-nvd-pulse 4.0s ease-in-out infinite;
}
.pmr-dot-nvd.is-fresh::before{
  display: none;
}
.pmr-dot.is-new{
  box-shadow: 0 0 10px rgba(88,255,182,.65), 0 0 18px rgba(88,255,182,.35);
  animation: pmr-new-pulse 1.6s ease-in-out infinite;
}
.pmr-dot.is-active{
  box-shadow: 0 0 16px rgba(88,255,182,.9), 0 0 26px rgba(155,92,255,.35);
  transform: translate(calc(-50% + var(--jx, 0px)), calc(-50% + var(--jy, 0px))) scale(1.35);
  animation: none;
}
.pmr-dot.is-group-dim{
  opacity: .45;
}
.pmr-dot::after{
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translate(-50%, -100%);
  background: rgba(14,16,26,.95);
  color: #e9f0ff;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 40;
  animation: none;
}
.pmr-dot:hover::after,
.pmr-dot:focus-visible::after{
  opacity: 1;
  transform: translate(-50%, -120%);
}
.pmr-dot:active::after{
  opacity: 0;
  transform: translate(-50%, -100%);
  transition: none;
}
.pmr-dot.is-active::after{
  opacity: 0 !important;
  transform: translate(-50%, -100%) !important;
  transition: none !important;
}
.pmr-dot:hover,
.pmr-dot:focus-visible{
  animation: none !important;
  z-index: 35;
}
.pmr-dot:hover::before,
.pmr-dot:focus-visible::before{
  animation: none !important;
}
@media (hover: none) and (max-width: 900px){
  .pmr-dot::after{ display:none; }
}
@media (max-width: 720px){
  .pmr-dot::after{ display:none; }
}

.pmr-radar-labels{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:12;
}
.pmr-dot-label{
  position:absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%,-140%) translateY(6px) scale(.96);
  padding:4px 8px;
  border-radius:999px;
  background: rgba(14,16,26,.85);
  border:1px solid rgba(155,92,255,.25);
  color:#e9f0ff;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.2px;
  opacity:0;
  transition: opacity .28s ease, transform .28s ease;
  white-space: nowrap;
  z-index:12;
}
.pmr-dot-label.is-show{
  opacity:1;
  transform: translate(-50%,-140%) translateY(0) scale(1);
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
}
@media (max-width: 900px){
  .pmr-dot-label{
    font-size:9.5px;
    padding:3px 6px;
  }
}
@media (max-width: 600px){
  .pmr-dot-label{
    font-size:9px;
    padding:3px 6px;
  }
}

.pmr-radar-info{
  position:absolute;
  left:12px;
  top:12px;
  width: min(320px, 82%);
  padding:10px 32px 10px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(16,18,30,.96), rgba(20,24,38,.96));
  box-shadow: 0 10px 24px rgba(0,0,0,.45);
  z-index: 4;
  transform: translateY(10px) scale(.985);
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease, transform .2s cubic-bezier(.2,.7,.2,1);
}
.pmr-radar-pop.is-open{
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.pmr-radar-close{
  position:absolute;
  right:8px;
  top:6px;
  width:22px;
  height:22px;
  border:0;
  background: transparent;
  color: transparent;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.85;
  text-shadow: 0 1px 6px rgba(0,0,0,.55);
}
.pmr-radar-close:hover{ opacity:1; }
.pmr-radar-close::before{
  content: "×";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#dfe6ff;
  transform: translateY(-1px);
}
@media (max-width: 720px){
  .pmr-radar-close{
    right:8px;
    top:8px;
    width:28px;
    height:28px;
    font-size:20px;
  }
  .pmr-radar-close::before{
    transform: translateY(-1px);
  }
}
.pmr-radar-info-main{ font-weight:800; color:#e9f0ff; }
.pmr-radar-info-sub{ font-size:12px; color: var(--pmr-muted); margin-top:4px; }
.pmr-radar-info .pmr-radar-open{ margin-top:8px; }

.pmr-radar-legend{
  margin-top:10px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(16,18,28,.8), rgba(18,20,32,.8));
  font-size:11px;
  color: var(--pmr-muted);
  width:100%;
}
.pmr-legend-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:4px;
}
.pmr-legend-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
  margin-right:4px;
}
.pmr-legend-pulse{
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
  margin-right:4px;
  background: var(--pmr-accent);
  box-shadow: 0 0 8px rgba(88,255,182,.6);
  position:relative;
}
.pmr-legend-pulse::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid rgba(88,255,182,.45);
  animation: pmr-dot-ring 3.2s ease-in-out infinite;
}
.pmr-legend-note{
  font-size:10.5px;
  color: rgba(255,255,255,.45);
}
.pmr-legend-nvd{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background: rgba(88,255,182,.95);
  box-shadow: 0 0 8px rgba(88,255,182,.45);
  margin-left:10px;
  margin-right:6px;
  border: 1px solid rgba(255,255,255,.55);
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce){
  .pmr-radar-sweep,
  .pmr-dot,
  .pmr-dot.is-fresh,
  .pmr-dot.is-fresh::before,
  .pmr-legend-pulse::after{
    animation: none;
  }
}

.pmr-dot-critical{ background: var(--pmr-danger); box-shadow: 0 0 14px rgba(255,92,153,.7); }
.pmr-dot-high{ background: #ffd166; box-shadow: 0 0 14px rgba(255,209,102,.7); }
.pmr-dot-medium{ background: var(--pmr-accent); }
.pmr-dot-low{ background: #8aa0ff; box-shadow: 0 0 10px rgba(138,160,255,.6); }

@keyframes pmr-sweep{
  0%{ transform: rotate(0deg); }
  100%{ transform: rotate(360deg); }
}
@keyframes pmr-pulse{
  0%{ transform: scale(1); opacity: .7; }
  70%{ transform: scale(1.8); opacity: 0; }
  100%{ transform: scale(1.8); opacity: 0; }
}
@keyframes pmr-dot-pulse{
  0%{ transform: translate(-50%, -50%) scale(1); opacity: 1; }
  55%{ transform: translate(-50%, -50%) scale(1.45); opacity:.85; }
  100%{ transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
@keyframes pmr-dot-nvd-pulse{
  0%{ transform: translate(-50%, -50%) scale(1); opacity: .95; }
  55%{ transform: translate(-50%, -50%) scale(1.22); opacity:.8; }
  100%{ transform: translate(-50%, -50%) scale(1); opacity: .95; }
}
@keyframes pmr-dot-ring{
  0%{ opacity:0; transform: scale(.6); }
  40%{ opacity:.6; }
  100%{ opacity:0; transform: scale(1.8); }
}
@keyframes pmr-new-glow{
  0%,100%{ box-shadow: 0 0 0 1px rgba(88,255,182,.25), 0 0 18px rgba(88,255,182,.12); }
  50%{ box-shadow: 0 0 0 1px rgba(88,255,182,.55), 0 0 28px rgba(88,255,182,.25); }
}
@keyframes pmr-new-pulse{
  0%,100%{ transform: translate(-50%, -50%) scale(1); opacity:1; }
  50%{ transform: translate(-50%, -50%) scale(1.25); opacity:.7; }
}
@keyframes pmr-type{
  from{ width: 0; }
  to{ width: var(--pmr-text-ch, 24ch); }
}
@keyframes pmr-caret{
  0%,49%{ opacity:1; }
  50%,100%{ opacity:0; }
}

/* =========================
   Metrics
   ========================= */
.pmr-metrics{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.pmr-metric[data-tooltip]{
  position: relative;
}
.pmr-metric[data-tooltip]::after{
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: 100%;
  transform: translateX(-50%) translateY(-8px);
  background: rgba(17,19,29,.95);
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 11px;
  color: #fff;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
  border: 1px solid rgba(255,255,255,.12);
}
.pmr-metric[data-tooltip]:hover::after{
  opacity: 1;
}

.pmr-metric{
  background: linear-gradient(180deg, rgba(17,19,29,.9), rgba(22,25,38,.9));
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--pmr-radius);
  padding: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.pmr-metric-title{ color: var(--pmr-muted); font-size: 12px; }
.pmr-metric-value{ font-size: 22px; font-weight: 900; margin-top: 6px; color: #fff; }
.pmr-metric-sub{ color: var(--pmr-muted); font-size: 12px; margin-top: 4px; }

/* =========================
   Feed
   ========================= */
.pmr-feed-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pmr-feed-card{
  text-align: left;
  background: linear-gradient(180deg, rgba(15,18,30,.95), rgba(20,24,40,.95));
  background-image: none;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--pmr-radius);
  padding: 12px;
  cursor: pointer;
  color: var(--pmr-fg);
  box-shadow: 0 12px 28px rgba(0,0,0,.45);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.pmr-feed-card:hover{
  transform: translateY(-2px);
  border-color: rgba(155,92,255,.3);
  box-shadow: 0 16px 34px rgba(0,0,0,.55), 0 0 24px rgba(155,92,255,.18);
}

.pmr-feed-top{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  gap: 8px;
}
.pmr-feed-source{
  font-size:10px;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  border: 1px solid rgba(124,97,255,.45);
  color:#cdb7ff;
  background: rgba(64,52,110,.35);
  letter-spacing:.2px;
  text-transform:uppercase;
}
.pmr-feed-source-nvd_latest{
  border-color: rgba(72,189,255,.45);
  color:#a7e7ff;
  background: rgba(40,76,110,.32);
}
.pmr-feed-source-kev\+latest{
  border-color: rgba(128,255,196,.5);
  color:#b6ffd8;
  background: rgba(36,84,70,.28);
}
.pmr-new-pill{
  font-size:10px;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  color:#0b1410;
  background: linear-gradient(90deg, #58ffb6, #7bffd9);
  box-shadow: 0 0 12px rgba(88,255,182,.45);
}
.pmr-feed-card.is-new{
  position:relative;
  box-shadow: 0 0 0 1px rgba(88,255,182,.25), 0 0 24px rgba(88,255,182,.12);
  animation: pmr-new-glow 1.8s ease-in-out infinite;
}
.pmr-feed-score{ color: var(--pmr-accent); font-weight: 900; font-size: 12px; }

.pmr-feed-cve{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-weight: 800; margin-top: 6px; }
.pmr-feed-title{ font-weight: 700; font-size: 13px; margin-top: 4px; color: #f0f3ff; }
.pmr-feed-vp{ margin-top:6px; }
.pmr-feed-tldr{
  color: var(--pmr-muted);
  font-size: 12px;
  margin-top: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pmr-feed-meta{ display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color: var(--pmr-muted); margin-top: 8px; }
.pmr-feed-cta{ margin-top: 8px; font-size: 12px; color: #cdb7ff; }
.pmr-feed-deadline{
  margin-top: 6px;
  font-size: 12px;
  color: #ffd166;
}

.pmr-vp{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.pmr-vp-item{
  font-size:12px;
  font-weight:700;
  color:#e9f0ff;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(124,97,255,.28);
  background: rgba(64,52,110,.22);
  white-space: nowrap;
}
.pmr-vp-k{
  color:#bdb5ff;
  font-weight:800;
  margin-right:4px;
}

.pmr-latest{
  margin-top: 18px;
}
.pmr-latest-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.pmr-latest-card{
  background: rgba(12,14,24,.7);
  border: 1px solid rgba(90,96,122,.35);
  border-radius: 14px;
  padding: 12px 14px;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pmr-latest-card:hover{
  transform: translateY(-2px);
  border-color: rgba(155,92,255,.45);
  box-shadow: 0 12px 28px rgba(0,0,0,.45), 0 0 20px rgba(155,92,255,.18);
}

.pmr-titleline{ color: var(--pmr-muted); font-size: 12px; margin-top: 4px; }
.pmr-cvecell .pmr-cve{ font-weight: 900; letter-spacing: .2px; }

/* =========================
   Controls / Command
   ========================= */
.pmr-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  background: rgba(15,22,41,.55);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--pmr-radius);
  padding:10px;
}
.pmr-navigator-head{ margin-bottom:10px; }
.pmr-navigator-tip{ margin-top:8px; }

.pmr-focus-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:12px;
}
.pmr-focus-col{ display:flex; flex-direction:column; gap:10px; }

.pmr-controls .pmr-field{ display:flex; flex-direction:column; gap:6px; }
.pmr-controls label{ font-size: 11px; color: var(--pmr-muted); }
.pmr-focus-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.pmr-top-tags-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pmr-top-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(17,19,29,.8);
  color:var(--pmr-fg);
  font-size:12px;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.pmr-pill{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  background: rgba(255,255,255,.12);
  font-size:11px;
  font-weight:700;
}
.pmr-top-tag .pmr-pill{ margin-left:4px; }
.pmr-top-tag.is-active{ box-shadow:0 0 0 2px rgba(155,92,255,.35) inset; border-color: rgba(155,92,255,.45); }
.pmr-focus-btn.is-active{
  box-shadow: 0 0 0 2px rgba(155,92,255,.35), 0 0 18px rgba(155,92,255,.25);
}
.pmr-chip.is-active{
  box-shadow: 0 0 0 2px rgba(88,255,182,.35);
  border-color: rgba(88,255,182,.45);
}

.pmr-expert-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap:12px;
}
.pmr-expert-card{
  background: linear-gradient(180deg, rgba(17,19,29,.9), rgba(22,25,38,.9));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--pmr-radius);
  padding:12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.pmr-expert-main{ font-size:14px; font-weight:800; margin:6px 0; }

.pmr-cert-card{
  grid-column: 1 / -1;
  background: linear-gradient(180deg, rgba(16,20,30,.95), rgba(15,18,26,.98));
  border-color: rgba(120,180,255,.18);
  box-shadow: 0 16px 40px rgba(10,14,25,.45);
}
.pmr-cert-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.pmr-cert-title{
  font-weight:800;
  font-size:15px;
  letter-spacing:.2px;
}
.pmr-cert-sub{
  font-size:11px;
  color: rgba(255,255,255,.6);
  margin-top:2px;
}
.pmr-cert-badge{
  font-size:11px;
  font-weight:800;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(88,255,182,.35);
  color:#e8fff3;
  background: rgba(88,255,182,.12);
  box-shadow: 0 0 16px rgba(88,255,182,.25);
}
.pmr-cert-list{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap:10px;
}
.pmr-cert-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(12,14,22,.6);
  color: var(--pmr-fg);
  text-decoration:none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  font-size:12px;
}
.pmr-cert-item:hover{
  transform: translateY(-1px);
  border-color: rgba(120,180,255,.35);
  box-shadow: 0 8px 22px rgba(10,14,25,.35);
}
.pmr-cert-item-title{
  font-size:13px;
  font-weight:700;
}
.pmr-cert-item-excerpt{
  font-size:12px;
  color: rgba(255,255,255,.72);
  line-height:1.4;
}
.pmr-cert-item-meta{
  font-size:11px;
  color: rgba(255,255,255,.5);
}
.pmr-cert-item-cves{
  font-size:11px;
  color: #f0d0ff;
}
.pmr-cert-foot{
  margin-top:10px;
  font-size:11px;
}
.pmr-cert-foot a{
  color: #cbb9ff;
  text-decoration:none;
}
.pmr-cert-foot a:hover{
  text-decoration:underline;
}

/* =========================
   Deep dive cards
   ========================= */
.pmr-deep-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.pmr-deep-tabs{
  display:flex;
  align-items:center;
  gap:8px;
}
.pmr-deep-tab{
  border: 1px solid rgba(124,97,255,.35);
  background: rgba(26,22,48,.6);
  color:#cdb7ff;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition: all .18s ease;
}
.pmr-deep-tab.is-active{
  border-color: rgba(128,255,196,.6);
  color:#b6ffd8;
  background: rgba(36,84,70,.28);
}
.pmr-deep-tab-count{
  margin-left:6px;
  font-size:10px;
  opacity:.8;
}
.pmr-deep.is-latest-tab .pmr-deep-sort,
.pmr-deep.is-latest-tab .pmr-filter-indicator,
.pmr-deep.is-latest-tab .pmr-deep-sub{
  display:none;
}
.pmr-latest-card.is-active{
  box-shadow: 0 0 0 1px rgba(128,255,196,.45), 0 0 18px rgba(128,255,196,.35);
}
.pmr-deep-count{ margin-left:auto; }
.pmr-deep-sort{
  display:flex;
  gap:6px;
  align-items:center;
}
.pmr-deep-refresh{
  border:1px solid rgba(88,255,182,.35);
  background: rgba(88,255,182,.12);
  color:#dfffee;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  box-shadow: 0 0 16px rgba(88,255,182,.22);
}
.pmr-sort-btn{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(17,19,29,.8);
  color: var(--pmr-fg);
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.pmr-sort-btn.is-active{
  border-color: rgba(155,92,255,.45);
  box-shadow: 0 0 0 2px rgba(155,92,255,.25) inset;
}
.pmr-epss-note{ margin-top:4px; color: var(--pmr-muted); font-size:11px; }
.pmr-filter-indicator{
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(155,92,255,.35);
  background: rgba(155,92,255,.08);
  color:#e9ddff;
  font-size:12px;
  font-weight:700;
}
.pmr-filter-clear{
  border:0;
  background: rgba(255,255,255,.12);
  color:inherit;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  cursor:pointer;
}
.pmr-filter-clear:hover{ background: rgba(255,255,255,.2); }
.pmr-deep-match{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  color:#bdfad9;
  background: rgba(88,255,182,.14);
  border:1px solid rgba(88,255,182,.35);
}
.pmr-deep-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:12px;
  margin-top:10px;
}
.pmr-deep-card{
  background: linear-gradient(180deg, rgba(15,18,30,.95), rgba(20,24,40,.95));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--pmr-radius);
  padding:8px 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
  cursor:pointer;
  overflow: visible;
}
.pmr-deep-card summary{
  cursor:pointer;
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  list-style:none;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}
.pmr-deep-card summary .pmr-badge,
.pmr-deep-card summary .pmr-deep-cve,
.pmr-deep-card summary .pmr-deep-pm,
.pmr-deep-card summary .pmr-deep-epss{
  justify-self:start;
}
.pmr-deep-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
  order:1;
  flex: 1 1 auto;
  min-width:0;
}
.pmr-deep-card summary::-webkit-details-marker{ display:none; }
.pmr-deep-cve{ font-family: ui-monospace, Menlo, Consolas, monospace; font-weight:800; font-size:12.5px; }
.pmr-deep-pm{ color: var(--pmr-accent); font-weight:800; font-size:12.5px; }
.pmr-deep-source{
  font-size:10px;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  border: 1px solid rgba(124,97,255,.45);
  color:#cdb7ff;
  background: rgba(64,52,110,.35);
  letter-spacing:.2px;
  text-transform:uppercase;
}
.pmr-deep-source-nvd{
  border-color: rgba(72,189,255,.45);
  color:#a7e7ff;
  background: rgba(40,76,110,.32);
}
.pmr-deep-source-mixed{
  border-color: rgba(128,255,196,.5);
  color:#b6ffd8;
  background: rgba(36,84,70,.28);
}
.pmr-deep-title{
  font-weight:700;
  color:#f0f3ff;
  font-size:14px;
  line-height:1.3;
  display:block;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  -webkit-line-clamp: initial;
  -webkit-box-orient: initial;
  text-overflow: clip;
  word-break: break-word;
  max-width: 100%;
  order:3;
  flex-basis:100%;
}
.pmr-deep-vp{
  order:4;
  flex-basis:100%;
  margin-top:4px;
}
.pmr-deep-card,
.pmr-deep-card summary,
.pmr-deep-pills,
.pmr-deep-title,
.pmr-deep-vp,
.pmr-vp-item,
.pmr-deep-meta{
  min-width: 0;
  max-width: 100%;
}
.pmr-deep-meta{
  font-size:11.5px;
  color: var(--pmr-muted);
  white-space:nowrap;
  order:2;
  margin-left:auto;
}
.pmr-updated{
  font-size:11.5px;
  display:inline-flex;
  width:max-content;
  padding:2px 8px;
  border-radius:999px;
  background: rgba(88,255,182,.12);
  border:1px solid rgba(88,255,182,.28);
  color:#bdfad9;
  font-weight:700;
}

.pmr-deep-card:not([open]) .pmr-deep-title{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.pmr-deep-title{
  grid-column: 4;
}
.pmr-deep-meta{
  grid-column: 5;
  justify-self: end;
}
.pmr-updated{
  grid-column: 1;
  justify-self: start;
}
.pmr-deep-body{
  margin-top:8px;
  font-size:13px;
  line-height:1.55;
  overflow: hidden;
  cursor:pointer;
}
.pmr-deep-body .pmr-h4{
  font-size:12px;
  letter-spacing:.2px;
  text-transform: uppercase;
  color: var(--pmr-muted);
  margin:6px 0 4px;
}
.pmr-deep-links a{
  margin-right:8px;
  padding:4px 10px;
  border-radius:999px;
  background: rgba(155,92,255,.12);
  border:1px solid rgba(155,92,255,.25);
  color:#e7dcff;
  font-size:11px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  gap:6px;
  line-height:1;
}
.pmr-deep-links a:hover{
  background: rgba(155,92,255,.2);
  border-color: rgba(155,92,255,.4);
}
.pmr-deep-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.pmr-link-nvd::before{ content:"🔗"; font-size:12px; }
.pmr-link-kev::before{ content:"🛡️"; font-size:12px; }
.pmr-deep-morebar{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
}
.pmr-deep-list .pmr-deep-grid{ grid-template-columns: 1fr; }
.pmr-deep-list .pmr-deep-card{ padding:8px 10px; }
.pmr-deep-list .pmr-deep-card summary{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
@media (max-width: 900px){
  .pmr-deep-card{
    background: linear-gradient(180deg, rgba(20,24,40,.86), rgba(24,28,46,.88));
    border-color: rgba(155,92,255,.18);
    box-shadow: 0 16px 34px rgba(0,0,0,.55), 0 0 24px rgba(155,92,255,.12);
    backdrop-filter: blur(10px);
  }
  .pmr-deep-list .pmr-deep-card summary{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:8px 10px;
  }
  .pmr-deep-pills{ order:1; width:100%; }
  .pmr-deep-meta{ order:2; width:100%; margin-left:0; }
  .pmr-deep-title{
    order:3;
    width:100%;
  }
  .pmr-updated{
    order:4;
  }
}

@media (max-width: 600px){
  .pmr-deep-card{ padding:8px; }
  .pmr-deep-title{ font-size:13px; line-height:1.25; }
  .pmr-deep-cve{ font-size:11.5px; }
  .pmr-deep-pm{ font-size:11.5px; }
  .pmr-deep-meta{ font-size:11px; }
  .pmr-updated{ font-size:10.5px; }
  .pmr-deep-body{ font-size:12px; }
  .pmr-deep-body .pmr-h4{ font-size:11px; }
}
@media (max-width: 700px){
  .pmr-deep-meta{
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .pmr-vp-item{
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Deep dive details: bardziej czytelne listy */
.pmr-deep-body ul{
  margin:4px 0 8px 18px;
  padding:0;
  list-style: disc;
  list-style-position: outside;
  display:block;
}
.pmr-deep-body li::before{
  content: "";
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background: rgba(155,92,255,.6);
  margin-right:8px;
  transform: translateY(-1px);
}
.pmr-deep-body li{
  list-style: none;
  margin:3px 0;
  line-height:1.45;
  background: none;
  padding: 0;
  border: 0;
  display:block;
  text-align:left;
  white-space: normal;
}
/* Smooth expand/collapse */
.pmr-deep-card .pmr-deep-body{
  display:block;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .32s ease, opacity .2s ease;
}
.pmr-deep-card[open] .pmr-deep-body,
.pmr-deep-card.is-open .pmr-deep-body{
  max-height: 2200px;
  opacity: 1;
}
details:not([open]) > .pmr-deep-body{ display:block; }
.pmr-deep-body .pmr-sum,
.pmr-deep-body .pmr-plan{
  display:grid;
  gap:8px;
  width:100%;
}
.pmr-sum-advisory{
  margin-top:6px;
  font-size:11px;
  color: var(--pmr-muted);
}
.pmr-sum-advisory a{
  color:#cbb8ff;
  text-decoration:none;
  border-bottom:1px dashed rgba(203,184,255,.5);
}
.pmr-sum-advisory a:hover{
  color:#efe6ff;
  border-bottom-color: rgba(203,184,255,.8);
}
.pmr-plan-block ul{
  margin:4px 0 0 16px;
}
.pmr-plan-block li{
  margin:3px 0;
}

@media (min-width: 900px){
  .pmr-deep-title{ display:block; overflow: visible; }
  .pmr-deep-body .pmr-sum{
    grid-template-columns: 1fr;
  }
  .pmr-deep-body .pmr-plan{
    grid-template-columns: 1fr;
    justify-items:start;
    align-items:start;
  }
  .pmr-plan-block{
    background: rgba(15,18,30,.35);
    border:1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    padding:8px 10px;
    width: 100%;
    align-self: start;
    box-sizing: border-box;
  }
}

/* Hard reset dla list w Deep dive (konflikty z globalnym CSS) */
.pmr-deep-body ul,
.pmr-deep-body ol{
  list-style: none;
  margin:4px 0 8px 18px;
  padding-left: 0;
}

.pmr-actions{
  display:flex;
  gap:8px;
  align-items:flex-end;
  margin-left:auto;
}
.pmr-kpi{ font-size:12px; color:var(--pmr-muted); }

/* =========================
   Buckets
   ========================= */
.pmr-buckets{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.pmr-bucket{
  width:100%;
  text-align:left;
  background: linear-gradient(180deg, rgba(14,16,26,.95), rgba(19,22,36,.95));
  background-image: none;
  border: 1px solid rgba(88,255,182,.14);
  border-radius: var(--pmr-radius);
  padding:10px;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}

.pmr-bucket:hover{ border-color: rgba(88,255,182,.26); }

.pmr-bucket.is-active{
  box-shadow: 0 0 0 1px rgba(155,92,255,.35) inset, 0 0 20px rgba(155,92,255,.2);
  border-color: rgba(155,92,255,.35);
}

.pmr-bucket-label{ color:var(--pmr-muted); font-size:12px; }
.pmr-bucket-count{ font-size:20px; font-weight:800; margin-top:6px; color:var(--pmr-accent); }
.pmr-bucket-meta{ font-size:11px; color:var(--pmr-muted); margin-top:2px; }

/* =========================
   Leaders + Accordion
   ========================= */
.pmr-accordion{
  background: rgba(13,19,36,.45);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--pmr-radius);
  padding:10px;
}

.pmr-accordion > summary{
  cursor:pointer;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  user-select:none;
  list-style:none;
  padding:10px 12px;
  border-radius:12px;
}
.pmr-accordion > summary::-webkit-details-marker{ display:none; }
.pmr-accordion > summary:hover{ background: rgba(255,255,255,.04); }
.pmr-accordion > summary::after{
  content:"▾";
  opacity:.7;
  transform: rotate(-90deg);
  transition: transform .15s ease, opacity .15s ease;
}
.pmr-accordion[open] > summary::after{ transform: rotate(0deg); opacity:1; }

.pmr-acc-title{ font-weight:900; }
.pmr-acc-sub{ color:var(--pmr-muted); font-size:12px; }
.pmr-acc-body{ margin-top:10px; }

.pmr-leaders{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; }

.pmr-leader{
  background: var(--pmr-panel);
  border: 1px solid rgba(155,92,255,.18);
  border-radius: var(--pmr-radius);
  padding:12px;
}

.pmr-leader-title{ font-weight:800; margin-bottom:8px; }
.pmr-leader-list{ margin:0; padding-left:0; list-style:none; }
.pmr-leader-list li{ display:flex; justify-content:space-between; gap:10px; margin:6px 0; }

.pmr-leader-btn{
  background:transparent;
  border:none;
  color:var(--pmr-fg);
  cursor:pointer;
  padding:0;
  font:inherit;
  text-align:left;
}
.pmr-leader-btn:hover{ text-decoration: underline; }

/* =========================
   Table
   ========================= */
.pmr-table-wrap{
  overflow:auto;
  border-radius: var(--pmr-radius);
  border: 1px solid rgba(255,255,255,.08);
}

.pmr-table{
  width:100%;
  border-collapse: collapse;
  background: rgba(15,22,41,.8);
}

.pmr-table th,
.pmr-table td{
  padding:10px;
  vertical-align:top;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size:13px;
}

.pmr-table th{
  color: var(--pmr-muted);
  text-align:left;
  font-weight:700;
  position: sticky;
  top:0;
  z-index:2;
  background: rgba(15,22,41,.98);
}

@supports (backdrop-filter: blur(6px)){
  .pmr-table th{ backdrop-filter: blur(6px); }
}

.pmr-row{ cursor:pointer; }
.pmr-row:hover{ background: rgba(255,255,255,.03); }

.pmr-links a{ margin-right:8px; white-space:nowrap; }
.pmr-code{ font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }

.pmr-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.3px;
  border: 1px solid rgba(255,255,255,.12);
}
.pmr-sev-critical{ background: rgba(255,77,109,.12); color: var(--pmr-danger); border-color: rgba(255,77,109,.25); }
.pmr-sev-high{ background: rgba(255,209,102,.12); color: #ffd166; border-color: rgba(255,209,102,.22); }
.pmr-sev-medium{ background: rgba(88,255,182,.10); color: var(--pmr-accent); border-color: rgba(88,255,182,.20); }
.pmr-sev-low{ background: rgba(147,164,214,.10); color: var(--pmr-muted); border-color: rgba(147,164,214,.20); }
.pmr-sev-unknown{ background: rgba(255,255,255,.05); color: var(--pmr-muted); border-color: rgba(255,255,255,.10); }

.pmr-epss{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px 7px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.2px;
  border:1px solid rgba(255,255,255,.12);
}
.pmr-epss-low{
  background: rgba(140,150,255,.10);
  color:#cfd6ff;
  border-color: rgba(140,150,255,.24);
}
.pmr-epss-med{
  background: rgba(255,209,102,.12);
  color:#ffd58b;
  border-color: rgba(255,209,102,.28);
}
.pmr-epss-high{
  background: rgba(255,119,119,.12);
  color:#ffb3b3;
  border-color: rgba(255,119,119,.30);
}
.pmr-epss-extreme{
  background: rgba(255,92,153,.14);
  color:#ff8fb8;
  border-color: rgba(255,92,153,.36);
}

/* Details */
.pmr-details{
  padding:12px 10px;
  background: rgba(13,19,36,.7);
}
.pmr-details h4{
  margin:0 0 8px;
  font-size:12px;
  color: var(--pmr-muted);
  letter-spacing:.2px;
  text-transform: uppercase;
}
.pmr-details ul{ margin:6px 0 0 18px; color: var(--pmr-fg); }

.pmr-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  background: rgba(88,255,182,.10);
  border: 1px solid rgba(88,255,182,.22);
  color: var(--pmr-accent);
  width:max-content;
  cursor:pointer;
  flex: 0 0 auto;
}
.pmr-chip.muted{
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  color: var(--pmr-muted);
}

.pmr-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:6px 0 10px;
  align-items:flex-start;
}
.pmr-tags .pmr-chip{ display:inline-flex; }
.pmr-wrap[data-active-tag] .pmr-tags .pmr-chip{
  opacity:.35 !important;
  filter: grayscale(.7) !important;
  transform: scale(.98);
}
.pmr-wrap[data-active-tag] .pmr-tags .pmr-chip.is-match{
  opacity:1 !important;
  filter:none !important;
  transform:none;
  box-shadow: 0 0 0 1px rgba(155,92,255,.35), 0 0 12px rgba(155,92,255,.18);
}

.pmr-top-tags-row.has-active .pmr-top-tag{
  opacity:.4;
  filter: grayscale(.7);
}
.pmr-top-tags-row.has-active .pmr-top-tag.is-active{
  opacity:1;
  filter:none;
  box-shadow: 0 6px 16px rgba(155,92,255,.24), 0 0 0 1px rgba(155,92,255,.35);
}

.pmr-deadline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background: rgba(255,92,153,.12);
  border: 1px solid rgba(255,92,153,.25);
  color: #ff94c2;
  margin-top: 6px;
}

.pmr-details .pmr-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  color: var(--pmr-muted);
  font-size:12px;
  margin-top:6px;
}
.pmr-details .pmr-meta-line span{ white-space:nowrap; }
.pmr-details .pmr-meta-line .pmr-code{
  max-width: 100%;
  overflow:hidden;
  text-overflow:ellipsis;
  display:inline-block;
  vertical-align:bottom;
}

.pmr-row-details[hidden]{ display:none !important; }

/* =========================
   More bar
   ========================= */
.pmr-morebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
}
.pmr-moreinfo{ margin-top:0; }
.pmr-delta-meta{
  margin-top: 10px;
  font-size: 12px;
  color: var(--pmr-muted);
}

/* =========================
   Toast
   ========================= */
.pmr-toast{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 99999;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(17, 17, 27, 0.92);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.92);
  font-size: 13px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.4);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.pmr-toast.is-show{ opacity:1; transform: translateY(0); }

tr.pmr-row.is-target td{
  outline: 2px solid rgba(197,153,255,0.55);
  outline-offset: -2px;
}

button.pmr-cve-link{
  margin-left:8px;
  padding:4px 8px;
  border-radius:10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.85);
  cursor:pointer;
  font-size:12px;
}
button.pmr-cve-link:hover{ background: rgba(255,255,255,0.08); }

/* =========================
   Focus/Hover reset
   ========================= */
#pmr-root :where(button, a, [role="button"]) {
  -webkit-tap-highlight-color: transparent;
}

#pmr-root button:focus,
#pmr-root a:focus,
#pmr-root [role="button"]:focus{
  outline:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
}

#pmr-root button:focus-visible,
#pmr-root a:focus-visible,
#pmr-root [role="button"]:focus-visible{
  outline:none !important;
  box-shadow:
    0 0 0 2px rgba(197,153,255,.35),
    0 0 0 6px rgba(88,255,182,.10) !important;
  text-shadow:none !important;
  filter:none !important;
}

/* =========================
   Theme override guard
   ========================= */
#pmr-root button:hover,
#pmr-root [role="button"]:hover,
#pmr-root button:active,
#pmr-root [role="button"]:active{
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

#pmr-root .pmr-btn:hover{
  transform: translateY(-1px) !important;
  filter: saturate(1.06) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.35), 0 0 30px rgba(155,92,255,.25) !important;
}
#pmr-root .pmr-btn:active{
  transform: translateY(0) !important;
}
#pmr-root .pmr-btn.secondary:hover{
  box-shadow: 0 8px 22px rgba(0,0,0,.35), 0 0 18px rgba(155,92,255,.12) !important;
}
#pmr-root .pmr-top-tag:hover{
  border-color: rgba(155,92,255,.35) !important;
  box-shadow: 0 0 0 1px rgba(155,92,255,.2), 0 0 18px rgba(155,92,255,.18) !important;
  transform: translateY(-1px) !important;
}
#pmr-root .pmr-filter-clear:hover{
  background: rgba(255,255,255,.2) !important;
}
#pmr-root button.pmr-cve-link:hover{
  background: rgba(255,255,255,0.08) !important;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1100px){
  .pmr-hero{ grid-template-columns: 1fr; }
  .pmr-metrics{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pmr-feed-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 980px){
  .pmr-focus-grid{ grid-template-columns: 1fr; }
  .pmr-buckets{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pmr-leaders{ grid-template-columns: 1fr; }
  .pmr-actions{ margin-left:0; }
  .pmr-input, .pmr-select{ min-width:160px; }
}

@media (max-width: 700px){
  .pmr-feed-grid{ grid-template-columns: 1fr; }

  .pmr-table-wrap{
    overflow: visible;
    border:none;
    border-radius:0;
  }

  .pmr-table{
    min-width:0 !important;
    width:100%;
    background:transparent;
    border-collapse: separate;
    border-spacing: 0 10px;
  }

  .pmr-table thead{ display:none; }

  .pmr-table tbody tr.pmr-row{
    display:block;
    background: rgba(15,22,41,.70);
    border: 1px solid rgba(255,255,255,.08);
    border-radius:14px;
    overflow:hidden;
    box-shadow: 0 10px 28px rgba(0,0,0,.25);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  }
  .pmr-table tbody tr.pmr-row:active{
    transform: translateY(1px);
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
  }

  .pmr-table tbody tr.pmr-row > td{
    display:block;
    border-bottom: 1px solid rgba(255,255,255,.06);
    padding:10px 12px;
  }
  .pmr-table tbody tr.pmr-row > td:last-child{ border-bottom:none; }

  /* hide vendor/kev/due/links in list view */
  .pmr-table tbody tr.pmr-row > td:nth-child(5),
  .pmr-table tbody tr.pmr-row > td:nth-child(6),
  .pmr-table tbody tr.pmr-row > td:nth-child(7),
  .pmr-table tbody tr.pmr-row > td:nth-child(8){
    display:none;
  }

  /* metrics row inline */
  .pmr-table tbody tr.pmr-row > td:nth-child(2),
  .pmr-table tbody tr.pmr-row > td:nth-child(3),
  .pmr-table tbody tr.pmr-row > td:nth-child(4){
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:auto;
    border-bottom:none;
    padding:10px 10px 12px;
  }
  .pmr-table tbody tr.pmr-row > td:nth-child(2){ padding-left:12px; }
  .pmr-table tbody tr.pmr-row > td:nth-child(4){ padding-right:12px; }

  .pmr-table tbody tr.pmr-row > td:nth-child(1){
    position: relative;
    padding: 12px 12px 10px;
  }

  .pmr-table tbody tr.pmr-row > td:nth-child(1)::after{
    content: "▾";
    position:absolute;
    right: 12px;
    top: 12px;
    opacity: .7;
    transform: rotate(-90deg);
    transition: transform .15s ease, opacity .15s ease;
    pointer-events:none;
  }
  .pmr-table tbody tr.pmr-row[aria-expanded="true"] > td:nth-child(1)::after{
    transform: rotate(0deg);
    opacity: 1;
  }

  .pmr-table tbody tr.pmr-row > td:nth-child(1) .pmr-small{
    display:-webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow:hidden;
    margin-top:6px;
  }

  button.pmr-cve-link{ float:right; margin-left:10px; }

  .pmr-table tbody tr.pmr-row-details{
    display:block;
    margin-top:-6px;
    background: rgba(13,19,36,.70);
    border: 1px solid rgba(255,255,255,.06);
    border-radius:14px;
    overflow:hidden;
  }

  .pmr-table tbody tr.pmr-row-details > td{
    display:block;
    border-bottom:none;
    padding:0;
  }

  .pmr-details .pmr-meta-line span{ white-space: normal; }
}

/* =========================
   Mobile chips (table)
   ========================= */
.pmr-mchips{ display:none; }

@media (max-width: 700px){
  .pmr-mchips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
    padding-right: 18px;
  }

  .pmr-mchip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.86);
  }

  .pmr-mchip-kev{
    background: rgba(255,77,109,.12);
    border-color: rgba(255,77,109,.22);
    color: var(--pmr-danger);
  }

  .pmr-mchip-due{
    background: rgba(255,209,102,.10);
    border-color: rgba(255,209,102,.18);
    color: rgba(255,209,102,.95);
    font-weight: 800;
  }

  tr.pmr-row[data-duein^="-"] .pmr-mchip-due{
    background: rgba(255,77,109,.12);
    border-color: rgba(255,77,109,.22);
    color: var(--pmr-danger);
  }

  .pmr-mchip-vendor{
    background: rgba(155,92,255,.10);
    border-color: rgba(155,92,255,.18);
    color: rgba(155,92,255,.95);
    font-weight: 800;
  }
}

/* =========================
   New compact layout helpers
   ========================= */
.pmr-insight-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap:12px;
}
.pmr-insight-card{
  padding:14px;
  border-radius: var(--pmr-radius);
  background: linear-gradient(180deg, rgba(17,19,29,.9), rgba(17,19,29,.75));
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.pmr-insight-card-value{font-size:26px;font-weight:900;line-height:1.1;}
.pmr-insight-card-title{margin-top:6px;font-weight:700;font-size:14px;}
.pmr-insight-card-desc{margin-top:4px;color:var(--pmr-muted);font-size:12px;}
.pmr-insight-note{margin-top:10px;color:var(--pmr-muted);font-size:12px;}

.pmr-feed-head{ margin-bottom:10px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.pmr-feed-head h2{ margin:0; font-size:16px; font-weight:800; }
.pmr-feed-count{ font-size:12px; color:var(--pmr-muted); white-space:nowrap; }
.pmr-feed-head p{ margin:4px 0 0; color:var(--pmr-muted); font-size:12px; }
.pmr-feed-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:8px 0 6px;
}
.pmr-no-items{
  color:var(--pmr-muted);
  padding:20px;
  text-align:center;
  background: rgba(17,19,29,.6);
  border:1px dashed var(--pmr-border);
  border-radius: var(--pmr-radius);
}
.pmr-public-note,
.pmr-generated-note{
  padding:12px;
  border-radius: var(--pmr-radius);
  background: rgba(17,19,29,.65);
  border:1px solid rgba(255,255,255,.06);
  color:var(--pmr-muted);
  font-size:12px;
}
