@font-face{font-display:swap;font-family:RedHatMono;size-adjust:105%;src:url(/assets/RedHatMono-Regular-2-BqSddiu8.woff2) format("woff2");unicode-range:u+000-5ff}.inline-cmd{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.88rem;gap:.4rem;line-height:1.6;margin-top:2rem}.inline-cmd-code{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;color:var(--primary);cursor:pointer;font-family:inherit;font-size:.88rem;padding:.15rem .5rem;transition:all .15s ease}.inline-cmd-code:hover{background:var(--primary-dim);border-color:var(--primary)}.inline-cmd-code.copied{background:#27c93f1a;border-color:#27c93f;color:#27c93f}.inline-cmd-sep{color:var(--text-secondary);font-size:.75rem;letter-spacing:1px;opacity:.5;text-transform:uppercase}.social-row{display:flex;gap:.75rem;margin-top:2rem}.social-link{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);display:flex;height:2.75rem;justify-content:center;position:relative;transition:all .25s ease;width:2.75rem}.social-link:hover{background:var(--primary-dim);border-color:var(--primary);box-shadow:0 4px 16px #0000001a;color:var(--primary);transform:translateY(-2px)}.social-link svg{height:1.25rem;width:1.25rem}.social-link:hover:after{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;bottom:-2.2rem;color:var(--primary);content:attr(title);font-size:.7rem;left:50%;padding:.2rem .6rem;position:absolute;transform:translate(-50%);white-space:nowrap}.about-text{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.about-text p{margin-bottom:.75rem}.about-text .accent{color:var(--text);font-weight:600}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-row{gap:1rem}.skill-info,.skill-row{align-items:center;display:flex}.skill-info{flex-shrink:0;gap:.5rem;min-width:150px}.skill-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.skill-dot[data-domain=lang]{background:var(--primary)}.skill-dot[data-domain=frontend]{background:var(--secondary)}.skill-dot[data-domain=cloud]{background:#8b5cf6}.skill-dot[data-domain=fun]{background:#ec4899}.skill-name{color:var(--text);font-size:.9rem}.skill-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:3px;height:100%;transition:width .7s cubic-bezier(.22,1,.36,1);width:0}.timeline{position:relative}.timeline-line{background:linear-gradient(180deg,var(--primary),var(--secondary),transparent);bottom:0;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:top;transition:transform .7s cubic-bezier(.22,1,.36,1);width:1px}.timeline-line.animate{transform:scaleY(1)}.timeline-item{opacity:0;padding-bottom:2rem;padding-left:2rem;position:relative;transform:translate(-16px);transition:opacity .5s ease,transform .5s ease}.timeline-item.active{opacity:1;transform:translate(0)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--bg);border:2px solid var(--primary);border-radius:50%;height:9px;left:-4px;position:absolute;top:.5rem;width:9px;z-index:2}.timeline-item.achievement .timeline-dot{background:var(--secondary-dim);border-color:var(--secondary)}.timeline-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:all .3s ease}.timeline-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.timeline-item.achievement .timeline-card{background:linear-gradient(135deg,var(--secondary-dim),transparent);border-left:2px solid var(--secondary)}.timeline-item.achievement .timeline-card:hover{border-left-color:var(--secondary)}.timeline-role{font-size:1rem;font-weight:700}.timeline-role .company{color:var(--secondary)}.timeline-period,.timeline-role .role{color:var(--primary)}.timeline-period{background:var(--primary-dim);border-radius:4px;display:inline-block;font-size:.8rem;margin-top:.35rem;padding:.15rem .5rem}.timeline-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin-top:.75rem}.timeline-desc p{margin-bottom:.4rem}.timeline-desc p:last-child{margin-bottom:0}.achievement-badge{background:var(--secondary-dim);border-radius:4px;color:var(--secondary);font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem}.oss-group{margin-bottom:2rem}.oss-group:last-child{margin-bottom:0}.oss-year{align-items:center;color:var(--primary);display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin-bottom:1rem}.oss-year:after{background:linear-gradient(90deg,var(--border),transparent);content:"";flex:1;height:1px}.oss-list{flex-direction:column;list-style:none}.oss-item a,.oss-list{display:flex;gap:.5rem}.oss-item a{align-items:baseline;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.88rem;padding:.6rem 1rem;transition:all .2s ease}.oss-item a:hover{background:var(--secondary-dim);border-color:var(--secondary);color:var(--text)}.oss-item a:before{color:var(--text-secondary);content:"~";font-size:.75rem}.oss-item .pr-link{color:var(--secondary);font-size:.75rem;margin-left:auto;white-space:nowrap}.oss-item a:hover .pr-link{color:var(--primary)}.footer{align-items:center;border-top:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem;justify-content:space-between;margin-top:6rem;max-width:800px;padding:2rem 1.5rem 3rem;width:100%}.footer a{color:var(--text)}.footer a:hover{color:var(--primary)}@media(min-width:768px){.container{padding:0 2rem}.timeline-item{padding-left:2.5rem}}@media(max-width:600px){.navbar{gap:.1rem;max-width:calc(100vw - 1rem);padding:.4rem;top:.75rem}.nav-link{font-size:.65rem;padding:.2rem .45rem}.nav-link[data-section=about]{display:none}.nav-divider{margin:0 .1rem}.theme-toggle{height:18px;margin-left:.2rem;width:30px}.theme-toggle-knob{height:12px;width:12px}html[data-theme=light] .theme-toggle-knob{transform:translate(12px)}.theme-toggle-knob svg{height:7px;width:7px}.footer{flex-direction:column;padding-bottom:2rem;text-align:center}}
