:root{--bg: #14101a;--bg-term: #1c1522;--bg-deep: #100c14;--bg-chrome: #18121e;--text: #e8e6ea;--text-muted: #9a93a3;--accent: #e0455f;--accent-soft: rgba(224, 69, 95, 0.35);--accent-ink: #140e16;--line: rgba(232, 230, 234, 0.08);--measure: 68ch;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: "Space Grotesk", "Avenir Next", sans-serif;--font-body: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6}main{flex:1 0 auto;width:100%}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline;text-underline-offset:0.2em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:var(--accent);color:var(--accent-ink)}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-999px;top:0;z-index:10;padding:0.6rem 1rem;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono)}.skip-link:focus{left:0.5rem;top:0.5rem}.term-line{margin:0 0 0.65rem;font-family:var(--font-mono);font-size:0.95rem;overflow-wrap:anywhere}.ps1{color:var(--text-muted)}.ps1-dir{color:var(--accent);font-weight:600}.ps1-char{color:var(--accent)}.cmd{color:var(--text);font-weight:600}.cursor{display:inline-block;width:0.6em;height:1.05em;margin-left:0.45rem;vertical-align:text-bottom;background:var(--accent);animation:blink 1.1s steps(1) infinite}.cta{display:inline-block;padding:0.45rem 0.9rem;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-weight:600;transition:filter 180ms ease, transform 180ms ease}.cta:hover,.cta:focus-visible{filter:brightness(1.12);text-decoration:none}.cta:hover .cta-arrow{transform:translateX(3px)}.cta-arrow{display:inline-block;transition:transform 180ms ease}.topbar{border-bottom:1px solid var(--line);background:var(--bg-chrome);font-family:var(--font-mono);font-size:0.9rem}.topbar-inner{max-width:52rem;margin:0 auto;padding:0.4rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.topbar-brand{color:var(--text);font-weight:600;padding:0.55rem 0}.topbar-brand:hover{color:var(--accent);text-decoration:none}.topbar-links{display:flex;gap:0.5rem}.topbar-links a{color:var(--text-muted);padding:0.55rem 0.5rem}.topbar-links a:hover,.topbar-links a:focus-visible{color:var(--accent)}.statusbar{flex-shrink:0;border-top:1px solid var(--line);background:var(--bg-chrome);font-family:var(--font-mono);font-size:0.8rem;color:var(--text-muted);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:0.55rem 1.25rem}.statusbar a{color:var(--text-muted);padding:0.35rem 0.25rem}.statusbar a:hover,.statusbar a:focus-visible{color:var(--accent)}.statusbar-session{color:var(--accent)}.desktop{position:relative;min-height:100svh;display:grid;place-items:center;align-content:center;padding:clamp(0.75rem, 3vw, 2.5rem);padding-bottom:clamp(2.75rem, 7vw, 3.75rem);background:linear-gradient(rgba(12,8,16,0.42), rgba(12,8,16,0.62)),url("../ag-5.jpg") center/cover no-repeat}.term{width:min(58rem, 100%);border-radius:10px;border:1px solid var(--accent-soft);background:rgba(37,42,52,0.93);backdrop-filter:blur(6px);box-shadow:0 24px 70px rgba(8,10,14,0.6);overflow:hidden}.term-bar{display:flex;justify-content:space-between;gap:1rem;padding:0.5rem 1rem;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:0.8rem;color:var(--text-muted)}.term-body{padding:clamp(1.25rem, 4vw, 2.25rem)}.cmd-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;max-width:6ch;animation:typing 0.8s steps(6, end) 0.35s both}.reveal{opacity:0;transform:translateY(8px);animation:fadeup 480ms ease forwards}.reveal-1{animation-delay:1.15s}.reveal-2{animation-delay:1.75s}.reveal-3{animation-delay:2.25s}.fetch{display:flex;gap:clamp(1.25rem, 3.5vw, 2.25rem);align-items:center;margin:1.25rem 0 1.75rem}.fetch-img{width:clamp(130px, 22vw, 220px);flex-shrink:0;aspect-ratio:1;object-fit:cover;border:2px solid var(--accent);border-radius:8px}.fetch-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem, 5.5vw, 3.1rem);line-height:1.05;letter-spacing:-0.015em}.fetch-sub{margin:0.35rem 0 0.9rem;font-family:var(--font-mono);color:var(--accent);font-size:0.95rem}.fetch-info{min-width:0}.fetch-list{margin:0;font-family:var(--font-mono);font-size:0.9rem}.fetch-row{margin-bottom:0.3rem;overflow-wrap:anywhere}.fetch-row dt{display:inline;color:var(--accent);font-weight:600}.fetch-row dt::after{content:": ";color:var(--text-muted)}.fetch-row dd{display:inline;margin:0;color:var(--text)}.fetch-swatches{position:absolute;right:clamp(0.75rem, 3vw, 2.5rem);bottom:clamp(0.75rem, 3vw, 2.5rem);z-index:2;display:flex;gap:5px;margin:0}.fetch-swatches i{width:15px;height:15px;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,0.45)}.fetch-swatches i:nth-child(1){background:#18122a}.fetch-swatches i:nth-child(2){background:#e0455f}.fetch-swatches i:nth-child(3){background:#7a3048}.fetch-swatches i:nth-child(4){background:#c4785a}.fetch-swatches i:nth-child(5){background:#4a5d7a}.fetch-swatches i:nth-child(6){background:#8a5a78}.fetch-swatches i:nth-child(7){background:#a0aec0}.fetch-swatches i:nth-child(8){background:#e8e6ea}@media (max-width: 540px){.fetch{flex-direction:column;align-items:flex-start}.desktop{align-content:start;padding-top:1rem;padding-bottom:3.25rem}.term{margin-bottom:0.5rem}.fetch-swatches,.desktop-credit{bottom:0.85rem}}.socials{list-style:none;margin:0 0 1.1rem;padding:0;display:flex;flex-wrap:wrap;column-gap:1.35rem}.socials a{display:inline-block;padding:0.55rem 0.15rem;font-family:var(--font-mono);font-weight:600;color:var(--accent)}.term-status{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:0.45rem 1rem;border-top:1px solid var(--line);background:rgba(29,33,42,0.85);font-family:var(--font-mono);font-size:0.8rem;color:var(--text-muted)}.term-status a{color:var(--text-muted);padding:0.25rem 0.15rem}.term-status a:hover,.term-status a:focus-visible{color:var(--accent)}.desktop-credit{position:absolute;left:clamp(0.75rem, 3vw, 2.5rem);bottom:clamp(0.75rem, 3vw, 2.5rem);margin:0;font-family:var(--font-mono);font-size:0.72rem;color:rgba(239,239,239,0.55);text-shadow:0 1px 3px rgba(0,0,0,0.6)}.listing{max-width:48rem;margin:0 auto;padding:clamp(1.5rem, 5vw, 3rem) 1.25rem 3rem}.listing-head .term-line{color:var(--text-muted)}.page-title{margin:0.5rem 0 0;font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem, 5vw, 3rem);letter-spacing:-0.015em}.year-title{margin:2.5rem 0 0.75rem;font-family:var(--font-mono);font-size:1.05rem;color:var(--accent)}.entries{list-style:none;margin:0;padding:0}.entry{display:grid;grid-template-columns:4.5rem auto 1fr;align-items:baseline;column-gap:1rem;padding:0.7rem 0;border-bottom:1px solid var(--line)}.entry-date{font-family:var(--font-mono);font-size:0.85rem;color:var(--text-muted);white-space:nowrap}.entry-cat{font-family:var(--font-mono);font-size:0.85rem;color:var(--accent)}.entry-title{color:var(--text);font-weight:600;padding:0.3rem 0}.entry-title:hover,.entry-title:focus-visible{color:var(--accent)}@media (max-width: 540px){.entry{grid-template-columns:auto 1fr;row-gap:0.1rem}.entry-title{grid-column:1 / -1}}.post{max-width:calc(var(--measure) + 2.5rem);margin:0 auto;padding:clamp(1.5rem, 5vw, 3rem) 1.25rem 3rem}.post-head .term-line{color:var(--text-muted)}.post-title{margin:0.5rem 0 0.35rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem, 5vw, 2.7rem);line-height:1.12;letter-spacing:-0.015em}.post-meta{margin:0 0 2rem;font-family:var(--font-mono);font-size:0.85rem;color:var(--text-muted);display:flex;gap:0.9rem;flex-wrap:wrap}.post-body{font-size:1.0625rem;line-height:1.72}.post-body h2,.post-body h3,.post-body h4{font-family:var(--font-display);letter-spacing:-0.01em;line-height:1.25;margin:2.1rem 0 0.7rem}.post-body h2{font-size:1.6rem}.post-body h3{font-size:1.3rem}.post-body p{margin:0 0 1.1rem}.post-body a{text-decoration:underline;text-underline-offset:0.2em;text-decoration-color:var(--accent-soft)}.post-body a:hover{text-decoration-color:var(--accent)}.post-body img{border-radius:8px;display:block;margin:1.4rem auto}.post-body ul,.post-body ol{padding-left:1.4rem;margin:0 0 1.1rem}.post-body li{margin-bottom:0.3rem}.post-body dl{margin:0 0 1.1rem}.post-body dt{font-weight:600}.post-body dd{margin:0 0 0.4rem 1.4rem;color:var(--text-muted)}.post-body blockquote{margin:1.4rem 0;padding:0.3rem 0 0.3rem 1.1rem;border-left:3px solid var(--accent);color:var(--text-muted)}.post-body hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.post-body code{font-family:var(--font-mono);font-size:0.9em;background:var(--bg-deep);padding:0.15em 0.4em;border-radius:4px}.post-body pre{background:var(--bg-deep);border:1px solid var(--line);border-radius:8px;padding:1rem 1.2rem;overflow-x:auto;margin:1.4rem 0}.post-body pre code{background:none;padding:0;font-size:0.88rem;line-height:1.6}.post-body table{border-collapse:collapse;width:100%;margin:1.4rem 0}.post-body th,.post-body td{border:1px solid var(--line);padding:0.5rem 0.75rem;text-align:left}.post-body th{font-family:var(--font-mono);font-size:0.85rem;color:var(--accent)}.post-foot{margin-top:2.5rem}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:#6b6470;font-style:italic}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kr,.highlight .kt,.highlight .kc{color:#e0455f}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sh{color:#c4785a}.highlight .m,.highlight .mi,.highlight .mf,.highlight .mh{color:#a0aec0}.highlight .nf,.highlight .fm{color:#8a5a78}.highlight .nc,.highlight .nn{color:#7a3048}.highlight .o,.highlight .ow{color:#9a93a3}.highlight .nb,.highlight .bp{color:#c4785a}.highlight .nv,.highlight .vi,.highlight .vg{color:#e8e6ea}.highlight .err{color:#e0455f}.notfound{max-width:40rem;margin:0 auto;padding:clamp(2rem, 8vw, 5rem) 1.25rem;text-align:left}.notfound-code{margin:0.75rem 0 0.5rem;font-family:var(--font-display);font-weight:700;font-size:clamp(4rem, 15vw, 7rem);line-height:1;color:var(--accent)}.notfound-msg{font-family:var(--font-mono);color:var(--text-muted);margin:0 0 2rem}@keyframes blink{50%{opacity:0}}@keyframes typing{from{max-width:0}to{max-width:6ch}}@keyframes fadeup{to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.cmd-type{animation:none}.reveal{animation:none;opacity:1;transform:none}.cursor{animation:none}.cta,.cta-arrow{transition:none}}
