:root{--paper:#fbfaf7;--card:#fff;--ink:#1b1b1f;--muted:#5c5f66;--rule:#dcd8cf;--accent:#1d3f9a;--accent-soft:#e8edf9;--code-bg:#12161b;--code-ink:#d9dee5;--inline-code:#efece6;--easy:#1f7a3a;--easy-bg:#e3f3e8;--medium:#8a5a00;--medium-bg:#fdf0d5;--hard:#b42318;--hard-bg:#fde4e1;--insane:#6b21a8;--insane-bg:#f1e5fb;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#121316;--card:#1a1c20;--ink:#e8e6e1;--muted:#9aa0a6;--rule:#2e3035;--accent:#93b1ff;--accent-soft:#1d2437;--code-bg:#0b0d10;--inline-code:#24262b;--easy:#6fd08c;--easy-bg:#16301f;--medium:#f3c15b;--medium-bg:#33270e;--hard:#ff8a7a;--hard-bg:#3a1714;--insane:#d3a6ff;--insane-bg:#2b1b3d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}.site{flex-direction:column;min-height:100vh;display:flex}.site h1,.site h2,.site h3{margin:0;line-height:1.25}.site a{color:var(--accent);text-underline-offset:2px}.site .muted{color:var(--muted)}.site .block{display:block}.site .nowrap{white-space:nowrap}.site-container{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}.site-main{flex:1;padding:40px 0 64px}.site-header{border-bottom:1px solid var(--rule);background:linear-gradient(90deg,navy,#1084d0) top/100% 4px no-repeat;padding-top:4px}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding-block:8px;display:flex}.site-logo{font:600 17px var(--mono);align-items:center;gap:8px;text-decoration:none;display:inline-flex;color:var(--ink)!important}.site-nav{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.site-nav>a{color:var(--ink);font-weight:500;text-decoration:none}.site-nav>a:hover,.site-nav>a[aria-current=page]{color:var(--accent);text-decoration:underline}.site-footer{border-top:1px solid var(--rule);color:var(--muted);font-size:14px}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:20px;display:flex}.site-footer-links{gap:20px;display:flex}.site .button{border:1px solid var(--rule);background:var(--card);min-height:38px;color:var(--ink);border-radius:6px;align-items:center;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.site .button:hover{border-color:var(--accent);color:var(--accent)}.site .button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.site .button.primary:hover{color:var(--paper);opacity:.9}.site .button.social{border-color:color-mix(in srgb, var(--brand) 45%, var(--rule));gap:8px}.site .button.social .social-icon{color:var(--brand);flex:none}.site .button.social:hover{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--card));color:var(--ink)}.social-github,.social-rootme,.social-x,.social-medium{--brand:var(--ink)}.social-gitlab{--brand:#e24329}.social-linkedin{--brand:#0a66c2}.social-hackthebox{--brand:#5e8c00}.social-tryhackme{--brand:#c11111}.social-youtube{--brand:#e00000}.social-discord{--brand:#5865f2}.social-mastodon{--brand:#6364ff}.social-bluesky{--brand:#1185fe}@media (prefers-color-scheme:dark){.social-gitlab{--brand:#fc6d26}.social-linkedin{--brand:#4b9be8}.social-hackthebox{--brand:#9fef00}.social-tryhackme{--brand:#ff5c5c}.social-youtube{--brand:#ff4e45}.social-discord{--brand:#8b95ff}.social-mastodon{--brand:#9a9bff}.social-bluesky{--brand:#5aa9ff}}.site .badge{border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:13px;line-height:1.6;display:inline-block}.site .badge.platform{background:var(--accent-soft);color:var(--accent);border-color:#0000;font-weight:600}.site .diff{border-color:#0000;font-weight:600}.diff-easy{color:var(--easy);background:var(--easy-bg)}.diff-medium{color:var(--medium);background:var(--medium-bg)}.diff-hard{color:var(--hard);background:var(--hard-bg)}.diff-insane{color:var(--insane);background:var(--insane-bg)}.site .tags{font:13px var(--mono);color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none;display:flex}.site .chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.site .chips li{border:1px solid var(--rule);background:var(--card);border-radius:6px;padding:4px 12px;font-size:15px}.hero{align-items:flex-start;gap:28px;margin-bottom:36px;display:flex}.hero-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:120px;height:120px}.hero h1{letter-spacing:-.02em;font-size:clamp(32px,5vw,44px)}.hero-role{margin:6px 0 0;font-size:20px;font-weight:500}.hero-bio{max-width:62ch;color:var(--muted);margin:14px 0 0;font-size:17px}.site .hero-skills{gap:6px;margin-top:16px}.site .hero-skills li{padding:2px 10px;font-size:14px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0 0 48px;padding:0;list-style:none;display:grid}.stats li{border:1px solid var(--rule);background:var(--card);border-radius:8px;flex-direction:column;padding:14px 16px;display:flex}.stats strong{font-size:28px;line-height:1.2}.stats strong.text{font-size:22px;line-height:1.55}.stats small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.section{margin-bottom:48px}.section>h2,.section-head h2{font-size:24px}.section>h2{margin-bottom:18px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.section-head a{font-weight:500}.projects{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.project{border:1px solid var(--rule);background:var(--card);border-radius:8px;padding:18px 20px}.project h3{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:18px;display:flex}.site .badge.status{background:var(--medium-bg);color:var(--medium);border-color:#0000;font-weight:600}.project p{margin:8px 0 12px}.two-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 48px;display:grid}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--rule);flex-direction:column;padding:12px 0 12px 16px;display:flex}.timeline .muted{font-size:14px}.table-scroll{border:1px solid var(--rule);background:var(--card);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:15px}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:10px 14px}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:13px;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.wu-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.wu-card{border:1px solid var(--rule);background:var(--card);border-radius:8px;flex-direction:column;gap:10px;padding:18px 20px;transition:border-color .15s;display:flex;position:relative}.wu-card:hover,.wu-card:focus-within{border-color:var(--accent)}.wu-card h3{font-size:19px}.wu-card h3 a{color:var(--ink);text-decoration:none}.wu-card h3 a:after{content:"";position:absolute;inset:0}.wu-card p{color:var(--muted);margin:0}.wu-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.site time{color:var(--muted);font:13px var(--mono)}.wu-meta time{margin-left:auto}.wu-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-top:auto;display:flex}.page-head{margin-bottom:28px}.page-head h1{font-size:38px}.site .lead{max-width:65ch;color:var(--muted);margin:10px 0 0;font-size:18px}.filters{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.search{border:1px solid var(--rule);background:var(--card);width:100%;max-width:480px;min-height:42px;color:var(--ink);font:inherit;border-radius:6px;padding:0 14px}.search:focus{outline:2px solid var(--accent);outline-offset:-1px}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label{min-width:90px;color:var(--muted);font-size:14px}.chip-btn{border:1px solid var(--rule);background:var(--card);color:var(--ink);font:14px var(--sans);cursor:pointer;border-radius:999px;padding:4px 12px}.chip-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}.site .count{margin:0 0 12px;font-size:14px}.site .empty{border:1px dashed var(--rule);text-align:center;color:var(--muted);border-radius:8px;padding:40px}.article{max-width:1000px;margin:0 auto}.crumbs{margin-bottom:20px;font-size:15px}.crumbs a{text-decoration:none}.article-head{border-bottom:1px solid var(--rule);max-width:720px;margin-bottom:32px;padding-bottom:24px}.article-head h1{letter-spacing:-.02em;margin-top:14px;font-size:clamp(30px,5vw,42px)}.article-info{margin:14px 0 0;font-size:14px}.site .notice{border-left:3px solid var(--medium);background:var(--medium-bg);margin:16px 0 0;padding:10px 14px;font-size:15px}.toc{border:1px solid var(--rule);background:var(--card);border-radius:8px;margin-bottom:28px;padding:14px 18px;font-size:15px}.toc-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.toc ol{margin:0;padding-left:20px}.toc li{padding:2px 0}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{color:var(--accent)}@media (min-width:1080px){.article-body{grid-template-columns:minmax(0,720px) 220px;gap:56px;display:grid}.toc{border:none;border-left:2px solid var(--rule);background:0 0;border-radius:0;order:2;align-self:start;margin:0;padding:0 0 0 16px;position:sticky;top:24px}}.prose{overflow-wrap:break-word;max-width:720px;font-size:17px;line-height:1.75}.prose>:first-child{margin-top:0}.prose h2,.prose h3{scroll-margin-top:24px}.prose h2{margin:2.2em 0 .6em;font-size:26px}.prose h3{margin:1.8em 0 .5em;font-size:20px}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.25em 0}.prose code{background:var(--inline-code);font:.88em var(--mono);border-radius:4px;padding:.1em .35em}.prose pre{background:var(--code-bg);color:var(--code-ink);scrollbar-color:#3a4048 transparent;border-radius:8px;margin:0 0 1.4em;padding:16px 18px;line-height:1.55;position:relative;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0;font-size:14px}.copy-btn{color:#c5ccd4;font:12px var(--sans);cursor:pointer;opacity:0;background:#1d232a;border:1px solid #3a4048;border-radius:4px;padding:2px 10px;transition:opacity .15s;position:absolute;top:8px;right:8px}.prose pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}@media (hover:none){.copy-btn{opacity:1}}.prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 6px 6px 0;margin:0 0 1.2em;padding:10px 18px}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;max-width:100%;margin:0 0 1.4em;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--rule);text-align:left;padding:8px 14px}.prose th{background:var(--card)}.prose img{border:1px solid var(--rule);border-radius:6px;max-width:100%;height:auto;margin:1em 0;display:block}.prose details{border:1px solid var(--rule);border-radius:6px;margin:0 0 1.2em;padding:10px 16px}.prose summary{cursor:pointer;font-weight:600}.article-foot{border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:24px;max-width:720px;margin-top:48px;padding-top:24px;display:flex}.prev-next{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.pn{border:1px solid var(--rule);border-radius:8px;flex-direction:column;padding:12px 16px;font-weight:600;text-decoration:none;display:flex;color:var(--ink)!important}.pn:hover{border-color:var(--accent)}.pn small{color:var(--muted);font-weight:400}.pn.next{text-align:right;grid-column:2}@media (max-width:640px){.site-main{padding:24px 0 48px}.hero{flex-direction:column;gap:16px}.hero-avatar{width:88px;height:88px}.site-nav{gap:14px}.prev-next{grid-template-columns:1fr}.pn.next{grid-column:1}.prose{font-size:16px}}.not-found{text-align:center;padding-block:48px}.not-found-code{font:700 72px/1 var(--mono);color:var(--accent);margin:0}.not-found h1{margin-top:12px}
