@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--bg:#0a0a12;--bg-alt:#0e0e1a;--surface:#ffffff0a;--surface-border:#ffffff14;--text:#eaeaf0;--text-dim:#9a9ab0;--accent:#7c6cff;--accent-2:#00d4ff;--gradient:linear-gradient(120deg, #7c6cff, #00d4ff);--radius:16px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4{font-family:Sora,sans-serif}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 24px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}.nav{z-index:100;justify-content:space-between;align-items:center;padding:18px 40px;transition:background .3s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a12d1;padding:12px 40px;box-shadow:0 4px 30px #0006}.nav-logo{color:var(--text);font-family:Sora,sans-serif;font-size:1.5rem;font-weight:800}.nav-logo span{color:var(--accent)}.nav-logo:hover{text-decoration:none}.nav-links{gap:28px;list-style:none;display:flex}.nav-links a{color:var(--text-dim);padding-bottom:4px;font-size:.92rem;font-weight:500;transition:color .2s;display:inline-block;position:relative}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-links a:after{content:"";background:var(--gradient);transform-origin:0;border-radius:2px;height:2px;transition:transform .25s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a.active{color:var(--text)}.nav-links a.active:after{transform:scaleX(1)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.nav-toggle span{background:var(--text);border-radius:2px;width:24px;height:2px}.nav-right{align-items:center;gap:18px;display:flex}.lang-switch{position:relative}.lang-btn{border:1px solid var(--surface-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;transition:border-color .25s,background .25s,transform .15s;display:flex}.lang-btn:hover{border-color:var(--accent);background:#7c6cff14}.lang-btn:active{transform:scale(.97)}.lang-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.lang-globe{font-size:.95rem;line-height:1}.lang-current{white-space:nowrap}.lang-caret{color:var(--text-dim);font-size:.7rem;transition:transform .25s}.lang-caret.open{transform:rotate(180deg)}.lang-menu{top:calc(100% + 8px);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:200;background:#0e0e1af7;border-radius:14px;min-width:190px;max-height:320px;padding:6px;list-style:none;animation:.18s lang-pop;position:absolute;inset-inline-end:0;overflow-y:auto;box-shadow:0 16px 44px #0000008c}@keyframes lang-pop{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-menu::-webkit-scrollbar{width:6px}.lang-menu::-webkit-scrollbar-thumb{background:#7c6cff59;border-radius:3px}.lang-menu::-webkit-scrollbar-track{background:0 0}.lang-option{width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-family:Inter,sans-serif;font-size:.88rem;transition:background .18s,color .18s;display:flex}.lang-option:hover{color:var(--text);background:#7c6cff1f}.lang-option.active{color:var(--text);background:#7c6cff29}.lang-option.active .lang-option-code{color:var(--accent-2)}.lang-option-label{text-align:left}.lang-option-code{letter-spacing:.5px;color:var(--text-dim);opacity:.7;font-size:.68rem;font-weight:600}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.blob{filter:blur(110px);opacity:.35;border-radius:50%;animation:14s ease-in-out infinite float;position:absolute}.blob-1{background:#7c6cff;width:520px;height:520px;top:-140px;left:-120px}.blob-2{background:#00d4ff;width:460px;height:460px;animation-delay:-7s;bottom:-160px;right:-100px}@keyframes float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.08)}}.grid-overlay{background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.hero-content{max-width:820px;position:relative}.hero-photo-wrap{width:150px;height:150px;margin:0 auto 28px;position:relative}.hero-photo{object-fit:cover;z-index:1;border:3px solid #ffffff26;border-radius:50%;width:100%;height:100%;position:relative}.hero-ring{z-index:0;background:conic-gradient(#7c6cff,#00d4ff,#7c6cff);border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-8px}@keyframes spin{to{transform:rotate(360deg)}}.hero-greeting{color:var(--accent-2);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;font-weight:600}.hero-name{margin:8px 0 4px;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800}.hero-title{margin-bottom:22px;font-size:clamp(1.1rem,2.6vw,1.6rem);font-weight:600}.gradient-text{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-summary{color:var(--text-dim);max-width:640px;margin:0 auto 32px}.hero-cta{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:56px;display:flex}.btn{cursor:pointer;border-radius:999px;padding:13px 30px;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-block}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 8px 26px #7c6cff59}.btn-primary:hover{box-shadow:0 12px 34px #7c6cff80}.btn-outline{border:1px solid var(--surface-border);color:var(--text);background:var(--surface)}.btn-outline:hover{background:#ffffff17}.hero-stats{flex-wrap:wrap;justify-content:center;gap:clamp(24px,5vw,64px);display:flex}.stat{flex-direction:column;display:flex}.stat-value{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Sora,sans-serif;font-size:2rem;font-weight:800}.stat-label{color:var(--text-dim);font-size:.85rem}.page{padding:120px 0 90px;animation:.45s both pageIn}.page-alt{background:var(--bg-alt)}.page-home{padding:0;animation:none}.page-home .hero{padding-bottom:40px}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.home-quick{padding:0 0 90px}.section-title{margin-bottom:48px;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700}.section-title span{color:var(--accent-2);margin-right:10px;font-size:.75em;font-weight:600}.section-sub{color:var(--text-dim);margin:-30px 0 40px}.about-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px;display:grid}.about-text p{color:var(--text-dim);margin-bottom:18px}.about-text strong{color:var(--text)}.about-edu{margin-top:34px}.about-edu h3,.info-card h3{color:var(--text);margin:22px 0 14px;font-size:1rem}.about-edu h3:first-child{margin-top:0}.edu-item,.cert{align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.edu-year,.cert-year{color:var(--accent-2);min-width:48px;font-family:Sora,sans-serif;font-weight:700}.edu-item div,.cert div{flex-direction:column;display:flex}.edu-item span,.cert span{color:var(--text-dim);font-size:.88rem}.info-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);margin-bottom:22px;padding:26px}.info-card h3:first-child{margin-top:0}.about-photo-wrap{width:128px;height:128px;margin:0 auto 20px;position:relative}.about-photo{object-fit:cover;z-index:1;border:3px solid #ffffff26;border-radius:50%;width:100%;height:100%;display:block;position:relative}.about-photo-ring{z-index:0;background:conic-gradient(#7c6cff,#00d4ff,#7c6cff);border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-6px}.info-card ul{list-style:none}.info-card li{color:var(--text-dim);word-break:break-all;align-items:center;gap:10px;padding:5px 0;font-size:.92rem;display:flex}.lang{color:var(--text-dim);justify-content:space-between;align-items:center;padding:4px 0;font-size:.92rem;display:flex}.dots{gap:5px;display:flex}.dot{background:#ffffff26;border-radius:50%;width:9px;height:9px}.dot.filled{background:var(--accent)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.skill-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:26px;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-card:hover{border-color:#7c6cff73;transform:translateY(-5px);box-shadow:0 14px 40px #7c6cff1f}.skill-icon{margin-bottom:12px;font-size:1.8rem}.skill-card h3{margin-bottom:14px;font-size:1.05rem}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--surface-border);color:var(--text-dim);background:#ffffff0f;border-radius:999px;padding:4px 12px;font-size:.78rem}.tag-accent{color:#c5bcff;background:#7c6cff1f;border-color:#7c6cff59}.timeline{border-left:2px solid #ffffff1a;margin-left:12px;padding-left:36px;position:relative}.timeline-item{margin-bottom:44px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background:var(--gradient);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-45px;box-shadow:0 0 0 5px #7c6cff2e}.timeline-content{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:24px 28px;transition:border-color .25s,transform .25s}.timeline-content:hover{border-color:#00d4ff59;transform:translate(4px)}.timeline-period{color:var(--accent-2);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.timeline-content h3{margin:6px 0 2px;font-size:1.15rem}.timeline-content h4{color:var(--text-dim);margin-bottom:14px;font-size:.9rem;font-weight:500}.timeline-content ul{margin-bottom:14px;list-style:none}.timeline-content li{color:var(--text-dim);margin-bottom:6px;padding-left:18px;font-size:.92rem;position:relative}.timeline-content li:before{content:"▹";color:var(--accent);position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.project-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:30px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative}.project-card:hover{border-color:#7c6cff80;transform:translateY(-6px);box-shadow:0 18px 50px #7c6cff26}.project-card.highlight{background:linear-gradient(160deg,#7c6cff1a,#00d4ff0d);border-color:#00d4ff66}.badge{background:var(--gradient);color:#fff;letter-spacing:.05em;border-radius:999px;padding:4px 14px;font-size:.72rem;font-weight:700;position:absolute;top:-12px;right:18px}.project-card h3{font-size:1.25rem}.project-card p{color:var(--text-dim);flex:1;font-size:.92rem}.project-link{color:var(--accent-2);font-size:.9rem;font-weight:600}.project-link:hover{opacity:.8;text-decoration:none}.games-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.game-card{background:var(--surface);border:1px solid var(--surface-border);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:18px 20px;transition:transform .2s,border-color .2s;display:flex}.game-card:hover{border-color:#00d4ff66;text-decoration:none;transform:translateY(-3px)}.game-icon{font-size:1.3rem}.game-name{flex:1;font-size:.92rem;font-weight:600}.game-arrow{color:var(--accent-2)}.contact-box{text-align:center;background:linear-gradient(160deg,#7c6cff1f,#00d4ff0f);border:1px solid #7c6cff4d;border-radius:24px;max-width:620px;margin:0 auto;padding:56px 40px}.contact-box h3{margin-bottom:14px;font-size:1.8rem}.contact-box p{color:var(--text-dim);margin-bottom:30px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--surface-border);padding:40px 24px;font-size:.88rem}.footer-sub{opacity:.7;font-size:.78rem}@media (width<=860px){.about-grid{grid-template-columns:1fr}.nav-toggle{display:flex}.nav-links{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e0e1af7;flex-direction:column;justify-content:center;gap:30px;width:min(70vw,300px);height:100vh;padding:40px;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}.nav-links.open{transform:translate(0)}.nav{padding:14px 22px}.nav-scrolled{padding:10px 22px}.page{padding:96px 0 70px}.page-home{padding:0}}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.footer-languages{flex-wrap:wrap;justify-content:center;gap:12px 18px;max-width:900px;margin:24px auto 0;padding:0 24px;font-size:.85rem;display:flex}.page-finans{--fin-green:#64e2ba}.fin-hero{justify-content:space-between;align-items:center;gap:32px;padding:32px 0 44px;display:flex}.fin-hero h1{letter-spacing:-.05em;margin:12px 0;font-size:clamp(2.8rem,7vw,5rem)}.fin-hero p{max-width:620px;color:var(--text-dim);font-size:1.1rem}.fin-eyebrow{color:var(--fin-green);letter-spacing:.12em;font-size:.75rem;font-weight:700}.fin-emblem{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:10px;display:grid;transform:rotate(-8deg)}.fin-emblem span{width:80px;height:80px;color:var(--fin-green);background:linear-gradient(140deg,#64e2ba20,#7c6cff15);border:1px solid #64e2ba45;border-radius:22px;place-items:center;font-size:2.4rem;display:grid}.fin-tabs{border-bottom:1px solid var(--surface-border);flex-wrap:wrap;gap:8px;padding-bottom:24px;display:flex}.fin-tabs a,.page-finans button{border:1px solid var(--surface-border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:9px;padding:10px 16px}.fin-tabs a:hover,.page-finans button:hover{border-color:var(--fin-green);text-decoration:none}.page-finans button:disabled{cursor:wait;opacity:.5}.page-finans :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--fin-green);outline-offset:4px}.fin-section{padding-top:48px;scroll-margin-top:100px}.fin-section h2{margin:8px 0 12px;font-size:1.7rem}.fin-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.fin-heading h3{font-size:1rem}.fin-note{color:var(--text-dim);margin:8px 0 20px;font-size:.87rem;line-height:1.8}.fin-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.fin-panel{border:1px solid var(--surface-border);background:linear-gradient(145deg,#141626,#0f111b);border-radius:16px;min-width:0;padding:24px}.fin-form{gap:14px;display:grid}.page-finans label{color:var(--text-dim);flex-direction:column;gap:7px;min-width:0;font-size:.82rem;display:flex}.page-finans input,.page-finans select{width:100%;min-width:0;font:inherit;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0a0c15;border:1px solid #34374e;border-radius:8px;padding:11px 12px;font-size:.95rem}.fin-swap{justify-self:center;line-height:1}.fin-result{color:var(--fin-green);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:18px;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:700;display:block}.fin-result small{font-size:1rem}.fin-chart{color:var(--fin-green);margin:24px 0 12px}.fin-chart svg{width:100%;height:190px}.fin-chart-meta,.fin-chart figcaption{color:var(--text-dim);direction:ltr;justify-content:space-between;gap:10px;font-size:.72rem;display:flex}.fin-rate-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:20px;display:grid}.fin-rate{border:1px solid var(--surface-border);border-radius:12px;flex-direction:column;gap:6px;padding:18px;display:flex}.fin-rate span,.fin-rate small{color:var(--text-dim);font-size:.75rem}.fin-rate strong{font-variant-numeric:tabular-nums;font-size:1.3rem}.fin-status{color:var(--text-dim);border:1px dashed #454860;border-radius:12px;margin:16px 0;padding:24px}.fin-status button{margin-top:12px}.fin-scroll{border:1px solid var(--surface-border);border-radius:12px;max-width:100%;margin-top:18px;overflow-x:auto}.page-finans table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.84rem}.page-finans th,.page-finans td{border-bottom:1px solid var(--surface-border);text-align:start;white-space:nowrap;padding:16px}.page-finans thead{background:#171a28}.page-finans td small,.page-finans th small{color:var(--text-dim);font-size:.7rem;font-weight:400;display:block}.fin-up{color:var(--fin-green)}.fin-down{color:#ff8c9b}.fin-spark{width:100px;color:var(--fin-green)}.fin-spark svg{width:100%;height:38px}.fin-search{max-width:360px;margin:20px 0}.fin-crypto-convert,.fin-glossary-tools{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.fin-crypto-convert label,.fin-glossary-tools label{flex:180px}.fin-crypto-convert output{color:var(--fin-green);padding:8px;font-size:1.5rem}.fin-glossary-tools{margin:22px 0}.fin-glossary-tools [role=status]{font-size:.8rem}.fin-terms{gap:12px;display:grid}.fin-term{border:1px solid var(--surface-border);border-radius:12px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.fin-term>div{background:#11131e;padding:22px}.fin-term>div+div{background:#171a29}.fin-term h3{margin-bottom:7px;font-size:1rem}.fin-term p{color:var(--text-dim);font-size:.86rem}.fin-source-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.fin-source-grid a{flex-direction:column;gap:8px;display:flex}.fin-source-grid span{color:var(--text-dim);font-size:.8rem}.fin-history{max-height:250px}.page-finans summary{cursor:pointer;font-size:.85rem}@media (width<=1100px) and (width>=861px){.nav-links{gap:12px}.nav-links a{font-size:.75rem}.nav{padding-inline:20px}}@media (width<=700px){.fin-grid{grid-template-columns:1fr}.fin-emblem{display:none}.fin-panel{padding:18px}.fin-source-grid{grid-template-columns:1fr 1fr}.fin-term{grid-template-columns:1fr}.fin-hero{padding-top:10px}}
