@import"https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,400..900&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:ital,wght@0,400;0,500;0,700;1,400&display=swap";:root{--bg: #0e0e11;--surface: #16161b;--surface-2: #1c1c23;--line: #26262e;--line-strong: #34343e;--ink: #edebe6;--muted: #8d8b94;--faint: #5c5a63;--accent: #ffb454;--accent-ink: #0e0e11;--ok: #95e6cb;--font-display: "Archivo", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--header-h: 60px;--radius: 6px;--ease: cubic-bezier(.25, .6, .3, 1)}:root[data-theme=light]{--bg: #f5f4f0;--surface: #ffffff;--surface-2: #efede7;--line: #e2e0d8;--line-strong: #cfcdc4;--ink: #1a1a1e;--muted: #63616a;--faint: #96949c;--accent: #c37000;--accent-ink: #fffdf8;--ok: #157f5f}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{overflow-x:hidden;background:var(--bg);color:var(--muted);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.1}a{color:var(--accent);text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}section{padding:110px 0;border-bottom:1px solid var(--line)}.section-eyebrow{font-family:var(--font-mono);font-size:13px;color:var(--accent);letter-spacing:.02em;display:block;margin-bottom:14px}.section-title{font-size:clamp(28px,4vw,42px);font-weight:800;font-stretch:112%;letter-spacing:-.02em;margin-bottom:40px}@media(max-width:768px){section{padding:72px 0}.section-title{margin-bottom:30px}}@media(max-width:768px){section{padding:72px 0}.section-title{margin-bottom:28px}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--faint)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.App{display:flex;flex-direction:column;min-height:100vh}main{width:100%;max-width:1080px;margin:0 auto;padding:var(--header-h) 40px 0;flex:1}@media(max-width:768px){main{padding:var(--header-h) 24px 0}}@media(max-width:480px){main{padding:var(--header-h) 18px 0}}.theme-switcher{display:grid;place-items:center;width:34px;height:34px;background:none;border:1px solid var(--line-strong);border-radius:6px;color:var(--muted);font-size:15px;transition:color .2s var(--ease),border-color .2s var(--ease)}.theme-switcher:hover{color:var(--accent);border-color:var(--accent)}.header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.logo{background:none;border:none;font-family:var(--font-mono);font-size:14px;font-weight:500;letter-spacing:0;padding:4px 0}.logo-user{color:var(--accent)}.logo-at{color:var(--faint)}.logo-host{color:var(--ink)}.logo-path{color:var(--faint)}.header-right-desktop{display:flex;align-items:center;gap:20px}.header-right-desktop nav ul{display:flex;list-style:none;gap:6px}.header-right-desktop nav button{background:none;border:none;font-family:var(--font-mono);font-size:13px;color:var(--muted);padding:6px 10px;border-radius:4px;transition:color .2s var(--ease),background .2s var(--ease)}.header-right-desktop nav button:hover{color:var(--ink);background:var(--surface-2)}.header-right-desktop nav button.nav-active{color:var(--accent)}.header-right-desktop nav button.nav-active:before{content:"> "}.header-divider{width:1px;height:20px;background:var(--line-strong)}.header-socials{display:flex;align-items:center;gap:4px}.header-socials a{display:grid;place-items:center;width:32px;height:32px;border-radius:4px;color:var(--muted);font-size:16px;transition:color .2s var(--ease),background .2s var(--ease)}.header-socials a:hover{color:var(--accent);background:var(--surface-2)}.hamburger{display:none;background:none;border:none;color:var(--ink);font-size:22px;padding:6px}.mobile-menu{display:none}@media(max-width:820px){.header-right-desktop{display:none}.hamburger{display:grid;place-items:center}.mobile-menu{display:block;position:fixed;top:var(--header-h);left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 28px 20px;transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .25s var(--ease),opacity .25s var(--ease)}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu nav ul{list-style:none}.mobile-menu nav button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:15px;color:var(--ink);padding:14px 2px}.mobile-menu-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px}}.terminal{padding:10px 16px 16px;cursor:text;font-family:var(--font-mono);font-size:13px}.terminal-history{max-height:140px;overflow-y:auto;margin-bottom:6px}.terminal-line{color:var(--muted);padding:1.5px 0;white-space:pre-wrap;overflow-wrap:break-word}.terminal-cmd{color:var(--ink)}.terminal-ps1,.terminal-cmd .terminal-ps1{color:var(--faint)}.terminal-input-row{display:flex;align-items:center;gap:8px}.terminal-input{flex:1;background:none;border:none;outline:none;font-family:var(--font-mono);font-size:13px;color:var(--ink);caret-color:var(--accent);min-width:0}.terminal-input::placeholder{color:var(--faint);opacity:.7}.terminal-input:focus-visible{outline:none}.hero{min-height:calc(100vh - var(--header-h));display:flex;align-items:center;padding:60px 0;border-bottom:1px solid var(--line)}.hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;width:100%}.hero-eyebrow{font-family:var(--font-mono);font-size:14px;color:var(--accent);margin-bottom:18px}.hero-copy h1{font-size:clamp(44px,7vw,76px);font-weight:900;font-stretch:118%;letter-spacing:-.025em;margin-bottom:10px}.hero-copy h2{font-size:clamp(24px,3.4vw,38px);font-weight:700;font-stretch:105%;letter-spacing:-.015em;color:var(--muted);margin-bottom:26px}.hero-h2-accent{color:var(--accent)}.hero-description{max-width:520px;margin-bottom:36px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:14px;font-weight:500;padding:13px 22px;border-radius:var(--radius);border:1px solid transparent;transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--accent);color:var(--accent-ink)}.button-solid:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.button-ghost{border-color:var(--line-strong);color:var(--ink)}.button-ghost:hover{border-color:var(--accent);color:var(--accent)}.readout{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-family:var(--font-mono);font-size:13.5px;box-shadow:0 20px 50px -30px #0009}.readout-titlebar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}.readout-dot{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.readout-cmd{margin-left:10px;color:var(--faint);font-size:12.5px}.readout-body{padding:18px 16px 8px}.readout-row{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:5.5px 0}.readout-row dt{color:var(--accent);font-weight:500}.readout-row dd{color:var(--ink);overflow-wrap:break-word}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;box-shadow:0 0 8px var(--ok)}@media(max-width:920px){.hero{min-height:auto;padding:70px 0}.hero-description{margin-bottom:28px}.hero-inner{grid-template-columns:1fr;gap:44px}.readout{max-width:560px}}@media(max-width:400px){.readout{font-size:12.5px}.readout-row{grid-template-columns:64px 1fr;gap:10px}}.about-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:start}.about-text p{margin-bottom:18px;max-width:560px}.about-text p:last-child{margin-bottom:0}.about-skills{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.skill-group{background:var(--surface);padding:20px}.skill-group-label{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--accent);letter-spacing:.04em;margin-bottom:12px}.skill-group ul{list-style:none}.skill-group li{font-family:var(--font-mono);font-size:13px;color:var(--ink);padding:3.5px 0}@media(max-width:920px){.about-content{grid-template-columns:1fr;gap:40px}}@media(max-width:480px){.about-skills{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px}.modal-content{position:relative;width:min(860px,100%);max-height:86vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:36px}.modal-content h2{font-family:var(--font-mono);font-size:22px;margin-bottom:8px;padding-right:40px}.modal-content h2:before{content:"/";color:var(--accent)}.modal-description{margin-bottom:20px}.modal-content hr{border:none;border-top:1px solid var(--line);margin:24px 0}.close-button{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:36px;height:36px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:18px;transition:border-color .2s var(--ease),color .2s var(--ease)}.close-button:hover{border-color:var(--accent);color:var(--accent)}.github-link-button{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:13.5px;background:var(--accent);color:var(--accent-ink);padding:10px 18px;border-radius:var(--radius);transition:transform .2s var(--ease)}.github-link-button:hover{transform:translateY(-2px)}.readme-content{color:var(--muted);font-size:15px;overflow-wrap:break-word}.readme-content h1,.readme-content h2,.readme-content h3{color:var(--ink);margin:22px 0 10px;line-height:1.25}.readme-content p,.readme-content ul,.readme-content ol{margin-bottom:12px}.readme-content ul,.readme-content ol{padding-left:22px}.readme-content img{border-radius:8px;border:1px solid var(--line);margin:10px 0}.readme-content code{font-family:var(--font-mono);font-size:13px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.readme-content pre{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:14px;overflow-x:auto;margin-bottom:14px}.readme-content pre code{background:none;border:none;padding:0}.readme-content table{border-collapse:collapse;margin-bottom:14px}.readme-content th,.readme-content td{border:1px solid var(--line);padding:6px 12px}.modal-footer{display:flex;justify-content:flex-end;margin-top:24px}.close-button-bottom{font-family:var(--font-mono);font-size:13.5px;background:none;border:1px solid var(--line-strong);color:var(--ink);padding:10px 20px;border-radius:var(--radius);transition:border-color .2s var(--ease),color .2s var(--ease)}.close-button-bottom:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:600px){.modal-backdrop{padding:14px}.modal-content{padding:24px 18px}.modal-content h2{font-size:19px}}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:""}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media(min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px #000000e6;background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}.featured{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;margin-bottom:48px}.featured-main{padding:32px 34px}.featured-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.featured-label{font-family:var(--font-mono);font-size:12.5px;color:var(--accent)}.featured-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11.5px;color:var(--muted);border:1px solid var(--line-strong);border-radius:99px;padding:3px 11px}.featured-status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.featured-title{font-size:clamp(26px,3.4vw,36px);font-weight:800;font-stretch:112%;letter-spacing:-.02em;margin-bottom:10px}.featured-tagline{color:var(--ink);font-size:16.5px;margin-bottom:14px;max-width:460px}.featured-body{font-size:14.5px;margin-bottom:20px;max-width:480px}.featured-body a{border-bottom:1px dotted var(--accent)}.featured-stack{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.featured-stack li{font-family:var(--font-mono);font-size:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);padding:4px 10px;border-radius:99px}.featured-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.featured-team{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12.5px;color:var(--faint)}.featured-notes{background:var(--surface-2);border-left:1px solid var(--line);display:flex;flex-direction:column}.featured-notes-titlebar{font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:.05em;padding:14px 24px;border-bottom:1px solid var(--line)}.featured-notes dl{padding:18px 24px}.featured-note-row{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:9px 0}.featured-note-row+.featured-note-row{border-top:1px solid var(--line)}.featured-note-row dt{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);padding-top:2px}.featured-note-row dd{font-size:13.5px;line-height:1.55}@media(max-width:920px){.featured{grid-template-columns:1fr}.featured-notes{border-left:none;border-top:1px solid var(--line)}}@media(max-width:480px){.featured-main{padding:24px 20px}.featured-notes dl{padding:14px 20px}}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-26px;margin-bottom:26px}.projects-subtitle{font-family:var(--font-mono);font-size:13px;color:var(--faint)}.scroller-controls{display:flex;gap:8px;flex-shrink:0}.scroller-btn{display:grid;place-items:center;width:36px;height:36px;background:var(--surface);border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);font-size:18px;transition:border-color .2s var(--ease),color .2s var(--ease),opacity .2s var(--ease)}.scroller-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.scroller-btn:disabled{opacity:.3;cursor:default}.projects-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px) / 3);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none;-ms-overflow-style:none}.projects-grid::-webkit-scrollbar{display:none}.projects-grid .project-card{scroll-snap-align:start}@media(max-width:920px){.projects-grid{grid-auto-columns:calc((100% - 22px)/2)}}@media(max-width:640px){.projects-grid{grid-auto-columns:86%}}.project-card{flex:0 0 calc((100% - 44px) / 3);scroll-snap-align:start;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.project-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 18px 40px -28px #000000b3}.project-image{width:100%;height:180px;object-fit:cover;object-position:top}.project-image-placeholder{height:180px;display:grid;place-items:center;background:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%),var(--surface-2);border-bottom:1px solid var(--line)}.project-image-placeholder span{font-family:var(--font-mono);font-size:14px;color:var(--faint)}.project-image-placeholder span:before{content:"~/";color:var(--accent)}.project-content{display:flex;flex-direction:column;flex:1;padding:20px}.project-content h3{font-family:var(--font-mono);font-size:15.5px;font-weight:700;margin-bottom:10px}.project-content h3:before{content:"/";color:var(--accent);margin-right:1px}.project-content p{font-size:14.5px;margin-bottom:16px;flex:1}.project-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.project-tags li{font-family:var(--font-mono);font-size:11.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);padding:3px 9px;border-radius:99px}.project-stats{display:flex;gap:16px;font-family:var(--font-mono);font-size:12.5px;color:var(--faint);border-top:1px solid var(--line);padding-top:14px}.stat-item{display:inline-flex;align-items:center;gap:5px}.projects-loading{font-family:var(--font-mono);font-size:14px;color:var(--faint);padding:30px 0}.loading-dots:after{content:"...";animation:dots 1.4s steps(4,end) infinite;display:inline-block;width:0;overflow:hidden;vertical-align:bottom}@keyframes dots{to{width:1.4em}}.project-card .carousel .control-dots .dot{background:var(--ink);box-shadow:none}.project-card .carousel .slide{background:var(--surface-2)}@media(max-width:480px){.projects-toolbar{flex-direction:column;align-items:flex-start;gap:12px}}@media(max-width:1024px){.project-card{flex-basis:calc((100% - 22px)/2)}}@media(max-width:640px){.project-card{flex-basis:85%}.projects-toolbar{margin-top:-8px}}.experience-content{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}.job-list{display:flex;flex-direction:column;border-left:1px solid var(--line)}.job-button{background:none;border:none;border-left:2px solid transparent;margin-left:-1.5px;text-align:left;font-family:var(--font-mono);font-size:13px;color:var(--muted);padding:11px 16px;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);white-space:nowrap}.job-button:hover{color:var(--ink);background:var(--surface)}.job-button.active{color:var(--accent);border-left-color:var(--accent);background:var(--surface)}.job-details h3{font-size:21px;font-weight:700;font-stretch:105%;margin-bottom:6px}.job-details .company{color:var(--accent);font-weight:700}.job-details .date{font-family:var(--font-mono);font-size:13px;color:var(--faint);margin-bottom:20px}.job-details ul{list-style:none}.job-details li{position:relative;padding:5px 0 5px 26px;max-width:640px}.job-details li:before{content:">";position:absolute;left:2px;font-family:var(--font-mono);color:var(--accent)}@media(max-width:768px){.experience-content{grid-template-columns:1fr;gap:28px}.job-list{flex-direction:row;overflow-x:auto;border-left:none;border-bottom:1px solid var(--line);padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to right,black calc(100% - 44px),transparent);mask-image:linear-gradient(to right,black calc(100% - 44px),transparent)}.job-list::-webkit-scrollbar{display:none}.job-button{border-left:none;border-bottom:2px solid transparent;margin-left:0;margin-bottom:-1.5px;padding:11px 14px}.job-button.active{border-bottom-color:var(--accent)}}.contact{text-align:center;padding:130px 0;border-bottom:none}@media(max-width:768px){.contact{padding:84px 0}}.contact .section-eyebrow{margin-bottom:16px}.contact-heading{font-size:clamp(34px,5vw,54px);font-weight:800;font-stretch:115%;letter-spacing:-.02em;margin-bottom:18px}.contact-copy{max-width:480px;margin:0 auto 34px}@media(max-width:768px){.contact{padding:90px 0}}.footer{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 24px 34px;border-top:1px solid var(--line)}.footer-socials{display:flex;gap:8px}.footer-socials a{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;color:var(--muted);font-size:17px;transition:color .2s var(--ease),background .2s var(--ease)}.footer-socials a:hover{color:var(--accent);background:var(--surface-2)}.footer-credit{font-family:var(--font-mono);font-size:12px;color:var(--faint)}.footer-credit span{color:var(--muted)}
