/*
Theme Name: Intercept
Theme URI: https://sukhmeet.com/
Author: Sukhmeet Singh
Description: Burp-style theme for sukhmeet.com: request/response hero, HTTP-history post lists, and series navigation for CTF writeups. A child category (e.g. CTF > Hackoween #ZomatoCTF) is treated as a series.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: intercept
*/

/* Martian Mono (SIL OFL 1.1, see fonts/OFL.txt), self-hosted: variable weight 100-800 and width 75-112.5% */
@font-face{font-family:"Martian Mono";font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(fonts/martian-mono-latin.woff2) format("woff2");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:"Martian Mono";font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(fonts/martian-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--bg:#16120e;--panel:#1e1913;--fg:#ece3d2;--dim:#9a8f7e;--hot:#ff5f2e;--ok:#a8d5a2;--key:#e8b04a;--line:#2e2720;--w:72rem}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:400 15px/1.65 "Martian Mono",ui-monospace,Menlo,Consolas,monospace;font-stretch:87.5%}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--hot)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;opacity:1!important;transform:none!important}}

/* header.php */
.bar{position:sticky;top:0;z-index:9;background:var(--hot);color:#1a0d06;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.bar .wrap{display:flex;align-items:center;gap:1.25rem;overflow-x:auto;white-space:nowrap}
.bar .dot{width:.55rem;height:.55rem;border-radius:50%;background:#1a0d06;animation:blink 1s steps(2) infinite;flex:none}
.bar .brand{text-decoration:none;padding:.8rem 0}
.bar nav{margin-left:auto;display:flex;gap:1.1rem}
.bar nav a{text-decoration:none;padding:.8rem 0}
.bar nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
.bar a:hover{color:#fff}

/* shared: pane (Burp-style message editor) */
.pane{background:var(--panel);border:1px solid var(--line);min-width:0;container-type:inline-size}
.pane-tabs{display:flex;border-bottom:1px solid var(--line);font-size:.72rem;overflow-x:auto}
.pane-tabs span{padding:.5rem .85rem;color:var(--dim);border-right:1px solid var(--line);white-space:nowrap}
.pane-tabs span.on{color:var(--fg);background:#2a221a;box-shadow:inset 0 -2px var(--hot)}
.raw{margin:0;padding:.85rem 0;font:inherit;font-size:max(11px,min(.85rem,calc(100cqw / (var(--cols,40) * .7 + 4.5))));counter-reset:ln;overflow-x:auto}
.raw>span{display:block;padding:0 1em 0 3em;text-indent:-3em;white-space:pre-wrap;overflow-wrap:anywhere}
.raw>span::before{counter-increment:ln;content:counter(ln);display:inline-block;width:3em;padding-right:.75em;text-indent:0;box-sizing:border-box;text-align:right;color:#5d5346;user-select:none}
.m{color:var(--hot);font-weight:700}.k{color:var(--key)}.s{color:var(--ok);font-weight:700}.c{color:var(--dim)}
.anim>span{opacity:0;animation:in .01s forwards}
.anim>span:nth-child(1){animation-delay:.1s}.anim>span:nth-child(2){animation-delay:.25s}.anim>span:nth-child(3){animation-delay:.4s}.anim>span:nth-child(4){animation-delay:.55s}.anim>span:nth-child(5){animation-delay:.7s}.anim>span:nth-child(6){animation-delay:.85s}
.later>span{animation-delay:.5s!important}
.later>span:nth-child(n+2){animation-delay:.6s!important}.later>span:nth-child(n+4){animation-delay:.7s!important}

/* front-page.php: repeater */
.repeater{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.repeater .send{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--dim)}
.btn-send{background:var(--hot);color:#1a0d06;font:700 .8rem/1 inherit;font-family:inherit;padding:.6rem 1rem;border:0}
.render{margin:2.5rem 0 0}
.render .lbl{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.render h1{font-size:clamp(2.5rem,10vw,6.5rem);font-weight:800;font-stretch:75%;line-height:.86;letter-spacing:-.04em;margin:.5rem 0 1rem;text-transform:uppercase}
.render h1 i{display:inline-block;width:.09em;height:.75em;background:var(--hot);margin-left:.06em;vertical-align:-.02em;animation:blink 1s steps(2) infinite}
.render p{font-size:clamp(1rem,2.4vw,1.3rem);margin:0;max-width:46rem}
.render s{color:var(--dim);text-decoration-color:var(--hot);text-decoration-thickness:2px}

/* section heading */
.sec{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:500;margin:4rem 0 1rem;display:flex;gap:.75rem;align-items:center}
.sec::after{content:"";flex:1;height:1px;background:var(--line)}

/* filter bar = category nav + search form */
.filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}
.filter a{text-decoration:none;font-size:.75rem;padding:.45rem .7rem;border:1px solid var(--line)}
.filter a[aria-current]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.filter a b{color:var(--dim);font-weight:400;margin-left:.3rem}
.filter a[aria-current] b{color:#6d6457}
.filter form{margin-left:auto;display:flex;flex:1 1 14rem;max-width:22rem}
.filter input{flex:1;min-width:0;background:var(--panel);border:1px solid var(--line);color:var(--fg);font:inherit;font-size:.8rem;padding:.55rem .7rem}
.filter input:focus{outline:1px solid var(--hot);border-color:var(--hot)}

/* index.php / archive.php loop = HTTP history */
.history{border:1px solid var(--line);font-size:.82rem}
.history .hrow{display:grid;grid-template-columns:3rem 3.6rem minmax(0,1fr) 3.4rem 10rem 6.5rem;gap:.75rem;align-items:baseline;padding:.65rem .9rem;border-bottom:1px solid var(--line);text-decoration:none}
.history .hrow:last-child{border-bottom:0}
.history .head{color:var(--dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;background:var(--panel)}
.history a.hrow:hover{background:#241d16;color:var(--fg)}
.history a.hrow:hover .t{color:var(--hot)}
.hrow .t{display:block;font-weight:700;font-size:.92rem}
.hrow .x{display:block;color:var(--dim);font-size:.78rem}
.hrow .n{color:var(--dim)}
.cat{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;padding:.08rem .38rem;color:#1a0d06;margin:0 .25rem .2rem 0}
.cat{background:var(--key)}.cat.c-ctf{background:var(--hot)}.cat.ser{background:var(--ok)}
.pager{display:flex;gap:.4rem;margin-top:1rem;font-size:.8rem}
.pager{flex-wrap:wrap}
.pager a,.pager span{padding:.5rem .8rem;border:1px solid var(--line);text-decoration:none}
.pager .current{background:var(--fg);color:var(--bg)}
.pager .dots{border-color:transparent}

.links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.links a{display:block;padding:1rem;border:1px solid var(--line);text-decoration:none;font-weight:600}
.links a:hover{border-color:var(--hot)}
.links small{display:block;color:var(--dim);font-weight:400;overflow-wrap:anywhere}

/* category.php */
.arch-head{margin:2rem 0 0}
.arch-head h1{font-size:clamp(2.2rem,8vw,5rem);font-weight:800;font-stretch:75%;line-height:.92;letter-spacing:-.03em;margin:1.25rem 0 .75rem;text-transform:uppercase}
.arch-head p{max-width:44rem;margin:0;color:var(--dim)}
.levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.levels a{background:var(--bg);padding:1rem 1rem 1.1rem;text-decoration:none;display:flex;flex-direction:column;gap:.3rem;min-height:7.5rem;transition:background .15s}
.levels a:hover{background:#241d16;color:var(--fg)}
.levels .lv{font-size:2.1rem;font-weight:800;font-stretch:75%;line-height:1;color:var(--hot)}
.levels .nm{font-weight:600}
.levels .gap{background:var(--bg);padding:1rem;color:var(--dim);font-size:.78rem;display:flex;flex-direction:column;justify-content:center;min-height:7.5rem}

/* single.php */
.crumbs{font-size:.75rem;color:var(--dim);margin:1.5rem 0 .75rem}
.crumbs a{text-decoration:none;padding:.4rem 0;display:inline-block}
.post-head h1{font-size:clamp(1.9rem,6.5vw,3.6rem);font-weight:800;font-stretch:75%;line-height:1;letter-spacing:-.02em;margin:1.5rem 0 .5rem}
.post-head .sub{font-size:clamp(1.05rem,2.6vw,1.35rem);color:var(--key);margin:0 0 1rem}
.meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.75rem;color:var(--dim)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:3rem;margin-top:2.5rem;align-items:start}
.series{position:sticky;top:3.5rem;border:1px solid var(--line);background:var(--panel);font-size:.78rem}
.series h2{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0;padding:.75rem .9rem;border-bottom:1px solid var(--line);font-weight:500}
.series ol{list-style:none;margin:0;padding:.35rem 0;max-height:60vh;overflow:auto}
.series li a{display:flex;gap:.6rem;padding:.4rem .9rem;text-decoration:none}
.series li a b{color:var(--dim);font-weight:400;min-width:2.8rem}
.series li a[aria-current]{background:#2a221a;box-shadow:inset 2px 0 var(--hot);color:var(--fg)}
.series li a[aria-current] b{color:var(--hot)}
.series .bar-p{height:3px;background:var(--line)}.series .bar-p i{display:block;height:100%;background:var(--hot)}

/* the_content(): WordPress block styles */
.entry{font-size:.98rem;line-height:1.8;max-width:44rem;min-width:0}
.entry>*{margin:0 0 1.3rem}
.entry h2{font-size:1.4rem;font-weight:800;font-stretch:80%;line-height:1.2;margin-top:2.5rem}
.entry h3{font-size:1.1rem;font-weight:700;margin-top:2rem}
.entry a{color:var(--key)}
.entry code{background:#2a221a;padding:.08rem .35rem;font-size:.88em;color:var(--ok)}
.entry pre,.entry .wp-block-code{background:#0e0b08;border:1px solid var(--line);border-left:3px solid var(--hot);padding:1rem;overflow-x:auto;font-size:.85rem;line-height:1.6}
.entry pre code{background:none;padding:0;color:var(--fg)}
.entry blockquote,.entry .wp-block-quote{border-left:3px solid var(--key);margin-left:0;padding:.25rem 0 .25rem 1.1rem;color:var(--dim);font-style:normal}
.entry figure{margin-left:0;margin-right:0}
.entry img{max-width:100%;height:auto;display:block;border:1px solid var(--line)}
.entry figcaption{font-size:.75rem;color:var(--dim);margin-top:.5rem}
.entry .ph{aspect-ratio:16/9;border:1px dashed var(--line);display:grid;place-items:center;color:#5d5346;font-size:.8rem;background:repeating-linear-gradient(-45deg,transparent 0 10px,#ffffff05 10px 20px)}
.entry ul,.entry ol{padding-left:1.4rem}
.entry strong{color:#fff}
.postnav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:3rem;max-width:44rem}
.postnav a{border:1px solid var(--line);padding:1rem;text-decoration:none;display:block}
.postnav a:hover{border-color:var(--hot)}
.postnav small{display:block;color:var(--dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.postnav a:last-child{text-align:right}

/* footer.php */
.foot{border-top:1px solid var(--line);margin-top:5rem;padding:1.5rem 0 2.5rem;font-size:.75rem;color:var(--dim)}
.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.foot a{display:inline-block;padding:.5rem 0}

@keyframes in{to{opacity:1}}
@keyframes blink{50%{opacity:0}}

@media (max-width:860px){
  .repeater{grid-template-columns:1fr}
  .layout{grid-template-columns:minmax(0,1fr)}
  .series{position:static}
  .series ol{max-height:13rem}
  .history .head{display:none}
  .history .hrow{grid-template-columns:auto auto 1fr;gap:.2rem .6rem}
  .history .hrow>.n{order:1}.history .hrow>.m{order:2}.history .hrow>.st{order:3;text-align:right}
  .history .hrow>.u{order:4;grid-column:1/-1}
  .history .hrow>.cs{order:5;grid-column:1/3}.history .hrow>.d{order:6;text-align:right}
  .bar nav{gap:.9rem}
  .levels{grid-template-columns:1fr 1fr}
  .levels a,.levels .gap{min-height:6rem;padding:.8rem}
  .levels .lv{font-size:1.7rem}
  .hrow .u>.x:last-child{display:none}
  .hrow .cs .cat.ser{display:none}
}

/* projects: Burp-style site map tree (page or custom post type "project") */
.sitemap{border:1px solid var(--line);background:var(--panel);font-size:.85rem}
.sitemap .root{padding:.7rem 1rem;border-bottom:1px solid var(--line);color:var(--dim)}
.sitemap a{display:grid;grid-template-columns:2.2rem 13rem 3.2rem minmax(0,1fr) auto;gap:.75rem;align-items:baseline;padding:.85rem 1rem;text-decoration:none;border-bottom:1px solid var(--line)}
.sitemap a:last-child{border-bottom:0}
.sitemap a:hover{background:#241d16;color:var(--fg)}
.sitemap a:hover .pn{color:var(--hot)}
.sitemap .tw{color:#5d5346}
.sitemap .pn{font-weight:700}
.sitemap .lang{font-size:.66rem;font-weight:700;color:#1a0d06;background:var(--ok);padding:.05rem .35rem;justify-self:start}
.sitemap .pd{color:var(--dim)}
.sitemap .go{color:var(--key);font-size:.78rem;white-space:nowrap}
@media (max-width:860px){
  .sitemap a{grid-template-columns:auto 1fr auto;gap:.3rem .6rem}
  .sitemap .pd,.sitemap .go{grid-column:2/-1}
}

/* external links (target=_blank): visible marker; screen readers get "(opens in new tab)" */
a[target=_blank]::after{content:"\2197";margin-left:.3em;font-size:.85em;color:var(--dim)}
.links a[target=_blank]::after,.sitemap a[target=_blank]::after{content:none}
.links a[target=_blank] small::after,.sitemap a[target=_blank] .go::after{content:" \2197"}

/* about (bio) + contact note */
.bio{font-size:clamp(1rem,2.4vw,1.25rem);margin:0}
.shy{margin:0 0 1rem}
@media (max-width:860px){.links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.links{grid-template-columns:1fr}}

/* WordPress core classes */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:.5rem;z-index:99;background:var(--fg);color:var(--bg);padding:.6rem 1rem;font-weight:700}
.skip:focus{left:1rem}
.bar nav ul{display:flex;gap:1.1rem;margin:0;padding:0;list-style:none}
.bar nav li a{display:block;text-decoration:none;padding:.8rem 0}
.bar nav .current-menu-item>a,.bar nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.alignleft{float:left;margin:0 1.25rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.25rem}
.entry .wp-block-image.aligncenter img,.entry .aligncenter img{margin:0 auto}
.entry iframe,.entry video{max-width:100%}
.page-head h1{font-size:clamp(1.9rem,6.5vw,3.6rem);font-weight:800;font-stretch:75%;line-height:1;letter-spacing:-.02em;margin:1.5rem 0 2rem}
.desc{max-width:44rem;color:var(--dim)}

/* comments.php: list */
.comments{max-width:44rem}
.comment-list,.comment-list .children{list-style:none;margin:0;padding:0}
.comment-list{margin-bottom:2.5rem;border-top:1px solid var(--line)}
.comment-list .children{margin-left:1.25rem;border-left:1px solid var(--line)}
.cmt{padding:1rem 0 1rem 1rem;border-bottom:1px solid var(--line);font-size:.9rem}
.comment-list>li>.cmt{padding-left:0}
.cmt-h{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline;font-size:.78rem}
.cmt-h b{color:var(--key)}
.cmt-h a{color:var(--dim);text-decoration:none;display:inline-block;padding:.35rem 0}
.cmt-h a:hover{color:var(--hot)}
.cmt-b{margin:.25rem 0 .5rem}.cmt-b p{margin:0 0 .6rem}
.reply a{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:1px solid var(--line);padding:.4rem .7rem}
.reply a:hover{border-color:var(--hot);color:var(--hot)}

/* comments.php: form as a Repeater request */
#respond{background:var(--panel);border:1px solid var(--line)}
#respond .pane-tabs{display:flex;justify-content:space-between}
#respond .pane-tabs #reply-title{font-weight:400}
#cancel-comment-reply-link{font-size:.72rem;padding:.5rem .85rem;color:var(--dim)}
.comment-form{margin:0;padding:.75rem 0 1rem;font-size:.85rem}
.comment-form p{margin:0}
.cnote,.logged-in-as{padding:0 1rem .5rem;font-size:.78rem;color:var(--dim)}
.logged-in-as a{color:var(--dim)}
.comment-form .hdr{display:flex;align-items:center;padding:0 1rem}
.comment-form .hdr label{color:var(--key);flex:none}
.comment-form .hdr label::after{content:":";margin-right:.6ch}
.comment-form input,.comment-form textarea{font:inherit;color:var(--fg);background:transparent;border:0;border-bottom:1px solid transparent;padding:.45rem 0;width:100%;min-width:0}
.comment-form input:hover,.comment-form textarea:hover{border-bottom-color:var(--line)}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-bottom-color:var(--hot)}
.comment-form .body{margin-top:.75rem;padding:.6rem 1rem 0;border-top:1px dashed var(--line)}
.comment-form textarea{resize:vertical;min-height:8rem;line-height:1.6}
.comment-form ::placeholder{color:#6d6457}
.form-submit{padding:1rem 1rem 0}
.btn-send{cursor:pointer;background:var(--hot);color:#1a0d06;border:0;font:700 .8rem/1 inherit;font-family:inherit;padding:.8rem 1.4rem;letter-spacing:.04em;text-transform:uppercase}
.btn-send:hover{background:#ff7a50}
.btn-send:focus-visible{outline:2px solid var(--fg);outline-offset:2px}

/* request line: one row, ellipsis when the URL is longer than the pane */
.raw>span.trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* tap targets */
.bio a{display:inline-block;padding:.4rem 0}
.comment-meta a,.reply a{display:inline-block;padding:.45rem 0}
.comment-form input[type=checkbox]{width:1.5rem;height:1.5rem;vertical-align:middle;margin-right:.4rem}
.comment-form .comment-form-cookies-consent label{display:inline}

/* tags row under the filter bar */
.tags{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:-.25rem 0 .9rem;font-size:.78rem}
.tags a{color:var(--dim);text-decoration:none;padding:.3rem 0}
.tags a:hover,.tags a[aria-current]{color:var(--hot)}

/* site map: one root row per group */
.sitemap .root+a{border-top:0}
.sitemap a+.root{border-top:1px solid var(--line)}

/* acknowledgements: grid of program names */
.acks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.acks li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 1rem;font-weight:600;display:flex;align-items:center;min-height:4rem;line-height:1.3}
.acks li:last-child{color:var(--dim);font-weight:400}
.acks a{text-decoration-color:var(--hot);display:flex;align-items:center;align-self:stretch}
@media (max-width:860px){.acks{grid-template-columns:repeat(2,minmax(0,1fr))}.acks li{padding:0 .75rem;font-size:.85rem;min-height:4.25rem}}

/* the_content(): Burp-style blocks */
.entry pre,.entry .wp-block-code{position:relative;border:1px solid var(--line);border-left:1px solid var(--line);padding:2.65rem 1rem 1rem;background:linear-gradient(var(--panel) 0 1.9rem,var(--line) 1.9rem calc(1.9rem + 1px),#0e0b08 calc(1.9rem + 1px))}
.entry pre::before,.entry .wp-block-code::before{content:"Raw";position:absolute;top:0;left:0;height:1.9rem;display:flex;align-items:center;padding:0 .85rem;font-size:.72rem;color:var(--fg);background:#2a221a;box-shadow:inset 0 -2px var(--hot);border-right:1px solid var(--line)}
.entry blockquote,.entry .wp-block-quote{position:relative;border:1px solid var(--line);margin:0 0 1.3rem;padding:2.5rem 1rem .9rem;color:var(--fg);background:linear-gradient(var(--panel) 0 1.9rem,var(--line) 1.9rem calc(1.9rem + 1px),transparent calc(1.9rem + 1px))}
.entry blockquote::before{content:"Note";position:absolute;top:0;left:0;height:1.9rem;display:flex;align-items:center;padding:0 .85rem;font-size:.72rem;background:#2a221a;box-shadow:inset 0 -2px var(--key);border-right:1px solid var(--line)}
.entry blockquote p:last-child{margin-bottom:0}
.entry blockquote cite{display:block;margin-top:.5rem;font-size:.75rem;color:var(--dim);font-style:normal}
.entry h2::before{content:"## ";color:var(--hot)}
.entry h3::before{content:"### ";color:var(--hot)}
.entry ul{list-style:none;padding-left:1.4rem}
.entry ul>li{position:relative}
.entry ul>li::before{content:"-";position:absolute;left:-1.2rem;color:var(--hot)}
.entry ol>li::marker{color:var(--dim)}
.entry li{margin:.3rem 0}
.entry table{width:100%;border-collapse:collapse;font-size:.85rem;border:1px solid var(--line)}
.entry th,.entry td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}
.entry th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);font-weight:500;background:var(--panel)}
.entry .wp-block-table{overflow-x:auto;margin-left:0;margin-right:0}
.entry figure img{border:1px solid var(--line)}
.entry figcaption{font-size:.75rem;color:var(--dim);margin-top:.5rem;text-align:left}
.entry figcaption::before{content:"// "}
.entry hr{border:0;border-top:1px dashed var(--line);margin:2.5rem 0}
.entry mark{background:var(--key);color:#1a0d06;padding:0 .2rem}
.entry kbd{border:1px solid var(--line);border-bottom-width:2px;padding:.05rem .35rem;font-size:.85em}

/* long URLs and inline code break instead of overflowing; code blocks keep their own scroll */
.entry p,.entry li,.entry td,.entry figcaption,.entry blockquote,.cmt-b{overflow-wrap:anywhere}
.entry pre,.entry .wp-block-code{overflow-x:auto;overflow-wrap:normal;white-space:pre}
.entry pre code{white-space:inherit}

/* override core table block borders */
.entry .wp-block-table thead{border-bottom:0}
.entry .wp-block-table th,.entry .wp-block-table td{border:0;border-bottom:1px solid var(--line)}
.entry .wp-block-table tr:last-child td{border-bottom:0}
.entry ol{padding-left:1.8rem}
/* form fields: always show where to type */
.comment-form .hdr input{border-bottom:1px dashed #5a4d3e}
.comment-form .hdr input:hover{border-bottom-style:solid}
.comment-form .hdr input:focus{border-bottom:1px solid var(--hot)}
.comment-form .hdr+.hdr{margin-top:.15rem}
.comment-form textarea{background:#0e0b08;border:1px solid var(--line);padding:.6rem .75rem}
.comment-form textarea:focus{border-color:var(--hot)}

/* // comment blocks: dashed yellow box, yellow text (as in the first Intercept design) */
.bio,.shy{border:1px dashed var(--key);color:var(--key);padding:.9rem 1rem;font-size:.85rem;margin:0;max-width:none}
.bio .c,.shy .c{color:inherit}
.shy{margin-bottom:1rem}
.bio a{color:inherit;text-decoration-color:var(--key)}
.arch-head .bio{color:var(--key);margin-top:.5rem}

/* stack: one scrolling ticker row per area (Dev / Sec / IoT) */
.tick{border-block:1px solid var(--line)}
.tick-row{display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:center;border-bottom:1px dashed var(--line)}
.tick-row:last-child{border-bottom:0}
.tick-row b{font-size:.75rem;color:var(--key);letter-spacing:.06em;text-transform:uppercase;padding:.85rem 0}
.tick .track{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tick .track>div{display:inline-block;animation:tick 40s linear infinite;font-size:.9rem}
.tick .track>div.rev{animation-direction:reverse}
.tick .track span{margin-right:2rem}
.tick .track span::before{content:"\00B7\00A0\00A0";color:var(--hot)}
.tick:hover .track>div{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .tick .track{white-space:normal;-webkit-mask-image:none;mask-image:none;padding:.6rem 0}
  .tick .track>div{animation:none}
  .tick .track span.dup{display:none}
  .tick .track span{display:inline-block;margin-right:1.25rem}
}

/* page-decoder.php: Burp-style chained decoder */
.decoder{margin-top:1.25rem}
.dec{display:grid;grid-template-columns:minmax(0,1fr) 13rem;border:1px solid var(--line);background:var(--panel);margin-bottom:.75rem}
.dec+.dec{position:relative}
.dec+.dec::before{content:"\2193";position:absolute;top:-.8rem;left:1rem;color:var(--hot);font-size:.8rem}
.dec-io{min-width:0;border-right:1px solid var(--line)}
.dec textarea{display:block;width:100%;min-height:8.5rem;resize:vertical;border:0;margin:0;padding:.85rem 1rem;background:#0e0b08;color:var(--fg);font:inherit;font-size:.85rem;line-height:1.6;word-break:break-all}
.dec textarea:focus{outline:1px solid var(--hot);outline-offset:-1px}
.dec textarea::placeholder{color:#6d6457}
.dec-meta{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.4rem 1rem;font-size:.72rem;color:var(--dim);border-top:1px solid var(--line)}
.dec-err{color:var(--hot)}
.dec-ctl{display:flex;flex-direction:column;gap:.5rem;padding:.85rem}
.dec-ctl select{width:100%;min-height:2.4rem;background:var(--bg);color:var(--fg);border:1px solid var(--line);font:inherit;font-size:.8rem;padding:0 .5rem;cursor:pointer}
.dec-ctl select:focus{outline:1px solid var(--hot);border-color:var(--hot)}
@media (max-width:700px){.dec{grid-template-columns:1fr}.dec-io{border-right:0;border-bottom:1px solid var(--line)}.dec-ctl{flex-direction:row;flex-wrap:wrap}.dec-ctl label{flex:1 1 8rem}}

/* [mongodb_uri_converter] */
.srv-form{display:flex;gap:.5rem;margin:1rem 0}
.srv-form input{flex:1;min-width:0;background:#0e0b08;border:1px solid var(--line);color:var(--fg);font:inherit;font-size:.85rem;padding:.7rem .8rem}
.srv-form input:focus{outline:0;border-color:var(--hot)}
.srv-form .btn-send{flex:none}
.srv-form .btn-send:disabled{opacity:.6;cursor:wait}
.srv .bio{margin:0 0 1.25rem}
.srv-copy{background:none;border:1px solid var(--line);color:var(--fg);font:inherit;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:.45rem .8rem;cursor:pointer;margin:-.6rem 0 1rem}
.srv-copy:hover{border-color:var(--hot);color:var(--hot)}
.entry .srv-note{margin:0 0 .3rem;font-size:.78rem}
.entry .srv-err{color:var(--hot);font-size:.85rem}
@media (max-width:520px){.srv-form{flex-direction:column}}
.dec-bar{display:flex;justify-content:flex-end;margin-top:1.25rem}
.dec-bar+.decoder{margin-top:.6rem}
.dec-clear{background:none;border:1px solid var(--line);color:var(--fg);font:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.55rem 1rem;cursor:pointer;min-height:2.4rem}
.dec-clear:hover,.dec-clear:focus-visible{border-color:var(--hot);color:var(--hot);outline:0}

/* copy button in the code block's tab bar */
.code-wrap{position:relative;margin:0 0 1.3rem}
.entry .code-wrap pre{margin:0}
.code-wrap .copy{position:absolute;top:0;right:0;height:1.9rem;padding:0 .9rem;background:#2a221a;border:0;border-left:1px solid var(--line);color:var(--dim);font:inherit;font-size:.72rem;cursor:pointer}
.code-wrap .copy:hover,.code-wrap .copy:focus-visible{color:var(--hot);outline:0}
.render .aka{font-size:.85rem;color:var(--dim);letter-spacing:.04em;margin:-.25rem 0 .9rem}
.render .aka b{color:var(--hot);font-weight:700}
.render .lbl{text-transform:none;letter-spacing:.02em}

/* footer: hacker mode + do not click */
.foot-x{display:flex;gap:1.25rem;align-items:center}
.hm-btn{background:none;border:0;padding:.5rem 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.hm-btn:hover,.hm-btn:focus-visible{color:#2bff6a;outline:0}
.hm{position:fixed;inset:0;z-index:1000;background:#000;cursor:pointer}
.hm canvas{display:block}
.hm p{position:absolute;left:0;right:0;bottom:1.25rem;margin:0;text-align:center;color:#2bff6a;font-size:.8rem;text-shadow:0 0 6px #000,0 0 12px #000}
.hm:focus{outline:0}

html{scroll-padding-top:4rem}

/* phone menu (option 1): one slim bar, MENU opens a dropdown */
.nav-mob{display:none}
@media (max-width:700px){
  .bar .wrap{overflow:visible}
  .bar nav.nav-desk{display:none}
  .nav-mob{display:block;margin-left:auto}
  .nav-mob summary{list-style:none;cursor:pointer;padding:.4rem .75rem;border:2px solid #1a0d06;font-size:.7rem;line-height:1.2;user-select:none}
  .nav-mob summary::-webkit-details-marker{display:none}
  .nav-mob summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
  .nav-mob[open] summary{background:#1a0d06;color:var(--hot)}
  .nav-mob .drop{display:block;margin:0;position:absolute;left:0;right:0;top:100%;background:#1e1913;border-bottom:2px solid var(--hot);box-shadow:0 12px 24px #0008}
  .nav-mob .drop ul{display:block;margin:0;padding:0;list-style:none}
  .nav-mob .drop a{display:flex;justify-content:space-between;padding:.95rem 1rem;color:var(--fg);border-top:1px solid var(--line);text-decoration:none;font-size:.8rem}
  .nav-mob .drop a::after{content:"\2192";color:var(--hot)}
  .nav-mob .drop a[aria-current],.nav-mob .drop .current-menu-item>a{color:var(--hot);text-decoration:none}
  .nav-mob .drop a:hover{background:#241d16}
}
