@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c1014;--bg-1: #131a21;--bg-2: #192229;--bg-3: #1f2a32;--bg-hl: #243038;--text: #c5cdd8;--text-dim: #5f7082;--text-muted: #3d4f5f;--green: #7ec699;--green-bright: #98d4ad;--green-dim: rgba(126, 198, 153, .1);--amber: #e5c07b;--amber-dim: rgba(229, 192, 123, .1);--cyan: #6bc5d2;--cyan-dim: rgba(107, 197, 210, .1);--red: #e06c75;--orange: #d4976c;--purple: #c698d4;--border: #1c2630;--border-hl: #2a3a48;--font: "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", monospace;--radius: 8px;--radius-lg: 12px;--max-width: 1080px;--ease: cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;font-weight:400;line-height:1.7;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:.018;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px)}[data-animate]{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}[data-animate].in-view{opacity:1;transform:translateY(0)}[data-animate][data-delay="1"]{transition-delay:.1s}[data-animate][data-delay="2"]{transition-delay:.15s}[data-animate][data-delay="3"]{transition-delay:.2s}[data-animate][data-delay="4"]{transition-delay:.3s}[data-animate][data-delay="5"]{transition-delay:.4s}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.cursor{display:inline-block;width:.55em;height:1.1em;background:var(--green);vertical-align:text-bottom;margin-left:4px;animation:blink 1s step-end infinite}.app{min-height:100vh}.section{width:100%;max-width:var(--max-width);margin:0 auto;padding:4rem clamp(1.5rem,5vw,3rem)}.section-divider{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem)}.section-divider:after{content:"";display:block;height:1px;background:var(--border)}.section-title{font-size:.95rem;font-weight:500;color:var(--text-dim);margin-bottom:2rem;text-transform:lowercase;letter-spacing:.04em}.title-hash{color:var(--green);margin-right:.5em;font-weight:400}nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,3vw,2rem);height:42px;background:var(--bg-1);border-bottom:1px solid var(--border);font-size:.82rem}.nav-left{display:flex;align-items:center;gap:1rem}.nav-mode{background:var(--green);color:var(--bg);padding:2px 10px;font-weight:700;font-size:.7rem;letter-spacing:.08em;border-radius:3px}.nav-path{color:var(--text-dim);font-size:.82rem}.nav-links{display:flex;gap:clamp(.8rem,2.5vw,1.5rem)}.nav-links a{color:var(--text-dim);text-decoration:none;font-size:.82rem;transition:color .2s;position:relative}.nav-links a:hover{color:var(--green)}.nav-links a:before{content:":";color:var(--text-muted);margin-right:1px}.hero{min-height:82vh;display:flex;align-items:center;padding-top:3rem;padding-bottom:3rem}.about-container{display:grid;grid-template-columns:260px 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;width:100%}.about-image{position:relative}.about-image:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:1px solid var(--border);border-radius:calc(var(--radius-lg) + 4px);pointer-events:none;transition:border-color .5s var(--ease)}.about-image:hover:after{border-color:var(--green)}.about-image img{width:100%;height:auto;border-radius:var(--radius-lg);filter:grayscale(30%) contrast(1.1) brightness(.95);transition:filter .5s var(--ease);aspect-ratio:3 / 4;object-fit:cover}.about-image:hover img{filter:grayscale(10%) contrast(1.05) brightness(1)}.prompt-line{color:var(--text-dim);font-size:.85rem;margin-bottom:.5rem}.prompt{color:var(--green);font-weight:600}.hero-name{font-size:clamp(2.4rem,5vw,3.5rem);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--text);margin-bottom:.5rem}.hero-tagline{font-size:.95rem;color:var(--amber);margin-bottom:1.5rem;font-weight:400}.hero-tagline .prompt{margin-right:.5em}.hero-bio{color:var(--text-dim);font-size:.9rem;line-height:1.8;max-width:520px;margin-bottom:1.5rem}.about-project-section{margin-top:1rem}.about-project-label{font-size:.82rem;color:var(--text-dim);margin-bottom:.75rem}.about-project-label .prompt{margin-right:.5em}.about-project-desc{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;max-width:520px}.about-project-text{color:var(--text-dim);font-size:.88rem;line-height:1.7;margin:0}.about-links{display:flex;gap:.75rem;margin-top:1.5rem}.about-icon-link{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-1);color:var(--text-dim);text-decoration:none;font-size:.8rem;transition:all .25s var(--ease)}.about-icon-link:hover{border-color:var(--green);color:var(--green);background:var(--green-dim)}.about-icon{width:16px;height:16px;filter:invert(.7);transition:filter .25s}.about-icon-link:hover .about-icon{filter:invert(.5) sepia(1) saturate(4) hue-rotate(95deg) brightness(1.15)}.link-label{font-size:.8rem}@media (max-width: 768px){.hero{min-height:auto;padding-top:2.5rem}.about-container{grid-template-columns:1fr;gap:2rem}.about-image{max-width:220px;margin:0 auto}}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--border-hl)}.timeline-item{position:relative;padding-bottom:1.75rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:calc(-2rem + 1px);top:7px;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #7ec69940}.timeline-date{font-size:.78rem;color:var(--green);margin-bottom:.3rem;font-weight:500}.timeline-text{color:var(--text-dim);font-size:.88rem;line-height:1.75}.timeline-text strong{color:var(--amber);font-weight:600}.timeline-text a{color:var(--cyan);text-decoration:none;border-bottom:1px dashed var(--text-muted);transition:all .2s}.timeline-text a:hover{border-bottom-color:var(--cyan);border-bottom-style:solid}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 1080px){.columns{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.columns{grid-template-columns:1fr}}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:all .35s var(--ease)}.card:hover{border-color:var(--border-hl);transform:translateY(-3px);box-shadow:0 12px 32px #00000059}.card-header{display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;background:var(--bg-2);border-bottom:1px solid var(--border)}.card-dots{display:flex;gap:5px}.dot{width:8px;height:8px;border-radius:50%}.dot-close{background:var(--red);opacity:.75}.dot-minimize{background:var(--amber);opacity:.75}.dot-expand{background:var(--green);opacity:.75}.card-filename{color:var(--text-dim);font-size:.78rem;font-weight:500}.card-body{padding:1.5rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:1rem}.card-description{color:var(--text-dim);font-size:.85rem;line-height:1.75;margin:0}.card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.card-tag{font-size:.7rem;color:var(--cyan);background:var(--cyan-dim);padding:.2rem .55rem;border-radius:4px;letter-spacing:.01em}.card-link{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:.8rem;transition:all .25s var(--ease)}.card-link:hover{color:var(--green);background:var(--green-dim)}.card-link .prompt{font-size:.8rem}.card-link-arrow{margin-left:auto;font-size:.95rem;opacity:.6}.resume-viewer{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.resume-embed{display:block;width:100%;height:100vh;border:none}@media (max-width: 768px){.section{padding:3rem clamp(1.25rem,4vw,2rem)}.nav-path{display:none}.nav-links a:before{display:none}}@media (max-width: 480px){nav{padding:0 1rem;font-size:.75rem}.nav-mode{font-size:.65rem;padding:2px 6px}.nav-links a{font-size:.75rem}.about-links{flex-direction:column;gap:.5rem}}
