@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-wght-normal.BiLcIKcI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-ext-wght-normal.C2Wlntb9.woff2) format("woff2-variations");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(/_astro/lora-latin-wght-italic.DBI-iqMr.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/unbounded-latin-wght-normal.D5afBTBx.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/unbounded-latin-ext-wght-normal.D6H-S6MW.woff2) format("woff2-variations");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}body.post{font-family:Lora Variable,Georgia,serif;line-height:1.75}body.post main{padding:2.5rem 1.5rem 5rem}.back{display:inline-flex;align-items:center;gap:.4rem;font-family:JetBrains Mono Variable,monospace;font-size:.78rem;color:var(--muted);text-decoration:none;margin-bottom:2.25rem;transition:color .15s}.back:hover{color:var(--purple)}.post-tag{font-family:JetBrains Mono Variable,monospace;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:4px;border:1px solid currentColor;display:inline-block}.post-head-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.lang-toggle{position:relative;display:inline-flex;background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:3px;font-family:JetBrains Mono Variable,monospace;user-select:none}.lang-toggle .lang-indicator{position:absolute;top:3px;bottom:3px;width:calc(50% - 3px);background:linear-gradient(135deg,#a855f7,#7c3aed);border-radius:999px;box-shadow:0 0 14px #a855f759;transition:left .42s cubic-bezier(.65,.05,.36,1);z-index:0}.lang-toggle.is-en .lang-indicator{left:3px}.lang-toggle.is-tr .lang-indicator{left:50%}.lang-option{position:relative;z-index:1;padding:.32rem .85rem;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-radius:999px;transition:color .35s ease;min-width:2.4rem;text-align:center}.lang-option.active{color:#fff}.lang-option:not(.active):hover{color:var(--text)}.lang-option:focus-visible{outline:2px solid var(--purple);outline-offset:2px}@media(max-width:640px){.post-head-row{margin-bottom:.85rem;gap:.6rem}.lang-option{padding:.28rem .7rem;font-size:.58rem}}.post-tag.ctf{color:var(--green)}.post-tag.cve{color:var(--red)}.post-tag.tips{color:var(--amber)}.post-tag.pwn{color:var(--purple)}.post-title{font-family:Unbounded Variable,sans-serif;font-size:clamp(1.7rem,4.3vw,2.25rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:.85rem;color:var(--text)}.post-meta{font-family:JetBrains Mono Variable,monospace;font-size:.72rem;color:var(--muted);display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.post-meta .stars{font-size:.75rem}.post-divider{height:1px;background:var(--border);margin:1.75rem 0 2rem}.toc{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem;font-family:Manrope Variable,sans-serif;overflow:hidden}.toc-label{font-family:JetBrains Mono Variable,monospace;font-size:.7rem;color:var(--purple);letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;user-select:none;transition:background .15s ease}.toc-label::-webkit-details-marker{display:none}.toc-label:hover{background:#a855f70f}.toc-label:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}.toc-chevron{display:inline-block;font-size:1.1rem;color:var(--purple);transition:transform .25s var(--ease);margin-left:.6rem;line-height:1}.toc[open] .toc-chevron{transform:rotate(90deg)}.toc[open] ul{animation:tocReveal .25s var(--ease) both}@keyframes tocReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.toc ul{list-style:none;display:flex;flex-direction:column;gap:.35rem;padding:0 1.25rem 1rem;margin:0}.toc-link{font-size:.88rem;color:var(--muted);text-decoration:none;display:inline-block;padding:.15rem 0 .15rem .6rem;border-left:2px solid transparent;transition:color .15s,transform .15s,border-left-color .15s}.toc-link:hover{color:var(--purple);border-left-color:var(--purple);transform:translate(2px)}.toc li.lvl-3 .toc-link{padding-left:1.4rem;font-size:.82rem;color:var(--dim)}.toc li.lvl-4 .toc-link{padding-left:2.2rem;font-size:.78rem;color:var(--dim)}.md h1,.md h2,.md h3,.md h4{scroll-margin-top:80px}.md{font-size:1.02rem;line-height:1.85;color:var(--text)}.md>*+*{margin-top:1.1em}.md h1,.md h2,.md h3,.md h4{font-family:Unbounded Variable,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--text)}.md h1{font-size:1.75rem;margin-top:2.2rem}.md h2{font-size:1.35rem;margin-top:2rem;color:#c084fc}.md h3{font-size:1.08rem;margin-top:1.6rem;font-weight:700}.md h4{font-size:.95rem;margin-top:1.3rem;font-weight:700}.md p{color:var(--text)}.md strong{font-weight:700;color:var(--text)}.md em{color:var(--text);font-style:italic}.md a{color:var(--purple);text-underline-offset:3px}.md a:hover{opacity:.8}.md code{font-family:JetBrains Mono Variable,monospace;font-size:.85em;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:.12em .38em;color:#c4b5fd}.md pre{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;overflow-x:auto;background:#0b0b16!important}.md pre code{background:none!important;border:none;padding:0;font-size:.82rem;line-height:1.6;color:inherit}.md blockquote{border-left:3px solid var(--purple);padding:.7rem 1.2rem;background:var(--glow);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);font-style:italic}.md blockquote p{color:var(--muted)}.md ul,.md ol{padding-left:1.5rem}.md li+li{margin-top:.35em}.md hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.md table{border-collapse:collapse;width:100%;font-family:Manrope Variable,sans-serif}.md th,.md td{border:1px solid var(--border);padding:.55rem .85rem;font-size:.9rem}.md th{background:var(--bg2);font-family:JetBrains Mono Variable,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.post-license{margin-top:3rem;padding:1.25rem 1.4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}.post-license .lic-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-family:JetBrains Mono Variable,JetBrains Mono,monospace;font-size:.78rem}.post-license .lic-mark{color:var(--purple);font-size:1rem;font-weight:600}.post-license .lic-author{color:var(--text);font-weight:500}.post-license .lic-badge{margin-left:auto;font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.3rem .65rem;border:1px solid var(--purple);border-radius:5px;color:var(--purple);text-decoration:none;transition:all .18s var(--ease)}.post-license .lic-badge:hover{background:var(--purple);color:#fff;box-shadow:0 0 14px #a855f74d}.post-license .lic-note{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--border);font-family:Manrope Variable,Manrope,sans-serif;font-size:.82rem;line-height:1.65;color:var(--muted)}.post-license .lic-note strong{color:var(--text);font-weight:600}.post-license .lic-note a{color:var(--purple);text-decoration:none}.post-license .lic-note a:hover{opacity:.8}@media(max-width:640px){.post-license{padding:1rem 1.1rem;margin-top:2.25rem}.post-license .lic-row{font-size:.72rem;gap:.45rem}.post-license .lic-badge{margin-left:0;font-size:.65rem;padding:.25rem .55rem}.post-license .lic-note{font-size:.78rem}}.md img{max-width:100%;border-radius:var(--radius);border:1px solid var(--border);display:block;margin:1rem auto;cursor:zoom-in;transition:opacity .15s}.md img:hover{opacity:.88}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000e6;display:flex;align-items:center;justify-content:center;cursor:zoom-out;backdrop-filter:blur(8px);animation:lbIn .22s var(--ease)}.lightbox-overlay img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:var(--radius);box-shadow:0 0 80px #a855f747;cursor:default;animation:lbImg .28s var(--ease)}@keyframes lbIn{0%{opacity:0}to{opacity:1}}@keyframes lbImg{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;font-family:JetBrains Mono Variable,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);color:#e2dff0;border-radius:6px;cursor:pointer;transition:all .15s}.lightbox-close:hover{border-color:var(--purple);color:var(--purple);background:#a855f714}.copy-btn{position:absolute;top:.5rem;right:.5rem;font-family:JetBrains Mono Variable,monospace;font-size:.65rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .6rem;border-radius:5px;background:var(--bg3);border:1px solid var(--border);color:var(--muted);cursor:pointer;opacity:0;transform:translateY(-2px);transition:all .18s var(--ease);z-index:2}.md pre:hover .copy-btn{opacity:1;transform:none}.copy-btn:hover{color:var(--purple);border-color:var(--purple);background:var(--bg2)}.copy-btn.copied{color:var(--green);border-color:var(--green);opacity:1}.page-head{padding-top:2.75rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.page-head h1{font-family:Syne,sans-serif;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.page-sub{color:var(--muted);font-size:.95rem}.sec-prompt{font-family:JetBrains Mono Variable,monospace;font-size:.82rem;color:var(--muted);margin-bottom:0}.sec-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.sec-prompt .s{color:var(--purple);font-weight:600}.sec-prompt .c{color:var(--text);font-weight:500;margin-left:.15rem}.sec-prompt .a{color:var(--green);margin-left:.15rem}.sec-prompt .count{margin-left:auto;font-size:.7rem;color:var(--dim);background:var(--bg2);border:1px solid var(--border);padding:.15rem .55rem;border-radius:999px;letter-spacing:.04em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-tab{position:relative}.filter-tab .ft-count{margin-left:.35rem;font-weight:400;color:var(--dim);font-size:.62rem}.filter-tab.active .ft-count{color:#ffffffb3}.filter-tab[aria-selected=true]{outline:none}.filter-tab:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.rows[data-filter=cve] .row:not([data-tag=cve]),.rows[data-filter=ctf] .row:not([data-tag=ctf]),.rows[data-filter=tips] .row:not([data-tag=tips]),.rows[data-filter=pwn] .row:not([data-tag=pwn]){display:none}.rows[data-filter] .row{border-radius:0}.rows[data-filter] .row:first-of-type{border-radius:var(--radius) var(--radius) 0 0}.rows[data-filter] .row:last-of-type{border-radius:0 0 var(--radius) var(--radius)}.rows[data-filter] .row:only-of-type{border-radius:var(--radius)}.empty-state{margin-top:1rem;padding:1.5rem 1.25rem;border:1px dashed var(--border);border-radius:var(--radius);text-align:center;font-family:JetBrains Mono Variable,monospace;font-size:.78rem;background:var(--bg2)}.empty-prompt .s{color:var(--purple);font-weight:600}.empty-prompt .c{color:var(--text)}.empty-prompt .a{color:var(--muted)}.empty-state[hidden],.sticky-nav{display:none}@media(max-width:1199px){.sticky-nav.visible{display:block;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:50;max-width:calc(100vw - 1.5rem);background:#0f0f1ad1;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--border);border-radius:999px;padding:4px;box-shadow:0 6px 24px -8px #00000080,0 0 18px #a855f71f;animation:stickyNavRise .32s var(--ease)}.sticky-nav.visible .sticky-nav-label{display:none}.sticky-nav.visible ul{list-style:none;margin:0;padding:0;display:flex;gap:.15rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:calc(100vw - 1.5rem - 8px)}.sticky-nav.visible ul::-webkit-scrollbar{display:none}.sticky-nav.visible li{flex-shrink:0}.sticky-nav.visible a{display:inline-block;padding:.35rem .75rem;border-radius:999px;font-family:JetBrains Mono Variable,monospace;font-size:.62rem;font-weight:500;letter-spacing:.04em;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .2s ease,background .2s ease}.sticky-nav.visible a:hover{color:var(--text);background:var(--bg3)}.sticky-nav.visible a.active{color:#fff;background:var(--purple2)}}@keyframes stickyNavRise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:1200px){.sticky-nav{display:block;position:fixed;top:80px;left:calc(50% + 420px);width:156px;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.sticky-nav.visible{opacity:1;pointer-events:auto}.sticky-nav-label{font-family:JetBrains Mono Variable,monospace;font-size:.6rem;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.55rem}.sticky-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.1rem}.sticky-nav a{font-family:JetBrains Mono Variable,monospace;font-size:.66rem;color:var(--dim);text-decoration:none;display:block;padding:.22rem .5rem;border-left:2px solid transparent;border-radius:0 4px 4px 0;line-height:1.45;transition:color .15s,border-left-color .15s,background .15s}.sticky-nav a:hover{color:var(--muted);background:var(--bg2)}.sticky-nav a.active{color:var(--purple);border-left-color:var(--purple)}}@media(max-width:1024px){body.post main{padding:2rem 1.25rem 4rem}}@media(max-width:640px){body.post main{padding:1.5rem 1rem 3rem}.back{margin-bottom:1.5rem;font-size:.72rem}.post-title{font-size:clamp(1.45rem,6.5vw,2rem);margin-bottom:.7rem}.post-meta{font-size:.66rem;gap:.55rem}.post-meta .stars{font-size:.7rem}.post-tag{font-size:.6rem;padding:.18rem .45rem}.post-divider{margin:1.25rem 0 1.5rem}.toc{padding:.85rem 1rem 1rem;margin-bottom:1.5rem}.toc-label{font-size:.65rem;margin-bottom:.55rem}.toc-link{font-size:.82rem;padding:.12rem 0 .12rem .5rem}.toc li.lvl-3 .toc-link{padding-left:1.1rem;font-size:.76rem}.toc li.lvl-4 .toc-link{padding-left:1.7rem;font-size:.72rem}.md{font-size:.96rem;line-height:1.78}.md h1,.md h2,.md h3,.md h4{scroll-margin-top:64px}.md h1{font-size:1.45rem;margin-top:1.8rem}.md h2{font-size:1.2rem;margin-top:1.6rem}.md h3{font-size:1rem;margin-top:1.3rem}.md h4{font-size:.9rem;margin-top:1.1rem}.md pre{padding:.85rem 1rem;border-radius:8px}.md pre code{font-size:.75rem;line-height:1.55}.md code{font-size:.82em}.md blockquote{padding:.6rem 1rem}.md ul,.md ol{padding-left:1.2rem}.md hr{margin:1.5rem 0}.md table{display:block;overflow-x:auto;font-size:.82rem;-webkit-overflow-scrolling:touch}.md th,.md td{padding:.45rem .6rem;font-size:.82rem}.md th{font-size:.7rem}.copy-btn{opacity:1;transform:none;font-size:.58rem;padding:.22rem .45rem}.lightbox-close{top:.75rem;right:.75rem;font-size:.65rem}.page-head{padding-top:1.75rem;margin-bottom:1.25rem;padding-bottom:1rem}.page-head h1{font-size:1.75rem}.page-sub{font-size:.88rem}.sec-prompt{font-size:.72rem}}@media(max-width:420px){body.post main{padding:1.25rem .9rem 2.5rem}.md{font-size:.92rem}.md pre{padding:.75rem .9rem}.md pre code{font-size:.72rem}.page-head h1{font-size:1.55rem}}
