:root{--bg-primary: #040406;--bg-secondary: #0b0c10;--bg-tertiary: #101217;--border-color: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .15);--text-primary: #f3f4f6;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-color: #3b82f6;--accent-success: #10b981;--accent-cyan: #06b6d4;--accent-glow: rgba(59, 130, 246, .1);--accent-glow-large: rgba(59, 130, 246, .2);--font-sans: "Inter", "Poppins", sans-serif;--font-mono: "JetBrains Mono", monospace;--navbar-bg: rgba(4, 4, 6, .8);--navbar-shadow: rgba(0, 0, 0, .4);--glass-bg: rgba(255, 255, 255, .02);--glass-border: rgba(255, 255, 255, .12);--glass-hover: rgba(255, 255, 255, .04);--grid-color: rgba(255, 255, 255, .007);--card-shadow: rgba(0, 0, 0, .4);--card-shadow-large: rgba(0, 0, 0, .5);--icon-filter: invert(1);--icon-hover-filter: invert(0);--social-icon-filter: invert(.95);--mob-menu-filter: invert(1);--works-gradient-bg: linear-gradient(to top, rgba(11, 12, 16, .9) 0%, rgba(11, 12, 16, .1) 100%);--project-overlay-bg: rgba(4, 4, 6, .75);--project-detail-bg: rgba(4, 4, 6, .6);--project-detail-shadow: rgba(0, 0, 0, .5);--intro-console-shadow: rgba(0, 0, 0, .5);--bubble-inset-highlight: rgba(255, 255, 255, .25);--bubble-inset-shadow: rgba(0, 0, 0, .7);--bubble-glow: rgba(59, 130, 246, .2);--bubble-specular: rgba(255, 255, 255, .65)}[data-theme=light]{--bg-primary: #eef2f6;--bg-secondary: #f5f7fb;--bg-tertiary: #e4e9f0;--border-color: rgba(15, 23, 42, .08);--border-hover: rgba(15, 23, 42, .15);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-glow: rgba(59, 130, 246, .06);--accent-glow-large: rgba(59, 130, 246, .12);--navbar-bg: rgba(244, 246, 250, .85);--navbar-shadow: rgba(15, 23, 42, .06);--glass-bg: rgba(15, 23, 42, .03);--glass-border: rgba(15, 23, 42, .1);--glass-hover: rgba(15, 23, 42, .05);--grid-color: rgba(15, 23, 42, .025);--card-shadow: rgba(15, 23, 42, .06);--card-shadow-large: rgba(15, 23, 42, .1);--icon-filter: invert(.15);--icon-hover-filter: invert(1);--social-icon-filter: invert(.15);--mob-menu-filter: invert(.15);--works-gradient-bg: transparent;--project-overlay-bg: rgba(255, 255, 255, .85);--project-detail-bg: rgba(255, 255, 255, .7);--project-detail-shadow: rgba(15, 23, 42, .15);--intro-console-shadow: rgba(15, 23, 42, .1);--bubble-inset-highlight: rgba(255, 255, 255, .5);--bubble-inset-shadow: rgba(15, 23, 42, .35);--bubble-glow: rgba(59, 130, 246, .12);--bubble-specular: rgba(255, 255, 255, .85)}*{margin:0;padding:0;box-sizing:border-box;text-decoration:none;background:transparent;font-family:var(--font-sans)}body{min-height:100vh;color:var(--text-primary);overflow-x:hidden;overflow-y:auto;background-color:var(--bg-primary);background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:50px 50px;background-position:center;background-attachment:fixed;transition:background-color .3s ease,color .3s ease}.navbar{position:sticky;top:0;z-index:100;isolation:isolate;width:100%;margin:0;padding:.75rem 0;display:flex;align-items:center;justify-content:space-between;background:var(--navbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);box-shadow:var(--navbar-shadow);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.navbar>*{position:relative;z-index:2}.navbar>:first-child{margin-left:2rem}.logo{height:3rem;filter:brightness(.95);transition:opacity .2s ease}.logo:hover{opacity:.85}.desktopMenu{display:flex;align-items:center}.desktopMenuListItem{margin:0 1.25rem;cursor:pointer;position:relative;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color .2s ease}.desktopMenuListItem:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:-6px;width:0%;height:2px;background:var(--accent-color);transition:width .2s ease}.desktopMenuListItem:hover:after,.active:after{width:100%}.desktopMenuListItem:hover,.active{color:var(--text-primary)}.navRight{display:flex;align-items:center;gap:1.25rem;margin-right:2rem}.themeToggleBtn{background:transparent;border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;width:2.2rem;height:2.2rem}.themeToggleBtn:hover{background:var(--glass-bg);border-color:var(--border-hover);transform:rotate(15deg) scale(1.05)}.themeToggleBtn svg{width:1.15rem;height:1.15rem;stroke:var(--text-primary);transition:stroke .3s ease}.desktopMenuBtn{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);font-family:var(--font-mono);font-size:.85rem;display:flex;align-items:center;padding:.5rem 1.25rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.desktopMenuBtn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow-large)}.desktopMenuImg{height:.85rem;margin-right:.5rem;filter:var(--icon-filter);transition:filter .2s ease}.desktopMenuBtn:hover .desktopMenuImg{filter:var(--icon-hover-filter)}.mobMenu{display:none;height:1.8rem;cursor:pointer;filter:var(--mob-menu-filter);transition:filter .2s ease}.navMenu{position:absolute;top:4.2rem;right:1.5rem;z-index:999;display:flex;flex-direction:column;min-width:14rem;padding:.5rem;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow-large);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.listItem{padding:.75rem 1.5rem;border-radius:4px;color:var(--text-secondary);font-size:.95rem;transition:all .2s ease;cursor:pointer}.listItem:hover{background:var(--glass-hover);color:var(--text-primary)}@media screen and (max-width: 720px){.navbar>:first-child{margin-left:1rem}.navRight{margin-right:1rem;gap:.75rem}.mobMenu{display:block}.desktopMenu,.desktopMenuBtn{display:none}}#intro{min-height:auto;width:100%;max-width:66rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:3rem 1.5rem}.introContent{flex:1.2;display:flex;flex-direction:column;justify-content:center;text-align:left}.hello{font-size:1.1rem;font-family:var(--font-mono);color:var(--accent-success);margin-bottom:.75rem;display:block;letter-spacing:.05em}.introText{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.1;color:var(--text-primary)}.introName{color:var(--text-primary);font-weight:800}.typeText{color:var(--accent-color);font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:600;display:block;margin-top:.5rem;font-family:var(--font-mono)}.introPara{font-size:.95rem;font-weight:300;line-height:1.6;color:var(--text-secondary);margin-top:1.5rem;max-width:35rem}.introActions{display:flex;gap:1rem;margin-top:2rem}.cta-link{display:inline-block}.btn{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);padding:.7rem 1.5rem;border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn:hover{background:transparent;color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow-large)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:.7rem 1.5rem;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--glass-bg)}.devopsVisual{flex:.8;width:100%;max-width:26rem;display:flex;flex-direction:column;flex-shrink:0}.operatorConsole{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;box-shadow:var(--intro-console-shadow);display:flex;flex-direction:column}.consoleHeader{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between}.windowDots{display:flex;gap:.35rem}.dot{width:9px;height:9px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.consoleTitle{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.consoleStatus{display:flex;align-items:center;gap:.35rem}.statusDot{width:6px;height:6px;border-radius:50%;background:var(--accent-success)}.pulse{box-shadow:0 0 rgba(16,185,129,.4);animation:statusPulse 2s infinite}@keyframes statusPulse{0%{transform:scale(.95);box-shadow:0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 rgba(16,185,129,0)}}.statusLabel{font-size:.6rem;font-family:var(--font-mono);color:var(--accent-success);letter-spacing:.05em;font-weight:600}.consoleBody{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.imageContainer{position:relative;width:200px;height:200px;border-radius:50%;overflow:hidden;border:2px solid var(--border-color);background:var(--bg-tertiary);margin:.5rem auto 1rem;box-shadow:var(--card-shadow);transition:all .3s ease}.operatorImage{width:100%;height:100%;object-fit:cover;object-position:center 10%;display:block;filter:contrast(1.05) brightness(.95);transition:filter .3s ease}.operatorConsole:hover .imageContainer{border-color:var(--accent-color);box-shadow:0 0 15px var(--accent-glow-large)}.operatorConsole:hover .operatorImage{filter:contrast(1.08) brightness(1)}.operatorIdTag{text-align:center;font-family:var(--font-mono);font-size:.75rem;color:var(--accent-success);margin-top:-.25rem;margin-bottom:.75rem;letter-spacing:.05em;font-weight:600}.operatorMeta{display:flex;flex-direction:column;gap:.4rem;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:4px}.metaRow{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.75rem}.metaLabel{color:var(--text-muted)}.metaVal{color:var(--text-primary);font-weight:500}.metaVal.success{color:var(--accent-success)}.consoleLogs{font-family:var(--font-mono);font-size:.75rem;display:flex;flex-direction:column;gap:.25rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.logLine{color:var(--text-secondary)}.logPrompt{color:var(--accent-success)}.logCmd{color:var(--text-primary)}.logStatus{color:var(--accent-success)}.mobileOnly{display:none}@media screen and (max-width: 960px){#intro{flex-direction:column;gap:3rem;padding-top:4rem;padding-bottom:4rem}.introContent{margin-top:-3rem;align-items:center;text-align:center}.btn,.btn-secondary{padding:.4rem 1.5rem}.introPara{text-align:center;margin-left:auto;margin-right:auto}.mobileOnly{display:block}.avatarWrap{position:relative;width:150px;height:150px;border-radius:50%;border:2px solid var(--border-color);box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 0 1px var(--border-color);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;align-self:center;overflow:hidden;flex-shrink:0;transform:translateZ(0);animation:floatBubble 6s ease-in-out infinite;will-change:transform}.avatarWrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 12px var(--bubble-inset-highlight),inset -8px -8px 20px var(--bubble-inset-shadow),inset 0 0 10px var(--bubble-glow);z-index:2;pointer-events:none}.avatarWrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px dashed var(--accent-color);opacity:.65;z-index:3;pointer-events:none;animation:rotateOrbit 50s linear infinite}.mobileAvatar{width:100%;height:100%;object-fit:cover;object-position:center 10%;display:block}.devopsVisual{display:none}}@media screen and (max-width: 480px){.introText{font-size:1.8rem}.typeText{font-size:1.25rem}.consoleBody{padding:1rem}}.animate-fade-in-up{opacity:0;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.animate-fade-in-right{opacity:0;animation:fadeInRight .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes floatBubble{0%{transform:translateY(0) scale(1) translateZ(0)}50%{transform:translateY(-8px) scale(1.02) translateZ(0)}to{transform:translateY(0) scale(1) translateZ(0)}}@keyframes rotateOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#skills{width:100%;padding:4rem 0;display:flex;justify-content:center;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:600px}.skillsContainer,.sectionInner{width:100%;max-width:66rem;margin:0 auto;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:center;text-align:center}.skillSubtitleCode{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem;margin-bottom:.5rem;display:block}.skillTitle{font-size:2.5rem;font-weight:700;margin-bottom:1.25rem;color:var(--text-primary)}.skillDesc{font-size:.95rem;max-width:44rem;padding:0 1rem;color:var(--text-secondary);line-height:1.6}.skillsGrid{margin-top:3rem;width:100%;display:flex;gap:1.5rem;contain:layout}.skillCard{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);padding:2rem;border-radius:6px;display:flex;flex-direction:column;gap:1rem;text-align:left;transition:all .25s ease}.skillCard:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:var(--card-shadow)}.cardHeader{display:flex;align-items:center;gap:.5rem}.folderPrefix{font-family:var(--font-mono);color:var(--accent-success);font-size:.95rem;font-weight:600}.skillCard h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.skillCard p{font-size:.9rem;font-weight:300;line-height:1.6;color:var(--text-secondary);flex-grow:1}.skillsIcons{display:flex;gap:.75rem;margin-top:1rem}.iconWrapper{width:38px;height:38px;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.iconWrapper:hover{border-color:var(--accent-color);background:rgba(59,130,246,.05);transform:scale(1.05)}.iconWrapper img{width:20px;height:20px;object-fit:contain;filter:grayscale(.2) brightness(.9);transition:filter .2s ease}.iconWrapper:hover img{filter:grayscale(0) brightness(1.1)}@media (max-width: 900px){.skillsGrid{flex-direction:column;gap:1.25rem}}@media (max-width: 480px){.skillTitle{font-size:2rem}.skillCard{padding:1.5rem}}#works{width:100%;padding:4rem 0;display:flex;justify-content:center;contain:layout paint style;content-visibility:auto;contain-intrinsic-size:800px}.works-container{width:100%;max-width:66rem;margin:0 auto;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.worksSubtitleCode{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem;margin-bottom:.5rem;display:block}.works-title{font-size:2.5rem;font-weight:700;margin-bottom:1.25rem;color:var(--text-primary)}.works-subtitle{font-size:.95rem;max-width:44rem;padding:0 1rem;opacity:.95;color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.projects-grid{margin-top:1.5rem;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;contain:layout}.project-card{position:relative;border-radius:6px;overflow:hidden;background:var(--bg-secondary);cursor:pointer;transform:translateZ(0);backface-visibility:hidden;contain:paint;transition:all .25s ease;display:flex;flex-direction:column;min-height:100%;border:1px solid var(--border-color)}.project-card:hover{transform:translateY(-5px);border-color:var(--border-hover);box-shadow:var(--card-shadow-large)}.project-image-wrapper{position:relative;height:11rem;overflow:hidden;border-bottom:1px solid var(--border-color)}.project-image{width:100%;height:100%;object-fit:cover;filter:brightness(.85) contrast(1.05);transition:all .3s ease}.project-card:hover .project-image{transform:scale(1.03);filter:brightness(.95) contrast(1.05)}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--works-gradient-bg)}.project-card-status{position:absolute;top:.75rem;right:.75rem;background:var(--project-overlay-bg);backdrop-filter:blur(4px);border:1px solid var(--glass-border);padding:.2rem .5rem;border-radius:2px;display:flex;align-items:center;gap:.35rem}.status-dot-active{width:6px;height:6px;border-radius:50%;background:var(--accent-success);display:inline-block}.status-text-active{color:var(--text-primary);font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.05em}.project-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;text-align:left}.project-index-code{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-bottom:.35rem;letter-spacing:.05em}.project-title{font-size:1.15rem;font-weight:600;margin-bottom:.6rem;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.project-short-desc{color:var(--text-secondary);font-size:.85rem;font-weight:300;margin-bottom:1.25rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;margin-bottom:1.25rem}.tech-tag{padding:.25rem .6rem;background:rgba(59,130,246,.04);color:var(--accent-color);font-size:.7rem;border-radius:2px;border:1px solid rgba(59,130,246,.12);font-family:var(--font-mono);font-weight:500;transition:all .2s ease}.tech-tag:hover{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.25)}.tech-tag-more{padding:.25rem .6rem;background:rgba(255,255,255,.02);color:var(--text-muted);font-size:.7rem;border-radius:2px;border:1px solid var(--border-color);font-family:var(--font-mono);font-weight:500}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border-color)}.click-hint{color:var(--accent-success);font-size:.8rem;font-family:var(--font-mono);font-weight:500;display:flex;align-items:center;gap:.4rem;transition:gap .2s ease}.project-card:hover .click-hint{gap:.6rem}.arrow-icon{width:.85rem;height:.85rem;stroke-width:2.5}.see-more-container{margin-top:3rem;display:flex;justify-content:center;width:100%}.see-more-btn{padding:.7rem 1.75rem;background:rgba(255,255,255,.01);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-family:var(--font-mono);font-size:.85rem;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:.75rem;transition:all .2s ease}.see-more-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary);transform:translateY(-2px)}.arrow-icon-right{width:1rem;height:1rem;stroke-width:2.5;transition:transform .2s ease}.see-more-btn:hover .arrow-icon-right{transform:translate(4px)}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.25rem}}@media (max-width: 480px){.works-title{font-size:2rem}.works-subtitle{padding:0}.project-image-wrapper{height:10rem}.project-content{padding:1.25rem}}#contactPage{min-height:auto;padding:4rem 1.5rem;width:100%;max-width:60rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.contactSubtitleCode{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem;margin-bottom:.5rem;display:block}.contactPageTitle{font-size:2.5rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.contactDesc{padding:0 1rem 2rem;font-size:.95rem;font-weight:300;color:var(--text-secondary);max-width:36rem;line-height:1.6}#contact{width:100%;display:flex;flex-direction:column;align-items:center}.contactForm{display:flex;flex-direction:column;align-items:center;width:100%;max-width:32rem;gap:.75rem}.name,.email,.msg{font-family:var(--font-sans);font-size:.9rem;width:100%;margin:0;padding:.85rem 1rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);outline:none;transition:all .2s ease}.name:focus,.email:focus,.msg:focus{border-color:var(--accent-color);box-shadow:0 0 8px rgba(59,130,246,.15);background:var(--bg-tertiary)}.msg{resize:none}.submitBtn{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);border-radius:4px;margin-top:1rem;padding:.75rem 2.5rem;font-family:var(--font-mono);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.submitBtn:hover{background:transparent;color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow-large)}.links{margin-top:3rem;display:flex;gap:1.25rem}.link{height:2.2rem;width:2.2rem;opacity:.6;cursor:pointer;transition:all .2s ease;filter:var(--social-icon-filter)}.link:hover{opacity:1;transform:translateY(-2px)}@media (max-width: 480px){.contactPageTitle{font-size:2rem}.submitBtn{width:100%;align-self:center}}.footer{width:100%;height:5rem;margin-top:4rem;display:flex;justify-content:center;align-items:center;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);background:var(--bg-primary);border-top:1px solid var(--border-color)}#education{width:100%;max-width:66rem;margin:0 auto;padding:4rem 1.5rem;display:flex;flex-direction:column;align-items:center}.eduSubtitleCode{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem;margin-bottom:.5rem;display:block}.eduTitle{font-size:2.5rem;font-weight:700;margin-bottom:2.5rem;color:var(--text-primary)}.eduCard{width:100%;padding:2rem;display:flex;gap:2rem;align-items:flex;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;contain:layout paint;transition:all .25s ease}.eduCard:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow)}.eduLogo{flex-shrink:0;background:var(--glass-bg);border:1px solid var(--border-color);padding:.75rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.eduLogo img{width:100px;height:auto;filter:grayscale(.2) brightness(.95);transition:filter .2s ease}.eduCard:hover .eduLogo img{filter:grayscale(0) brightness(1.05)}.eduContent{display:flex;flex-direction:column;gap:.5rem;flex-grow:1;text-align:left}.eduHeader{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.eduContent h2{font-size:1.3rem;font-weight:600;color:var(--text-primary)}.eduContent h3{font-size:1rem;font-weight:400;color:var(--text-secondary)}.eduYear{font-family:var(--font-mono);font-size:.85rem;color:var(--accent-success);font-weight:500}.eduGpa{display:inline-flex;gap:.5rem;align-items:center;font-size:.85rem;margin:.25rem 0}.gpaLabel{font-family:var(--font-mono);color:var(--accent-color);font-weight:600}.gpaValue{color:var(--text-primary);font-weight:500}.eduContent p{font-size:.9rem;font-weight:300;line-height:1.6;color:var(--text-secondary);margin-top:.5rem}@media (max-width: 768px){.eduCard{flex-direction:column;align-items:flex;gap:1.25rem;padding:1.5rem}.eduLogo{align-self:center;background:none;border:none}.eduHeader{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width: 480px){.eduTitle{font-size:2rem}.eduContent h2{font-size:1.15rem}}#certifications{width:100%;padding:4rem 1.5rem}.certSubtitleCode{font-family:var(--font-mono);color:var(--accent-color);font-size:.9rem;margin-bottom:.5rem;display:block}.certTitle{font-size:2.5rem;font-weight:700;margin-bottom:2.5rem;color:var(--text-primary)}.certContainer{width:100%;max-width:66rem;margin:0 auto;display:flex;flex-direction:column;align-items:center}.certGrid{display:flex;flex-direction:column;gap:2rem;width:100%}.certConsole{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s ease,box-shadow .2s ease}.certConsole:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-large)}.consoleHeader{background:var(--glass-bg);border-bottom:1px solid var(--border-color);padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem}.windowDots{display:flex;gap:6px}.windowDots .dot{width:10px;height:10px;border-radius:50%;opacity:.75}.windowDots .dot.red{background:#ff5f56}.windowDots .dot.yellow{background:#ffbd2e}.windowDots .dot.green{background:#27c93f}.consoleTitle{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem}.consoleIssuer{margin-left:auto;color:var(--accent-cyan);font-size:.8rem;font-weight:600;font-family:var(--font-sans)}.consoleBody{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.consoleFooter{background:var(--glass-bg);border-top:1px solid var(--border-color);padding:.75rem 1.25rem;display:flex;justify-content:center;align-items:center}.consoleExpandBtn{background:transparent;border:none;color:var(--accent-success);font-family:var(--font-mono);font-size:.78rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease}.consoleExpandBtn:hover{color:var(--accent-cyan);transform:translateY(-1px)}.credentialCard{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:1rem;display:flex;flex-direction:column;transition:all .25s ease}.credentialCard:hover{border-color:var(--border-hover);background:var(--glass-hover);transform:translateY(-2px);box-shadow:var(--card-shadow)}.certMetaHeader{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.75rem}.certStatusTag{color:var(--accent-success);font-weight:600}.certDate{color:var(--text-muted)}.certName{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:.6rem 0;line-height:1.4}.certFooter{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}.certId{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.certLink{color:var(--accent-cyan);border:1px solid rgba(6,182,212,.25);border-radius:4px;font-family:var(--font-mono);font-size:.72rem;padding:.25rem .6rem;text-decoration:none;transition:all .2s ease}.certLink:hover{background:var(--accent-cyan);color:var(--bg-primary);border-color:var(--accent-cyan)}.certNoLink{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}@media screen and (max-width: 960px){.certGrid{grid-template-columns:1fr;gap:1.5rem}.consoleTitle{display:none}}@media screen and (max-width: 480px){.certTitle{font-size:2rem;margin-bottom:1.5rem}.consoleHeader{padding:.6rem 1rem}.consoleBody{padding:1rem;gap:.6rem}.credentialCard{padding:.85rem}}.project-page{min-height:100vh;padding-bottom:4rem;background-color:var(--bg-primary)}.project-detail-container,.project-page-shell{width:100%;max-width:66rem;margin:0 auto;padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}.project-hero{position:relative;padding:3rem 0 1.5rem;overflow:hidden}.project-hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 10% 20%,rgba(59,130,246,.05),transparent 40%),radial-gradient(circle at 85% 15%,rgba(16,185,129,.05),transparent 40%);pointer-events:none}.project-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:2rem;align-items:center}.project-hero-copy{display:flex;flex-direction:column;align-items:flex-start}.project-back-btn{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.75rem;padding:.6rem 1.1rem;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary);background:var(--bg-secondary);font-family:var(--font-mono);font-size:.8rem;cursor:pointer;transition:all .2s ease}.project-back-btn:hover{transform:translateY(-2px);border-color:var(--text-primary);background:var(--glass-bg)}.project-eyebrow,.project-section-label{margin-bottom:.75rem;color:var(--accent-color);font-family:var(--font-mono);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.project-hero-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;margin-bottom:1rem;color:var(--text-primary)}.project-hero-subtitle{max-width:40rem;color:var(--text-secondary);font-size:1rem;line-height:1.6}.project-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.project-cta-primary,.project-cta-secondary{min-width:9rem;padding:.75rem 1.5rem;border-radius:4px;font-family:var(--font-sans);font-size:.85rem;font-weight:600;text-align:center;text-decoration:none;transition:all .22s ease}.project-cta-primary{color:var(--bg-primary);background:var(--text-primary);border:1px solid var(--text-primary)}.project-cta-primary:hover{background:transparent;color:var(--text-primary);box-shadow:0 0 12px var(--accent-glow-large)}.project-cta-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:var(--bg-secondary)}.project-cta-secondary:hover{border-color:var(--text-secondary);background:var(--glass-bg)}.project-cta-primary:hover,.project-cta-secondary:hover{transform:translateY(-2px)}.project-preview-card{position:relative;padding:.5rem;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow-large)}.project-preview-card-interactive{display:block;width:100%;margin:0;cursor:zoom-in;font-family:inherit;text-align:inherit;color:inherit;transition:all .25s ease;overflow:hidden}.project-preview-card-interactive:hover{transform:translateY(-4px);border-color:var(--border-hover)}.project-preview-zoom-indicator{position:absolute;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;display:flex;align-items:center;justify-content:center;background:var(--project-detail-bg);backdrop-filter:blur(2px);border-radius:4px;opacity:0;transition:opacity .25s ease;pointer-events:none}.project-preview-card-interactive:hover .project-preview-zoom-indicator{opacity:1}.project-preview-zoom-indicator .zoom-icon{width:2rem;height:2rem;color:var(--accent-success);filter:drop-shadow(0 2px 8px var(--project-detail-shadow));transform:scale(.85);transition:transform .25s ease}.project-preview-card-interactive:hover .project-preview-zoom-indicator .zoom-icon{transform:scale(1)}.project-preview-image{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:4px}.project-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:1.5rem;margin-top:1.5rem}.project-story-panel{padding:2rem;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--card-shadow)}.project-story-text{color:var(--text-secondary);font-size:.95rem;line-height:1.8}.project-story-side{display:flex;flex-direction:column;gap:1.5rem}.project-metric-block{display:flex;flex-direction:column}.project-tech-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.project-tech-pill{padding:.35rem .7rem;border-radius:2px;color:var(--accent-color);background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.15);font-size:.75rem;font-family:var(--font-mono);font-weight:500}.project-highlight-list{display:grid;gap:.75rem;margin-top:.5rem}.project-highlight-item{display:grid;grid-template-columns:auto 1fr;gap:.75rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.project-highlight-dot{width:6px;height:6px;margin-top:.5rem;border-radius:50%;background:var(--accent-success);box-shadow:0 0 8px rgba(16,185,129,.4)}.project-architecture{margin-top:2rem;padding-bottom:1rem}.project-architecture-header{margin-bottom:1.25rem}.project-section-title{font-size:1.6rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.project-architecture-note{max-width:42rem;color:var(--text-muted);font-size:.85rem;line-height:1.6}.project-architecture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.project-architecture-card{width:100%;text-align:left;padding:.75rem;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border-color);cursor:zoom-in;transition:all .22s ease}.project-architecture-card:hover{transform:translateY(-4px);border-color:var(--border-hover);background:var(--glass-hover)}.project-architecture-image{width:100%;display:block;border-radius:4px;object-fit:cover;aspect-ratio:16 / 9;border:1px solid var(--border-color)}.project-architecture-card figcaption{margin-top:.75rem;color:var(--text-secondary);font-size:.85rem;line-height:1.5;padding:0 .25rem}.project-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;overflow:hidden;padding:1rem;background:rgba(4,4,6,.9);backdrop-filter:blur(8px)}.project-image-modal-card{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-image-modal-image{width:auto;max-width:100%;max-height:100%;height:auto;display:block;object-fit:contain;border-radius:4px}.project-image-modal-close{position:fixed;top:1.5rem;right:1.5rem;z-index:1001;width:2.2rem;height:2.2rem;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.project-image-modal-close:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.mobile-preview-only{display:none}.desktop-preview-only{display:block}.project-page-missing{display:grid;place-items:center;padding-top:4rem}@media screen and (max-width: 960px){.project-hero-grid,.project-story{grid-template-columns:1fr}.mobile-preview-only{display:block;margin:1.25rem 0}.desktop-preview-only{display:none}}@media screen and (max-width: 720px){.project-page-shell{padding-left:1rem;padding-right:1rem}.project-hero{padding-top:1.5rem}.project-hero-subtitle,.project-story-text,.project-highlight-item{font-size:.9rem}.project-story-panel{padding:1.25rem}.project-hero-actions{width:100%}.project-cta-primary,.project-cta-secondary{flex:1 1 100%}.project-architecture-grid{grid-template-columns:1fr}}
