:root{--color-light-neutral:#ecf0f1;--color-primary:#2c3e50;--color-primary-light:#34495e;--color-secondary:#34495e;--color-secondary-muted:#7f8c8d;--color-accent:#16a085;--color-accent-hover:#138f75;--color-dark-neutral:#2c3e50;--color-dark-neutral-deep:#1a252f;--color-background:var(--color-light-neutral);--color-background-alt:#f8f9fa;--color-surface:#fff;--color-surface-elevated:#fff;--color-border:#bdc3c7;--color-text-primary:var(--color-dark-neutral);--color-text-secondary:var(--color-secondary-muted);--color-text-tertiary:#95a5a6;--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-display:"Inter",-apple-system,system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--shadow-sm:0 1px 3px 0 rgba(44,62,80,.06);--shadow-md:0 2px 8px 0 rgba(44,62,80,.08);--shadow-lg:0 4px 12px 0 rgba(44,62,80,.1);--shadow-xl:0 8px 20px 0 rgba(44,62,80,.12);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--color-background:#1a1d23;--color-background-alt:#141619;--color-surface:#232730;--color-surface-elevated:#2a2f3a;--color-border:#3a4049;--color-text-primary:#ecf0f1;--color-text-secondary:#bdc3c7;--color-text-tertiary:#7f8c8d;--color-accent:#1abc9c;--color-accent-hover:#16a085}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ecf0f1;background:var(--color-background);color:#2c3e50;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-primary);font-size:1rem;font-size:var(--text-base);line-height:1.6;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-start{align-items:flex-start;display:flex}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.text-center{text-align:center}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.border{border:1px solid var(--color-border)}.border-radius-sm{border-radius:var(--radius-sm)}.border-radius-md{border-radius:var(--radius-md)}.border-radius-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.surface{background:var(--color-surface)}.surface-elevated{background:var(--color-surface-elevated)}.bg-primary{background:var(--color-background)}.hover-lift:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hover-scale:hover{-webkit-transform:scale(1.02);transform:scale(1.02)}.cursor-pointer{cursor:pointer}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}*{line-height:normal!important}.App{display:flex;flex-direction:column;min-height:100vh}.App>*{width:100%}.container{max-width:1280px}.container,.container-narrow{margin:0 auto;padding-left:var(--space-xl);padding-right:var(--space-xl)}.container-narrow{max-width:960px}img{display:block;height:auto;max-width:100%}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}a:visited{color:var(--color-accent)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-family:var(--font-display);font-weight:700;line-height:1.2;margin-bottom:var(--space-md)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}p{color:var(--color-text-secondary);margin-bottom:var(--space-md)}@media (max-width:768px){.container,.container-narrow{padding-left:var(--space-lg);padding-right:var(--space-lg)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-lg) 0;position:-webkit-sticky;position:sticky;top:0;transition:all var(--transition-base);z-index:1000}[data-theme=dark] .header{background:rgba(35,39,48,.95)}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 var(--space-xl)}.logo-link{text-decoration:none}.name-logo{align-items:center;display:inline-flex;font-family:Courier New,Courier,monospace;font-size:var(--text-2xl);font-weight:700;transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base)}.logo-bracket{color:var(--color-accent);font-weight:700}.logo-initials{color:var(--color-text-primary);font-weight:700}.name-logo:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.logo-link:hover .logo-bracket{color:var(--color-accent-hover)}#menu-primary-items,.menu{align-items:center;display:flex}#menu-primary-items{gap:var(--space-xl);list-style:none;margin:0;padding:0}#menu-primary-items li{margin:0}#menu-primary-items li a{border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:500;letter-spacing:.02em;padding:var(--space-xs) var(--space-md);position:relative;transition:all var(--transition-base)}#menu-primary-items li a:hover{background:var(--color-surface);color:var(--color-accent)}#menu-primary-items li a:after{background:var(--color-accent);bottom:0;content:"";height:2px;left:50%;position:absolute;-webkit-transform:translateX(-50%) scaleX(0);transform:translateX(-50%) scaleX(0);transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base);width:80%}#menu-primary-items li a:hover:after{-webkit-transform:translateX(-50%) scaleX(1);transform:translateX(-50%) scaleX(1)}.theme-toggle{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:var(--space-lg);padding:var(--space-xs);transition:all var(--transition-base);width:36px}.theme-toggle:hover{background:var(--color-background-alt);border-color:var(--color-accent);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.theme-toggle:active{-webkit-transform:translateY(0);transform:translateY(0)}.theme-toggle svg{transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base)}.theme-toggle:hover svg{-webkit-transform:rotate(15deg);transform:rotate(15deg)}@media (max-width:985px){.name-logo{height:35px;max-width:250px}#menu-primary-items{gap:var(--space-md)}}@media (max-width:768px){.header-content{flex-direction:column;gap:var(--space-lg);padding:0 var(--space-lg)}.name-logo{height:30px;max-width:200px}.menu{justify-content:center;width:100%}#menu-primary-items{flex-wrap:wrap;gap:var(--space-md);justify-content:center}#menu-primary-items li a{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm)}.theme-toggle{margin-left:var(--space-md)}}@media (max-width:480px){.header{padding:var(--space-md) 0}#menu-primary-items{gap:var(--space-sm)}}.hero-section{background:var(--color-surface);position:relative}#masthead{grid-gap:var(--space-2xl);align-items:center;display:grid;gap:var(--space-2xl);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;min-height:65vh;padding:var(--space-3xl) var(--space-xl)}#author-bio{display:flex;flex-direction:column;gap:var(--space-md)}#author-bio:before{color:var(--color-accent);content:"Hello, I'm";font-size:var(--text-lg);font-weight:600;letter-spacing:.05em}.bio-title{color:var(--color-text-primary);font-size:var(--text-5xl);font-weight:700;line-height:1.1;margin-bottom:0}.bio-role{font-size:var(--text-2xl);font-weight:500;margin-bottom:0}.bio-description,.bio-role{color:var(--color-text-secondary)}.bio-description{font-size:var(--text-lg);line-height:1.7}.hero-social-links{margin-top:var(--space-lg)}.social-button{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-primary);display:inline-flex;font-size:var(--text-base);font-weight:600;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);text-decoration:none;transition:all var(--transition-base)}.social-button:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.social-button-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff!important}.social-button-primary:visited{color:#fff!important}.social-button-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff!important}.social-button-primary .social-icon-label{color:#fff!important}#header-banner{position:relative}#img-jeff{border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);height:auto;transition:-webkit-transform var(--transition-slow);transition:transform var(--transition-slow);transition:transform var(--transition-slow),-webkit-transform var(--transition-slow);width:100%}#img-jeff:hover{-webkit-transform:scale(1.02);transform:scale(1.02)}@media (max-width:968px){#masthead{gap:var(--space-xl);grid-template-columns:1fr;min-height:auto;padding:var(--space-2xl) var(--space-lg)}#author-bio{align-items:center;order:2;text-align:center}.hero-social-links{justify-content:center}#header-banner{margin:0 auto;max-width:500px;order:1}.bio-title{font-size:var(--text-4xl)}.bio-role{font-size:var(--text-xl)}}@media (max-width:640px){#masthead{padding:var(--space-2xl) var(--space-lg)}.bio-title{font-size:var(--text-3xl)}.bio-role{font-size:var(--text-lg)}.bio-description{font-size:var(--text-base)}.hero-social-links{flex-direction:column;gap:var(--space-sm)}.social-button{justify-content:center;width:100%}}.social-icon{align-items:center;display:inline-flex;gap:.5rem;gap:var(--space-xs,.5rem);text-decoration:none;transition:all .2s ease;transition:all var(--transition-base,.2s ease)}.social-icon svg{flex-shrink:0}.social-icon-label{font-weight:600}.work-section{background:var(--color-background);border-bottom:1px solid var(--color-border)}#work-content{margin:0 auto;max-width:1200px;padding:var(--space-3xl) var(--space-xl) var(--space-4xl);position:relative}#work-content:before{background:linear-gradient(90deg,transparent,var(--color-accent),transparent);content:"";height:3px;left:50%;max-width:400px;opacity:.4;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:80%}.tag-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-2xl);text-align:center;text-transform:capitalize}.projects-list{grid-gap:var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:.4rem;box-shadow:inset 0 3px 6px rgba(44,62,80,.08),var(--shadow-md);display:grid;gap:var(--space-lg);grid-template-columns:repeat(2,1fr);max-height:600px;overflow-y:auto;padding:var(--space-lg)}.projects-list::-webkit-scrollbar{width:8px}.projects-list::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--radius-md)}.projects-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}.projects-list::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}.project-item{grid-gap:var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;gap:var(--space-md);grid-template-columns:120px 1fr;padding:var(--space-md);transition:all var(--transition-base)}.project-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.project-image-link{display:block;text-decoration:none}.project-thumbnail{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:90px;object-fit:cover;transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base);width:100%}.project-item:hover .project-thumbnail{-webkit-transform:scale(1.02);transform:scale(1.02)}.project-details{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between;min-width:0}.project-main{display:flex;flex:1 1;flex-direction:column;gap:var(--space-xs);min-width:0}.project-title{font-size:var(--text-lg);font-weight:600;line-height:1.3;margin:0}.project-title a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-base)}.project-title a:hover{color:var(--color-accent)}.project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--text-sm);line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis}.project-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.project-tag{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-block;font-size:10px;font-weight:500;padding:2px 6px;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.project-tag,.project-tag:visited{color:var(--color-accent)!important}.project-tag:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff!important}.project-links{align-items:flex-start;display:flex;flex-shrink:0;gap:var(--space-xs)}.project-link{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:flex;height:32px;justify-content:center;text-decoration:none;transition:all var(--transition-base);width:32px}.project-link svg{height:16px;width:16px}.project-link:hover{background:var(--color-background);border-color:var(--color-accent);color:var(--color-accent);-webkit-transform:translateY(-1px);transform:translateY(-1px)}@media (max-width:968px){.projects-list{grid-template-columns:1fr;max-height:500px;padding:var(--space-md)}}@media (max-width:768px){#work-content{padding:var(--space-2xl) var(--space-lg) var(--space-3xl)}.tag-title{font-size:var(--text-3xl);margin-bottom:var(--space-xl)}.projects-list{gap:var(--space-md);max-height:450px;padding:var(--space-md)}.project-item{gap:var(--space-sm);grid-template-columns:100px 1fr;padding:var(--space-sm)}.project-thumbnail{height:75px}.project-title{font-size:var(--text-base)}.project-description{font-size:var(--text-xs)}.project-tag{font-size:9px;padding:2px 4px}.project-links{gap:4px}.project-link{height:28px;width:28px}.project-link svg{height:14px;width:14px}}@media (max-width:523px){#work-content{padding:var(--space-xl) var(--space-md) var(--space-2xl)}.projects-list{max-height:400px;padding:var(--space-sm)}.project-item{grid-template-columns:80px 1fr}.project-thumbnail{height:60px}.project-details{flex-direction:column;gap:var(--space-xs)}.project-links{align-self:flex-start}}.tag-link{transition:all .2s ease;transition:all var(--transition-base,.2s ease)}.post-content{grid-gap:var(--space-3xl);display:grid;gap:var(--space-3xl);grid-template-columns:2fr 1fr;margin:0 auto;max-width:1280px;padding:var(--space-4xl) var(--space-xl)}.post-content img{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);grid-column:1/2;grid-row:1/2;height:auto;width:100%}.post-aside{align-self:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-md);grid-column:2/3;grid-row:1/2;max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content;padding:var(--space-lg)}.title{color:var(--color-text-primary);font-size:var(--text-2xl);font-weight:700;margin:0}.small-desc{border-bottom:1px solid var(--color-border);line-height:1.6;padding-bottom:var(--space-sm)}.post-aside .byline,.small-desc{color:var(--color-text-secondary);font-size:var(--text-sm)}.post-aside .byline{display:flex;flex-direction:column;gap:var(--space-xs)}.post-aside .byline strong{color:var(--color-text-primary);font-weight:600}.post-aside .byline a{color:var(--color-primary);transition:color var(--transition-base);word-break:break-all}.post-aside .byline a:hover{color:var(--color-accent-hover)}.tag-container{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.tag-link{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-block;font-size:10px;font-weight:500;padding:2px 6px;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.tag-link,.tag-link:visited{color:var(--color-accent)!important}.tag-link:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff!important}.entry-content{color:var(--color-text-secondary);font-size:var(--text-lg);grid-column:1/3;grid-row:2/3;line-height:1.8}.entry-content p{margin-bottom:var(--space-lg)}@media (max-width:968px){.post-content{gap:var(--space-2xl);grid-template-columns:1fr;padding:var(--space-3xl) var(--space-lg)}.post-aside,.post-content img{grid-column:1/2}.post-aside{grid-row:2/3;position:static}.entry-content{grid-column:1/2;grid-row:3/4}.title{font-size:var(--text-2xl)}}@media (max-width:640px){.post-content{padding:var(--space-2xl) var(--space-lg)}.post-aside{padding:var(--space-md)}.title{font-size:var(--text-xl)}}#footer{background:var(--color-background-alt);border-top:1px solid var(--color-border);margin-top:auto;padding:var(--space-3xl) 0}.footer-content{align-items:center;margin:0 auto;max-width:1280px;padding:0 var(--space-xl);text-align:center}.footer-content p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.footer-content .credit{font-size:var(--text-base);font-weight:500}.footer-content .credit a{color:var(--color-accent);font-weight:600}.footer-content .copyright{color:var(--color-text-tertiary)}.footer-content p:has(a[href*=github]),.footer-content p:has(a[href*=linkedin]){align-items:center}.footer-content a{align-items:center;color:var(--color-text-secondary);display:inline-flex}.footer-content a:hover{color:var(--color-accent)}.footer-content svg{height:24px;width:24px}@media (max-width:768px){#footer{padding:var(--space-2xl) 0}.footer-content{padding:0 var(--space-lg)}}.stats{margin:0 auto;max-width:1280px;padding:var(--space-4xl) var(--space-xl);position:relative}.stats-section{background:var(--color-surface)}.stats:before{background:linear-gradient(90deg,transparent,var(--color-accent),transparent);content:"";height:3px;left:50%;max-width:400px;opacity:.4;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:80%}.stats-header{margin-bottom:var(--space-3xl);text-align:center}.stats-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-md)}.stats-grid{grid-gap:var(--space-xl);display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat{align-items:center;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl);transition:all var(--transition-base)}.stat:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.png-bg{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);display:flex;height:80px;justify-content:center;padding:var(--space-md);width:80px}.png{height:50px;object-fit:contain;width:50px}.small-png{height:60px;width:60px}.skill-info{text-align:center;width:100%}.skill-name{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm)}.skill-level{color:var(--color-text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-md)}.progress-wrapper{width:100%}progress[value]{-webkit-appearance:none;appearance:none;background:var(--color-border);border:none;border-radius:var(--radius-lg);height:8px;width:100%}progress[value]::-webkit-progress-bar{background:var(--color-border);border-radius:var(--radius-lg)}progress[value]::-webkit-progress-value{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:var(--radius-lg);-webkit-transition:width var(--transition-slow);transition:width var(--transition-slow)}progress[value]::-moz-progress-bar{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:var(--radius-lg)}@media (max-width:768px){.stats{padding:var(--space-3xl) var(--space-lg)}.stats-title{font-size:var(--text-3xl)}.stats-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat{padding:var(--space-lg)}}@media (max-width:523px){.stats-grid{grid-template-columns:1fr}}.contact-wrapper{background:var(--color-background)}.contact-section{margin:0 auto;max-width:1280px;padding:var(--space-4xl) var(--space-xl);position:relative}.contact-section:before{background:linear-gradient(90deg,transparent,var(--color-accent),transparent);content:"";height:3px;left:50%;max-width:400px;opacity:.4;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:80%}.contact-header{margin-bottom:var(--space-3xl);text-align:center}.contact-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-md)}.contact-subtitle{color:var(--color-text-secondary);font-size:var(--text-lg)}.form-area{display:flex;flex-direction:column;gap:var(--space-lg);margin:0 auto;max-width:600px}.input-area{background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-primary);font-size:var(--text-base);outline:none;padding:var(--space-lg);transition:all var(--transition-base)}.input-area:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(22,160,133,.1)}.input-area::-webkit-input-placeholder{color:var(--color-text-tertiary)}.input-area::placeholder{color:var(--color-text-tertiary)}.message{min-height:150px;resize:vertical}.message,.submit-btn{font-family:var(--font-primary)}.submit-btn{align-self:flex-start;background:var(--color-accent);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:.02em;padding:var(--space-md) var(--space-2xl);transition:all var(--transition-base)}.submit-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-lg);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.submit-btn:active{-webkit-transform:translateY(0);transform:translateY(0)}@media (max-width:768px){.contact-section{padding:var(--space-3xl) var(--space-lg)}.contact-title{font-size:var(--text-3xl)}.form-area{gap:var(--space-md)}.input-area{padding:var(--space-md)}.submit-btn{align-self:stretch;width:100%}}.experience-section{background:var(--color-background);border-bottom:1px solid var(--color-border)}.experience-content{margin:0 auto;max-width:1200px;padding:var(--space-4xl) var(--space-xl);position:relative}.experience-content:before{background:linear-gradient(90deg,transparent,var(--color-accent),transparent);content:"";height:3px;left:50%;max-width:400px;opacity:.4;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:80%}.experience-header{margin-bottom:var(--space-3xl);text-align:center}.experience-title{color:var(--color-text-primary);font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-md)}.timeline{padding-left:var(--space-2xl);position:relative}.timeline:before{background:linear-gradient(to bottom,var(--color-accent),var(--color-border));bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.company-section{margin-bottom:var(--space-3xl);position:relative}.company-section:before{background:var(--color-accent);border:3px solid var(--color-background);border-radius:50%;content:"";height:12px;left:-33px;position:absolute;top:8px;width:12px;z-index:1}.company-header{margin-bottom:var(--space-lg)}.company-name{color:var(--color-primary);font-size:var(--text-2xl);font-weight:700;margin:0}.position-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);padding:var(--space-xl);transition:all var(--transition-base)}.position-item:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.position-item:last-child{margin-bottom:0}.position-header{margin-bottom:var(--space-lg)}.position-title{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:600;line-height:1.3;margin:0 0 var(--space-xs) 0}.position-meta{align-items:center;display:flex;gap:var(--space-xs);margin-bottom:var(--space-xs)}.position-period{color:var(--color-accent);font-size:var(--text-sm);font-weight:500}.position-location,.position-type{color:var(--color-text-tertiary);font-size:var(--text-sm)}.position-content{display:flex;flex-direction:column;gap:var(--space-md)}.position-description{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.7;margin:0}.position-highlights{display:flex;flex-direction:column;gap:var(--space-sm);list-style:none;margin:0;padding:0}.position-highlights li{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.6;padding-left:var(--space-lg);position:relative}.position-highlights li:before{color:var(--color-accent);content:"•";font-weight:700;left:0;position:absolute}.position-skills{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.skill-badge{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-block;font-size:11px;font-weight:500;padding:4px 10px}@media (max-width:968px){.experience-content{padding:var(--space-3xl) var(--space-lg)}.experience-title{font-size:var(--text-3xl)}.timeline{padding-left:var(--space-xl)}.company-section:before{left:-27px}.position-item{padding:var(--space-lg)}.position-title{font-size:var(--text-lg)}}@media (max-width:640px){.experience-content{padding:var(--space-2xl) var(--space-md)}.experience-title{font-size:var(--text-2xl)}.timeline{padding-left:var(--space-lg)}.timeline:before{width:2px}.company-section:before{height:10px;left:-22px;width:10px}.company-name{font-size:var(--text-xl)}.position-item{padding:var(--space-md)}.position-title{font-size:var(--text-base)}.position-meta{align-items:flex-start;flex-direction:column;gap:2px}.position-description,.position-highlights li{font-size:var(--text-sm)}.skill-badge{font-size:10px;padding:3px 8px}}
/*# sourceMappingURL=main.bd93d35e.css.map*/