@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Serif:wght@600;700&display=swap";:root{--bg: #0f1216;--surface: #151a20;--surface-2: #1b212a;--text: #dde1e6;--text-soft: #b8bec7;--muted: #7d8694;--line: #262d36;--line-strong: #39414d;--crimson: #d4555c;--crimson-dim: #2a181b;--brass: #c2a45c;--brass-dim: #262115;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "IBM Plex Sans", system-ui, sans-serif;--display: "IBM Plex Serif", Georgia, serif;--max: 760px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:var(--crimson);color:#0f1216}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.class-strip{border-bottom:1px solid var(--line);background:var(--surface);font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.4rem 0}.class-strip .wrap{display:flex;justify-content:space-between;gap:1rem}.class-strip .tlp{color:var(--brass);letter-spacing:.14em}@media(max-width:540px){.class-strip .meta-right{display:none}}header.site{border-bottom:1px solid var(--line-strong);padding:1.2rem 0}header.site .wrap{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem}.site-title{font-family:var(--display);font-weight:700;font-size:1.35rem;text-decoration:none;color:var(--text)}.site-title .dot{color:var(--crimson)}nav.main{display:flex;gap:1.4rem}nav.main a{font-size:.9rem;font-weight:500;color:var(--muted);text-decoration:none;padding-bottom:.15rem}nav.main a:hover,nav.main a[aria-current=page]{color:var(--text);box-shadow:0 2px 0 var(--crimson)}.hero{padding:3.5rem 0 2.5rem}.hero .eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 .85rem}.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.3rem,6.4vw,3.6rem);line-height:1.18;margin:0 0 1.1rem;letter-spacing:-.01em;color:var(--muted);max-width:16ch}.hero p.lede{max-width:56ch;margin:0 0 1.5rem;color:var(--text-soft)}.hero-marked{position:relative;padding-left:1.4rem;padding-right:1.4rem;margin-top:1.2rem}#hero-graph{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.55;-webkit-mask-image:radial-gradient(120% 100% at 30% 40%,black 35%,transparent 78%);mask-image:radial-gradient(120% 100% at 30% 40%,black 35%,transparent 78%)}.hero-content{position:relative;z-index:1}.hero-marked:before,.hero-marked:after{content:"";position:absolute;width:22px;height:22px;pointer-events:none}.hero-marked:before{top:0;left:0;border-top:1px solid var(--brass);border-left:1px solid var(--brass)}.hero-marked:after{bottom:0;right:0;border-bottom:1px solid var(--brass);border-right:1px solid var(--brass)}.redact{position:relative;display:inline-block;color:#f2f4f6}.redact:after{content:"";position:absolute;inset:6% -2%;background:linear-gradient(to right,var(--crimson) 0 3px,#02030a 3px);transform-origin:left center;animation:unredact .9s cubic-bezier(.77,0,.18,1) var(--delay, .45s) forwards}@keyframes unredact{to{transform:scaleX(0);transform-origin:right center}}@media(prefers-reduced-motion:reduce){.redact:after{animation:none;display:none}html{scroll-behavior:auto}}.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}.chip{font-size:.8rem;color:var(--text-soft);border:1px solid var(--line);background:var(--surface);padding:.2rem .6rem;white-space:nowrap}section.block{padding:2.25rem 0;border-top:1px solid var(--line)}.block-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}.block-head h2{font-family:var(--display);font-size:1.2rem;font-weight:600;margin:0;color:#edf0f3}.block-head h2:before{content:"§ ";color:var(--crimson)}.block-head a{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.block-head a:hover{color:var(--brass)}ul.posts{list-style:none;margin:0;padding:0}ul.posts li{border-bottom:1px solid var(--line)}ul.posts a{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.95rem .5rem;text-decoration:none;color:inherit}ul.posts a:hover{background:var(--surface)}ul.posts time{font-family:var(--mono);font-size:.78rem;color:var(--muted);padding-top:.2rem}ul.posts .t{display:block;font-weight:600;font-size:1rem;color:var(--text)}ul.posts a:hover .t{color:var(--brass)}ul.posts .d{display:block;color:var(--muted);font-size:.92rem;margin-top:.15rem}@media(max-width:540px){ul.posts a{grid-template-columns:1fr;gap:.15rem}}table.certs{width:100%;border-collapse:collapse;font-size:.95rem}table.certs td,table.certs th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line)}table.certs th{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}.badge{font-family:var(--mono);font-size:.72rem;padding:.14rem .55rem;text-transform:uppercase;letter-spacing:.06em}.badge.held{background:var(--crimson-dim);color:var(--crimson);border:1px solid #4a2326}.badge.target{background:var(--brass-dim);color:var(--brass);border:1px solid #4a3f1f}.proj{border:1px solid var(--line);border-left:2px solid var(--brass);background:var(--surface);padding:1.1rem 1.25rem;margin-bottom:1rem}.proj h3{margin:0 0 .35rem;font-family:var(--display);font-size:1.1rem;font-weight:600}.proj h3 a{color:var(--text);text-decoration:none}.proj h3 a:hover{color:var(--brass)}.proj p{margin:0 0 .7rem;font-size:.95rem;color:var(--text-soft)}article.post{padding:2.5rem 0 1rem}article.post .meta{font-family:var(--mono);font-size:.78rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.8rem}article.post h1{font-family:var(--display);font-size:clamp(1.7rem,5vw,2.3rem);line-height:1.15;margin:0 0 .6rem;color:#edf0f3}article.post .prose{color:var(--text-soft);overflow-wrap:break-word}article.post .prose .table-scroll{overflow-x:auto}article.post .prose h2{font-family:var(--display);font-size:1.4rem;font-weight:600;margin-top:2.2rem;color:#edf0f3}article.post .prose h2:before{content:"§ ";color:var(--crimson)}article.post .prose h3{font-size:1.05rem;margin-top:1.6rem;color:var(--text)}article.post .prose strong{color:var(--text)}article.post .prose a{color:var(--brass)}article.post .prose blockquote{margin:1.25rem 0;padding:.1rem 1.1rem;border-left:2px solid var(--crimson);background:var(--surface);color:var(--text-soft);font-family:var(--display);font-style:italic}article.post .prose code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--line);padding:.08em .35em;color:var(--text)}.code-frame{margin:1.4rem 0;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;background:#0a0d11;box-shadow:0 8px 28px #00000073}.code-bar{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:var(--surface-2);border-bottom:1px solid var(--line)}.code-dots{display:flex;gap:.42rem}.code-dots span{width:11px;height:11px;border-radius:50%}.code-dots span:nth-child(1){background:#ff5f57}.code-dots span:nth-child(2){background:#febc2e}.code-dots span:nth-child(3){background:#28c840}.code-lang{margin-left:.4rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.code-copy{margin-left:auto;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--line-strong);border-radius:4px;padding:.18rem .55rem;cursor:pointer}.code-copy:hover{color:var(--brass);border-color:var(--brass)}.code-copy.done{color:#28c840;border-color:#28c840}article.post .prose pre{margin:0;padding:1rem 1.1rem;overflow-x:auto;font-size:.84rem;line-height:1.55;background:#0a0d11!important}article.post .prose pre code{background:none;border:0;padding:0}article.post .prose img{max-width:100%;border:1px solid var(--line-strong)}article.post .prose table{border-collapse:collapse;width:100%;font-size:.92rem}article.post .prose td,article.post .prose th{border-bottom:1px solid var(--line);padding:.45rem .5rem;text-align:left}article.post .prose th{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}footer.site{margin-top:3rem;border-top:1px solid var(--line-strong);padding:1.4rem 0 2rem;font-family:var(--mono);font-size:.78rem;color:var(--muted)}footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}footer.site a{color:var(--text-soft);text-decoration:none}footer.site a:hover{color:var(--brass)}a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
