:root{--ai:var(--foreground);--ai-soft:color-mix(in oklab, var(--ai) 12%, transparent);--ai-line:color-mix(in oklab, var(--ai) 38%, transparent);--ai-cursor:oklch(62% .19 256);--ai-cursor-soft:color-mix(in oklab, var(--ai-cursor) 14%, transparent);--ai-ease:cubic-bezier(.22, 1, .36, 1)}:root.dark{--ai-soft:color-mix(in oklab, var(--ai) 16%, transparent)}.ai-breathe{animation:1.6s ease-in-out infinite ai-breathe}@keyframes ai-breathe{50%{opacity:.45}}.ai-panel{animation:ai-in-right .2s var(--ai-ease) both}@keyframes ai-in-right{0%{opacity:0;transform:translate(10px)}}@media (width<=767px){.ai-panel{animation-name:ai-in-up;animation-duration:.24s}}@keyframes ai-in-up{0%{opacity:0;transform:translateY(24px)}}.ai-fade{animation:ai-fade .18s var(--ai-ease) both}@keyframes ai-fade{0%{opacity:0;transform:translateY(4px)}}.ai-shimmer{background:linear-gradient(90deg, var(--muted-foreground) 0%, var(--muted-foreground) 35%, var(--foreground) 50%, var(--muted-foreground) 65%, var(--muted-foreground) 100%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite ai-shimmer}@keyframes ai-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}.ai-target{animation:1.6s ease-out infinite ai-pulse}@keyframes ai-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--ai-cursor) 45%, transparent)}to{box-shadow:0 0 0 8px #0000}}.ai-cursor{transition:transform .52s cubic-bezier(.34,1.32,.5,1)}.ai-outline{transition:left .38s var(--ai-ease), top .38s var(--ai-ease), width .38s var(--ai-ease), height .38s var(--ai-ease), opacity .16s}.ai-md .cv-md{font-size:.875rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.ai-panel,.ai-fade,.ai-breathe,.ai-target{animation:none}.ai-shimmer{color:var(--muted-foreground);background:0 0;animation:none}.ai-cursor,.ai-outline{transition:none}}
