/* HackTricks Tools — shared chrome (navbar + upgrade banner + footer).
   All classes are namespaced `htc-` to avoid collisions with per-tool page CSS.
   Injected by tools-chrome.js on every tool page. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

.htc-nav-wrap {
    position: sticky;
    top: 0;
    z-index: 2000;
    background: rgba(11, 15, 20, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid #1a232f;
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
}
.htc-nav {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 28px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.htc-nav-left { display: flex; align-items: center; gap: 14px; min-width: 0; }
.htc-nav-left a { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.htc-nav-left img { height: 27px; display: block; }
.htc-sep { width: 1px; height: 22px; background: #242f3d; flex-shrink: 0; }
.htc-tag { font-size: 13.5px; color: #93a1b3; font-weight: 500; white-space: nowrap; }
.htc-nav-right { display: flex; align-items: center; gap: 6px; }
.htc-link { font-size: 13.5px; color: #93a1b3; padding: 8px 12px; border-radius: 8px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.htc-link:hover { color: #c7d2de; }
.htc-login { font-size: 13.5px; color: #c7d2de; padding: 8px 14px; border-radius: 8px; font-weight: 500; border: 1px solid #242f3d; text-decoration: none; white-space: nowrap; }
.htc-login:hover { color: #e6edf3; }
.htc-register { font-size: 13.5px; color: #06121a; padding: 8px 15px; border-radius: 8px; font-weight: 600; background: #45c1e0; text-decoration: none; white-space: nowrap; }
.htc-register:hover { color: #06121a; background: #7ad4ec; }

.htc-banner { border-top: 1px solid #141c26; background: rgba(69, 193, 224, 0.045); display: none; }
.htc-banner.htc-show { display: block; }
/* When the navbar is suppressed (nav:false) the banner is the top element. */
.htc-nav-wrap--bare .htc-banner { border-top: none; }
.htc-banner-inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 8px 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 12.5px;
    color: #a9c9d6;
    flex-wrap: wrap;
    text-align: center;
}
.htc-banner-inner strong { color: #d7eef6; font-weight: 600; }
.htc-banner-inner a { color: #45c1e0; font-weight: 600; text-decoration: none; }
.htc-banner-inner a:hover { color: #7ad4ec; }

/* Sticky footer: when a page's content is shorter than the viewport, push the
   footer to the bottom instead of leaving it floating mid-screen. Scoped to the
   class tools-chrome.js adds so only chrome'd pages are affected. */
body.htc-sticky-footer { display: flex; flex-direction: column; min-height: 100vh; }
body.htc-sticky-footer > .htc-footer { margin-top: auto; }

.htc-footer {
    border-top: 1px solid #141c26;
    margin-top: 40px;
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
    background: #0b0f14;
}
.htc-footer-top {
    max-width: 1160px;
    margin: 0 auto;
    padding: 26px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.htc-footer-note { font-size: 12.5px; color: #6b7889; line-height: 1.7; }
.htc-footer-note a { color: #45c1e0; text-decoration: none; }
.htc-footer-note a:hover { color: #7ad4ec; }
.htc-footer-note .htc-dot { color: #34404f; margin: 0 6px; }
.htc-socials { display: flex; align-items: center; gap: 4px; }
.htc-socials a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 9px; color: #8496a8; text-decoration: none; }
.htc-socials a:hover { color: #e6edf3; background: #151d28; }
.htc-socials svg { width: 17px; height: 17px; fill: currentColor; display: block; }
.htc-footer-bottom { border-top: 1px solid #10161f; }
.htc-footer-bottom-inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.htc-footer-bottom-inner span, .htc-footer-bottom-inner a { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 11px; color: #3f4d5e; text-decoration: none; }
.htc-footer-bottom-inner a:hover { color: #6b7889; }
.htc-footer-bottom-links { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

@media (max-width: 720px) {
    .htc-tag, .htc-link { display: none; }
    .htc-nav, .htc-banner-inner, .htc-footer-top, .htc-footer-bottom-inner { padding-left: 18px; padding-right: 18px; }
}

/* Hide legacy per-page chrome that the shared chrome replaces. The old navbar
   markup is kept in the DOM (page scripts still reference #navAuth) but hidden;
   the old inline upgrade banner and footers are removed by tools-chrome.js. */
nav.navbar { display: none !important; }
footer { display: none !important; }
