:root{--bg: #0b0e14;--panel: #10141c;--line: #1e2430;--line-b: #2c3546;--text: #d5dced;--dim: #8b96b0;--faint: #4e5870;--green: #3ddc97;--cyan: #4cc9f0;--amber: #ffb454;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}.faint{color:var(--faint)}.dim{color:var(--dim)}.green{color:var(--green)}.cyan{color:var(--cyan)}.sep{color:var(--line-b)}.wrap{max-width:1080px;margin:0 auto;padding:1.2rem 1.4rem 2rem;display:flex;flex-direction:column;gap:1rem;min-height:calc(100vh + -0px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.pad{padding:1.2rem 1.4rem}.statusbar{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;font-family:var(--mono);font-size:.72rem}.statusbar .ok{color:var(--green)}.statusbar .right{margin-left:auto;display:flex;align-items:center;gap:1rem}.statusbar .right a{color:var(--dim)}.statusbar .right a:hover,.statusbar a.active{color:var(--cyan)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;flex:none}.dot--pulse{animation:pls 2.4s infinite}@keyframes pls{0%{box-shadow:0 0 #3ddc9773}70%,to{box-shadow:0 0 0 7px transparent}}.sec-head{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin:.5rem 0 .9rem}.p-head{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:.9rem}.p-head .right{margin-left:auto;display:flex;align-items:center;gap:6px;letter-spacing:.08em}.tag{font-size:.56rem;color:var(--amber);border:1px solid rgba(255,180,84,.4);border-radius:4px;padding:0 5px;letter-spacing:.12em}.hero{display:grid;grid-template-columns:3fr 2fr;gap:1rem}.eyebrow{font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);margin-bottom:.7rem}h1{font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:700;letter-spacing:-.01em}.role{font-family:var(--mono);font-size:.8rem;color:var(--green);margin-top:.5rem}.bio{color:var(--dim);max-width:480px;margin-top:.7rem;font-size:.92rem}.chips{margin-top:1rem;display:flex;flex-wrap:wrap;gap:6px}.chips span{font-family:var(--mono);font-size:.66rem;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:2px 10px}.stats-panel{display:flex;flex-direction:column}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.stat{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;display:block;transition:border-color .15s}a.stat:hover{border-color:var(--cyan)}.stat b{font-size:1.5rem;font-weight:600;color:var(--cyan);display:block}.stat i{font-style:normal;font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;color:var(--faint);text-transform:uppercase}.xp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}.xp__dates{font-family:var(--mono);font-size:.66rem;color:var(--faint)}.xp__co{font-weight:700;font-size:1.05rem;margin-top:4px}.xp__role{font-family:var(--mono);font-size:.72rem;color:var(--green);margin-top:2px}.xp__note{color:var(--dim);font-size:.84rem;line-height:1.6;margin-top:8px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}.svc{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .15s}.svc:hover{border-color:var(--line-b)}.svc__top{display:flex;align-items:center;gap:10px}.svc__logo{width:36px;height:36px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--cyan);background:#4cc9f012;border:1px solid var(--line)}.svc__logo.has-img{background:#fff;padding:5px}.svc__logo img{width:100%;height:100%;object-fit:contain}.svc__id{min-width:0}.svc__name{display:block;font-weight:600;font-size:.95rem}.svc__meta{font-family:var(--mono);font-size:.62rem;color:var(--faint)}.svc__status{margin-left:auto;display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.6rem;color:var(--green)}.svc__desc{color:var(--dim);font-size:.82rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.svc__desc--full{display:block;-webkit-line-clamp:unset;overflow:visible}.svc__stack{display:flex;flex-wrap:wrap;gap:5px}.svc__stack span{font-family:var(--mono);font-size:.6rem;color:var(--cyan);background:#4cc9f012;border-radius:5px;padding:1px 7px}.svc__links{display:flex;gap:12px;font-family:var(--mono);font-size:.64rem;color:var(--faint);margin-top:auto}.svc:hover .svc__links span{color:var(--cyan)}.lower{display:grid;grid-template-columns:3fr 2fr;gap:1rem;align-items:start}.log{font-family:var(--mono);font-size:.72rem;line-height:1.9;height:280px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log .t{color:var(--faint);margin-right:8px}.log .k{margin-right:6px}.log .k--deploy{color:var(--green)}.log .k--infra{color:var(--cyan)}.log .k--agent{color:var(--dim)}.log .k--warn{color:var(--amber)}.log .m{color:var(--dim)}.sidecol{display:flex;flex-direction:column;gap:1rem}.doc{display:block;padding:.55rem 0;border-bottom:1px dashed var(--line)}.doc:last-of-type{border-bottom:none;padding-bottom:0}.doc__date{font-family:var(--mono);font-size:.62rem;color:var(--faint);display:block}.doc__title{font-weight:600;font-size:.86rem}.doc:hover .doc__title{color:var(--cyan)}.doc__desc{color:var(--dim);font-size:.8rem;margin-top:2px}.post-body{font-size:1rem;line-height:1.8;color:var(--text)}.post-body h2{font-family:var(--mono);color:var(--green);margin-top:2.2rem;font-size:1.15rem}.post-body h3{font-family:var(--mono);margin-top:1.7rem;font-size:1rem}.post-body p{margin:1rem 0}.post-body li{margin:.35rem 0}.post-body a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}.post-body code{font-family:var(--mono);font-size:.85em;background:#4cc9f012;border-radius:4px;padding:1px 5px}.post-body pre{background:#0d1119;border:1px solid var(--line);border-radius:8px;padding:1rem;overflow-x:auto;font-size:.8rem}.post-body pre code{background:none;padding:0}.post-body blockquote{border-left:2px solid var(--green);padding-left:1rem;color:var(--dim);margin:1rem 0}.post-body img{border-radius:8px;border:1px solid var(--line)}.btn{font-family:var(--mono);font-size:.72rem;color:var(--cyan);border:1px solid var(--line-b);border-radius:6px;padding:4px 12px;display:inline-block}.btn:hover{background:#4cc9f01f}@media (max-width: 860px){.hero,.lower,.xp-grid{grid-template-columns:1fr}.statusbar{flex-wrap:wrap}.statusbar .right{width:100%;margin-left:0}}@media (prefers-reduced-motion: reduce){.dot--pulse{animation:none}}
