:root{--ground:#0f0f0e;--text:#f5f5f3;--accent:#c72c41;--secondary-text:#a8a8a5;--border:#374151;--muted:#6B7280}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--ground:#ffffff;--text:#111827;--accent:#6D28D9;--secondary-text:#6B7280;--border:#D1D5DB;--muted:#6B7280}}:root[data-theme=light]{--ground:#ffffff;--text:#111827;--accent:#6D28D9;--secondary-text:#6B7280;--border:#D1D5DB;--muted:#6B7280}*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,Courier New,monospace;background-color:var(--ground);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.wrapper{display:flex;min-height:100vh;max-width:1400px;margin:0 auto}.sidebar{width:50%;padding:3rem 2rem;display:flex;align-items:center;justify-content:center;position:relative}#ascii-art{font-size:1rem;line-height:1.1;color:var(--accent);white-space:pre;font-weight:600;margin:0 auto;padding:0;font-family:JetBrains Mono,monospace;letter-spacing:-.02em;text-align:center}.content{width:50%;padding:3rem;overflow-y:auto;max-height:100vh}.header{margin-bottom:2rem}.title{font-size:2.5rem;font-weight:600;color:var(--text);margin-bottom:.5rem;letter-spacing:-.01em}.subtitle{font-size:1rem;color:var(--secondary-text)}.nav,.subtitle{margin-bottom:2rem}.nav{display:flex;gap:2rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.nav-item{color:var(--text);cursor:pointer;background:none;font-size:.95rem;font-weight:500;border:none;border-bottom:2px solid transparent;padding-bottom:.25rem;transition:all .2s;font-family:JetBrains Mono,Courier New,monospace}.nav-item.active,.nav-item:hover{color:var(--accent)}.nav-item.active{border-bottom-color:var(--accent)}.tab-content{display:none}.tab-content.active{display:block}section{margin-bottom:2.5rem}h2{display:none}.section-title{font-size:.9rem;font-weight:600;text-transform:uppercase;color:var(--accent);letter-spacing:.1em;margin-bottom:1.5rem}.about-text{color:var(--text);line-height:1.7;font-size:.95rem;padding-bottom:1.5rem}.about-row,.about-row-reverse{display:flex;gap:2rem;align-items:center;margin-bottom:1.5rem}.about-row-reverse{flex-direction:row-reverse}.about-image{width:25%;height:auto;border-radius:0;margin:0;display:block;object-fit:cover;flex-shrink:0;filter:grayscale(100%);transition:filter .3s ease;box-shadow:0 0 0 4px var(--ground),0 0 0 5px var(--border);aspect-ratio:3/4}.about-image:hover{filter:grayscale(0)}.about-row>div{flex:1 1;line-height:1.7;font-size:.95rem}#about>div{margin-bottom:1.5rem;color:var(--text)}#about>div:first-of-type{margin-top:0}.about-row-reverse>div,.about-row>div{color:var(--text)}.experience-item{margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.experience-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.job-title{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.job-meta{font-size:.85rem;color:var(--secondary-text);margin-bottom:.5rem}.job-description{margin-bottom:.75rem}.job-bullets,.job-description{font-size:.9rem;color:var(--secondary-text)}.job-bullets{margin-left:1.5rem;list-style:none}.job-bullets li{margin-bottom:.5rem;position:relative;padding-left:1rem}.job-bullets li:before{content:"●";color:var(--accent);position:absolute;left:0}.skills-container{display:flex;flex-direction:column;gap:1.5rem}.skill-group{margin-bottom:0}.skill-group-title{font-size:.9rem;font-weight:600;color:var(--accent);margin-bottom:.75rem}.skill-items{display:flex;flex-wrap:wrap;gap:.75rem}.skill-tag{font-size:.85rem;color:var(--accent);border:1px solid var(--accent);padding:.4rem .8rem;border-radius:2px}.terminal{background-color:var(--ground);font-family:JetBrains Mono,Courier New,monospace;min-height:200px;display:flex;align-items:flex-start;justify-content:flex-start}.terminal-content{width:100%}.terminal-line{display:flex;align-items:center;gap:0;font-size:.95rem;line-height:1.5}.terminal-prompt{color:var(--accent);font-weight:500;white-space:nowrap;margin-right:0}.terminal-text{color:var(--secondary-text);font-size:.95rem;margin-top:1rem;display:block}.terminal-input{background:none;border:none;color:var(--text);font-family:JetBrains Mono,Courier New,monospace;font-size:.95rem;outline:none;padding:0;margin:0;width:0;min-width:0;caret-color:transparent}.terminal-input:focus{outline:none}.terminal-input::placeholder{color:transparent}.terminal-cursor{display:inline-block;width:.6rem;height:1.2rem;background-color:var(--text);animation:blink 1s infinite;opacity:0}.terminal-input:focus~.terminal-cursor{animation:blink .6s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.footer{display:flex;gap:2rem;font-size:.9rem;flex-wrap:wrap}.footer a{color:var(--accent);text-decoration:none;transition:all .2s}.footer a:hover{color:var(--text);text-decoration:underline}a{color:var(--accent);text-decoration:none;transition:all .2s}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portfolio-footer{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);z-index:100}.portfolio-link-container{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background-color:var(--ground);border:1px solid var(--accent);border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.portfolio-text{font-size:.9rem;color:var(--accent);font-family:JetBrains Mono,Courier New,monospace;white-space:nowrap}.copy-btn{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;padding:0;transition:all .2s}.copy-icon{width:100%;height:100%;fill:var(--accent);transition:all .2s;stroke:none}.copy-btn:hover .copy-icon{fill:var(--accent);transform:scale(1.1);opacity:.8}.copy-btn.copied .copy-icon{fill:#10b981}.privacy-toast{position:fixed;bottom:-120px;right:2rem;max-width:400px;background-color:var(--ground);border:1px solid var(--border);border-radius:4px;padding:1.25rem 1rem 1.25rem 1.25rem;box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;align-items:flex-start;gap:1rem;z-index:50;transition:bottom .3s ease-out}.privacy-toast.visible{bottom:2rem}.privacy-toast-content{flex:1 1}.privacy-toast-text{font-size:.9rem;color:var(--secondary-text);line-height:1.5;margin:0}.privacy-toast-link{color:var(--accent);text-decoration:none;font-weight:500;transition:all .2s}.privacy-toast-link:hover{text-decoration:underline}.privacy-toast-close{flex-shrink:0;width:28px;height:28px;background:none;border:none;color:var(--secondary-text);cursor:pointer;font-size:1.25rem;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s;font-family:inherit}.privacy-toast-close:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:1024px){.wrapper{flex-direction:column;min-height:auto}.sidebar{min-height:300px}.content,.sidebar{width:100%;padding:2rem}.content{max-height:none}#ascii-art{font-size:.4rem;max-width:300px}}@media (max-width:640px){.wrapper{min-height:auto}.sidebar{min-height:200px}.content,.sidebar{padding:1.5rem}.title{font-size:1.8rem}.nav{gap:1rem}#ascii-art{font-size:.35rem;max-width:200px}.portfolio-link-container{display:none}.portfolio-text{font-size:.8rem}.privacy-toast{max-width:calc(100vw - 2rem);right:1rem;left:1rem;bottom:-120px}.privacy-toast.visible{bottom:1rem}.privacy-toast-text{font-size:.85rem}}