.button.svelte-tzlklu{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:all var(--transition-fast);cursor:pointer;border:2px solid transparent;text-decoration:none;white-space:nowrap}.button--small.svelte-tzlklu{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.button--medium.svelte-tzlklu{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.button--large.svelte-tzlklu{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.button--primary.svelte-tzlklu{background-color:var(--color-primary);color:var(--color-bg-dark)}@media (hover: hover){.button--primary.svelte-tzlklu:hover:not(.button--disabled){background-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.button--primary.svelte-tzlklu:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.button--secondary.svelte-tzlklu{background-color:var(--color-bg-medium);color:var(--color-text-primary)}@media (hover: hover){.button--secondary.svelte-tzlklu:hover:not(.button--disabled){background-color:var(--color-bg-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.button--secondary.svelte-tzlklu:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:2px}.button--outline.svelte-tzlklu{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}@media (hover: hover){.button--outline.svelte-tzlklu:hover:not(.button--disabled){background-color:var(--color-primary);color:var(--color-bg-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}}.button--outline.svelte-tzlklu:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button--disabled.svelte-tzlklu{opacity:.5;cursor:not-allowed}.button--loading.svelte-tzlklu{cursor:wait}.spinner.svelte-tzlklu{position:absolute;width:1em;height:1em;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:svelte-tzlklu-spin .6s linear infinite}@keyframes svelte-tzlklu-spin{to{transform:rotate(360deg)}}.button-content.svelte-tzlklu{display:inline-flex;align-items:center;gap:var(--spacing-2)}.invisible.svelte-tzlklu{visibility:hidden}.skill-item.svelte-12pjz5l{display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 20px;background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:16px;transition:all var(--transition-base);opacity:0;transform:translateY(20px);position:relative;overflow:hidden;min-width:140px;box-shadow:0 8px 32px var(--shadow-light)}.skill-item.visible.svelte-12pjz5l{opacity:1;transform:translateY(0)}@media (hover: hover){.skill-item.svelte-12pjz5l:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #22d3ee33;background:#f8fafc2e}.skill-item.svelte-12pjz5l:hover:before{opacity:1;transform:translate(-50%,-50%) scale(1)}}.skill-item.svelte-12pjz5l:before{content:"";position:absolute;top:50%;left:50%;width:120%;height:120%;background:radial-gradient(circle at center,rgba(34,211,238,.1) 0%,transparent 70%);opacity:0;transform:translate(-50%,-50%) scale(.8);transition:all .5s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:-1}.skill-icon.svelte-12pjz5l{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border-radius:16px;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;z-index:1;margin-bottom:15px}.skill-icon.svelte-12pjz5l:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(45deg,var(--color-primary),var(--color-primary-light),var(--color-primary));border-radius:var(--radius-lg);opacity:0;z-index:-1;transition:opacity .3s ease}@media (hover: hover){.skill-item.svelte-12pjz5l:hover .skill-icon:where(.svelte-12pjz5l){background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));box-shadow:0 15px 30px #22d3ee66}.skill-item.svelte-12pjz5l:hover .skill-icon:where(.svelte-12pjz5l):before{opacity:1;animation:svelte-12pjz5l-glow-rotate 3s linear infinite}}@keyframes svelte-12pjz5l-glow-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (hover: hover){.skill-item.svelte-12pjz5l:hover .skill-icon.rotate-right:where(.svelte-12pjz5l){transform:rotate(15deg) scale(1.15)}.skill-item.svelte-12pjz5l:hover .skill-icon.rotate-left:where(.svelte-12pjz5l){transform:rotate(-15deg) scale(1.15)}}.skill-name.svelte-12pjz5l{font-size:1rem;font-weight:600;color:var(--color-text-primary);transition:all var(--transition-base)}@media (hover: hover){.skill-item.svelte-12pjz5l:hover .skill-name:where(.svelte-12pjz5l){color:var(--color-primary);transform:translateY(-2px)}}.card.svelte-1520b85{border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-base)}.card.svelte-1520b85:not(.card--no-padding){padding:var(--spacing-6)}.card--glass.svelte-1520b85{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card--glass-light.svelte-1520b85{background:#f8fafc1a;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(248,250,252,.2);box-shadow:var(--glass-shadow)}.card--glass-dark.svelte-1520b85{background:#0f172acc;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(248,250,252,.05);box-shadow:var(--glass-shadow)}.card--solid.svelte-1520b85{background:var(--color-bg-medium);border:1px solid var(--color-bg-light);box-shadow:var(--shadow-base)}.card--hoverable.svelte-1520b85{cursor:pointer}@media (hover: hover){.card--hoverable.svelte-1520b85:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card--hoverable.card--glass.svelte-1520b85:hover,.card--hoverable.card--glass-light.svelte-1520b85:hover,.card--hoverable.card--glass-dark.svelte-1520b85:hover{background:#f8fafc26;border-color:#f8fafc4d}}a.card.svelte-1520b85{text-decoration:none;color:inherit;display:block}.card--hoverable.svelte-1520b85:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
