:root{--bg:#101419;--panel:#161c23;--line:#303841;--text:#e6edf3;--muted:#94a3b3;--cyan:#64d8e8;--green:#8bd450}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 Inter,sans-serif}a{color:inherit}aside{position:fixed;left:0;top:0;width:100px;height:100vh;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;background:#0d1116;z-index:4}.logo{width:100%;height:88px;display:grid;place-items:center;border-bottom:1px solid var(--line);font:600 1.6rem "IBM Plex Mono",monospace;text-decoration:none}.logo span{color:var(--cyan)}aside nav{width:100%}aside nav a{display:block;padding:20px 12px;border-bottom:1px solid var(--line);font:500 .68rem "IBM Plex Mono",monospace;text-decoration:none}aside small{color:var(--muted)}.vertical{margin-top:auto;margin-bottom:28px;writing-mode:vertical-rl;color:var(--muted);font:500 .64rem "IBM Plex Mono",monospace;letter-spacing:.15em}main{margin-left:100px}header{height:48px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted);font:400 .72rem "IBM Plex Mono",monospace}.available{color:var(--green)}.available:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px}.hero{min-height:610px;padding:80px 6vw;display:grid;grid-template-columns:1.6fr .7fr;gap:7vw;align-items:center}.path,.bar,.status,.tech,dt,footer{font:500 .7rem "IBM Plex Mono",monospace;letter-spacing:.08em}.path{color:var(--cyan)}h1{font:600 clamp(3.5rem,8vw,8rem)/.95 "IBM Plex Mono",monospace;letter-spacing:-.08em;margin:30px 0}h1 span{color:var(--cyan)}.summary{max-width:700px;color:var(--muted);font-size:1.2rem}.commands{display:flex;gap:28px;margin-top:35px}.commands a,.projects article>a{color:var(--cyan);font:500 .76rem "IBM Plex Mono",monospace;text-decoration:none}dl{border:1px solid var(--line);margin:0}dl div{padding:18px;border-bottom:1px solid var(--line)}dl div:last-child{border:0}dt{color:var(--muted)}dd{margin:4px 0 0}.green{color:var(--green)}.projects,.skills{padding:0 4vw 90px}.bar{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,1fr)}.grid article{min-height:300px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.status{display:flex;justify-content:space-between;color:var(--muted)}.status b{color:var(--green)}h2{font:500 1.5rem "IBM Plex Mono",monospace;margin:50px 0 12px}.grid article p{max-width:520px;color:var(--muted)}.tech{margin-top:auto;color:var(--muted)}.grid article>a{margin-top:16px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr)}.skill-grid div{padding:28px;border-right:1px solid var(--line)}.skill-grid span{color:var(--cyan);font:500 .72rem "IBM Plex Mono",monospace}.skill-grid p{color:var(--muted)}footer{padding:25px 4vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer a{text-decoration:none}@media(max-width:760px){aside{position:static;width:100%;height:60px;flex-direction:row;border-right:0;border-bottom:1px solid var(--line)}.logo{width:70px;height:60px;border-bottom:0;border-right:1px solid var(--line)}aside nav{display:flex;width:auto;margin-left:auto}aside nav a{border:0;border-left:1px solid var(--line);padding:13px}aside nav a:nth-child(2),aside nav a:nth-child(3),.vertical{display:none}main{margin:0}.hero{grid-template-columns:1fr;padding:60px 6vw}.grid,.skill-grid{grid-template-columns:1fr}.grid article,.skill-grid div{border-right:0}.commands{flex-direction:column;gap:12px}}
