@font-face{font-family:display;src:url(../media/space_grotesk_latin_500_normal-s.p.06ee2t2lfg3pm.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:display;src:url(../media/space_grotesk_latin_600_normal-s.p.0m0pc2jl4wft7.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:display;src:url(../media/space_grotesk_latin_700_normal-s.p.3jsxfq3fx5r12.woff2)format("woff2");font-display:swap;font-weight:700}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:88.74%;descent-override:26.33%;line-gap-override:0.0%;size-adjust:110.89%}.display_32986ad8-module__QpYpla__className{font-family:display,display Fallback}.display_32986ad8-module__QpYpla__variable{--nf-display:"display", "display Fallback"}
@font-face{font-family:sans;src:url(../media/inter_latin_400_normal-s.p.3v49wq25feooc.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:sans;src:url(../media/inter_latin_500_normal-s.p.2b-988ze2tqxw.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:sans;src:url(../media/inter_latin_600_normal-s.p.3p9cv3hbprg68.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.sans_9b9b7900-module__t9S_wG__className{font-family:sans,sans Fallback}.sans_9b9b7900-module__t9S_wG__variable{--nf-sans:"sans", "sans Fallback"}
@font-face{font-family:mono;src:url(../media/jetbrains_mono_latin_400_normal-s.p.0p3mj-_2m59il.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:mono;src:url(../media/jetbrains_mono_latin_500_normal-s.p.2n5jg_p7krv_o.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}.mono_5bc939c6-module__Q3of9a__className{font-family:mono,mono Fallback}.mono_5bc939c6-module__Q3of9a__variable{--nf-mono:"mono", "mono Fallback"}
:root,[data-theme=light]{--bg:#f5f2ec;--surface:#fbfaf7;--surface-sunken:#ece8df;--line:#dcd7cc;--ink:#16171b;--ink-muted:#5b5d66;--accent:#e4572e;--accent-text:#b83a14;--on-accent:#16171b;--accent-soft:#f8d9cc;--signal:#1f7a52;--signal-soft:#d5ecdf;--shadow-card:0 1px 2px #16171b0f, 0 8px 24px #16171b0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#101114;--surface:#17191d;--surface-sunken:#0b0c0e;--line:#2b2e34;--ink:#ece8e0;--ink-muted:#a3a39d;--accent:#ff7448;--accent-text:#ff8a63;--on-accent:#16171b;--accent-soft:#3a2018;--signal:#4cc18a;--signal-soft:#14301f;--shadow-card:0 1px 2px #00000080, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--font-display:var(--nf-display), "Inter", system-ui, sans-serif;--font-sans:var(--nf-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--nf-mono), ui-monospace, "SF Mono", Menlo, monospace}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);margin:0}.jh-eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:500;line-height:16px}.jh-eyebrow b{color:var(--accent-text);font-weight:500}.jh-btn{align-items:center;gap:var(--space-2);font:500 15px/20px var(--font-sans);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.jh-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jh-btn--primary{background:var(--accent);color:var(--on-accent)}.jh-btn--primary:hover{transform:translateY(-1px)}.jh-btn--secondary{color:var(--ink);border-color:var(--ink);background:0 0}.jh-btn--secondary:hover{background:var(--ink);color:var(--bg)}.jh-btn--ghost{color:var(--accent-text);background:0 0;padding-left:0;padding-right:0}.jh-btn--ghost:hover{text-underline-offset:4px;text-decoration:underline}.jh-btn .arr{font-family:var(--font-mono)}.jh-tag{align-items:center;gap:var(--space-1);font:400 13px/18px var(--font-mono);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line);display:inline-flex}.jh-tag--accent{background:var(--accent-soft);border-color:#0000}.jh-tag--signal{background:var(--signal-soft);color:var(--signal);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);border-color:#0000}.jh-tag--signal:before{content:"";border-radius:var(--radius-pill);background:var(--signal);width:8px;height:8px}.jh-card{gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);color:inherit;flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.jh-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.jh-card__top{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.jh-card__title{font:600 20px/26px var(--font-display);margin:0}.jh-card__desc{color:var(--ink-muted);margin:0;font-size:14px;line-height:20px}.jh-card__tags{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.jh-card__link{font:500 13px/18px var(--font-mono);color:var(--accent-text)}.jh-tl{gap:var(--space-6);padding-bottom:var(--space-12);grid-template-columns:160px 1fr;display:grid;position:relative}.jh-tl__when{font-family:var(--font-mono);color:var(--ink-muted);padding-top:4px;font-size:13px;line-height:20px}.jh-tl__body{border-left:1px solid var(--line);padding-left:var(--space-6);position:relative}.jh-tl__body:before{content:"";background:var(--bg);border:1px solid var(--ink-muted);border-radius:2px;width:9px;height:9px;position:absolute;top:9px;left:-5px}.jh-tl--current .jh-tl__body:before{background:var(--accent);border-color:var(--accent)}.jh-tl__role{font:600 20px/26px var(--font-display);margin:0}.jh-tl__org{color:var(--ink-muted);margin:var(--space-1) 0 var(--space-3);font-size:15px;line-height:22px}.jh-tl__org a{color:var(--accent-text);text-decoration:none}.jh-tl__list{gap:var(--space-2);margin:0;padding:0;font-size:15px;line-height:22px;list-style:none;display:grid}.jh-tl__list li:before{content:"→ ";font-family:var(--font-mono);color:var(--accent-text)}.jh-nav{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-8);background:var(--bg);border-bottom:1px solid var(--line);display:flex}.jh-logo{align-items:center;gap:var(--space-2);font:700 18px/1 var(--font-display);color:var(--ink);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.jh-logo i{background:var(--accent);width:10px;height:18px;display:inline-block}.jh-nav__links{gap:var(--space-6);font:500 14px/20px var(--font-sans);display:flex}.jh-nav__links a{color:var(--ink-muted);text-decoration:none}.jh-nav__links a:hover,.jh-nav__links a[aria-current]{color:var(--ink)}.jh-nav__links a[aria-current]:before{content:"/";color:var(--accent-text);font-family:var(--font-mono);margin-right:2px}.jh-term{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);font:400 14px/22px var(--font-mono);padding:var(--space-4) var(--space-6);color:var(--ink)}.jh-term .p{color:var(--accent-text)}.jh-term .m{color:var(--ink-muted)}.jh-cursor{background:var(--accent);vertical-align:-.2em;width:.6em;height:1.1em;display:inline-block}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{overflow-x:clip}body{-webkit-font-smoothing:antialiased}::selection{background:var(--accent-soft);color:var(--ink)}a{color:inherit}code,kbd{font-family:var(--font-mono);font-size:.9em}kbd{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);border-bottom-width:2px;padding:1px 6px;display:inline-block}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}section{padding-top:clamp(72px,11vw,136px);scroll-margin-top:72px}.m{color:var(--ink-muted)}.ok{color:var(--signal)}.p{color:var(--accent-text)}.blink{background:var(--accent);vertical-align:-.04em;width:.32em;height:.8em;margin-left:.1em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.boot{z-index:200;color:#ece8e0;background:#0b0c0e;place-items:center;transition:opacity .5s,transform .5s;display:grid;position:fixed;inset:0}.boot.leaving{opacity:0;pointer-events:none;transform:scale(1.02)}.boot-inner{width:min(560px,90vw);font:400 14px/1.75 var(--font-mono)}.boot-line{white-space:pre-wrap;animation:.2s ease-out pop}.boot .ok{color:#4cc18a}.boot .blink{background:#ff7448}.boot-skip{color:#a3a39d;margin-top:24px;font-size:12px}.progress{background:var(--accent);transform-origin:0;z-index:60;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.nav{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(14px);background:color-mix(in srgb, var(--bg) 82%, transparent);border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.nav.scrolled{border-bottom-color:var(--line)}.nav .wrap{justify-content:space-between;align-items:center;gap:var(--space-4);height:64px;display:flex}.nav-links{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);gap:2px;padding:4px;display:flex}.nav-links a{font:500 13px/20px var(--font-mono);color:var(--ink-muted);border-radius:var(--radius-pill);padding:6px 14px;text-decoration:none;transition:color .15s,background .15s}.nav-links a:hover{color:var(--ink)}.nav-links a.active{background:var(--ink);color:var(--bg)}.nav-links a.active:before{content:"/";color:var(--accent);margin-right:1px}.nav-tools{gap:var(--space-2);align-items:center;display:flex}.icon-btn{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;font:500 14px/1 var(--font-mono);place-items:center;transition:transform .15s,border-color .15s;display:grid}.icon-btn:hover{border-color:var(--ink-muted)}.icon-btn:focus-visible,.chip:focus-visible,.unit-head:focus-visible,.inc-head:focus-visible,.nav-links a:focus-visible,.brow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.console-btn{color:var(--accent-text);font-weight:600}.menu-btn{display:none}.cv-btn{padding:8px 18px!important;font-size:14px!important}.drawer{display:none}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px);padding-top:clamp(48px,8vw,104px);display:grid;position:relative}.hero-bg{z-index:-1;pointer-events:none;background-image:radial-gradient(var(--line) 1.2px, transparent 1.2px);-webkit-mask-image:radial-gradient(440px circle at var(--mx,75%) var(--my,35%), #000 0%, transparent 75%);-webkit-mask-image:radial-gradient(440px circle at var(--mx,75%) var(--my,35%), #000 0%, transparent 75%);mask-image:radial-gradient(440px circle at var(--mx,75%) var(--my,35%), #000 0%, transparent 75%);background-size:24px 24px;position:absolute;inset:-40px calc(-1*clamp(16px,4vw,32px)) 0}.hero h1{font:700 clamp(44px, 7vw, 88px)/.98 var(--font-display);letter-spacing:-.04em;margin:var(--space-4) 0 var(--space-6)}.hero h1 .w{display:inline-block}.hero h1 .hl{color:var(--accent-text)}.lede{color:var(--ink-muted);max-width:560px;margin:0 0 var(--space-8);font-size:clamp(16px,1.6vw,19px);line-height:1.65}.ctas{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.console-hint{margin:var(--space-6) 0 0;color:var(--ink-muted);font-size:13px}.sys{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font:400 13px/22px var(--font-mono);overflow:hidden}.sys-bar,.runbook-bar,.pkgs-bar,.console-bar{border-bottom:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-muted);font:400 12px/1.4 var(--font-mono);align-items:center;gap:6px;padding:12px 16px;display:flex}.sys-bar i{background:var(--line);border-radius:50%;width:10px;height:10px}.sys-bar i:first-child{background:var(--accent)}.sys-bar span{margin-left:auto}.sys-body{padding:var(--space-4) var(--space-6) var(--space-6)}.sys-row{border-radius:var(--radius-sm);grid-template-columns:auto 1fr auto;column-gap:8px;margin:0 -8px;padding:6px 8px;text-decoration:none;transition:background .15s;display:grid}.sys-row:hover{background:var(--surface-sunken)}.sys-row .sys-unit{color:var(--ink);font-weight:500}.sys-row .state{color:var(--signal)}.sys-row .desc{color:var(--ink-muted);grid-column:2/-1;font-size:12px;line-height:16px}.sys-sep{background:var(--line);height:1px;margin:var(--space-3) 0}.sys-meta>div{justify-content:space-between;gap:var(--space-3);display:flex}.sys-meta .k{color:var(--ink-muted)}.sys-meta .v{color:var(--ink);font-variant-numeric:tabular-nums}.spark{height:40px;margin-top:var(--space-4);align-items:flex-end;gap:3px;display:flex}.spark i{background:var(--accent-soft);border-top:2px solid var(--accent);border-radius:2px 2px 0 0;flex:1;transition:height .8s cubic-bezier(.2,.7,.2,1)}.sec-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;margin-bottom:clamp(24px,4vw,48px);display:flex}.sec-head h2{font:700 clamp(32px, 4.6vw, 56px)/1.05 var(--font-display);letter-spacing:-.03em;margin:var(--space-3) 0 0;max-width:18ch}.sec-sub{color:var(--ink-muted);max-width:360px;margin:0;font-size:15px;line-height:1.55}.sec-sub code{color:var(--accent-text)}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{font:500 13px/1 var(--font-mono);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);cursor:pointer;padding:10px 14px;transition:all .15s}.chip:hover{color:var(--ink);border-color:var(--ink-muted)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip sup{opacity:.7;margin-left:4px;font-size:10px}.units{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.unit{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);scroll-margin-top:96px;transition:border-color .2s,box-shadow .25s;position:relative}.unit:hover{border-color:var(--ink-muted)}.unit.open{border-color:var(--accent);box-shadow:var(--shadow-card)}.unit-head,.inc-head{cursor:pointer;width:100%;color:inherit;font:500 13px/1.4 var(--font-mono);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.unit-dot{background:var(--signal);width:8px;height:8px;box-shadow:0 0 0 4px var(--signal-soft);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 7px var(--signal-soft)}}.unit-name{color:var(--ink)}.unit-state{color:var(--signal)}.unit-chev{border:1px solid var(--line);width:28px;height:28px;color:var(--ink-muted);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.unit h3{font:700 clamp(28px, 3vw, 40px)/1 var(--font-display);letter-spacing:-.03em;margin:var(--space-6) 0 var(--space-2)}.unit-pitch{color:var(--ink-muted);margin:0;font-size:16px;line-height:1.5}.unit-body{margin-top:var(--space-4);animation:.3s cubic-bezier(.2,.7,.2,1) pop}.unit-body[hidden]{display:none}.unit-status{padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);font:400 12.5px/1.7 var(--font-mono);color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0}.unit-for{margin:var(--space-3) 0 0;font-size:14px}.unit-for span{font:500 12px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-right:8px}.unit-tags{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.board{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.board-top{gap:var(--space-6);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);font:500 13px/1.4 var(--font-mono);background:var(--surface-sunken);flex-wrap:wrap;display:flex}.board-top .right{color:var(--ink-muted);margin-left:auto}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dot.ok{background:var(--signal);box-shadow:0 0 0 3px var(--signal-soft)}.dot.muted{background:var(--ink-muted);opacity:.6}.board-head,.brow{gap:var(--space-4);padding:0 var(--space-6);grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) 130px 150px 24px;align-items:center;display:grid}.board-head{padding-top:var(--space-3);padding-bottom:var(--space-3);font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);border-bottom:1px solid var(--line)}.board-rows{margin:0;padding:0;list-style:none}.board-rows li+li{border-top:1px solid var(--line)}.brow{padding-top:var(--space-4);padding-bottom:var(--space-4);text-decoration:none;transition:background .15s;animation:.3s cubic-bezier(.2,.7,.2,1) pop}a.brow:hover{background:var(--surface-sunken)}.brow .host{font:400 13px/1.4 var(--font-mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brow .proj b{font:600 16px/1.3 var(--font-display);display:block}.brow .proj small{color:var(--ink-muted);margin-top:2px;font-size:13px;line-height:1.4;display:block}.brow .at{font:400 12px/1.4 var(--font-mono);color:var(--ink-muted)}.brow .go{font-family:var(--font-mono);color:var(--ink-muted);transition:transform .2s,color .2s}a.brow:hover .go{color:var(--accent-text);transform:translate(2px,-2px)}.incs{gap:var(--space-3);display:grid}.inc{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-4) var(--space-6);transition:border-color .2s}.inc.open{border-color:var(--ink-muted)}.inc-head{gap:var(--space-4);padding:var(--space-2) 0;flex-wrap:wrap}.inc-id{color:var(--accent-text)}.inc-sev{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);padding:3px 8px;font-size:11px}.sev-critical .inc-sev{background:var(--accent);color:var(--on-accent)}.inc-title{font:600 clamp(17px, 1.8vw, 20px)/1.3 var(--font-display);color:var(--ink);flex:260px}.inc-res{color:var(--signal)}.inc-res:before{content:"✓ "}.inc-body{padding:var(--space-4) 0 var(--space-3);animation:.3s cubic-bezier(.2,.7,.2,1) pop}.inc-body[hidden]{display:none}.inc-sum{margin:0 0 var(--space-6);max-width:64ch;font-size:17px;line-height:1.55}.inc-steps{gap:var(--space-3);counter-reset:s;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.inc-steps li{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);font-size:14px;line-height:1.5;position:relative}.inc-steps li span{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin-bottom:var(--space-2);display:block}.inc-steps li span:before{counter-increment:s;content:"0" counter(s) " · ";color:var(--ink-muted)}.inc-foot{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.inc-foot div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken);font-size:14px;line-height:1.5}.inc-foot span{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:var(--space-2);display:block}.runbook{margin-top:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.runbook-bar{color:var(--ink);flex-wrap:wrap;justify-content:space-between}.runbook ul{padding:var(--space-3) var(--space-6) var(--space-4);font:400 13px/1.5 var(--font-mono);margin:0;list-style:none}.runbook li{gap:var(--space-4);border-bottom:1px dashed var(--line);grid-template-columns:100px 200px 1fr;padding:8px 0;display:grid}.runbook li:last-child{border-bottom:0}.runbook .x{color:var(--ink-muted)}.runbook b{color:var(--signal);font-weight:500}.log-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;display:grid}.journal{border-left:1px solid var(--line)}.entry{gap:var(--space-4);padding:0 0 var(--space-8) var(--space-6);grid-template-columns:170px 1fr;display:grid;position:relative}.entry:before{content:"";background:var(--bg);border:1px solid var(--ink-muted);border-radius:2px;width:9px;height:9px;position:absolute;top:6px;left:-5px}.entry.current:before{background:var(--accent);border-color:var(--accent)}.entry.edu:before{border-radius:50%}.entry .when{font:400 13px/1.6 var(--font-mono);color:var(--ink-muted)}.entry h3{font:600 18px/1.35 var(--font-display);margin:0 0 var(--space-2)}.entry h3 a,.entry h3 span{color:var(--accent-text);font-weight:500;text-decoration:none}.entry h3 span{color:var(--ink-muted)}.entry ul{color:var(--ink-muted);margin:0;padding:0;font-size:14.5px;line-height:1.6;list-style:none}.entry li:before{content:"→ ";font-family:var(--font-mono);color:var(--accent-text)}.pkgs{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.pkgs-bar{color:var(--ink)}.pkg-group{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line)}.pkg-group:last-child{border-bottom:0}.pkg-k{font:500 12px/1 var(--font-mono);color:var(--accent-text);margin-bottom:var(--space-3);display:block}.pkgs .tags{flex-wrap:wrap;gap:6px;display:flex}.certs{color:var(--ink-muted);margin:0;padding:0;font-size:14px;line-height:1.6;list-style:none}.jh-tag{transition:background .15s,transform .15s}.jh-tag:hover{background:var(--accent-soft);transform:translateY(-1px)}.contact{margin-top:clamp(72px,11vw,136px);padding-top:0}.cbox{background:var(--ink);color:var(--bg);border-radius:clamp(16px,3vw,28px);padding:clamp(32px,7vw,88px) clamp(24px,6vw,72px);position:relative;overflow:hidden}.cbox .jh-eyebrow,.cbox .jh-eyebrow b{color:var(--line)}.cbox h2{font:700 clamp(34px, 6vw, 72px)/1.02 var(--font-display);letter-spacing:-.035em;margin:var(--space-4) 0 var(--space-8);max-width:14ch}.cbox .orb{aspect-ratio:1;background:var(--accent);border-radius:50%;width:clamp(200px,30vw,360px);position:absolute;top:-90px;right:-90px}.cbox .orb.s{background:var(--signal);width:clamp(60px,9vw,110px);top:auto;bottom:-50px;right:clamp(100px,22vw,260px)}.cbox>:not(.orb){position:relative}.paths{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:1fr 1fr;display:grid}.path{padding:var(--space-6);border:1px solid var(--ink-muted);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.path-k{font:500 13px/1 var(--font-mono);color:var(--line)}.path h3{font:700 26px/1.1 var(--font-display);margin:var(--space-4) 0 var(--space-2)}.path p{margin:0 0 var(--space-6);opacity:.8;font-size:15px;line-height:1.55}.path-btns{gap:var(--space-2);flex-wrap:wrap;display:flex}.jh-btn--inverse{background:var(--bg);color:var(--ink)}.jh-btn--inverse:hover{transform:translateY(-1px)}.jh-btn--line{color:var(--bg);border-color:var(--ink-muted);background:0 0}.jh-btn--line:hover{border-color:var(--bg)}.mailrow{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.mail{font:500 clamp(18px, 2.4vw, 28px)/1.2 var(--font-display);color:var(--bg);border-bottom:3px solid var(--accent);word-break:break-all;padding-bottom:4px;text-decoration:none}.copy{font:500 13px/1 var(--font-mono);border-radius:var(--radius-pill);border:1px solid var(--ink-muted);color:var(--bg);cursor:pointer;background:0 0;padding:12px 16px}.copy:hover{background:var(--bg);color:var(--ink)}.clinks{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.clinks a{font:500 14px/1 var(--font-mono);color:var(--bg);border-radius:var(--radius-pill);border:1px solid var(--ink-muted);padding:12px 16px;text-decoration:none}.clinks a:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.foot{justify-content:space-between;gap:var(--space-3);padding:var(--space-8) 0;font:400 12px/1.4 var(--font-mono);color:var(--ink-muted);flex-wrap:wrap;display:flex}.console{z-index:90;opacity:0;pointer-events:none;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(760px,100vw - 24px);transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .2s;position:fixed;bottom:20px;left:50%;overflow:hidden;transform:translate(-50%,calc(100% + 40px));box-shadow:0 24px 64px #00000059}.console.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.console-bar{gap:var(--space-3)}.console-chips{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.console-chips button,.console-x{font:500 12px/1 var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink-muted);cursor:pointer;padding:6px 10px}.console-chips button:hover,.console-x:hover{color:var(--ink);border-color:var(--ink-muted)}.console-body{height:min(340px,50vh);padding:var(--space-4) var(--space-6);font:400 13.5px/22px var(--font-mono);overflow-y:auto}.console-body .ln{white-space:pre-wrap;word-break:break-word}.term-in{align-items:center;gap:8px;display:flex}.term-in input{min-width:0;color:var(--ink);font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1}.toast{opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);font:500 13px/1 var(--font-mono);border-radius:var(--radius-pill);z-index:95;padding:12px 18px;transition:all .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.totop{z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;position:fixed;bottom:20px;right:20px}.totop.show{opacity:1;pointer-events:auto}.rv{opacity:0;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.rv.in{opacity:1;transform:none}@keyframes pop{0%{opacity:0;transform:translateY(8px)}}@media (max-width:1000px){.hero,.log-grid{grid-template-columns:1fr}.board-head{display:none}.brow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"proj go""host host""sec at";row-gap:6px}.brow .proj{grid-area:proj}.brow .host{grid-area:host}.brow .sec{grid-area:sec}.brow .at{text-align:right;grid-area:at;justify-self:end}.brow .go{grid-area:go;place-self:start end}.inc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.runbook li{grid-template-columns:1fr;gap:2px}.runbook .x{display:none}}@media (max-width:760px){.nav-links,.cv-btn{display:none!important}.menu-btn{display:grid}.drawer{z-index:45;background:var(--bg);border-bottom:1px solid var(--line);padding:var(--space-4) clamp(16px, 4vw, 32px) var(--space-6);opacity:0;pointer-events:none;transition:all .2s;display:block;position:fixed;inset:64px 0 auto;transform:translateY(-8px)}.drawer.open{opacity:1;pointer-events:auto;transform:none}.drawer a:not(.jh-btn){border-bottom:1px solid var(--line);font:600 22px/1.2 var(--font-display);color:var(--ink);padding:14px 0;text-decoration:none;display:block}.drawer a span{font:500 12px var(--font-mono);color:var(--accent-text);margin-right:10px}.drawer .jh-btn{margin-top:var(--space-4);justify-content:center;width:100%}.units,.paths,.inc-foot{grid-template-columns:1fr}.entry{grid-template-columns:1fr;gap:4px}.console-hint,.board-top .right{display:none}}@media (max-width:520px){.inc-steps{grid-template-columns:1fr}.ctas .jh-btn{flex:100%;justify-content:center}.console-chips{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.rv{opacity:1;transform:none}}.jh-logo{gap:10px}.jh-logo .mark{flex:none;width:32px;height:32px;transition:transform .25s cubic-bezier(.2,.7,.2,1)}.jh-logo:hover .mark{transform:rotate(-6deg)scale(1.04)}.jh-logo .mark .tile{fill:var(--ink)}.jh-logo .mark .glyph{fill:var(--bg)}.jh-logo .mark .stroke{stroke:var(--bg)}.jh-logo .mark .cur{fill:var(--accent);animation:1.1s step-end infinite blink}.jh-logo .word{font:700 18px/1 var(--font-display);letter-spacing:-.01em}.jh-logo .word span{color:var(--ink-muted);font-weight:500}@media (max-width:420px){.jh-logo .word span{display:none}}@media (prefers-reduced-motion:reduce){.jh-logo .mark .cur{animation:none}}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:8px}.foot-brand{align-items:center;gap:10px;display:inline-flex}.foot-mark{width:20px;height:20px}.foot-mark .tile{fill:var(--ink)}.foot-mark .glyph{fill:var(--bg)}.foot-mark .stroke{stroke:var(--bg)}.foot-mark .cur{fill:var(--accent)}.pipe{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.pipe-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--line);background:var(--surface-sunken);font:500 13px/1.4 var(--font-mono);flex-wrap:wrap;display:flex}.pipe-title{margin-right:auto}.pipe-badge{border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--ink-muted);padding:4px 10px}.pipe-badge.running{color:var(--accent-text);border-color:var(--accent)}.pipe-badge.done{color:var(--signal);background:var(--signal-soft);border-color:#0000}.pipe-run{font:500 13px/1 var(--font-mono)!important;padding:8px 16px!important}.pipe-run:disabled{opacity:.55;cursor:progress;transform:none}.stages{padding:var(--space-6);counter-reset:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;list-style:none;display:grid}.stage{position:relative}.stage:not(:last-child):after{content:"";background:var(--line);height:2px;transition:background .3s;position:absolute;top:26px;left:calc(50% + 22px);right:calc(22px - 50%)}.stage.ok:not(:last-child):after{background:var(--signal)}.stage button{cursor:pointer;width:100%;color:inherit;border-radius:var(--radius-md);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:4px;display:flex}.stage button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.st-ico{border:2px solid var(--line);background:var(--bg);width:44px;height:44px;font:600 14px/1 var(--font-mono);color:var(--ink-muted);border-radius:50%;place-items:center;transition:all .25s;display:grid}.stage.sel .st-ico{border-color:var(--ink-muted);color:var(--ink)}.stage.ok .st-ico{background:var(--signal);border-color:var(--signal);color:var(--bg)}.stage.run .st-ico{border-color:var(--accent);border-top-color:#0000;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.st-label{font:600 14px/1.2 var(--font-display)}.st-tool{font:400 11px/1.3 var(--font-mono);color:var(--ink-muted);text-align:center}.stage.sel .st-label{color:var(--accent-text)}.pipe-split{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);display:grid}.pipe-detail{padding:var(--space-6);border-right:1px solid var(--line)}.pipe-detail h3{font:700 24px/1.2 var(--font-display);margin:0 0 var(--space-4);letter-spacing:-.01em}.pipe-detail h3 .m{font:400 14px var(--font-mono)}.pipe-detail pre{padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);font:400 13px/1.7 var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0}.pipe-log{height:230px;padding:var(--space-4) var(--space-6);font:400 12.5px/1.65 var(--font-mono);background:var(--surface-sunken);white-space:pre-wrap;overflow-y:auto}@media (max-width:1000px){.stages{row-gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}.stage:nth-child(3n):after{display:none}.pipe-split{grid-template-columns:1fr}.pipe-detail{border-right:0;border-bottom:1px solid var(--line)}}@media (max-width:520px){.stages{padding:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.st-ico{width:38px;height:38px}.stage:not(:last-child):after{top:23px;left:calc(50% + 19px);right:calc(19px - 50%)}.pipe-title{width:100%}}.rs-head{margin:var(--space-8) 0 var(--space-4);max-width:720px}.rs-head h3{font:700 26px/1.2 var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-2)}.rs-head p{color:var(--ink-muted);margin:0}.rsim{--bad:#d64545;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}[data-theme=dark] .rsim{--bad:#ff6b6b}.rs-toggle{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg);padding:3px;display:inline-flex}.rs-toggle button{color:var(--ink-muted);font:500 12.5px/1 var(--font-mono);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;padding:7px 12px;transition:background .2s,color .2s}.rs-toggle button.on{background:var(--signal-soft);color:var(--signal)}.rs-toggle button.on.bad{background:color-mix(in srgb, var(--bad) 16%, transparent);color:var(--bad)}.rs-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pipe-badge.rs-running{color:var(--accent-text);border-color:var(--accent)}.pipe-badge.rs-live{color:var(--signal);background:var(--signal-soft);border-color:#0000}.pipe-badge.rs-rolledback{color:var(--bad);border-color:var(--bad)}.rs-steps{padding:var(--space-6);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;list-style:none;display:grid}.rs-step{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.rs-step:not(:last-child):after{content:"";background:var(--line);height:2px;transition:background .3s;position:absolute;top:14px;left:calc(50% + 18px);right:calc(18px - 50%)}.rs-step.ok:not(:last-child):after{background:var(--signal)}.rs-step.fail:not(:last-child):after{background:var(--bad)}.rs-dot{border:2px solid var(--line);background:var(--bg);width:30px;height:30px;font:600 13px/1 var(--font-mono);color:var(--bg);border-radius:50%;place-items:center;transition:all .25s;display:grid}.rs-step.run .rs-dot{border-color:var(--accent);border-top-color:#0000;animation:.8s linear infinite spin}.rs-step.ok .rs-dot{background:var(--signal);border-color:var(--signal)}.rs-step.fail .rs-dot{background:var(--bad);border-color:var(--bad)}.rs-step.rb .rs-dot{background:var(--accent);border-color:var(--accent);font-size:15px}.rs-step.rb b{color:var(--accent-text)}.rs-step b{font:600 13.5px/1.2 var(--font-display);margin-top:4px}.rs-step.fail b{color:var(--bad)}.rs-step small{font:400 11px/1.3 var(--font-mono);color:var(--ink-muted)}.rs-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.05fr);display:grid}.rs-grid>*{padding:var(--space-6);min-width:0}.rs-fs,.rs-fleet{border-right:1px solid var(--line);font:400 12.5px/1.6 var(--font-mono)}.rs-h{color:var(--ink-muted);margin-bottom:var(--space-3)}.rs-cap{margin:var(--space-4) 0 0;font:400 12.5px/1.5 var(--font-sans);color:var(--ink-muted)}.rs-link{border:1px dashed var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;animation:.6s rs-flip;display:flex}.rs-link .k{color:var(--accent-text);font-weight:500}.rs-link .arr{color:var(--accent)}.rs-link.new{border-color:var(--signal);background:var(--signal-soft)}.rs-link.new .k,.rs-link.new .arr{color:var(--signal)}@keyframes rs-flip{0%{opacity:.3;transform:translate(-6px)scale(.98)}60%{opacity:1;transform:translate(3px)}to{transform:none}}.rs-dir{margin-top:var(--space-3);font-weight:500}.rs-dir .m{color:var(--ink-muted);font-weight:400}.rs-dir.shared{border-radius:var(--radius-sm);margin-left:-8px;padding:4px 8px;transition:background .3s}.rs-dir.shared.pulse{background:var(--signal-soft);animation:.9s ease-in-out infinite rs-pulse}@keyframes rs-pulse{50%{box-shadow:0 0 0 3px var(--signal-soft)}}.rs-rels{border-left:1px solid var(--line);margin:4px 0 0;padding:0 0 0 14px;list-style:none}.rs-rels li{border-radius:var(--radius-sm);justify-content:space-between;gap:8px;padding:2px 8px;transition:background .3s,opacity .3s;animation:.4s rs-in;display:flex}.rs-rels .t{color:var(--ink-muted)}.rs-rels li.live{background:var(--signal-soft)}.rs-rels li.live .t{color:var(--signal)}.rs-rels li.building .t{color:var(--accent-text)}.rs-rels li.building .id:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;margin-left:6px;animation:1s step-end infinite blink;display:inline-block}.rs-rels li.failed{background:color-mix(in srgb, var(--bad) 12%, transparent)}.rs-rels li.failed .id{text-decoration:line-through}.rs-rels li.failed .t{color:var(--bad)}.rs-rels li.pruned{opacity:.35}.rs-rels li.pruned .id{text-decoration:line-through}@keyframes rs-in{0%{opacity:0;transform:translateY(-6px)}}.rs-lb{text-align:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);padding:8px}.rs-nodes{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rs-node{--c:var(--signal);flex-direction:column;align-items:center;display:flex}.rs-node.switch,.rs-node.check{--c:var(--accent)}.rs-node.down{--c:var(--bad)}.rs-node .wire{background:var(--line);width:2px;height:46px;position:relative;overflow:hidden}.rs-node .wire i{background:var(--c);border-radius:50%;width:6px;height:6px;animation:1.2s linear infinite rs-pkt;position:absolute;top:-8px;left:-2px}.rs-node .wire i:nth-child(2){animation-delay:.4s}.rs-node .wire i:nth-child(3){animation-delay:.8s}.rs-node.switch .wire i{opacity:.3;animation-play-state:paused}@keyframes rs-pkt{to{top:48px}}.rs-node .box{border:1px solid var(--line);border-top:3px solid var(--c);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 6px;transition:border-color .3s,box-shadow .3s;display:flex}.rs-node.down .box{box-shadow:0 0 0 3px color-mix(in srgb, var(--bad) 22%, transparent);animation:.4s 2 rs-shake}@keyframes rs-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.rs-node .nm{color:var(--ink);align-items:center;gap:6px;font-weight:500;display:inline-flex}.rs-node .hd{background:var(--c);border-radius:50%;width:7px;height:7px}.rs-node .rl{color:var(--ink-muted);font-size:11.5px}.rs-node .st{color:var(--c);font-size:11px}.rs-log{height:auto;min-height:260px;max-height:330px}.pipe-log .err{color:var(--bad)}.pipe-log .warn{color:var(--accent-text)}.rs-foot{align-items:center;gap:var(--space-3) var(--space-6);padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);background:var(--surface-sunken);flex-wrap:wrap;display:flex}.rs-note{font:500 13px/1.5 var(--font-mono);border-radius:var(--radius-md);border-left:3px solid var(--line);background:var(--bg);color:var(--ink-muted);flex:360px;padding:8px 12px;animation:.4s rs-in}.rs-note.ok{border-left-color:var(--signal);color:var(--signal)}.rs-note.bad{border-left-color:var(--bad);color:var(--bad)}.rs-warn{font:400 12.5px/1.5 var(--font-sans);color:var(--ink-muted);flex:280px;margin:0}.rs-warn b{color:var(--ink);font-weight:600}@media (max-width:1100px){.rs-grid{grid-template-columns:1fr 1fr}.rs-log{border-top:1px solid var(--line);grid-column:1/-1}.rs-fleet{border-right:0}}@media (max-width:760px){.rs-steps{row-gap:var(--space-6);padding:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr))}.rs-step:nth-child(4n):after{display:none}.rs-grid{grid-template-columns:1fr}.rs-fs{border-right:0;border-bottom:1px solid var(--line)}.rs-grid>*{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.rs-node .wire i,.rs-link,.rs-rels li,.rs-dir.shared.pulse,.rs-node.down .box,.rs-note{animation:none}}.hero-bg{-webkit-mask-image:radial-gradient(700px circle at var(--mx,75%) var(--my,40%), #000 0%, #00000059 55%, transparent 85%);-webkit-mask-image:radial-gradient(700px circle at var(--mx,75%) var(--my,40%), #000 0%, #00000059 55%, transparent 85%);mask-image:radial-gradient(700px circle at var(--mx,75%) var(--my,40%), #000 0%, #00000059 55%, transparent 85%);background-image:none}.packets{width:100%;height:100%;display:block;position:absolute;inset:0}.hero h1 .line{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.hero h1 .w{animation:.9s cubic-bezier(.2,.8,.2,1) forwards rise;animation-delay:calc(var(--d,0s) + .15s);transform:translateY(105%)}@keyframes rise{to{transform:none}}[aria-label]>[aria-hidden=true]{font-variant-ligatures:none}[data-magnetic]{will-change:transform;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .15s,color .15s,border-color .15s}.sys{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:relative}.sys:after{content:"";pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(400px circle at var(--gx,50%) var(--gy,50%), #ffffff0f, transparent 60%);transition:opacity .3s;position:absolute;inset:0}.sys:hover:after{opacity:1}.sys-row{transition:background .15s,transform .2s}.sys-row:hover{transform:translate(4px)}.dot.ok,.sys-row .ok{position:relative}.dot.ok:after{content:"";border:1px solid var(--signal);animation:2.2s cubic-bezier(0,0,.2,1) infinite ping;animation-delay:calc(var(--i,0) * .25s);border-radius:50%;position:absolute;inset:-1px}@keyframes ping{0%{opacity:.9;transform:scale(1)}80%,to{opacity:0;transform:scale(3.2)}}[data-stagger]>*{animation:.55s cubic-bezier(.2,.7,.2,1) both stag;animation-delay:calc(var(--i,0) * 70ms)}.rv:not(.in)[data-stagger]>*,.rv:not(.in) [data-stagger]>*{animation-play-state:paused}@keyframes stag{0%{opacity:0;transform:translateY(10px)}}.runbook li{animation-name:typein}@keyframes typein{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.inc-steps li{overflow:hidden}.inc-steps li:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;animation:.6s cubic-bezier(.2,.7,.2,1) forwards draw;animation-delay:calc(var(--i,0) * .14s + .2s);position:absolute;bottom:0;left:0;transform:scaleX(0)}@keyframes draw{to{transform:scaleX(1)}}.unit:before{content:"";background:var(--accent);transform-origin:0;border-radius:2px;height:2px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;top:-1px;left:24px;right:24px;transform:scaleX(0)}.unit:hover:before,.unit.open:before{transform:scaleX(1)}.unit:hover{transform:translateY(-3px)}.unit{transition:border-color .2s,box-shadow .25s,transform .3s cubic-bezier(.2,.7,.2,1)}a.brow{position:relative;overflow:hidden}a.brow:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);opacity:.6;pointer-events:none;position:absolute;inset:0;transform:translate(-100%)}a.brow:hover:before{animation:.8s ease-out scan}@keyframes scan{to{transform:translate(100%)}}.sec-head .jh-eyebrow{align-items:center;gap:10px;display:inline-flex}.sec-head .jh-eyebrow:after{content:"";background:var(--accent);transform-origin:0;width:48px;height:1px;transition:transform .8s cubic-bezier(.2,.7,.2,1) .2s;display:block;transform:scaleX(0)}.sec-head.in .jh-eyebrow:after{transform:scaleX(1)}.cbox .orb{animation:14s ease-in-out infinite alternate drift}.cbox .orb.s{animation-duration:9s;animation-direction:alternate-reverse}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-24px,18px)scale(1.05)}}.jh-logo:hover .mark .cur{animation:.5s cubic-bezier(.2,.8,.2,1) hop}@keyframes hop{40%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.hero h1 .w{transform:none}.inc-steps li:after,.sec-head .jh-eyebrow:after{transform:scaleX(1)}}.case{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.case-top{gap:var(--space-8);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding:clamp(24px,4vw,40px);display:grid}.case-intro p{margin:var(--space-4) 0 var(--space-6);max-width:60ch;font-size:17px;line-height:1.6}.case-stats{gap:var(--space-3);align-content:center;display:grid}.case-stats div{align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);display:flex}.case-stats b{font:700 clamp(28px, 3vw, 40px)/1 var(--font-display);letter-spacing:-.02em;min-width:4.6ch}.case-stats span{font:500 12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.arch{background:var(--surface-sunken);border-bottom:1px solid var(--line);background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:20px 20px;grid-template-columns:1fr 56px 1fr 56px 1fr .9fr;align-items:center;gap:0;padding:clamp(24px,4vw,40px);display:grid}.arch-col,.arch-side{gap:var(--space-2);display:grid}.arch-side{margin-left:var(--space-6);padding-left:var(--space-6);border-left:1px dashed var(--ink-muted)}.arch-k{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin-bottom:4px}.arch-box{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:10px 14px;transition:border-color .2s,transform .2s}.arch-box:hover{border-color:var(--accent);transform:translateY(-2px)}.arch-box b{font:600 15px/1.3 var(--font-display);display:block}.arch-box small{font:400 11.5px/1.4 var(--font-mono);color:var(--ink-muted);margin-top:2px;display:block}.arch-box.hub{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.arch-box.env{align-items:center;gap:2px;display:flex}.arch-box.env b{font-family:var(--font-mono);font-size:14px;display:inline}.arch-flow{align-content:center;gap:22px;height:100%;min-height:120px;padding:0 8px;display:grid;position:relative}.arch-flow i{background:var(--line);border-radius:2px;height:2px;display:block;position:relative;overflow:hidden}.arch-flow i:after{content:"";background:var(--accent);border-radius:2px;width:30%;height:100%;animation:1.8s linear infinite flow;position:absolute;top:0;left:-30%}.arch-flow i:nth-child(2):after{animation-delay:.6s}.arch-flow i:nth-child(3):after{animation-delay:1.2s}@keyframes flow{to{left:100%}}.case-grid{gap:var(--space-8);grid-template-columns:1fr 1fr;padding:clamp(24px,4vw,40px);display:grid}.case-list{gap:var(--space-3);margin:0;padding:0;font-size:15px;line-height:1.55;list-style:none;display:grid}.case-list li{color:var(--ink-muted);padding-left:22px;position:relative}.case-list li b{color:var(--ink);font-family:var(--font-mono);font-weight:500}.case-list li:before{content:"→";font-family:var(--font-mono);color:var(--accent-text);position:absolute;left:0}.case-list.ops li:before{content:"✓";color:var(--signal)}@media (max-width:1000px){.case-top,.case-grid{grid-template-columns:1fr}.arch{gap:var(--space-2);grid-template-columns:1fr}.arch-flow{grid-auto-flow:column;place-content:stretch center;gap:18px;height:36px;min-height:0}.arch-flow i{width:2px;height:100%}.arch-flow i:after{width:100%;height:30%;animation-name:flowv;top:-30%;left:0}@keyframes flowv{to{top:100%}}.arch-side{margin:var(--space-4) 0 0;padding:var(--space-4) 0 0;border-left:0;border-top:1px dashed var(--ink-muted);grid-template-columns:1fr 1fr}}.tabs-switch{gap:var(--space-2);flex-wrap:wrap;display:flex}.sub-chips{margin-bottom:var(--space-4)}.fleet-groups{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fleet-group{padding:var(--space-6);background:var(--surface);box-shadow:inset -1px -1px 0 var(--line)}.fleet-group.tall{grid-row:span 2}.fleet-group:only-child{grid-column:1/-1}.fleet-head{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.fleet-head .pkg-k{margin:0}.fleet-head .m{font-size:13px}.fleet-n{font:600 12px/1 var(--font-mono);color:var(--ink-muted);border:1px solid var(--line);border-radius:var(--radius-pill);margin-left:auto;padding:4px 8px}.fleet-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.fleet-list a{border-radius:var(--radius-sm);font:400 13.5px/1.4 var(--font-mono);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;margin:0 -10px;padding:8px 10px;text-decoration:none;transition:background .15s,padding .2s;display:flex;overflow:hidden}.fleet-list a:hover{background:var(--surface-sunken);padding-left:16px}.fleet-list .go{color:var(--ink-muted);opacity:0;margin-left:auto;transition:opacity .15s,transform .2s}.fleet-list a:hover .go{opacity:1;color:var(--accent-text);transform:translate(2px,-2px)}@media (max-width:760px){.fleet-groups{grid-template-columns:1fr}.fleet-group.tall{grid-row:auto}}.cform{margin:0 0 var(--space-8);border:1px solid var(--ink-muted);border-radius:var(--radius-lg);background:#7f7f7f0f;scroll-margin-top:96px;overflow:hidden}.cform-bar{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--ink-muted);font:500 13px/1.4 var(--font-mono);color:var(--line);padding:12px 20px;display:flex}.cform-bar .m{color:var(--line);opacity:.8}.cform-body{gap:var(--space-4);padding:var(--space-6);display:grid}.cform-topics{gap:var(--space-2);flex-wrap:wrap;display:flex}.ctopic{font:500 13px/1 var(--font-mono);border-radius:var(--radius-pill);border:1px solid var(--ink-muted);color:var(--bg);cursor:pointer;opacity:.75;background:0 0;padding:10px 14px;transition:all .15s}.ctopic:hover{opacity:1}.ctopic.on{background:var(--bg);color:var(--ink);border-color:var(--bg);opacity:1}.cform-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.cform label{gap:6px;display:grid}.cform label>span{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--line)}.cform input,.cform textarea{width:100%;font:400 15px/1.5 var(--font-sans);color:var(--bg);border:0;border-bottom:1px solid var(--ink-muted);resize:vertical;background:0 0;outline:none;padding:8px 2px;transition:border-color .2s}.cform textarea{border:1px solid var(--ink-muted);border-radius:var(--radius-md);min-height:120px;padding:12px 14px}.cform input::placeholder,.cform textarea::placeholder{color:var(--bg);opacity:.4}.cform input:focus,.cform textarea:focus{border-color:var(--accent)}.cform .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cform-foot{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.cform-foot .jh-btn:disabled{opacity:.6;cursor:progress}.cform-err{font:500 13px/1.4 var(--font-mono);color:var(--bg);border-bottom:2px solid var(--accent);padding-bottom:2px}.cform-done{padding:var(--space-8) var(--space-6)}.cform-done b{font:700 24px/1.2 var(--font-display);color:var(--bg)}.cform-done p{margin:var(--space-2) 0 var(--space-4);opacity:.8}.cform.sent .ok{color:var(--signal)}@media (max-width:760px){.cform-row{grid-template-columns:1fr}}.arch-projects{flex-wrap:wrap;gap:6px;display:flex}.arch-chip{font:500 12.5px/1 var(--font-mono);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:8px 10px;transition:border-color .2s,transform .2s}.arch-chip:hover{border-color:var(--accent);transform:translateY(-1px)}.arch-chip.big{border-color:var(--accent);color:var(--accent-text)}.pif{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);align-self:start}.pif h3{font:700 24px/1.2 var(--font-display);margin:0 0 var(--space-3);letter-spacing:-.01em}.pif h3 .m{font:400 13px var(--font-mono)}.pif>p{margin:0 0 var(--space-4);color:var(--ink-muted);font-size:15px;line-height:1.6}.pif-stats{gap:var(--space-6);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.pif-stats b{font:700 28px/1 var(--font-display);letter-spacing:-.02em;display:block}.pif-stats span{font:500 11px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.pif .case-list{margin-bottom:var(--space-6);font-size:14px}.search-btn{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink-muted);cursor:pointer;font:500 13px/1 var(--font-mono);align-items:center;gap:8px;padding:0 10px 0 12px;transition:border-color .15s,color .15s;display:inline-flex}.search-btn:hover{color:var(--ink);border-color:var(--ink-muted)}.search-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-btn kbd{padding:2px 6px;font-size:11px}@media (max-width:1400px){.search-btn .sb-text{display:none}}.jh-logo .word,.cv-btn{white-space:nowrap}@media (max-width:1200px){.nav-links a{padding:6px 10px}.jh-logo .word span{display:none}}@media (max-width:760px){.search-btn kbd{display:none}.search-btn{justify-content:center;width:40px;padding:0}}.pal-wrap{z-index:120;-webkit-backdrop-filter:blur(4px);background:#00000073;place-items:start center;padding:min(14vh,120px) 12px 12px;animation:.15s ease-out fadein;display:grid;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.pal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;width:min(640px,100%);max-height:min(70vh,560px);animation:.2s cubic-bezier(.2,.7,.2,1) pop;display:flex;overflow:hidden;box-shadow:0 30px 80px #0006}.pal-in{border-bottom:1px solid var(--line);color:var(--ink-muted);align-items:center;gap:10px;padding:14px 16px;font-size:18px;display:flex}.pal-in input{min-width:0;color:var(--ink);font:400 16px/1.4 var(--font-sans);background:0 0;border:0;outline:0;flex:1}.pal-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.pal-group{font:500 11px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);padding:10px 10px 4px}.pal-item{border-radius:var(--radius-md);width:100%;color:var(--ink);text-align:left;cursor:pointer;font:400 15px/1.3 var(--font-sans);background:0 0;border:0;align-items:center;gap:10px;padding:10px;display:flex}.pal-item.on{background:var(--surface-sunken);box-shadow:inset 2px 0 0 var(--accent)}.pal-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pal-hint{font:400 12px/1 var(--font-mono);color:var(--ink-muted);white-space:nowrap;text-overflow:ellipsis;max-width:45%;overflow:hidden}.pal-item kbd{font-size:11px}.pal-empty{color:var(--ink-muted);text-align:center;padding:24px 12px;font-size:14px}.pal-foot{border-top:1px solid var(--line);background:var(--surface-sunken);font:400 12px/1.6 var(--font-mono);color:var(--ink-muted);flex-wrap:wrap;gap:16px;padding:10px 16px;display:flex}.pal-foot kbd{margin-right:2px;padding:0 5px;font-size:10px}@media (max-width:760px){.pal-foot{display:none}.pal-wrap{padding-top:12px}}.rail{z-index:40;gap:14px;display:grid;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.rail a{justify-content:flex-end;align-items:center;gap:10px;text-decoration:none;display:flex;position:relative}.rail i{border:1.5px solid var(--ink-muted);background:var(--bg);border-radius:50%;width:8px;height:8px;transition:all .2s;display:block}.rail a:hover i{border-color:var(--ink);transform:scale(1.3)}.rail a.on i{background:var(--accent);border-color:var(--accent);transform:scale(1.35)}.rail-label{white-space:nowrap;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);font:500 12px/1 var(--font-mono);color:var(--ink);opacity:0;pointer-events:none;align-items:center;gap:6px;padding:5px 9px;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;right:22px;transform:translate(6px)}.rail-label kbd{padding:0 4px;font-size:10px}.rail a:hover .rail-label,.rail a:focus-visible .rail-label{opacity:1;transform:none}.rail a:focus-visible i{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:1280px){.rail{display:none}}.dock{display:none}@media (max-width:760px){.totop{display:none}.dock{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-radius:18px;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;transition:transform .3s cubic-bezier(.2,.7,.2,1);display:grid;position:fixed;transform:translateY(140%);box-shadow:0 12px 40px #00000040}.dock.show{transform:none}.dock button,.dock a{color:var(--ink);font:500 11px/1 var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:2px;padding:8px 4px;text-decoration:none;display:grid}.dock button:active,.dock a:active{background:var(--surface-sunken)}.dock span{color:var(--accent-text);font-size:18px;line-height:1}.foot{padding-bottom:96px}}.fleet-search{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-muted);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.fleet-search:focus-within{border-color:var(--accent)}.fleet-search input{width:150px;color:var(--ink);font:400 13px/1.4 var(--font-mono);background:0 0;border:0;outline:0}.fleet-empty{padding:var(--space-6);color:var(--ink-muted);font:400 14px/1.4 var(--font-mono);margin:0}@media (max-width:760px){.board-top .fleet-search.right{width:100%;display:inline-flex}.fleet-search input{width:100%}}.hero h1 .line{white-space:nowrap}.hero h1{font-size:clamp(36px,6.4vw,84px)}
