/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--neon-angle:0deg}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root,[data-theme=light]{--color-bg:#fafbff;--color-bg-alt:#f0f2f8;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-primary-light:#6366f114;--color-border:#e2e8f0;--color-shadow:#6366f114;--color-navbar-bg:#fafbffcc;--color-card-bg:#fff;--color-footer-bg:#f1f5f9;--color-input-bg:#f8fafc;--color-overlay:#0f172a99;--color-glow:#6366f126;--gradient-hero:linear-gradient(160deg,#fafbff,#eef2ff 40%,#f0f2f8);--gradient-tech:linear-gradient(135deg,#6366f10a,#a855f70a);--gradient-card:linear-gradient(135deg,#6366f10f,#a855f70f);--gradient-accent:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);--color-accent:#a855f7;--color-accent2:#ec4899;--glow-card:0 0 40px #6366f10f;--glow-hover:0 8px 40px #6366f126,0 0 80px #6366f10f}[data-theme=dark]{--color-bg:#09090b;--color-bg-alt:#0c0c0f;--color-surface:#131316;--color-text:#ececef;--color-text-muted:#8b8b96;--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-primary-light:#3b82f614;--color-border:#ffffff12;--color-shadow:#000000b3;--color-navbar-bg:#09090be6;--color-card-bg:#131316e6;--color-footer-bg:#0c0c0f;--color-input-bg:#18181b;--color-overlay:#000000d9;--color-glow:#3b82f60f;--gradient-hero:linear-gradient(160deg,#09090b,#0c0c14 50%,#09090b);--gradient-tech:linear-gradient(135deg,#3b82f608,#3b82f603);--gradient-card:linear-gradient(135deg,#ffffff08,#ffffff03);--gradient-accent:linear-gradient(135deg,#3b82f6,#2563eb);--color-accent:#60a5fa;--color-accent2:#93c5fd;--glow-card:0 0 0 1px #ffffff0a;--glow-hover:0 0 0 1px #3b82f633,0 8px 40px #0000004d}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:background-color .4s,color .4s;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}ul{list-style:none}.skip-link{background:var(--color-primary);color:#fff;z-index:1000;border-radius:.25rem;padding:.5rem 1rem;font-weight:600;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:.5rem}.btn:focus-visible,.card__detail-link:focus-visible,.card__github-link:focus-visible,.card__instagram-link:focus-visible,.card__read-more:focus-visible,.detail__legal-item:focus-visible,.hamburger:focus-visible,.hero__social-btn:focus-visible,.navbar__link:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:.5rem}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.gradient-text{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{cursor:pointer;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 20px #6366f140}.btn--primary:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #6366f159}.btn--outline{color:var(--color-primary);border:1.5px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0}.btn--outline:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.btn--small{padding:.5rem 1rem;font-size:.85rem}.btn--full{width:100%}.btn--full,.btn-icon{justify-content:center}.btn-icon{background:var(--color-primary-light);border:1px solid var(--color-border);width:42px;height:42px;color:var(--color-text);cursor:pointer;border-radius:.75rem;align-items:center;transition:all .25s;display:flex}.btn-icon:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}.navbar{z-index:100;background:var(--color-navbar-bg);-webkit-backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--color-border);width:100%;transition:background .3s,box-shadow .3s;position:fixed;top:0}.navbar.scrolled{box-shadow:0 4px 30px var(--color-shadow)}.navbar__inner{justify-content:space-between;height:4rem}.navbar__inner,.navbar__logo{align-items:center;display:flex}.navbar__logo{letter-spacing:-.02em;gap:.5rem;font-size:1.15rem;font-weight:800}.navbar__logo-img{object-fit:contain;border-radius:.5rem;width:32px;height:32px}.navbar__links{align-items:center;gap:2rem;display:flex}.navbar__link{color:var(--color-text-muted);padding:.25rem 0;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.navbar__link:after{content:"";background:var(--color-primary);border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.navbar__link.active,.navbar__link:hover{color:var(--color-primary)}.navbar__link.active:after,.navbar__link:hover:after{width:100%}.navbar__actions,.navbar__actions-desktop{align-items:center;gap:.5rem;display:flex}.navbar__menu-extras{display:none}.navbar__menu-divider{background:var(--color-border);height:1px;margin:1rem 0}.lang-dropdown{position:relative}.lang-dropdown__trigger{border:1px solid var(--color-border);background:var(--color-primary-light);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:.65rem;outline:none;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.82rem;font-weight:600;transition:all .25s;display:inline-flex}.lang-dropdown__trigger:focus-visible,.lang-dropdown__trigger:hover{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-light)}.lang-dropdown__flag{font-size:1.1rem;line-height:1}.lang-dropdown__name{display:none}@media (min-width:768px){.lang-dropdown__name{display:inline}}.lang-dropdown__chevron{opacity:.6;transition:transform .2s}.lang-dropdown__chevron--open{transform:rotate(180deg)}.lang-dropdown__menu{background:var(--color-surface);border:1px solid var(--color-border);min-width:180px;max-height:320px;box-shadow:0 12px 40px #0000001f,0 0 0 1px var(--color-border);z-index:200;border-radius:.85rem;padding:.35rem;animation:fadeSlideIn .2s;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}[data-theme=dark] .lang-dropdown__menu{background:var(--color-surface);box-shadow:0 12px 40px #0006,0 0 0 1px var(--color-border)}.lang-dropdown__menu::-webkit-scrollbar{width:4px}.lang-dropdown__menu::-webkit-scrollbar-track{background:0 0}.lang-dropdown__menu::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.lang-dropdown__item{width:100%;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.55rem;align-items:center;gap:.6rem;padding:.55rem .75rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.lang-dropdown__item--active,.lang-dropdown__item:hover{background:var(--color-primary-light)}.lang-dropdown__item--active{color:var(--color-primary);font-weight:600}.lang-dropdown__item-flag{font-size:1.15rem;line-height:1}.lang-dropdown__item-name{flex:1}.lang-dropdown__check{color:var(--color-primary);flex-shrink:0}.theme-toggle{background:var(--color-primary-light);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;padding:.4rem .7rem;transition:all .25s;display:inline-flex}.theme-toggle:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.theme-toggle__label{display:none}.theme-toggle svg{width:20px;height:20px;display:block}.hamburger{cursor:pointer;z-index:101;background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.hamburger span{background:var(--color-text);border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.hamburger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{background:var(--gradient-hero);align-items:center;min-height:100vh;padding-top:4rem;display:flex;position:relative;overflow:hidden}.hero__blobs{pointer-events:none;filter:blur(80px);opacity:.6;z-index:0;width:200%;height:200%;position:absolute;inset:-50%}[data-theme=dark] .hero__blobs{opacity:.15;filter:blur(120px)}.hero__blob{will-change:transform;border-radius:50%;position:absolute}.hero__blob--1{background:radial-gradient(circle at 30% 40%,#6366f1cc,#6366f133);width:45%;height:45%;animation:blobMove1 12s ease-in-out infinite alternate;top:10%;left:5%}.hero__blob--2{background:radial-gradient(circle at 60% 30%,#a855f7b3,#a855f726);width:40%;height:40%;animation:blobMove2 14s ease-in-out infinite alternate;top:-5%;right:5%}.hero__blob--3{background:radial-gradient(circle at 50% 60%,#ec4899a6,#ec48991a);width:35%;height:35%;animation:blobMove3 16s ease-in-out infinite alternate;bottom:5%;left:25%}.hero__blob--4{background:radial-gradient(circle at 40%,#38bdf880,#38bdf814);width:30%;height:30%;animation:blobMove4 13s ease-in-out infinite alternate;bottom:15%;right:10%}.hero__blob--5{background:radial-gradient(circle,#8b5cf699,#8b5cf61a);width:25%;height:25%;animation:blobMove5 15s ease-in-out infinite alternate;top:35%;left:40%}[data-theme=dark] .hero__blob--1{background:radial-gradient(circle at 30% 40%,#3b82f680,#3b82f60d)}[data-theme=dark] .hero__blob--2{background:radial-gradient(circle at 60% 30%,#2563eb66,#2563eb0d)}[data-theme=dark] .hero__blob--3{background:radial-gradient(circle at 50% 60%,#60a5fa4d,#60a5fa08)}[data-theme=dark] .hero__blob--4{background:radial-gradient(circle at 40%,#3b82f640,#3b82f608)}[data-theme=dark] .hero__blob--5{background:radial-gradient(circle,#2563eb4d,#2563eb08)}[data-theme=dark] .floating-orb{opacity:.12}[data-theme=dark] .floating-orb--1{background:#3b82f6}[data-theme=dark] .floating-orb--2{background:#2563eb}[data-theme=dark] .floating-orb--3{background:#60a5fa}.hero:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__inner{text-align:center;z-index:2;max-width:780px;margin:0 auto;position:relative}.hero__badge{background:var(--color-primary-light);border:1px solid var(--color-border);color:var(--color-primary);letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);border-radius:2rem;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:600;animation:badgePulse 3s ease-in-out infinite;display:inline-flex}.hero__title{color:var(--color-text);letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:800;line-height:1.1}.hero__title-accent{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero__subtitle{color:var(--color-text-muted);max-width:600px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:clamp(1.05rem,2.5vw,1.3rem);line-height:1.7}.hero__buttons{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.hero__socials{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;max-width:420px;display:grid}.hero__social-btn{color:#fff;background:var(--color-primary);border:none;border-radius:.75rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 20px #6366f140}.hero__social-btn svg{width:18px;height:18px}.hero__social-btn:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px #6366f159}[data-theme=dark] .hero__social-btn{box-shadow:none;color:var(--color-text);background:#ffffff0f;border:1px solid #ffffff14}[data-theme=dark] .hero__social-btn:hover{color:var(--color-text);background:#3b82f61f;border-color:#3b82f640;box-shadow:0 4px 20px #0000004d}.hero__canvas{z-index:1;position:absolute;inset:0}.floating-orb{pointer-events:none;filter:blur(60px);opacity:.4;border-radius:50%;animation:floatOrb 12s ease-in-out infinite;position:absolute}.floating-orb--1{background:var(--color-primary);width:300px;height:300px;top:10%;left:-5%}.floating-orb--2{background:var(--color-accent);width:250px;height:250px;animation-delay:-4s;bottom:10%;right:-5%}.floating-orb--3{background:var(--color-accent2);width:200px;height:200px;animation-delay:-8s;top:50%;left:50%}.projects-section{background:var(--gradient-tech);padding:6rem 0;position:relative;overflow:hidden}.projects-section:before{content:"";background:radial-gradient(ellipse 80% 50% at 50% 0,var(--color-glow),transparent);pointer-events:none;position:absolute;inset:0}.section-title{text-align:center;color:var(--color-text);width:100%;margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;display:inline-block;position:relative}.section-title:after{content:"";background:var(--gradient-accent);border-radius:2px;width:60px;height:4px;margin:.75rem auto 0;display:block}.projects__category-badge{color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:2rem;align-items:center;gap:.4rem;margin-bottom:2rem;padding:.35rem 1rem;font-size:.78rem;font-weight:600;display:inline-flex}.neon-section{background:var(--color-surface);border-radius:1.5rem;margin-bottom:3rem;padding:2.5rem 1.5rem;position:relative;overflow:hidden}.neon-section:before{content:"";background:conic-gradient(from var(--neon-angle,0deg),var(--color-primary),var(--color-accent),var(--color-accent2),var(--color-primary));pointer-events:none;border-radius:1.5rem;padding:2px;animation:neonRotate 4s linear infinite;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@property --neon-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes neonRotate{to{--neon-angle:360deg}}[data-theme=dark] .neon-section{background:#0f0f2380}.projects__grid{grid-template-columns:1fr;grid-auto-rows:1fr;align-items:stretch;gap:1.5rem;display:grid}.card{background:var(--color-card-bg);box-shadow:var(--glow-card);flex-direction:column;padding:2rem;transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .5s;display:flex;position:relative;overflow:visible}.card,.card:before{border-radius:1.5rem}.card:before{content:"";background:linear-gradient(135deg,var(--color-border) 0,transparent 40%,transparent 60%,var(--color-border) 100%);pointer-events:none;padding:1.5px;transition:all .5s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card[data-accent=blue]:hover:before{background:linear-gradient(135deg,#6366f1,#38bdf8,#6366f1)}.card[data-accent=purple]:hover:before{background:linear-gradient(135deg,#a855f7,#ec4899,#a855f7)}.card[data-accent=pink]:hover:before{background:linear-gradient(135deg,#ec4899,#f97316,#ec4899)}.card[data-accent=green]:hover:before{background:linear-gradient(135deg,#10b981,#34d399,#10b981)}.card[data-accent=cyan]:hover:before{background:linear-gradient(135deg,#06b6d4,#22d3ee,#06b6d4)}.card:hover{transform:translateY(-10px)scale(1.01)}.card[data-accent=blue]:hover{box-shadow:0 20px 60px #6366f126,0 0 80px #6366f10d}.card[data-accent=purple]:hover{box-shadow:0 20px 60px #a855f726,0 0 80px #a855f70d}.card[data-accent=pink]:hover{box-shadow:0 20px 60px #ec489926,0 0 80px #ec48990d}.card[data-accent=green]:hover{box-shadow:0 20px 60px #10b98126,0 0 80px #10b9810d}.card[data-accent=cyan]:hover{box-shadow:0 20px 60px #06b6d426,0 0 80px #06b6d40d}[data-theme=dark] .card{-webkit-backdrop-filter:blur(12px);background:#131316cc;border-color:#ffffff0f}[data-theme=dark] .card:hover{border-color:#3b82f626;box-shadow:0 0 0 1px #3b82f61a,0 16px 48px #0006}[data-theme=dark] .card[data-accent=blue]:hover{box-shadow:0 0 0 1px #3b82f626,0 16px 48px #0006}[data-theme=dark] .card[data-accent=purple]:hover{box-shadow:0 0 0 1px #8b5cf626,0 16px 48px #0006}[data-theme=dark] .card[data-accent=pink]:hover{box-shadow:0 0 0 1px #ec489926,0 16px 48px #0006}[data-theme=dark] .card[data-accent=green]:hover{box-shadow:0 0 0 1px #10b98126,0 16px 48px #0006}[data-theme=dark] .card[data-accent=cyan]:hover{box-shadow:0 0 0 1px #06b6d426,0 16px 48px #0006}.card__glow{pointer-events:none;filter:blur(60px);opacity:.15;border-radius:50%;width:180px;height:180px;transition:opacity .5s;position:absolute;top:-40px;right:-40px}.card[data-accent=blue] .card__glow{background:#6366f1}.card[data-accent=purple] .card__glow{background:#a855f7}.card[data-accent=pink] .card__glow{background:#ec4899}.card[data-accent=green] .card__glow{background:#10b981}.card[data-accent=cyan] .card__glow{background:#06b6d4}.card:hover .card__glow{opacity:.3}[data-theme=dark] .card__glow{opacity:.06}[data-theme=dark] .card:hover .card__glow{opacity:.1}.card__header{z-index:1;justify-content:space-between;margin-bottom:1.25rem}.card__header,.card__icon-wrap{align-items:center;display:flex;position:relative}.card__icon-wrap{color:#fff;border-radius:1rem;justify-content:center;width:56px;height:56px;overflow:hidden}.card[data-accent=blue] .card__icon-wrap{background:linear-gradient(135deg,#6366f1,#38bdf8);box-shadow:0 4px 20px #6366f14d}.card[data-accent=purple] .card__icon-wrap{background:linear-gradient(135deg,#a855f7,#ec4899);box-shadow:0 4px 20px #a855f74d}.card[data-accent=pink] .card__icon-wrap{background:linear-gradient(135deg,#ec4899,#f97316);box-shadow:0 4px 20px #ec48994d}.card[data-accent=green] .card__icon-wrap{background:linear-gradient(135deg,#10b981,#34d399);box-shadow:0 4px 20px #10b9814d}.card[data-accent=cyan] .card__icon-wrap{background:linear-gradient(135deg,#06b6d4,#22d3ee);box-shadow:0 4px 20px #06b6d44d}.card__tag{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-primary-light);border-radius:2rem;padding:.3rem .75rem;font-size:.7rem;font-weight:600}.card__body{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.card__title{color:var(--color-text);margin-bottom:.6rem;font-size:1.2rem;font-weight:700;line-height:1.3}.card__desc{color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.88rem;line-height:1.65;display:-webkit-box;overflow:hidden}.card__read-more{color:var(--color-primary);align-items:center;gap:.3rem;margin-bottom:1rem;font-size:.8rem;font-weight:600;transition:gap .2s;display:inline-flex}.card__read-more:hover{color:var(--color-primary-hover);gap:.5rem}.card__stores{gap:.5rem;margin-bottom:1rem;display:flex}.card__actions{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.card__github-link,.card__instagram-link{min-height:44px;color:var(--color-text);background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:.5rem;align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.card__github-link svg,.card__instagram-link svg{flex-shrink:0;width:16px;height:16px}.card__github-link:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px)}.card__instagram-link:hover{color:#fff;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);border-color:#0000;transform:translateY(-1px)}.card__detail-link{color:var(--color-primary);white-space:nowrap;align-items:center;gap:.5rem;margin-left:auto;font-size:.9rem;font-weight:600;transition:gap .3s,color .2s;display:inline-flex}.card__detail-link:hover{color:var(--color-primary-hover);gap:.85rem}.card__detail-link:hover svg{transform:translate(4px)}.card__detail-link svg{transition:transform .3s}.store-btn{color:#fff;background:#111;border:1px solid #333;border-radius:.6rem;flex:1;align-items:center;gap:.5rem;min-width:0;height:40px;padding:.45rem .7rem;text-decoration:none;transition:all .25s;display:inline-flex}.store-btn:hover{color:#fff;background:#222;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.store-btn__icon svg{width:24px;height:24px}.store-btn__text{flex-direction:column;line-height:1.2;display:flex}.store-btn__label{opacity:.8;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;font-size:.45rem;overflow:hidden}.store-btn__name{white-space:nowrap;font-size:.7rem;font-weight:600}.skills-section{background:var(--color-bg);padding:6rem 0}.skills__list{gap:1.5rem;max-width:700px;margin:2rem auto 0}.skill-bar,.skills__list{flex-direction:column;display:flex}.skill-bar{gap:.5rem}.skill-bar__header{color:var(--color-text);justify-content:space-between;font-size:.9rem;font-weight:600;display:flex}.skill-bar__track{background:var(--color-bg-alt);border-radius:5px;width:100%;height:10px;overflow:hidden}.skill-bar__fill{border-radius:5px;width:0;height:100%;transition:width 1.2s cubic-bezier(.22,1,.36,1)}.skill-bar.animated .skill-bar__fill{width:var(--skill-width)}.guestbook-section{background:var(--gradient-tech);padding:6rem 0}.guestbook__form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;flex-direction:column;gap:1rem;max-width:600px;margin:2rem auto;padding:2rem;display:flex}.guestbook__input,.guestbook__textarea{border:1px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:.75rem;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.guestbook__input:focus,.guestbook__textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.guestbook__textarea{resize:vertical;min-height:80px}.emoji-picker{flex-wrap:wrap;gap:.5rem;display:flex}.emoji-picker__label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.emoji-picker__btn{border:1px solid var(--color-border);background:var(--color-input-bg);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;transition:all .2s;display:flex}.emoji-picker__btn:hover{border-color:var(--color-primary);transform:scale(1.1)}.emoji-picker__btn.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 2px var(--color-primary-light)}.guestbook__messages{flex-direction:column;gap:1rem;max-width:600px;margin:2rem auto 0;display:flex}.guestbook-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1.25rem;animation:fadeSlideIn .4s}.guestbook-card__header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.guestbook-card__emoji{font-size:1.5rem}.guestbook-card__name{color:var(--color-text);font-weight:700}.guestbook-card__date{color:var(--color-text-muted);margin-left:auto;font-size:.75rem}.guestbook-card__message{color:var(--color-text-muted);font-size:.9rem;line-height:1.6}.guestbook__empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-size:.95rem}.guestbook__success{color:#10b981;background:#10b9811a}.guestbook__error,.guestbook__success{text-align:center;border-radius:.75rem;padding:.75rem;font-weight:600;animation:fadeSlideIn .3s}.guestbook__error{color:#ef4444;background:#ef44441a}.contact-section{background:var(--color-bg);padding:6rem 0}.contact__form{flex-direction:column;gap:1rem;max-width:600px;margin:2rem auto 0;display:flex}.contact__input,.contact__textarea{border:1.5px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);border-radius:.75rem;outline:none;padding:.85rem 1.15rem;font-family:inherit;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.contact__input:focus,.contact__textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.contact__textarea{resize:vertical;min-height:130px}.contact__status{text-align:center;border-radius:.75rem;padding:.75rem;font-weight:600}.contact__status--success{color:#10b981;background:#10b9811a}.contact__status--error{color:#ef4444;background:#ef44441a}.footer{background:var(--color-footer-bg);border-top:1px solid var(--color-border);padding:2rem 0}[data-theme=dark] .footer{border-image:var(--gradient-accent) 1}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer__copy{color:var(--color-text-muted);font-size:.85rem}.footer__socials{gap:.75rem;display:flex}.footer__social-link{width:36px;height:36px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:.5rem;justify-content:center;align-items:center;transition:all .25s;display:flex}.footer__social-link:hover{color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-2px)}.modal-overlay{background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);z-index:200;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal,.modal-overlay{animation:fadeSlideIn .3s}.modal{background:var(--color-surface);border-radius:1.5rem;width:100%;max-width:800px;max-height:90vh;position:relative;overflow:auto}.modal__close{background:var(--color-primary-light);width:36px;height:36px;color:var(--color-text);cursor:pointer;z-index:1;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal__close:hover{background:var(--color-primary);color:#fff}.modal__body{padding:2rem}.video-wrapper{border-radius:1rem;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-wrapper iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.detail-hero{background:var(--gradient-hero);padding:8rem 0 4rem;position:relative;overflow:hidden}.detail-hero__inner{z-index:2;max-width:800px;margin:0 auto;position:relative}.detail-hero__back{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;font-weight:500;transition:color .2s;display:inline-flex}.detail-hero__back:hover{color:var(--color-primary)}.detail-hero__icon{color:#fff;border-radius:1.25rem;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:1.5rem;display:flex}.detail-hero__title{color:var(--color-text);margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800}.detail-hero__desc{color:var(--color-text-muted);margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.detail__features{padding:4rem 0}.detail__features-list{flex-direction:column;gap:1rem;max-width:700px;margin:2rem auto 0;display:flex}.detail__feature-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;transition:transform .2s;display:flex}.detail__feature-item:hover{transform:translate(4px)}.detail__feature-bullet{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.5rem;animation:featureBulletPulse 2s ease-in-out infinite}@keyframes featureBulletPulse{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 6px #6366f100}}.detail__feature-text{color:var(--color-text);font-size:.95rem;line-height:1.5}.detail__download{text-align:center;padding:4rem 0}.detail__legal{padding:4rem 0}.detail__legal-list{flex-direction:column;gap:.75rem;max-width:700px;margin:2rem auto 0;display:flex}.detail__legal-item{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:1rem;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.detail__legal-item:hover{border-color:var(--color-primary);box-shadow:0 4px 12px var(--color-shadow);transform:translate(4px)}.detail__legal-icon{background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail__legal-title{flex:1;font-size:.95rem;font-weight:600}.detail__legal-arrow{color:var(--color-text-muted);flex-shrink:0;transition:transform .2s,color .2s}.detail__legal-item:hover .detail__legal-arrow{color:var(--color-primary);transform:translate(4px)}.policy-page{background:var(--gradient-hero);min-height:100vh;padding:8rem 0 4rem;position:relative;overflow:hidden}.policy-page__inner{z-index:2;max-width:800px;margin:0 auto;position:relative}.policy-page__title{color:var(--color-text);margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800}.policy-page__date{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:2.5rem;padding-bottom:1.5rem;font-size:.85rem}.policy-page__content{color:var(--color-text);font-size:.95rem;line-height:1.8}.policy-page__content p{margin-bottom:1.25rem}.policy-page__content p:last-child{margin-bottom:0}.phone-frame{flex-shrink:0;width:260px;position:relative}.phone-frame__bezel{background:#1a1a1a;border-radius:3rem;padding:8px;position:relative;box-shadow:0 0 0 1px #ffffff14,0 20px 60px #0006,inset 0 0 0 1px #ffffff0d}[data-theme=light] .phone-frame__bezel{background:#e2e2e2;box-shadow:0 0 0 1px #0000001a,0 20px 60px #00000026,inset 0 0 0 1px #fff9}.phone-frame__screen{aspect-ratio:9/19.5;background:#000;border-radius:2.5rem;overflow:hidden}.phone-frame__screen img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.detail__screenshots-wrapper{-webkit-user-select:none;user-select:none;width:100%;position:relative}.detail__screenshots{-webkit-overflow-scrolling:touch;cursor:grab;scrollbar-width:none;gap:1.5rem;padding:2rem;display:flex;overflow:scroll hidden}.detail__screenshots::-webkit-scrollbar{display:none}.detail__screenshots.is-dragging{cursor:grabbing;scroll-behavior:auto}.detail__screenshots .phone-frame{scroll-snap-align:center;transition:transform .3s}.detail__screenshots .phone-frame:hover{transform:scale(1.03)}.animate-on-scroll{opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes blobMove1{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(8%,12%)scale(1.15)rotate(20deg)}66%{transform:translate(-5%,8%)scale(.9)rotate(-10deg)}to{transform:translate(12%,-5%)scale(1.1)rotate(15deg)}}@keyframes blobMove2{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(-12%,8%)scale(1.1)rotate(-25deg)}66%{transform:translate(6%,-10%)scale(.95)rotate(15deg)}to{transform:translate(-8%,12%)scale(1.2)rotate(-20deg)}}@keyframes blobMove3{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(10%,-8%)scale(1.2)rotate(30deg)}66%{transform:translate(-8%,-5%)scale(.85)rotate(-15deg)}to{transform:translate(5%,10%)scale(1.05)rotate(25deg)}}@keyframes blobMove4{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(-10%,-12%)scale(1.15)rotate(-20deg)}66%{transform:translate(8%,6%)scale(.9)rotate(10deg)}to{transform:translate(-6%,-8%)scale(1.1)rotate(-30deg)}}@keyframes blobMove5{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(15%,5%)scale(1.25)rotate(15deg)}66%{transform:translate(-10%,10%)scale(.8)rotate(-25deg)}to{transform:translate(8%,-12%)scale(1.15)rotate(20deg)}}@keyframes badgePulse{0%,to{box-shadow:0 0 0 0 var(--color-glow)}50%{box-shadow:0 0 20px 4px var(--color-glow)}}@keyframes floatOrb{0%,to{transform:translate(0)}25%{transform:translate(30px,-20px)}50%{transform:translate(-20px,30px)}75%{transform:translate(20px,20px)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGlow{0%,to{opacity:.5}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:767px){.hamburger{display:flex}.navbar__actions-desktop{display:none}.navbar__menu-extras{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.navbar__menu-extras .lang-dropdown{width:100%}.navbar__menu-extras .lang-dropdown__trigger{border-radius:.75rem;justify-content:flex-start;width:100%;padding:.65rem 1rem;font-size:.9rem}.navbar__menu-extras .lang-dropdown__name{display:inline}.navbar__menu-extras .lang-dropdown__chevron{margin-left:auto}.navbar__menu-extras .lang-dropdown__menu{box-shadow:none;border:1px solid var(--color-border);border-radius:.75rem;max-height:200px;margin-top:.5rem;position:static}.navbar__menu-extras .theme-toggle{border-radius:.75rem;justify-content:flex-start;gap:.6rem;width:100%;height:auto;padding:.65rem 1rem;font-size:.9rem;font-weight:600}.navbar__menu-extras .theme-toggle__label{display:inline}.navbar__menu{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:99;flex-direction:column;width:300px;height:100dvh;padding:5rem 1.5rem 2rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.navbar__menu.open{transform:translate(0)}.navbar__links{flex-direction:column;gap:.25rem}.navbar__link{border-radius:.75rem;padding:.7rem 1rem;font-size:1.05rem;transition:background .15s,color .15s}.navbar__link.active,.navbar__link:hover{background:var(--color-primary-light)}.navbar__link:after{display:none}.projects__grid{grid-template-columns:1fr}.hero__title{font-size:clamp(1.75rem,8vw,2.5rem)}}@media (min-width:768px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects__grid{grid-template-columns:repeat(3,1fr)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}