*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000d0e;--bg-card: #0c1f21;--border: #1e3d40;--text: #e8f0f0;--text-muted: #8aabac;--accent-service: #0d5f5f;--accent-service-hover: #0e8080;--accent-green: chartreuse;--radius: 8px}html{font-size:16px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background-color:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;line-height:1.6}nav{width:100%;display:flex;justify-content:center;padding:24px 0 0}.logo{max-width:180px;max-height:180px;display:block}.container{width:100%;max-width:860px;padding:24px 20px;text-align:center}.tagline{display:flex;align-items:center;justify-content:center;gap:12px;min-height:2.5rem;margin:16px 0 8px}.tagline-sep{font-size:1.6rem;color:var(--text-muted);flex-shrink:0}.typewriter{font-size:1.6rem;font-weight:600;border-right:.15em solid transparent;display:inline-block}.typewriter.active{border-right-color:var(--accent-green);animation:blinking 1.2s infinite}@keyframes blinking{0%,to{border-color:transparent}50%{border-color:var(--accent-green)}}.subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:32px}h3{font-size:1.1rem;font-weight:600;margin-bottom:12px;color:var(--text)}.terminal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.95rem;text-align:left;margin-bottom:32px}.terminal-input-line{display:flex;align-items:center;justify-content:center;margin-bottom:10px;font-size:1.2rem}.terminal-prompt{color:var(--accent-green);-webkit-user-select:none;user-select:none;flex-shrink:0}.terminal-cursor{color:var(--accent-green);animation:blinking 1.2s infinite;margin-left:1px}.terminal-output{display:flex;flex-direction:column;gap:8px}.terminal-service{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap}.ts-bullet{color:var(--accent-service-hover);flex-shrink:0}.ts-name{color:var(--text);font-weight:600;min-width:5rem;flex-shrink:0}.ts-stack{color:var(--text-muted)}.ts-hidden{visibility:hidden}.terminal-service{cursor:pointer;border-radius:3px;padding:2px 4px;margin:-2px -4px;transition:background .15s}.terminal-service:hover{background:#0e80801f}.terminal-service.ts-active .ts-bullet,.terminal-service.ts-active .ts-name{color:var(--accent-green)}.terminal-detail{display:none;border-top:1px solid var(--border);margin-top:14px;padding-top:14px;overflow:hidden}.terminal-detail.visible{display:block;animation:fadeIn .4s ease forwards}.td-track{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1)}.td-slide{flex:0 0 100%;min-width:0;font-size:.9rem;line-height:1.7;padding-right:4px}.td-slide p{color:var(--text-muted);margin-bottom:8px}.td-slide p:last-child{margin-bottom:0}.td-stack{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.8rem!important;color:var(--accent-service-hover)!important;text-align:center}article{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:20px;text-align:left}article header{margin-bottom:10px}article p{margin-bottom:10px;color:var(--text-muted)}article p:last-child{margin-bottom:0}.linkedin-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#5ba4f5;font-weight:600;transition:opacity .2s}.linkedin-link:hover{opacity:.75}.linkedin-icon{width:22px;height:22px;fill:#5ba4f5;flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tagline-noscript{font-size:1.6rem;font-weight:600;margin:16px 0 8px}footer.container{margin-top:auto;padding-top:12px;padding-bottom:16px;color:var(--text-muted);font-size:.85rem}.animated-text{opacity:0;animation:fadeIn 1.2s forwards}@keyframes fadeIn{to{opacity:1}}@media(max-width:600px){.logo{max-width:120px;max-height:120px}.container{padding:16px}.typewriter{font-size:1.2rem}.subtitle{margin-bottom:20px}.terminal{font-size:.85rem}.terminal-input-line{font-size:1rem}article{padding:14px 16px}.ts-stack{display:none}}
