/**
 * SecurityGab Inc — proprietary & confidential.
 * https://dengisan.nl
 * Copyright (c) 2026 SecurityGab Inc. All rights reserved.
 * Unauthorized copying, distribution, or reverse engineering of this file,
 * in whole or in part, is strictly prohibited without written permission.
 */
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15.5px;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-soft);text-decoration:underline}
.shell{max-width:760px;margin:0 auto;padding:0 1.5rem 4rem}

/* ---- header ---- */
.hp-header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 0 1.25rem}
.hp-brand{display:flex;align-items:center;gap:.65rem}
.hp-logo{height:32px;width:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.hp-brand-name{font-weight:800;font-size:14.5px;letter-spacing:-.01em;color:var(--text)}
.hp-brand-name span{color:var(--text-dimmer);font-weight:600}
.hp-back{font-size:13px;color:var(--text-dim);font-weight:600}
.hp-divider{height:2px;border:none;margin:0 0 2rem;background:linear-gradient(90deg,rgba(57,255,106,0),var(--green),rgba(57,255,106,0));box-shadow:0 0 8px rgba(57,255,106,.4)}

/* ---- search ---- */
.hp-search-wrap{margin-bottom:2.5rem}
.hp-eyebrow{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dim);margin-bottom:.6rem}
.hp-title{font-size:1.9rem;font-weight:800;letter-spacing:-.01em;margin:0 0 .5rem;color:var(--text);text-wrap:balance}
.hp-lede{color:var(--text-dim);font-size:15px;line-height:1.6;margin:0 0 1.5rem;max-width:56ch}
.hp-search-box{position:relative}
.hp-search-input{
    width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);
    padding:.9rem 1.1rem .9rem 2.7rem;border-radius:10px;font-family:inherit;font-size:15px;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.hp-search-input:focus{outline:none;border-color:var(--green-dim);box-shadow:0 0 0 3px rgba(57,255,106,.12)}
.hp-search-input::placeholder{color:var(--text-dimmer)}
.hp-search-icon{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--text-dimmer);pointer-events:none;line-height:0}
.hp-search-results{
    position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;
    background:var(--panel);border:1px solid var(--border-hover);border-radius:10px;
    box-shadow:0 16px 36px -12px rgba(0,0,0,.65);padding:.4rem;display:none;max-height:60vh;overflow-y:auto;
}
.hp-search-results.open{display:block}
.hp-search-result{display:block;padding:.7rem .8rem;border-radius:8px;transition:background-color .15s ease}
.hp-search-result:hover,.hp-search-result.active{background:var(--panel-alt);text-decoration:none}
.hp-search-result-title{color:var(--text);font-weight:700;font-size:14px}
.hp-search-result-title mark{background:rgba(57,255,106,.22);color:var(--green-soft);border-radius:2px;padding:0 1px}
.hp-search-result-cat{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green-dim);margin-left:.5rem}
.hp-search-result-summary{color:var(--text-dim);font-size:12.5px;margin-top:.15rem;line-height:1.4}
.hp-search-empty{padding:1rem .8rem;color:var(--text-dimmer);font-size:13px;text-align:center}

/* ---- category / article listing ---- */
.hp-category{margin-bottom:2rem}
.hp-category-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dimmer);margin:0 0 .7rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.hp-article-card{
    display:block;padding:1rem 1.2rem;border:1px solid var(--border);border-left:2px solid var(--green-dim);
    border-radius:6px;background:var(--panel);margin-bottom:.6rem;
    transition:border-color .15s ease,background-color .15s ease,transform .12s ease,box-shadow .15s ease;
}
.hp-article-card:hover{border-color:var(--border-hover);border-left-color:var(--green);background:var(--panel-alt);transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(0,0,0,.5);text-decoration:none}
.hp-article-card-title{color:var(--text);font-size:1rem;font-weight:700}
.hp-article-card-summary{color:var(--text-dim);font-size:13px;margin-top:.3rem;line-height:1.5}

/* ---- article page ---- */
.hp-back-btn{
    display:inline-flex;align-items:center;gap:.35rem;font-size:12.5px;font-weight:700;
    color:var(--text-dim);background:var(--panel);border:1px solid var(--border);
    border-radius:999px;padding:.4rem .85rem;margin-bottom:.85rem;transition:all .15s ease;
}
.hp-back-btn:hover{color:var(--text);border-color:var(--border-hover);background:var(--panel-alt)}
.hp-crumb{font-size:13px;color:var(--text-dim);margin-bottom:1.25rem}
.hp-crumb a{color:var(--text-dim);font-weight:600}
.hp-crumb a:hover{color:var(--text)}
.hp-crumb .sep{margin:0 .4rem;color:var(--text-dimmer)}
.hp-article-cat{
    display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
    color:var(--green-dim);border:1px solid var(--green-dim);border-radius:999px;padding:.2rem .6rem;margin-bottom:.9rem;
}
.hp-article h1{font-size:1.75rem;font-weight:800;letter-spacing:-.01em;margin:0 0 1.5rem;color:var(--text);text-wrap:balance}
.hp-article h2{color:var(--text);font-weight:800;font-size:1.1rem;margin-top:2rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.hp-article h3{color:var(--text);font-weight:800;font-size:1rem;margin:0 0 .35rem}
.hp-article p,.hp-article li{line-height:1.7;color:var(--text-dim)}
.hp-article ul,.hp-article ol{padding-left:1.3rem}
.hp-article code{background:var(--panel);border:1px solid var(--border);padding:.15rem .4rem;border-radius:6px;font-size:.92em;color:var(--green-soft)}
.hp-article .dim{color:var(--text-dimmer)}
.hp-badge-card{display:flex;gap:1rem;align-items:flex-start;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:1.2rem 1.4rem;margin:1.2rem 0}
.hp-badge-card .icon{flex:none;line-height:0;margin-top:.15rem}

.hp-related{margin-top:2.5rem;padding-top:1.5rem;border-top:1px dashed var(--border)}

/* ---- table of contents (long articles, e.g. API reference) ---- */
.hp-toc{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}
.hp-toc a{font-size:12.5px;font-weight:600;color:var(--text-dim);border:1px solid var(--border);padding:.4rem .8rem;border-radius:999px}
.hp-toc a:hover{color:var(--text);border-color:var(--border-hover);background:var(--panel-alt);text-decoration:none}

/* ---- code blocks (distinct from the inline .hp-article code above) ---- */
.hp-article h2[id],.hp-article h3[id]{scroll-margin-top:1.5rem}
.hp-code-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dimmer);margin:1.2rem 0 .4rem}
.hp-codeblock{position:relative}
.hp-codeblock pre{
    background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;
    overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;
    line-height:1.6;color:var(--text);margin:0 0 1.1rem;
}
.hp-codeblock pre code{background:none;border:none;padding:0;color:inherit;font-size:1em}
.hp-copy-btn{
    position:absolute;top:.6rem;right:.6rem;font-family:var(--font);font-size:11px;font-weight:700;
    background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);
    padding:.3rem .7rem;border-radius:8px;cursor:pointer;transition:all .15s ease;
}
.hp-copy-btn:hover{background:var(--border);color:var(--text)}
.hp-copy-btn.copied{background:var(--green);color:#04120a;border-color:var(--green)}

/* ---- tables (endpoint / error-code reference) ---- */
.hp-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;margin-bottom:1.25rem}
.hp-article table{width:100%;border-collapse:collapse;font-size:13.5px}
.hp-article th,.hp-article td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}
.hp-article tr:last-child td{border-bottom:none}
.hp-article th{color:var(--text-dimmer);font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em;background:var(--panel-alt)}
.hp-article td{color:var(--text-dim)}
.hp-article td code{white-space:nowrap}
.hp-pill{display:inline-block;font-size:10.5px;font-weight:800;padding:.15rem .55rem;border-radius:999px;text-transform:uppercase}
.hp-pill.get{background:rgba(57,255,106,.12);color:var(--green)}
.hp-pill.post{background:rgba(255,180,84,.12);color:var(--amber)}
.hp-pill.auth{background:rgba(255,255,255,.08);color:var(--text)}
.hp-pill.public{background:transparent;color:var(--text-dimmer);border:1px solid var(--border)}

.hp-note{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:0 10px 10px 0;padding:1rem 1.2rem;margin:1.25rem 0}
.hp-note p{margin:0;color:var(--text-dim);font-size:13.5px}
.hp-note.amber{border-left-color:var(--amber)}

footer.hp-footer{margin-top:3rem;padding-top:1.75rem;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-dimmer);text-align:center}
footer.hp-footer a{color:var(--text-dim)}
footer.hp-footer a:hover{color:var(--text)}

@media (max-width:600px){
    .shell{padding:0 1rem 3rem}
    .hp-title{font-size:1.5rem}
}
