@@ -131,11 +131,47 @@ button { font: inherit; }
131131 font : 500 9 px/1 var (--mono );
132132 letter-spacing : .02em ;
133133}
134+ html [data-layout = "modern" ] .layout-toggle {
135+ animation : cv-gentle-pulse 5.5s ease-out 1.2s infinite;
136+ }
137+ html [data-layout = "modern" ] .layout-toggle : hover ,
138+ html [data-layout = "modern" ] .layout-toggle : focus-visible {
139+ animation : none;
140+ }
134141.layout-toggle [aria-pressed = "true" ] {
135142 color : var (--accent-text );
136143 border-color : var (--lime );
137144 background : var (--lime );
138145}
146+ @keyframes cv-gentle-pulse {
147+ 0% ,
148+ 72% ,
149+ 100% {
150+ color : var (--paper );
151+ border-color : var (--line );
152+ box-shadow : 0 0 0 0 transparent;
153+ }
154+ 78% {
155+ color : var (--lime );
156+ border-color : var (--lime );
157+ box-shadow : 0 0 0 0 color-mix (in srgb, var (--lime ) 28% , transparent);
158+ }
159+ 86% {
160+ color : var (--lime );
161+ border-color : var (--lime );
162+ box-shadow : 0 0 0 6px transparent;
163+ }
164+ 92% {
165+ color : var (--lime );
166+ border-color : var (--lime );
167+ box-shadow : 0 0 0 0 color-mix (in srgb, var (--lime ) 20% , transparent);
168+ }
169+ 98% {
170+ color : var (--paper );
171+ border-color : var (--line );
172+ box-shadow : 0 0 0 5px transparent;
173+ }
174+ }
139175.resume-theme-icon {
140176 font-size : 17px ;
141177 line-height : 1 ;
@@ -869,3 +905,9 @@ html[data-layout="classic"] .resume-footer {
869905 .project-list h3 { margin-top : 8mm ; font-size : 15pt ; }
870906 .resume-footer { display : none; }
871907}
908+
909+ @media (prefers-reduced-motion : reduce) {
910+ html [data-layout = "modern" ] .layout-toggle {
911+ animation : none;
912+ }
913+ }
0 commit comments