@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{font-family:IBM Plex Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}body{margin:0;display:flex;justify-content:center;min-width:320px;min-height:100vh;background-color:#f2f2f7;color:#1e1e1e}#root{width:100%}} *{box-sizing:border-box;margin:0;padding:0}body{font-family:IBM Plex Sans,sans-serif;background-color:#f2f2f7;color:#1e1e1e;display:flex;justify-content:center;padding:12px}.portfolio-container{width:100%;display:flex;flex-direction:column;gap:8px}.top-row{display:flex;gap:8px}.profile-wrapper{flex:1;position:relative}.profile-wrapper .profile-card{position:absolute;inset:0}.top-right-stack{flex:1;display:flex;flex-direction:column;gap:8px}.main-grid{display:grid;max-width:100%;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto auto;grid-template-areas:"whoami education" "skills education" "whatido symmetry";gap:8px}.whoami-card{grid-area:whoami}.education-card{grid-area:education}.skills-card{grid-area:skills}.whatido-card{grid-area:whatido}.symmetry-box{grid-area:symmetry}@media(max-width:950px)and (min-width:769px){.top-row{display:grid;grid-template-columns:1fr 1fr}.profile-wrapper{position:relative;width:100%}.profile-wrapper .profile-card{position:absolute;inset:0}.profile-image-container{width:40%!important}}@media(max-width:768px){.top-row{display:flex;flex-direction:column}.profile-wrapper{order:2;position:relative;height:auto}.profile-wrapper .profile-card{position:relative}.top-right-stack{order:1;display:contents}.top-right-stack .nav-card{order:1}.top-right-stack .connect-card{order:3}.main-grid{grid-template-columns:1fr;grid-template-areas:"whoami" "education" "skills" "whatido"}.symmetry-box{display:none!important;visibility:hidden!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}.profile-card{flex-direction:column;padding:8px!important;gap:0!important;overflow:visible!important;height:auto!important;align-items:stretch}.profile-image-container{width:100%!important;height:auto!important;border-radius:12px!important;margin-bottom:8px;flex-shrink:0}.profile-image{width:100%!important;height:100%!important;object-fit:cover;border-radius:12px!important;display:block}.profile-info{padding:0 4px!important;flex-shrink:0;width:100%!important}.profile-info h1{font-size:24px!important;margin-bottom:4px!important}.profile-bio{margin-bottom:8px!important;font-size:16px!important;line-height:1.1!important}.profile-location{margin-top:0!important;font-size:16px!important;font-weight:500!important}.card.profile-card{overflow:visible!important}.nav-card{padding:8px!important}.logo-container{width:40px!important;height:40px!important}.logo-img{width:28px!important;height:28px!important}.nav-item{font-size:16px!important;padding:8px!important}.whoami-card h2,.connect-card h2,.education-card h2,.skills-card h2,.whatido-card h2{font-size:16px!important}.connect-btn{padding:8px!important;font-size:16px!important}.who-am-i-text{font-size:16px!important;line-height:1.1!important}.edu-item{padding:8px!important}.edu-header,.edu-degree,.edu-sub{font-size:16px!important}.skill-tag,.project-btn{padding:8px!important;font-size:16px!important}.footer{padding:12px!important;font-size:16px!important}.footer-cta{font-size:16px!important}}.card{background:#fff;border:1px solid #8E8E93;border-radius:12px;padding:8px;overflow:hidden}h2{font-size:24px;font-weight:700;margin-bottom:4px}p{font-size:24px;line-height:1.5}.profile-card{display:flex;gap:16px;padding:10px;overflow:hidden;align-items:stretch;box-sizing:border-box;height:100%}.profile-image-container{width:45%;flex-shrink:0;overflow:hidden;border-radius:8px;position:relative}.profile-image{width:100%;height:100%;border-radius:8px;object-fit:cover;object-position:center center}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #000000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.profile-info{display:flex;flex-direction:column;flex:1;padding-top:0;overflow:hidden;justify-content:flex-start;gap:4px}.profile-info h1{font-size:36px;font-weight:400;line-height:1}.profile-bio{color:#8e8e93;font-size:24px;margin-bottom:8px;line-height:1}.profile-bio strong{color:#1e1e1e;font-weight:700}.profile-location{font-size:24px;color:#1e1e1e;margin-top:auto;line-height:1;font-weight:500}.nav-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.logo-container{width:48px;height:48px;background:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-img{width:36px;height:36px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:0;margin-left:10px}.nav-item{text-decoration:none;color:#1e1e1e;font-size:24px;font-weight:500;cursor:pointer;padding:12px 24px}.nav-item.active{background:#000;color:#fff;border-radius:8px}.connect-card{padding:16px}.connect-card h2{font-size:24px;font-weight:700;margin-bottom:4px}.connect-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.connect-btn{display:flex;align-items:center;justify-content:center;gap:16px;background:#f2f2f7;border:1px solid #8E8E93;border-radius:8px;padding:12px 14px;font-size:24px;font-weight:500;cursor:pointer;color:#1e1e1e;text-decoration:none;transition:background .2s}.connect-btn:hover{background:#d1d5db}.connect-btn svg{width:24px;height:24px}.whoami-card{padding:16px;display:flex;flex-direction:column;height:100%}.whoami-card h2{font-size:24px;font-weight:700;margin-bottom:8px;line-height:1}.who-am-i-text{text-align:justify;font-size:24px;line-height:auto;word-spacing:auto;flex:1}.who-am-i-text span{font-weight:700;text-decoration:underline}.education-card{padding:16px 18px}.education-card h2{font-size:24px;font-weight:700;margin-bottom:4px}.edu-list{display:flex;flex-direction:column;gap:8px}.edu-item{background:#f2f2f7;border:1px solid #8E8E93;border-radius:8px;padding:8px}.edu-header{font-weight:700;font-size:24px}.edu-degree{font-weight:400;font-size:24px;color:#1e1e1e;text-align:end}.edu-sub{display:flex;justify-content:space-between;font-size:24px;color:#1e1e1e;margin-top:2px}.skills-card{padding:16px}.skills-card h2{font-size:24px;font-weight:700;margin-bottom:4px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skill-tag{background:#f2f2f7;border:1px solid #1E1E1E;border-radius:8px;padding:8px;font-size:24px;font-weight:500;text-align:center}.skill-tag.wide{grid-column:span 2}.whatido-card{padding:16px 18px}.whatido-card h2{font-size:24px;font-weight:700;margin-bottom:4px}.projects-list{display:flex;flex-direction:column;gap:8px}.project-btn{width:100%;background:#f2f2f7;border:1px solid #1E1E1E;border-radius:8px;padding:8px;font-size:24px;font-weight:500;text-align:center;cursor:pointer}.symmetry-box{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px 18px}.symmetry-text{font-size:24px;font-weight:400;line-height:1.1}.footer{background:#f2f2f7;border:1px solid #1E1E1E;border-radius:10px;padding:16px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.footer-cta{font-size:24px;margin-bottom:2px}.footer-cta a{color:#1e1e1e;text-decoration:underline;cursor:pointer}.footer-credits{font-size:16px;color:#8e8e93}.x-icon{width:22px;height:22px}.nav-item{text-decoration:none;color:#1e1e1e}.logo-container{text-decoration:none}.page-container{width:100%;display:flex;flex-direction:column;gap:8px}.page-top-row{display:flex;gap:8px;align-items:stretch}.page-title-card{flex:1;min-width:0;padding:16px;display:flex;flex-direction:column;justify-content:center}.page-title-card h1{font-size:24px;font-weight:700;line-height:1}.page-subtitle{color:#8e8e93;font-size:24px;margin-top:4px;line-height:1.3}.page-nav-wrapper{flex:1;min-width:0;display:flex;align-items:stretch}.page-nav-wrapper .nav-card{width:100%}.post-link{text-decoration:none;color:inherit;display:block}.post-card-item{padding:16px;cursor:pointer;transition:box-shadow .2s ease}.post-card-item:hover{box-shadow:0 4px 16px #0000001a}.featured-post{border-width:1px}.post-meta-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.featured-badge{display:inline-block;padding:8px 16px;background:#000;color:#fff;border-radius:8px;font-size:24px;font-weight:600}.post-meta{display:flex;align-items:center;gap:16px;margin-bottom:4px}.meta-item{display:flex;align-items:center;gap:6px;font-size:24px;color:#8e8e93}.post-title,.post-title-sm{font-size:24px;font-weight:700;margin-bottom:4px;line-height:1.2}.post-card-item:hover .post-title,.post-card-item:hover .post-title-sm{text-decoration:underline}.post-excerpt{font-size:24px;color:#8e8e93;margin-bottom:8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-footer-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.tags-row{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{display:inline-block;padding:8px;border-radius:8px;font-size:24px;font-weight:500;background:#f2f2f7;color:#1e1e1e;border:1px solid #1E1E1E;text-align:center}.read-more{display:flex;align-items:center;gap:4px;font-size:24px;font-weight:600;color:#1e1e1e;white-space:nowrap;transition:gap .2s ease}.post-card-item:hover .read-more{gap:8px}.posts-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-card-item{padding:8px;cursor:pointer;transition:box-shadow .2s ease}.project-card-item:hover{box-shadow:0 4px 16px #0000001a}.featured-project{border-width:1px}.featured-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:24px;font-weight:600}.star-icon{fill:#1e1e1e}.featured-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-image-wrapper{border-radius:8px;overflow:hidden;background:#f2f2f7;aspect-ratio:16/9}.project-image-wrapper.small{margin-bottom:4px}.project-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card-item:hover .project-img{transform:scale(1.05)}.project-info{display:flex;flex-direction:column;justify-content:center;gap:8px}.project-title{font-size:24px;font-weight:700;line-height:1.2}.project-title-sm{font-size:24px;font-weight:700;margin-bottom:2px;line-height:1}.project-card-item:hover .project-title,.project-card-item:hover .project-title-sm{text-decoration:underline}.project-desc{font-size:24px;color:#8e8e93;line-height:1.3}.project-desc-sm{font-size:24px;color:#8e8e93;margin-bottom:4px;line-height:1.1;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.project-links{display:flex;gap:8px;margin-top:4px}.action-btn{display:flex;align-items:center;justify-content:center;gap:16px;flex:1;padding:8px;background:#f2f2f7;border:1px solid #8E8E93;border-radius:8px;font-size:24px;font-weight:500;color:#1e1e1e;text-decoration:none;transition:background .2s ease;cursor:pointer}.action-btn:hover{background:#d1d5db}.action-btn-primary{background:#000;color:#fff;border-color:#000}.action-btn-primary:hover{background:#333}.action-btn-sm{padding:12px 14px;font-size:24px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-content{display:flex;flex-direction:column;gap:8px}.back-link{display:inline-flex;align-items:center;gap:16px;padding:12px 14px;background:#f2f2f7;border:1px solid #8E8E93;border-radius:8px;font-size:24px;font-weight:500;color:#1e1e1e;text-decoration:none;width:fit-content;transition:background .2s ease}.back-link:hover{background:#d1d5db}.detail-header{padding:16px}.detail-title{font-size:24px;font-weight:700;margin-bottom:4px;line-height:1}.detail-excerpt{font-size:24px;color:#8e8e93;line-height:1.3;margin-bottom:8px}.detail-body{padding:16px}.section-heading{font-size:24px;font-weight:700;margin-bottom:8px}.detail-not-found{padding:16px;text-align:center}.detail-not-found h1{font-size:24px;font-weight:700;margin-bottom:4px}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.detail-info-card{padding:16px}.detail-info-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.detail-info-header h3{font-size:24px;font-weight:700}.icon-green{color:#34c759}.icon-orange{color:#ff9500}.icon-yellow{color:#fc0}.detail-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.detail-info-list li{font-size:24px;color:#8e8e93;display:flex;gap:8px;line-height:1.3}.bullet{color:#1e1e1e;flex-shrink:0}.prose-content{font-size:24px;line-height:1.5;color:#1e1e1e}.prose-h2{font-size:24px;font-weight:700;margin-top:24px;margin-bottom:8px}.prose-h2:first-child{margin-top:0}.prose-h3{font-size:24px;font-weight:700;margin-top:16px;margin-bottom:8px}.prose-paragraph{margin-bottom:8px;line-height:1.5}.prose-bold{font-weight:700}.prose-list-item{margin-bottom:4px;padding-left:16px;line-height:1.5}.prose-hr{border:none;border-top:1px solid #8E8E93;margin:16px 0}.prose-italic{color:#8e8e93;font-style:italic;margin:8px 0}@media(max-width:768px){.page-top-row{flex-direction:column}.page-nav-wrapper,.page-nav-wrapper .nav-card{width:100%}.posts-grid,.projects-grid,.featured-project-grid,.detail-info-grid{grid-template-columns:1fr}.page-title-card h1,.page-subtitle{font-size:16px!important}.featured-badge{font-size:16px!important;padding:8px!important}.post-title,.post-title-sm{font-size:16px!important}.post-excerpt{font-size:16px!important;line-height:1.1!important}.post-meta .meta-item{font-size:16px!important}.tech-tag{padding:8px!important;font-size:16px!important}.read-more,.project-title,.project-title-sm{font-size:16px!important}.project-desc,.project-desc-sm{font-size:16px!important;line-height:1.1!important}.featured-label{font-size:16px!important}.action-btn,.action-btn-sm,.back-link{padding:8px!important;font-size:16px!important}.detail-title,.detail-excerpt,.section-heading,.detail-info-header h3,.detail-info-list li{font-size:16px!important}.prose-content{font-size:16px!important;line-height:1.1!important}.prose-h2,.prose-h3{font-size:16px!important}}
