/* ExploitPortal — Interactive Tools theme (futuristic / cutting-edge, built on the site's cyber palette) */
:root{
  --ep-bg:#070a0f; --ep-bg2:#0c1118; --ep-panel:rgba(14,20,28,.72);
  --ep-cyan:#00d4ff; --ep-green:#00ff88; --ep-magenta:#ff2bd6; --ep-amber:#ffb020; --ep-red:#ff3b3b;
  --ep-line:rgba(0,212,255,.22); --ep-line-soft:rgba(255,255,255,.08);
  --ep-text:#dbe7f0; --ep-muted:#8aa0b2; --ep-mono:'JetBrains Mono','Fira Code',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body.ep-tools{
  background:
    radial-gradient(1200px 600px at 15% -10%,rgba(0,212,255,.10),transparent 60%),
    radial-gradient(1000px 700px at 110% 10%,rgba(255,43,214,.08),transparent 55%),
    linear-gradient(180deg,var(--ep-bg) 0%,var(--ep-bg2) 100%);
  background-attachment:fixed; color:var(--ep-text); min-height:100vh;
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
}
/* faint grid overlay */
body.ep-tools::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--ep-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--ep-line-soft) 1px,transparent 1px);
  background-size:42px 42px;mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 80%);
}
.ep-tools .container{position:relative;z-index:1;}
.ep-navbar{background:rgba(5,8,12,.86)!important;backdrop-filter:blur(12px);border-bottom:1px solid var(--ep-line);}
.ep-navbar .navbar-brand{letter-spacing:.5px;}
.ep-navbar .nav-link{color:#cfe3ef!important;opacity:.85;transition:.2s;}
.ep-navbar .nav-link:hover,.ep-navbar .nav-link.active{opacity:1;color:var(--ep-cyan)!important;text-shadow:0 0 12px rgba(0,212,255,.5);}

/* hero header for each tool */
.ep-hero{padding:2.2rem 0 1rem;}
.ep-eyebrow{font-family:var(--ep-mono);font-size:.74rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ep-cyan);opacity:.9;}
.ep-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.1;margin:.35rem 0 .5rem;
  background:linear-gradient(90deg,#fff,var(--ep-cyan) 60%,var(--ep-green));-webkit-background-clip:text;background-clip:text;color:transparent;}
.ep-sub{color:var(--ep-muted);max-width:60ch;}

/* glass panel with animated gradient border */
.ep-panel{position:relative;background:var(--ep-panel);border:1px solid var(--ep-line);border-radius:16px;padding:1.4rem 1.5rem;
  backdrop-filter:blur(10px);box-shadow:0 10px 40px rgba(0,0,0,.45);}
.ep-panel.glow::after{content:"";position:absolute;inset:-1px;border-radius:16px;padding:1px;pointer-events:none;
  background:linear-gradient(130deg,rgba(0,212,255,.6),rgba(255,43,214,.35),rgba(0,255,136,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;}
.ep-label{font-family:var(--ep-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ep-muted);margin-bottom:.35rem;}

/* form controls */
.ep-tools .form-control,.ep-tools .form-select{background:rgba(255,255,255,.04);border:1px solid var(--ep-line-soft);color:#eaf4fa;border-radius:10px;}
.ep-tools .form-control:focus,.ep-tools .form-select:focus{background:rgba(0,212,255,.06);border-color:var(--ep-cyan);box-shadow:0 0 0 .2rem rgba(0,212,255,.18);color:#fff;}
.ep-tools textarea.form-control,.ep-out{font-family:var(--ep-mono);}
.ep-out{background:#05080c;border:1px solid var(--ep-line);border-radius:12px;padding:1rem 1.1rem;color:#d4ffe9;white-space:pre-wrap;word-break:break-word;font-size:.9rem;min-height:3rem;position:relative;}
.ep-out .ph{color:var(--ep-muted);}

/* segmented option pills (CVSS vectors, shell pickers) */
.ep-seg{display:flex;flex-wrap:wrap;gap:.4rem;}
.ep-seg button{font-family:var(--ep-mono);font-size:.8rem;border:1px solid var(--ep-line-soft);background:rgba(255,255,255,.03);color:#bcd3e0;border-radius:9px;padding:.4rem .7rem;cursor:pointer;transition:.15s;}
.ep-seg button:hover{border-color:var(--ep-cyan);color:#fff;}
.ep-seg button.active{background:linear-gradient(90deg,rgba(0,212,255,.22),rgba(0,255,136,.14));border-color:var(--ep-cyan);color:#fff;box-shadow:0 0 14px rgba(0,212,255,.25) inset;}

.ep-btn{font-weight:700;border-radius:10px;border:0;padding:.6rem 1.15rem;cursor:pointer;transition:.18s;color:#02121a;
  background:linear-gradient(90deg,var(--ep-cyan),var(--ep-green));box-shadow:0 6px 22px rgba(0,212,255,.3);}
.ep-btn:hover{filter:brightness(1.08);transform:translateY(-1px);}
.ep-btn.ghost{background:transparent;color:var(--ep-cyan);border:1px solid var(--ep-line);box-shadow:none;}
.ep-copy{position:absolute;top:.55rem;right:.55rem;font-family:var(--ep-mono);font-size:.7rem;background:rgba(0,212,255,.12);border:1px solid var(--ep-line);color:var(--ep-cyan);border-radius:7px;padding:.2rem .55rem;cursor:pointer;}
.ep-copy:hover{background:rgba(0,212,255,.25);color:#fff;}

/* score gauge / badges */
.ep-score{font-family:var(--ep-mono);font-weight:800;font-size:2.6rem;line-height:1;}
.ep-badge{display:inline-block;font-family:var(--ep-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;border:1px solid currentColor;}
.sev-critical{color:var(--ep-red);} .sev-high{color:var(--ep-amber);} .sev-medium{color:#ffe14d;} .sev-low{color:var(--ep-green);} .sev-none{color:var(--ep-muted);}

/* tool index cards */
.ep-card{display:block;height:100%;text-decoration:none;color:inherit;border:1px solid var(--ep-line);border-radius:15px;padding:1.15rem;background:var(--ep-panel);transition:.2s;backdrop-filter:blur(8px);}
.ep-card:hover{transform:translateY(-4px);border-color:var(--ep-cyan);box-shadow:0 14px 34px rgba(0,212,255,.22);color:#fff;}
.ep-card .ic{font-size:1.5rem;color:var(--ep-cyan);}
.ep-chip{font-family:var(--ep-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ep-green);border:1px solid rgba(0,255,136,.3);border-radius:6px;padding:.1rem .4rem;}

.ep-note{font-size:.82rem;color:var(--ep-muted);border-left:2px solid var(--ep-amber);padding:.5rem .8rem;background:rgba(255,176,32,.06);border-radius:0 8px 8px 0;}
.ep-footer{border-top:1px solid var(--ep-line-soft);color:var(--ep-muted);font-size:.85rem;padding:2rem 0;margin-top:2.5rem;}
a.ep-link{color:var(--ep-cyan);text-decoration:none;}a.ep-link:hover{text-decoration:underline;}
