@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap";:root{--bg: #0a0a0a;--bg-terminal: #111111;--green: #00ff41;--green-dim: #00cc33;--amber: #ffb000;--cyan: #00d4ff;--red: #ff5f56;--yellow: #ffbd2e;--green-dot: #27c93f;--text: #d4d4d4;--text-dim: #888888;--border: #333333;--titlebar: #1a1a1a;--del: #ff6b6b;--font: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:.9rem;line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}::selection{background:var(--green);color:var(--bg)}a{color:var(--cyan);text-decoration:none;transition:color .2s}a:hover{color:var(--green)}.terminal{max-width:900px;margin:2rem auto;padding:0;border:1px solid var(--border);border-radius:8px;overflow:clip;background:var(--bg-terminal)}.terminal__titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--titlebar);border-bottom:1px solid var(--border)}.terminal__dot{width:12px;height:12px;border-radius:50%}.terminal__dot--red{background:var(--red)}.terminal__dot--yellow{background:var(--yellow)}.terminal__dot--green{background:var(--green-dot)}.terminal__title{flex:1;text-align:center;color:var(--text-dim);font-size:.8rem}.terminal__body{padding:1.5rem}.prompt{margin-bottom:1rem}.prompt__line{color:var(--text-dim);margin-bottom:.25rem}.prompt__user{color:var(--green);font-weight:700}.prompt__path{color:var(--cyan)}.prompt__symbol{color:var(--text)}.prompt__cmd{color:var(--amber)}.output{padding-left:0;margin-bottom:2.5rem}.output__text{color:var(--text);margin-bottom:.5rem}.output__highlight{color:var(--green);font-weight:700}.output__dim{color:var(--text-dim)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:.5rem}.skills-dir{margin-bottom:.5rem}.skills-dir__name{color:var(--cyan);font-weight:700;margin-bottom:.25rem}.skills-dir__items{list-style:none;padding-left:1rem}.skills-dir__item{color:var(--text);position:relative}.skills-dir__item:before{content:"";position:absolute;left:-1rem;top:50%;width:.5rem;height:1px;background:var(--border)}.experience-entry{margin-bottom:2rem;padding-left:1rem;border-left:2px solid var(--border)}.experience-entry__header{color:var(--green);font-weight:700;margin-bottom:.25rem}.experience-entry__role{color:var(--amber);margin-bottom:.25rem}.experience-entry__date{color:var(--text-dim);font-size:.8rem;margin-bottom:.5rem}.experience-entry__desc{color:var(--text);font-size:.85rem}.experience-entry__list{list-style:none;padding:0}.experience-entry__list li{padding-left:1.2rem;position:relative;margin-bottom:.35rem;font-size:.85rem}.experience-entry__list li:before{content:">";position:absolute;left:0;color:var(--green-dim)}.achievement{margin-bottom:1rem;padding-left:1rem;border-left:2px solid var(--amber)}.achievement__title{color:var(--amber);font-weight:700}.achievement__desc{color:var(--text);font-size:.85rem}.contact-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.5rem}.contact-link{color:var(--cyan)}.contact-link span{color:var(--text-dim)}.cursor{display:inline-block;width:.6em;height:1.1em;background:var(--green);vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.fade-in{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:640px){.terminal{margin:.5rem;border-radius:0}.terminal__body{padding:1rem}.skills-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;gap:.75rem}html{font-size:14px}}.hero__name{font-size:clamp(1.8rem,6vw,2.8rem);line-height:1.1;color:var(--green);letter-spacing:-.02em;margin:.5rem 0}.hero__headline{color:var(--text);font-size:.95rem;margin-bottom:.5rem}.hero__headline .sep{color:var(--text-dim)}.case-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1rem}.case-card{display:block;border:1px solid var(--border);border-radius:6px;padding:.9rem 1rem;color:var(--text);transition:border-color .2s,transform .2s}.case-card:hover,.case-card:focus-visible{border-color:var(--green);color:var(--text);transform:translateY(-2px)}.case-card__file{color:var(--text-dim);font-size:.75rem}.case-card__client{color:var(--cyan);font-size:.8rem}.case-card__title{color:var(--amber);font-weight:700;margin:.25rem 0}.case-card__hook{font-size:.85rem;margin-bottom:.5rem}.case-card__more{color:var(--green);font-size:.8rem}.diff{font-size:.8rem;margin:.5rem 0;white-space:pre-wrap}.diff__del{color:var(--del)}.diff__add{color:var(--green)}.case__meta{color:var(--text-dim);font-size:.8rem;margin-bottom:.25rem}.case__title{color:var(--amber);font-size:clamp(1.3rem,4vw,1.8rem);line-height:1.25;margin-bottom:.75rem}.case h2{color:var(--green);font-size:1rem;margin:2rem 0 .6rem}.case h2:before{content:"## ";color:var(--text-dim)}.case h3{color:var(--cyan);font-size:.9rem;margin:1.2rem 0 .4rem}.case p{margin-bottom:.6rem}.case code{color:var(--cyan)}.case ul{list-style:none;margin-bottom:.6rem}.case li{padding-left:1.2rem;position:relative;margin-bottom:.35rem}.case li:before{content:">";position:absolute;left:0;color:var(--green-dim)}.callout{border-left:2px solid var(--amber);padding-left:1rem;margin:.8rem 0}.callout strong{color:var(--amber)}.table-wrap{overflow-x:auto;margin:.5rem 0 1rem}.case table{border-collapse:collapse;width:100%;font-size:.8rem}.case th,.case td{border-bottom:1px solid var(--border);padding:.4rem .6rem .4rem 0;text-align:left;vertical-align:top}.case th{color:var(--text-dim);font-weight:400}.case td.before{color:var(--del)}.case td.after{color:var(--green)}.diagram{margin:1rem 0 1.5rem}.diagram svg{display:block;width:100%;max-width:560px;margin:0 auto;font-family:var(--font)}.diagram figcaption{color:var(--text-dim);font-size:.75rem;text-align:center;margin-top:.4rem}.d-box{fill:var(--bg-terminal);stroke:var(--border);stroke-width:1.2}.d-box--accent{stroke:var(--green)}.d-box--warn{stroke:var(--amber)}.d-box--dim{stroke-dasharray:4 3}.d-title{fill:var(--text);font-size:12px;font-weight:700}.d-sub{fill:var(--text-dim);font-size:10.5px}.d-edge{stroke:var(--text-dim);stroke-width:1.2;fill:none}.d-arrow{fill:var(--text-dim)}.d-label{fill:var(--amber);font-size:10px}.d-sep{fill:var(--text-dim);font-size:10px}.statusbar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.35rem 1rem;background:var(--green);color:var(--bg);font-size:.75rem}.statusbar a{color:var(--bg);text-decoration:underline}.statusbar a:hover{color:var(--bg)}.case-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-top:2rem;font-size:.85rem}.skills-line{margin-bottom:.35rem;font-size:.85rem}.skills-line .skills-dir__name{display:inline;margin-right:.5rem}@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none}.cursor{animation:none}}
