@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap);:root{--bg-primary:#000;--bg-secondary:#121212;--bg-elevated-base:#181818;--bg-elevated-highlight:#2a2a2a;--text-primary:#fff;--text-secondary:#b3b3b3;--text-subdued:#727272;--brand-green:#1db954}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,sans-serif}.portfolio-container{display:flex;flex-direction:column}.app-body{flex-grow:1}.main-content{background:linear-gradient(#2a2a2a,#121212);background:linear-gradient(var(--bg-elevated-highlight),var(--bg-secondary))}.navbar-container{align-items:center;background-color:#121212;background-color:var(--bg-secondary);display:flex;gap:20px;justify-content:space-between;padding:12px 24px}.navbar-section{align-items:center;display:flex;gap:16px}.navbar-section.center{flex-grow:1;max-width:700px}.navbar-section.right{justify-content:flex-end}.nav-arrow-btn{background:none;border:none;color:#b3b3b3;color:var(--text-secondary);cursor:pointer;font-size:22px;transition:color .2s}.nav-arrow-btn:hover{color:#fff;color:var(--text-primary)}.nav-arrow-btn.disabled{color:#727272;color:var(--text-subdued);cursor:not-allowed}.home-btn{align-items:center;background-color:#2a2a2a;background-color:var(--bg-elevated-highlight);border:none;border-radius:50%;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:background-color .2s;width:40px}.home-btn:hover{background-color:#404040}.search-bar-container{align-items:center;background-color:#2a2a2a;background-color:var(--bg-elevated-highlight);border-radius:50px;display:flex;flex-grow:1;height:40px;padding:0 15px}.lock-icon,.search-icon{color:#b3b3b3;color:var(--text-secondary)}.search-input{background:#0000;border:none;color:#fff;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;margin:0 10px;outline:none;width:100%}.search-input::placeholder{color:#b3b3b3;color:var(--text-secondary);font-family:Inter,sans-serif}.social-link-btn{color:#b3b3b3;color:var(--text-secondary);font-size:24px;text-decoration:none;transition:color .2s}.nav-action-link,.social-link-btn:hover{color:#fff;color:var(--text-primary)}.nav-action-link{background-color:#2a2a2a;background-color:var(--bg-elevated-highlight);border-radius:50px;font-size:14px;font-weight:600;padding:8px 16px;text-decoration:none;transition:background-color .2s}.nav-action-link:hover{background-color:#404040}.sidebar-container{background-color:#000;background-color:var(--bg-primary);box-sizing:border-box;color:#b3b3b3;color:var(--text-secondary);display:flex;flex-direction:column;gap:20px;padding:8px 12px 20px}.sidebar-header{align-items:center;display:flex;justify-content:space-between;padding:8px 4px}.sidebar-header h2{color:#fff;color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.icon-button{background:none;border:none;color:#b3b3b3;color:var(--text-secondary);cursor:pointer;font-size:20px;transition:color .2s}.icon-button:hover{color:#fff;color:var(--text-primary)}.info-box{background-color:#242424;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:20px}.info-box h3{color:#fff;color:var(--text-primary);font-size:16px;font-weight:700;margin:0}.info-box p{font-size:14px;line-height:1.5;margin:0}.action-button{align-self:flex-start;background-color:#1db954;background-color:var(--brand-green);border:none;border-radius:50px;color:#000;color:var(--bg-primary);cursor:pointer;font-size:14px;font-weight:700;padding:10px 24px;text-decoration:none;transition:transform .2s}.action-button:hover{text-decoration:none;transform:scale(1.05)}.tools-grid{grid-gap:16px;color:#b3b3b3;color:var(--text-secondary);display:grid;font-size:40px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(45px,1fr));padding-top:10px}.tools-grid svg:hover{color:#fff;color:var(--text-primary)}.tool-icon-wrapper{align-items:center;display:flex;justify-content:center;position:relative}.tooltip{background-color:#000;border-radius:4px;bottom:110%;color:#fff;font-size:12px;font-weight:600;opacity:0;padding:4px 10px;position:absolute;transform:translateY(5px);transition:all .2s ease-in-out;visibility:hidden;white-space:nowrap}.tool-icon-wrapper:hover .tooltip{opacity:1;transform:translateY(0);visibility:visible}.sidebar-footer{display:flex;flex-wrap:wrap;gap:16px;margin-top:auto;padding:0 8px}.sidebar-footer a{color:#727272;color:var(--text-subdued);font-size:12px;text-decoration:none}.sidebar-footer a:hover{text-decoration:underline}.lang-button{align-items:center;align-self:flex-start;background-color:initial;border:1px solid #727272;border:1px solid var(--text-subdued);border-radius:50px;color:#fff;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0 8px;padding:6px 12px;transition:transform .2s,border-color .2s}.lang-button:hover{border-color:#fff;border-color:var(--text-primary);transform:scale(1.05)}.lang-button svg{font-size:18px}.colophon-list{color:#727272;color:var(--text-subdued);font-size:13px;list-style:none;margin:0;padding:0}.colophon-list li{align-items:center;display:flex;gap:10px;margin-bottom:12px}.colophon-list li svg{flex-shrink:0;font-size:16px;width:20px}.colophon-list li strong{color:#b3b3b3;color:var(--text-secondary);font-weight:600;margin-left:-6px}.education-section,.featured-work-section,.work-experience-section{padding:24px}.featured-work-section .section-header{align-items:center;display:flex;justify-content:space-between}.education-section h2,.featured-work-section .section-header h2,.work-experience-section h2{color:#fff;color:var(--text-primary);font-size:24px;margin:0 0 20px}.featured-work-section .section-header h2{margin-bottom:0}.featured-work-section .show-all-link{color:#b3b3b3;color:var(--text-secondary);font-size:14px;font-weight:600;text-decoration:none}.featured-work-section .show-all-link:hover{text-decoration:underline}.section-header{margin-bottom:20px}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-auto-columns:210px;grid-auto-flow:column;overflow-x:auto;padding-bottom:20px;scrollbar-color:#8c8c8c #0000;scrollbar-width:thin}.projects-grid::-webkit-scrollbar{height:12px}.projects-grid::-webkit-scrollbar-track{background-color:#0003;border-radius:10px}.projects-grid::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#6a5acd,#4169e1,#48d1cc);border-radius:10px;box-shadow:0 0 8px #00000080}.projects-grid::-webkit-scrollbar-thumb:hover{filter:brightness(1.3)}.project-card{background-color:#181818;background-color:var(--bg-elevated-base);border-radius:8px;cursor:pointer;padding:16px;transition:background-color .3s ease}.project-card.expanded,.project-card:hover{background-color:#2a2a2a;background-color:var(--bg-elevated-highlight)}.card-art{aspect-ratio:1/1;border-radius:6px;color:#fff;color:var(--text-primary);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:16px;position:relative}.card-art h3{font-size:24px;font-weight:700;line-height:1.2;margin:0}.card-art .card-art-subtitle{font-size:12px;font-weight:400;margin:0;padding-top:10px}.action-buttons{bottom:12px;display:flex;gap:10px;opacity:0;position:absolute;right:12px;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.project-card:hover .action-buttons{opacity:1;transform:translateY(0)}.project-action-btn{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 12px #0006;display:flex;font-size:18px;height:40px;justify-content:center;transition:transform .2s;width:40px}.project-action-btn:hover{transform:scale(1.1)}.project-action-btn.github{background-color:#fff;color:#000}.project-action-btn.play{background-color:#1db954;background-color:var(--brand-green);color:#000}.card-description{font-size:14px;margin-top:16px}.card-description,.project-details{color:#b3b3b3;color:var(--text-secondary)}.project-details{max-height:0;overflow:hidden;transition:max-height .4s ease-out,margin-top .4s ease-out}.project-card.expanded .project-details{margin-top:16px;max-height:200px}.project-details h5{color:#fff;color:var(--text-primary);font-size:14px;margin:0 0 8px}.project-details p{font-size:14px;line-height:1.6;margin:0}.experience-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.education-list{display:flex;flex-direction:column;gap:16px}.experience-item{background-color:#2a2a2a;background-color:var(--bg-elevated-highlight);border-radius:6px;cursor:pointer;transition:background-color .3s ease}.experience-item.expanded,.experience-item:hover .experience-summary{background-color:#404040}.experience-summary{align-items:center;border-radius:6px;display:flex;min-height:80px;overflow:hidden;position:relative}.play-button{align-items:center;background-color:#1db954;background-color:var(--brand-green);border:none;border-radius:50%;box-shadow:0 4px 12px #0006;color:#000;display:flex;font-size:18px;height:48px;justify-content:center;opacity:0;padding-left:8px;position:absolute;right:25px;top:50%;transform:translateY(-50%);transform:translateY(-50%) scale(.8);transition:opacity .3s ease,transform .3s ease;width:48px}.experience-item:hover .play-button{opacity:1;transform:translateY(-50%) scale(1)}.play-button:hover{transform:translateY(-50%) scale(1.1)!important}.company-logo{flex-shrink:0;height:80px;object-fit:cover;width:80px}.experience-details{display:flex;flex-direction:column;gap:4px;padding:0 16px}.experience-details h4{color:#fff;color:var(--text-primary);font-size:16px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.experience-details p{color:#b3b3b3;color:var(--text-secondary);font-size:14px;margin:0}.experience-full-details{color:#b3b3b3;color:var(--text-secondary);max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.8,.25,1),padding .5s cubic-bezier(.25,.8,.25,1)}.experience-item.expanded .experience-full-details{max-height:500px;padding:0 20px 20px}.experience-full-details ul{font-size:14px;line-height:1.6;list-style-type:disc;margin:0;padding-left:20px}.experience-full-details li{margin-bottom:8px}.footer-player-container{align-items:center;background-color:#181818;background-color:var(--bg-elevated-base);border-top:1px solid #2a2a2a;border-top:1px solid var(--bg-elevated-highlight);bottom:0;display:grid;grid-template-columns:1fr 1.5fr 1fr;height:90px;left:0;padding:0 16px;position:fixed;width:100%;z-index:100}.player-left{align-items:center;display:flex;gap:14px}.profile-art{border-radius:4px;height:56px;width:56px}.status-info h4{font-size:14px;font-weight:600;margin:0 0 4px}.status-info p{color:#b3b3b3;color:var(--text-secondary);font-size:12px;margin:0}.player-center{align-items:center;display:flex;flex-direction:column;gap:8px}.player-controls-top{align-items:center;display:flex;gap:16px}.control-btn-small{background:none;border:none;color:#b3b3b3;color:var(--text-secondary);cursor:pointer;font-size:16px;transition:color .2s}.control-btn-small:hover{color:#fff;color:var(--text-primary)}.control-btn-large.play{align-items:center;background-color:#fff;background-color:var(--text-primary);border-radius:50%;color:#000;color:var(--bg-primary);display:flex;font-size:14px;height:32px;justify-content:center;text-decoration:none;transition:transform .2s;width:32px}.control-btn-large.play:hover{transform:scale(1.05)}.progress-bar-container{align-items:center;display:flex;gap:8px;max-width:500px;width:100%}.time{color:#b3b3b3;color:var(--text-secondary);font-size:11px}.progress-bar-bg{background-color:#535353;border-radius:2px;flex-grow:1;height:4px}.progress-bar-fg{background-color:#fff;background-color:var(--text-primary);border-radius:2px;height:100%;width:60%}.player-right{align-items:center;display:flex;gap:16px;justify-content:flex-end}.blog-page-layout{display:grid;grid-template-columns:300px 1fr;height:100%;overflow:hidden}.blog-sidebar{border-right:1px solid #2a2a2a;border-right:1px solid var(--bg-elevated-highlight);overflow-y:auto;padding:24px}.blog-sidebar h3{color:#b3b3b3;color:var(--text-secondary);font-size:16px;letter-spacing:1px;margin:0 0 20px;text-transform:uppercase}.blog-post-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.blog-post-list button{background:none;border:none;border-radius:6px;color:#b3b3b3;color:var(--text-secondary);cursor:pointer;padding:12px;text-align:left;transition:background-color .2s;width:100%}.blog-post-list button.active,.blog-post-list button:hover{background-color:#2a2a2a;background-color:var(--bg-elevated-highlight)}.blog-post-list button.active{color:#fff;color:var(--text-primary)}.blog-post-list .post-title{display:block;font-weight:600}.blog-post-list .post-date{font-size:12px;opacity:.7}.blog-post-content{overflow-y:auto;padding:40px}.blog-post-content h1{color:#fff;color:var(--text-primary);font-size:42px;margin:0 0 10px}.blog-post-content .post-meta{color:#b3b3b3;color:var(--text-secondary);margin-bottom:40px}.blog-post-content .post-body p{color:#b3b3b3;color:var(--text-secondary);font-size:16px;line-height:1.8;margin-bottom:20px}.app-body,.blog-page-layout{transition:grid-template-columns .3s ease-in-out}@media (max-width:1024px){.app-body{grid-template-columns:280px 1fr}.blog-page-layout{grid-template-columns:250px 1fr}.projects-grid{grid-auto-columns:190px}.experience-grid{grid-template-columns:1fr}}@media (max-width:768px){.app-body{display:block;grid-template-columns:1fr}.sidebar-container{display:none}.main-content{padding-bottom:70px}.navbar-container{padding:10px 16px}.nav-arrow-btn,.navbar-section.center .search-bar-container{display:none}.navbar-section.left{flex-grow:1}.footer-player-container{gap:10px;grid-template-columns:1fr;height:auto;padding:12px 16px;position:static}.player-center,.player-right{display:none}.education-section,.featured-work-section,.work-experience-section{padding:20px 16px}.education-section h2,.featured-work-section .section-header h2,.work-experience-section h2{font-size:22px}.experience-grid{grid-template-columns:1fr}.projects-grid{padding-bottom:16px}.blog-page-layout{display:block}.blog-sidebar{border-bottom:1px solid #2a2a2a;border-bottom:1px solid var(--bg-elevated-highlight);border-right:none;height:auto;overflow-y:visible;padding:16px}.blog-post-content{padding:24px 16px}.blog-post-content h1{font-size:32px}}@media (max-width:480px){.navbar-container{gap:12px}.nav-action-link,.social-link-btn{font-size:12px;padding:6px 12px}.social-link-btn{font-size:20px}.projects-grid{gap:16px;grid-auto-columns:160px}.card-art h3{font-size:20px}.card-art .card-art-subtitle{font-size:12px;padding:4px 8px}.action-buttons{gap:8px}.project-action-btn{font-size:16px;height:36px;width:36px}.project-action-btn.play{font-size:14px}.experience-summary{min-height:70px}.company-logo{height:70px;width:70px}.experience-details h4{font-size:15px}.experience-details p{font-size:13px}.play-button{font-size:16px;height:40px;width:40px}}.page-container{overflow:auto;padding:24px 24px 100px}.page-title{color:#fff;color:var(--text-primary);font-size:28px;margin:0 0 24px}.projects-full-grid{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.no-results-message{color:#b3b3b3;color:var(--text-secondary);font-size:16px;padding:40px 0;text-align:center}.portfolio-container{background-color:#000;display:grid;grid-template-rows:auto 1fr auto;height:100vh;overflow:hidden}.app-body{display:grid;grid-template-columns:350px 1fr;overflow:hidden}.main-content{overflow-y:auto;padding-bottom:90px}.sidebar-container{overflow-y:auto;padding-bottom:95px}.mobile-notice{display:none}@media (max-width:1024px){.app-body,.footer-player-container,.navbar-container{display:none}.mobile-notice{align-items:center;background-color:#121212;background-color:var(--bg-secondary);box-sizing:border-box;display:flex;flex-direction:column;gap:24px;height:100vh;justify-content:center;padding:30px;text-align:center}.mobile-notice svg{color:#1db954;color:var(--brand-green);font-size:60px}.mobile-notice h2{color:#fff;color:var(--text-primary);font-size:22px;margin:0}.mobile-notice p{color:#b3b3b3;color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0;max-width:350px}}.mobile-notice .action-button{align-self:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}
/*# sourceMappingURL=main.2665bf39.css.map*/