@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";:root{--bg:#0e1117;--bg2:#161b26;--bg3:#1e2533;--bg4:#252d3d;--border:#2a3347;--border2:#3a4a63;--text:#e8edf5;--text2:#8a95ab;--text3:#505c75;--green:#22c55e;--green-bg:#0b2217;--blue:#3b82f6;--blue-bg:#0b1a35;--amber:#f59e0b;--amber-bg:#261e09}html,body{overscroll-behavior-y:none;margin:0;padding:0}.pf-root *,.pf-root :before,.pf-root :after{box-sizing:border-box;margin:0;padding:0}.pf-root{background:var(--bg);color:var(--text);min-height:100vh;padding:28px 20px 48px;font-family:Outfit,sans-serif}.pf-inner{flex-direction:column;gap:14px;max-width:860px;margin:0 auto;display:flex}.pf-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:24px}.pf-profile-row{align-items:flex-start;gap:20px;display:flex}.pf-avatar-wrap{flex-shrink:0;position:relative}.pf-avatar{background:var(--bg3);border:2px solid var(--border2);width:84px;height:84px;color:var(--text3);border-radius:14px;justify-content:center;align-items:center;font-size:36px;display:flex;overflow:hidden}.pf-avatar img{object-fit:cover;border-radius:12px;width:100%;height:100%}.pf-avail-dot{background:var(--green);border:2.5px solid var(--bg2);border-radius:50%;width:14px;height:14px;position:absolute;bottom:4px;right:4px}.pf-name{color:var(--text);font-size:22px;font-weight:700}.pf-role{color:var(--text2);margin:2px 0 12px;font-size:14px}.pf-badge-open{background:var(--green-bg);color:var(--green);border:1px solid #22c55e40;border-radius:6px;align-items:center;gap:6px;margin-bottom:12px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.pf-badge-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pf-meta{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.pf-meta-item{color:var(--text2);align-items:center;gap:6px;font-size:13px;display:flex}.pf-actions{flex-wrap:wrap;gap:8px;display:flex}.pf-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,transform .1s;display:inline-flex}.pf-btn:hover{opacity:.85;transform:translateY(-1px)}.pf-btn:active{transform:scale(.97)}.pf-btn-primary{background:var(--blue);color:#fff}.pf-btn-ghost{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}.pf-btn-ghost:hover{color:var(--text)}.pf-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pf-section-title{color:var(--text);font-size:15px;font-weight:600}.pf-count{color:var(--text3);background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px 10px;font-size:12px}.pf-about-text{color:var(--text2);font-size:14px;line-height:1.7}.pf-tech-grid{flex-wrap:wrap;gap:8px;display:flex}.pf-tech-pill{background:var(--bg3);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;align-items:center;gap:9px;padding:8px 14px;transition:border-color .15s,background .15s,transform .1s;display:flex}.pf-tech-pill:hover{border-color:var(--border2);background:var(--bg4);transform:translateY(-1px)}.pf-tech-pill:active{transform:scale(.97)}.pf-tech-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex;overflow:hidden}.pf-tech-icon img{object-fit:contain;width:18px;height:18px}.pf-tech-name{color:var(--text);font-size:13px;font-weight:500}.pf-tech-level{border-radius:4px;padding:1px 7px;font-size:11px;font-weight:500}.pf-level-senior{color:var(--green);background:var(--green-bg)}.pf-level-mid{color:var(--amber);background:var(--amber-bg)}.pf-level-junior{color:var(--blue);background:var(--blue-bg)}.pf-proj-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.pf-proj-card{background:var(--bg3);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:10px;padding:18px;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.pf-proj-card:before{content:"";background:var(--blue);opacity:0;height:2px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.pf-proj-card:hover{border-color:var(--border2);transform:translateY(-3px)}.pf-proj-card:hover:before{opacity:1}.pf-proj-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pf-proj-logo{background:var(--bg4);border:1px solid var(--border);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;display:flex}.pf-proj-links{gap:6px;display:flex}.pf-icon-btn{background:var(--bg4);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text2);border-radius:7px;justify-content:center;align-items:center;text-decoration:none;transition:border-color .15s,color .15s;display:flex}.pf-icon-btn:hover{border-color:var(--border2);color:var(--text)}.pf-proj-title{color:var(--text);font-size:15px;font-weight:600}.pf-proj-desc{color:var(--text2);font-size:13px;line-height:1.55}.pf-proj-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.pf-proj-tag{color:var(--text3);background:var(--bg4);border:1px solid var(--border);border-radius:5px;padding:2px 8px;font-size:11px}.pf-contact-row{flex-wrap:wrap;gap:10px;display:flex}.pf-contact-link{color:var(--text2);background:var(--bg3);border:1px solid var(--border);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:9px 16px;font-family:Outfit,sans-serif;font-size:13px;text-decoration:none;transition:border-color .15s,color .15s,transform .1s;display:flex}.pf-contact-link:hover{border-color:var(--border2);color:var(--text);transform:translateY(-1px)}@keyframes pfFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pf-a1{animation:.4s both pfFadeUp}.pf-a2{animation:.4s 80ms both pfFadeUp}.pf-a3{animation:.4s .16s both pfFadeUp}.pf-a4{animation:.4s .24s both pfFadeUp}.pf-a5{animation:.4s .32s both pfFadeUp}@media (width<=600px){.pf-profile-row{flex-direction:column}.pf-avatar{width:64px;height:64px;font-size:28px}}
