.animated-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#000}.animated-background-canvas{display:block;width:100%;height:100%}.floating-profile{text-align:center;margin-top:30px}.float-x{display:inline-block;animation:floatX 12s ease-in-out infinite}.float-y{animation:floatY 8s ease-in-out infinite}.float-rotate{animation:floatRotate 10s ease-in-out infinite}.profile-image{width:120px;height:120px;border-radius:50%;cursor:pointer;will-change:transform;backface-visibility:hidden;transform:translateZ(0);filter:brightness(1.05);box-shadow:var(--box-shadow);transition:transform .25s ease,box-shadow .25s ease}.profile-image:hover{transform:scale(1.08);box-shadow:var(--box-shadow-hover);filter:brightness(1.15)}@keyframes floatY{0%{transform:translateY(-8px)}50%{transform:translateY(8px)}to{transform:translateY(-8px)}}@keyframes floatX{0%{transform:translate(-8px)}50%{transform:translate(8px)}to{transform:translate(-8px)}}@keyframes floatRotate{0%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}to{transform:rotate(-2deg)}}.links-container{width:100%}.link-card{position:relative;display:block;width:100%;padding:20px;margin:16px 0;text-align:center;text-decoration:none;color:#fff;background:#141414bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);font-size:1.2rem;font-weight:700;letter-spacing:.5px;overflow:hidden;cursor:pointer;box-shadow:0 8px 20px #ffffff0f,0 0 14px #ffffff14;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.link-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.link-card:hover{transform:scale(1.05);box-shadow:0 14px 34px #ffffff1a,0 0 30px #ffffff2e,0 0 80px #ffffff1f;background:#1e1e1ed9}.link-card:hover:before{animation:linkCardGleam 1.8s ease-in-out infinite}@keyframes linkCardGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.home{width:100%;display:flex;flex-direction:column;align-items:center;color:var(--text-primary)}.home h1{color:var(--text-primary);font-weight:800;text-align:center;margin-bottom:6px}.home-subtitle{color:var(--text-primary);font-weight:700;text-align:center;margin-bottom:28px}.projects-page{width:100%;display:flex;flex-direction:column;align-items:center}.repo-container{width:100%;max-width:720px;display:grid;gap:22px}.repo-link{display:block;width:100%;text-decoration:none;color:inherit}.repo-card{position:relative;width:100%;padding:22px;background:#141414b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #ffffff0f,0 0 14px #ffffff14;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;cursor:pointer;overflow:hidden}.repo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.repo-card:hover{transform:scale(1.03);box-shadow:0 14px 34px #ffffff1a,0 0 30px #ffffff2e,0 0 80px #ffffff1f;background:#1e1e1ed1}.repo-card:hover:before{animation:repoGleam 1.8s ease-in-out infinite}@keyframes repoGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.repo-name{margin:0 0 12px;font-size:1.2rem;font-weight:700;color:#fff;word-break:break-word}.repo-description{margin:0 0 18px;line-height:1.6;color:#ffffffbf;min-height:48px}.repo-footer{display:flex;align-items:center;justify-content:space-between}.repo-language-wrapper{display:inline-flex;align-items:center;gap:8px}.repo-language-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff9,0 0 14px #ffffff80}.repo-language{color:#ffffffa6;font-size:.9rem}.skills-page{width:100%;display:flex;flex-direction:column;align-items:center}.skills-page-title{text-align:center;margin-bottom:24px}.skills-categories{width:100%}.skills-category-section{width:100%;margin-bottom:48px}.skills-category-title{text-align:center;font-size:22px;font-weight:600;margin-bottom:14px;color:#fff}.skills-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:20px}.skills-card{display:inline-flex;align-items:center;gap:14px;min-width:180px;padding:14px 20px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#141414c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 8px 18px #ffffff0d,0 0 12px #ffffff0f;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;overflow:hidden;position:relative}.skills-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.06) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.skills-card:hover{transform:translateY(-3px);background:#1c1c1ce0;box-shadow:0 12px 24px #ffffff14,0 0 20px #ffffff1a,0 0 40px #ffffff14}.skills-card:hover:before{animation:skillPillGleam 1.8s linear infinite}@keyframes skillPillGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.skills-card-icon{width:42px;height:42px;flex-shrink:0}.skills-card-name{font-size:1rem;font-weight:700;color:#fff;white-space:nowrap}@media(max-width:768px){.skills-grid{gap:12px}.skills-card{min-width:160px;padding:12px 16px}.skills-card-icon{width:36px;height:36px}.skills-card-name{font-size:.95rem}}.timeline-section{width:100%;position:relative}.timeline{position:relative;margin-top:40px}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translate(-50%);background:#ffffffd1;box-shadow:0 0 10px #ffffff59,0 0 26px #ffffff3d,0 0 54px #ffffff29}.timeline:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:12px;transform:translate(-50%);background:linear-gradient(to top,transparent 0%,transparent 34%,rgba(255,255,255,.18) 42%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.18) 58%,transparent 66%,transparent 100%);background-size:100% 240px;background-repeat:repeat-y;filter:blur(1.5px);opacity:.95;animation:timelineEnergyFlow 4s linear infinite;pointer-events:none}@keyframes timelineEnergyFlow{0%{background-position:0 240px}to{background-position:0 -240px}}.timeline-item{position:relative;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;margin:46px 0;min-height:120px}.timeline-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 10px #ffffff47,0 0 24px #fff3,0 0 44px #ffffff1f;filter:blur(.3px);animation:timelineNodePulse 4s ease-in-out infinite;transition:transform .35s ease,box-shadow .35s ease,background .35s ease}.timeline-dot:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 35%,transparent 75%);filter:blur(3px);opacity:.9;pointer-events:none}.timeline-item:nth-child(1) .timeline-dot{animation-delay:0s}.timeline-item:nth-child(2) .timeline-dot{animation-delay:-.5s}.timeline-item:nth-child(3) .timeline-dot{animation-delay:-1s}.timeline-item:nth-child(4) .timeline-dot{animation-delay:-1.5s}.timeline-item:nth-child(5) .timeline-dot{animation-delay:-2s}.timeline-item:nth-child(6) .timeline-dot{animation-delay:-2.5s}.timeline-item:nth-child(7) .timeline-dot{animation-delay:-3s}.timeline-item:nth-child(8) .timeline-dot{animation-delay:-3.5s}@keyframes timelineNodePulse{0%,to{background:#ffffffc7;box-shadow:0 0 8px #fff3,0 0 18px #ffffff24,0 0 32px #ffffff1a}45%{background:#ffffffe0;box-shadow:0 0 12px #ffffff4d,0 0 26px #ffffff38,0 0 48px #ffffff24}50%{background:#fff;box-shadow:0 0 18px #ffffff7a,0 0 38px #ffffff57,0 0 70px #fff3}55%{background:#ffffffe6;box-shadow:0 0 14px #ffffff57,0 0 28px #ffffff3d,0 0 52px #ffffff26}}.timeline-item:hover .timeline-dot{transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 16px #ffffff8f,0 0 34px #fff6,0 0 72px #ffffff42}.timeline-card{position:relative;padding:22px 20px;max-width:360px;background:#141414c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);box-shadow:inset 1px 1px #ffffff29,inset -1px -1px #ffffff0d,0 12px 28px #ffffff14,0 0 20px #ffffff0f;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.timeline-card:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.timeline-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.05) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.timeline-card:hover{transform:translateY(-3px);background:#1c1c1ce0;box-shadow:inset 1px 1px #fff3,inset -1px -1px #ffffff0f,0 16px 34px #ffffff1a,0 0 28px #ffffff1a}.timeline-card:hover:after{animation:timelineCardGleam 2s linear infinite}@keyframes timelineCardGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.timeline-item.left .timeline-card{grid-column:1;text-align:right;margin-left:auto}.timeline-item.right .timeline-card{grid-column:3;margin-right:auto}.timeline-date{display:block;font-size:.9rem;color:#ffffff8c;margin-bottom:6px}.timeline-item-title{margin-bottom:8px;color:#fff;font-size:1.05rem;font-weight:700}.timeline-description{color:#ffffffc2;line-height:1.65}.timeline-link{display:inline-block;margin-top:12px;font-size:.92rem;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:2px;transition:color .2s ease,border-color .2s ease,text-shadow .2s ease}.timeline-link:hover{color:#fff;border-color:#ffffff61;text-shadow:0 0 8px rgba(255,255,255,.18)}@media(max-width:768px){.timeline:before,.timeline:after{left:20px;transform:none}.timeline-item{grid-template-columns:40px 1fr;min-height:unset}.timeline-card{grid-column:2!important;text-align:left!important;max-width:none}.timeline-dot{left:20px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:60%;height:90%;background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:modal-appear .25s ease-out}.certificate-viewer{flex:1;width:100%;border:none}@keyframes modal-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:600px){.modal-content{width:80%;height:80%}}.education-section{width:100%}.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.education-card{position:relative;display:flex;flex-direction:column;min-height:240px;padding:24px 22px 22px;background:#141414cc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);box-shadow:inset 1px 1px #ffffff2e,inset -1px -1px #ffffff0d,0 12px 28px #ffffff14,0 0 20px #ffffff12;overflow:hidden;transition:box-shadow .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}.education-card:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.education-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff29;pointer-events:none}.education-card:hover{background:#1c1c1ce0;transform:translateY(-3px);box-shadow:inset 1px 1px #ffffff38,inset -1px -1px #ffffff0f,0 16px 34px #ffffff1a,0 0 28px #ffffff1a}.education-card--certificate{border-left:2px solid rgba(255,255,255,.24)}.education-card-title{margin:0 0 10px;color:#fff;font-size:1.05rem;font-weight:700}.education-card-text{margin:0;line-height:1.65;color:#ffffffc7}.education-card-meta{display:inline-block;margin-top:10px;color:#ffffff94;font-size:.95rem}.education-card-button{margin-top:auto;align-self:flex-start;padding:10px 14px;background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.14);font-weight:600;cursor:pointer;box-shadow:inset 1px 1px #ffffff1a,0 4px 10px #ffffff0d;transition:transform .2s ease,box-shadow .25s ease,background .25s ease}.education-card-button:hover{transform:scale(1.03);background:#ffffff1a;box-shadow:inset 1px 1px #ffffff24,0 10px 24px #ffffff1a,0 0 20px #ffffff1f}@media(max-width:900px){.education-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.education-grid{grid-template-columns:1fr}.education-card{min-height:unset}}.philosophy-list{display:flex;flex-direction:column;gap:28px}.philosophy-card{position:relative;width:100%;padding:28px 26px;background:#141414d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-left:2px solid rgba(255,255,255,.22);box-shadow:inset 1px 1px #ffffff2e,inset -1px -1px #ffffff0d,0 12px 28px #ffffff14,0 0 20px #ffffff12;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.philosophy-card:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.philosophy-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.philosophy-card:hover{transform:translateY(-4px);background:#1c1c1ce6;box-shadow:inset 1px 1px #ffffff38,inset -1px -1px #ffffff0f,0 16px 34px #ffffff1a,0 0 28px #ffffff1a}.philosophy-card:hover:after{animation:philosophyPulse 2.2s linear infinite}@keyframes philosophyPulse{0%{transform:translate(-120%)}to{transform:translate(120%)}}.philosophy-card h3{margin-bottom:12px;color:#fff;font-size:1.15rem;font-weight:700}.philosophy-card p{line-height:1.75;color:#ffffffc7}.interests-section{width:100%}.interests-list{display:flex;flex-direction:column;gap:28px;margin-top:40px}.interest-panel{position:relative;display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:stretch;padding:18px;background:#141414c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);box-shadow:inset 1px 1px #ffffff29,inset -1px -1px #ffffff0d,0 12px 28px #ffffff14,0 0 20px #ffffff0f;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.interest-panel:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.interest-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.05) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.interest-panel:hover{transform:translateY(-4px);background:#1c1c1ce0;box-shadow:inset 1px 1px #ffffff38,inset -1px -1px #ffffff0f,0 16px 34px #ffffff1a,0 0 28px #ffffff1a}.interest-panel:hover:after{animation:interestPanelGleam 2.2s linear infinite}@keyframes interestPanelGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.interest-visual{position:relative;min-height:150px;display:flex;align-items:end;justify-content:start;padding:16px;background:linear-gradient(180deg,#ffffff0a,#ffffff03),#ffffff05;border:1px solid rgba(255,255,255,.1);box-shadow:inset 1px 1px #ffffff1a,0 8px 18px #ffffff0a;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.interest-visual-label{position:relative;z-index:1;display:inline-block;padding:6px 10px;background:#00000073;border:1px solid rgba(255,255,255,.12);color:#ffffffe0;font-size:.85rem;font-weight:700;letter-spacing:.04em}.interest-content{display:flex;flex-direction:column;justify-content:center}.interest-title{margin:0 0 12px;color:#fff;font-size:1.15rem;font-weight:700}.interest-description{margin:0;line-height:1.75;color:#ffffffc7}.interest-panel:nth-child(1) .interest-visual{background-image:url(/pictures/hiking.png)}.interest-panel:nth-child(2) .interest-visual{background-image:url(/pictures/martial.jpg)}.interest-panel:nth-child(3) .interest-visual{background-image:url(/pictures/martial.jpg)}@media(max-width:800px){.interest-panel{grid-template-columns:1fr;gap:18px}.interest-visual{min-height:180px}}.about-page{width:100%;max-width:900px;margin:0 auto}.about-bio{position:relative;text-align:center;margin-bottom:120px;padding:36px 32px;background:#141414cc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);box-shadow:inset 1px 1px #fff3,inset -1px -1px #ffffff0d,0 14px 34px #ffffff14,0 0 24px #ffffff14;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.about-bio:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.about-bio:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.07) 50%,transparent 80%);transform:translate(-120%);pointer-events:none;animation:aboutBioGleam 7s linear infinite}.about-bio .about-bio-text:first-child{position:relative}.about-bio .about-bio-text:first-child:before{content:"";position:absolute;top:-18px;left:50%;transform:translate(-50%);width:88%;height:1px;background:#ffffff24;box-shadow:0 0 10px #ffffff1a}.about-bio:hover{transform:translateY(-4px);background:#1c1c1ce0;box-shadow:inset 1px 1px #ffffff3d,inset -1px -1px #ffffff0f,0 18px 40px #ffffff1a,0 0 34px #ffffff1a,0 0 70px #ffffff0f}@keyframes aboutBioGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.about-bio-text{position:relative;z-index:1;margin-bottom:18px;line-height:1.85;color:var(--text-primary);font-size:1.05rem}.about-section{margin-bottom:140px;width:100%}.about-section-title{text-align:center;margin-bottom:30px;color:var(--text-primary);text-shadow:0 0 6px rgba(0,0,0,.9),0 0 14px rgba(0,0,0,.75)}.about-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.about-card{position:relative;padding:22px;background:#141414b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #ffffff0f,0 0 14px #ffffff14;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;overflow:hidden}.about-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.05) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.about-card:hover{transform:scale(1.03);box-shadow:0 14px 34px #ffffff1a,0 0 30px #ffffff2e,0 0 80px #ffffff1f;background:#1e1e1ed1}.about-card:hover:before{animation:aboutCardGleam 1.8s linear infinite}@keyframes aboutCardGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}.about-card-title{margin-bottom:10px;color:#fff;font-size:1.08rem;font-weight:700}.about-card-text{line-height:1.65;color:#ffffffbf}.about-card-meta{display:inline-block;margin-top:10px;color:#ffffff94;font-size:.95rem}.about-card-button{margin-top:16px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#fff;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #ffffff0d;transition:transform .2s ease,box-shadow .25s ease,background .25s ease}.about-card-button:hover{transform:scale(1.03);background:#ffffff14;box-shadow:0 10px 24px #ffffff1a,0 0 24px #ffffff1f}@media(max-width:900px){.about-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.about-card-grid{grid-template-columns:1fr}.about-bio{padding:24px 20px}.about-card{padding:18px}}.social-card{position:relative;display:block;width:100%;padding:18px 20px;margin:14px 0;text-align:center;text-decoration:none;color:#fff;background:#141414c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px #ffffff0f,0 0 14px #ffffff14;font-size:1.08rem;font-weight:700;letter-spacing:.4px;cursor:pointer;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.social-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.07) 50%,transparent 80%);transform:translate(-120%);pointer-events:none}.social-card:hover{transform:scale(1.04);background:#1c1c1cdb;box-shadow:0 14px 34px #ffffff1a,0 0 30px #ffffff2e,0 0 70px #ffffff1f}.social-card:hover:before{animation:socialCardGleam 1.8s linear infinite}@keyframes socialCardGleam{0%{transform:translate(-120%)}to{transform:translate(120%)}}:root{--bg-primary: #000000;--bg-secondary: #121212;--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #888888;--border-primary: rgba(255, 255, 255, .18);--border-strong: rgba(255, 255, 255, .35);--accent: #ffffff;--box-shadow: 0 10px 24px rgba(255, 255, 255, .14), 0 0 14px rgba(255, 255, 255, .18), 0 0 34px rgba(255, 255, 255, .14);--box-shadow-hover: 0 18px 44px rgba(255, 255, 255, .2), 0 0 28px rgba(255, 255, 255, .28), 0 0 80px rgba(255, 255, 255, .2);--card-shadow-soft: 0 8px 20px rgba(255, 255, 255, .08)}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg-primary);color:var(--text-primary)}
