*{margin:0;padding:0;box-sizing:border-box}body{background:#000;color:#e6edf3;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:15px;line-height:1.7;padding:48px 24px;min-height:100vh}.container{max-width:1000px;margin:0 auto;animation:fadeIn .6s ease-out both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spacer{height:8px}.spacer-sm{height:4px}.line{display:flex;gap:24px;padding:0;border-left:2px solid transparent;transition:border-color .15s}.line:hover{border-left-color:#58a6ff44}.line-num{width:40px;text-align:right;color:#484f58;user-select:none;font-size:13px;flex-shrink:0}.line-content{flex:1;white-space:pre-wrap;word-break:break-word}.line--rule{align-items:center}.line--rule .line-content{display:flex;align-items:center}.h1{display:inline;padding:0;margin:8px 0 0;font:inherit;color:#d2a8ff;font-weight:700;font-size:24px;line-height:1.35}.h1 .hash{color:#d2a8ff;opacity:.35}.h2{display:inline;padding:0;margin:8px 0 0;font:inherit;color:#d2a8ff;font-weight:600;font-size:20px;line-height:1.4}.h2 .hash{color:#d2a8ff;opacity:.35}.h3{display:inline;padding:0;margin:0;font:inherit;color:#f0883e;font-weight:600;font-size:16px}.h3 .hash{color:#f0883e;opacity:.35}.bold{color:#ffa657;font-weight:700}.bold-blue{color:#79c0ff;font-weight:600}.bold-green{color:#7ee787;font-weight:600}.bold-pink{color:#f778ba;font-weight:600}.italic{color:#8b949e;font-style:italic}.code,.post-badge--draft{background:#0a0a0a;color:#ffa657;padding:1px 6px;border-radius:4px;font-size:14px;border:1px solid #30363d}.blockquote{border-left:3px solid #30363d;padding:8px 16px;margin:4px 0;color:#8b949e;background:#0a0a0a66;font-style:italic}.blockquote .bold{color:#79c0ff}.hr{display:block;width:100%;height:1px;margin:.2em 0;background:repeating-linear-gradient(90deg,#21262d 0,#21262d 10px,transparent 10px,transparent 16px);user-select:none}.hr-char{color:#21262d}.punc{color:#484f58}.comment{color:#8b949e;font-style:italic}.comment-gray{color:#484f58}.comment-sm{color:#484f58;font-size:13px}.tag{color:#f0883e}.string{color:#a5d6ff}.keyword{user-select:none;color:#ff7b72}.bullet,.dash{color:#484f58;user-select:none}.italic-strong{font-style:italic;font-weight:700}.strike{color:#8b949e;text-decoration:line-through;text-decoration-color:#ff7b72}.underline{text-decoration:underline;text-decoration-color:#d2a8ffa6;text-decoration-thickness:1px;text-underline-offset:3px}.small,small{font-size:.85em;color:#8b949e}sub,sup{font-size:.72em;line-height:0;position:relative;color:#a5d6ff;margin:0 .25em}sup{top:-.45em}sub{bottom:-.2em}mark{padding:0 .25em;border-radius:3px;background:#d2a8ff29;color:#d2a8ff}.inserted{color:#7ee787;text-decoration:underline;text-decoration-color:#7ee78773;text-underline-offset:3px}kbd{display:inline-block;min-width:1.4em;padding:1px 6px;border:1px solid #30363d;border-bottom-color:#484f58;border-radius:4px;background:#0d1117;color:#e6edf3;font-size:.85em;line-height:1.25;box-shadow:inset 0 -1px #30363d}.redacted{position:relative;display:inline-block;padding:0 .35em;border-radius:2px;background:#010409;color:transparent;text-shadow:none;user-select:none;vertical-align:baseline}.redacted:before{content:"";position:absolute;inset:.16em 0;border-radius:2px;background:#0d1117;box-shadow:0 0 0 1px #8b949e59,0 0 8px #8b949e29}.redacted:after{content:"REDACTED";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#8b949e;font-size:.62em;font-weight:700;letter-spacing:.08em;opacity:.55;pointer-events:none}.glitch{position:relative;display:inline-block;color:#d2a8ff;text-shadow:0 0 8px rgba(210,168,255,.35);animation:glitch-flicker 2.4s infinite steps(1,end)}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden;pointer-events:none;opacity:.75}.glitch:before{color:#79c0ff;transform:translate(1px);clip-path:inset(0 0 55% 0);animation:glitch-slice-a 1.7s infinite steps(1,end)}.glitch:after{color:#ff7bff;transform:translate(-1px);clip-path:inset(48% 0 0 0);animation:glitch-slice-b 1.3s infinite steps(1,end)}@keyframes glitch-flicker{0%,92%,to{opacity:1;text-shadow:0 0 8px rgba(210,168,255,.35)}93%{opacity:.85;text-shadow:2px 0 0 rgba(121,192,255,.65),-2px 0 0 rgba(255,123,255,.55)}94%{opacity:1;text-shadow:-1px 0 0 rgba(121,192,255,.65),1px 0 0 rgba(255,123,255,.55)}}@keyframes glitch-slice-a{0%,82%,to{transform:translate(1px);clip-path:inset(0 0 58% 0)}83%{transform:translate(4px,-1px);clip-path:inset(12% 0 62% 0)}84%{transform:translate(-3px,1px);clip-path:inset(34% 0 42% 0)}85%{transform:translate(2px);clip-path:inset(6% 0 70% 0)}}@keyframes glitch-slice-b{0%,86%,to{transform:translate(-1px);clip-path:inset(45% 0 0 0)}87%{transform:translate(-4px,1px);clip-path:inset(52% 0 18% 0)}88%{transform:translate(3px,-1px);clip-path:inset(64% 0 8% 0)}89%{transform:translate(-2px);clip-path:inset(40% 0 32% 0)}}@media(prefers-reduced-motion:reduce){.glitch,.glitch:before,.glitch:after{animation:none}}.status-token__label,.log-token__actor{color:#79c0ff;font-weight:600}.status-token__value{color:#7ee787;font-weight:600}.log-token__date{color:#8b949e}.link{color:#58a6ff;text-decoration:none}.link:hover{text-decoration:underline;color:#79c0ff}.file-link{color:#ffa657;text-decoration:none}.file-link:hover{color:#ffa657;text-decoration:underline}.nav-link{color:#484f58;text-decoration:none}.nav-link:hover{color:#58a6ff}.thorn{color:#d2a8ff;text-shadow:0 0 20px rgba(210,168,255,.4)}.thorn-glow{display:inline-block;transition:text-shadow .3s}.thorn-glow:hover{text-shadow:0 0 30px #d2a8ff,0 0 60px rgba(210,168,255,.2666666667)}.footer{margin-top:24px;padding-top:12px;border-top:1px solid #21262d;color:#484f58;font-size:13px}.footer a{color:#484f58}.footer a:hover{color:#58a6ff}.scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.015) 2px,rgba(255,255,255,.015) 4px);pointer-events:none;z-index:999;animation:fadeIn 1s ease-out both}@media(max-width:600px){body{padding:24px 12px;font-size:14px}.line{gap:12px}.line-num{width:28px;font-size:12px}.container{max-width:100%}.h1{font-size:22px}.h2{font-size:17px}}.h1{color:#ff7b72;font-weight:700;font-size:28px;line-height:1.3;letter-spacing:-.5px}.h1 .hash{color:#ff7b72;opacity:.5}.h1 .thorn{color:#d2a8ff;text-shadow:0 0 20px rgba(210,168,255,.4)}.blog-img{max-width:100%;height:auto;border:1px solid #30363d;border-radius:4px;margin:4px 0;display:block}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0;color:#484f58}.pagination__status{color:#484f58;font-size:13px;text-align:center}.pagination__disabled{color:#30363d;user-select:none}.post-body{max-width:100%}.post-body h1,.post-body h2,.post-body h3{color:#d2a8ff;line-height:1.4;margin:18px 0 8px}.post-body h1{color:#ff7b72;font-size:24px}.post-body h2{font-size:20px}.post-body h3{color:#f0883e;font-size:16px}.post-body p{margin:10px 0}.post-body ul,.post-body ol{margin:10px 0 10px 22px}.post-body li::marker{color:#484f58}.post-body a{color:#58a6ff;text-decoration:none}.post-body a:hover{color:#79c0ff;text-decoration:underline}.post-body code{background:#0a0a0a;color:#ffa657;padding:1px 6px;border-radius:4px;font-size:14px;border:1px solid #30363d}.post-body pre{overflow-x:auto;background:#0a0a0ab3;border:1px solid #30363d;border-radius:4px;padding:14px;margin:12px 0}.post-body pre code{background:transparent;border:0;padding:0}.post-tags{display:flex;flex-wrap:wrap;gap:8px}.post-tag{color:#f778ba;font-size:13px;font-weight:600}@media(max-width:600px){.pagination{align-items:flex-start;flex-direction:column;gap:6px}.pagination__status{text-align:left}}.blog-ls-row{white-space:pre-wrap}.blog-ls-description{font-size:14px;padding-bottom:2px}.article-lines{max-width:100%}.article-lines .line{margin:0}.article-text,.article-list-item{color:#e6edf3}.article-comment{color:#8b949e;font-style:italic}.article-heading{margin:4px 0}.article-list-item{padding-left:0}.article-empty-line{min-height:1.55em}.article-image-line{padding-top:0;padding-bottom:4px}.article-code-line{display:block;width:100%;white-space:normal}.article-code-line .shiki{margin:.35em 0;padding:14px 16px;border:1px solid #30363d;border-radius:6px;background:#0d1117d9!important;overflow-x:auto;line-height:1.55;white-space:normal}.article-code-line .shiki code{display:block;background:transparent;border:0;padding:0;font-family:inherit;font-size:14px;white-space:normal}.article-code-line .shiki .line{display:block;gap:0;margin:0;padding:0;border-left:0;min-height:1.55em;line-height:1.55;transition:none;white-space:pre;word-break:normal}.article-code-line pre{overflow-x:auto;max-width:100%}.article-code-line>pre{margin:.35em 0;padding:14px 16px;border:1px solid #30363d;border-radius:6px;background:#0d1117d9}.article-code-line>pre code{background:transparent;border:0;padding:0;font-family:inherit;font-size:14px}.blog-img{display:block;max-width:min(100%,1000px);height:auto;border:1px solid #30363d;border-radius:4px;filter:saturate(.9) contrast(1.04)}.blog-img:hover{border-color:#58a6ff66}.article-nav{display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}.article-nav__disabled{color:#484f58}@media(max-width:600px){.article-nav{flex-direction:column;align-items:flex-start;gap:4px}}.blog-figure{margin:0;max-width:min(100%,1000px)}.blog-caption{margin-top:.45em;color:#8b949e;font-size:.92em;font-style:italic;line-height:1.45}.blog-caption:before{content:"// ";color:#484f58}.code-title{display:inline-block;margin:.35em 0 0;padding:5px 10px;border:1px solid #30363d;border-bottom:0;border-radius:6px 6px 0 0;background:#0d1117f2;color:#8b949e;font-size:13px}.code-title+.shiki{margin-top:0;border-top-left-radius:0}.article-callout-line,.article-table-line{white-space:normal}.callout{margin:.35em 0;padding:12px 14px;border:1px solid #30363d;border-left:2px solid #d2a8ff;border-radius:6px;background:#d2a8ff0f;color:#e6edf3;line-height:1.55}.callout__label{color:#d2a8ff;font-weight:700}.callout--info{border-left-color:#79c0ff;background:#79c0ff0f}.callout--info .callout__label{color:#79c0ff}.callout--warning{border-left-color:#f2cc60;background:#f2cc6012}.callout--warning .callout__label{color:#f2cc60}.callout--danger{border-left-color:#ff7b72;background:#ff7b7212}.callout--danger .callout__label{color:#ff7b72}.callout--terminal{border-left-color:#7ee787;background:#7ee7870f}.callout--terminal .callout__label{color:#7ee787}.callout--lore{border-left-color:#f778ba;background:#f778ba0f}.callout--lore .callout__label{color:#f778ba}.blog-table-wrap{max-width:100%;overflow-x:auto;margin:.35em 0}.blog-table{width:100%;border-collapse:collapse;border:1px solid #30363d;background:#0d1117b8;font-size:14px}.blog-table th,.blog-table td{padding:8px 10px;border:1px solid #30363d;text-align:left;vertical-align:top}.blog-table th{color:#d2a8ff;font-weight:700;background:#d2a8ff0f}.article-footnote{color:#8b949e;font-size:.92em}.footnote-ref,.footnote-backref{color:#79c0ff;text-decoration:none}.footnote-ref:hover,.footnote-backref:hover{text-decoration:underline}.post-badge--draft{vertical-align:middle;position:relative;top:-2px;user-select:none}
