body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box}body{background-color:var(--background-color);color:var(--text-color);font-family:Noto Sans,sans-serif;margin:0;overflow:hidden;padding:0;transition:background-color .35s ease,color .35s ease}a{color:var(--secondary-color);text-decoration:none;transition:opacity .2s}a:hover{opacity:.75}.highlight{color:var(--secondary-color)}.star-canvas{inset:0;pointer-events:none;position:fixed;z-index:0}.menu-header{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:var(--primary-color);border-bottom:1px solid var(--header-border);color:var(--secondary-color);display:flex;font-family:Exo,Space Grotesk,sans-serif;font-size:1.5rem;height:2.5rem;padding:0 .75rem;position:-webkit-sticky;position:sticky;text-shadow:0 0 12px #00d97e59;top:0;transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease,-webkit-backdrop-filter .45s ease;transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease,backdrop-filter .45s ease;transition:background-color .45s ease,border-color .45s ease,box-shadow .45s ease,backdrop-filter .45s ease,-webkit-backdrop-filter .45s ease;z-index:200}.menu-header.scrolled{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background-color:#060c09a6;border-bottom-color:#00d97e52;box-shadow:0 4px 32px #00d97e12}.menu-header .menu-content{align-items:center;display:flex;gap:.4rem;-webkit-user-select:none;user-select:none}.menu-header .menu-content .icon{margin-right:.25rem}.menu-header .header-controls{align-items:center;display:flex;flex-grow:1;gap:.5rem;justify-content:flex-end}.menu-header .lang-switcher{position:relative}.menu-header .lang-switcher-btn{align-items:center;background:#00d97e1a;border:1px solid #00d97e80;border-radius:999px;box-shadow:0 0 12px #00d97e33,inset 0 0 6px #00d97e0f;color:var(--secondary-color);cursor:pointer;display:flex;font-family:source-code-pro,Courier New,monospace;font-size:.6rem;font-weight:600;gap:.3rem;height:1.5rem;letter-spacing:.04em;padding:0 .55rem;text-shadow:0 0 8px #00d97e66;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.menu-header .lang-switcher-btn:hover{border-color:#00d97eb3;box-shadow:0 0 16px #00d97e4d,inset 0 0 6px #00d97e14}.menu-header .lang-dropdown{animation:dropdown-in .15s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--primary-color);border:1px solid #00d97e4d;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 8px 32px #00000040,0 0 12px #00d97e14;list-style:none;margin:0;min-width:8.5rem;padding:.3rem;position:fixed;right:.75rem;top:2.5rem;z-index:300}.menu-header .lang-option{align-items:center;background:none;border:none;border-radius:5px;color:var(--muted-text);cursor:pointer;display:flex;font-family:Noto Sans,sans-serif;font-size:.82rem;gap:.5rem;padding:.4rem .6rem;transition:background .15s,color .15s;width:100%}.menu-header .lang-option:hover{background:#00d97e1a;color:var(--secondary-color)}.menu-header .lang-option.active{color:var(--secondary-color);text-shadow:0 0 10px #00d97e59}.menu-header .lang-option .lang-option-code{font-family:source-code-pro,Courier New,monospace;font-size:.72rem;font-weight:700;min-width:1.6rem}.menu-header .theme-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0}.menu-header .theme-toggle .toggle-track{align-items:center;background:#00d97e0f;border:1px solid #00d97e4d;border-radius:999px;box-shadow:0 0 8px #00d97e14;display:flex;height:1.5rem;padding:3px;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;width:2.75rem}.menu-header .theme-toggle .toggle-knob{align-items:center;background:#00d97e1f;border:1px solid #00d97e73;border-radius:50%;color:var(--secondary-color);display:flex;flex-shrink:0;font-size:.55rem;height:1.125rem;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .35s ease,border-color .35s ease,box-shadow .35s ease;width:1.125rem}.menu-header .theme-toggle.is-dark .toggle-track{background:#00d97e1a;border-color:#00d97e80;box-shadow:0 0 12px #00d97e33,inset 0 0 6px #00d97e0f}.menu-header .theme-toggle.is-dark .toggle-knob{background:#00d97e2e;border-color:#00d97eb3;box-shadow:0 0 8px #00d97e66;transform:translateX(1.25rem)}.menu-header .theme-toggle:hover .toggle-track{border-color:#00d97e99;box-shadow:0 0 16px #00d97e40}.menu-header .header-progress{background:linear-gradient(90deg,#00d97e,#39ffb8,#00d97e);bottom:0;box-shadow:0 0 7px #00ff88bf;height:1.5px;left:0;pointer-events:none;position:absolute;transform:scaleX(0);transform-origin:left center;width:100%;will-change:transform}.content-box{height:calc(100vh - 2.5rem);height:calc(100dvh - 2.5rem);overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-color:#00d97e59 #0000;scrollbar-width:thin;z-index:1}.content-box::-webkit-scrollbar{width:5px}.content-box::-webkit-scrollbar-track{background:#0000}.content-box::-webkit-scrollbar-thumb{background:#00d97e59;border-radius:3px}.hero-section{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 2.5rem);min-height:calc(100dvh - 2.5rem);overflow:hidden;position:relative}.hero-section:before{animation:pulse-glow 7s ease-in-out infinite;background:radial-gradient(ellipse,var(--hero-glow) 0,#0000 70%);content:"";height:700px;left:50%;pointer-events:none;position:absolute;top:38%;transform:translate(-50%,-50%);width:700px}.hero-inner{align-items:center;animation:hero-entrance 1.1s cubic-bezier(.22,1,.36,1) both;display:flex;flex-direction:column;gap:1rem;padding:2.5rem 1.5rem;position:relative;text-align:center;transition:transform .12s ease-out;will-change:transform;z-index:2}.avatar-wrap{display:inline-block;margin-bottom:.5rem;position:relative;transition:opacity .15s ease-out}.avatar-wrap .avatar{border:2px solid #00d97e66;border-radius:50%;box-shadow:0 0 28px #00d97e2e,0 0 60px #00d97e0f;display:block;filter:grayscale(1) sepia(.6) hue-rotate(95deg) saturate(1.6) brightness(.95);height:6.5rem;position:relative;transition:box-shadow .4s,filter .4s;width:6.5rem;z-index:1}.avatar-wrap .avatar-ring{animation:spin-slow 14s linear infinite;border:1.5px solid #00d97e38;border-radius:50%;height:8rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8rem}.avatar-wrap .avatar-ring:before{background:#00d97e;border-radius:50%;box-shadow:0 0 10px #00d97e,0 0 22px #00d97e8c;content:"";height:7px;left:50%;position:absolute;top:-3.5px;transform:translateX(-50%);width:7px}.avatar-wrap:hover .avatar{box-shadow:0 0 44px #00d97e61,0 0 80px #00d97e1a}.hero-name{font-family:Exo,Space Grotesk,sans-serif;font-size:clamp(2.6rem,6.5vw,5rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}.glitter-text{-webkit-text-fill-color:#0000;animation:shimmer 5s ease infinite;background:var(--glitter-gradient);-webkit-background-clip:text;background-clip:text;background-size:300% 300%}.hero-subtitle{color:var(--muted-text);font-family:Exo,Space Grotesk,sans-serif;font-size:clamp(.9rem,2.2vw,1.25rem);font-weight:400;letter-spacing:.18em;margin:0;text-transform:uppercase}.hero-tagline{color:var(--subdued-text);font-size:clamp(1rem,1.8vw,1.15rem);margin:0}.code-badge{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:5px;color:var(--secondary-color);font-family:source-code-pro,Courier New,monospace;font-size:.93em;padding:.08em .45em;text-shadow:0 0 8px var(--accent-glow)}.hero-links{display:flex;gap:1.1rem;margin-top:.3rem}.hero-links a{color:var(--muted-text);transition:color .25s,transform .25s}.hero-links a:hover{color:var(--secondary-color);opacity:1;transform:translateY(-3px)}.scroll-hint{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#00d97e0d;border:1px solid #00d97e2e;border-radius:50%;box-shadow:0 0 14px #00d97e14;color:var(--muted-text);cursor:pointer;display:flex;font-size:1.1rem;height:2.6rem;justify-content:center;margin-top:.75rem;max-height:4rem;overflow:hidden;transition:color .25s,background .25s,box-shadow .25s,border-color .25s,opacity .35s ease,max-height .35s ease,margin-top .35s ease;width:2.6rem}.scroll-hint.hidden{margin-top:0;max-height:0;opacity:0;pointer-events:none}.scroll-hint:hover{background:#00d97e1a;border-color:#00d97e59;box-shadow:0 0 20px #00d97e33;color:var(--secondary-color)}.bounce-icon{animation:bounce 2.2s ease-in-out infinite;display:block}.particle-field-container{-webkit-mask-image:linear-gradient(180deg,#0000 0,#000 22%,#000 78%,#0000);mask-image:linear-gradient(180deg,#0000 0,#000 22%,#000 78%,#0000);overflow:hidden;position:relative;width:100%;z-index:2}.particle-canvas{display:block;width:100%}.skills-section{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--section-bg);border-top:1px solid var(--border-color);padding:4rem 1.5rem 6rem;position:relative;z-index:2}.section-inner{margin:0 auto;max-width:74rem}.section-heading{margin-bottom:3.5rem;text-align:center}.section-title{-webkit-text-fill-color:#0000;animation:shimmer 5s ease infinite;background:var(--glitter-gradient);-webkit-background-clip:text;background-clip:text;background-size:300% 300%;font-family:Exo,Space Grotesk,sans-serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;margin:0 0 .6rem}.section-sub{color:var(--muted-text);font-size:1.05rem;margin:0}.skills-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.skill-card{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;box-shadow:inset 0 1px 0 #00d97e0f;cursor:default;opacity:0;padding:1.75rem;transform:translateY(60px);transition:opacity .65s ease 0s,transform .65s cubic-bezier(.22,1,.36,1) 0s,box-shadow .3s ease,border-color .3s ease;transition:opacity .65s ease var(--delay,0s),transform .65s cubic-bezier(.22,1,.36,1) var(--delay,0s),box-shadow .3s ease,border-color .3s ease}@media(min-width:768px){.skill-card{transform:translateX(-140px) translateY(24px)}.skill-card:nth-child(2n){transform:translateX(140px) translateY(24px)}}.skill-card.visible{opacity:1;transform:translateY(0)}@media(min-width:768px){.skill-card.visible{transform:translateX(0) translateY(0)}}.skill-card.visible:hover{border-color:#00d97e4d;box-shadow:0 14px 44px -10px #00d97e2e,0 0 24px -6px #00d97e1f,inset 0 1px 0 #00d97e1f;transform:translateY(-7px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.skill-icon{color:#00d97e;color:var(--card-color,#00d97e);filter:drop-shadow(0 0 8px #00d97e);filter:drop-shadow(0 0 8px var(--card-color,#00d97e));-webkit-filter:drop-shadow(0 0 8px #00d97e);-webkit-filter:drop-shadow(0 0 8px var(--card-color,#00d97e));margin-bottom:1rem;transform:translateZ(0);transition:filter .3s}.skill-card:hover .skill-icon{filter:drop-shadow(0 0 14px #00d97e);filter:drop-shadow(0 0 14px var(--card-color,#00d97e));-webkit-filter:drop-shadow(0 0 14px #00d97e);-webkit-filter:drop-shadow(0 0 14px var(--card-color,#00d97e))}.skill-title{color:var(--text-color);font-family:Exo,Space Grotesk,sans-serif;font-size:1.15rem;font-weight:600;margin:0 0 .45rem}.skill-desc{color:var(--muted-text);font-size:.88rem;line-height:1.6;margin:0 0 1rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.38rem}.skill-tag{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:5px;color:var(--secondary-color);font-family:source-code-pro,Courier New,monospace;font-size:.73rem;letter-spacing:.03em;padding:.22em .65em;text-shadow:0 0 8px var(--accent-glow)}.site-footer{align-items:center;background:var(--section-bg);border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1.4rem 2rem;position:relative;z-index:2}.site-footer .footer-copy{color:var(--muted-text);font-size:.88rem}.site-footer .footer-links{display:flex;gap:.75rem}.site-footer .footer-links a{color:var(--muted-text)}.site-footer .footer-links a:hover{color:var(--secondary-color);opacity:1}.reveal-item{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.reveal-item.visible{opacity:1;transform:translateY(0)}@keyframes shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(9px)}}@keyframes spin-slow{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes pulse-glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}@keyframes hero-entrance{0%{opacity:0;transform:translateY(44px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}body[data-dark=false] .menu-header{box-shadow:0 1px 0 #00000014;text-shadow:0 0 8px #008a4b26}body[data-dark=false] .menu-header .lang-switcher-btn{background:#008a4b0f;border-color:#008a4b47;box-shadow:none;color:#008a4b}body[data-dark=false] .menu-header .lang-switcher-btn:hover{border-color:#008a4b80;box-shadow:none}body[data-dark=false] .menu-header .lang-dropdown{background:#fffffff5;border-color:#0000001a;box-shadow:0 8px 28px #0000001f}body[data-dark=false] .menu-header .lang-option.active{color:#008a4b;text-shadow:none}body[data-dark=false] .menu-header .theme-toggle .toggle-track{background:#008a4b0f;border-color:#008a4b47;box-shadow:none}body[data-dark=false] .menu-header .theme-toggle .toggle-knob{background:#008a4b1a;border-color:#008a4b66;color:#008a4b}body[data-dark=false] .menu-header .theme-toggle:hover .toggle-track{border-color:#008a4b80;box-shadow:none}body[data-dark=false] .menu-header.scrolled{background-color:#ffffffeb;border-bottom-color:#0000001a;box-shadow:0 2px 16px #00000014}body[data-dark=false] .menu-header .header-progress{background:linear-gradient(90deg,#00a85e,#00d97e,#00a85e);box-shadow:0 0 4px #008a4b59}body[data-dark=false] .avatar-wrap .avatar{border-color:#008a4b4d;box-shadow:0 2px 16px #0000001f;filter:grayscale(1) sepia(.5) hue-rotate(95deg) saturate(1.4) brightness(.9)}body[data-dark=false] .avatar-wrap .avatar-ring{border-color:#00a05833}body[data-dark=false] .avatar-wrap .avatar-ring:before{background:#008a4b;box-shadow:0 0 5px #008a4b59}body[data-dark=false] .rope-knot-container:before{background:linear-gradient(90deg,#0000,#00a85e1a)}body[data-dark=false] .rope-knot-container:after{background:linear-gradient(270deg,#0000,#00a85e1a)}body[data-dark=false] .content-box{scrollbar-color:#008a4b66 #0000}body[data-dark=false] .content-box::-webkit-scrollbar-thumb{background:#008a4b66}body[data-dark=false] .skill-card{box-shadow:0 2px 12px #00000014,0 1px 3px #0000000d,inset 0 1px 0 #fff}body[data-dark=false] .skill-card.visible:hover{border-color:#008a4b47;box-shadow:0 8px 28px -4px #00000024,0 2px 8px #00000014,inset 0 1px 0 #fff}