.terminal-container,.terminal-dock-chip{--ctp-rosewater: #f5e0dc;--ctp-pink: #f5c2e7;--ctp-mauve: #cba6f7;--ctp-red: #f38ba8;--ctp-maroon: #eba0ac;--ctp-peach: #fab387;--ctp-yellow: #f9e2af;--ctp-green: #a6e3a1;--ctp-teal: #94e2d5;--ctp-sapphire: #74c7ec;--ctp-blue: #89b4fa;--ctp-lavender: #b4befe;--ctp-text: #cdd6f4;--ctp-subtext1: #bac2de;--ctp-overlay2: #9399b2;--ctp-overlay1: #7f849c;--ctp-overlay0: #6c7086;--ctp-surface2: #585b70;--ctp-surface1: #45475a;--ctp-surface0: #313244;--ctp-base: #1e1e2e;--ctp-mantle: #181825;--ctp-crust: #11111b;--term-font: "JetBrainsMono Nerd Font", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ui-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--term-row: 1.4em}.terminal-container{position:fixed;z-index:1000;display:flex;flex-direction:column;container-type:inline-size;background:var(--ctp-base);color:var(--ctp-text);font-family:var(--term-font);font-size:13px;line-height:1.4;text-align:left;border-radius:12px;overflow:hidden;box-shadow:0 0 0 .5px #000000d9,0 22px 70px 4px #0000008c,0 8px 24px #0000004d;transition:opacity .26s ease,transform .32s cubic-bezier(.3,.8,.25,1),visibility 0s;animation:terminal-open .2s cubic-bezier(.2,.9,.3,1)}.terminal-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff14;pointer-events:none}.terminal-container ::selection{background:var(--ctp-surface2);color:var(--ctp-text)}.terminal-container.interacting{user-select:none;-webkit-user-select:none}.terminal-container.zoom-transition{transition:opacity .26s ease,transform .32s cubic-bezier(.3,.8,.25,1),visibility 0s,left .24s ease,top .24s ease,width .24s ease,height .24s ease}.terminal-container.minimized{opacity:0;transform:scale(.1);visibility:hidden;pointer-events:none;transition:opacity .26s ease,transform .32s cubic-bezier(.5,0,.75,0),visibility 0s linear .32s}@keyframes terminal-open{0%{opacity:0;transform:scale(.96)}}.terminal-titlebar{position:relative;display:flex;align-items:center;flex-shrink:0;height:30px;padding:0 12px;background:var(--ctp-base);user-select:none;-webkit-user-select:none;touch-action:none}.terminal-title{position:absolute;left:50%;max-width:calc(100% - 180px);transform:translate(-50%);overflow:hidden;font-family:var(--ui-font);font-size:13px;font-weight:600;color:var(--ctp-subtext1);text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.terminal-container:not(.focused) .terminal-title{color:var(--ctp-overlay0)}.traffic-lights{position:relative;z-index:4;display:flex;align-items:center;gap:8px;margin-inline:-8px}.traffic-light{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:#0000008c;box-shadow:none;cursor:default;flex-shrink:0}.traffic-light:before{content:"";width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 .5px #00000040;grid-area:1 / 1}.traffic-light svg{width:8px;height:8px;opacity:0;grid-area:1 / 1;position:relative;z-index:1}.traffic-lights:hover .traffic-light svg,.traffic-lights:focus-within .traffic-light svg,.terminal-container.sheet .traffic-light svg{opacity:1}.traffic-light:active:before{filter:brightness(.8)}.traffic-light:focus-visible{outline:2px solid var(--ctp-lavender);outline-offset:2px}.traffic-light.close:before{background:#ff5f57}.traffic-light.minimize:before{background:#febc2e}.traffic-light.maximize:before{background:#28c840}.terminal-container:not(.focused) .traffic-lights:not(:hover):not(:focus-within) .traffic-light:before{background:var(--ctp-surface1)}.terminal-resize{position:absolute;z-index:3;touch-action:none}.terminal-resize-n,.terminal-resize-s{left:12px;right:12px;height:6px;cursor:ns-resize}.terminal-resize-e,.terminal-resize-w{top:12px;bottom:12px;width:6px;cursor:ew-resize}.terminal-resize-ne,.terminal-resize-nw,.terminal-resize-se,.terminal-resize-sw{width:12px;height:12px}.terminal-resize-n{top:0}.terminal-resize-s{bottom:0}.terminal-resize-e{right:0}.terminal-resize-w{left:0}.terminal-resize-ne{top:0;right:0;cursor:nesw-resize}.terminal-resize-nw{top:0;left:0;cursor:nwse-resize}.terminal-resize-se{bottom:0;right:0;cursor:nwse-resize}.terminal-resize-sw{bottom:0;left:0;cursor:nesw-resize}.tmux-session{display:flex;flex:1;flex-direction:column;min-height:0}.tmux-panes{position:relative;flex:1;min-height:0;margin:2px 10px 4px}.tmux-pane{position:absolute;display:flex;flex-direction:column;overflow:hidden;container-type:inline-size}.tmux-pane[hidden]{display:none}.tmux-measure{position:absolute;display:inline-block;visibility:hidden;white-space:pre;pointer-events:none}.tmux-divider{position:absolute;z-index:1;touch-action:none}.tmux-divider:before{content:"";position:absolute;background:var(--ctp-overlay0)}.tmux-divider.active:before{background:var(--ctp-lavender)}.tmux-divider.row{cursor:ew-resize}.tmux-divider.row:before{top:0;bottom:0;left:calc(50% - .5px);width:1px}.tmux-divider.column{cursor:ns-resize}.tmux-divider.column:before{top:calc(50% - .5px);left:0;right:0;height:1px}.shell-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;cursor:text;scrollbar-width:thin;scrollbar-color:var(--ctp-surface1) transparent}.output,.command-line,.command-history{white-space:pre-wrap;overflow-wrap:anywhere}.output:empty:after{content:"​"}.output.error{color:var(--ctp-red)}.prompt{color:var(--ctp-text)}.command-line{position:relative}.command-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;padding:0;border:0;outline:none;background:transparent;color:transparent;caret-color:transparent;font-size:16px;opacity:0;cursor:text}.term-cursor{background:var(--ctp-rosewater);color:var(--ctp-crust);animation:term-cursor-blink 1.2s step-end infinite}.term-cursor.steady{animation:none}.terminal-container:not(.focused) .term-cursor{background:transparent;color:var(--ctp-text);box-shadow:inset 0 0 0 1px var(--ctp-rosewater);animation:none}@keyframes term-cursor-blink{50%{background:transparent;color:var(--ctp-text)}}.section-content h2,.section-content h3,.section-content h4{font-size:inherit;line-height:inherit;font-weight:700}.section-content h2{margin-bottom:var(--term-row);color:var(--ctp-mauve)}.section-content h3{color:var(--ctp-blue)}.section-content h4{color:var(--ctp-peach)}.section-content p,.section-content ul,.section-content>.contact-item,.project-item,.experience-item,.contact-info,.skills-list{margin-bottom:var(--term-row)}.section-content>:last-child,.experience-item ul{margin-bottom:0}.section-content ul{list-style:none;padding:0}.section-content li{position:relative;padding-left:2ch}.section-content li:before{content:"-";position:absolute;left:0;color:var(--ctp-overlay1)}.section-content a{color:var(--ctp-sapphire);text-decoration:none}.section-content a:hover{text-decoration:underline}.section-content .muted,.project-tech,.experience-heading span{color:var(--ctp-overlay1)}.project-links,.experience-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2ch}.contact-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1ch}.contact-item strong{min-width:10ch;color:var(--ctp-blue)}.copy-button{padding:0;border:none;background:none;color:var(--ctp-green);font:inherit;cursor:pointer}.copy-button:before{content:"[";color:var(--ctp-overlay1)}.copy-button:after{content:"]";color:var(--ctp-overlay1)}.copy-button:hover{text-decoration:underline}.skill-tag{color:var(--ctp-teal)}.skill-tag:not(:last-child):after{content:", ";color:var(--ctp-overlay1)}.neofetch{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:3ch;margin:var(--term-row) 0}.neofetch-logo{margin:0;color:var(--ctp-mauve);font:inherit;white-space:pre}.neofetch-info{white-space:pre-wrap;overflow-wrap:anywhere}.neofetch-title,.neofetch-key{color:var(--ctp-mauve);font-weight:700}.neofetch-colors{display:flex;margin-top:var(--term-row)}.neofetch-colors span{width:3ch;height:var(--term-row)}.ansi-bg-0{background:var(--ctp-surface1)}.ansi-bg-1{background:var(--ctp-red)}.ansi-bg-2{background:var(--ctp-green)}.ansi-bg-3{background:var(--ctp-yellow)}.ansi-bg-4{background:var(--ctp-blue)}.ansi-bg-5{background:var(--ctp-pink)}.ansi-bg-6{background:var(--ctp-teal)}.ansi-bg-7{background:var(--ctp-subtext1)}@container (max-width: 600px){.neofetch{grid-template-columns:minmax(0,1fr);row-gap:var(--term-row)}}.tmux-status{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:2ch;padding:3px 6px 4px;overflow:hidden;background:var(--ctp-mantle);white-space:nowrap;user-select:none;-webkit-user-select:none}.tmux-window,.tmux-windows,.tmux-module,.tmux-modules{display:inline-flex;align-items:center}.tmux-windows,.tmux-modules{gap:1ch;min-width:0}.tmux-windows{overflow:hidden}.tmux-segment{display:inline-flex;align-items:center;height:1.5em;padding:0 1ch}.tmux-accent{border-radius:999px 0 0 999px;color:var(--ctp-crust)}.tmux-accent svg{width:11px;height:11px}.tmux-label{border-radius:0 999px 999px 0;background:var(--ctp-surface0);color:var(--ctp-text)}.tmux-window .tmux-accent{background:var(--ctp-overlay2)}.tmux-window .tmux-label{background:var(--ctp-surface0)}.tmux-window.current .tmux-accent{background:var(--ctp-mauve)}.tmux-window.current .tmux-label{background:var(--ctp-surface1)}.tmux-maroon .tmux-accent{background:var(--ctp-maroon)}.tmux-green .tmux-accent{background:var(--ctp-green)}.tmux-blue .tmux-accent{background:var(--ctp-blue)}.tmux-red .tmux-accent{background:var(--ctp-red)}.tmux-message{display:flex;flex:1;align-items:center;justify-content:center;height:1.5em;background:var(--ctp-surface0);color:var(--ctp-teal)}@container (max-width: 520px){.tmux-maroon{display:none}}.terminal-dock-chip{position:fixed;left:50%;bottom:20px;z-index:1000;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#181825d1;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 10px 30px #0006;color:var(--ctp-text);font:600 13px/1 var(--ui-font);transform:translate(-50%);cursor:pointer;animation:dock-chip-in .3s ease .12s both}.terminal-dock-chip:hover{background:#313244e6}.terminal-dock-chip:focus-visible{outline:2px solid var(--ctp-lavender);outline-offset:3px}.terminal-dock-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ctp-base);box-shadow:inset 0 0 0 1px #ffffff1a;color:var(--ctp-green);font:700 12px/1 var(--term-font)}@keyframes dock-chip-in{0%{opacity:0;transform:translate(-50%,12px)}}@media(max-width:768px){.terminal-container.sheet{left:0;top:0;width:100%;height:100dvh;border-radius:0;transform-origin:50% 100%}.terminal-container.sheet:after{display:none}.terminal-container.sheet .terminal-titlebar{height:52px}.terminal-container.sheet .traffic-lights{margin-inline:-10px}.terminal-container.sheet .traffic-light{width:44px;height:44px}.terminal-title{max-width:calc(100% - 160px)}}@media(prefers-reduced-motion:reduce){.terminal-container,.terminal-container.minimized,.terminal-container.zoom-transition,.terminal-dock-chip{animation:none;transition:visibility 0s}.term-cursor{animation:none}}.normal-view{--nv-bg: #f5f3ec;--nv-ink: #2b2a25;--nv-ink-78: rgba(43, 42, 37, .78);--nv-ink-72: rgba(43, 42, 37, .72);--nv-ink-68: rgba(43, 42, 37, .68);--nv-rule: rgba(60, 50, 30, .14);--nv-rule-soft: rgba(60, 50, 30, .1);--nv-border-btn: rgba(60, 50, 30, .2);--nv-border-chip: rgba(60, 50, 30, .18);--nv-underline: rgba(60, 50, 30, .3);--nv-tint-hover: rgba(60, 50, 30, .06);--nv-header-bg: rgba(245, 243, 236, .78);--nv-paper: #f5f3ec;--nv-paper-78: rgba(245, 243, 236, .78);--nv-paper-74: rgba(245, 243, 236, .74);--nv-paper-28: rgba(245, 243, 236, .28);--nv-paper-15: rgba(245, 243, 236, .15);--nv-paper-10: rgba(245, 243, 236, .1);--nv-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;--nv-font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--nv-max: 1040px;--nv-gutter: clamp(20px, 4vw, 56px);--nv-ease: .15s ease;width:100%;min-height:100vh;background:var(--nv-bg);color:var(--nv-ink);font-family:var(--nv-font-sans);-webkit-font-smoothing:antialiased}.normal-view *{box-sizing:border-box}.normal-view a{color:inherit;text-decoration:none}.normal-view button{font-family:inherit}.normal-view :focus-visible{outline:2px solid currentColor;outline-offset:3px}.nv-wrap{max-width:var(--nv-max);margin:0 auto;padding:0 var(--nv-gutter)}.nv-h1{font-size:clamp(38px,6.4vw,64px);line-height:1.04;letter-spacing:-.035em;font-weight:600;margin:0 0 28px;max-width:860px;text-wrap:pretty}.nv-h2{font-size:clamp(28px,4vw,36px);line-height:1.1;letter-spacing:-.022em;font-weight:600;margin:0;text-wrap:pretty}.nv-mono-label{font-family:var(--nv-font-mono);font-size:11.5px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--nv-ink-72);margin:0}.nv-btn-row{display:flex;flex-wrap:wrap;gap:12px}.nv-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:980px;border:1px solid transparent;font-size:15px;font-weight:590;line-height:1.2;cursor:pointer;transition:opacity var(--nv-ease),background var(--nv-ease),transform var(--nv-ease)}.nv-btn:hover{transform:translateY(-1px)}.nv-btn:active{transform:scale(.97)}.normal-view .nv-btn-primary{background:var(--nv-ink);color:var(--nv-paper)}.normal-view .nv-btn-primary:focus-visible{outline-color:var(--nv-ink)}.nv-btn-primary:hover{opacity:.85}.normal-view .nv-btn-secondary{background:transparent;color:var(--nv-ink);border-color:var(--nv-border-btn)}.nv-btn-secondary:hover{background:var(--nv-tint-hover)}.nv-header{position:sticky;top:0;z-index:50;background:var(--nv-header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--nv-rule-soft)}.nv-header-row{max-width:var(--nv-max);margin:0 auto;padding:14px var(--nv-gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}.normal-view .nv-brand{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--nv-ink)}.nv-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}.normal-view .nv-section-nav a{font-size:13px;font-weight:500;color:var(--nv-ink);transition:color var(--nv-ease)}.normal-view .nv-section-nav a:hover{color:var(--nv-ink)}.nv-terminal-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--nv-font-mono);font-size:12.5px;color:var(--nv-ink);background:transparent;border:1px solid var(--nv-border-chip);border-radius:980px;padding:7px 13px;cursor:pointer;transition:background var(--nv-ease)}.normal-view .nv-terminal-btn{font-family:var(--nv-font-mono)}.nv-terminal-btn:hover{background:var(--nv-tint-hover)}.nv-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-12px;padding:0;border:none;background:transparent;color:var(--nv-ink);cursor:pointer;transition:opacity .15s ease,transform .15s ease}.nv-menu-toggle:hover{opacity:.6}.nv-menu-toggle:active{transform:scale(.9)}.nv-menu-toggle svg{display:block}.nv-mobile-menu{display:none;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .32s cubic-bezier(.4,0,.6,1),visibility 0s linear .32s}.nv-mobile-menu-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .32s cubic-bezier(.4,0,.6,1),visibility 0s linear 0s}.nv-mobile-menu-inner{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0 var(--nv-gutter)}.nv-mobile-menu-inner>:first-child{margin-top:4px}.nv-mobile-menu-inner>:last-child{margin-bottom:4px}.normal-view .nv-mobile-menu a,.normal-view .nv-mobile-menu-terminal{opacity:0;transform:translateY(-4px);transition:opacity .32s cubic-bezier(.4,0,.6,1),transform .32s cubic-bezier(.4,0,.6,1)}.nv-mobile-menu-open .nv-mobile-menu-inner>a:nth-child(1){transition-delay:.02s}.nv-mobile-menu-open .nv-mobile-menu-inner>a:nth-child(2){transition-delay:.04s}.nv-mobile-menu-open .nv-mobile-menu-inner>a:nth-child(3){transition-delay:.06s}.nv-mobile-menu-open .nv-mobile-menu-inner>a:nth-child(4){transition-delay:.08s}.nv-mobile-menu-open .nv-mobile-menu-inner>.nv-mobile-menu-terminal{transition-delay:.1s}.normal-view .nv-mobile-menu-open .nv-mobile-menu-inner a,.normal-view .nv-mobile-menu-open .nv-mobile-menu-inner .nv-mobile-menu-terminal{opacity:1;transform:translateY(0)}.normal-view .nv-mobile-menu a{display:flex;align-items:center;min-height:48px;font-size:16px;font-weight:500;color:var(--nv-ink);border-bottom:1px solid var(--nv-rule-soft)}.normal-view .nv-mobile-menu a:last-of-type{border-bottom:none}.nv-mobile-menu-terminal{display:flex;align-items:center;gap:8px;min-height:48px;margin-top:8px;padding:0 2px;background:transparent;border:none;border-top:1px solid var(--nv-rule-soft);font-size:15px;font-weight:500;color:var(--nv-ink-72);cursor:pointer}.normal-view .nv-mobile-menu-open .nv-mobile-menu-inner .nv-mobile-menu-terminal:active,.normal-view .nv-mobile-menu-open .nv-mobile-menu-inner a:active{opacity:.6}.nv-hero{padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,72px)}.nv-hero-lede{font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--nv-ink-72);margin:0 0 44px;max-width:640px;text-wrap:pretty}.nv-glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px 48px;border-top:1px solid var(--nv-rule);border-bottom:1px solid var(--nv-rule);margin-bottom:40px}.nv-glance-cell{padding:20px 0}.nv-glance-cell .nv-mono-label{margin-bottom:7px}.nv-glance-value{font-size:16px;font-weight:500}.nv-section{padding:clamp(48px,6vw,72px) 0;border-top:1px solid var(--nv-rule);scroll-margin-top:72px}.nv-section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(28px,4vw,44px)}.nv-section-num{font-family:var(--nv-font-mono);font-size:12px;color:var(--nv-ink-68)}.nv-about-body{max-width:680px;margin-bottom:40px}.nv-about-body p{font-size:17px;line-height:1.62;color:var(--nv-ink-78);margin:0;text-wrap:pretty}.nv-about-body p+p{margin-top:1.62em}.nv-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));column-gap:clamp(24px,4vw,48px);row-gap:18px}.nv-list-col{display:grid;grid-template-rows:subgrid;grid-row:span var(--nv-list-span);row-gap:18px}.nv-list-head{padding-bottom:8px}.nv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:subgrid;grid-row:span var(--nv-list-rows);row-gap:18px}.normal-view .nv-list-row{font-size:15.5px;line-height:1.55;color:var(--nv-ink-78);text-wrap:pretty}.nv-list-meta{color:var(--nv-ink-72)}.nv-skill-grid{margin-top:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:clamp(20px,3vw,36px)}.nv-skill-label{margin-bottom:10px}.nv-skill-items{font-size:15.5px;line-height:1.7;color:var(--nv-ink-78);margin:0}.nv-activity{margin-bottom:clamp(32px,4vw,44px);border-top:1px solid var(--nv-rule);border-bottom:1px solid var(--nv-rule)}.nv-activity-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:baseline;gap:6px 16px;padding:14px 0}.nv-activity-row+.nv-activity-row{border-top:1px solid var(--nv-rule-soft)}.nv-activity-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;text-decoration:underline;text-decoration-color:var(--nv-underline);text-underline-offset:3px;transition:text-decoration-color var(--nv-ease)}.nv-activity-row:hover .nv-activity-title{text-decoration-color:currentColor}.nv-activity-meta{font-family:var(--nv-font-mono);font-size:12px;color:var(--nv-ink-68);white-space:nowrap}@media(max-width:720px){.nv-activity-row{grid-template-columns:minmax(0,1fr)}.nv-activity-meta{white-space:normal}}.nv-work-list{display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}.nv-work-item{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(24px,4vw,44px);align-items:center}.nv-work-item-flip>.nv-shot{order:1}.nv-work-item-text-only{display:block;max-width:680px}.nv-shot{aspect-ratio:4 / 3;border-radius:14px;border:1px solid var(--nv-rule);overflow:hidden}.nv-shot img{width:100%;height:100%;object-fit:cover;display:block}.nv-work-meta{margin-bottom:10px}.nv-h3-project{font-size:clamp(23px,3vw,28px);line-height:1.14;letter-spacing:-.018em;font-weight:600;margin:0 0 14px;text-wrap:pretty}.nv-work-desc{font-size:16.5px;line-height:1.6;color:var(--nv-ink-72);margin:0 0 22px;text-wrap:pretty}.normal-view .nv-text-link{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:590;color:var(--nv-ink);border-bottom:1px solid var(--nv-underline);padding-bottom:2px;transition:border-bottom-color var(--nv-ease)}.normal-view .nv-text-link:hover,.normal-view .nv-inline-link:hover{border-bottom-color:var(--nv-ink)}.nv-more{font-size:16px;line-height:1.6;color:var(--nv-ink-72);margin:48px 0 0}.normal-view .nv-inline-link{color:var(--nv-ink);border-bottom:1px solid var(--nv-underline);transition:border-bottom-color var(--nv-ease)}.nv-exp-list{display:flex;flex-direction:column;gap:44px}.nv-exp-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,auto));gap:8px 40px}.nv-exp-year{font-family:var(--nv-font-mono);font-size:13px;color:var(--nv-ink-72);padding-top:4px}.nv-exp-body{min-width:0}.nv-h3-job{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0 0 4px}.nv-exp-role{font-size:15px;color:var(--nv-ink-72);margin-bottom:18px}.nv-exp-bullets{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:12px}.nv-exp-bullets li{font-size:16px;line-height:1.58;color:var(--nv-ink-78);text-wrap:pretty}.nv-exp-bullets strong{font-weight:600;color:var(--nv-ink)}.nv-exp-tech{display:flex;flex-wrap:wrap;gap:16px;font-family:var(--nv-font-mono);font-size:12px;color:var(--nv-ink-72)}.nv-contact{background:var(--nv-ink);color:var(--nv-paper);padding:clamp(56px,8vw,88px) 0;scroll-margin-top:72px}.nv-h2-contact{font-size:clamp(30px,5vw,44px);line-height:1.08;letter-spacing:-.028em;font-weight:600;margin:0 0 20px;max-width:620px;text-wrap:pretty}.nv-contact-body{font-size:18px;line-height:1.55;color:var(--nv-paper-78);margin:0 0 40px;max-width:520px;text-wrap:pretty}.nv-contact-btns{margin-bottom:56px}.nv-contact-btns .nv-btn{padding:14px 26px}.normal-view .nv-btn-light{background:var(--nv-paper);color:var(--nv-ink)}.normal-view .nv-btn-light:focus-visible{outline-color:var(--nv-paper)}.nv-btn-light:hover{opacity:.86}.normal-view .nv-btn-ghost{background:transparent;color:var(--nv-paper);border-color:var(--nv-paper-28)}.nv-btn-ghost:hover{background:var(--nv-paper-10)}.nv-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding-top:28px;border-top:1px solid var(--nv-paper-15);font-family:var(--nv-font-mono);font-size:12px;color:var(--nv-paper-74)}.normal-view .nv-footer-terminal{font-family:var(--nv-font-mono);font-size:12px;color:var(--nv-paper-78);background:transparent;border:none;padding:0;cursor:pointer;transition:color var(--nv-ease)}.nv-footer-terminal:hover{color:var(--nv-paper)}@media(prefers-reduced-motion:reduce){.normal-view *{transition:none!important;animation:none!important}}@media(max-width:580px){.nv-header-row{flex-wrap:nowrap;padding-top:12px;padding-bottom:12px}.nv-section-nav{display:none}.nv-menu-toggle{display:flex}.nv-mobile-menu{display:grid}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;background:#1e1e1e;color:#d4d4d4;min-height:100vh;-webkit-text-size-adjust:100%}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}#root{width:100%}.app{position:relative;width:100%;min-height:100vh;background:linear-gradient(135deg,#1e1e1e,#2d2d2d)}
