:root{--ctp-base: #1e1e2e;--ctp-mantle: #181825;--ctp-crust: #11111b;--ctp-text: #cdd6f4;--ctp-subtext0: #a6adc8;--ctp-subtext1: #bac2de;--ctp-surface0: #313244;--ctp-surface1: #45475a;--ctp-surface2: #585b70;--ctp-overlay0: #6c7086;--ctp-overlay1: #7f849c;--ctp-overlay2: #9399b2;--ctp-blue: #89b4fa;--ctp-lavender: #b4befe;--ctp-sapphire: #74c7ec;--ctp-sky: #89dceb;--ctp-teal: #94e2d5;--ctp-green: #a6e3a1;--ctp-yellow: #f9e2af;--ctp-peach: #fab387;--ctp-maroon: #eba0ac;--ctp-red: #f38ba8;--ctp-mauve: #cba6f7;--ctp-pink: #f5c2e7;--bg: var(--ctp-base);--bg-elevated: var(--ctp-mantle);--fg: var(--ctp-text);--fg-dim: var(--ctp-subtext0);--fg-comment: var(--ctp-overlay1);--fg-comment-strong: var(--ctp-subtext1);--text-subtle: var(--ctp-subtext0);--text-overlay: var(--ctp-overlay0);--accent: var(--ctp-green);--accent-2: var(--ctp-mauve);--link: var(--ctp-blue);--border: var(--ctp-surface0);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius: 6px;--max-width: 760px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--link);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease}a:hover{border-bottom-color:var(--link)}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .75rem;cursor:pointer;transition:border-color .12s ease,color .12s ease}button:hover{border-color:var(--accent);color:var(--accent)}::selection{background:var(--ctp-surface2);color:var(--fg)}#root{display:flex;flex-direction:column}.app-shell{flex:1;display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:2rem 1.25rem 4rem}.app-shell--mode .app-main{padding-top:1rem}.wordmark{margin-bottom:1.5rem}.wordmark-text{font-family:VT323,monospace;font-size:72px;line-height:1;letter-spacing:0;color:transparent;text-shadow:1px 1px 0 #a78bfa,-1px -1px 0 #a78bfa,1px -1px 0 #a78bfa,-1px 1px 0 #a78bfa,0 1px 0 #a78bfa,1px 0 0 #a78bfa,0 -1px 0 #a78bfa,-1px 0 0 #a78bfa,6px 6px 0 #4c1d95;white-space:nowrap}@media(max-width:767px){.wordmark-text{font-size:36px;text-shadow:1px 1px 0 #a78bfa,-1px -1px 0 #a78bfa,1px -1px 0 #a78bfa,-1px 1px 0 #a78bfa,0 1px 0 #a78bfa,1px 0 0 #a78bfa,0 -1px 0 #a78bfa,-1px 0 0 #a78bfa,3px 3px 0 #4c1d95}}.wordmark-tagline{margin:.5rem 0 0;font-family:var(--font-mono);font-size:12px;color:var(--text-overlay)}.app-footer{border-top:1px solid var(--border);padding:1rem 1.25rem;font-size:.85rem;color:var(--fg-dim);text-align:center}.app-footer a{color:var(--fg-dim)}.app-footer a:hover{color:var(--accent);border-bottom-color:var(--accent)}.top-right-stack{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:10}.mode-toggle{display:flex;gap:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.2rem;font-size:.8rem}.ops-snippet-container{min-height:194px}@media(max-width:767px){.ops-snippet-container{min-height:52px;margin-bottom:.75rem}}.ops-snippet{font-family:var(--font-mono);font-size:13px;line-height:1.8;color:var(--fg-dim);background:#1e1e2eb8;border:.5px solid #45475a;border-radius:6px;padding:11px 15px;min-width:175px;display:flex;flex-direction:column;gap:1px}.ops-snippet-title{color:var(--accent);margin-bottom:2px}.ops-snippet-row{display:flex;justify-content:space-between;gap:.5rem}.ops-snippet-label{color:var(--fg-dim)}.ops-snippet-value{color:var(--fg);font-variant-numeric:tabular-nums}.ops-snippet-footer{margin-top:2px;font-size:12px;color:var(--fg-comment)}.ops-snippet--offline .ops-snippet-value,.ops-snippet--offline .ops-snippet-footer{color:var(--fg-comment)}.ops-snippet--mobile{width:auto;white-space:normal;text-align:left}.ops-snippet-title,.ops-snippet-row,.ops-snippet-footer{opacity:0;transform:translateY(4px);transition:opacity .3s ease-out,transform .3s ease-out}.ops-snippet--populated.ops-snippet--mobile,.ops-snippet--populated .ops-snippet-title,.ops-snippet--populated .ops-snippet-row,.ops-snippet--populated .ops-snippet-footer{opacity:1;transform:translateY(0)}.ops-snippet--populated .ops-snippet-title{transition-delay:0ms}.ops-snippet--populated .ops-snippet-row{transition-delay:calc(var(--row-index, 0) * 80ms)}.ops-snippet--populated .ops-snippet-footer{transition-delay:.48s}.ops-snippet--mobile{opacity:0;transform:translateY(4px);transition:opacity .3s ease-out,transform .3s ease-out}@media(prefers-reduced-motion:reduce){.ops-snippet-title,.ops-snippet-row,.ops-snippet-footer,.ops-snippet--mobile{transition:none}.ops-snippet--populated,.ops-snippet--populated .ops-snippet-title,.ops-snippet--populated .ops-snippet-row,.ops-snippet--populated .ops-snippet-footer{opacity:1;transform:translateY(0)}}@media(max-width:767px){.top-right-stack{top:.6rem;right:.75rem;gap:6px}.ops-snippet{font-size:.6rem;padding:.25rem .5rem}}.mode-toggle a{padding:.25rem .6rem;border-radius:4px;color:var(--fg-dim);border-bottom:none}.mode-toggle a.active{background:var(--ctp-surface0);color:var(--accent)}.mode-toggle a:hover:not(.active){color:var(--fg)}.comment{color:var(--fg-comment)}.comment code{font-family:var(--font-mono);color:var(--fg-comment-strong)}.cv{display:flex;flex-direction:column;gap:2.5rem}.cv-hero{display:flex;flex-direction:column;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.cv-meta{margin:0;color:var(--fg-dim);font-size:.9rem}.cv-pitch{margin:.5rem 0 0;color:var(--fg)}.cv-available{margin:0;color:var(--fg)}.cv-section{display:flex;flex-direction:column;gap:1.25rem}.section-title{margin:0;font-size:1.15rem;color:var(--accent-2);text-transform:lowercase;letter-spacing:.02em}.section-title:before{content:"## ";color:var(--fg-comment)}.role{display:flex;flex-direction:column;gap:.4rem;padding-left:.75rem;border-left:2px solid var(--border)}.role-header{display:flex;flex-direction:column;gap:.2rem}.role-title{margin:0;font-size:1rem;font-weight:500;color:var(--fg)}.role-at{color:var(--fg-comment);font-weight:400}.role-company{color:var(--ctp-mauve)}.role-meta{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--fg-dim);font-size:.85rem}.role-bullets{margin:.25rem 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.role-bullets>li.bullet:before{content:"- "}.bullet{color:var(--fg)}.bullet-todo{color:var(--fg-comment);font-style:italic}.bullet-todo::marker{color:var(--ctp-peach)}.project{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.project-highlight{border-color:var(--accent)}.project-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.project-name{margin:0;font-size:1.05rem;font-weight:500;color:var(--fg)}.project-star{color:var(--accent)}.status-pill{font-size:.7rem;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--fg-dim);text-transform:lowercase;letter-spacing:.04em;white-space:nowrap}.status-pill.status-shipped{color:var(--ctp-green);border-color:var(--ctp-green)}.status-pill.status-in-progress{color:var(--ctp-yellow);border-color:var(--ctp-yellow)}.status-pill.status-archived{color:var(--fg-dim)}.project-oneliner{margin:0;color:var(--fg);font-weight:500}.project-description{margin:0;color:var(--fg-dim);font-size:.92rem}.project-stack{display:flex;flex-wrap:wrap;gap:.35rem}.stack-chip{font-size:.75rem;padding:.1rem .5rem;border-radius:4px;background:var(--ctp-surface0);color:var(--fg-dim);white-space:nowrap}.project-roadmap{margin:0;color:var(--fg);font-size:.88rem}.project-link{margin:0;font-size:.85rem}.project-link a{color:var(--link)}.skills-groups{display:flex;flex-direction:column;gap:1rem}.skill-group{display:flex;flex-direction:column;gap:.4rem}.skill-group-label{margin:0;font-size:.85rem;font-weight:500;color:var(--fg-dim);text-transform:lowercase;letter-spacing:.03em}.skill-chips{display:flex;flex-wrap:wrap;gap:.35rem}.terminal{display:flex;flex-direction:column;gap:.5rem}.term-scrollback{display:flex;flex-direction:column;gap:.25rem}.term-line{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word}.term-block{display:flex;flex-direction:column;gap:.15rem;padding-block:.25rem}.term-output{padding-block:.15rem}.term-history{font-family:var(--font-mono);font-size:inherit;margin:0;white-space:pre}.term-command-line{display:flex;gap:.4rem;align-items:baseline}.term-error{color:var(--ctp-red)}.term-comment{color:var(--fg-comment)}.term-comment-key{color:var(--fg-comment-strong);font-family:var(--font-mono)}.term-dim{color:var(--fg-dim)}.term-cmd,.term-star{color:var(--accent)}.term-status-shipped{color:var(--ctp-green)}.term-status-in-progress{color:var(--ctp-yellow)}.term-status-archived{color:var(--fg-dim)}.term-bullet{color:var(--fg)}.term-bold{color:var(--fg);font-weight:700}.bullet strong{font-weight:800}.term-bullet-todo{color:var(--fg-comment);font-style:italic}.term-ls{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.25rem 1rem;padding-block:.15rem}.term-egg{font-family:var(--font-mono);margin:0;white-space:pre;line-height:1.1;overflow-x:hidden}.term-banner{font-family:var(--font-mono);color:var(--accent);margin:0;white-space:pre;line-height:1;overflow-x:hidden;font-size:clamp(.4rem,1.8vw,.8rem)}.term-banner-dark{color:var(--ctp-red)}.term-vader{font-family:var(--font-mono);color:var(--ctp-red);margin:.25rem 0 0;white-space:pre;line-height:1;overflow-x:hidden;font-size:clamp(.18rem,.7vw,.38rem)}.term-tag{display:inline-block;padding:0 .45rem;font-weight:700;letter-spacing:.08em;color:var(--ctp-crust)}.term-tag-hire{background:var(--ctp-green)}.term-tag-nope{background:var(--ctp-red)}.term-tag-bonus{background:var(--ctp-yellow)}.term-pitch-bullet{display:flex;gap:.5rem;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word}.term-pitch-bullet .term-arrow{color:var(--accent);flex-shrink:0}.term-saber{font-family:var(--font-mono);white-space:pre;overflow:hidden;line-height:1.2;letter-spacing:-1px}.term-saber-hilt{color:var(--fg-dim)}.term-saber-jedi{color:var(--ctp-green);text-shadow:0 0 6px var(--ctp-green)}.term-saber-dark{color:var(--ctp-red);text-shadow:0 0 6px var(--ctp-red)}.term-prompt-row{display:flex;align-items:baseline;gap:.4rem;position:relative}.term-autoplay-row{display:flex;align-items:baseline;gap:.4rem}.term-autoplay-text{font-family:var(--font-mono);color:var(--fg);white-space:pre}.term-prompt-prefix{font-family:var(--font-mono);-webkit-user-select:none;user-select:none;white-space:nowrap}.term-prompt-user{color:var(--ctp-green)}.term-prompt-host{color:var(--ctp-blue)}.term-prompt-path{color:var(--ctp-peach)}.term-prompt-at,.term-prompt-colon,.term-prompt-dollar{color:var(--text-subtle)}.term-prompt-content{position:relative;flex:1;font-family:var(--font-mono);display:inline-flex;align-items:baseline}.term-prompt-text{font-family:var(--font-mono);white-space:pre}.term-prompt-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;background:transparent;border:none;outline:none;color:transparent;caret-color:transparent;font:inherit;padding:0;margin:0}.term-prompt-input:focus{outline:none}.term-cursor{display:inline-block;width:.55ch;height:1em;margin-left:1px;background:var(--fg);vertical-align:text-bottom;animation:term-blink 1s steps(2,start) infinite}@keyframes term-blink{to{visibility:hidden}}.term-prompt-row--mobile{align-items:baseline}.term-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.term-chip{font-family:var(--font-mono);font-size:.85rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--fg);cursor:pointer;transition:border-color .12s ease,color .12s ease}.term-chip:hover,.term-chip:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.term-chat-streaming{color:var(--fg);white-space:pre-wrap;line-height:1.5;margin-bottom:.5em}.contact-comment{margin:0;font-family:var(--font-mono);font-size:.85rem;color:var(--text-subtle);text-transform:lowercase}.contact-icons{display:flex;flex-direction:row;flex-wrap:wrap;gap:32px;margin-top:.5rem}.contact-icons a{display:inline-flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-subtle);border-bottom:none;text-decoration:none;transition:color .12s ease}.contact-icons a:hover,.contact-icons a:focus-visible{color:var(--ctp-mauve)}.contact-icons a svg{width:22px;height:22px}.contact-label{font-family:var(--font-mono);font-size:10px;color:var(--text-overlay);text-transform:lowercase;letter-spacing:.04em;transition:color .12s ease}.contact-icons a:hover .contact-label,.contact-icons a:focus-visible .contact-label{color:var(--ctp-mauve)}@media(max-width:767px){.contact-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem .5rem;justify-items:center}}
