@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Inter-Light-BqiKxAEL.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-Regular-Cb462fmB.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Inter-Medium-BSV1SRWE.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Inter-SemiBold-BfioKe8B.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Inter-Bold-DZ-Lu7Xs.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/Inter-ExtraBold-GyCXfRF0.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/JetBrainsMono-Regular-pnArZU_a.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/JetBrainsMono-Medium-C0q_ea6y.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/JetBrainsMono-SemiBold-CD3z4pCY.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Manrope-Regular-BGKSKB6v.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Manrope-Medium-C6BkOkLm.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Manrope-SemiBold-B5p8ueAc.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Manrope-Bold-Dyj77jgE.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/Manrope-ExtraBold-BX2hdvsO.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:100;font-display:swap;src:url(/assets/Raleway-Thin-B3gBxV_1.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/Raleway-ExtraLight-Cx0DM1bw.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Raleway-Light-DStZb9M-.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Raleway-Regular-DUo5kY2H.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Raleway-Medium-Ct273SBG.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Raleway-SemiBold-DTuAsYVE.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Raleway-Bold-CNy0hJEX.woff2) format("woff2")}@font-face{font-family:Raleway;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/Raleway-ExtraBold-bETbOv_E.woff2) format("woff2")}:root{--font-primary: "Inter", system-ui, -apple-system, sans-serif;--font-heading: "Manrope", system-ui, -apple-system, sans-serif;--font-accent: "Raleway", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;font-family:var(--font-primary);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=dark]{--color-primary: #0a0a0f;--color-primary-dark: #050508;--color-primary-light: #1a1a2e;--color-secondary: #64748b;--color-accent: #8b5cf6;--color-accent-light: #a78bfa;--color-accent-dark: #7c3aed;--color-accent-secondary: #06b6d4;--color-accent-tertiary: #f59e0b;--color-accent-bg: rgba(139, 92, 246, .15);--color-accent-border: rgba(139, 92, 246, .4);--color-text: #f1f5f9;--color-text-light: #e2e8f0;--color-text-muted: #94a3b8;--color-bg: #0a0a0f;--color-bg-light: #1a1a2e;--color-bg-card: rgba(26, 26, 46, .8);--color-border: rgba(255, 255, 255, .1);--color-border-light: rgba(255, 255, 255, .05);--color-shadow: rgba(0, 0, 0, .5);--color-shadow-hover: rgba(0, 0, 0, .7);--color-glow: rgba(139, 92, 246, .3);--radius-sm: 16px;--radius-md: 20px;--radius-lg: 24px;--radius-xl: 32px;--shadow-card: 0 8px 32px var(--color-shadow), 0 0 0 1px var(--color-border);--shadow-hover: 0 20px 60px var(--color-shadow-hover), 0 0 0 1px var(--color-border), 0 0 40px var(--color-glow);--transition-base: all .4s cubic-bezier(.34, 1.56, .64, 1);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);color-scheme:dark;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(circle at 20% 30%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(6,182,212,.06) 0%,transparent 50%);background-attachment:fixed}[data-theme=light]{--color-primary: #fafbfc;--color-primary-dark: #f1f5f9;--color-primary-light: #ffffff;--color-secondary: #64748b;--color-accent: #6366f1;--color-accent-light: #818cf8;--color-accent-dark: #4f46e5;--color-accent-secondary: #0891b2;--color-accent-tertiary: #f59e0b;--color-accent-bg: rgba(99, 102, 241, .1);--color-accent-border: rgba(99, 102, 241, .3);--color-text: #0f172a;--color-text-light: #1e293b;--color-text-muted: #64748b;--color-bg: #ffffff;--color-bg-light: #f8fafc;--color-bg-card: rgba(255, 255, 255, .95);--color-border: rgba(0, 0, 0, .08);--color-border-light: rgba(0, 0, 0, .04);--color-shadow: rgba(0, 0, 0, .1);--color-shadow-hover: rgba(0, 0, 0, .15);--color-glow: rgba(99, 102, 241, .2);--radius-sm: 16px;--radius-md: 20px;--radius-lg: 24px;--radius-xl: 32px;--shadow-card: 0 8px 32px var(--color-shadow), 0 0 0 1px var(--color-border);--shadow-hover: 0 20px 60px var(--color-shadow-hover), 0 0 0 1px var(--color-border), 0 0 40px var(--color-glow);--transition-base: all .4s cubic-bezier(.34, 1.56, .64, 1);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);color-scheme:light;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(circle at 20% 30%,rgba(99,102,241,.06) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(8,145,178,.04) 0%,transparent 50%);background-attachment:fixed}*{box-sizing:border-box}html{background-color:var(--color-bg);min-height:100vh;min-height:-webkit-fill-available;transition:background-color .3s ease}@media(max-width:768px){html{transition:background-color 0s}}body{margin:0;min-width:320px;min-height:100vh;min-height:-webkit-fill-available;background-color:var(--color-bg);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;transition:background-color .3s ease}@media(max-width:768px){body{transition:background-color 0s}}.language-switcher{display:flex;gap:4px;background:color-mix(in srgb,var(--color-bg-card) calc(20% * (1 - var(--scroll-opacity, 0)) + 10% * var(--scroll-opacity, 0)),transparent);padding:4px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-border) calc(30% * (1 - var(--scroll-opacity, 0)) + 20% * var(--scroll-opacity, 0)),transparent);transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow)}.lang-btn{font-family:var(--font-primary);padding:8px 14px;background:transparent;border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;transition:var(--transition-base);border:1px solid transparent;white-space:nowrap}.site-header:not([style*=--scroll-opacity]) .lang-btn,.site-header[style*="--scroll-opacity: 0"] .lang-btn{color:var(--color-text)}.lang-btn:hover{transform:translateY(-2px);color:var(--color-text);background:var(--color-bg-light);border-color:var(--color-border);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 0 1px var(--color-border)}.site-header:not([style*=--scroll-opacity]) .lang-btn:hover,.site-header[style*="--scroll-opacity: 0"] .lang-btn:hover{color:var(--color-text)}.lang-btn.active{color:var(--color-text);background:var(--color-bg-light);box-shadow:0 2px 8px var(--color-shadow),0 0 12px var(--color-shadow);font-weight:700;border:1px solid var(--color-border)}.site-header[style*="--scroll-opacity: 1"] .lang-btn.active,.site-header[style*="--scroll-opacity: 0.9"] .lang-btn.active,.site-header[style*="--scroll-opacity: 0.8"] .lang-btn.active,.site-header[style*="--scroll-opacity: 0.7"] .lang-btn.active,.site-header[style*="--scroll-opacity: 0.6"] .lang-btn.active,.site-header[style*="--scroll-opacity: 0.5"] .lang-btn.active{background:var(--color-bg-light);color:var(--color-text);border-color:var(--color-border);box-shadow:0 2px 8px var(--color-shadow),0 0 15px var(--color-shadow)}.theme-switcher{background:transparent;border:none;border-radius:var(--radius-sm);padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:var(--transition-base);width:40px;height:40px}.theme-switcher:hover{background:var(--color-bg-light);transform:rotate(15deg)}.theme-switcher svg{width:20px;height:20px}.theme-switcher:active{transform:rotate(30deg) scale(.95)}.sidebar-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:-100%;width:360px;max-width:85vw;height:100vh;background:color-mix(in srgb,var(--color-bg) 95%,transparent);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:8px 0 60px var(--color-shadow),0 0 0 1px var(--color-border);border-right:1px solid var(--color-border);z-index:1000;transition:left .4s cubic-bezier(.34,1.56,.64,1),background-color .4s ease;overflow-y:auto}.sidebar.open{left:0}.sidebar-content{padding:24px;display:flex;flex-direction:column;gap:32px;height:100%}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:2px solid var(--color-border)}.sidebar-title{font-family:var(--font-accent);font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0;letter-spacing:-.01em}.sidebar-close-btn{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color .3s ease,transform .3s ease;border-radius:var(--radius-sm)}.sidebar-close-btn:hover{color:var(--color-text);transform:rotate(90deg);background:var(--color-bg-light)}.sidebar-close-btn svg{width:24px;height:24px}.sidebar-section{display:flex;flex-direction:column;gap:16px}.sidebar-section-title{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;margin:0}.sidebar-links{display:flex;flex-direction:column;gap:12px}.sidebar-link{display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:var(--radius-xl);text-decoration:none;color:var(--color-text);transition:var(--transition-base);border:1px solid var(--color-border);background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 4px 16px var(--color-shadow);position:relative;overflow:hidden}.sidebar-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.sidebar-link:hover{transform:translateY(-3px) scale(1.02);background:var(--color-bg-light);border-color:var(--color-accent-border);box-shadow:var(--shadow-hover)}.sidebar-link:hover:before{left:100%}.sidebar-link svg{width:20px;height:20px;flex-shrink:0;color:var(--color-text)}.sidebar-link span:first-of-type{font-weight:600;font-size:.9rem;min-width:80px}.sidebar-link-value{margin-left:auto;font-size:.85rem;color:var(--color-text-muted);font-weight:400}.sidebar-section .language-switcher{background:var(--color-bg-card);border:1px solid var(--color-border);padding:4px;border-radius:var(--radius-xl);box-shadow:none!important;flex:1;display:flex;gap:4px}.sidebar-section .lang-btn{color:var(--color-text-muted)!important;padding:10px 20px;font-size:14px;background:transparent!important;border:1px solid transparent!important;text-shadow:none!important;flex:1;text-align:center;border-radius:var(--radius-sm)!important}.sidebar-section .lang-btn:hover{color:var(--color-text)!important;background:var(--color-bg-light)!important}.sidebar-section .lang-btn.active{color:var(--color-text)!important;background:var(--color-bg-light)!important;box-shadow:0 2px 8px var(--color-shadow)!important;border:1px solid var(--color-border)!important;font-weight:700!important}.sidebar-switchers{display:flex;align-items:center;gap:12px}.sidebar-theme-switcher-wrapper{display:flex;justify-content:center;align-items:center;padding:4px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-shrink:0;height:49px;min-height:49px}.sidebar-theme-switcher-wrapper .theme-switcher{width:40px;height:40px;padding:10px}.sidebar-theme-switcher-wrapper .theme-switcher svg{width:24px;height:24px}.sidebar-section .language-switcher{flex:1;background:var(--color-bg-card);border:1px solid var(--color-border);padding:4px;border-radius:var(--radius-xl);box-shadow:none!important;display:flex;gap:4px;height:49px;min-height:49px;align-items:center}@media(max-width:768px){.sidebar{width:100%;max-width:100%}}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:color-mix(in srgb,var(--color-bg) calc(var(--scroll-opacity, 0) * 85% + 15%),transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 calc(var(--scroll-opacity, 0) * 4px) calc(var(--scroll-opacity, 0) * 20px) var(--color-shadow),0 0 color-mix(in srgb,var(--color-border) calc(var(--scroll-opacity, 0) * 100%),transparent);transition:background .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1);transform:translateZ(0);border-bottom:1px solid color-mix(in srgb,var(--color-border) calc(var(--scroll-opacity, 0) * 100%),transparent)}.header-content{max-width:1600px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative}.header-menu-btn{background:transparent;border:none;border-radius:var(--radius-md);padding:12px 16px;cursor:pointer;display:none;align-items:center;justify-content:center;color:var(--color-text);transition:var(--transition-base);z-index:1}.header-menu-btn:hover{background:transparent;transform:scale(1.05)}.site-header .header-menu-btn{color:color-mix(in srgb,var(--color-text) calc(70% * var(--scroll-opacity, 0) + 90% * (1 - var(--scroll-opacity, 0))),transparent)}.site-header:not([style*=--scroll-opacity]) .header-menu-btn,.site-header[style*="--scroll-opacity: 0"] .header-menu-btn{color:var(--color-text)}.header-menu-btn:hover{opacity:.8}.header-menu-btn svg{width:24px;height:24px}.header-spacer{flex:1}.header-left{display:flex;justify-content:flex-start;align-items:center}.header-right{display:flex;justify-content:flex-end;align-items:center}.header-nickname{font-family:var(--font-accent);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;transition:opacity .4s cubic-bezier(.4,0,.2,1);pointer-events:none;opacity:0;letter-spacing:.1em;filter:drop-shadow(0 2px 12px var(--color-glow));text-shadow:0 0 40px var(--color-glow)}.header-contacts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.header-contact-link{display:flex;align-items:center;gap:10px;color:var(--color-text);text-decoration:none;padding:10px 18px;border-radius:var(--radius-md);transition:var(--transition-base);background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);font-size:.9rem;font-weight:600;border:1px solid var(--color-border);white-space:nowrap;box-shadow:0 4px 16px var(--color-shadow);position:relative;overflow:hidden}.header-contact-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.header-contact-link:hover:before{left:100%}.site-header:not([style*=--scroll-opacity]) .header-contact-link,.site-header[style*="--scroll-opacity: 0"] .header-contact-link{color:var(--color-text)}.header-contact-link:hover{transform:translateY(-3px) scale(1.02);background:var(--color-bg-light);color:var(--color-text);border-color:var(--color-accent-border);box-shadow:var(--shadow-hover)}.site-header:not([style*=--scroll-opacity]) .header-contact-link:hover,.site-header[style*="--scroll-opacity: 0"] .header-contact-link:hover{color:var(--color-text)}.header-contact-link svg{width:18px;height:18px;flex-shrink:0}@media(max-width:1400px){.header-contacts{gap:8px}.header-contact-link{padding:8px 10px;font-size:.8rem}.header-contact-link svg{width:16px;height:16px}}@media(max-width:1200px){.header-contact-link span{display:none}.header-contact-link{padding:8px;width:36px;height:36px;justify-content:center}.header-contacts{gap:6px}}@media(max-width:1024px){.header-content{padding:10px 20px;gap:16px}.header-contact-link{padding:8px;width:36px;height:36px;justify-content:center}.header-contact-link span{display:none}.header-contact-link svg{width:16px;height:16px}.header-contacts{gap:6px}}@media(max-width:768px){.header-content{padding:10px 16px;justify-content:center;position:relative}.header-menu-btn{display:flex;position:absolute;left:16px;top:50%;transform:translateY(-50%)}.header-menu-btn:hover{transform:translateY(-50%) scale(1.05)}.header-left,.header-right{display:none}.header-nickname{position:static;transform:none;opacity:var(--scroll-opacity, 0)!important;margin:0 auto;text-align:center;flex:1}.header-spacer{display:none}}@media(max-width:480px){.header-contact-link span{display:none}.header-contact-link{padding:10px;width:44px;height:44px;justify-content:center}.header-contact-link svg{width:20px;height:20px}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:transparent;overflow:hidden;transform:translateZ(0)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(6,182,212,.12) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(139,92,246,.08) 0%,transparent 70%);filter:blur(60px);transform:translateZ(0);backface-visibility:hidden;z-index:0;animation:pulse 8s ease-in-out infinite}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(6,182,212,.15) 0%,transparent 50%),radial-gradient(circle at 20% 70%,rgba(139,92,246,.12) 0%,transparent 50%);filter:blur(60px);opacity:0;animation:colorShift 12s ease-in-out infinite;transform:translateZ(0);backface-visibility:hidden;z-index:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes colorShift{0%{opacity:0;transform:scale(1) rotate(0)}25%{opacity:.6;transform:scale(1.05) rotate(5deg)}50%{opacity:1;transform:scale(1.1) rotate(0)}75%{opacity:.6;transform:scale(1.05) rotate(-5deg)}to{opacity:0;transform:scale(1) rotate(0)}}.hero-content{text-align:center;z-index:1;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease;padding:80px 20px 50px;width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 60px);box-sizing:border-box;position:relative}.hero-text{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.hero-content.animate-in{opacity:1;transform:translateY(0)}.avatar-container{margin-bottom:1.5rem;margin-top:40px;animation:float 8s ease-in-out infinite;position:relative}@keyframes float{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-12px) scale(1.02)}50%{transform:translateY(-8px) scale(1)}75%{transform:translateY(-15px) scale(1.01)}}.avatar{width:160px;height:160px;border-radius:50%;border:3px solid var(--color-accent-border);box-shadow:0 10px 40px var(--color-shadow),0 0 0 1px var(--color-border),0 0 20px color-mix(in srgb,var(--color-accent) 20%,transparent);object-fit:cover;transition:var(--transition-base)}.avatar:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 0 1px var(--color-border);border-color:var(--color-border)}.avatar-placeholder{width:160px;height:160px;border-radius:50%;border:3px solid var(--color-accent-border);box-shadow:0 10px 40px var(--color-shadow),0 0 0 1px var(--color-border),0 0 20px color-mix(in srgb,var(--color-accent) 20%,transparent);background:var(--color-bg-card);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;transition:var(--transition-base)}.avatar-placeholder:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 0 1px var(--color-border);border-color:var(--color-accent)}.avatar-placeholder:before{display:none}.avatar-placeholder span{font-family:var(--font-accent);font-size:3.5rem;font-weight:100;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;position:relative;z-index:1;text-shadow:0 2px 10px var(--color-shadow);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hero-nickname{font-family:var(--font-accent);font-size:clamp(4rem,10vw,7.5rem);font-weight:200;margin:0;line-height:1.05;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 50%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;animation:textGlow 3s ease-in-out infinite;filter:drop-shadow(0 0 30px var(--color-glow))}@keyframes textGlow{0%,to{filter:drop-shadow(0 0 30px var(--color-glow))}50%{filter:drop-shadow(0 0 50px var(--color-glow))}}.hero-name{font-family:var(--font-accent);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:300;margin:.5rem 0 .25rem;color:var(--color-text);letter-spacing:.02em}.hero-position{font-family:var(--font-accent);font-size:clamp(1.3rem,3.5vw,2rem);margin:24px 0 0;line-height:1.3;color:var(--color-text);font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;display:inline-block;padding:14px 36px;border-radius:var(--radius-xl);background:var(--color-bg-card);border:2px solid var(--color-accent-border);box-shadow:0 8px 32px var(--color-shadow),0 0 30px var(--color-glow);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.hero-position:before{content:"";position:absolute;inset:-2px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light),var(--color-accent-secondary));z-index:-1;opacity:.2;filter:blur(8px)}.scroll-indicator{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:var(--transition-base);z-index:10;padding:12px 20px;background:transparent;border:none}.scroll-indicator:hover{transform:translate(-50%) translateY(8px)}.scroll-text{font-size:.75rem;font-weight:500;letter-spacing:.15em;color:var(--color-text-muted);text-transform:uppercase;animation:text-pulse 2s ease-in-out infinite}@keyframes text-pulse{0%,to{opacity:.6}50%{opacity:1}}.scroll-arrows{display:flex;flex-direction:column;align-items:center;gap:-8px;position:relative;animation:arrow-bounce-down 2s ease-in-out infinite;will-change:transform}.scroll-arrow{color:var(--color-text-light);display:flex;align-items:center;justify-content:center;margin:-4px 0}.scroll-arrow svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));transform:scale(var(--arrow-scale, 1))}.scroll-arrow-primary{opacity:1;--arrow-scale: 1.3}.scroll-arrow-middle{opacity:.7;--arrow-scale: 1.075}.scroll-arrow-secondary{opacity:.4;--arrow-scale: .85}@keyframes arrow-bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.scroll-arrow-primary{opacity:1;--arrow-scale: 1.2}@media(max-width:768px){.hero{min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));position:relative;overflow:visible}.hero-content{padding:calc(60px + env(safe-area-inset-top,0px)) 20px calc(80px + env(safe-area-inset-bottom,0px));min-height:100vh;justify-content:center;align-items:center;position:relative;display:flex;flex-direction:column}.hero-text{flex:0 0 auto;text-align:center;width:100%;margin:0}.avatar-container{margin-bottom:2rem}.avatar,.avatar-placeholder{width:140px;height:140px}.avatar-placeholder span{font-size:3rem;font-weight:200}.hero-nickname{font-weight:200}.hero-position{font-weight:200;font-size:clamp(1rem,3vw,1.5rem);padding:12px 24px;letter-spacing:.06em;white-space:nowrap;max-width:calc(100vw - 40px);overflow:hidden;text-overflow:ellipsis}.hero-position:before{opacity:.15;filter:blur(6px)}@media(max-width:480px){.hero-position{font-size:clamp(.9rem,2.8vw,1.3rem);padding:10px 20px;letter-spacing:.05em}.hero-position:before{opacity:.1;filter:blur(4px)}}[data-theme=light] .hero-position{background:#fffffffa;border:2px solid rgba(99,102,241,.4);box-shadow:0 8px 32px #00000026,0 0 30px #6366f140;color:#0f172a;font-weight:700}[data-theme=light] .hero-position:before{opacity:.25}.scroll-indicator{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);margin-top:0;margin-bottom:0;padding-top:0;gap:10px;z-index:100;pointer-events:auto}.scroll-text{font-size:.7rem}.scroll-arrow svg{width:20px;height:20px}}.about-section{padding:100px 20px;background:transparent;min-height:auto}.about-title{font-family:var(--font-accent);font-size:clamp(3rem,7vw,5.5rem);font-weight:200;text-align:center;margin-bottom:80px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 40%,var(--color-accent) 70%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block;width:100%;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;filter:drop-shadow(0 0 20px var(--color-glow))}.about-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;align-items:start;position:relative}.about-left{display:flex;flex-direction:column;gap:20px}.about-personal-card{background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:32px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--color-border);display:flex;gap:24px;align-items:flex-start;transition:var(--transition-base);opacity:0;transform:translateY(30px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-height:auto;contain:layout style paint;position:relative;overflow:hidden}.about-personal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light),var(--color-accent-secondary));opacity:.6}.about-personal-card.visible{opacity:1;transform:translateY(0) translateZ(0);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.about-personal-card:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-hover);transform:translateY(-4px) scale(1.01);background:var(--color-bg-light)}.about-personal-card:hover:before{opacity:1;height:5px}.about-avatar-container{flex-shrink:0;align-self:flex-start;margin-top:4px}.about-avatar{width:100px;height:100px;border-radius:50%;border:3px solid var(--color-accent-border);object-fit:cover;box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 20%,transparent),0 0 20px var(--color-glow);transition:var(--transition-base)}.about-personal-card:hover .about-avatar{transform:scale(1.05);box-shadow:0 12px 32px color-mix(in srgb,var(--color-accent) 30%,transparent),0 0 30px var(--color-glow)}.about-avatar-placeholder{width:100px;height:100px;border-radius:50%;border:3px solid var(--color-accent-border);background:var(--color-bg-card);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 20%,transparent),0 0 20px var(--color-glow);transition:var(--transition-base)}.about-personal-card:hover .about-avatar-placeholder{transform:scale(1.05);box-shadow:0 12px 32px color-mix(in srgb,var(--color-accent) 30%,transparent),0 0 30px var(--color-glow)}.about-avatar-placeholder span{font-family:var(--font-accent);font-size:1.75rem;font-weight:100;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.about-personal-info{flex:1;display:flex;flex-direction:column;gap:6px}.about-name{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em}.about-position{font-family:var(--font-mono);font-size:.9rem;margin:0;color:var(--color-text-light);font-weight:400}.about-meta{font-family:var(--font-mono);font-size:.85rem;margin:0;color:var(--color-text-muted);font-weight:400}.about-right{display:flex;flex-direction:column;gap:20px}.about-summary-card{background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--color-border);transition:var(--transition-base);margin-top:40px;opacity:0;transform:translateY(30px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-height:200px;contain:layout style paint;position:relative;overflow:hidden}.about-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent-secondary),var(--color-accent),var(--color-accent-light));opacity:.6}.about-summary-card.visible{opacity:1;transform:translateY(0) translateZ(0);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.about-summary-card:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-hover);transform:translateY(-4px) scale(1.01);background:var(--color-bg-light)}.about-summary-card:hover:before{opacity:1;height:5px}.about-card-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;margin:0 0 18px;color:var(--color-text);letter-spacing:-.01em;line-height:1.3}.about-summary-text{font-family:var(--font-mono);font-size:.9rem;line-height:1.7;margin:0;color:var(--color-text-light)}.about-advantages{margin-top:80px;max-width:1200px;margin-left:auto;margin-right:auto}.advantages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}.advantage-card{background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:48px 36px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:1px solid var(--color-border);text-align:center;transition:var(--transition-base);position:relative;overflow:hidden;opacity:0;transform:translateY(30px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.advantage-card.visible{opacity:1;transform:translateY(0) translateZ(0);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.advantage-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-accent-secondary) 100%);z-index:2;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 4px 16px var(--color-glow);transition:height .4s ease,opacity .4s ease}.advantage-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-hover);border-color:var(--color-accent-border);background:var(--color-bg-light)}.advantage-card:hover:before{height:8px;opacity:1}.advantage-icon{width:72px;height:72px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-bg);border-radius:var(--radius-md);border:2px solid var(--color-accent-border);box-shadow:0 4px 16px var(--color-shadow),0 0 16px var(--color-glow);transition:var(--transition-base);color:var(--color-accent)}.advantage-icon svg{width:36px;height:36px;stroke:currentColor}.advantage-card:hover .advantage-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 24px var(--color-glow);background:var(--color-accent);color:var(--color-text)}.advantage-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;line-height:1.3}.advantage-description{font-size:1rem;color:var(--color-text-light);margin:0;line-height:1.6}@media(max-width:768px){.about-title{font-size:clamp(1.75rem,5vw,3.5rem);font-weight:200}.about-avatar-placeholder span{font-weight:200}.about-content{grid-template-columns:1fr;gap:20px}.about-section{padding:60px 20px}.about-personal-card{flex-direction:column;align-items:center;text-align:center}.about-personal-info{align-items:center;text-align:center}.about-advantages{margin-top:60px}.advantages-grid{grid-template-columns:1fr;gap:30px}}.skills-section{padding:100px 20px 40px;background:transparent;min-height:auto}.skills-header{display:flex;flex-direction:column;gap:12px;margin-bottom:60px;text-align:center}.skills-tag{font-family:var(--font-primary);font-size:.875rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;opacity:.8}.skills-title{font-family:var(--font-accent);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:200;margin:0;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 40%,var(--color-accent) 70%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;filter:drop-shadow(0 0 20px var(--color-glow))}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:20px;max-width:1000px;margin:0 auto}.skill-item{aspect-ratio:1;background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;transition:var(--transition-base);opacity:0;transform:translateY(30px) scale(.9);will-change:transform,opacity;animation:skillFadeIn .6s ease forwards;animation-delay:var(--delay, 0s)}.skill-item.visible{opacity:1;transform:translateY(0) scale(1)}@keyframes skillFadeIn{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.skill-item:hover{transform:translateY(-8px) scale(1.05);box-shadow:var(--shadow-hover);border-color:var(--color-accent-border);background:var(--color-bg-light)}.skill-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-accent-bg);border:2px solid var(--color-accent-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-accent);font-size:1.5rem;font-weight:700;color:var(--color-accent);box-shadow:0 4px 16px var(--color-shadow),0 0 16px var(--color-glow);transition:var(--transition-base)}.skill-item:hover .skill-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 24px var(--color-glow);background:var(--color-accent);color:var(--color-text)}.skill-name{font-family:var(--font-primary);font-size:.875rem;font-weight:600;color:var(--color-text);text-align:center;letter-spacing:.02em}@media(max-width:768px){.skills-section{padding:60px 20px}.skills-title{font-size:clamp(1.75rem,5vw,3.5rem)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:16px}.skill-icon{width:40px;height:40px;font-size:1.25rem}.skill-name{font-size:.75rem}}.projects-section{padding:100px 20px;background:transparent;min-height:100vh}.container{max-width:1200px;margin:0 auto}.section-title{font-family:var(--font-accent);font-size:clamp(3rem,7vw,5.5rem);font-weight:200;text-align:center;margin-bottom:80px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 40%,var(--color-accent) 70%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block;width:100%;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;filter:drop-shadow(0 0 20px var(--color-glow))}.section-title:after{display:none}.projects-year-group{position:relative;margin-bottom:60px}.projects-year-group:last-child{margin-bottom:0}.projects-year-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:40px;padding-bottom:8px;position:relative;letter-spacing:-.01em;display:inline-block}.projects-year-title:before{content:"";position:absolute;left:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-accent-secondary) 100%);border-radius:2px;width:100%;z-index:2;box-shadow:0 2px 8px var(--color-glow)}.projects-flex-container{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;align-items:stretch;transition:grid-template-columns .5s ease}.projects-flex-container .project-card{width:100%;min-width:0;transition:all .5s cubic-bezier(.4,0,.2,1)}.projects-expanded-layout{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;animation:expandLayout .5s cubic-bezier(.4,0,.2,1)}@keyframes expandLayout{0%{opacity:0}to{opacity:1}}.projects-expanded-left{flex:1 1 min(60%,100%);min-width:min(600px,100%);max-width:100%;animation:slideInLeft .5s cubic-bezier(.4,0,.2,1)}@media(min-width:769px)and (max-width:1024px){.section-title{font-size:clamp(2rem,5.5vw,4rem)}.projects-year-title{font-size:1.75rem}.projects-expanded-left{flex:1 1 100%;max-width:100%}.projects-expanded-right{flex:1 1 100%;max-width:100%;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:20px;flex-direction:unset}.projects-expanded-right .project-card{width:100%;flex:none;max-width:100%}.projects-flex-container{grid-template-columns:repeat(2,1fr)}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.projects-expanded-left .project-card{width:100%;animation:expandCard .5s cubic-bezier(.4,0,.2,1)}@keyframes expandCard{0%{transform:scale(.98);opacity:.8}to{transform:scale(1);opacity:1}}.projects-expanded-right{flex:1 1 30%;min-width:min(350px,100%);max-width:100%;display:flex;flex-direction:column;gap:30px;animation:slideInRight .5s cubic-bezier(.4,0,.2,1)}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.projects-expanded-right .project-card{width:100%;flex:0 0 auto;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) backwards}.projects-expanded-right .project-card:nth-child(1),.projects-expanded-right .project-card:nth-child(2),.projects-expanded-right .project-card:nth-child(3),.projects-expanded-right .project-card:nth-child(n+4){animation-delay:0s}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.project-card{background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-card);transition:var(--transition-base);border:1px solid var(--color-border);overflow:hidden;opacity:0;transform:translateY(30px) translateZ(0);position:relative;z-index:1;display:flex;flex-direction:column;height:100%;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light),var(--color-accent-secondary));opacity:.6;transition:opacity .4s ease,height .4s ease;border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:1}.project-card.visible{opacity:1!important;transform:translateY(0) translateZ(0)!important;transition:box-shadow .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),background .5s cubic-bezier(.4,0,.2,1),width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease}.project-card:not(.expanded):hover{transform:translateY(-6px) scale(1.02) translateZ(0);box-shadow:var(--shadow-hover);background:var(--color-bg-light);border-color:var(--color-accent-border)}.project-card:not(.expanded):hover:before{opacity:1;height:5px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.project-card.expanded{box-shadow:var(--shadow-hover);transform:translateY(0) translateZ(0)!important;overflow:hidden;z-index:2;opacity:1!important;width:100%;background:var(--color-bg-light);border-color:var(--color-accent-border);border-radius:var(--radius-xl);animation:expandCardAnimation .5s cubic-bezier(.4,0,.2,1);will-change:transform,width,height;transition:all .5s cubic-bezier(.4,0,.2,1)}.project-card.expanded:before{opacity:1;height:4px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}@keyframes expandCardAnimation{0%{transform:scale(.98);box-shadow:0 4px 6px #00000012}to{transform:scale(1);box-shadow:0 12px 24px #00000026,0 0 40px #6366f133}}.project-header{display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;gap:20px}.project-header-content{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0}.project-icon-container{flex-shrink:0}.project-icon{width:64px;height:64px;border-radius:18px;object-fit:cover;background:var(--color-bg-card);border:2px solid var(--color-accent-border);display:block;box-shadow:0 4px 16px color-mix(in srgb,var(--color-accent) 15%,transparent),0 0 12px var(--color-glow);transition:var(--transition-base)}.project-card:hover .project-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 25%,transparent),0 0 20px var(--color-glow)}.project-icon-placeholder{width:56px;height:56px;border-radius:12px;background:var(--color-bg-card);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-icon-placeholder span{font-family:var(--font-accent);font-size:18px;font-weight:200;color:var(--color-text-light);letter-spacing:.05em}.project-text-content{flex:1;min-width:0}.project-title{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;line-height:1.3}.project-description{font-family:var(--font-primary);font-size:1rem;color:var(--color-text-light);margin:0 0 12px;line-height:1.6}.project-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.project-period{display:inline-block;font-size:.875rem;color:var(--color-accent);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);padding:4px 12px;border-radius:var(--radius-md);font-weight:500;font-family:var(--font-primary)}.project-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.project-tag{display:inline-block;font-size:.75rem;color:var(--color-accent);background:var(--color-accent-bg);padding:4px 10px;border-radius:var(--radius-sm);font-weight:500;border:1px solid var(--color-accent-border);font-family:var(--font-primary)}.project-tag-favorite{color:#d4af37;background:#d4af3726;border:1px solid rgba(212,175,55,.4);box-shadow:0 2px 4px #d4af3733;display:inline-flex;align-items:center;gap:4px;font-weight:600}.project-tag-favorite .star-icon{width:12px;height:12px;color:#d4af37;flex-shrink:0}.project-tag-first{display:inline-flex;align-items:center;gap:4px;color:#10b981;background:#10b98126;border:1px solid rgba(16,185,129,.4);box-shadow:0 2px 4px #10b98133;font-weight:600}.project-tag-first .hash-icon{font-size:.875rem;font-weight:600;color:#10b981;font-family:var(--font-mono)}.project-tag-freelance{display:inline-flex;align-items:center;gap:4px;color:#06b6d4;background:#06b6d426;border:1px solid rgba(6,182,212,.4);box-shadow:0 2px 4px #06b6d433;font-weight:600}.project-tag-freelance .hash-icon{font-size:.875rem;font-weight:600;color:#06b6d4;font-family:var(--font-mono)}.project-tag-complex{color:#e91e63;background:#e91e6326;border:1px solid rgba(233,30,99,.4);box-shadow:0 2px 4px #e91e6333;display:inline-flex;align-items:center;gap:4px;font-weight:600}.project-tag-complex .hash-icon{font-size:.875rem;font-weight:600;color:#e91e63;font-family:var(--font-mono)}.expand-btn{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease}.arrow-icon{font-size:1.2rem;color:var(--color-text);transition:transform .3s ease;display:block}.arrow-icon.rotated{transform:rotate(180deg)}.project-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border);animation:fadeInDetails .5s cubic-bezier(.4,0,.2,1) .2s both;display:block;visibility:visible}@keyframes fadeInDetails{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}} @keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.project-detailed-description{font-family:var(--font-primary);font-size:1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:20px}.project-technical-challenges{margin-top:24px;padding:16px;background:var(--color-bg-card);border-left:3px solid var(--color-border);border-radius:8px}.project-technical-challenges h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;margin:0 0 8px;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.project-technical-challenges p{font-size:.95rem;color:var(--color-text-light);margin:0;line-height:1.6}.project-problem-solved{margin-top:24px;padding:16px;background:var(--color-bg-card);border-left:3px solid var(--color-border);border-radius:8px}.project-problem-solved h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;margin:0 0 8px;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.project-problem-solved p{font-size:.95rem;color:var(--color-text-light);margin:0;line-height:1.6}.project-technologies,.project-links{margin-top:20px}.project-technologies h4,.project-links h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{font-family:var(--font-mono);background:var(--color-accent-bg);color:var(--color-accent);padding:8px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--color-accent-border);transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow)}.tech-tag:before{display:none}.tech-tag:hover{background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent);box-shadow:0 4px 12px var(--color-shadow-hover)}.links-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px}.project-link{font-family:var(--font-primary);color:var(--color-accent);text-decoration:none;font-weight:500;padding:10px 16px;border:2px solid var(--color-accent-border);border-radius:var(--radius-sm);transition:var(--transition-base);display:inline-block;width:fit-content;background:transparent}.project-link:hover{background:var(--color-accent-bg);color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 4px 12px var(--color-shadow-hover)}@media(max-width:768px){.section-title{font-size:clamp(1.75rem,5vw,3.5rem);font-weight:200}.projects-year-title{font-size:1.5rem}.projects-flex-container{grid-template-columns:1fr;gap:20px}.project-card.expanded{max-width:100%}.projects-expanded-layout{display:flex;flex-direction:column;gap:20px}.projects-expanded-left,.projects-expanded-right{width:100%;max-width:100%;min-width:0;flex:none}.projects-expanded-right{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:20px}.projects-expanded-layout .project-card{order:var(--card-order, 0);animation:none;width:100%}.projects-section{padding:60px 20px}}@media(max-width:480px){.projects-flex-container{grid-template-columns:1fr}}.experience-section{padding:100px 20px;background:transparent;min-height:100vh}.experience-section .section-title{font-family:var(--font-accent);font-size:clamp(3rem,7vw,5.5rem);font-weight:200;text-align:center;margin-bottom:80px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 40%,var(--color-accent) 70%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block;width:100%;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;filter:drop-shadow(0 0 20px var(--color-glow))}.experience-timeline{position:relative;max-width:1200px;margin:60px auto 0}.experience-timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-accent-secondary) 100%);transform:translate(-50%);border-radius:2px;box-shadow:0 0 20px var(--color-glow)}.experience-card{position:relative;margin-bottom:0;width:calc(50% - 30px);opacity:0;transform:translateY(30px) translateZ(0);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);padding-top:10px;z-index:1;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.experience-card:not(:first-child){margin-top:-120px}.experience-card.visible{opacity:1;transform:translateY(0) translateZ(0)}.experience-card:nth-child(2n){z-index:2}.experience-card.left{left:0;text-align:left}.experience-card.right{left:calc(50% + 30px);text-align:left}.experience-content{background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:36px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:var(--transition-base);border:1px solid var(--color-border);position:relative;z-index:2;transform:translateZ(0);will-change:transform;overflow:hidden}.experience-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light),var(--color-accent-secondary));opacity:.6;transition:opacity .4s ease,height .4s ease}.experience-content:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-hover);background:var(--color-bg-light);border-color:var(--color-accent-border)}.experience-content:hover:before{opacity:1;height:5px}.timeline-dot{position:absolute;left:50%;top:0;width:20px;height:20px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));border-radius:50%;transform:translate(-50%);box-shadow:0 0 0 4px var(--color-bg),0 0 0 6px var(--color-accent-border),0 0 20px var(--color-glow),0 0 40px var(--color-glow);z-index:3;transition:var(--transition-base)}.experience-card:hover .timeline-dot{transform:translate(-50%) scale(1.2);box-shadow:0 0 0 4px var(--color-bg),0 0 0 6px var(--color-accent),0 0 30px var(--color-glow),0 0 60px var(--color-glow)}.experience-header{margin-bottom:20px}.experience-position{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin:0 0 12px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;line-height:1.3}.experience-company{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;margin:0 0 12px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.005em}.experience-period{font-family:var(--font-primary);display:inline-block;font-size:.875rem;color:var(--color-accent);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);padding:4px 12px;border-radius:var(--radius-md);font-weight:500}.experience-description{font-family:var(--font-primary);font-size:1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:20px}.experience-responsibilities,.experience-tech{margin-top:20px}.experience-responsibilities h5,.experience-tech h5{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.experience-responsibilities ul{list-style:none;padding:0;margin:0}.experience-responsibilities li{padding:4px 0 4px 24px;position:relative;color:var(--color-text-light);line-height:1.6}.experience-responsibilities li:before{content:"▸";position:absolute;left:0;color:var(--color-text);font-weight:700}.tech-stack{display:flex;flex-wrap:wrap;gap:8px}.tech-item{font-family:var(--font-mono);background:var(--color-accent-bg);color:var(--color-accent);padding:8px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;letter-spacing:.02em;border:1px solid var(--color-accent-border);transition:var(--transition-base);box-shadow:0 2px 8px var(--color-shadow)}.tech-item:before{display:none}.tech-item:hover{transform:translateY(-2px);background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent);box-shadow:var(--shadow-hover)}@media(max-width:768px){.experience-section .section-title{font-size:clamp(1.75rem,5vw,3.5rem)}.experience-timeline{padding:0;max-width:100%}.experience-timeline:before{display:none}.experience-card{width:100%;left:0!important;text-align:left!important;padding-top:0;margin-top:0!important;margin-bottom:30px}.timeline-dot{display:none}.experience-section{padding:60px 20px}.experience-content{padding:24px 20px}}.education-section{padding:100px 20px;background:transparent;min-height:100vh}.education-section .container{max-width:1200px;margin:0 auto}.education-section .section-title{font-family:var(--font-accent);font-size:clamp(3rem,7vw,5.5rem);font-weight:200;text-align:center;margin-bottom:80px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-text-light) 40%,var(--color-accent) 70%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block;width:100%;letter-spacing:.02em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;filter:drop-shadow(0 0 20px var(--color-glow))}.education-grid{display:flex;flex-wrap:wrap;gap:40px;margin-top:60px;align-items:stretch;justify-content:center}.education-card{width:350px;flex:1 1 350px;max-width:calc((100% - 80px)/2);min-width:350px;background:var(--color-bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:48px 36px;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:center;transition:var(--transition-base);border:1px solid var(--color-border);position:relative;overflow:hidden;opacity:0;transform:translateY(30px) translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-height:200px;display:flex;flex-direction:column;height:100%;align-self:stretch}.education-grid:has(.education-card:nth-child(2):last-child) .education-card{max-width:545px}.education-card.visible{opacity:1;transform:translateY(0) translateZ(0);transition:opacity .6s ease,transform .6s ease}.education-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-light) 50%,var(--color-accent-secondary) 100%);z-index:2;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 4px 16px var(--color-glow);transition:height .4s ease,opacity .4s ease}.education-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-hover);border-color:var(--color-accent-border);background:var(--color-bg-light)}.education-card.clickable{cursor:pointer}.education-card.clickable:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-hover);border-color:var(--color-accent-border);background:var(--color-bg-light)}.education-card.clickable:active{transform:translateY(-4px) scale(1.01)}.education-card:hover:before{height:8px;opacity:1}.education-icon{width:72px;height:72px;margin:0 auto 28px;color:var(--color-accent);display:flex;align-items:center;justify-content:center;background:var(--color-accent-bg);border-radius:var(--radius-md);border:2px solid var(--color-accent-border);box-shadow:0 4px 16px var(--color-shadow),0 0 16px var(--color-glow);transition:var(--transition-base)}.education-icon svg{width:80%;height:80%}.education-card:hover .education-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px var(--color-shadow-hover),0 0 24px var(--color-glow);background:var(--color-accent);color:var(--color-text)}.hackathon-card:hover .education-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px #000000b3,0 0 24px #d4af3780;background:#d4af37;color:#0a0a0f;border-color:#f4d03f}.education-institution{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;margin:0 0 16px;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;line-height:1.3}.education-specialization{font-size:1rem;color:var(--color-text-light);margin:0 0 20px;line-height:1.6}.education-description{font-size:.95rem;color:var(--color-text-muted);margin:0 0 20px;line-height:1.6;font-style:italic}.education-meta{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--color-border);margin-top:auto}.education-period{font-family:var(--font-primary);font-size:.9rem;color:var(--color-text);font-weight:600}.education-location{font-size:.875rem;color:var(--color-text-muted)}.education-certificate{display:flex;flex-direction:column;gap:4px;padding-top:16px;margin-top:16px;border-top:1px solid var(--color-border)}.education-certificate-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.education-certificate-number{font-size:.95rem;color:var(--color-accent);font-weight:600;font-family:var(--font-primary);letter-spacing:.5px}.education-award{display:flex;flex-direction:column;gap:4px;padding-top:16px;margin-top:16px;border-top:1px solid var(--color-border)}.education-award-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.education-award-text{font-size:.95rem;color:#d4af37;font-weight:600;font-family:var(--font-primary);letter-spacing:.5px}.hackathon-card .education-icon{background:#d4af3726;border-color:#d4af3766;color:#d4af37}.hackathon-card:before{background:linear-gradient(90deg,#d4af37,#f4d03f,#f7dc6f)}@media(max-width:1024px){.education-card{width:calc(50% - 20px);min-width:300px}}@media(max-width:768px){.education-section .section-title{font-size:clamp(1.75rem,5vw,3.5rem)}.education-grid{gap:30px}.education-card{width:100%;max-width:100%}.education-section{padding:60px 20px}}.footer{padding:60px 20px 40px;background:transparent;border-top:1px solid var(--color-border);margin-top:80px}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.footer-main{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.footer-info{display:flex;flex-direction:column;gap:8px}.footer-name{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-nickname{font-family:var(--font-accent);font-size:1rem;font-weight:300;color:var(--color-text-muted);margin:0;letter-spacing:.05em}.footer-links{display:flex;gap:16px;align-items:center}.footer-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text);background:var(--color-bg-card);border:1px solid var(--color-border);transition:var(--transition-base);text-decoration:none;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 4px 16px var(--color-shadow)}.footer-link:hover{transform:translateY(-3px) scale(1.05);background:var(--color-bg-light);border-color:var(--color-accent-border);box-shadow:var(--shadow-hover);color:var(--color-accent)}.footer-link svg{width:20px;height:20px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:32px;border-top:1px solid var(--color-border)}.footer-copyright{font-size:.875rem;color:var(--color-text-muted);margin:0;font-weight:400}.footer-made{font-size:.875rem;color:var(--color-text-muted);margin:0;font-weight:400;display:flex;align-items:center;gap:6px}.footer-heart{display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}50%{transform:scale(1.15)}}@media(max-width:768px){.footer{padding:40px 20px 30px;margin-top:60px}.footer-main{flex-direction:column;align-items:center;text-align:center}.footer-info{align-items:center}.footer-bottom{flex-direction:column;text-align:center;gap:12px}.footer-links{justify-content:center}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%;min-height:100vh;position:relative;background-color:var(--color-bg);-webkit-tap-highlight-color:transparent;transition:background-color .3s ease}@media(max-width:768px){#root{transition:background-color 0s}}.app-container{position:relative;width:100%;min-height:100vh;margin-top:calc(-1*env(safe-area-inset-top));margin-left:calc(-1*env(safe-area-inset-left));margin-right:calc(-1*env(safe-area-inset-right));margin-bottom:calc(-1*env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);z-index:0;overflow:hidden}@media(max-width:768px){.app-container{margin:0;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);background:var(--color-bg);transition:background-color 0s}.app-container:before{display:none}}.app-container:before{content:"";position:absolute;top:calc(-1*env(safe-area-inset-top,0px));left:calc(-1*env(safe-area-inset-left,0px));right:calc(-1*env(safe-area-inset-right,0px));bottom:calc(-1*env(safe-area-inset-bottom,0px));width:auto;height:auto;background:var(--color-bg);background-size:cover;z-index:-2;pointer-events:none;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:background-color .3s ease}.app-container:after{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .8s ease forwards}
