@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap);body,html{background:#14181d;color:#edf2f7;font-family:JetBrains Mono,SFMono-Regular,monospace;margin:0;min-height:100%;padding:0;scroll-behavior:smooth}*{box-sizing:border-box}#root,body{min-height:100vh}a{color:inherit;text-decoration:none}p{margin:0}.site-shell{--page-bg-1:#101418;--page-bg-2:#1f2429;--page-bg-3:#2c3036;--panel:#15181ccc;--panel-header:#101317d1;--panel-border:#94a3b82e;--text:#e5e7eb;--muted:#e2e8f0b8;--accent:#c0c9d1;--nav-bg:#111418b3;--nav-border:#ffffff14;--toggle-bg:#ffffff14;--toggle-text:#f8fafc;--cursor:#63d0ff;background:linear-gradient(180deg,var(--page-bg-1) 0,var(--page-bg-2) 35%,var(--page-bg-3) 100%);color:var(--text);min-height:100vh;overflow-x:hidden;position:relative}.site-shell[data-theme=light]{--page-bg-1:#dfe5ea;--page-bg-2:#eef2f6;--page-bg-3:#f7f9fb;--panel:#fffc;--panel-header:#f6f8fae6;--panel-border:#47556929;--text:#1f2937;--muted:#1f2937b3;--accent:#475569;--nav-bg:#ffffffad;--nav-border:#0f172a14;--toggle-bg:#0f172a0f;--toggle-text:#1f2937;--cursor:#1f6feb}.site-shell[data-theme=light] .terminal-shell{background:#ffffffe0;border:1px solid var(--panel-border);box-shadow:0 12px 26px #0f172a14}.site-shell[data-theme=light] .terminal-header{background:#f8fafcf5;border-bottom:1px solid var(--panel-border)}.site-shell[data-theme=light] .prompt,.site-shell[data-theme=light] .terminal-title,.site-shell[data-theme=light] .typed-command{color:#0f172a}.site-shell[data-theme=light] .terminal-body{background:#fff3;color:#1f2937}.site-shell[data-theme=light] .terminal-output{color:#334155}.site-shell[data-theme=light] .skill-pill,.site-shell[data-theme=light] .terminal-output .skills-row,.site-shell[data-theme=light] .terminal-output .terminal-value,.site-shell[data-theme=light] .terminal-output p{color:#1f2937}.site-shell[data-theme=light] .terminal-output .terminal-name,.site-shell[data-theme=light] .terminal-output .terminal-value strong{color:#0f172a}.site-shell[data-theme=light] .terminal-output-block{border-left:1px solid #47556938}.topbar{display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;top:18px;width:100%;z-index:5}.topbar-shell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--nav-bg);border:1px solid var(--nav-border);border-radius:18px;box-shadow:0 12px 32px #0f172a26;gap:18px;justify-content:flex-start;min-height:62px;padding:8px 12px 8px 18px;pointer-events:auto;width:min(760px,calc(100% - 28px))}.path-indicator,.topbar-shell{align-items:center;display:flex}.path-indicator{background:#0000;border:none;border-radius:0;color:var(--text);flex-shrink:0;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;gap:0;letter-spacing:.08em;min-width:140px;padding:0;text-transform:lowercase;white-space:nowrap}.path-prefix{color:var(--accent);font-weight:700}.path-label{color:var(--text);min-width:1ch}.path-cursor{background:var(--cursor);border-radius:2px;box-shadow:0 0 8px #63d0ff99;display:inline-block;height:1.1em;margin-left:4px;width:9px}.topnav{align-items:center;display:flex;flex:1 1;gap:28px;justify-content:flex-end;margin-left:10px}.topnav a{color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:lowercase;transition:color .15s ease,opacity .15s ease}.topnav a:hover{color:var(--text)}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--nav-border);border-radius:12px;color:var(--toggle-text);cursor:pointer;display:grid;height:38px;margin-left:auto;place-items:center;transition:transform .15s ease,border-color .15s ease;width:38px}.theme-toggle:hover{transform:translateY(-1px)}.theme-icon{font-size:1rem;line-height:1}.background-particles{display:none}.terminal-page{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:flex-start;min-height:100vh;padding:96px 20px 56px;position:relative;z-index:1}.intro-header{background:#0000;border:none;box-shadow:none;margin-top:0;padding:0;text-align:center;width:min(860px,100%)}.intro-copy{color:var(--muted);font-size:.9rem;line-height:1.7;margin:0 auto;max-width:40rem}.intro-copy+.intro-copy{margin-top:8px}.terminal-shell{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;box-shadow:0 18px 48px #02061733;min-height:180px;overflow:hidden;transition:min-height .22s ease,transform .22s ease;width:min(860px,100%)}.experience-section{overflow:visible;padding:0 8px 20px;scroll-margin-top:100px;transition:none;width:min(860px,100%)}.experience-section,.experience-section.is-visible{margin-top:clamp(10rem,26vh,16rem);max-height:none;opacity:1;pointer-events:auto;transform:none}.experience-label{color:var(--muted);font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:700;letter-spacing:.12em;margin:0 0 12px;text-transform:lowercase}.timeline{display:flex;flex-direction:column;gap:18px;padding-left:0;position:relative}.timeline:before{background:#94a3b840;bottom:12px;content:"";left:155px;position:absolute;top:12px;width:1px}.timeline-item{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:136px 24px minmax(0,1fr);position:relative}.timeline-side{padding-top:10px}.timeline-date{color:var(--muted);font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.timeline-marker{align-items:center;display:flex;justify-content:center;padding-top:12px;position:relative;z-index:1}.timeline-dot{background:var(--cursor);border-radius:50%;box-shadow:0 0 0 3px #63d0ff1f;display:inline-block;height:11px;width:11px}.timeline-card{background:#0f172a2b;border:1px solid var(--panel-border);border-radius:14px;box-shadow:0 10px 24px #0f172a14;padding:14px 16px}.timeline-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.timeline-company-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.timeline-company{color:var(--text);font-size:.92rem;font-weight:700}.timeline-location{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.timeline-role{color:var(--muted);font-size:.72rem;letter-spacing:.05em;text-transform:lowercase}.timeline-bullets{color:var(--muted);display:flex;flex-direction:column;gap:7px;margin:0;padding-left:1.1rem}.timeline-bullets li{font-size:.72rem;line-height:1.55}.timeline-empty{color:#94a3b8b8;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.06em;text-transform:lowercase}.software-section{margin-top:clamp(4rem,7vh,5rem);padding:0 8px 40px;scroll-margin-top:100px;width:min(860px,100%)}.software-header,.software-section{align-items:flex-start;display:flex;flex-direction:column}.software-header{margin-bottom:.8rem;text-align:left;width:100%}.software-filename{color:var(--text);display:inline-block;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;font-weight:700;letter-spacing:.04em}.markdown-document{background:#0f172a14;border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 10px 24px #0f172a0f;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.1rem 1.1rem;width:100%}.markdown-block{background:#0000;border-radius:0;padding:0 0 .25rem}.markdown-header{color:var(--muted);display:block;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;letter-spacing:.12em;margin-bottom:.75rem;text-transform:lowercase}.project-list{gap:1rem}.project-item,.project-list{display:flex;flex-direction:column}.project-item{gap:.45rem;padding-top:.15rem}.project-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.project-index{color:var(--cursor);font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:lowercase}.project-item h3{color:var(--text);font-size:.92rem;font-weight:700;margin:0}.project-link{color:var(--muted);font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.08em;margin-left:auto;text-decoration:none;text-transform:lowercase}.project-link:hover{color:var(--text)}.project-item p{color:var(--muted);font-size:.72rem;line-height:1.6;margin:0}.project-item ul{color:var(--muted);display:flex;flex-direction:column;gap:.38rem;list-style:none;margin:0;padding-left:1rem}.project-item li{font-size:.72rem;line-height:1.5;padding-left:.2rem;position:relative}.logo-row{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:flex-start}.logo-badge{background:#0000;border:1px solid #0000;border-radius:8px;display:grid;height:52px;place-items:center;transition:opacity .18s ease;width:52px}.logo-badge:hover{opacity:.9}.logo-badge img{filter:grayscale(.1) brightness(1.05);height:36px;object-fit:contain;width:36px}.tool-row{align-items:flex-start;display:flex;flex-direction:column;gap:.32rem}.tool-pill{background:#0000;border:0;border-radius:0;color:var(--muted);display:inline-block;font-size:.68rem;letter-spacing:.04em;padding:0}.terminal-header{align-items:center;background:var(--panel-header);border-bottom:1px solid var(--panel-border);display:flex;gap:18px;justify-content:space-between;padding:10px 16px}.traffic-lights{align-items:center;display:flex;gap:8px}.dot{border-radius:50%;display:inline-block;height:10px;width:10px}.dot.red{background:#f87171}.dot.yellow{background:#fbbf24}.dot.green{background:#4ade80}.terminal-title{color:var(--cursor);font-size:.72rem;letter-spacing:.08em;text-transform:lowercase}.terminal-body{color:#dbeafe;font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.6;padding:16px 18px 18px}.terminal-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1px;min-height:1.45em}.prompt{color:var(--cursor);font-weight:700}.typed-command{color:#fff;font-size:.78rem;font-weight:700}.terminal-output{color:var(--muted);display:flex;flex-direction:column;gap:.18em;margin:0 0 10px;padding-left:0}.terminal-output-block{border-left:1px solid #94a3b859;display:block;margin:0;padding-left:.72rem}.terminal-output .skills-row,.terminal-output .terminal-value,.terminal-output p{color:#dfe7f1;font-size:.72rem;font-weight:500;letter-spacing:.03em;line-height:1.7}.terminal-output .terminal-name,.terminal-output .terminal-value strong{color:#f8fbff;font-weight:700}.skills-row{grid-gap:4px 18px;display:grid;gap:4px 18px;grid-template-columns:repeat(4,minmax(100px,1fr));margin:4px 0 12px;max-width:100%;width:min(100%,520px)}.skill-pill{color:#dfe7f1;font-size:.76rem;font-weight:500;justify-self:start;letter-spacing:.03em;text-align:left;white-space:nowrap}.cursor,.skill-pill{display:inline-block}.cursor{animation:blink 1s steps(1) infinite;background:var(--accent);box-shadow:0 0 8px #c0c9d180;height:1em;margin-left:2px;transform:translateY(2px);width:8px}@keyframes blink{50%{opacity:0}}@media (max-width:640px){.topbar-inner{width:min(100% - 20px,1100px)}.topnav{gap:12px}.topnav a{font-size:.62rem}.terminal-body{font-size:.74rem;padding:14px 14px 16px}.terminal-header{padding:10px 12px}.terminal-shell{min-height:150px}.timeline:before{left:114px}.timeline-item{gap:8px;grid-template-columns:96px 20px minmax(0,1fr)}.timeline-date{font-size:.62rem}.skills-row{grid-template-columns:repeat(2,minmax(0,max-content))}}
/*# sourceMappingURL=main.7086e706.css.map*/