:root{--brand-900: #14162b;--brand-800: #232649;--brand-700: #3f4ac7;--brand-600: #4e59d6;--brand-500: #5a66e3;--brand-400: #838cec;--brand-300: #a3abe8;--brand-200: #c9cef5;--brand-100: #dfe3f7;--brand-50: #eef0fb;--ink: #12141f;--ink-soft: #2c3042;--muted: #5d6375;--line: #d9dce6;--line-soft: #eceef4;--paper: #f8f9fc;--paper-2: #ffffff;--accent: var(--brand-700);--accent-hover: var(--brand-500);--accent-soft: var(--brand-50);--accent-soft-2: var(--brand-100);--accent-border: var(--brand-300);--accent-on-strong: #ffffff;--code-bg: var(--brand-900);--code-fg: var(--brand-100);--code-border: var(--brand-800);--inline-code-bg: var(--brand-50);--inline-code-fg: #32378f;--header-bg: rgba(248, 249, 252, .85);--font-sans: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-serif: "JetBrains Mono", ui-monospace, Menlo, monospace;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--max: 72rem;--max-prose: 44rem;color-scheme:light}[data-theme=dark]{--ink: #e6e8f2;--ink-soft: #b6bacf;--muted: #7d8298;--line: #262a40;--line-soft: #191c2e;--paper: #0b0d16;--paper-2: #121525;--accent: var(--brand-300);--accent-hover: var(--brand-200);--accent-soft: rgba(63, 74, 199, .14);--accent-soft-2: rgba(63, 74, 199, .24);--accent-border: rgba(151, 160, 240, .28);--accent-on-strong: #0b0d16;--code-bg: #060810;--code-fg: var(--brand-100);--code-border: #191c2e;--inline-code-bg: rgba(63, 74, 199, .18);--inline-code-fg: var(--brand-200);--header-bg: rgba(11, 13, 22, .85);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background .2s ease,color .2s ease;font-feature-settings:"ss01","cv11"}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover)}code{font-family:var(--font-mono);font-size:.875em;background:var(--inline-code-bg);color:var(--inline-code-fg);padding:.15em .4em;border-radius:3px;border:1px solid var(--line-soft)}pre{font-family:var(--font-mono);background:var(--code-bg);color:var(--code-fg);padding:1.25rem 1.5rem;border-radius:6px;overflow-x:auto;font-size:.875rem;line-height:1.6;border:1px solid var(--code-border)}pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(1.75rem,3vw,2.5rem)}h3{font-size:1.375rem;font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em}h4{font-size:1rem;font-family:var(--font-sans);font-weight:600}p{max-width:var(--max-prose)}.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}.container-prose{max-width:var(--max-prose);margin:0 auto;padding:0 1.5rem}.rule{height:1px;background:var(--line);border:none;margin:4rem 0}.eyebrow{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:500}.muted{color:var(--muted)}.serif{font-family:var(--font-serif);font-weight:400}.mono{font-family:var(--font-mono)}.cmd{font-family:var(--font-mono);font-size:.875em;color:var(--accent);font-weight:500}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:var(--font-mono);font-size:.875rem;font-weight:500;border-radius:4px;border:1px solid var(--brand-700);background:var(--brand-700);color:#fff;transition:all .15s ease;cursor:pointer}.btn:hover{background:var(--brand-800);color:#fff}[data-theme=dark] .btn{border-color:var(--brand-500);background:var(--brand-600)}[data-theme=dark] .btn:hover{background:var(--brand-500)}.btn-ghost{background:transparent;color:var(--accent);border-color:var(--accent-border)}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-hover)}[data-theme=dark] .btn-ghost{background:transparent;color:var(--accent)}[data-theme=dark] .btn-ghost:hover{background:var(--accent-soft);color:var(--accent-hover)}.prose{font-size:1.0625rem;line-height:1.7;color:var(--ink-soft)}.prose h1{margin-bottom:1.5rem}.prose h2{margin-top:3.5rem;margin-bottom:1rem;padding-top:2rem;border-top:1px solid var(--line-soft)}.prose h2:first-of-type{border-top:none;padding-top:0}.prose h3{margin-top:2rem;margin-bottom:.75rem}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin:1rem 0 1.5rem 1.5rem}.prose li{margin-bottom:.5rem}.prose blockquote{border-left:3px solid var(--brand-500);padding:.5rem 0 .5rem 1.25rem;margin:1.5rem 0;color:var(--ink);font-style:italic;background:var(--accent-soft);border-radius:0 4px 4px 0}.prose blockquote p{margin:0}.prose strong{color:var(--ink);font-weight:600}.prose hr{margin:3rem 0;border:none;height:1px;background:var(--line)}.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9375rem}.prose th,.prose td{padding:.625rem .875rem;text-align:left;border-bottom:1px solid var(--line-soft)}.prose th{font-weight:600;color:var(--ink);background:var(--accent-soft)}.prose em{font-style:italic}html[data-skin=terminal]{--term-glow: color-mix(in srgb, var(--accent) 55%, transparent)}html[data-skin=terminal] body{font-family:var(--font-mono);letter-spacing:-.01em;position:relative}html[data-skin=terminal] body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 1px,transparent 1px,transparent 3px),radial-gradient(120% 120% at 50% 0%,transparent 60%,rgba(0,0,0,.12) 100%);mix-blend-mode:multiply;opacity:.55}html[data-skin=terminal][data-theme=dark] body:before{mix-blend-mode:screen;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 3px),radial-gradient(120% 120% at 50% 0%,transparent 55%,rgba(0,0,0,.5) 100%);opacity:.5}html[data-skin=terminal] main{position:relative;z-index:2}html[data-skin=terminal] h1,html[data-skin=terminal] h2,html[data-skin=terminal] h3{font-family:var(--font-mono);font-weight:600;letter-spacing:.01em;text-transform:uppercase}html[data-skin=terminal] .eyebrow{font-family:var(--font-mono)}html[data-skin=terminal] .eyebrow:before{content:"> ";color:var(--accent)}html[data-skin=terminal] a{text-underline-offset:3px;text-decoration-thickness:1px}html[data-skin=terminal] main a:not([class]){text-decoration:underline dotted var(--accent-border)}html[data-skin=terminal] main a:not([class]):hover{text-decoration-style:solid;text-shadow:0 0 8px var(--term-glow)}html[data-skin=terminal] .foundation-card,html[data-skin=terminal] .mode-card,html[data-skin=terminal] .category-block,html[data-skin=terminal] .skill-card,html[data-skin=terminal] .step,html[data-skin=terminal] .install-card,html[data-skin=terminal] pre,html[data-skin=terminal] .cmd,html[data-skin=terminal] code{border-radius:0!important}html[data-skin=terminal] .foundation-card,html[data-skin=terminal] .mode-card{border:1px solid var(--accent-border);background:var(--paper-2);position:relative;box-shadow:0 0 0 1px var(--line-soft),0 0 24px -18px var(--term-glow)}html[data-skin=terminal] .mode-card:before{content:"● ● ●";display:block;font-size:.6rem;letter-spacing:.2em;color:var(--accent-border);margin-bottom:.6rem;opacity:.7}html[data-skin=terminal] .mode-card:hover{box-shadow:0 0 0 1px var(--accent),0 0 32px -14px var(--term-glow);transform:translateY(-2px)}html[data-skin=terminal] .cmd:after{content:"▮";margin-left:.15em;color:var(--accent);animation:term-blink 1.1s steps(1) infinite}@keyframes term-blink{50%{opacity:0}}html[data-skin=terminal] .site-header{border-bottom:1px solid var(--accent-border)}html[data-skin=terminal] .logo-text:after{content:"@harness";color:var(--muted);font-weight:400}html[data-skin=terminal] .nav-link{text-transform:lowercase}html[data-skin=terminal] .nav-link:before{content:"/";opacity:.5}html[data-skin=terminal] .btn-primary:before,html[data-skin=terminal] .btn-ghost:before{content:"[ "}html[data-skin=terminal] .btn-primary:after,html[data-skin=terminal] .btn-ghost:after{content:" ]"}html[data-skin=terminal] .site-footer{border-top:1px dashed var(--accent-border)}html[data-skin=terminal] .term-cursor:after{content:"▮";color:var(--accent);animation:term-blink 1.1s steps(1) infinite}@media(prefers-reduced-motion:reduce){html[data-skin=terminal] .cmd:after,html[data-skin=terminal] .term-cursor:after{animation:none}}.theme-toggle[data-astro-cid-x3pjskd3]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:4px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-soft);cursor:pointer;transition:all .12s ease;margin-left:.375rem}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}.theme-icon[data-astro-cid-x3pjskd3]{display:none}[data-theme=light] .theme-icon-moon[data-astro-cid-x3pjskd3],[data-theme=dark] .theme-icon-sun[data-astro-cid-x3pjskd3]{display:block}html:not([data-theme=dark]):not([data-theme=light]) .theme-icon-moon[data-astro-cid-x3pjskd3]{display:block}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line-soft)}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;height:4rem}.logo[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:600;font-size:1.0625rem;letter-spacing:-.01em}.logo[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.logo-mark[data-astro-cid-3ef6ksr2]{color:var(--accent);display:inline-flex;align-items:center}.logo-mark[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{display:block}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:.25rem;align-items:center}.nav-link[data-astro-cid-3ef6ksr2]{font-size:.875rem;font-weight:500;color:var(--ink-soft);padding:.5rem .875rem;border-radius:4px;transition:all .12s ease}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--accent);background:var(--accent-soft)}.nav-github[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.8125rem;margin-left:.25rem;padding:.45rem .75rem;border:1px solid var(--line);background:var(--paper-2)}.nav-github[data-astro-cid-3ef6ksr2]:hover{border-color:var(--accent-border);background:var(--accent-soft)}.gh-icon[data-astro-cid-3ef6ksr2]{color:var(--ink-soft);flex-shrink:0}.nav-github[data-astro-cid-3ef6ksr2]:hover .gh-icon[data-astro-cid-3ef6ksr2]{color:var(--accent)}.gh-stars[data-astro-cid-3ef6ksr2]{font-weight:500;color:var(--ink-soft)}.nav-github[data-astro-cid-3ef6ksr2]:hover .gh-stars[data-astro-cid-3ef6ksr2]{color:var(--accent)}@media(max-width:720px){.nav[data-astro-cid-3ef6ksr2]{gap:0}.nav-link[data-astro-cid-3ef6ksr2]{padding:.5rem;font-size:.8125rem}.nav-github[data-astro-cid-3ef6ksr2]{padding:.4rem .55rem;margin-left:.25rem}.gh-stars[data-astro-cid-3ef6ksr2]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:6rem;padding:4rem 0 2rem;border-top:1px solid var(--line-soft);background:var(--paper-2)}.footer-inner[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-col[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.5rem}.footer-brand[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink)}.footer-mark[data-astro-cid-sz7xmlte]{color:var(--accent);display:inline-flex;align-items:center}.footer-mark[data-astro-cid-sz7xmlte] svg[data-astro-cid-sz7xmlte]{display:block}.footer-tag[data-astro-cid-sz7xmlte]{margin-top:.25rem;font-size:.9375rem}.footer-label[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:.9375rem;color:var(--ink-soft)}.footer-col[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.footer-rule[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line-soft);font-size:.8125rem}@media(max-width:720px){.footer-inner[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr;gap:2rem}}
