@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-black:#09090b;--color-white:#fff;--color-violet-900:#2e1065;--color-violet-800:#3b0764;--color-violet-700:#581c87;--color-violet-600:#6d28d9;--color-violet-500:#7c3aed;--color-violet-400:#8b5cf6;--color-violet-300:#a78bfa;--color-violet-200:#c4b5fd;--color-violet-100:#ddd6fe;--color-violet-50:#f5f3ff;--bg:#fff;--bg-elevated:#fafafa;--surface:#f9f9fb;--surface-hover:#f1f0f5;--surface-active:#e8e6ee;--text:#09090b;--text-secondary:#52525b;--text-tertiary:#a1a1aa;--border:#e4e4e7;--border-strong:#d4d4d8;--accent:var(--color-violet-600);--accent-hover:var(--color-violet-700);--accent-light:var(--color-violet-50);--accent-border:var(--color-violet-200);--accent-subtle:#7c3aed14;--accent-contrast:#fff;--focus-ring:#7c3aed66;--gradient-accent:linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);--gradient-glow:linear-gradient(135deg, #7c3aed1f 0%, #8b5cf60a 100%);--font-display:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:3rem;--space-9:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.2, 0, 0, 1);--duration:.2s;--duration-fast:.12s;--duration-slow:.4s;--shadow-sm:0 1px 3px #09090b0d, 0 1px 2px #09090b08;--shadow-md:0 4px 16px #09090b0f, 0 2px 6px #09090b08;--shadow-lg:0 12px 32px #09090b1a, 0 4px 12px #09090b0a;--shadow-accent:0 4px 14px #7c3aed40;--shadow-accent-lg:0 12px 36px #7c3aed52}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--bg-elevated:#0f0e13;--surface:#121115;--surface-hover:#1c1a22;--surface-active:#26242e;--text:#fafafa;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--border:#27272a;--border-strong:#3f3f46;--accent:var(--color-violet-500);--accent-hover:var(--color-violet-400);--accent-light:#7c3aed29;--accent-border:#a78bfa4d;--accent-subtle:#a78bfa1a;--accent-contrast:#fff;--focus-ring:#a78bfa80;--gradient-accent:linear-gradient(135deg, #a78bfa 0%, #7c3aed 100%);--gradient-glow:linear-gradient(135deg, #a78bfa2e 0%, #7c3aed0d 100%);--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #00000073;--shadow-lg:0 16px 40px #0009;--shadow-accent:0 4px 20px #7c3aed59;--shadow-accent-lg:0 12px 40px #7c3aed73}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);min-height:100vh;transition:background var(--duration) var(--ease-spring), color var(--duration) var(--ease-spring);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);font-weight:600}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-light);color:var(--accent)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration) var(--ease-spring), box-shadow var(--duration) var(--ease-spring), background var(--duration) var(--ease-spring), border-color var(--duration) var(--ease-spring), color var(--duration) var(--ease-spring);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:.65rem 1.25rem;display:inline-flex;position:relative}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.96)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-accent-lg);filter:none}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.btn-outline{border:1px solid var(--border-strong);color:var(--text);background:0 0}.btn-outline:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--color-black);color:var(--color-white);border:1px solid var(--border-strong)}[data-theme=dark] .btn-danger{background:var(--color-white);color:var(--color-black)}.btn-icon-only{border-radius:var(--radius-full);width:38px;height:38px;padding:.6rem}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label,.field>span{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:500}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-sm);font-family:var(--font-body);transition:all var(--duration) var(--ease-spring);width:100%;padding:.75rem 1rem}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-strong)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}.field textarea{resize:vertical;min-height:120px;line-height:1.6}.badge{border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;gap:6px;padding:4px 12px;font-weight:500;line-height:1;display:inline-flex}.badge-accent{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-border)}.badge-neutral{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border)}.badge-black{background:var(--color-black);color:var(--color-white)}[data-theme=dark] .badge-black{background:var(--color-white);color:var(--color-black)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.spinner{border:2px solid #7c3aed33;border-top-color:var(--spinner-color,var(--accent));vertical-align:middle;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 32px);max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast-card{pointer-events:auto;border-radius:var(--radius-md,12px);background:var(--bg,#09090b);color:var(--text,#fafafa);border:1px solid var(--border-strong,#3f3f46);-webkit-backdrop-filter:blur(16px);font-family:var(--font-body,"Inter", sans-serif);align-items:flex-start;gap:12px;padding:14px 16px;animation:.32s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000040,0 2px 8px #0000001a}.toast-card:before{content:"";background:var(--accent,#7c3aed);width:4px;position:absolute;top:0;bottom:0;left:0}.toast-card.toast-success:before{background:#10b981}.toast-card.toast-error:before{background:#ef4444}.toast-card.toast-info:before{background:var(--accent,#7c3aed)}.toast-icon{color:var(--accent,#7c3aed);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:1.25rem;display:flex}.toast-card.toast-success .toast-icon{color:#10b981}.toast-card.toast-error .toast-icon{color:#ef4444}.toast-card.toast-info .toast-icon{color:var(--accent,#7c3aed)}.toast-body{flex:1;min-width:0}.toast-title{font-family:var(--font-body,"Inter", sans-serif);font-weight:600;font-size:var(--text-sm,.875rem);color:var(--text,#09090b);margin:0;line-height:1.35}.toast-desc{font-size:var(--text-xs,.75rem);color:var(--text-secondary,#71717a);margin-top:3px;line-height:1.45}.toast-close{border-radius:var(--radius-sm,8px);width:24px;height:24px;color:var(--text-secondary,#71717a);cursor:pointer;transition:all var(--duration,.2s) var(--ease-spring,cubic-bezier(.16, 1, .3, 1));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.toast-close:hover{background:var(--surface-hover,#ffffff14);color:var(--text,#fafafa);transform:scale(1.08)}.toast-close:active{transform:scale(.92)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.toast-container{width:auto;bottom:16px;left:16px;right:16px}}.pf-nav-wrap{z-index:100;padding:16px var(--pf-gutter) 0;pointer-events:none;justify-content:center;display:flex;position:fixed;top:0;left:0;right:0}.pf-nav{pointer-events:auto;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);-webkit-backdrop-filter:blur(20px);width:100%;max-width:1050px;height:60px;box-shadow:var(--shadow-md);transition:all var(--duration) var(--ease-spring);justify-content:space-between;align-items:center;gap:16px;padding:0 10px 0 18px;display:flex;position:relative}[data-theme=dark] .pf-nav{background:#121115c7;border-color:#ffffff1a;box-shadow:0 10px 30px #00000073}[data-theme=light] .pf-nav{background:#ffffffd9;border-color:#00000014;box-shadow:0 10px 30px #0000000f}.pf-nav-logo{transition:transform var(--duration-fast) var(--ease-spring);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.pf-nav-logo:hover{transform:translateY(-1px)}.pf-logo-mark{border-radius:var(--radius-md);background:var(--gradient-accent);width:32px;height:30px;color:var(--accent-contrast);font-family:var(--font-display);letter-spacing:-.02em;box-shadow:var(--shadow-accent);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.pf-logo-mark-image{object-fit:contain;box-sizing:border-box;background:var(--gradient-accent);padding:2px 2px 4px}.pf-logo-text{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:16px;font-weight:700}.pf-logo-text span{color:var(--accent)}.pf-nav-links{align-items:center;gap:22px;display:flex}.pf-nav-links a{color:var(--text-secondary);font-family:var(--font-body);white-space:nowrap;transition:color var(--duration-fast) var(--ease-spring);padding:6px 4px;font-size:13.5px;font-weight:500;text-decoration:none;position:relative}.pf-nav-links a:after{content:"";border-radius:var(--radius-full);background:var(--accent);transform-origin:50%;height:2px;transition:transform var(--duration) var(--ease-spring);position:absolute;bottom:0;left:4px;right:4px;transform:scaleX(0)}.pf-nav-links a:hover{color:var(--text)}.pf-nav-links a.active{color:var(--accent);font-weight:600}.pf-nav-links a.active:after{transform:scaleX(1)}.pf-nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pf-nav-source{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text-secondary);font-family:var(--font-body);white-space:nowrap;transition:all var(--duration-fast) var(--ease-spring);align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.pf-nav-source:hover{color:var(--text);border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.pf-nav-source:active{transform:scale(.96)}.pf-icon-btn{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pf-icon-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light);transform:translateY(-1px)}.pf-icon-btn:active{transform:scale(.92)}.pf-theme-btn .theme-icon{transition:transform var(--duration-slow) var(--ease-bounce)}.pf-theme-btn:hover .theme-icon{transform:rotate(20deg)scale(1.1)}.pf-nav-burger{display:none}.pf-nav-dropdown-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;animation:overlayFadeIn var(--duration-fast) ease-out;background:#00000073;justify-content:center;padding:16px;display:flex;position:fixed;inset:0}.pf-nav-dropdown{border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--bg);width:min(100%,420px);max-height:85vh;box-shadow:var(--shadow-lg);animation:drawerSlideDown var(--duration) var(--ease-spring);flex-direction:column;margin-top:10px;padding:20px;display:flex;overflow-y:auto}.pf-dropdown-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:16px;display:flex}.pf-dropdown-links{flex-direction:column;gap:4px;display:flex}.pf-dropdown-links a{color:var(--text-secondary);font-family:var(--font-body);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-spring);padding:12px 14px;font-size:15px;font-weight:500;text-decoration:none}.pf-dropdown-links a:hover,.pf-dropdown-links a.active{background:var(--accent-light);color:var(--accent);font-weight:600}.pf-dropdown-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.pf-dropdown-action{justify-content:center;width:100%;padding:12px 16px;font-size:14px}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=956px){.pf-nav-links,.pf-nav-source span{display:none}.pf-nav-source{justify-content:center;width:36px;padding:0}.pf-nav-burger{display:inline-flex}}@media (width<=480px){.pf-nav-wrap{padding:12px 12px 0}.pf-nav{height:56px;padding:0 8px 0 14px}.pf-nav-dropdown-overlay{padding:10px}.pf-nav-dropdown{width:min(100%,340px);max-height:78vh;margin-top:0;padding:16px}.pf-dropdown-links a{padding:11px 12px;font-size:14px}.pf-dropdown-action{padding:10px 14px}}.pf-hero{padding:140px 0 80px;position:relative;overflow:hidden}.pf-hero-background-glow{background:radial-gradient(50% 50% at 50% 20%, var(--accent-light) 0%, transparent 75%);pointer-events:none;z-index:0;width:100%;max-width:1100px;height:480px;position:absolute;top:0;left:50%;transform:translate(-50%)}.pf-hero-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.pf-hero-badge{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-sm);transition:all var(--duration) var(--ease-spring);align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;display:inline-flex}.pf-hero-badge:hover{border-color:var(--accent);transform:translateY(-1px)}.pf-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2.2s ease-in-out infinite pulseDot;box-shadow:0 0 0 3px #10b98133}@keyframes pulseDot{0%,to{box-shadow:0 0 0 3px #10b98133}50%{box-shadow:0 0 0 6px #10b98159}}.pf-badge-text{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.pf-hero-title{font-family:var(--font-display);letter-spacing:-.035em;max-width:840px;color:var(--text);margin:0 0 20px;font-size:clamp(2.3rem,5.5vw,4.2rem);font-weight:700;line-height:1.08}.pf-hero-highlight{color:var(--accent)}.pf-hero-subtitle{font-family:var(--font-body);max-width:620px;color:var(--text-secondary);margin:0 0 36px;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.65}.pf-hero-cta{align-items:center;gap:14px;margin-bottom:72px;display:flex}.pf-hero-btn-main{font-size:var(--text-sm);padding:.8rem 1.6rem;font-weight:600}.pf-hero-btn-main .btn-arrow{transition:transform var(--duration) var(--ease-spring)}.pf-hero-btn-main:hover .btn-arrow{transform:translate(4px)}.pf-hero-btn-sec{font-size:var(--text-sm);padding:.8rem 1.5rem;font-weight:500}.pf-hero-cards{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;max-width:1060px;display:grid}.pf-hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--duration) var(--ease-spring), border-color var(--duration) var(--ease-spring), box-shadow var(--duration) var(--ease-spring), background var(--duration) var(--ease-spring);flex-direction:column;padding:28px 24px;display:flex;position:relative;overflow:hidden}.pf-hero-card:before{content:"";background:var(--gradient-accent);opacity:0;height:2px;transition:opacity var(--duration) var(--ease-spring);position:absolute;top:0;left:0;right:0}.pf-hero-card:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-5px)}.pf-hero-card:hover:before{opacity:1}.pf-hero-card-icon{border-radius:var(--radius-md);background:var(--accent-light);width:42px;height:42px;color:var(--accent);border:1px solid var(--accent-border);transition:transform var(--duration) var(--ease-bounce);justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.pf-hero-card:hover .pf-hero-card-icon{transform:scale(1.08)}.pf-hero-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0 0 10px;font-size:1.1rem;font-weight:600}.pf-hero-card p{font-family:var(--font-body);color:var(--text-secondary);flex:1;margin:0 0 20px;font-size:.88rem;line-height:1.6}.pf-hero-card-tags{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.pf-hero-card-link{font-family:var(--font-body);font-size:var(--text-xs);color:var(--accent);transition:gap var(--duration-fast) var(--ease-spring);align-items:center;gap:6px;margin-top:auto;font-weight:600;text-decoration:none;display:inline-flex}.pf-hero-card-link .link-arrow{transition:transform var(--duration-fast) var(--ease-spring)}.pf-hero-card-link:hover{gap:9px}.pf-hero-card-link:hover .link-arrow{transform:translate(2px,-2px)}@media (width<=960px){.pf-hero-cards{grid-template-columns:1fr;max-width:600px}}@media (width<=640px){.pf-hero{padding:100px 0 60px}.pf-hero-cta{flex-direction:column;width:100%}.pf-hero-btn-main,.pf-hero-btn-sec{width:100%}}.pf-highlight{color:var(--text);background:var(--accent-light);border:1px solid var(--accent-border);transition:all var(--duration) var(--ease-spring);box-decoration:inset 0 0 0 0 var(--accent-light);margin:0 -2px;padding:1px 6px 2px;font-weight:600;line-height:1.35;display:inline;position:relative}.pf-highlight-0{border-radius:4px 10px 5px 8px;transform:rotate(-.8deg)}.pf-highlight-1{border-radius:8px 4px 9px 5px;transform:rotate(.6deg)}.pf-highlight-2{border-radius:6px 9px 4px 8px;transform:rotate(-.4deg)}.pf-highlight:hover{background:var(--accent-subtle);transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.pf-highlight{transform:none!important}}.pf-about{padding:100px 0;position:relative}.pf-about-grid{grid-template-columns:360px 1fr;align-items:start;gap:56px;display:grid}.pf-about-visual{flex-direction:column;height:100%;display:flex}.pf-about-portrait-card{border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--surface);width:100%;height:100%;min-height:500px;box-shadow:var(--shadow-md);transition:all var(--duration) var(--ease-spring);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pf-about-portrait-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.pf-about-portrait-img{object-fit:cover;object-position:center top;width:100%;height:100%;min-height:500px;transition:transform var(--duration-slow) var(--ease-spring);display:block}.pf-about-portrait-card:hover .pf-about-portrait-img{transform:scale(1.02)}.pf-about-content h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 18px;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.pf-about-name-highlight{color:var(--accent)}.pf-about-paragraphs{flex-direction:column;gap:16px;margin-bottom:28px;display:flex}.pf-about-paragraphs p{font-family:var(--font-body);color:var(--text-secondary);font-size:.96rem;line-height:1.75}.pf-about-actions{flex-wrap:wrap;gap:14px;margin-bottom:40px;display:flex}.pf-langs-section{border-top:1px solid var(--border);padding-top:28px}.pf-langs-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:16px;font-weight:600}.pf-langs-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.pf-lang-card{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);transition:all var(--duration) var(--ease-spring);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.pf-lang-card:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-2px)}.pf-lang-top-row{align-items:center;gap:12px;display:flex}.pf-lang-flag{object-fit:cover;border-radius:4px;flex-shrink:0;width:28px;height:20px;box-shadow:0 1px 3px #00000026}.pf-lang-name{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text);font-weight:600}.pf-lang-badge{align-self:flex-start;padding:3px 8px;font-size:10px}.pf-lang-info{display:none}@media (width<=900px){.pf-about-grid{grid-template-columns:1fr;gap:40px}.pf-about-visual{width:100%;max-width:480px;margin:0 auto}.pf-langs-grid{grid-template-columns:1fr}}@media (width<=540px){.pf-about-actions{flex-direction:column}.pf-about-actions .btn{width:100%}}.pf-certificates{background:var(--bg-elevated);padding:100px 0;position:relative}.pf-cert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;transition:all .3s;display:grid}.pf-cert-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--duration) var(--ease-spring), border-color var(--duration) var(--ease-spring), box-shadow var(--duration) var(--ease-spring), background var(--duration) var(--ease-spring);flex-direction:column;display:flex;position:relative;overflow:hidden}.pf-cert-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);background:var(--surface-hover);transform:translateY(-5px)}.pf-cert-thumb{background:var(--gradient-glow);border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:120px;display:flex;position:relative;overflow:hidden}.pf-cert-thumb-image{object-fit:cover;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.pf-cert-thumb-pattern{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pf-thumb-watermark{color:var(--accent);opacity:.18;transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration) var(--ease-spring);font-size:52px}.pf-cert-card:hover .pf-thumb-watermark{opacity:.3;transform:scale(1.18)rotate(6deg)}.pf-cert-badge-top{z-index:2;gap:4px;padding:3px 8px;font-size:11px;position:absolute;top:12px;right:12px}.verified-icon{color:#10b981}.pf-cert-body{flex-direction:column;flex:1;padding:24px;display:flex}.pf-cert-meta-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.pf-cert-category{padding:3px 9px;font-size:11px}.pf-cert-date{font-family:var(--font-mono);color:var(--text-tertiary);font-size:11.5px}.pf-cert-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);margin:0 0 10px;font-size:1.12rem;font-weight:600;line-height:1.35}.pf-cert-desc{font-family:var(--font-body);color:var(--text-secondary);flex:1;margin:0 0 20px;font-size:.88rem;line-height:1.6}.pf-cert-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.pf-cert-issuer-box{flex-direction:column;gap:2px;min-width:0;display:flex}.pf-issuer-name{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text);font-weight:600}.pf-cred-id{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.pf-cert-action{font-family:var(--font-body);font-size:var(--text-xs);color:var(--accent);background:var(--accent-light);border:1px solid var(--accent-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.pf-cert-action:hover{background:var(--accent);color:var(--accent-contrast);transform:translateY(-1px)}.pf-cert-action .link-arrow{transition:transform var(--duration-fast) var(--ease-spring)}.pf-cert-action:hover .link-arrow{transform:translate(2px,-2px)}.pf-cert-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}.pf-cert-action-btn{font-family:var(--font-body);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);border:none;align-items:center;gap:8px;padding:10px 24px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.pf-cert-action-btn.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.pf-cert-action-btn.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.pf-cert-action-btn.btn-primary{background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent)}.pf-cert-action-btn.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (width<=960px){.pf-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.pf-cert-grid{grid-template-columns:1fr}.pf-cert-actions{flex-direction:column;width:100%}.pf-cert-action-btn{justify-content:center;width:100%}}.skeleton-cert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.skeleton-cert-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.skeleton-cert-thumb{background:var(--surface-active);border-bottom:1px solid var(--border);height:120px;overflow:hidden}.skeleton-cert-body{flex-direction:column;flex:1;padding:24px;display:flex}.skeleton-cert-meta-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.skeleton-cert-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.skeleton-cert-issuer-box{flex-direction:column;gap:4px;min-width:0;display:flex}.skeleton-cert-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}@media (width<=960px){.skeleton-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.skeleton-cert-grid{grid-template-columns:1fr}.skeleton-cert-actions{flex-direction:column;width:100%}}.pf-skills{padding:100px 0;position:relative}.pf-skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.pf-skills-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--duration) var(--ease-spring), border-color var(--duration) var(--ease-spring), box-shadow var(--duration) var(--ease-spring), background var(--duration) var(--ease-spring);flex-direction:column;padding:28px 24px;display:flex}.pf-skills-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);background:var(--surface-hover);transform:translateY(-4px)}.pf-skills-card-header{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:14px;display:flex}.pf-skills-card h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.pf-skills-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.pf-skill-item{flex-direction:column;display:flex}.pf-skill-row{font-size:var(--text-xs);justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.pf-skill-name{font-family:var(--font-body);color:var(--text);font-weight:500}.pf-tech-inline{align-items:center;gap:8px;display:inline-flex}.pf-tech-inline svg{flex-shrink:0}.pf-skill-level{color:var(--accent);font-size:11px;font-weight:600}.pf-skill-bar{border-radius:var(--radius-full);background:var(--surface-active);height:6px;position:relative;overflow:hidden}.pf-skill-bar-fill{border-radius:var(--radius-full);background:var(--accent);width:0;height:100%;transition:width 1s var(--ease-spring)}.pf-reveal.pf-in .pf-skill-bar-fill{width:var(--pf-level)}@media (width<=960px){.pf-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.pf-skills-grid{grid-template-columns:1fr}}.skeleton-skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.skeleton-skills-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;padding:28px 24px;display:flex}.skeleton-skills-card-header{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:14px;display:flex}.skeleton-skills-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.skeleton-skill-item{flex-direction:column;display:flex}.skeleton-skill-row{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.skeleton-skill-name{align-items:center;gap:8px;display:inline-flex}.skeleton-skill-bar{border-radius:var(--radius-full);background:var(--surface-active);height:6px;position:relative;overflow:hidden}.skeleton-skill-bar-fill{border-radius:var(--radius-full);background:var(--accent);opacity:.3;height:100%}@media (width<=960px){.skeleton-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.skeleton-skills-grid{grid-template-columns:1fr}}.pf-projects{background:var(--bg-elevated);padding:100px 0;position:relative}.pf-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.pf-project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--duration) var(--ease-spring), border-color var(--duration) var(--ease-spring), box-shadow var(--duration) var(--ease-spring), background var(--duration) var(--ease-spring);flex-direction:column;display:flex;position:relative;overflow:hidden}.pf-project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);background:var(--surface-hover);transform:translateY(-5px)}.pf-project-thumb{background:var(--gradient-glow);border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:150px;display:flex;position:relative;overflow:hidden}.pf-project-thumb-image{object-fit:cover;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.pf-project-thumb-bg{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pf-project-watermark{color:var(--accent);opacity:.18;transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration) var(--ease-spring);font-size:58px}.pf-project-card:hover .pf-project-watermark{opacity:.32;transform:scale(1.15)rotate(-6deg)}.pf-project-badge-top{z-index:2;font-size:11px;position:absolute;top:12px;right:12px}.pf-project-body{flex-direction:column;flex:1;padding:24px;display:flex}.pf-project-category{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:600}.pf-project-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text);margin:0 0 10px;font-size:1.15rem;font-weight:600;line-height:1.35}.pf-project-desc{font-family:var(--font-body);color:var(--text-secondary);flex:1;margin:0 0 18px;font-size:.88rem;line-height:1.6}.pf-project-tags{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.pf-project-tags .badge{padding:3px 8px;font-size:11px}.pf-tech-badge{align-items:center;gap:6px;display:inline-flex}.pf-tech-badge svg{flex-shrink:0}.pf-project-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.pf-project-links{align-items:center;gap:8px;display:flex}.pf-project-icon-btn{width:32px;height:32px}.pf-project-explore{font-family:var(--font-body);font-size:var(--text-xs);color:var(--accent);transition:all var(--duration-fast) var(--ease-spring);align-items:center;gap:5px;font-weight:600;text-decoration:none;display:inline-flex}.pf-project-explore .link-arrow{transition:transform var(--duration-fast) var(--ease-spring)}.pf-project-explore:hover{color:var(--accent-hover);gap:8px}.pf-project-explore:hover .link-arrow{transform:translate(2px,-2px)}.pf-projects-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}.pf-projects-action-btn{font-family:var(--font-body);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);border:none;align-items:center;gap:8px;padding:10px 24px;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.pf-projects-action-btn.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.pf-projects-action-btn.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.pf-projects-action-btn.btn-primary{background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent)}.pf-projects-action-btn.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pf-chevron-icon{transition:transform .3s}.pf-chevron-up{transform:rotate(180deg)}@media (width<=960px){.pf-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.pf-projects-grid{grid-template-columns:1fr}.pf-projects-actions{flex-direction:column;width:100%}.pf-projects-action-btn{justify-content:center;width:100%}}.skeleton-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.skeleton-project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.skeleton-project-thumb{background:var(--surface-active);border-bottom:1px solid var(--border);height:150px;overflow:hidden}.skeleton-project-body{flex-direction:column;flex:1;padding:24px;display:flex}.skeleton-project-tags{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.skeleton-project-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.skeleton-project-links{align-items:center;gap:8px;display:flex}.skeleton-projects-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:48px;display:flex}@media (width<=960px){.skeleton-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.skeleton-projects-grid{grid-template-columns:1fr}.skeleton-projects-actions{flex-direction:column;width:100%}}.pf-contact{padding:100px 0;position:relative}.pf-contact-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);grid-template-columns:380px 1fr;gap:48px;padding:48px;display:grid}.pf-contact-info{border-right:1px solid var(--border);flex-direction:column;padding-right:48px;display:flex}.pf-contact-info-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.pf-contact-info-header h3{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.3rem;font-weight:700}.pf-contact-info-header p{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);margin:2px 0 0}.pf-contact-lead{font-family:var(--font-body);color:var(--text-secondary);margin:0 0 28px;font-size:.92rem;line-height:1.65}.pf-contact-list{flex-direction:column;gap:12px;margin:0 0 32px;padding:0;list-style:none;display:flex}.pf-contact-item{border-radius:var(--radius-md);background:var(--surface-hover);border:1px solid var(--border);transition:all var(--duration) var(--ease-spring);align-items:center;gap:14px;padding:12px 14px;display:flex;position:relative}.pf-contact-item.clickable{cursor:pointer}.pf-contact-item.clickable:hover{border-color:var(--accent);background:var(--accent-light);transform:translate(4px)}.pf-contact-icon{border-radius:var(--radius-sm);background:var(--surface);width:38px;height:38px;color:var(--accent);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pf-contact-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pf-contact-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.pf-contact-value{font-family:var(--font-body);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:500;overflow:hidden}.pf-item-copy-indicator{color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;display:flex}.pf-contact-item:hover .pf-item-copy-indicator{color:var(--accent)}.pf-item-copy-indicator .copied-icon{color:#10b981}.pf-contact-socials-wrap{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;display:flex}.pf-socials-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.pf-contact-socials{align-items:center;gap:10px;display:flex}.pf-contact-form-wrap{flex-direction:column;justify-content:center;display:flex}.pf-contact-form{flex-direction:column;gap:20px;display:flex}.pf-form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.pf-form-footer{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.pf-contact-submit{font-size:var(--text-sm);padding:.85rem 1.6rem;font-weight:600}.pf-form-alert{border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-xs);animation:alertFadeIn var(--duration) var(--ease-spring);align-items:center;gap:8px;padding:8px 14px;font-weight:500;display:inline-flex}.pf-alert-success{color:#10b981;background:#10b9811f;border:1px solid #10b98140}.pf-alert-error{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}@keyframes alertFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.pf-contact-grid{grid-template-columns:1fr;gap:36px;padding:32px}.pf-contact-info{border-right:none;border-bottom:1px solid var(--border);padding-bottom:36px;padding-right:0}}@media (width<=580px){.pf-contact-grid{padding:20px}.pf-form-row{grid-template-columns:1fr}.pf-contact-submit{width:100%}}.pf-contact-name-highlight{color:var(--accent)}.skeleton-contact-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);grid-template-columns:380px 1fr;gap:48px;padding:48px;display:grid}.skeleton-contact-info{border-right:1px solid var(--border);flex-direction:column;padding-right:48px;display:flex}.skeleton-contact-info-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.skeleton-contact-list{flex-direction:column;gap:12px;margin:0 0 32px;padding:0;list-style:none;display:flex}.skeleton-contact-item{border-radius:var(--radius-md);background:var(--surface-hover);border:1px solid var(--border);align-items:center;gap:14px;padding:12px 14px;display:flex}.skeleton-contact-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.skeleton-contact-socials-wrap{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:auto;padding-top:24px;display:flex}.skeleton-contact-socials{align-items:center;gap:10px;display:flex}.skeleton-contact-form-wrap{flex-direction:column;justify-content:center;display:flex}.skeleton-contact-form{flex-direction:column;gap:20px;display:flex}.skeleton-form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.skeleton-field{flex-direction:column;gap:6px;display:flex}.skeleton-form-footer{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}@media (width<=960px){.skeleton-contact-grid{grid-template-columns:1fr;gap:36px;padding:32px}.skeleton-contact-info{border-right:none;border-bottom:1px solid var(--border);padding-bottom:36px;padding-right:0}}@media (width<=580px){.skeleton-contact-grid{padding:20px}.skeleton-form-row{grid-template-columns:1fr}}.pf-footer{border-top:1px solid var(--border);background:var(--bg);padding:48px 0 40px;position:relative}.pf-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.pf-footer-brand{flex-direction:column;gap:8px;display:flex}.pf-footer-logo-wrap{align-items:center;gap:10px;display:flex}.pf-footer-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:1.1rem;font-weight:700}.pf-footer-logo span{color:var(--accent)}.pf-footer-tagline{font-family:var(--font-body);color:var(--text-secondary);font-size:var(--text-xs);margin:0}.pf-footer-center{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.pf-footer-craft{color:var(--text-tertiary);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.pf-heart-icon{color:var(--accent)}.pf-footer-copy{color:var(--text-tertiary);margin:0;font-size:11px}.pf-footer-actions{align-items:center;display:flex}.pf-back-to-top{font-size:var(--text-xs);gap:6px;padding:8px 16px}@media (width<=860px){.pf-footer-inner{text-align:center;flex-direction:column;align-items:center;gap:20px}.pf-footer-brand{align-items:center}}:root{--pf-container:1160px;--pf-container-narrow:860px;--pf-gutter:24px}@media (width<=640px){:root{--pf-gutter:18px}}.pf-root{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}.pf-container{max-width:var(--pf-container);padding:0 var(--pf-gutter);width:100%;margin:0 auto}.pf-container-narrow{max-width:var(--pf-container-narrow);padding:0 var(--pf-gutter);width:100%;margin:0 auto}.pf-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:inline-flex}.pf-section-header{text-align:center;margin-bottom:56px;position:relative}.pf-section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0 0 14px;font-size:clamp(1.85rem,3.8vw,2.75rem);font-weight:700;line-height:1.15}.pf-section-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:580px;margin:0 auto;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.6}.pf-gradient-text{background:var(--gradient-accent);color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.pf-reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-spring), transform var(--duration-slow) var(--ease-spring);will-change:transform, opacity;transform:translateY(22px)}.pf-reveal.pf-in{opacity:1;transform:translateY(0)}.pf-filters{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:40px;display:flex}.pf-filter-btn{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--duration) var(--ease-spring);padding:8px 16px;font-weight:500}.pf-filter-btn:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.pf-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-accent)}.pf-section-more{justify-content:center;margin-top:48px;display:flex}@media (prefers-reduced-motion:reduce){.pf-reveal{opacity:1!important;transition:none!important;transform:none!important}}.pf-certificates-page{background:var(--bg-elevated);min-height:100vh;padding:120px 0 60px}.pf-cert-page-header{margin-bottom:48px}.pf-back-button{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:color var(--duration-fast) var(--ease-spring);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:24px;padding:8px 0;font-size:.9rem;display:inline-flex}.pf-cert-page-title-section{text-align:center}.pf-cert-page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:12px 0 16px;font-size:2.5rem;font-weight:700}.pf-cert-page-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.05rem;line-height:1.6}.pf-cert-search-section{align-items:stretch;gap:16px;margin-bottom:24px;display:flex}.pf-cert-results{margin-top:8px}.pf-cert-results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.pf-cert-count{font-family:var(--font-body);color:var(--text-secondary);font-size:.95rem;font-weight:500}.pf-cert-filters-active{flex-wrap:wrap;gap:8px;display:flex}.pf-cert-grid-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.pf-cert-empty{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.pf-empty-icon{color:var(--text-tertiary);opacity:.5;margin-bottom:16px;margin-left:auto;margin-right:auto;display:block}.pf-cert-empty h3{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:1.5rem}.pf-cert-empty p{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:24px}@media (width<=960px){.pf-cert-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-filters-grid{grid-template-columns:1fr 1fr}.pf-clear-filters-btn{grid-column:span 2}}@media (width<=680px){.pf-certificates-page{padding:100px 0 40px}.pf-cert-page-title{font-size:2rem}.pf-cert-page-subtitle{font-size:.95rem}.pf-cert-search-section{flex-direction:column}.pf-filter-toggle{justify-content:center;width:100%;padding:12px 20px}.pf-filters-grid{grid-template-columns:1fr;gap:12px}.pf-clear-filters-btn{grid-column:span 1}.pf-cert-grid-full{grid-template-columns:1fr}.pf-cert-results-header{flex-direction:column;align-items:stretch;gap:8px}.pf-cert-filters-active{justify-content:flex-start}}@media (width<=480px){.pf-cert-page-title{font-size:1.6rem}.pf-search-bar{padding:0 14px}.pf-search-input{padding:12px 0;font-size:.85rem}.pf-filters-panel.open{max-height:400px}}.pf-projects-page{background:var(--bg-elevated);min-height:100vh;padding:120px 0 60px}.pf-projects-page-header{margin-bottom:48px}.pf-back-button{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:color var(--duration-fast) var(--ease-spring);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:24px;padding:8px 0;font-size:.9rem;text-decoration:none;display:inline-flex}.pf-back-button:hover{color:var(--accent)}.pf-projects-page-title-section{text-align:center}.pf-projects-page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:12px 0 16px;font-size:2.5rem;font-weight:700}.pf-projects-page-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.05rem;line-height:1.6}.pf-projects-search-section{align-items:stretch;gap:16px;margin-bottom:24px;display:flex}.pf-search-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-spring);flex:1;align-items:center;gap:12px;padding:0 18px;display:flex;position:relative}.pf-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.pf-search-icon{color:var(--text-tertiary);flex-shrink:0}.pf-search-input{font-family:var(--font-body);color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:14px 0;font-size:.95rem}.pf-search-input::placeholder{color:var(--text-tertiary)}.pf-search-clear{color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-spring);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.pf-search-clear:hover{color:var(--text);background:var(--bg-elevated)}.pf-filter-toggle{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);white-space:nowrap;align-items:center;gap:8px;padding:0 20px;font-size:.9rem;font-weight:500;display:inline-flex;position:relative}.pf-filter-toggle:hover{border-color:var(--accent);color:var(--text);background:var(--accent-light)}.pf-filter-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.pf-filter-badge{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;right:-4px}.pf-filters-panel{opacity:0;max-height:0;margin-bottom:0;transition:max-height .4s cubic-bezier(.34,1.56,.64,1),opacity .3s,margin .3s;overflow:hidden}.pf-filters-panel.open{opacity:1;max-height:300px;margin-bottom:32px}.pf-filters-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;padding:20px;display:grid}.pf-filter-group{flex-direction:column;gap:6px;display:flex}.pf-filter-label{font-family:var(--font-body);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.pf-filter-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-family:var(--font-body);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-spring);outline:none;padding:10px 14px;font-size:.9rem}.pf-filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.pf-clear-filters-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);white-space:nowrap;align-items:center;gap:6px;padding:10px 16px;font-size:.85rem;display:inline-flex}.pf-clear-filters-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.pf-projects-results{margin-top:8px}.pf-projects-results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.pf-projects-count{font-family:var(--font-body);color:var(--text-secondary);font-size:.95rem;font-weight:500}.pf-projects-filters-active{flex-wrap:wrap;gap:8px;display:flex}.pf-filter-tag{background:var(--accent-light);color:var(--accent);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 8px 4px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.pf-filter-tag button{color:var(--accent);cursor:pointer;transition:background var(--duration-fast) var(--ease-spring);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.pf-filter-tag button:hover{background:#0000001a}.pf-projects-grid-full{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.pf-projects-empty{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:80px 20px}.pf-empty-icon{color:var(--text-tertiary);opacity:.5;margin-bottom:16px}.pf-projects-empty h3{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:1.5rem}.pf-projects-empty p{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:24px}@media (width<=960px){.pf-projects-grid-full{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-filters-grid{grid-template-columns:1fr 1fr}.pf-clear-filters-btn{grid-column:span 2}}@media (width<=680px){.pf-projects-page{padding:100px 0 40px}.pf-projects-page-title{font-size:2rem}.pf-projects-page-subtitle{font-size:.95rem}.pf-projects-search-section{flex-direction:column}.pf-filter-toggle{justify-content:center;width:100%;padding:12px 20px}.pf-filters-grid{grid-template-columns:1fr;gap:12px}.pf-clear-filters-btn{grid-column:span 1}.pf-projects-grid-full{grid-template-columns:1fr}.pf-projects-results-header{flex-direction:column;align-items:stretch;gap:8px}.pf-projects-filters-active{justify-content:flex-start}}@media (width<=480px){.pf-projects-page-title{font-size:1.6rem}.pf-search-bar{padding:0 14px}.pf-search-input{padding:12px 0;font-size:.85rem}.pf-filters-panel.open{max-height:400px}}.pf-maintenance{background:var(--bg,#f8fafc);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:40px 20px;display:flex;position:relative;overflow:hidden}.pf-maintenance-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f114 0%,#0000 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.pf-maintenance-inner{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex;position:relative}.pf-maintenance-badge{color:#6366f1;font-family:var(--font-body,system-ui, -apple-system, sans-serif);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#6366f11f;border:1px solid #6366f126;border-radius:9999px;align-items:center;gap:10px;margin-bottom:32px;padding:8px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.pf-maintenance-content{text-align:center;width:100%}.pf-maintenance-icon-wrapper{justify-content:center;align-items:center;margin-bottom:32px;display:flex}.pf-maintenance-icon-ring{background:var(--surface,#fff);border:2px solid var(--border,#e2e8f0);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:relative;box-shadow:0 0 40px #6366f114}.pf-maintenance-icon-ring:before{content:"";-webkit-mask-composite:xor;background:conic-gradient(#0000,#6366f1,#0000 30% 70%,#6366f1,#0000);border-radius:50%;padding:2px;animation:3s linear infinite spin;position:absolute;inset:-4px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pf-maintenance-spin{color:#6366f1;animation:2s linear infinite spin}.pf-maintenance-title{font-family:var(--font-display,system-ui, -apple-system, sans-serif);letter-spacing:-.02em;color:var(--text,#0f172a);margin-bottom:16px;font-size:2.8rem;font-weight:700;line-height:1.1}.pf-gradient-text{background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.pf-maintenance-subtitle{font-family:var(--font-body,system-ui, -apple-system, sans-serif);color:var(--text-secondary,#475569);max-width:560px;margin:0 auto 40px;font-size:1.1rem;line-height:1.7}.pf-maintenance-cards{grid-template-columns:1fr 1fr;gap:16px;width:100%;margin-bottom:40px;display:grid}.pf-maintenance-card{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:16px;padding:20px;transition:all .3s}.pf-maintenance-card:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.pf-maintenance-card-icon{color:#6366f1;background:#6366f11a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 12px;display:flex}.pf-maintenance-card h4{font-family:var(--font-display,system-ui, -apple-system, sans-serif);color:var(--text,#0f172a);margin-bottom:6px;font-size:.95rem;font-weight:600}.pf-maintenance-card p{font-family:var(--font-body,system-ui, -apple-system, sans-serif);color:var(--text-secondary,#475569);margin:0;font-size:.9rem;line-height:1.5}.pf-maintenance-email{color:#6366f1;font-weight:500;text-decoration:none;transition:color .2s}.pf-maintenance-email:hover{color:#8b5cf6;text-decoration:underline}.pf-maintenance-actions{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin-bottom:32px;display:flex}.pf-maintenance-actions .btn{font-family:var(--font-body,system-ui, -apple-system, sans-serif);cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.pf-maintenance-actions .btn-primary{color:#fff;background:#6366f1}.pf-maintenance-actions .btn-primary:hover{background:#8b5cf6;transform:translateY(-2px);box-shadow:0 8px 24px #6366f14d}.pf-maintenance-actions .btn-outline{color:var(--text-secondary,#475569);border:1px solid var(--border,#e2e8f0);background:0 0}.pf-maintenance-actions .btn-outline:hover{color:#6366f1;background:#6366f10d;border-color:#6366f1}.pf-maintenance-status{background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:9999px;align-items:center;gap:10px;padding:8px 16px;display:inline-flex}.pf-maintenance-dot{background:#6366f1;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.pf-maintenance-status-text{font-family:var(--font-body,system-ui, -apple-system, sans-serif);color:var(--text-secondary,#475569);font-size:.85rem;font-weight:500}@media (width<=640px){.pf-maintenance-title{font-size:2rem}.pf-maintenance-subtitle{font-size:1rem}.pf-maintenance-cards{grid-template-columns:1fr}.pf-maintenance-actions{flex-direction:column;align-items:stretch}.pf-maintenance-actions .btn{justify-content:center}.pf-maintenance-icon-ring{width:76px;height:76px}.pf-maintenance-badge{padding:6px 14px;font-size:.75rem}.pf-maintenance-status{padding:6px 14px;font-size:.8rem}}@media (width<=480px){.pf-maintenance-title{font-size:1.6rem}.pf-maintenance-card{padding:16px}}.pf-notfound{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:60px 0;display:flex;position:relative;overflow:hidden}.pf-notfound-glow{background:radial-gradient(50% 50% at 50% 50%, var(--accent-light) 0%, transparent 70%);pointer-events:none;z-index:0;width:700px;height:700px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pf-notfound-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:820px;display:flex;position:relative}.pf-notfound-badge{border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border-strong);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;align-items:center;margin-bottom:32px;padding:4px 16px;font-weight:600;display:inline-flex}.pf-notfound-content{flex-direction:column;align-items:center;width:100%;display:flex}.pf-notfound-code{font-family:var(--font-display);color:var(--text);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-size:clamp(5rem,12vw,8rem);font-weight:700;line-height:1;display:flex}.pf-notfound-digit{color:var(--text)}.pf-notfound-zero{color:var(--accent);justify-content:center;align-items:center;display:inline-flex;position:relative}.pf-notfound-zero-ring{border:2px solid var(--accent-border);opacity:.5;border-radius:50%;animation:3s ease-in-out infinite ringPulse;position:absolute;inset:-6px}@keyframes ringPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.15;transform:scale(1.15)}}.pf-notfound-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0 0 16px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700}.pf-notfound-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:560px;margin:0 0 44px;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}.pf-notfound-suggestions{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:620px;margin-bottom:44px;display:grid}.pf-notfound-suggestion{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);text-align:left;transition:all var(--duration) var(--ease-spring);flex-direction:column;align-items:flex-start;gap:16px;padding:28px 24px;display:flex;position:relative;overflow:hidden}.pf-notfound-suggestion:before{content:"";background:var(--gradient-accent);opacity:0;height:2px;transition:opacity var(--duration) var(--ease-spring);position:absolute;top:0;left:0;right:0}.pf-notfound-suggestion:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-5px)}.pf-notfound-suggestion:hover:before{opacity:1}.pf-notfound-suggestion-icon{border-radius:var(--radius-md);background:var(--accent-light);border:1px solid var(--accent-border);width:42px;height:42px;color:var(--accent);transition:transform var(--duration) var(--ease-bounce);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pf-notfound-suggestion:hover .pf-notfound-suggestion-icon{transform:scale(1.08)}.pf-notfound-suggestion-content{flex:1}.pf-notfound-suggestion h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin:0 0 10px;font-size:1.1rem;font-weight:600}.pf-notfound-suggestion p{font-family:var(--font-body);color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.6}.pf-notfound-actions{align-items:center;gap:14px;margin-bottom:48px;display:flex}.pf-notfound-actions .btn{padding:.75rem 1.5rem;font-weight:600}.pf-notfound-footer{border-top:1px solid var(--border);font-size:var(--text-sm);align-items:center;gap:16px;padding-top:24px;display:flex}.pf-notfound-footer-text{color:var(--text-secondary)}.pf-notfound-footer-link{color:var(--accent);transition:gap var(--duration-fast) var(--ease-spring);align-items:center;gap:6px;font-weight:500;display:inline-flex}.pf-notfound-footer-link:hover{gap:10px}@media (width<=768px){.pf-notfound-suggestions{grid-template-columns:1fr;max-width:400px}.pf-notfound-actions{flex-direction:column;width:100%}.pf-notfound-actions .btn{width:100%}.pf-notfound-footer{text-align:center;flex-direction:column;gap:8px}.pf-notfound-zero-ring{inset:-4px}}@media (width<=480px){.pf-notfound-code{gap:4px;font-size:4rem}.pf-notfound-suggestion{padding:20px 18px}}.skeleton-nav-shell{border:1px solid var(--border-strong);background:#ffffffb3}[data-theme=dark] .skeleton-nav-shell{background:#121115c7}.skeleton-hero-shell{min-height:100vh}.skeleton-hero-badge{background:var(--surface);border-color:var(--border-strong)}.skeleton-title-block{justify-content:center;width:100%;display:flex}.skeleton-subtitle-block{width:100%}.skeleton-cta-block{justify-content:center;align-items:center;gap:14px;display:flex}.skeleton-cards-shell{z-index:1;position:relative}.skeleton-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.skeleton-card-icon{background:var(--accent-light);border:1px solid var(--accent-border)}.skeleton-card-tags{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--surface-active) 0%, var(--surface-hover) 40%, var(--surface-active) 100%);background-size:200% 100%;animation:1.2s linear infinite shimmer}.skeleton-inline-block{vertical-align:middle;background:var(--surface-active);border-radius:999px;height:14px;display:inline-block}.skeleton-block{background:var(--surface-active);border-radius:12px;height:12px;display:block}.skeleton-logo{background:var(--surface-active)}
