@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-0-400-normal-tbXEaEG7.woff2)format("woff2"),url(/assets/noto-color-emoji-0-400-normal-5aPNcibp.woff)format("woff");unicode-range:U+1F1E6-1F1FF}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-1-400-normal-DPwJRBUT.woff2)format("woff2"),url(/assets/noto-color-emoji-1-400-normal-CFbKscMj.woff)format("woff");unicode-range:U+200D,U+2620,U+26A7,U+FE0F,U+1F308,U+1F38C,U+1F3C1,U+1F3F3-1F3F4,U+1F6A9,U+E0062-E0063,U+E0065,U+E0067,U+E006C,U+E006E,U+E0073-E0074,U+E0077,U+E007F}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-2-400-normal-DvwkPMI6.woff2)format("woff2"),url(/assets/noto-color-emoji-2-400-normal-BzKWahE8.woff)format("woff");unicode-range:U+23,U+2A,U+30-39,U+A9,U+AE,U+200D,U+203C,U+2049,U+20E3,U+2122,U+2139,U+2194-2199,U+21A9-21AA,U+23CF,U+23E9-23EF,U+23F8-23FA,U+24C2,U+25AA-25AB,U+25B6,U+25C0,U+25FB-25FE,U+2611,U+2622-2623,U+2626,U+262A,U+262E-262F,U+2638,U+2640,U+2642,U+2648-2653,U+2660,U+2663,U+2665-2666,U+2668,U+267B,U+267E-267F,U+2695,U+269B-269C,U+26A0,U+26A7,U+26AA-26AB,U+26CE,U+26D4,U+2705,U+2714,U+2716,U+271D,U+2721,U+2733-2734,U+2747,U+274C,U+274E,U+2753-2755,U+2757,U+2764,U+2795-2797,U+27A1,U+27B0,U+27BF,U+2934-2935,U+2B05-2B07,U+2B1B-2B1C,U+2B55,U+3030,U+303D,U+3297,U+3299,U+FE0F,U+1F170-1F171,U+1F17E-1F17F,U+1F18E,U+1F191-1F19A,U+1F201-1F202,U+1F21A,U+1F22F,U+1F232-1F23A,U+1F250-1F251,U+1F310,U+1F3A6,U+1F3B5-1F3B6,U+1F3BC,U+1F3E7,U+1F441,U+1F499-1F49C,U+1F49F-1F4A0,U+1F4AC-1F4AD,U+1F4B1-1F4B2,U+1F4B9,U+1F4DB,U+1F4F2-1F4F6,U+1F500-1F507,U+1F515,U+1F518-1F524,U+1F52F-1F53D,U+1F549,U+1F54E,U+1F5A4,U+1F5E8,U+1F5EF,U+1F6AB,U+1F6AD-1F6B1,U+1F6B3,U+1F6B7-1F6BC,U+1F6BE,U+1F6C2-1F6C5,U+1F6D0-1F6D1,U+1F6D7,U+1F6DC,U+1F7E0-1F7EB,U+1F7F0,U+1F90D-1F90E,U+1F9D1-1F9D2,U+1F9E1,U+1FA75-1FA77,U+1FAAF}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-3-400-normal-BWhiraWo.woff2)format("woff2"),url(/assets/noto-color-emoji-3-400-normal-CNpuOb5M.woff)format("woff");unicode-range:U+200D,U+231A-231B,U+2328,U+23F0-23F3,U+2602,U+260E,U+2692,U+2694,U+2696-2697,U+2699,U+26B0-26B1,U+26CF,U+26D1,U+26D3,U+2702,U+2709,U+270F,U+2712,U+FE0F,U+1F302,U+1F321,U+1F392-1F393,U+1F3A9,U+1F3BD,U+1F3EE,U+1F3F7,U+1F3FA,U+1F451-1F462,U+1F484,U+1F489-1F48A,U+1F48C-1F48E,U+1F4A1,U+1F4A3,U+1F4A5,U+1F4B0,U+1F4B3-1F4B8,U+1F4BB-1F4DA,U+1F4DC-1F4F1,U+1F4FF,U+1F508-1F514,U+1F516-1F517,U+1F526-1F529,U+1F52C-1F52E,U+1F550-1F567,U+1F56F-1F570,U+1F576,U+1F587,U+1F58A-1F58D,U+1F5A5,U+1F5A8,U+1F5B1-1F5B2,U+1F5C2-1F5C4,U+1F5D1-1F5D3,U+1F5DC-1F5DE,U+1F5E1,U+1F5F3,U+1F6AA,U+1F6AC,U+1F6BD,U+1F6BF,U+1F6C1,U+1F6CB,U+1F6CD-1F6CF,U+1F6D2,U+1F6E0-1F6E1,U+1F6F0,U+1F97B-1F97F,U+1F9AF,U+1F9BA,U+1F9E2-1F9E6,U+1F9EA-1F9EC,U+1F9EE-1F9F4,U+1F9F7-1F9FF,U+1FA71-1FA74,U+1FA79-1FA7B,U+1FA86,U+1FA8E-1FA8F,U+1FA91-1FA93,U+1FA96,U+1FA99-1FAA0,U+1FAA2-1FAA7,U+1FAAA-1FAAE}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-4-400-normal-D5xvrXFD.woff2)format("woff2"),url(/assets/noto-color-emoji-4-400-normal-D1xLHzFe.woff)format("woff");unicode-range:U+265F,U+26BD-26BE,U+26F3,U+26F8,U+FE0F,U+1F004,U+1F0CF,U+1F380-1F384,U+1F386-1F38B,U+1F38D-1F391,U+1F396-1F397,U+1F399-1F39B,U+1F39E-1F39F,U+1F3A3-1F3A5,U+1F3A7-1F3A9,U+1F3AB-1F3B4,U+1F3B7-1F3BB,U+1F3BD-1F3C0,U+1F3C5-1F3C6,U+1F3C8-1F3C9,U+1F3CF-1F3D3,U+1F3F8-1F3F9,U+1F47E,U+1F4E2,U+1F4F7-1F4FD,U+1F52B,U+1F579,U+1F58C-1F58D,U+1F5BC,U+1F6F7,U+1F6F9,U+1F6FC,U+1F93F,U+1F941,U+1F945,U+1F947-1F94F,U+1F9E7-1F9E9,U+1F9F5-1F9F6,U+1FA70-1FA71,U+1FA80-1FA81,U+1FA83-1FA85,U+1FA87-1FA8A,U+1FA94-1FA95,U+1FA97-1FA98,U+1FAA1,U+1FAA9,U+1FADF}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-5-400-normal-DUH4Uty8.woff2)format("woff2"),url(/assets/noto-color-emoji-5-400-normal-D85AwhWP.woff)format("woff");unicode-range:U+2693,U+26E9-26EA,U+26F1-26F2,U+26F4-26F5,U+26FA,U+26FD,U+2708,U+FE0F,U+1F301,U+1F303,U+1F306-1F307,U+1F309,U+1F310,U+1F3A0-1F3A2,U+1F3AA,U+1F3CD-1F3CE,U+1F3D5,U+1F3D7-1F3DB,U+1F3DF-1F3E6,U+1F3E8-1F3ED,U+1F3EF-1F3F0,U+1F488,U+1F492,U+1F4BA,U+1F54B-1F54D,U+1F5FA-1F5FF,U+1F680-1F6A2,U+1F6A4-1F6A8,U+1F6B2,U+1F6D1,U+1F6D5-1F6D6,U+1F6DD-1F6DF,U+1F6E2-1F6E5,U+1F6E9,U+1F6EB-1F6EC,U+1F6F3-1F6F6,U+1F6F8,U+1F6FA-1F6FB,U+1F9BC-1F9BD,U+1F9ED,U+1F9F3,U+1FA7C}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-6-400-normal-Ct8APc17.woff2)format("woff2"),url(/assets/noto-color-emoji-6-400-normal-Cd02m80r.woff)format("woff");unicode-range:U+200D,U+2615,U+FE0F,U+1F32D-1F330,U+1F336,U+1F33D,U+1F344-1F37F,U+1F382,U+1F52A,U+1F7E9,U+1F7EB,U+1F942-1F944,U+1F950-1F96F,U+1F99E,U+1F9AA,U+1F9C0-1F9CB,U+1FAD0-1FADC}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-7-400-normal-b5Sk21m2.woff2)format("woff2"),url(/assets/noto-color-emoji-7-400-normal-CqXRJ-vN.woff)format("woff");unicode-range:U+200D,U+2600-2601,U+2603-2604,U+2614,U+2618,U+26A1,U+26C4-26C5,U+26C8,U+26F0,U+2728,U+2744,U+2B1B,U+2B50,U+FE0F,U+1F300,U+1F304-1F305,U+1F308,U+1F30A-1F30F,U+1F311-1F321,U+1F324-1F32C,U+1F331-1F335,U+1F337-1F33C,U+1F33E-1F344,U+1F3D4,U+1F3D6,U+1F3DC-1F3DE,U+1F3F5,U+1F400-1F43F,U+1F490,U+1F4A7,U+1F4AE,U+1F525,U+1F54A,U+1F573,U+1F577-1F578,U+1F648-1F64A,U+1F6D8,U+1F940,U+1F980-1F9AE,U+1F9BA,U+1FA90,U+1FAA8,U+1FAB?,U+1FACD-1FACF,U+1FAE7}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-8-400-normal-D4dsBzUI.woff2)format("woff2"),url(/assets/noto-color-emoji-8-400-normal-BG9Fi5DC.woff)format("woff");unicode-range:U+200D,U+2640,U+2642,U+2695-2696,U+26F7,U+26F9,U+2708,U+2764,U+27A1,U+FE0F,U+1F33E,U+1F373,U+1F37C,U+1F384-1F385,U+1F393,U+1F3A4,U+1F3A8,U+1F3C2-1F3C4,U+1F3C7,U+1F3CA-1F3CC,U+1F3EB,U+1F3ED,U+1F3FB-1F3FF,U+1F430,U+1F466-1F469,U+1F46B-1F478,U+1F47C,U+1F481-1F483,U+1F486-1F487,U+1F48B,U+1F48F,U+1F491,U+1F4BB-1F4BC,U+1F527,U+1F52C,U+1F574-1F575,U+1F57A,U+1F645-1F647,U+1F64B,U+1F64D-1F64E,U+1F680,U+1F692,U+1F6A3,U+1F6B4-1F6B6,U+1F6C0,U+1F6CC,U+1F91D,U+1F926,U+1F930-1F931,U+1F934-1F93A,U+1F93C-1F93E,U+1F977,U+1F9AF-1F9B3,U+1F9B8-1F9B9,U+1F9BC-1F9BD,U+1F9CC-1F9CF,U+1F9D1-1F9DF,U+1FA70,U+1FA82,U+1FAC3-1FAC5,U+1FAC8,U+1FAEF}@font-face{font-family:Noto Color Emoji;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-color-emoji-9-400-normal-cxWfJXDF.woff2)format("woff2"),url(/assets/noto-color-emoji-9-400-normal-DftGkmnu.woff)format("woff");unicode-range:U+200D,U+2194-2195,U+2603,U+261D,U+2620,U+2639-263A,U+2665,U+26A1,U+26C4,U+270A-270D,U+2728,U+2763-2764,U+2B50,U+FE0F,U+1F31A-1F31F,U+1F32B,U+1F389-1F38A,U+1F3FB-1F3FF,U+1F440-1F450,U+1F463-1F465,U+1F479-1F47B,U+1F47D-1F480,U+1F485,U+1F48B-1F48C,U+1F493-1F49F,U+1F4A2,U+1F4A4-1F4A6,U+1F4A8-1F4AB,U+1F4AF,U+1F525,U+1F573,U+1F590,U+1F595-1F596,U+1F5A4,U+1F5E3,U+1F600-1F644,U+1F648-1F64A,U+1F64C,U+1F64F,U+1F90C-1F925,U+1F927-1F92F,U+1F932-1F933,U+1F970-1F976,U+1F978-1F97A,U+1F9A0,U+1F9B4-1F9B7,U+1F9BB,U+1F9BE-1F9BF,U+1F9D0,U+1F9E0-1F9E1,U+1FA75-1FA79,U+1FAC0-1FAC2,U+1FAC6,U+1FAE0-1FAE6,U+1FAE8-1FAEA,U+1FAEF-1FAF8}img.dev-avatar{--s:200px;--b:4px;--c:#2980b9;width:var(--s);height:var(--s);object-fit:cover;border:var(--b) solid var(--c);cursor:pointer;border-radius:50%;transition:transform .5s,box-shadow .5s;box-shadow:0 0 20px rgba(41,128,185,.3)}img.dev-avatar:hover{transform:scale(1.1);box-shadow:0 0 30px rgba(41,128,185,.5)}.main-portfolio-page{--section-bg-1:#1e6a9e;--section-bg-2:#1a5c8a;--section-bg-3:#164e75;--section-bg-4:#d6eaf8;--section-bg-5:#1e6a9e;--section-bg-6:#3498db;--text-on-dark:#eaf4fc;--text-on-light:#1a5276;--header-bg:linear-gradient(135deg, #164e75 0%, #1e6a9e 100%);--footer-bg:linear-gradient(135deg, #164e75 0%, #1e6a9e 100%);--glass-bg:rgba(214,234,248,.12);--glass-border:rgba(214,234,248,.22);--indicator-dot:rgba(214,234,248,.3);--indicator-dot-border:rgba(214,234,248,.5);--indicator-active:#3498db;--tag-text:#d6eaf8;--tag-bg:rgba(41,128,185,.15);--tag-border:rgba(41,128,185,.25);--link-text:#d6eaf8;transition:color .5s}[data-theme=light] .main-portfolio-page{--section-bg-1:#f0f7fc;--section-bg-2:#e8f4f8;--section-bg-3:#fff;--section-bg-4:#1a5276;--section-bg-5:#f0f7fc;--section-bg-6:#e0eef8;--text-on-dark:#1a5276;--text-on-light:#d6eaf8;--header-bg:linear-gradient(135deg, #fff 0%, #e8f4f8 100%);--footer-bg:linear-gradient(135deg, #fff 0%, #e8f4f8 100%);--glass-bg:rgba(26,82,118,.08);--glass-border:rgba(26,82,118,.15);--indicator-dot:rgba(26,82,118,.2);--indicator-dot-border:rgba(26,82,118,.4);--indicator-active:#2980b9;--tag-text:#1a5276;--tag-bg:rgba(41,128,185,.12);--tag-border:rgba(41,128,185,.25);--link-text:#1a5276}.main-portfolio-page .header{z-index:1000;backdrop-filter:blur(16px);color:var(--text-on-dark);border-bottom:2px solid transparent;border-image:linear-gradient(135deg,#2980b9 0%,#5dade2 100%) 1;justify-content:space-between;align-items:center;transition:background .5s,color .5s,box-shadow .5s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px rgba(26,82,118,.3);background:var(--header-bg)!important;background-color:transparent!important}.main-portfolio-page .header .ant-btn-link,.main-portfolio-page .header .ant-btn-text,.main-portfolio-page .header a{color:var(--text-on-dark)!important}.main-portfolio-page .header .ant-btn-default{color:var(--text-on-dark)!important;background:rgba(214,234,248,.1)!important;border-color:rgba(214,234,248,.4)!important}.main-portfolio-page .header .ant-btn-default:hover{background:rgba(214,234,248,.2)!important;border-color:rgba(214,234,248,.6)!important}[data-theme=light] .main-portfolio-page .header{color:#1a5276;border-image:linear-gradient(135deg,#2980b9,#5dade2) 1;box-shadow:0 4px 20px rgba(0,0,0,.08)}[data-theme=light] .main-portfolio-page .header .ant-btn-link,[data-theme=light] .main-portfolio-page .header .ant-btn-text,[data-theme=light] .main-portfolio-page .header a{color:#1a5276!important}[data-theme=light] .main-portfolio-page .header .ant-btn-default{color:#1a5276!important;background:rgba(26,82,118,.06)!important;border-color:rgba(26,82,118,.3)!important}[data-theme=light] .main-portfolio-page .header .ant-btn-default:hover{background:rgba(26,82,118,.1)!important;border-color:rgba(26,82,118,.5)!important}.main-portfolio-page .content{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;margin-top:64px;padding:0;position:relative;overflow-x:hidden}.main-portfolio-page .portfolio-section{box-sizing:border-box;justify-content:center;align-items:center;min-height:auto;padding:80px 20px;transition:background-color .5s,color .5s;display:flex;position:relative}.main-portfolio-page .portfolio-section[data-section=about]{background-color:var(--section-bg-1);color:var(--text-on-dark)}.main-portfolio-page .portfolio-section[data-section=experience]{background-color:var(--section-bg-2);color:var(--text-on-dark)}.main-portfolio-page .portfolio-section[data-section=projects]{background-color:var(--section-bg-3);color:var(--text-on-dark)}.main-portfolio-page .portfolio-section[data-section=skills]{background-color:var(--section-bg-4);color:var(--text-on-light)}.main-portfolio-page .portfolio-section[data-section=education]{background-color:var(--section-bg-5);color:var(--text-on-dark)}.main-portfolio-page .portfolio-section[data-section=contact]{background-color:var(--section-bg-6);color:var(--text-on-dark)}.main-portfolio-page .section-inner{z-index:1;width:100%;max-width:1200px;margin:0 auto;position:relative}.main-portfolio-page .network-mesh{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.main-portfolio-page .glass-card{transition:background .5s,border-color .5s;box-shadow:0 4px 16px rgba(0,0,0,.1);background:var(--glass-bg)!important;backdrop-filter:blur(12px)!important;border:1px solid var(--glass-border)!important}.main-portfolio-page .glow-text{display:inline-block}.main-portfolio-page .about-me-content{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.main-portfolio-page .about-me-content .about-me-avatar-wrapper{margin-bottom:1rem}.main-portfolio-page .about-me-content h2{margin-bottom:.3rem;font-size:1.5rem}.main-portfolio-page .about-me-content p{max-width:600px;font-size:.85rem;line-height:1.6}.main-portfolio-page .section-title{text-align:center;background:linear-gradient(135deg,#85c1e9,#d4effc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.25rem;font-size:2.5rem;font-weight:700;transition:background .5s}[data-theme=light] .main-portfolio-page .section-title{background:linear-gradient(135deg,#1a5276,#2980b9);-webkit-background-clip:text;background-clip:text}.main-portfolio-page .portfolio-section[data-section=skills] .section-title{background:linear-gradient(135deg,#1a5276,#154360);-webkit-background-clip:text;background-clip:text}[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .section-title{background:linear-gradient(135deg,#d6eaf8,#fff);-webkit-background-clip:text;background-clip:text}.main-portfolio-page .section-content{font-size:1rem;line-height:1.6}.main-portfolio-page .section-content h2{margin-bottom:1rem;font-size:1.5rem}.main-portfolio-page .section-content p{opacity:.9;margin-bottom:.75rem}.main-portfolio-page .skills-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem;display:grid}.main-portfolio-page .skill-card{backdrop-filter:blur(10px);background:rgba(214,234,248,.3);border:1px solid rgba(26,82,118,.2);border-radius:16px;padding:2rem;transition:all .3s}.main-portfolio-page .skill-card:hover{background:rgba(93,173,226,.4);border-color:#2980b9;transform:translateY(-4px);box-shadow:0 8px 24px rgba(41,128,185,.3)}.main-portfolio-page .skill-card h3{color:#2980b9;margin-bottom:1rem;font-size:1.5rem}.main-portfolio-page .skill-card ul{margin:0;padding:0;list-style:none}.main-portfolio-page .skill-card ul li{border-bottom:1px solid rgba(26,82,118,.2);padding:.5rem 0}.main-portfolio-page .skill-card ul li:last-child{border-bottom:none}.main-portfolio-page .skill-card ul li:before{content:"▹ ";color:#2980b9;font-weight:700}.main-portfolio-page .skills-split{flex-direction:column;gap:2.5rem;max-width:900px;margin:0 auto;display:flex}.main-portfolio-page .skills-subtitle{color:#1a5276;text-align:center;letter-spacing:.03em;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.main-portfolio-page .skills-subtitle.secondary{opacity:.8;font-size:.95rem}.main-portfolio-page .main-stack-grid{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.main-portfolio-page .main-stack-item{cursor:default;background:rgba(26,82,118,.1);border:1px solid rgba(41,128,185,.2);border-radius:12px;align-items:center;gap:.6rem;padding:.65rem 1.2rem;transition:box-shadow .3s;display:flex}.main-portfolio-page .main-stack-item .main-stack-icon{flex-shrink:0;width:28px;height:28px}.main-portfolio-page .main-stack-item .main-stack-name{color:#1a5276;font-size:.95rem;font-weight:600}.main-portfolio-page .secondary-categories{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.main-portfolio-page .secondary-category{flex-direction:column;gap:.35rem;display:flex}.main-portfolio-page .secondary-category-label{color:#1a5276;opacity:.55;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:700}.main-portfolio-page .secondary-chips{flex-wrap:wrap;gap:.35rem;display:flex}.main-portfolio-page .secondary-skill-chip{color:#1a5276;cursor:default;background:rgba(26,82,118,.06);border:1px solid rgba(41,128,185,.12);border-radius:8px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.68rem;font-weight:500;display:inline-flex}.main-portfolio-page .secondary-skill-chip .secondary-skill-icon{flex-shrink:0;width:14px;height:14px}.main-portfolio-page .portfolio-section[data-section=skills] .skills-subtitle,.main-portfolio-page .portfolio-section[data-section=skills] .skills-subtitle.secondary{color:#1a5276}[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .main-stack-item{background:rgba(214,234,248,.15);border-color:rgba(214,234,248,.25)}[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .main-stack-item .main-stack-name{color:#d6eaf8}[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .secondary-skill-chip{color:#d6eaf8;background:rgba(214,234,248,.1);border-color:rgba(214,234,248,.2)}[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .skills-subtitle,[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .skills-subtitle.secondary,[data-theme=light] .main-portfolio-page .portfolio-section[data-section=skills] .secondary-category-label{color:#d6eaf8}.main-portfolio-page .contact-content{text-align:center}.main-portfolio-page .contact-content .contact-info{flex-direction:column;gap:1.5rem;max-width:600px;margin:2rem auto;display:flex}.main-portfolio-page .contact-content .contact-item{text-align:left;border-radius:10px;align-items:center;gap:.75rem;padding:1rem;transition:all .3s;display:flex}.main-portfolio-page .contact-content .contact-item:hover{transform:translate(6px)}.main-portfolio-page .contact-content .contact-item .contact-icon{font-size:1.5rem}.main-portfolio-page .contact-content .contact-item strong{color:var(--text-on-dark);opacity:.8;margin-right:.3rem;font-size:.85rem}.main-portfolio-page .contact-content .contact-item span{color:inherit;font-size:.85rem}.main-portfolio-page .contact-content .contact-cta{opacity:.8;margin-top:1.25rem;font-size:1rem;font-style:italic}.main-portfolio-page .section-indicator{z-index:1000;flex-direction:column;gap:1rem;display:flex;position:fixed;top:50%;right:2rem;transform:translateY(-50%)}.main-portfolio-page .section-indicator .indicator-dot{background-color:var(--indicator-dot);border:2px solid var(--indicator-dot-border);cursor:pointer;border-radius:50%;width:12px;height:12px;padding:0;transition:all .3s,background-color .5s,border-color .5s;position:relative}.main-portfolio-page .section-indicator .indicator-dot:hover{background-color:rgba(214,234,248,.6);border-color:rgba(214,234,248,.8)}.main-portfolio-page .section-indicator .indicator-dot:hover .indicator-tooltip{opacity:1;visibility:visible;transform:translate(-10px)}.main-portfolio-page .section-indicator .indicator-dot.active{background-color:var(--indicator-active);border-color:var(--indicator-active);width:14px;height:14px;box-shadow:0 0 10px rgba(41,128,185,.6)}.main-portfolio-page .section-indicator .indicator-dot .indicator-tooltip{backdrop-filter:blur(10px);color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;background-color:rgba(26,82,118,.9);border:1px solid rgba(214,234,248,.5);border-radius:8px;margin-right:1rem;padding:.5rem 1rem;font-size:.875rem;transition:all .3s;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.main-portfolio-page .portfolio-footer{text-align:left;background:var(--footer-bg);backdrop-filter:blur(16px);color:var(--text-on-dark);border-top:2px solid transparent;border-image:linear-gradient(135deg,#2980b9 0%,#5dade2 100%) 1;padding:12px 48px;font-size:.9rem;transition:background .5s,color .5s,box-shadow .5s;position:relative;box-shadow:0 -4px 20px rgba(26,82,118,.3)}[data-theme=light] .main-portfolio-page .portfolio-footer{color:#1a5276;box-shadow:0 -4px 20px rgba(0,0,0,.05)}@media (max-width:768px){.main-portfolio-page .header{padding:8px 12px}.main-portfolio-page .header .ant-row{flex-wrap:nowrap}.main-portfolio-page .header .ant-col{flex-shrink:1;min-width:0}.main-portfolio-page .content{margin-top:56px;padding:0}.main-portfolio-page .portfolio-section{min-height:auto;padding:40px 16px}.main-portfolio-page .section-title{margin-bottom:.75rem;font-size:1.8rem}.main-portfolio-page .section-content{font-size:.85rem}.main-portfolio-page .section-content h2{font-size:1.2rem}.main-portfolio-page .about-me-content{gap:.5rem}.main-portfolio-page .about-me-content .about-me-avatar-wrapper{margin-bottom:.5rem}.main-portfolio-page .about-me-content h2{font-size:1.2rem}.main-portfolio-page .about-me-content p{font-size:.78rem;line-height:1.5}.main-portfolio-page .skills-grid{grid-template-columns:1fr;gap:1rem}.main-portfolio-page .secondary-categories{grid-template-columns:1fr}.main-portfolio-page .section-indicator{gap:.4rem;right:.5rem}.main-portfolio-page .section-indicator .indicator-dot{width:7px;height:7px}.main-portfolio-page .section-indicator .indicator-dot.active{width:9px;height:9px}.main-portfolio-page .section-indicator .indicator-dot .indicator-tooltip{display:none}.main-portfolio-page .contact-content .contact-info{gap:.75rem;margin:1rem 0}.main-portfolio-page .contact-content .contact-item{gap:.5rem;padding:.6rem .75rem}.main-portfolio-page .contact-content .contact-item .contact-icon{font-size:1.2rem}.main-portfolio-page .contact-content .contact-item strong,.main-portfolio-page .contact-content .contact-item span{font-size:.75rem}.main-portfolio-page .contact-content .contact-cta{margin-top:.75rem;font-size:.85rem}.main-portfolio-page .portfolio-footer{padding:8px 16px;font-size:.75rem}}.experience-content{justify-content:center;width:100%;display:flex}.experience-content .vtl-timeline{width:100%;max-width:800px;padding:1rem 0;position:relative}.experience-content .vtl-line{transform-origin:top;z-index:0;background:linear-gradient(rgba(41,128,185,.1),#2980b9,rgba(41,128,185,.1));border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:0;bottom:0;left:50%}.experience-content .vtl-item{align-items:center;width:100%;margin-bottom:2rem;display:flex;position:relative}.experience-content .vtl-item:last-child{margin-bottom:0}.experience-content .vtl-left{justify-content:flex-start}.experience-content .vtl-left .vtl-card{width:calc(50% - 30px);margin-left:0;margin-right:auto}.experience-content .vtl-left .vtl-node{margin-left:-8px;left:50%}.experience-content .vtl-left .vtl-connector{transform-origin:100%;width:22px;left:calc(50% - 22px)}.experience-content .vtl-right{justify-content:flex-end}.experience-content .vtl-right .vtl-card{width:calc(50% - 30px);margin-left:auto;margin-right:0}.experience-content .vtl-right .vtl-node{margin-left:-8px;left:50%}.experience-content .vtl-right .vtl-connector{transform-origin:0;width:22px;left:calc(50% + 1px)}.experience-content .vtl-node{z-index:3;background:#2980b9;border:3px solid rgba(214,234,248,.7);border-radius:50%;width:16px;height:16px;margin-top:-8px;position:absolute;top:50%;box-shadow:0 0 10px rgba(41,128,185,.4)}.experience-content .vtl-node .vtl-node-pulse{pointer-events:none;background:rgba(41,128,185,.25);border-radius:50%;position:absolute;top:-5px;bottom:-5px;left:-5px;right:-5px}.experience-content .vtl-connector{z-index:1;background:#2980b9;height:2px;margin-top:-1px;position:absolute;top:50%}.experience-content .vtl-card{cursor:default;z-index:2;border-radius:12px;padding:.8rem 1rem;position:relative}.experience-content .vtl-period{color:var(--text-on-dark);background:rgba(41,128,185,.15);border-radius:10px;margin-bottom:.25rem;padding:.1rem .5rem;font-size:.6rem;font-weight:700;display:inline-block}.experience-content .vtl-role{color:var(--text-on-dark);margin:0 0 .1rem;font-size:.85rem;font-weight:700}.experience-content .vtl-company{opacity:.8;margin:0 0 .25rem;font-size:.72rem;font-weight:500}.experience-content .vtl-description{opacity:.85;margin-bottom:.35rem;font-size:.68rem;line-height:1.5}.experience-content .vtl-tech{flex-wrap:wrap;gap:.2rem;display:flex}.experience-content .tech-tag{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text);cursor:default;border-radius:12px;padding:.1rem .4rem;font-size:.52rem;font-weight:600;display:inline-block}@media (max-width:768px){.experience-content .vtl-line{margin-left:0;left:16px}.experience-content .vtl-item{margin-bottom:1.5rem}.experience-content .vtl-left,.experience-content .vtl-right{justify-content:flex-end}.experience-content .vtl-left .vtl-card,.experience-content .vtl-right .vtl-card{width:calc(100% - 50px);margin-left:auto;margin-right:0}.experience-content .vtl-left .vtl-node,.experience-content .vtl-right .vtl-node{margin-left:-8px;left:16px}.experience-content .vtl-left .vtl-connector,.experience-content .vtl-right .vtl-connector{transform-origin:0;width:20px;left:16px}.experience-content .vtl-card{padding:.6rem .8rem}.experience-content .vtl-period{font-size:.52rem}.experience-content .vtl-role{font-size:.75rem}.experience-content .vtl-company{font-size:.65rem}.experience-content .vtl-description{font-size:.6rem}.experience-content .tech-tag{padding:.08rem .35rem;font-size:.48rem}.experience-content .vtl-node{width:12px;height:12px;margin-top:-6px;margin-left:-6px}}.education-content{flex-direction:column;align-items:center;gap:1rem;max-width:700px;margin:0 auto;display:flex}.education-content .edu-card{cursor:default;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;display:flex}.education-content .edu-card .edu-icon{flex-shrink:0;font-size:2.2rem}.education-content .edu-card .edu-info h3{color:var(--text-on-dark);margin:0 0 .15rem;font-size:1rem;font-weight:700}.education-content .edu-card .edu-info .edu-school{opacity:.85;margin:0 0 .3rem;font-size:.8rem}.education-content .edu-card .edu-info .edu-meta{opacity:.7;gap:.75rem;font-size:.75rem;display:flex}.education-content .edu-card .edu-info .edu-meta .edu-grade{background:rgba(41,128,185,.2);border-radius:10px;padding:.1rem .5rem;font-weight:600}.education-content .edu-certs{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;width:100%;display:grid}.education-content .cert-card{cursor:default;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.education-content .cert-card .cert-icon{flex-shrink:0;font-size:1.5rem}.education-content .cert-card .cert-info h4{color:var(--text-on-dark);margin:0 0 .15rem;font-size:.85rem;font-weight:700}.education-content .cert-card .cert-info p{opacity:.75;margin:0 0 .3rem;font-size:.7rem}.education-content .cert-card .cert-info .cert-tech{background:rgba(41,128,185,.15);border-radius:8px;padding:.1rem .4rem;font-size:.65rem;font-weight:500}.education-content .edu-languages{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.education-content .lang-badge{cursor:default;border-radius:30px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.education-content .lang-badge .lang-icon{font-size:1.2rem}.education-content .lang-badge .lang-name{font-size:.8rem;font-weight:600}.education-content .lang-badge .lang-level{opacity:.7;background:rgba(41,128,185,.15);border-radius:8px;padding:.1rem .4rem;font-size:.65rem}@media (max-width:768px){.education-content .edu-card{text-align:center;flex-direction:column}.education-content .edu-card .edu-meta{justify-content:center}.education-content .edu-certs{grid-template-columns:1fr}}.projects-section .projects-inner{flex-direction:column;align-items:center;max-width:950px;display:flex}.projects-section .projects-slideshow{width:100%;min-height:280px;padding:0 2.5rem;position:relative;overflow:visible}.projects-section .project-slide{grid-template-columns:1fr 1fr;align-items:center;gap:1.25rem;display:grid}.projects-section .project-screenshot{aspect-ratio:16/10;border-radius:12px;justify-content:center;align-items:center;display:flex;overflow:hidden}.projects-section .project-screenshot .project-img{object-fit:cover;width:100%;height:100%}.projects-section .project-placeholder{background:rgba(41,128,185,.08);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;min-height:160px;display:flex}.projects-section .project-placeholder .placeholder-icon{font-size:3rem}.projects-section .project-placeholder .placeholder-text{opacity:.5;font-size:.75rem;font-style:italic}.projects-section .project-info{flex-direction:column;gap:.5rem;display:flex}.projects-section .project-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.projects-section .project-name{color:#2980b9;margin:0;font-size:1.15rem;font-weight:700}.projects-section .project-type{text-transform:uppercase;letter-spacing:.06em;background:rgba(41,128,185,.2);border:1px solid rgba(41,128,185,.3);border-radius:16px;padding:.15rem .5rem;font-size:.6rem;font-weight:600}.projects-section .project-description{opacity:.9;margin:0;font-size:.78rem;line-height:1.6}.projects-section .project-highlights{flex-direction:column;gap:.2rem;display:flex}.projects-section .project-highlights .highlight-item{opacity:.85;align-items:flex-start;gap:.4rem;font-size:.7rem;line-height:1.5;display:flex}.projects-section .project-highlights .highlight-item .highlight-bullet{color:#2980b9;flex-shrink:0;margin-top:.1em;font-weight:700}.projects-section .project-tech-stack{flex-wrap:wrap;gap:.2rem;display:flex}.projects-section .project-tech-tag{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text);cursor:default;border-radius:12px;padding:.1rem .45rem;font-size:.58rem;font-weight:600;display:inline-block}.projects-section .project-links{flex-wrap:wrap;gap:.4rem;display:flex}.projects-section .project-links .project-link{color:var(--link-text);cursor:pointer;border-radius:8px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.projects-section .project-links .demo-btn{background:rgba(41,128,185,.25);border:1px solid rgba(41,128,185,.4);transition:all .3s}.projects-section .project-links .demo-btn.active{color:#ff6b6b;background:rgba(255,77,79,.2);border-color:rgba(255,77,79,.4)}.projects-section .project-links .demo-btn:hover:not(.active){background:rgba(41,128,185,.4);box-shadow:0 0 12px rgba(41,128,185,.3)}.projects-section .project-demo-area{grid-column:1/-1}.projects-section .micro-app-container{border:1px solid rgba(41,128,185,.25);border-radius:10px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3)}.projects-section .micro-app-toolbar{background:rgba(30,30,30,.95);border-bottom:1px solid rgba(214,234,248,.1);align-items:center;gap:.3rem;padding:.4rem .6rem;display:flex}.projects-section .micro-app-toolbar .toolbar-left{gap:.25rem;display:flex}.projects-section .micro-app-toolbar .toolbar-dot{border-radius:50%;width:8px;height:8px}.projects-section .micro-app-toolbar .toolbar-dot.red{background:#ff5f57}.projects-section .micro-app-toolbar .toolbar-dot.yellow{background:#febc2e}.projects-section .micro-app-toolbar .toolbar-dot.green{background:#28c840}.projects-section .micro-app-toolbar .toolbar-title{text-align:center;opacity:.5;color:#d6eaf8;flex:1;font-family:JetBrains Mono,monospace;font-size:.58rem}.projects-section .micro-app-toolbar .toolbar-close{color:rgba(214,234,248,.5);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:.7rem;transition:all .2s}.projects-section .micro-app-toolbar .toolbar-close:hover{color:#ff5f57;background:rgba(255,95,87,.15)}.projects-section .micro-app-content{min-height:200px}.projects-section .micro-app-loading{color:#d6eaf8;opacity:.6;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;font-size:.7rem;display:flex}.projects-section .micro-app-loading .loading-spinner{font-size:1.5rem}.projects-section .slide-arrow{backdrop-filter:blur(8px);width:36px;height:36px;color:var(--tag-text);cursor:pointer;z-index:10;background:rgba(214,234,248,.1);border:1px solid rgba(214,234,248,.2);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.projects-section .slide-arrow:hover:not(:disabled){background:rgba(41,128,185,.3);border-color:#2980b9}.projects-section .slide-arrow:disabled{opacity:.2;cursor:not-allowed}.projects-section .slide-arrow-left{left:0}.projects-section .slide-arrow-right{right:0}.projects-section .slide-dots{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.projects-section .slide-dot{cursor:pointer;background:rgba(214,234,248,.25);border:2px solid rgba(214,234,248,.4);border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.projects-section .slide-dot.active{background:#2980b9;border-color:#2980b9;width:10px;height:10px}.projects-section .slide-counter{opacity:.5;margin-left:.4rem;font-size:.65rem}@media (max-width:768px){.projects-section .projects-inner{max-width:100%;padding:0}.projects-section .projects-slideshow{min-height:auto;padding:0 1.75rem}.projects-section .project-slide{grid-template-columns:1fr;gap:.6rem}.projects-section .project-screenshot{aspect-ratio:16/9;border-radius:8px}.projects-section .project-placeholder{min-height:100px}.projects-section .project-placeholder .placeholder-icon{font-size:1.8rem}.projects-section .project-placeholder .placeholder-text{font-size:.6rem}.projects-section .project-name{font-size:.9rem}.projects-section .project-type{padding:.1rem .35rem;font-size:.48rem}.projects-section .project-description{font-size:.68rem;line-height:1.5}.projects-section .project-highlights .highlight-item{font-size:.62rem}.projects-section .project-tech-stack{gap:.15rem}.projects-section .project-tech-tag{padding:.06rem .3rem;font-size:.5rem}.projects-section .project-links{gap:.3rem}.projects-section .project-links .project-link{padding:.2rem .5rem;font-size:.6rem}.projects-section .slide-arrow{width:26px;height:26px;font-size:1rem}.projects-section .slide-arrow-left{left:0}.projects-section .slide-arrow-right{right:0}.projects-section .slide-dots{gap:.35rem;margin-top:.5rem}.projects-section .slide-dot{width:6px;height:6px}.projects-section .slide-dot.active{width:8px;height:8px}.projects-section .micro-app-container{border-radius:8px}.projects-section .micro-app-toolbar{padding:.3rem .5rem}.projects-section .micro-app-toolbar .toolbar-title{font-size:.5rem}.projects-section .micro-app-toolbar .toolbar-dot{width:6px;height:6px}.projects-section .micro-app-content{min-height:160px}}.gold-page{color:#fff;background:linear-gradient(135deg,#1a5276 0%,#2980b9 50%,#5dade2 100%);flex-direction:column;align-items:center;min-height:100vh;padding:24px;display:flex}.gold-page .gold-back-btn{align-self:flex-start;margin-bottom:16px;color:#fff!important;background:rgba(214,234,248,.1)!important;border-color:rgba(214,234,248,.4)!important}.gold-page .gold-back-btn:hover{background:rgba(214,234,248,.2)!important;border-color:rgba(214,234,248,.6)!important}.gold-page .gold-card{backdrop-filter:blur(12px);width:100%;max-width:1000px;box-shadow:0 8px 32px rgba(0,0,0,.2);background:rgba(214,234,248,.1)!important;border:1px solid rgba(214,234,248,.2)!important;border-radius:16px!important}.gold-page .gold-card .ant-card-head{color:#fff;border-bottom:1px solid rgba(214,234,248,.15)}.gold-page .gold-card .ant-card-head .ant-card-head-title{color:#fff;font-size:1.25rem;font-weight:600}.gold-page .gold-card .ant-card-body{padding:0}.gold-page .gold-card .ant-ribbon{background:linear-gradient(135deg,#2980b9 0%,#5dade2 100%)}.gold-page .gold-card .ant-table{border-radius:0 0 16px 16px;background:0 0!important}.gold-page .gold-card .ant-table .ant-table-thead>tr>th{font-size:.85rem;font-weight:600;color:#fff!important;border-bottom:1px solid rgba(214,234,248,.25)!important;background:rgba(26,82,118,.5)!important}.gold-page .gold-card .ant-table .ant-table-thead>tr>th:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:1px solid rgba(214,234,248,.2)}.gold-page .gold-card .ant-table .ant-table-thead>tr>th:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:1px solid rgba(214,234,248,.2)}.gold-page .gold-card .ant-table .ant-table-thead>tr>th:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:1px solid rgba(214,234,248,.2)}.gold-page .gold-card .ant-table .ant-table-thead>tr>th:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:1px solid rgba(214,234,248,.2)}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td{font-size:.85rem;color:#fff!important;border-bottom:1px solid rgba(214,234,248,.15)!important;background:0 0!important}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:1px solid rgba(214,234,248,.12)}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:1px solid rgba(214,234,248,.12)}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:1px solid rgba(214,234,248,.12)}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:1px solid rgba(214,234,248,.12)}.gold-page .gold-card .ant-table .ant-table-tbody>tr:hover>td{background:rgba(214,234,248,.08)!important}.gold-page .gold-card .ant-table .ant-table-tbody>tr>td.ant-table-cell-fix-left,.gold-page .gold-card .ant-table .ant-table-tbody>tr>td.ant-table-cell-fix-right{z-index:2!important;background:#1a5276!important}.gold-page .gold-card .ant-table .ant-table-thead>tr>th.ant-table-cell-fix-left,.gold-page .gold-card .ant-table .ant-table-thead>tr>th.ant-table-cell-fix-right{background:#11354c!important}.gold-page .gold-card .ant-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.gold-page .gold-card .ant-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#287eb5!important}.gold-page .gold-card .ant-table .ant-table-container{border-radius:0 0 12px 12px;overflow:hidden;border:1px solid rgba(214,234,248,.25)!important}.gold-page .gold-card .ant-spin .ant-spin-dot-item{background-color:#d6eaf8!important}@media (max-width:768px){.gold-page{padding:12px}.gold-page .gold-card{border-radius:12px!important}.gold-page .gold-card .ant-card-head .ant-card-head-title{font-size:1rem}.gold-page .gold-card .ant-table .ant-table-thead>tr>th,.gold-page .gold-card .ant-table .ant-table-tbody>tr>td{font-size:.75rem;padding:8px 6px!important}}.express-basic-layout{height:100vh}.express-basic-layout.ant-layout .ant-layout-sider{color:#000;background-color:#fff}.express-basic-layout.ant-layout .ant-layout-sider .express-basic-layout-sider-header{border-bottom:1px solid #e0e0e0;padding:16px}.express-basic-layout.ant-layout .ant-layout-sider .express-basic-layout-sider-content{padding:16px}.express-basic-layout.ant-layout .ant-layout-sider .express-basic-layout-sider-content .express-basic-layout-sider-content-user-info{flex-direction:column;margin-bottom:16px;display:flex}.crm-layout .ant-menu-dark .ant-menu-sub,.crm-layout .ant-menu-dark .ant-menu-sub .ant-menu-item{background:0 0!important}.crm-layout .ant-menu-dark .ant-menu-sub .ant-menu-item:hover{background:rgba(255,255,255,.08)!important}.crm-layout .ant-menu-dark .ant-menu-sub .ant-menu-item-selected{background:var(--ant-color-primary)!important}.crm-layout .ant-card{transition:transform .25s,box-shadow .25s,border-color .25s}.crm-layout .ant-card:hover{transform:translateY(-2px)}[data-theme=dark] .crm-layout .ant-card:hover,.crm-layout[data-crm-dark=true] .ant-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.1);border-color:rgba(255,255,255,.15)!important}.crm-layout[data-crm-dark=false] .ant-card:hover{box-shadow:0 8px 24px rgba(26,82,118,.12);border-color:rgba(52,152,219,.25)!important}.crm-layout .ant-statistic .ant-card:hover{transform:translateY(-3px)}.crm-layout .ant-card .ant-card:hover{transform:translateY(-2px)}.crm-layout .ant-card:has(>.ant-card-head):hover{transform:none}.portainer-hub-page{color:#e8edf5;background:linear-gradient(#0a1628 0%,#0f1f3a 50%,#0a1628 100%);min-height:100vh}.portainer-hub-page .ph-header{z-index:10;backdrop-filter:blur(16px);background:rgba(10,22,40,.85);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0}.portainer-hub-page .ph-header .ph-header-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:12px 24px;display:flex}.portainer-hub-page .ph-logo{align-items:center;gap:12px;display:flex}.portainer-hub-page .ph-logo-icon{background:rgba(22,119,255,.15);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.portainer-hub-page .ph-main{max-width:1400px;margin:0 auto;padding:24px}.portainer-hub-page .ph-toolbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.portainer-hub-page .ph-host-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;display:grid}.portainer-hub-page .ph-host-card{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;transition:all .3s!important}.portainer-hub-page .ph-host-card:hover{border-color:rgba(22,119,255,.3)!important;box-shadow:0 8px 32px rgba(22,119,255,.1)!important}.portainer-hub-page .ph-host-card .ant-card-body{padding:20px!important}.portainer-hub-page .ph-host-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.portainer-hub-page .ph-host-card-info{align-items:flex-start;gap:12px;display:flex}.portainer-hub-page .ph-host-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.portainer-hub-page .ph-host-card-body{margin-bottom:16px}.portainer-hub-page .ph-field{margin-bottom:8px}.portainer-hub-page .ph-label{text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px;display:block}.portainer-hub-page .ph-value{font-size:13px}.portainer-hub-page .ph-stats-row{margin-top:12px}.portainer-hub-page .ph-error-box{background:rgba(255,77,79,.1);border-radius:8px;margin-top:12px;padding:8px 12px}.portainer-hub-page .ph-host-card-actions{gap:8px;display:flex}.portainer-hub-page .status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.portainer-hub-page .ph-host-detail-card{margin-bottom:24px;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important}.portainer-hub-page .ph-host-detail-card .ant-card-body{padding:24px!important}.portainer-hub-page .ph-detail-header{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.portainer-hub-page .ph-host-icon-large{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.portainer-hub-page .ph-stat-card,.portainer-hub-page .ph-info-card{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important}.portainer-hub-page .ph-env-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.portainer-hub-page .ph-env-card{cursor:pointer;background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important}.portainer-hub-page .ph-env-card.active{background:rgba(22,119,255,.05)!important;border-color:rgba(22,119,255,.5)!important}.portainer-hub-page .ph-logs-card{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important}.portainer-hub-page .ph-logs-container{background:#0d1117;border-radius:8px;height:calc(100vh - 280px);padding:16px;overflow-y:auto}.portainer-hub-page .ph-logs-pre{margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.8}.portainer-hub-page .ph-log-line{padding:1px 0}.portainer-hub-page .ph-log-line.error{color:#ff4d4f}.portainer-hub-page .ph-log-time{color:rgba(255,255,255,.35);margin-right:8px}.portainer-hub-page .ph-log-content{color:#c9d1d9}.portainer-hub-page .ph-drawer .ant-drawer-content{border-radius:24px 24px 0 0}.portainer-hub-page .ant-card,.portainer-hub-page .ant-typography{color:#e8edf5}.portainer-hub-page h1.ant-typography,.portainer-hub-page h2.ant-typography,.portainer-hub-page h3.ant-typography,.portainer-hub-page h4.ant-typography,.portainer-hub-page h5.ant-typography{color:#e8edf5!important}.portainer-hub-page .ant-typography-secondary{color:rgba(255,255,255,.45)!important}.portainer-hub-page .ant-statistic-title{color:rgba(255,255,255,.45)}.portainer-hub-page .ant-statistic-content{color:#e8edf5}.portainer-hub-page .ant-descriptions-item-label{color:rgba(255,255,255,.45)!important}.portainer-hub-page .ant-descriptions-item-content{color:#e8edf5!important}.portainer-hub-page .ant-tabs-tab{color:rgba(255,255,255,.45)!important}.portainer-hub-page .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#1677ff!important}.portainer-hub-page .ant-table{color:#e8edf5!important;background:0 0!important}.portainer-hub-page .ant-table .ant-table-thead>tr>th{color:rgba(255,255,255,.65)!important;background:rgba(255,255,255,.04)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.portainer-hub-page .ant-table .ant-table-tbody>tr>td{color:#e8edf5!important;border-bottom:1px solid rgba(255,255,255,.06)!important}.portainer-hub-page .ant-table .ant-table-tbody>tr:hover>td{background:rgba(22,119,255,.05)!important}.portainer-hub-page .ant-table .ant-table-cell{background:0 0!important}.portainer-hub-page .ant-pagination .ant-pagination-item{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}.portainer-hub-page .ant-pagination .ant-pagination-item a{color:#e8edf5}.portainer-hub-page .ant-input,.portainer-hub-page .ant-select-selector{color:#e8edf5!important;background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.1)!important}.portainer-hub-page .ant-select-dropdown{background:#1a2640!important}.portainer-hub-page .ant-empty-description{color:rgba(255,255,255,.35)}.portainer-hub-page .ant-card-head{color:#e8edf5!important;border-bottom-color:rgba(255,255,255,.08)!important}.portainer-hub-page .ant-card-head-title{color:#e8edf5!important}.portainer-hub-page .ant-tabs-ink-bar{background:#1677ff}@media (max-width:768px){.portainer-hub-page .ph-host-grid{grid-template-columns:1fr}.portainer-hub-page .ph-main{padding:16px}.portainer-hub-page .ph-header .ph-header-inner{padding:12px 16px}.portainer-hub-page .ph-detail-header{flex-direction:column}.portainer-hub-page .ph-host-icon-large{width:48px;height:48px}}.center{justify-content:center;align-items:center;display:flex}.green{color:#2980b9}.red{color:#ff4d4f}html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{border-radius:6px}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background-color:rgba(132,140,153,.7);border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:#848c99}
