@import"https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=IBM+Plex+Mono:wght@300;400;500;600&family=Space+Grotesk:wght@300;400;500;600;700&family=Caveat:wght@400;500;600;700&display=swap";@charset "UTF-8";:root{--primary-color: #000000;--secondary-color: #666666;--text-light: #999999;--background-color: #ffffff;--border-color: #e5e5e5;--hover-color: #f5f5f5;--header-bg: rgba(255, 255, 255, .85);--glass-bg: rgba(255, 255, 255, .6);--glass-bg-hover: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--glass-border-hover: rgba(0, 0, 0, .12);--glass-shadow: rgba(0, 0, 0, .04);--glass-shadow-hover: rgba(0, 0, 0, .08);--hero-glass-bg: rgba(255, 255, 255, .6);--hero-glass-bg-hover: rgba(255, 255, 255, .8);--about-glass-bg: rgba(255, 254, 240, .7);--about-glass-bg-hover: rgba(255, 254, 240, .9);--projects-glass-bg: rgba(240, 249, 240, .7);--projects-glass-bg-hover: rgba(240, 249, 240, .9);--skills-glass-bg: rgba(240, 247, 255, .7);--skills-glass-bg-hover: rgba(240, 247, 255, .9);--contact-glass-bg: rgba(253, 242, 248, .7);--contact-glass-bg-hover: rgba(253, 242, 248, .9);--about-bg-primary: rgba(255, 254, 240, .2);--about-bg-secondary: rgba(254, 252, 235, .12);--about-bg-tertiary: rgba(253, 251, 230, .06);--about-overlay-primary: rgba(255, 254, 245, .08);--about-overlay-secondary: rgba(254, 253, 240, .05);--about-overlay-tertiary: rgba(253, 252, 235, .03);--dynamic-bg-color: #ffffff;--dynamic-bg-r: 255;--dynamic-bg-g: 255;--dynamic-bg-b: 255;--font-heading: "Lora", serif;--font-body: "IBM Plex Mono", monospace;--font-ui: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-h1: 32px;--font-size-h2: 24px;--font-size-h3: 20px;--font-size-body: 16px;--font-size-secondary: 14px;--font-size-small: 12px;--font-size-h1-mobile: 24px;--font-size-h2-mobile: 20px;--font-size-h3-mobile: 18px}[data-theme=dark]{--primary-color: #ffffff;--secondary-color: #b3b3b3;--text-light: #888888;--background-color: #0a0a0a;--border-color: #2a2a2a;--hover-color: #1a1a1a;--header-bg: rgba(10, 10, 10, .85);--glass-bg: rgba(255, 255, 255, .05);--glass-bg-hover: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .1);--glass-border-hover: rgba(255, 255, 255, .2);--glass-shadow: rgba(0, 0, 0, .3);--glass-shadow-hover: rgba(0, 0, 0, .4);--hero-glass-bg: rgba(255, 255, 255, .05);--hero-glass-bg-hover: rgba(255, 255, 255, .1);--about-glass-bg: rgba(25, 25, 22, .4);--about-glass-bg-hover: rgba(25, 25, 22, .6);--projects-glass-bg: rgba(13, 27, 13, .4);--projects-glass-bg-hover: rgba(13, 27, 13, .6);--skills-glass-bg: rgba(10, 18, 32, .4);--skills-glass-bg-hover: rgba(10, 18, 32, .6);--contact-glass-bg: rgba(26, 15, 20, .4);--contact-glass-bg-hover: rgba(26, 15, 20, .6);--about-bg-primary: rgba(25, 25, 22, .3);--about-bg-secondary: rgba(20, 20, 17, .15);--about-bg-tertiary: rgba(15, 15, 12, .08);--about-overlay-primary: rgba(25, 25, 22, .12);--about-overlay-secondary: rgba(20, 20, 17, .08);--about-overlay-tertiary: rgba(15, 15, 12, .05)}*{margin:0;padding:0;box-sizing:border-box;transition:background-color .6s cubic-bezier(.25,.46,.45,.94),color .6s cubic-bezier(.25,.46,.45,.94),border-color .6s cubic-bezier(.25,.46,.45,.94),box-shadow .6s cubic-bezier(.25,.46,.45,.94),-webkit-backdrop-filter .6s cubic-bezier(.25,.46,.45,.94);transition:background-color .6s cubic-bezier(.25,.46,.45,.94),color .6s cubic-bezier(.25,.46,.45,.94),border-color .6s cubic-bezier(.25,.46,.45,.94),box-shadow .6s cubic-bezier(.25,.46,.45,.94),backdrop-filter .6s cubic-bezier(.25,.46,.45,.94);transition:background-color .6s cubic-bezier(.25,.46,.45,.94),color .6s cubic-bezier(.25,.46,.45,.94),border-color .6s cubic-bezier(.25,.46,.45,.94),box-shadow .6s cubic-bezier(.25,.46,.45,.94),backdrop-filter .6s cubic-bezier(.25,.46,.45,.94),-webkit-backdrop-filter .6s cubic-bezier(.25,.46,.45,.94)}html{scroll-behavior:smooth;transition:background-color .8s cubic-bezier(.25,.46,.45,.94);scroll-padding-top:80px}body{font-family:var(--font-body);color:var(--primary-color);background-color:var(--dynamic-bg-color);line-height:1.6;font-size:var(--font-size-body);font-weight:300;max-width:100vw;overflow-x:hidden;transition:background-color .5s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}h1{font-weight:400}h2,h3{font-weight:300}.nav,.btn,.contact-label{font-family:var(--font-ui)}.container{max-width:800px;margin:0 auto;padding:0 24px}*{scroll-behavior:smooth}.section{scroll-margin-top:100px}.theme-transition *{transition-property:background-color,color,border-color,box-shadow,opacity,-webkit-backdrop-filter!important;transition-property:background-color,color,border-color,box-shadow,backdrop-filter,opacity!important;transition-property:background-color,color,border-color,box-shadow,backdrop-filter,opacity,-webkit-backdrop-filter!important;transition-duration:1.2s,1s,1s,1s,1s,.8s!important;transition-timing-function:cubic-bezier(.165,.84,.44,1)!important;transition-delay:0s!important}.header,.sidebar,.footer{transition:background-color .8s cubic-bezier(.23,1,.32,1),border-color .6s cubic-bezier(.23,1,.32,1),-webkit-backdrop-filter .8s cubic-bezier(.23,1,.32,1);transition:background-color .8s cubic-bezier(.23,1,.32,1),backdrop-filter .8s cubic-bezier(.23,1,.32,1),border-color .6s cubic-bezier(.23,1,.32,1);transition:background-color .8s cubic-bezier(.23,1,.32,1),backdrop-filter .8s cubic-bezier(.23,1,.32,1),border-color .6s cubic-bezier(.23,1,.32,1),-webkit-backdrop-filter .8s cubic-bezier(.23,1,.32,1)}.project-card,.btn,.sidebar-link{transition:background-color .7s cubic-bezier(.25,.46,.45,.94),color .6s cubic-bezier(.25,.46,.45,.94),border-color .6s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}.section{transition:opacity .6s ease-out,transform .6s ease-out}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section{padding:120px 0;margin-bottom:40px}.section-title{font-size:var(--font-size-h2);font-weight:300;margin-bottom:40px;color:var(--primary-color);transition:color .3s ease}.text-secondary{color:var(--secondary-color);transition:color .3s ease}.text-light{color:var(--text-light);transition:color .3s ease}.btn{display:inline-flex;align-items:center;padding:12px 24px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--primary-color);text-decoration:none;font-size:var(--font-size-secondary);font-weight:300;transition:all .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease,transform .2s ease;cursor:pointer}.btn:hover{background-color:var(--hover-color);border-color:var(--primary-color);transform:translateY(-1px)}.card{padding:24px;border:1px solid var(--border-color);border-radius:12px;background:var(--background-color);transition:all .3s ease,background-color .3s ease,border-color .3s ease,transform .2s ease}.card:hover{border-color:var(--primary-color);transform:translateY(-2px)}[data-theme=dark] .social-link.github .contact-label{color:#fff!important}@media (max-width: 768px){.container{padding:0 16px}.section{padding:80px 0;margin-bottom:30px}.section-title{font-size:var(--font-size-h2-mobile);margin-bottom:32px}}.hci-highlight{font-family:Caveat,cursive;color:#1e3a8a;font-weight:600;font-size:1.3em;transition:color .3s ease}[data-theme=dark] .hci-highlight{color:#60a5fa}.theme-transition *{transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)!important}.theme-transition body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none;z-index:9999;animation:themeChange .4s ease-out}.theme-transition [data-theme=dark] body:before{background:radial-gradient(circle at center,rgba(0,0,0,.1) 0%,transparent 70%)}@keyframes themeChange{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1)}}a{color:var(--primary-color);text-decoration:none;transition:color .6s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.34,1.56,.64,1)}a:hover{color:var(--secondary-color)}.section-title{font-size:var(--font-size-h2);font-weight:300;margin-bottom:40px;color:var(--primary-color);transition:color .6s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94)}.text-secondary{color:var(--secondary-color);transition:color .6s cubic-bezier(.25,.46,.45,.94)}.text-light{color:var(--text-light);transition:color .6s cubic-bezier(.25,.46,.45,.94)}
