@font-face{font-family:Geist Sans;src:url(https://assets.codepen.io/605876/GeistVF.ttf) format("truetype")}@property --angle{inherits: true; initial-value: 0deg; syntax: "<angle>";}:root{--bg: #101414;--surface: #1a1d1d;--card: #242426;--card-hover: #2b2b2f;--border: #3a3a3f;--text: #f4f4f5;--text-secondary: #c7c7cc;--accent: #64ffda;--accent-dim: rgba(100, 255, 218, .08);--accent-border: rgba(100, 255, 218, .18);--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .4);--primary: aquamarine}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark only}body{min-height:100dvh;display:flex;place-items:center;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg)}h1,h2,h3{margin:0}h1{color:#fff}*{color:var(--text-secondary);font-family:Roboto,sans-serif;font-optical-sizing:auto;font-style:normal}body:before{--size: 60px;content:"";height:100vh;width:100vw;position:fixed;background:linear-gradient(90deg,var(--primary) 1px,transparent 1px var(--size)) 50% 50% / var(--size) var(--size),linear-gradient(var(--primary) 1px,transparent 1px var(--size)) 50% 50% / var(--size) var(--size);mask:linear-gradient(0deg,#00000010 30%,#ffffff);top:0;transform-style:flat;pointer-events:none;z-index:-1}.page-wrapper{max-width:1200px;margin:0 auto;width:100%}.home-layout{display:grid;grid-template-columns:380px 1fr;gap:1.25rem;align-items:start}.home-left,.home-right{display:flex;flex-direction:column;gap:1.25rem}@media(max-width:56em){body{padding:1.5rem .75rem}.home-layout{grid-template-columns:1fr;max-width:600px}.home-left,.home-right{display:contents}.home-left>:nth-child(1){order:1}.home-right>:nth-child(1){order:2}.home-right>:nth-child(2){order:3}.home-left>:nth-child(2){order:4}.home-left>:nth-child(3){order:5}.home-left>:nth-child(4){order:6}}@media(max-width:42em){body{padding:1rem .5rem}}.box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.profile-name{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.4rem}.profile-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);padding:.2rem .6rem;border-radius:20px;margin-bottom:.6rem}.profile-status .fa-circle{font-size:.4rem}.profile-role{font-size:.9rem;line-height:1.5}.profile-role .primary{color:var(--accent);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.75rem 0}.tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border);padding:.25rem .55rem;border-radius:6px}.email-label{font-size:.75rem;color:var(--text);margin-top:.25rem;display:block}.email-row{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}.email-text{font-size:.8rem;color:var(--text);background:var(--surface);padding:.35rem .6rem;border-radius:var(--radius-sm);flex:1}.btn-icon{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.35rem .55rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:background .2s}.btn-icon:hover{background:var(--accent-dim)}.section-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1rem;padding-left:.75rem;border-left:3px solid var(--accent)}.exp-list{display:flex;flex-direction:column;gap:.6rem}.exp-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem .85rem}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.2rem}.exp-title{font-weight:600;color:var(--text);font-size:.9rem}.exp-date{font-size:.72rem;color:var(--accent);white-space:nowrap;flex-shrink:0}.exp-company{font-size:.78rem;color:var(--text-secondary);margin-bottom:.2rem}.exp-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.45}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:42em){.projects-grid{grid-template-columns:1fr}}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000080}.project-img-wrap{width:100%;height:140px;overflow:hidden;background:#1a1a1d}.project-img{width:100%;height:100%;object-fit:cover;display:block}.project-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--border)}.project-info{padding:.7rem}.project-name{font-weight:600;color:var(--text);font-size:.82rem;margin-bottom:.25rem}.project-desc{font-size:.72rem;color:var(--text-secondary);line-height:1.4;margin-bottom:.45rem}.btn-view{font-size:.7rem;color:var(--accent);background:transparent;border:1px solid var(--accent-border);padding:.25rem .65rem;border-radius:5px;cursor:pointer;transition:background .15s}.btn-view:hover{background:var(--accent-dim)}.tech-group{margin-bottom:.6rem}.tech-group:last-child{margin-bottom:0}.tech-title{font-size:.78rem;font-weight:600;color:var(--accent);margin-bottom:.3rem}.tech-list{list-style:none;padding:0;margin:0}.tech-item{font-size:.78rem;color:var(--text-secondary);padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.tech-item:last-child{border-bottom:none}.social-links{display:flex;gap:1.2rem;justify-content:center;align-items:center}.social-icon{font-size:1.35rem;color:var(--text-secondary);cursor:pointer;transition:color .15s}.social-icon:hover{color:var(--accent)}.modal-overlay{background-color:#000000b3}.modal-content{background:var(--card)}.fa-solid{color:var(--accent)}.justify-content{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}.justify-around{display:flex;flex-wrap:nowrap;align-items:center;align-content:center;justify-content:space-around}.center{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;text-align:center}.primary{color:var(--accent)}.white{color:var(--text)}.black{color:#000}.w-100{width:100%}.mb-2{margin-bottom:2rem}.mb-1{margin-bottom:1rem}.p-1{padding:1rem}.fz-s{font-size:small}.tooltip{position:relative;display:inline-block;cursor:pointer}.tooltip-text{visibility:hidden;background-color:#000;color:#fff;text-align:center;padding:6px;border-radius:5px;position:absolute;z-index:1;top:-40px;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s ease;font-size:.7rem;white-space:nowrap}.tooltip.show .tooltip-text{visibility:visible;opacity:1}.truncate-2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}@supports ((-webkit-line-clamp: 2) or (line-clamp: 2)){.truncate-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal}}a{color:var(--accent);cursor:pointer;text-decoration:none}ul{margin-block-start:0;margin-block-end:0;padding-inline-start:25px}.error-404{text-align:center;padding:3rem 1rem}.array{margin-top:5px;margin-bottom:5px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;gap:5px}.spamKK{background-color:#64ffda0f;border:1px solid var(--accent-border);padding:.25rem .55rem;border-radius:5px;font-size:.72rem;color:var(--accent)}.bg-primary{background-color:transparent;border:1px solid var(--accent);color:var(--accent);padding:.25rem .55rem;border-radius:5px;cursor:pointer;font-size:.72rem;transition:background .15s}.bg-primary:hover{background:var(--accent-dim)}.ico-btn{font-size:30px;cursor:pointer}.ico-btn:hover{color:var(--accent)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:999;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{position:absolute;width:100%;height:100%;background-color:#000000bf}.modal-content{position:relative;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);z-index:1;max-width:620px;width:calc(100vw - 2rem);max-height:88vh;overflow-y:auto;padding:0;animation:modalSlideUp .25s ease;scrollbar-width:thin;scrollbar-color:var(--border) transparent}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;position:sticky;top:0;background:var(--card);z-index:2;border-bottom:1px solid var(--border)}.modal-title{font-size:1.05rem;font-weight:700;color:var(--text);flex:1;padding-right:.75rem}.modal-close{background:transparent;border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:background .15s,color .15s;flex-shrink:0}.modal-close:hover{background:#ef444426;color:#ef4444;border-color:#ef44444d}.modal-body{padding:1.25rem}.modal-body>.section-title{margin-bottom:.75rem}.modal-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin-bottom:1.25rem}.modal-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.modal-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--accent);background:transparent;border:1px solid var(--accent-border);padding:.3rem .65rem;border-radius:6px;cursor:pointer;text-decoration:none;transition:background .15s}.modal-link:hover{background:var(--accent-dim)}.carousel{position:relative;overflow:hidden;text-align:center;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;flex-direction:column;align-content:center}.carousel-img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0000008c;border:1px solid rgba(255,255,255,.1);color:#fff;width:30px;height:30px;border-radius:50%;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;transition:background .15s;padding:0;line-height:1}.carousel-btn:hover{background:#000c}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.carousel-dots{display:flex;gap:5px;justify-content:center;margin-top:8px}.carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;border:none;padding:0;transition:background .15s}.carousel-dot.active{background:var(--accent);width:18px;border-radius:3px}.carousel-counter{position:absolute;bottom:8px;right:10px;background:#0000008c;color:#fff;font-size:.65rem;padding:2px 8px;border-radius:10px;z-index:1;border:1px solid rgba(255,255,255,.1)}
